223 Commits
Author SHA1 Message Date
Rūdolfs Ošiņš e37521c739 Move explorer into explorer/
Makes explorer and desktop sibling projects, as proposed in ADR 1.
This commit only moves files; paths in CI, scripts and docs are fixed
in the following commits.
2026-10-22 11:06:33 +02:00
Ioannis T. 95405a07cb Keep newlines when copying source lines
Fixes 956f736acc
2026-10-20 15:26:47 +02:00
Brandon Oxendine 095b4f2fc0 Add copy link and highlight to comments
Opening a comment link expands the revision the comment is in, even if
the link is opened while already on the page, and scrolls to it.

This also fixes scrolling to URL fragments that aren't valid CSS
selectors, such as comment ids starting with a digit.
2026-10-19 18:02:19 +02:00
Rūdolfs Ošiņš 86b5a3d1ce Open redaction accordion in redacted artifacts test
The redaction reason sits in a collapsed accordion, so the test failed
consistently against a local httpd. Only local runs execute the release
tests, which is why it went unnoticed.
2026-10-19 16:50:08 +02:00
Guillaume 783fa6be64 Fix emoji in markdown code blocks
Emoji in code blocks were missing from both the rendered code and the
copied text. twemoji replaces them with images, but highlighting and the
copy button work from the block's text content, which leaves images out.
We now turn the images back into text first.
2026-10-19 15:42:13 +02:00
Daniel Norman 00f079d0d9 Make the node breadcrumb a seed picker
- replace the node breadcrumb link with a SeedPicker in the repo, user
  and node views, so the node serving a page can be switched where it
  is named
- remove current node picker from settings panel
- reach the node view through the picker's "Open node view" action
- cover the new breadcrumb picker in the e2e tests
- list the active seed in the seed picker
- the seed serving the page is also rendered in the list with a bookmark
  action instead of a remove one.
2026-09-25 10:23:40 +02:00
Daniel Norman d36b064dd1 Separate the search seed from the viewed node
Picking a seed only set the stored preference and left the page on
whatever node the URL named, so the node could not be changed from
the UI at all. The two are now independent: you can browse a repo
on one node while searching a larger index on another.
2026-09-22 11:53:17 +02:00
Daniel Norman 8c3e25d800 Hide filters if all releases/artifacts by delegates
- Show delegate badge for releases
- Hide filters if all artifacts are non-delegate
- Decide release filter visibility once per route to avoid layout shift
  when loading more
- Say "No releases by delegates" when all holds some
2026-09-11 12:01:20 +02:00
Daniel NormanandRūdolfs Ošiņš b1acb3eb4d Integrate radicle-artifact into explorer
- Add release read API to httpd as cargo feature enabled by default
- Add Releases and Release views to the UI
- Filter out redacted artifacts and mark delegate authors
- Degrade releases UI gracefully with older radicle-httpd versions
- Hide fully redacted releases
- Skip releases in the list endpoint when every artifact was redacted by
  its author or a delegate, so no empty release entries are shown
- Keep them reachable with showRedacted=true and by release id
- Add e2e tests for the release routes

Co-Authored-By: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-08-28 16:33:14 +02:00
Rūdolfs Ošiņš f3138ae30a Show branch names decoded in the branch selector
Closes c639643a8e
2026-08-25 15:38:10 +02:00
Julien Donck ab5aaa0382 Remove the FAQ from the marketing site
The FAQ shipped here was a verbatim copy of the one on radicle.dev,
carrying a canonical tag that already pointed search engines at that
original. Drop the duplicate and redirect /faq to radicle.dev/faq so
existing links still reach the content.
2026-08-25 11:36:01 +02:00
Georgios Jason Efstathiou c01e22ac87 Add e2e and unit tests for explore, search, and marketing 2026-07-15 15:42:22 +02:00
Rūdolfs Ošiņš 4da9321a1d Revert "Link header Radicle logo to radicle.dev landing page"
This reverts commit 9e9a799c28.
2026-04-29 15:55:06 +02:00
Rūdolfs Ošiņš 9e9a799c28 Link header Radicle logo to radicle.dev landing page 2026-04-29 15:14:20 +02:00
Rūdolfs Ošiņš ecbea99f56 Show canonical branches and tags in peer selector 2026-04-22 09:45:00 +02:00
Julien Donck c6c3cc2807 Replace repo sidebar with horizontal tab bar
Convert the vertical sidebar navigation (Source, Issues, Patches) into
a horizontal tab bar above the content area. The ContextRepo info moves
into a popover behind an info button in the tab bar.

Mobile footer navigation is preserved for small screens, with the tab
bar hidden on mobile.
2026-03-17 12:38:43 -06:00
Rūdolfs Ošiņš 73408cd826 Improve UX when a node is unreachable
When a saved node (e.g. localhost) is down, the app previously showed a
dead-end "Node not found" page with no way to navigate away.

Now the not-found page displays the seed selector inline with the error
title, showing which node failed and letting users switch to a different
one directly. The same treatment applies when navigating to a repo on an
unreachable node.
2026-03-06 15:38:00 -06:00
Rūdolfs OšiņšandJulien Donck fa85596ba1 Backport new UI kit design system from garden
Co-authored-by: Julien Donck <donckjulien@gmail.com>
2026-03-06 11:38:43 -06:00
Rūdolfs Ošiņš b0923d9096 Get rid of separate server for commits listing test
Use a fixture for that instead. This simplifies the test setup.
2026-02-26 14:57:57 -06:00
Rūdolfs Ošiņš dd243612b8 Make specs less flaky 2026-02-26 14:57:56 -06:00
Rūdolfs Ošiņš 5c12ab3f92 Fix repo and router specs
They were not run by the test suite at all, because they lacked the
.spec.ts suffix. This change makes sure they're run again and fixes a
all failing specs.
2026-02-26 12:47:14 -06:00
Rūdolfs Ošiņš c72494f620 Enable localhost connections in radicle-explorer
Allow radicle-explorer to connect to a locally running radicle-httpd via
https://app.radicle.xyz/nodes/localhost. This was previously disabled to
encourage use of Radicle Desktop, but is now useful for testing the new
always-on node in local development environments.

