Commit Graph
100 Commits
Author SHA1 Message Date
Rūdolfs Ošiņš 5a3337de88 httpd: Release 0.25.0 2026-04-23 16:04:29 +02:00
Rūdolfs Ošiņš fc648a6392 httpd: Rename endpoint /xyz.radworks.job/ -> /jobs/ 2026-04-23 15:57:54 +02:00
Rūdolfs Ošiņš 269c6e52ea Rename [iris,rosa].radicle.dev -> [iris,rosa].radicle.network 2026-04-23 11:16:56 +02:00
Rūdolfs Ošiņš b21faa104a Rename radicle.xyz -> radicle.dev where possible 2026-04-23 10:21:39 +02:00
Rūdolfs Ošiņš 7e725f3bdf Move public deployment from app.radicle.xyz to radicle.network 2026-04-23 00:08:23 +02:00
Rūdolfs Ošiņš 1003b165e5 ci: Allow binaries to be downloaded via redirect
By specifying `--location`, `curl` will follow redirects.
2026-04-23 00:07:31 +02:00
Rūdolfs Ošiņš c45c919826 Key Playwright browser cache on Playwright version
To avoid missing browsers in feature branches.
2026-04-22 17:48:45 +02:00
Rūdolfs Ošiņš b2f74ebd15 Upgrade all Javascript dependencies
Changes which were needed after the upgrade:

- Replace vite-plugin-virtual (vite 8 incompatible) with vite's
  built-in `define` for the buildTimeConfig injection

- tsconfig: drop deprecated `baseUrl` (TS 5+ resolves `paths`
  relative to tsconfig)

- Vitest 4: import `defineConfig` from `vitest/config` so `test`
  is valid in vite configs

- Zod 4: rename `.errors` to `.issues`, make `ZodSchema` a
  type-only import, drop the removed `SafeParseReturnType`

- Tighten/loosen generic casts in localStore to match stricter
  zod 4 inference

- ESLint 9 `no-useless-assignment`: remove redundant initializers
  and dead reassignments; disable the rule where Svelte's reactive
  blocks confuse the analyser

- Svelte/eslint `prefer-svelte-reactivity`: disable for legacy
  Svelte usages of URL / Set

- Misc naming-convention and prefer-const fixes
2026-04-22 17:48:45 +02:00
Rūdolfs Ošiņš 9ca1d7973e Fix GitHub actions warnings
Gets rid of "Node.js 20 actions are deprecated".
2026-04-22 15:25:27 +02:00
Rūdolfs Ošiņš ad75d6488c Bump playwright 1.52.0 -> 1.59.1
Playwright 1.52 hangs under Node 24 when loading test files that
transitively import modules with top-level await (tests/support/
support.ts). Node 24 enables require(esm) by default, and the old
CJS-based .ts transformer deadlocks on TLA.

Also update CLAUDE.md: playwright 1.59's --project flag is variadic
and greedily consumes trailing args, so the file path must come
before --project.
2026-04-22 14:36:52 +02:00
Rūdolfs Ošiņš a1b0723908 Bump nodejs 22.12.0 -> 24.15.0
This also drops .tool-versions to keep a single source of truth for the
node version in .nvmrc. We also point the github actions to .nvmrc now.
I'm the only dev who's using asdf to manage my tooling and I decided to
just configure it to fall back to .nvmrc via `legacy_version_file =
yes`.
2026-04-22 11:20:25 +02:00
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
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
Rūdolfs Ošiņš 61c4e4edd8 Add CLAUDE.md 2026-03-17 10:48:34 -06:00
Rūdolfs Ošiņš 175f5b701c Fix regression where loading bar isn't shown anymore 2026-03-11 14:41:56 -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 2026-02-26 09:43:02 -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
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
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 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
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 2026-01-07 13:24:49 -06:00
Rūdolfs Ošiņš 97ad0a865e httpd: Make radicle-httpd work with unix sockets 2025-12-19 17:48:22 +01:00
Rūdolfs Ošiņš 781045b254 Run user did through decodeURIComponent before validating
We recently moved app.radicle.xyz to Cloudflare, which by default
normalizes all URLs to be encoded on redirect. The redirects happen
because we run in SPA mode.
2025-07-24 12:50:29 +02:00
Rūdolfs Ošiņš be5605acde httpd: Release 0.20.0 2025-07-18 14:16:04 +02:00
Rūdolfs Ošiņš 4cd680d464 Bump radicle crate to 0.16.1 2025-07-18 12:13:24 +02:00
Rūdolfs Ošiņš 775cbd1c37 Allow overriding configuration at run-time 2025-04-25 08:55:09 +02:00
Rūdolfs Ošiņš 46d1c2177d Make RID on repo cards copyable 2025-02-14 09:05:29 +01:00
Rūdolfs Ošiņš 98ad210b8d Allow manually triggering workflow builds 2025-02-03 11:00:41 -06:00
Rūdolfs Ošiņš f815b2dbca Bump httpd version numbers
Bump httpd version numbers
2024-11-11 18:30:39 +01:00
Rūdolfs Ošiņš 9d981f9210 http: Fix encoding issue in raw file handler
Turns out "content-type: text; charset=utf-8" wasn't valid, it had to be
"content-type: text/plain; charset=utf-8" for browsers to recognise it
properly.
2024-11-08 12:08:31 +01:00
Rūdolfs Ošiņš dc906be387 Update dependencies 2024-09-25 09:18:44 +02:00
Rūdolfs Ošiņš dce64f19b0 Disable rubber-banding effect on scroll
The app doesn't implement any loading/refresh functionality on
over-scroll, so the effect doesn't make sense.
2024-09-23 11:39:27 +02:00
Rūdolfs Ošiņš edd2313245 Update dependencies 2024-09-16 12:56:44 +02:00
Rūdolfs Ošiņš 596c3b0e9b Update dependencies 2024-09-03 14:00:06 +02:00
Rūdolfs Ošiņš 2891f0b795 Update dependencies 2024-08-27 15:07:08 +02:00
Rūdolfs Ošiņš 06cc5595c8 Upgrade eslint 2024-08-19 15:25:31 +02:00
Rūdolfs Ošiņš 7d738f91a2 Update dependencies 2024-08-19 12:26:23 +02:00
Rūdolfs Ošiņš 5174cda6f2 Add bookmarking ability to seed selector 2024-08-09 12:20:06 +02:00
Rūdolfs Ošiņš 853829ea28 Update dependencies 2024-08-08 23:45:06 +02:00
Rūdolfs Ošiņš 96bafffb34 Use lodash import style that leads to smaller bundle sizes 2024-08-08 16:21:33 +02:00
Rūdolfs Ošiņš 514359e1b9 Fix merge issue 2024-07-29 15:54:38 +02:00
Rūdolfs Ošiņš 1ff3890fa8 Clean up icons 2024-07-29 15:30:27 +02:00
Rūdolfs Ošiņš f4c773c81b Show dismiss button when a specific commit has been selected 2024-07-26 15:15:01 +02:00
Rūdolfs Ošiņš e31ca2d0aa Update dependencies 2024-07-26 08:22:53 -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
Rūdolfs Ošiņš da14ca6505 Remove Post comment keyboard shortcut 2024-07-23 09:50:33 +02:00
Rūdolfs Ošiņš cd38ed1134 Tweak clone button icon placement 2024-07-22 13:33:54 +02:00
Rūdolfs Ošiņš 0a2dbe9e5d Add Checkout button to patch view 2024-07-19 14:51:20 +02:00
Rūdolfs Ošiņš c60b6451d3 http: Remove all authentication related code
We also remove the `/api/v1/profile` endpoint because that was only
supposed to be used with a local node and not publicly accessible. All
fields that are still used in the UI were moved to `/api/v1/node`.

