Commit Graph
116 Commits
Author SHA1 Message Date
Rūdolfs Ošiņš 0d024759d3 Upgrade to the latest heartwood version
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-08-01 16:41:22 +02:00
Sebastian Martinez 4525771264 Use /nodes/ in URL instead of /seeds/
We still allow already published URLs with `/seeds/` in them to be
resolved.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-07-31 16:58:45 +02:00
Sebastian Martinez 8d798cc93f Adding a new defaultLocalHttpdPort property to the config.json
We use `defaultHttpdPort` for both exposed ports like on
seed.radicle.xyz as also for local ports e.g. radicle.local.
This worked fine, for now but has shown the first issues, when external
ports like 443 show up in the radicle.local connection dashboard.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-31 15:38:36 +02:00
Sebastian Martinez 910c103a9b Change rad web command when httpd port changes
Instead of using always the `config.seeds.defaultHttpdPort` which is
443, we should take into account the `customPort` variable that is set by the
user.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-31 15:38:36 +02:00
Sebastian Martinez f4bf5b9c6a Sort projects in seed view by most recent activity
Uses the projects activity, fetched from `/projects/${id}/activity`
which is an array of commit timestamps.
So could suffer from some errors if commits with non current timestamps
are being used.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-31 13:05:56 +02:00
Sebastian Martinez 99ec07e0a3 Add e2e tests for patch and issue counters
When creating a new patch or issue, we want the counters to reflect on
that on navigation.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-31 10:16:41 +02:00
Rūdolfs OšiņšandThomas Scholtes 391f188b69 Fix navigating to history when a file is selected
Co-authored-by: Thomas Scholtes <geigerzaehler@axiom.fm>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-07-26 14:17:18 +02:00
Thomas Scholtes 29e3295f45 Represent issue status filter in route
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-24 12:15:35 +02:00
Sebastian Martinez f631c7f171 Fix absolute links with files in markdown
We had a regression because of introducing marked-linkify-it, which took
links for CONTRIBUTING.md or HACKING.md as domains of a new page instead
than files to be navigating to.

This commit sets the `fuzzyLink` option for marked-linkify-it to false,
which disables this behavior

Also tests that the browser tree expands itself when navigating to a
file inside a directory

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-22 08:02:00 +02:00
xphoniex 5ee8c8281b Make diff line selectable and shareable
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
2023-07-20 11:37:57 +02:00
Thomas Scholtes aae50a2fda Use structured routing for patch views
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-19 15:14:53 +02:00
Sebastian Martinez afbc57079b Switch page.locator with page.getByRole and page.getByText
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-19 11:35:20 +02:00
Sebastian Martinez 6151729a6d Add empty file test case
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-19 11:35:20 +02:00
Sebastian Martinez 78b988af95 Replace custom extension with marked-katex-extension
- Add a visual test to check math rendering

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-17 17:18:07 +02:00
Sebastian Martinez 14ba807e55 Set the httpd port for the test suite to be 8081.
Also where possible use the `config.seeds.defaultHttpdPort` instead of
hardcoding it.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-17 15:19:31 +02:00
Thomas Scholtes 50088a5c8a Make pathToRoute tests more readable
We switch the test for `pathToRoute` from a paramterized test to regular
tests. I had a lot of trouble finding the right properties to change
when a test in this group failed. The line number was not helpful at all
and the test description was burried inside an object.

We also rename `pathToRoute` to `urlToRoute` because the function takes
a `URL` as an argument.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-17 11:44:27 +02:00
Thomas Scholtes 283b665b31 Switch to flat project route type
We switch to a project route type that is just a union. This has the
following advantages

* It’s much easier to construct project routes. Fewer properties are
  needed and there are no nested objects.
* We eliminate the implicitly shared properties `path`, `peer`,
  `revision` and `route` which only belonged to the tree route.
* The structure of the project route is more regular and thus easier to
  understand.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-17 11:27:57 +02:00