Remove support for /nodes/radicle.local, an undocumented and unused convention.

Fix remote node loading when Cloudflare URL-encodes port separator (: → %3A).
2026-01-12 14:38:50 -06:00
Sebastian Martinez af159b8735 Update node metadata test user agent regex 2025-09-15 13:28:18 +02:00
Sebastian Martinez 76285b6265 Switch version e2e test to a regex expression 2025-06-04 11:25:11 +02:00
Sebastian Martinez 50318285f8 Update svelte to v5.0
Only do the minimal changes possible to be able to keep updating
dependencies.
2025-02-04 11:42:02 -06:00
Sebastian Martinez b77c0862b8 Update heartwood-release and radicle-httpd-release to latest versions 2024-12-05 15:30:03 +01:00
Sebastian Martinez f456731f42 Fix radicle-httpd tests for radicle 1.1.0 2024-12-05 14:13:56 +01:00
Sebastian Martinez 723d188e9e Fix copying wrong ids when switching cob listing state
We don't really need the `clipboard` prop.
By switching between stats in patches and issue listings the clipboard
props aren't been recomputed.

Wrote a test that should make sure this doesn't break in the future.
2024-11-27 11:00:17 +01:00
Sebastian Martinez 846daf0b16 Fix mutation of commit listing in place
The commit listing on each patch revision started to be flaky when using
browser navigation. It seems like the `Array.sort()` call started to
reverse the order of the commit listing back to HEAD on top which isn't
what we wanted.
`Array.toReversed()` returns a fresh copy of the reversed array which is
less error prone.
2024-10-21 21:13:58 +02:00
Sebastian Martinez 9bdfba11d1 Update heartwood release to 1.0.0 2024-09-30 15:02:50 +02:00
Sebastian Martinezandmountdisk <mountdisk@icloud.com.> 900506bf4b Fix some typos
Co-authored-by: mountdisk <mountdisk@icloud.com.>
2024-09-03 15:37:13 +02:00
Sebastian Martinez 30647fbb26 Update heartwood and radicle-httpd releases 2024-08-29 11:02:04 +02:00
Sebastian Martinez a34056b2bf Remove sinon in favor of existing APIs of playwright and vitest
We where using `sinon` in the `playwright` tests to simulate a different
time, which since `playwright@1.45.0` can be done with the Clock API
calling `page.clock.setFixedTime`.

And to test the mutex executor we can use the vitest utils spy function
`vi.fn()` instead of `sinon.spy()`
2024-08-29 10:11:04 +02:00
Sebastian Martinez 868f7b1e2d Rename files from project(s) to repo(s) 2024-08-22 09:43:06 +02:00
Sebastian Martinez cf08c83913 Update naming of project(s) to repo(s) 2024-08-22 09:43:06 +02:00
Rūdolfs Ošiņš 5174cda6f2 Add bookmarking ability to seed selector 2024-08-09 12:20:06 +02:00
Sebastian Martinez 4de9724f9e Improve external markdown link test
By using `page.route` we weren't changing the response of
`https://example.com` since we where only changing it on the initial
page.

By using `context` we are able to change the response for any request to
that site on all playwright pages.
2024-08-02 08:02:15 -03:00
Sebastian Martinez e005cd784e Update heartwood to rc.13 2024-08-02 08:00:26 -03:00
Sebastian Martinez 8d30407de6 Add firefox to the clipboard tests 2024-07-29 15:00:31 -03:00
Rūdolfs Ošiņš c0049f83ba Redesign node view and use it as the landing-page 2024-07-26 10:20:01 +02:00
Sebastian Martinez 266afb17c8 Expand internal file markdown test case
Additionally to navigate the file links we should guarantee that
circling back to the source without a path shouldn't break navigation.
2024-07-23 15:52:23 +02:00
Sebastian Martinez 7a5d4566d3 Fix commit listing, adding new commits to list instead of replacing 2024-07-23 15:43:15 +02:00
Sebastian Martinez 1775dd284d Rename missed state -> status occurrences 2024-07-15 14:43:15 +02:00
Sebastian Martinez 507580b6ee Render project description in Source view
This avoids diplaying escaped characters like &amp; in a description
2024-07-05 11:43:27 +02:00
Sebastian Martinez dd61f5cf5c Remove local httpd features and experimental features
Updates API version to 2.0.0
2024-07-04 11:48:41 +02:00
Sebastian Martinez 4b579d13a9 Add InlineTitle component
This new component doesn't rely on marked.js but escapes any special
characters and then replaces any backtick with a <code> HTML tag to
render any inline codeblocks in all titles.
2024-07-01 13:05:08 +02:00
Sebastian Martinez f21a80167c Display user agent instead of version 2024-06-28 21:43:32 +02:00
Sebastian Martinez fda384bc14 Remove tests relying on rad-web 2024-06-28 08:55:13 +02:00
Sebastian Martinez ae17e8c643 Reduce flakiness related to peer branch selector 2024-06-21 14:19:43 +02:00
Sebastian Martinez 59a38e4191 Update install binaries script
radicle-httpd and rad-web have been removed from the files.radicle.xyz
tar files, so we should build them to always have the web client be
compatible with the httpd
2024-06-21 14:19:16 +02:00