We stop handling the URL hash through the routing system. Hashes are
local to the current view and can be handled by the shown components.
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
This way we can get rid of the project browsing specific ProjectLink
component and simplify the router types.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
We don’t replace the path when we navigate internally. This means we
keep the hash part of the URL even if it is not part of the route and we
can remove the workaround for that.
This also means that we keep the original URL if the parsed route would
result in a different URL. This change is visible through a slight
adjustments in the tests.
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
To avoid port collisions between tests that can eventually run in
parallel, we need to be able to generate random port numbers.
This commit generates random httpd port numbers for inline tests,
while keeping the current palm seed with the default port number 8080.
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
The end-to-end tests no run against the app served on port 3001 so that
we don’t need to shut down the development server.
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
We remove a couple of calls to `console.error()` in the code for the
local node connection. It’s not necessary to log errors that are
expected, for example, if the node is down.
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
* Don’t load branches in `commits` view. We the branch selector is not
enabled there.
* Don’t silently swallow errors when fetching branches. Let the route
loading mechanism handle errors.
* Don’t use the default branch as the fallback for `branches`. They are
allowed to be empty and the empty case is handled properly now.
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
We remove logic used in the `BranchSelector` component. Instead we
restructure the component properties and rely on the `Browser`,
`History` and `Commit` components to pass values that result in the same
behavior.
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
Also uses same border-radius on comment and other events, and removes
the revision creation as a timeline event.
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
After setting up the global env for the httpd:api tests, there were
tests hanging until the timeout of 10 seconds killed them.
By returning an async function from the globalSetup we can kill them
preemptively.
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
We restricted the allowed parameters that are used for project-relative
navigation. This allows us to better understand which of the parameters
are used.
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
We replace the tests for `routeToPath` with a test that calls
`pathToRoute(routeToPath(route))`. These test do not only cover the
assertions of the previous tests but also check an important invariant
for route parsing and building.
I’m not using `test.each` here because this makes the tests less
readable.
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
It’s not necessary anymore to add the folder with the heartwood test
binaries to `PATH` before running the end-to-end tests.
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
To make the code easier to reason about we handle all app URL encoding
and decoding and the related seed BaseUrl extraction in a single place.
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>