Commit Graph
2384 Commits
Author SHA1 Message Date
Defelo 2e19c93a9c Don't show node avatar in user view 2026-05-01 15:46:01 +02:00
Rūdolfs Ošiņš dbe0ed7f77 Add a link to radicle.dev to the node sidebar footer 2026-04-29 15:55:18 +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ņš f472fe892b Add "Sort by activity" toggle to UserReposView 2026-04-29 12:12:35 +02:00
Rūdolfs Ošiņš e64aee34ca Cancel in-flight activity fetches on navigation 2026-04-29 12:12:12 +02:00
Rūdolfs Ošiņš 4ddca81f16 Add "Sort by activity" toggle to repo list 2026-04-29 12:12:03 +02:00
Rūdolfs Ošiņš 4dce10bc66 Show shimmer placeholder while activity loads 2026-04-29 12:11:59 +02:00
Rūdolfs Ošiņš 49274ac88c Load repo activity progressively per card 2026-04-29 12:11:50 +02:00
Shawn WebbandLorenz Leutgeb ad8b0699b4 httpd: Generate a prefix for Git archive downloads
GitHub and GitLab will prefix archive payloads with the name of the repo
and the refspec. This patch naively applies a prefix in similar fashion.

The refspec might contain filesystem path separators, like a forward
slash (`/`). GitHub and GitLab replace that with a hyphen (`-`). This
patch applies that same replacement.

The file name that is suggested to browsers (via the HTTP header
`Content-Disposition`) is changed to match the prefix.

The additional archive formats `tar` and `zip` are now supported as
well.

Users that relied on the archive *not* carrying the prefix introduced
here, may pass the query `?prefix=false` to get the old behavior.
This does not affect the `Content-Disposition` header, though. Users
who relied on the downloaded file be named in a certain way after,
and also used the file name from `Content-Disposition` for the name,
cannot get back the old behavior, but must instead rename the file.

Co-authored-by: Lorenz Leutgeb <lorenz.leutgeb@radicle.dev>
2026-04-27 14:23:23 +02:00
Rūdolfs Ošiņš d0a012dcf9 Revert "Update favicon and app icons"
This reverts commit 2556786a9e.
2026-04-24 13:09:54 +02:00
Brandon Oxendine 2556786a9e Update favicon and app icons 2026-04-24 10:26:38 +02:00
Rūdolfs Ošiņš 5a3337de88 httpd: Release 0.25.0 releases/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
Daniel Norman b6743c63fc Fix inline emphasis tags in markdown output
- Without strong, **bold** rendered as plain text since marked
  emits <strong> and DOMPurify stripped the unknown tag
- Add strong, b, i, del, s to DOMPurify allow-list
- Cover the other inline emphasis tags authors may write as raw
  HTML or that GFM strikethrough emits (<del>)
2026-04-22 17:53:23 +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
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