Commit Graph
2360 Commits
Author SHA1 Message Date
Rūdolfs Ošiņš ecbea99f56 Show canonical branches and tags in peer selector 2026-04-22 09:45:00 +02:00
Rūdolfs OšiņšandFintan Halpenny 42bc27c1f8 httpd: Add canonical and peer refs to repo API
Co-authored-by: Fintan Halpenny <fintan.halpenny@gmail.com>
2026-04-22 09:45:00 +02:00
Rūdolfs Ošiņš a184186944 Add helper script to run unit tests against local httpd
As opposed to running it against a pre-compiled binary with a pinned
version.
2026-04-22 09:40:47 +02:00
Fintan Halpenny 114b25322e flake.nix: Update flake.nix
The `flake.nix` file used `heartwood` as its source of truth for a lot
of tooling.
The `heartwood` library was pinned to its `1.0.0` version, causing
issues when attempting run `nix develop`.

Instead, modify the inputs to grab the tooling from their source of truth.
The `heartwood` binaries can now be retrieved via the `radicle-node`
entry in the Nix packages registry.
2026-04-21 17:08:57 +01:00
Fintan Halpenny 1884084e12 .gitignore: Add target to ignore set
The `target` folder will be populated by rust-analyzer flycheck tooling.
It can be ignored by `git`.
2026-04-21 17:08:57 +01:00
Rūdolfs Ošiņš 64f91fa41d Show job cobs on repo source and patches 2026-04-21 17:29:39 +02:00
Rūdolfs Ošiņš 7cef0618ce httpd: Add API endpoint for job cobs
Serve them on /repos/{rid}/xyz.radworks.job/{sha}.
2026-04-21 11:38:15 +02:00
Rūdolfs Ošiņš 78ccb93d84 Move header injection to open-graph worker
Remove og-injector middleware that ran on every request. Social crawlers are
redirected to the open-graph worker via a cloudflare rule now.
2026-04-15 14:23:04 +02:00
Rūdolfs Ošiņš 74e15e2535 Add open-graph card generation via Cloudflare Workers
Deploys two workers: og-injector intercepts social crawler requests and
injects Open Graph meta tags; open-graph renders 1200×630 PNG cards
using Satori with repo/user avatars ported from avatar.ts.
2026-04-13 12:45:57 +02:00
Rūdolfs Ošiņš 21dc8a6262 Simplify zod schema 2026-03-26 17:48:48 -06:00
Rūdolfs Ošiņš afb0f903ee Replace last deprecated Avatar with UserAvatar
We missed this one spot in the grand UI redesign.
2026-03-26 17:43:47 -06:00
Rūdolfs Ošiņš cacef2292b Fix breaking schema change in radicle-node 1.7.0 2026-03-18 10:57:01 -06:00
Julien Donck 7d5dd7e8a2 Fix intermittent TypeError during route transitions
Svelte 5's signal system can evaluate derived signals in child
components before parent {#if} blocks destroy them. When the
route store changes (e.g. from repo.commit to repo.patch), the
spread props update before the old component is unmounted, causing
commit to become undefined and Changeset to throw accessing
undefined.files.

Use optional chaining on Commit prop expressions so getters
return undefined instead of throwing, and guard Changeset
template with {#if diff} plus optional chaining on files
lookups.
2026-03-17 12:45:36 -06: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ņš 61c4e4edd8 Add CLAUDE.md 2026-03-17 10:48:34 -06:00
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