Commit Graph
821 Commits
Author SHA1 Message Date
Rūdolfs Ošiņš 96664d6d9a Fix npm audit reported issues 2026-09-14 10:34:52 +02:00
Brandon Oxendine e97af99286 Submit the issue modal with Cmd+Return from title
Closes c4c2391d309ccff1cd745d5e98faf5b4e9bb7d9d
2026-09-14 10:20:21 +02:00
Brandon Oxendine ba5e571337 Keep the view steady when reacting or commenting
Bind each cached loader to a `{@const}` so the `{#await}` blocks keep
the same promise across patch reloads instead of re-running and
flashing their pending branch.
2026-09-14 10:00:13 +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
Brandon Oxendine cae5ed5a8d Unify top bar button treatment
The patch page already sets the pattern: one filled primary action and
naked buttons for everything else. The issue page and the repo header
used the grey ghost fill instead, so their secondary actions competed
with the primary one.
2026-09-09 15:06:11 +02:00
Rūdolfs Ošiņš 092f3354ee Distinguish local repos from seeded ones
A repository can sit in storage without being seeded, which `rad ls`
hides and `rad ls --all` shows as "local". A new Settings preference
picks the `Show` passed to `list_repos_summary`, defaulting to seeded.
2026-09-09 14:51:21 +02:00
Rūdolfs Ošiņš 4c899537ab Mark private repos with a lock in the sidebar 2026-09-09 14:51:14 +02:00
Rūdolfs Ošiņš 5f86b10f05 Fix unseed error paths and seeded repo filter
Unseeding only deletes the policy row, so a node defaulting to `allow`
keeps seeding: `unseed` now reports `DefaultPolicySeeds` instead of
claiming success, and both callers refresh in a `finally` so a failed
`clean` no longer leaves a stale row behind.
2026-09-09 14:50:28 +02:00
Brandon Oxendine 6e29b80371 Use a globe icon for public repositories 2026-09-09 14:31:53 +02:00
Brandon OxendineandRūdolfs Ošiņš 039c0d49d5 Stop layout shifts when clicking on commits in patch
scrollToFilesTop scrolled the port down to hide the patch chrome, with a
smooth animation. Clicking a commit while already at the top of the diff
pulled the header off screen for no reason.

Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-09-09 14:21:43 +02:00
Brandon OxendineandRūdolfs Ošiņš 7dc1d4d94d Stop one duplicate path losing the whole diff
A type change, a symlink replaced by a regular file, reaches the frontend
as two entries for one path. CodeView throws on the duplicate id, the
parse promise rejects, and the Changes tab is left with no files at all:
on heartwood's patch 327be3c one such file emptied all 84.

Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-09-09 14:21:43 +02:00
Brandon Oxendine 8fbb408c58 Disable save button instead of hiding it 2026-09-09 12:37:11 +02:00
Brandon OxendineandRūdolfs Ošiņš 55e18a45f0 Keep the window draggable while a modal is open
Co-Authored-By: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-09-09 12:23:16 +02:00
Rūdolfs Ošiņš 982a568538 Polish author and committer popover
Show the email alongside each name. Co-authors are read from the commit
message trailers and listed as their own section. The trigger avatars
now stack and fan apart on hover, and cover everyone credited on the
commit rather than just the author and committer. Timestamps now show
both committed and authored times in the tooltip.
2026-09-09 10:49:50 +02:00
Brandon Oxendine ba3316c246 Add a collapsible, resizable sidebar
The sidebar collapses to a narrow rail of icons. Its collapsed state
and its width both persist across launches.
2026-09-08 17:38:18 +02:00
Rūdolfs Ošiņš 535f5e2a18 Show the detected git binary in the settings 2026-09-08 10:04:49 +02:00
Rūdolfs Ošiņš f6050ecae9 Log to a file when not launched from a terminal 2026-09-08 10:04:09 +02:00
Rūdolfs Ošiņš f8faec2c9b Resolve git outside the session PATH
A desktop launch inherits a `PATH` that holds none of the user's own
install locations, so `Command::new("git")` finds nothing usable, or on
macOS finds Apple's shim and only prompts to install the developer
tools.

