Commit Graph
27 Commits
Author SHA1 Message Date
Daniel Norman db5442f01d Release v0.17.0 2026-10-09 11:27:01 +02:00
Daniel Norman 040906ba6d Add list_canonical_tags command
- Load the release modal's tags with it
- Sort them with the shared sortedTags helper
- Test that peers' tags are left out
2026-10-08 18:21:48 +02:00
Daniel Norman 6f57b811ef Show rad-artifact CLI version in status
- Probe `rad-artifact --version` in artifact_binaries
- Run artifact_binaries off the main thread
- Show the CLI version in the artifact node popover
2026-10-08 18:21:48 +02:00
Daniel Norman a24dde90de Show artifact node version in status
- Pass the running node's version through ArtifactNodeStatus
- Show it in the artifact node popover
2026-10-08 18:21:48 +02:00
Daniel Norman a3c094fd6c Bump radicle-artifact to 0.23
- Pick up the node version in the status reply
2026-10-08 18:21:48 +02:00
Daniel NormanandRūdolfs Ošiņš f90db0986a Warn about releases and artifacts by others
- Add an UntrustedWarning banner
- Warn on the Others releases list
- Warn on a release by a non-delegate
- Warn on artifacts by non-delegates on a delegate release
- Warn in the download popover for a non-delegate artifact
- Add E2E tests for both release cases

Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-10-08 18:21:48 +02:00
Daniel Norman e930bfd397 Link and mention releases
- Route release and release list links to their views
- Offer releases for a pasted ID or link
- List delegate releases in # search
- Show release references as chips
- Cache release lookups for mentions
- Record release mentions in ADR 0003
2026-10-08 18:21:48 +02:00
837766212e Add artifact node port and commands
- Add the ArtifactNode port over radicle-artifact-client
- Seed, unseed, download and fetch artifacts per release
- Unseed artifacts on redaction and release deletion
- Report artifact node status and installed binaries
- Probe the artifact node alongside the radicle node
- Add node commands and mirror them in test API

Co-authored-by: Brandon Oxendine <brandon.oxendine@gmail.com>
Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-10-08 18:20:59 +02:00
7a0b67da64 Add release COB ports and commands
- Add release types and the Releases and ReleasesMut ports
- Create, delete and redact releases
- Register, attest and locate artifacts
- Filter releases with radicle-artifact
- Add release commands and mirror them in test API

Co-authored-by: Brandon Oxendine <brandon.oxendine@gmail.com>
Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-10-08 18:20:59 +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 f1ee718886 Use buildkite artifact for visual snapshots
Fix the visual tests which fail in CI because the cache mechanism isn't
reliable
2026-09-14 15:26:05 +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 Norman 7cea431306 Use commit instead of author time consistently
Align with radicle explorer and other places where we render the commit
time like the single commit view and commit list

Fixes issue dfa74e83c4f8d0ca903c3f81d278382daad1488a
2026-09-10 13:40:33 +02:00
Daniel Norman fb11e4d9c2 Remove warning icon from redacted filter 2026-09-03 18:33:28 +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
Daniel Norman 8f2ddcf489 Cache npm dependencies in Buildkite
- Add twemoji as npm dependency instead of build download
- Package build assets with a Vite plugin instead of scripts
- Keep the eslint and prettier caches in one directory
2026-08-26 17:44:04 +02:00
Daniel Norman ab514fe0d4 Add buildkite ci pipelines
The pipelines are supposed to be a drop-in replacement for the current
github actions pipelines.

The github workflows have been restructured into 4 pipelines to take
advantage of the buildkite caching mechanism.
2026-08-12 10:29:58 +02:00
Daniel Norman 19ab609aa3 Refine CLAUDE.md 2026-07-27 16:20:13 +02:00
Daniel Norman 45c5787d68 Mention radicle-artifact in FAQ 2026-07-21 17:53:18 +02:00
Daniel Norman 524ff5dfa2 Exclude job COBs without runs from job list
- Filter out jobs that have no runs in `jobs_by_commit` so empty
  job COBs are not served to the frontend
- Add a unit test covering the filter via a stubbed `FindJobs`
2026-07-21 16:38:25 +02:00
Daniel Norman ded800ed49 Add npm dependency cooldown 2026-05-19 17:19:52 +02:00
Daniel Norman 3fc73a0b89 Fix contributor filter in list_repos & repo_count
- the previous list_repos / repo_count predicates only matched
  SignedRefsInfo::Some, so a forked repo whose sigrefs predate the
  current FeatureLevel (NeedsMigration) was hidden from the
  contributor view and undercounted
- add is_contributor helper so the two call sites can't drift again
  (they already had — list_repos was inverted from repo_count after the
0.22 sigrefs refactor)

See discussion for more info
https://radicle.zulipchat.com/#narrow/channel/369277-heartwood/topic/.60SignedRefsInfo.3A.3ANeedsMigration.60.20and.20local.20signed.20refs/with/594265582
2026-05-12 11:35:52 +02:00
Daniel Norman 28e1ddd372 Remove unused create_repo handler
This handler wasn't being called by any code and diverges from a typical
`rad init` flow, as it creates an empty repo with an initial empty
commit. Removing this as it reduces maintenance burden
2026-05-12 11:35:52 +02:00
Daniel Norman 073a5fb574 Bump deps to radicle 0.24 / radicle-job 0.6
- bump radicle 0.22 -> 0.24, radicle-job 0.5.2 -> 0.6, and
  radicle-surf 0.27.0 -> 0.27.1 to match heartwood
- raise radicle-tauri rust-version to 1.86 for radicle-job 0.6's MSRV
- migrate to the 0.24 COB store API: signer moves onto the cache via
  WriteAs, so issues_mut/patches_mut take &signer and the per-call
  signer arg disappears from every issue/patch action method
- pass ReadOnly to JobsStore::open for radicle-job 0.6's new Access
  type param
- replace the removed Profile::socket() with home().socket_from_env()
  and the removed WriteRepository::set_head() with the
  set_canonical_symbolic_refs + set_default_branch_to_canonical_head
  pair used by rad::init
- split the old ssh::agent::Error into AgentError + ConnectError so
  Agent::connect failures still bubble through ?
- swap SignedRefsInfo::is_ok() (gone in 0.23) for an explicit
  matches!(_, Some(_)) on the new None/Some/NeedsMigration enum
2026-05-12 11:26:53 +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
Daniel Norman d405a58f1b Add radworks app manifest 2026-03-13 12:12:28 +01:00