Commit Graph
2345 Commits
Author SHA1 Message Date
Daniel Norman d405a58f1b Add radworks app manifest 2026-03-13 12:12:28 +01:00
Brandon Oxendine af74f2b84d Fix colors 2026-03-12 17:13:00 +01:00
Rūdolfs Ošiņš 175f5b701c Fix regression where loading bar isn't shown anymore 2026-03-11 14:41:56 -06:00
Brandon c38e04ac7c Fix user ID tooltip overflow 2026-03-11 09:25:41 -06:00
Rūdolfs Ošiņš c8f3ea4131 Align icon component with UI kit 2026-03-10 12:31:55 -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ņš 4eae95ab44 Allow running e2e test suite against a locally built httpd
This allows us to easily test httpd changes without doing a release
first and then updating the radicle-httpd-release file.
2026-02-26 16:36:07 -06:00
Rūdolfs Ošiņš 8022f607de Make it go faster on CI 2026-02-26 15:39:25 -06:00
Rūdolfs Ošiņš 87bd6e244f Document few common test commands for e2e suite 2026-02-26 15:35:09 -06:00
Rūdolfs Ošiņš fe10aca871 Improve test report readability
Indent browser console logs and use a different color.
2026-02-26 15:17:51 -06:00
Rūdolfs Ošiņš d21434d256 Remove unused test projects
We only run tests on chromium on CI.
2026-02-26 14:57:57 -06:00
Rūdolfs Ošiņš 9af7ee637f Simplify skipping test setup 2026-02-26 14:57:57 -06:00
Rūdolfs Ošiņš d97560936e Paralellize build and fixture creation 2026-02-26 14:57:57 -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ņš b251040fa3 Pre-compile the app bundle and run tests against that
Speed difference is 3min vs 30sec to run all tests.
2026-02-26 14:57:56 -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ņš 06aaa6a97c Run tests against latest radicle 1.6.1 and httpd 0.24.0 2026-02-26 11:38:28 -06:00
Rūdolfs Ošiņš bd3b660b17 httpd: Release 0.24.0 releases/0.24.0 2026-02-26 09:43:02 -06:00
justarandomgeek eaed75b803 update axum-listener to 0.2.2 2026-02-26 09:13:23 -06:00
justarandomgeek c69d095600 disable SIGHUP handler for windows 2026-02-26 09:13:23 -06:00
justarandomgeek e3db969604 disable Unix Domain Sockets for windows 2026-02-26 09:13:23 -06:00
Rūdolfs Ošiņš 2bbb35b2f1 Improve comment 2026-02-26 09:06:49 -06:00
Rūdolfs Ošiņš 7dd70638f5 Improve /node api endpoint response time
Work around an issue where radicle-node takes a long time to respond to
status and config requests blocking the UI because we use the node
avatar from the config in almost all layouts.
2026-02-26 09:03:10 -06:00
Defelo d4eeccb90f Show parents on commit page 2026-02-25 10:08:01 -06:00
Rūdolfs Ošiņš c21389a828 Upgrade radicle crates to latest versions
radicle 0.18.0 -> 0.21.0
radicle-surf 0.22.0 -> 0.27.0
radicle-term 0.14.0 -> 0.17.0
radicle-crypto 0.13.0 -> 0.15.0

Fixes the following issues:
  - broken pinned repo listing while repos are being fetched
  - broken source tree browser when there are `[]` characters in folder names
2026-02-24 23:06:24 -06:00
Ivan Shapovalov 1b6d2830d7 httpd: accept /{rid}.git/{nid}/ paths as GIT_NAMESPACE-d remotes
This patch adds support for serving `/{rid}/{nid}/...` paths as
`GIT_NAMESPACE`-d http remotes, using `{nid}` as the namespace.
Radicle's on-disk repo storage already uses a Git-namespace-compatible
notion for peer refs (`refs/namespaces/*`), so it is merely a matter of
passing the right `$GIT_NAMESPACE` to the `git http-backend` process.

This way, it becomes possible to directly clone or fetch from URLs like
`http://httpd.domain.tld/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git/z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM`
to directly access the given node's ref namespace:

    $ cd radicle-explorer
    $ git remote add intelfx https://iris.radicle.xyz/z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/z6MkqbVudjUcuxUmwWfW6U886CnhoX5wmkEDsAXju9F9UBAo
    $ git pull intelfx work/httpd-git-namespace // or fetch, or ...

Instead of mucking about with

    $ git fetch origin refs/namespaces/{nid}/refs/heads/{branch}:refs/heads/{branch}