Resolve git to an absolute path instead, searching `PATH` first and the
usual install locations after, and cache the result for the process.
`rad` is looked for the same way, which also fixes the CLI check for a
Homebrew or Nix install.
2026-09-08 09:30:14 +02:00
Brandon OxendineandRūdolfs Ošiņš fe37d6a85c Add Stop seeding to the sidebar context menu
`rad unseed` only drops the seeding policy and leaves the repository in
storage, so while `list_repos_summary` listed everything on disk an
unseeded repository never left the sidebar and unseeding looked like it
had done nothing. That call now filters by seeding policy.

The confirmation dialog also offers to delete the files, running the
equivalent of `rad clean` after the unseed.

Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-09-03 19:21:16 +02:00
Brandon Oxendine f4ab2544ae Keep the patch description open while editing
The description collapses past 300px behind a show more toggle, which
also applied to the editor that replaces it. Half of what was being
written could be cut off, with a control offering to hide more of it.

Editing state moves from the revision component to a bindable prop, so
the patch view that owns the collapse can see it.
2026-09-03 18:40:26 +02:00
Brandon Oxendine 25b7ba86c4 Fix inline node ID in the guide 2026-09-03 18:30:50 +02:00
Brandon Oxendine 9bf912da3d Confirm before hiding the Guide button 2026-09-03 18:26:11 +02:00
Brandon Oxendine 073720a7a6 Reveal Guide dismiss only when it has focus 2026-09-03 18:26:11 +02:00
Rūdolfs Ošiņš 6cb6443cbd Fix patch diff for merge-commit revisions
`list_commits` walked back from the revision head and stopped at the
first commit equal to `base`. A merge commit reaches `base` through one
of its parents, so the walk truncated there and dropped everything the
other parent contributed: a revision whose head merges the target branch
in looked like a single-commit revision.
2026-09-03 18:22:43 +02:00
Rūdolfs OšiņšandBrandon Oxendine e35baf750f Show the branch a patch is opened against
Add it to the patch list byline and the patch page metadata, shown only
when it differs from the default branch. The merge activity item now
names the real target instead of always naming the default branch.

Co-Authored-By: Brandon Oxendine <brandon.oxendine@gmail.com>
2026-09-03 17:19:42 +02:00
Rūdolfs Ošiņš 3688218060 Resolve the patch target branch in the API
Serve `targetBranch` so the UI can tell where a patch is headed. Editing
a title no longer sends its own target, which reset branch-targeted
patches to the default branch.
2026-09-03 16:46:29 +02:00
Brandon Oxendine 3ac4249651 Match the reaction and edit button sizes
The reaction trigger sits in a block wrapper, so its icon formed a line
box and took the leading with it, leaving the button taller than the
edit one beside it. It also carried its own padding, colour and hover
fill, on top of the ones the action around it already provides.

The action is now a fixed square with its content centred, so its size
no longer depends on the shape of whatever it wraps.
2026-08-27 17:48:32 +02:00
Brandon Oxendine 66d849faaa Let the Guide sidebar button be hidden 2026-08-27 14:38:03 +02:00
Brandon Oxendine 880db5e538 Add Cmd+, shortcut to open Settings
Handle Cmd+, (Ctrl+, on Linux/Windows) in the global keydown handler
to toggle the Settings modal, matching the existing font-size and
Escape shortcuts.
2026-08-25 17:46:21 +02:00
Skye Soss cd8c7cac6a Use a table for the radicle-job patch entry
The inline table added in 935b023 spans multiple lines, which TOML 1.0
forbids. Rust 1.97.1 accepts it, but cargo-tauri's hook shells out to
the cargo from nixpkgs (1.91.1), which rejects it and fails the Nix
build.
2026-08-16 13:30:36 -05:00
Skye Soss b261f59f0d nix: Add hash for radicle-job git dependency
935b023 patched radicle-job to a git source, so Cargo.lock now carries
a git+https entry. importCargoLock cannot vendor a git dependency
without an explicit hash.
2026-08-16 13:30:25 -05:00
Skye Soss 86a409c247 nix: Update rust-overlay for Rust 1.97.1
The toolchain was bumped to 1.97.1 in 843a2d0, but the pinned
rust-overlay predates that release and only knows stable channels up
to 1.95.0.
2026-08-16 13:30:14 -05:00
Rūdolfs Ošiņš 5d3ab09afb Update arch package to v0.15.0 2026-08-14 18:37:12 +02:00
Rūdolfs Ošiņš e3ac6cad0e Release v0.15.0 2026-08-14 18:37:02 +02:00
Rūdolfs Ošiņš f54ba3e9d3 Fix npm audit issues 2026-08-14 18:22:45 +02:00
Rūdolfs Ošiņš 6af586303f Move the diff settings into the settings modal
Grouped with the code font in a section of their own, replacing the
per-view popover in the commit, changes and review views.
2026-08-14 17:30:47 +02:00
Rūdolfs Ošiņš 9fed2b0099 Restructure the review view's controls
- Add a sticky row over both columns, its left half the comment
  column's own header