We bump the API and crate versions since this is a breaking change.

squash or drop!: Small suggestion for improvement
2024-07-19 08:11:47 -03:00
Rūdolfs Ošiņš b105d06fae http: Only count publicly seeded repositories
Previously the /api/v1/stats endpoint would count any repository that is
in the storage regardless of whether the repository is publicly seeded or not.
2024-07-19 05:32:42 -03:00
Rūdolfs Ošiņš 662a5e24eb Update dependencies 2024-07-18 10:05:12 +02:00
Rūdolfs Ošiņš 472993c6df Simplify share button link resolution
We just use the radicleExplorer that is configured in the app config and
don't query the node for it. Besides simplifying things this also makes
the button work on iOS again, because we don't have the async http
request anymore.
2024-07-17 14:13:57 +02:00
Rūdolfs Ošiņš 87979c5feb Fix timestamp calculation when filtering patches 2024-07-17 07:26:53 +02:00
Rūdolfs Ošiņš 5e5e69771f Fix overflow problem in diff view
When selecting a range of lines and scrolling past the sticky header,
the selection would be on top of the header. This fixes it.
2024-07-16 15:06:21 +02:00
Rūdolfs Ošiņš 6f134ca6d6 Show base commit gray in compare dropdown 2024-07-15 17:44:49 +02:00
Rūdolfs Ošiņš b3bf6d17ff Show small disabled seed button on mobile 2024-07-10 15:37:08 +02:00
Rūdolfs Ošiņš 2b491a1d09 Reinstate Seed button 2024-07-06 19:59:25 +02:00
Rūdolfs Ošiņš 5ed0565177 Tweak copyable ID UX
- don't keep the tooltip open when hovering over it
- offset the tooltip to the right, so it doesn't overlap with other
  content
- tweak colors so it pops out of the background more
- tweak elevation shadows to stand out more
- don't show node ID DID in popover
2024-06-26 13:52:15 +02:00
Rūdolfs Ošiņš 173ede84d5 Rename user facing strings with "project" -> "repository" 2024-06-20 15:28:59 +02:00
Rūdolfs Ošiņš 2f1a5dcdfe Rename http-server -> radicle-httpd
So that the directory name matches the crate name.
2024-06-20 11:44:44 +02:00
Rūdolfs Ošiņš 6d87823ce0 Tweak copyable IDs 2024-06-12 15:49:03 +02:00
Rūdolfs Ošiņš bd5519116a Add seed count badge to project cards 2024-05-23 15:02:32 +02:00
Rūdolfs Ošiņš a609fe192a Force Twitter/X to update OpenGraph image 2024-05-22 12:39:21 +02:00
Rūdolfs Ošiņš 87c019d172 Switch to small Twitter/X cards 2024-05-22 12:18:51 +02:00
Rūdolfs Ošiņš ce8d6f6dd4 Prevent double scroll-bar on landing page 2024-05-16 17:18:25 +02:00
Rūdolfs Ošiņš a27d8be36a Fix issue/patch page sidebar line not reaching screen edge 2024-05-16 17:18:25 +02:00
Rūdolfs Ošiņš a5e390ef59 Align node/connect/authenticate popover positioning 2024-05-16 16:44:24 +02:00