2026-02-24 11:57:12 -06:00
Defelo 29b952a3ff Show all repos if there are no pinned repos 2026-02-05 16:28:46 -06:00
Rūdolfs Ošiņš b0b6d1663e Document the release process in RELEASE.md 2026-01-21 12:44:02 -06:00
Rūdolfs Ošiņš 5b4d5d5df9 Adapt heartwood changelog script for radicle-httpd 2026-01-21 11:38:40 -06:00
Rūdolfs Ošiņš 3d55ca4833 Make release scripts executable from anywhere in the repo 2026-01-21 11:38:00 -06:00
Rūdolfs Ošiņš a4a3f65ffe Update the release scripts to match our canonical tags 2026-01-21 11:37:37 -06:00
Rūdolfs Ošiņš 14162868f2 httpd: Release 0.23.0 releases/0.23.0 2026-01-21 09:40:35 -06:00
Rūdolfs OšiņšandFintan Halpenny 7dfca539b4 httpd: Add SIGHUP config reloading
Enable hot-reloading of web configuration (pinned repos, avatar, banner,
description) by sending SIGHUP to the process, eliminating the need for
server restarts when updating these settings.

Co-authored-by: Fintan Halpenny <fintan.halpenny@gmail.com>
2026-01-20 15:55:21 -06:00
Rūdolfs Ošiņš ebe4e426e8 Improve localhost detection 2026-01-17 09:35:54 -06:00
Rūdolfs Ošiņš 8f52b2bdfb Support *.localhost subdomains
In the new always-on-node service we'll want to test things locally with
domains that look like this: rudolfs.localhost:3080
2026-01-13 12:49:18 -06:00
Defelo 0fae94fce4 httpd: Remove unused struct 2026-01-12 15:01:48 -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
Rūdolfs Ošiņš 4c20d626e8 Add script for app.radicle.xyz deployments
Our Cloudflare deployments via GitHub broke. We can run deployments
manually to app.radicle.xyz via:

  npm run deploy

This also takes care of injecting the plausible.io script.
2026-01-09 16:55:19 -06:00
Rūdolfs Ošiņš eec96f5121 Fix linter warnings
Fixes svelte/no-reactive-reassign errors when running scripts/check.

It slipped through code review, regression from:
https://app.radicle.xyz/nodes/seed.radicle.garden/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/patches/d77e0646b32cac18187a72bd5f36b501a08040ba
https://github.com/radicle-dev/radicle-explorer/actions/runs/17741958964/job/50417893170
2026-01-09 14:57:19 -06:00
Rūdolfs Ošiņš fadd614636 httpd: Release 0.22.0 releases/0.22.0 2026-01-07 13:24:49 -06:00
Defelo 699835d3fb httpd: Fix git handler
Apply the `SocketAddr` -> `DualAddr` change made in commit `4d062d83` to
the git handler and update the unit tests accordingly.
2026-01-06 14:49:20 +01:00
Sebastian Martinez 30fd309e04 httpd: Improve build README 2025-12-23 15:18:52 +01:00
Sebastian Martinez ad845ba66f httpd: Update upload script 2025-12-23 14:53:31 +01:00
Sebastian Martinez 8c2f15d619 httpd: Release 0.21.0 2025-12-23 12:57:43 +01:00
Sebastian Martinez 4d062d8347 httpd: Add axum-listener and use axum for unix-sockets directly 2025-12-23 12:33:43 +01:00
Rūdolfs Ošiņš 97ad0a865e httpd: Make radicle-httpd work with unix sockets 2025-12-19 17:48:22 +01:00
Cameron Eldridge 97dac7e28f Add rudimentary "Browse all repos on node" view
Seemed to me there was no way to browse all the repositories being seeded on a node.
On the massive public nodes this is not that useful a feature since there are too many
and too jumbled an assortment, but for a smaller personal node, this feature might be
valuable to make the explorer's contents a bit easier to explore.

Went with the most unintrusive implementation of this idea for now; just enough
that it "does the job" (you can access this view, and paginate the results)
but does not have any of the bells and whistles it should have (search/filtering,
sorting, page query parameters support).

As part of this work, since the repos section gets much more complex, I extracted
the repos part of the page into its own component. Otherwise, it is just very simply
allowing the parameters to the `fetchRepoInfos` call to be manipulated from the page.
2025-09-15 16:02:35 +02:00
Sebastian Martinez 5cf657249f Update heartwood-release to 1.4.0 2025-09-15 13:28:18 +02:00