24 Commits
Author SHA1 Message Date
Rūdolfs Ošiņš 1bc5ffa9fe Don't abort blob URLs in e2e tests
The remote request guard read the empty hostname of a `blob:` URL as
remote, so embed previews never loaded in tests.
2026-10-07 16:41:54 +02:00
Rūdolfs Ošiņš 67785a8c30 Keep the browsed file in the source view route
Browsing the file tree only changed component state, so no file view
was ever a history entry and back left the repository. The path now
travels as a query parameter, since trailing URL segments are already
consumed by the revision.
2026-10-06 16:28:14 +02:00
Rūdolfs Ošiņš 651af122b2 Render AsciiDoc readmes in repo source view
Uses @asciidoctor/core, lazily imported so the main bundle is
unchanged, with its own DOMPurify instance because the markdown
allowlist is pinned globally via setConfig.

Include directives resolve through a registered HttpCache that maps
Asciidoctor's URI reads onto repo_blob, so tag, line-range and
nesting handling stay upstream. A per-conversion token in base_dir
scopes each read to one repository and commit.
2026-10-06 16:28:10 +02:00
Rūdolfs Ošiņš 6c9e83c763 Ignore fetches cancelled by goto in e2e tests 2026-10-01 21:58:39 +02:00
Rūdolfs Ošiņš 1f95ad0bb2 Test CI job results end to end
Build rad-job from the radicle-job version the app uses, so tests can
record runs. Check the status summary and that runs link to their logs.
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš 49cf789cbc Test the remaining write paths and permissions
Reactions, review edits, patch comments, title, description and
assignees, stopping seeding, creating an identity, and that a
contributor can't resolve someone else's review comment.
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš e74fc654f1 Ignore ResizeObserver loop notices in e2e tests
WebKit reports them as page errors, but they only mean some resize
notifications waited for the next frame.
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš 3edd0306b2 Add e2e helpers for writes and a second peer
The UI updates before a write lands, so a reload right after could
cancel it; tests now wait for the command. WebKit also reports such
a cancelled fetch as "Load failed". A delegate and a connected
contributor let tests cover what non-delegates may do.
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš dababb90cf Make e2e output easier to read
Browser logs are indented and dimmed like in explorer, and npm's
per-script notices and Vite's bundle size warning no longer bury the
results.
2026-10-01 18:16:29 +02:00
Rūdolfs Ošiņš 7728c9272e Start e2e specs at a route that exists
/repos is no longer a route, so specs fell back to the inbox and logged a
routing error. The inbox opens the first-launch guide, so tests now start
with it dismissed. The router now logs the URL it couldn't resolve
instead of just "URL".
2026-10-01 18:16:29 +02:00
Rūdolfs Ošiņš 086afbb5dc Give each e2e test its own reliable peer
The page always talked to the shared palm backend, so tests couldn't set
up peers of their own. Peers now have no passphrase by default, so tests
don't need an ssh-agent and test keys stay out of the developer's agent.
Fixtures wait for replication instead of relying on gossip timing, and a
request cancelled by a reload no longer counts as a page error.
2026-10-01 18:16:29 +02:00
Rūdolfs Ošiņš f512682ec6 Build test-http-api once per e2e run
Each peer ran it through cargo run, which could take minutes to start.
2026-10-01 18:16:29 +02:00
Rūdolfs Ošiņš 2bfa19f1af Run e2e tests against heartwood 1.10.3
Matches the radicle 0.25 crate the app links against.
2026-10-01 18:16:29 +02:00
Rūdolfs Ošiņš 9313521528 Upgrade npm dependencies 2026-07-27 16:56:13 +02:00
Yaroslav Halchenko af7d2e5181 chore: run codespell to fix typos automagically 2026-04-28 12:04:26 +02:00
Rūdolfs Ošiņš 99996f168e Rename radicle.xyz -> radicle.dev and app.radicle.xyz -> radicle.network 2026-04-27 11:26:17 +02:00
Rūdolfs Ošiņš cf40e86a8e Use a dynamic port for the test-http-api to avoid conflicts
Pick a free port at config load time using a TCP probe on port 0, inject
it into the Vite dev server via VITE_TEST_HTTP_API_PORT, and have
globalSetup start the test-http-api on the same port. The frontend
reads the env var at build time instead of the previously hardcoded 8081.
2026-03-23 10:59:39 -06:00
Rūdolfs Ošiņš 293f6adb52 Fix e2e test suite compatibility with heartwood 1.7.1
- Trim trailing newline from heartwood-release file read to prevent
  invalid binary paths
- Replace repeated --label flags with a single --labels flag (new CLI)
- Add --accept verdict to rad patch review calls that lacked one (now
  required by the CLI)
2026-03-23 10:59:25 -06:00
Rūdolfs Ošiņš 010cac0377 Redesign app with new UI kit
Redesign the entire app with a new UI kit. Typography, colors, icons,
avatars, and border radii have all been updated for a more polished,
consistent appearance that matches our other products like
radicle-explorer.

- Replace blockies-based avatars with a new DID-based avatar system
- Move Settings and Create Issue into fullscreen modals
- Change the default theme to follow the system theme
- Remove window decorations on macOS for a cleaner, more native feel
- Update the app icon
- Fix popovers and tooltips

Navigation:

- Rewrite app navigation and layouts
- Add a sidebar that gives you access to all your repos
- Change the startup screen to open directly to the notification inbox
- Add a getting started guide shown to new users on first launch

Settings:

- Add a setting to disable the notification badge
- Add a code font setting

Bug fixes:

- Fix reactions and edits incorrectly targeting the root comment
  instead of the intended reply
- Restrict issue/patch state, labels and assignees to delegates only
2026-03-20 17:48:38 -06:00
Rūdolfs Ošiņš 3ef1eb612e Add local release pipeline and migrate CI to GitHub Actions
Builds macOS DMG, Linux amd64 deb and AppImage from a single macOS
Apple Silicon machine using Podman containers. See RELEASE.md and
scripts/release for details.

Replaces Woodpecker CI with GitHub Actions workflows for lint, unit
tests, e2e tests, and Arch package validation.
2026-03-19 17:15:06 -06:00
Sebastian Martinez 2f801b9940 Add eslint-plugin-simple-import-sort to sort and group imports 2025-07-03 15:46:18 +02:00
Sebastian Martinez 5c8844db1c Fix radicle crate at 0.14.0
Also update `heartwood-release` to a pre-release to get the tests to
pass
2024-12-02 17:06:42 +01:00
Sebastian Martinez f23206b83d Instrument authentication for e2e tests 2024-11-21 10:29:14 +01:00
Sebastian Martinez e37369062f Add playwright for e2e testing 2024-10-30 10:07:52 +01:00