- Move collapse-all and the diff settings into it, out of the topbar
- Switch the column between the review's comments and a file tree
- Toggle between every file in the revision and only the commented ones
- Put the column away entirely, giving the diff the full width
- Keep a pixel under the bar so the first file keeps its top edge
2026-08-14 17:30:47 +02:00
Rūdolfs Ošiņš aa18be10e1 Let the diff's side columns scroll
`max-height: 100%` resolved against an auto-height box, so it was
dropped and the commit list and comment column grew past the port
instead of scrolling inside it.
2026-08-14 17:30:47 +02:00
Rūdolfs Ošiņš 9196e4f726 Share the file-tree status mapping 2026-08-14 17:30:47 +02:00
Rūdolfs Ošiņš 3d4fb16281 Tighten the patch tab bar 2026-08-14 17:30:47 +02:00
Rūdolfs Ošiņš 2c9c382073 Say who resolved a comment
The comment records only that it is resolved, so the name comes from the
resolve operation in the patch's log. Adds the action to timeline
threads too, and shapes the badge like a review's verdict.
2026-08-14 17:30:46 +02:00
Rūdolfs Ošiņš d7d8fcce93 Add a comment stepper to the Changes tab
Walks the comments on the diff in the order they are rendered, merged
into the control that filters which of them are shown.
2026-08-14 17:30:46 +02:00
Rūdolfs Ošiņš ef3a6341e7 Add a comment column to the review view
Lists every line comment in the review beside the files; clicking one
scrolls the diff to it and rings it briefly.
2026-08-14 17:30:46 +02:00
Rūdolfs Ošiņš 01e057b5d6 Show only commented files in the review view
Even out the page's vertical rhythm while there: one gap owns the
spacing between blocks, so it holds whichever blocks a review has.
2026-08-14 17:30:46 +02:00
Rūdolfs Ošiņš 75ebece30d Keep merge and review rows out of author runs 2026-08-14 17:30:46 +02:00
Rūdolfs Ošiņš a7c35340ec Allow deleting discussion comments 2026-08-14 17:30:46 +02:00
Rūdolfs Ošiņš 1ca4f76575 Trim the diff payload to a manifest
The tree-sitter highlighter goes with it: the hunk types name its
`Paint` spans and it implements `ToPretty` for them, so neither side
can be removed on its own.
2026-08-14 17:30:46 +02:00
Rūdolfs Ošiņš 42a141bd8b Render patch changes with Pierre 2026-08-14 17:30:46 +02:00
Rūdolfs Ošiņš bdd5b49b8d Match the Latest badge to the other badges 2026-08-14 17:30:46 +02:00
Rūdolfs Ošiņš 7a5fa363be Remove unused patch read commands and diff helper
`revision_by_patch_and_id` and `review_by_patch_and_revision_and_id`
were registered as Tauri commands but never invoked: the patch view
resolves a revision or review from the revisions it already holds. Drop
the commands, their registrations and the `revision_by_id` / `review_by_id`
port methods, which had no other callers.

`fileDiffName` in `diffText` has had no callers since it was added.
2026-08-10 12:54:39 +02:00