Thomas Scholtes 684700a24d Don’t flood Playwright traces with route.continue()
We determine URLs to mock with a URL matcher instead of mocking every
URL and determining the behavior in the route handler. This should be
slightly faster and should result in better debugging experience because
we don’t come across the `route.continue()` event that often.

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-14 09:29:19 +02:00
Thomas Scholtes f80b193bbd Don’t intercept navigation to external URLs in Markdown
Fixes 928

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-14 09:29:19 +02:00
Sebastian Martinez 205fc814bc Bring reactions to comments and issues
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 15:36:02 +02:00
Sebastian Martinez 28718ba0cf Add --alias to rad auth
To avoid the popping up of a terminal input field during the
globalFixture setup, we need to pass the wanted alias as a flag.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 15:36:02 +02:00
Sebastian Martinez 6e3bcc1998 Update heartwood version
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-12 15:36:02 +02:00
Thomas Scholtes d0a280be02 Simplify project route resolving
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-12 15:24:06 +02:00
Sebastian Martinez 9294e23ea4 Update patch review schemas
To address changes to patch code review,
implemented in Heartwood in commit 45e87a6.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-11 13:59:23 +02:00
Sebastian Martinez 145169d03d Changes necessary for heartwood update
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-11 13:59:23 +02:00
Thomas Scholtes f3e5b47124 Don’t replace path on internal navigation
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>
2023-07-09 14:46:26 +02:00
Sebastian Martinez db94969f8a Allow httpd API ports to be generated randomly.
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>
2023-07-09 14:19:47 +02:00
Thomas Scholtes 999a3a4c30 Use non-dev port for webserver during end-to-end tests
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>
2023-07-09 13:54:24 +02:00
Thomas Scholtes d7442d23ae Add tests for projectRouteToPath
Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-09 13:34:11 +02:00
Thomas Scholtes 092f8ad774 Don’t leave line selected when switching blobs
Fixes #906

Signed-off-by: Thomas Scholtes <geigerzaehler@axiom.fm>
2023-07-07 07:41:51 +02:00
Sebastian Martinez 91f5abafd3 Add a UI test flow for issues
Tests:
- Authentication
- Issue creation
- Title editing
- Commenting
- Reply to comment
- Issue state change

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-05 13:48:42 +02:00
Sebastian Martinez 555d4da30c Fix some style regressions in patch view
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 16:33:17 +02:00
Sebastian Martinez e0261fe69e Add more comments and replies and a rejected review to the test fixtures
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 14:52:51 +02:00
Sebastian Martinez 0cd42908e5 Add error handling for issue creation and commenting
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 14:14:29 +02:00
Sebastian Martinez 3e797a2d08 Make a globalSetup for the httpd-client tests
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 09:56:23 +02:00
Sebastian Martinez 78663937d1 Add ability to stop test nodes and httpds
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-04 09:56:23 +02:00
Sebastian Martinez e5dccba3ff Teardown hanging processes in Vitest
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>
2023-07-04 09:56:23 +02:00
Thomas Scholtes c6afc56beb Test that route building and parsing leave routes invariant
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>
2023-07-03 13:24:00 +02:00
Sebastian Martinez 9f40fd85b7 Sort projects in seed project listing visual test
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-30 10:02:02 +02:00
Sebastian Martinez c04d399cf3 Revert HTML tag escaping
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-30 10:01:14 +02:00
Sebastian Martinez dbad9ddeef Remove hack for happy-dom
The update to happy-dom 8.0 did remove the need to do the assignment
hack in `setupVitest`

source: https://github.com/vitest-dev/vitest/issues/2305#issuecomment-1396387954

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-30 07:24:30 +02:00
Thomas Scholtes 40f2b3e516 Tests automatically use heartwood binaries from local test folder
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>
2023-06-29 11:34:53 +02:00
Rūdolfs Ošiņš 4c101c2567 Move Blob loading into router
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-06-28 17:07:04 +02:00
Sebastian Martinez 742a8eb1ef Add spec for expanding commit message
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-28 15:45:01 +02:00
Sebastian Martinez f971d777f2 Add missing moved and copied file operations to Changeset
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-11-17 17:50:19 +01:00
Rūdolfs Ošiņš 3f7a58c489 Handle app URL translation into seed BaseUrl in one place
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>
2023-06-28 10:51:59 +02:00
Sebastian Martinez 0e6be19373 Add patch reviewers in sidebar
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-27 17:23:37 +02:00
Sebastian Martinez 31be78144f Fix padding issues of project headers on mobile
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-27 10:19:56 +02:00
Sebastian Martinez ba57506d6d Update svelte to version 4
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-26 14:13:22 +02:00
Sebastian Martinez ecabe9b7a8 Escape html tags in marked found outside of code blocks
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-26 13:00:20 +02:00