Commit Graph
430 Commits
Author SHA1 Message Date
Rūdolfs Ošiņš bc1e636fbf Virtualize the file tree's root entries
The file tree was the one list left un-virtualized, so wide directories
mounted every entry and re-rendered all rows on selection. Render
entries through VirtualList like the other lists.
2026-07-03 11:29:40 +02:00
Rūdolfs Ošiņš 5b121b131a Add a diff actions menu with copy and save to disk
Replace the file-header and whole-diff copy buttons with a popover menu
offering "Copy to clipboard" and "Save to disk".
2026-07-03 11:28:57 +02:00
Rūdolfs Ošiņš 737703422e Virtualize the patch-review diff renderer
Route the comment-capable diff through the same single virtualizer as
the commit diff instead of rendering every file and line at once.
2026-07-03 11:28:36 +02:00
Rūdolfs Ošiņš 41535bf32c Add unified-diff copy buttons to the commit diff 2026-07-03 11:28:33 +02:00
Rūdolfs Ošiņš fb35fe369e Virtualize the commit diff view
Render only visible diff rows (via virtua) so commit diffs stay smooth
at any size.
2026-07-03 11:28:12 +02:00
Rūdolfs Ošiņš 32b1d0e272 Restore list scroll position on back/forward
Navigating away from a list and back via history (the sidebar
back/forward buttons) returns to the same scroll position with the
previously loaded pages intact, instead of refetching only the first
page at the top.
2026-07-03 11:27:58 +02:00
Rūdolfs Ošiņš 2bc474b9ce Add VirtualList component backed by virtua
A reusable windowing wrapper that mounts virtua's Virtualizer against
the existing OverlayScrollbars viewport, so the app-wide custom
scrollbar is preserved.
2026-07-03 11:27:33 +02:00
Rūdolfs Ošiņš ac92fc9197 Omit issue body from list responses
The issues list shipped each issue's full root comment (body) over IPC,
but the teaser never renders it, only the detail view does. Make
Issue.body optional and add an Issue::summary constructor that skips it;
list_issues now builds summaries while issue_by_id keeps the full body.
2026-07-03 11:26:16 +02:00
Rūdolfs Ošiņš e1b940b21d Paginate the issues list view
The issues list loaded every issue at once and rendered them all.
Paginate it the same way as commits and patches.
2026-07-03 11:26:03 +02:00
Rūdolfs Ošiņš a07787c2c6 Fix patches list pagination
The patches list paged through everything without scrolling: ScrollArea
fired its load-more check on every `updated` DOM event, and the list's
min-height made the bottom threshold always true, so each appended page
triggered the next. Move it to InfiniteScrollSentinel like the commits
list.
2026-07-03 11:25:35 +02:00
Rūdolfs Ošiņš b99d656c81 Remove dead issue/patch list from detail views
The second column that displayed the sibling list was removed long ago,
so the issue/patch lists loaded into the detail views are never
rendered.
2026-07-03 11:25:16 +02:00
Rūdolfs Ošiņš f922e9415c Show "Up to date" only after a successful check
The settings footer showed "Up to date" whenever no new version was
known — including when the update checker was disabled or the version
fetch had silently failed. Derive an explicit upToDate state that is
only true when a check succeeded and found no newer version, so a
failed or disabled check no longer claims the app is current.
2026-06-10 16:03:38 +02:00
Rūdolfs Ošiņš b363fdb297 Bypass HTTP cache when checking for new versions
The version check fetched latest.json without any cache directive.
The server sends no Cache-Control header, so WebKit applied heuristic
caching (RFC 9111 4.2.2): the response is considered fresh for 10% of
the time since Last-Modified, which can be hours to days between
releases. Apps checking for updates right after a release were served
a stale latest.json from disk cache and concluded they were up to
date. Dev builds use a separate cache, which is why the bug only
appeared in release builds.

Fetch with cache: "no-store" so every check hits the server.
2026-06-10 16:02:38 +02:00
Rūdolfs Ošiņš a6d7d0c1e0 Cache job listings per commit 2026-06-04 18:04:33 +02:00
Rūdolfs Ošiņš a3b66593a5 Log invoke timing in dev builds 2026-06-04 18:04:33 +02:00
Rūdolfs Ošiņš 27f860fd77 Cache repo summaries for the sidebar 2026-06-04 18:04:33 +02:00
Rūdolfs Ošiņš efea7f1ab2 Add peer selector to repo source browsing
Introduce a peer/branch/tag selector in the repository source and commits
views, letting you browse the canonical refs or any peer's namespace.
2026-06-04 17:19:31 +02:00
Rūdolfs Ošiņš 50bd93e550 Dedupe job runs by runId to fix duplicate keys
The same run can appear under multiple job COBs at a commit, causing an
each_key_duplicate crash. Keep one view per runId, letting a terminal
status override a stale "started" one.
2026-05-29 17:15:04 +02:00
Rūdolfs Ošiņš 5c1efdeaa6 Show a placeholder when there is no commit message 2026-05-28 12:39:39 +02:00
Rūdolfs Ošiņš 6dc071a6ca Harden rendered markdown links 2026-05-22 11:32:34 +02:00
Rūdolfs Ošiņš 154d89851e Restrict job log links to http(s) URLs 2026-05-22 11:32:34 +02:00
Rūdolfs Ošiņš 270117ee7d Escape emoji character in twemoji alt attribute 2026-05-22 11:32:34 +02:00
Rūdolfs Ošiņš d79bbf3a4d Defer TextInput autofocus past portal move
Fixes autofocus in New Repo modal text input.
2026-05-21 17:58:02 +02:00
Rūdolfs Ošiņš 15763d7c6e Stop add-repo button from expanding All Repos 2026-05-21 17:58:02 +02:00
Rūdolfs Ošiņš fece6edc44 Revert to 100 items per repository in inbox 2026-05-21 17:32:46 +02:00
Rūdolfs Ošiņš 0c40670e2b Show JobCob on the single-commit view 2026-05-21 15:56:53 +02:00
Rūdolfs Ošiņš 1e2eb18e8c Redesign JobCob popover 2026-05-21 15:56:52 +02:00
Rūdolfs Ošiņš 38b04536f7 Center checkmark icon in viewBox 2026-05-20 16:34:36 +02:00
Rūdolfs Ošiņš 7ea1f580c8 Fix inbox show all and align group filters 2026-05-19 17:16:09 +02:00
Rūdolfs Ošiņš b76250ebca Fix regression where first revision wasn't editable 2026-05-18 15:11:00 +02:00
Rūdolfs Ošiņš ca50bfee93 Correctly substitute emojis with twemoji in notification teasers 2026-05-15 10:33:03 +02:00
Rūdolfs Ošiņš 7cc041e803 Add fuzzy filter to inbox
This allows to selectively clear items by combining filtering with the
delete all notifications buttons.
2026-05-14 17:38:04 +02:00
Rūdolfs Ošiņš f60f7aac95 Add custom context menu for sidebar items 2026-05-14 15:33:11 +02:00
Rūdolfs Ošiņš dfe668c2cc Add reload button to sidebar 2026-05-14 14:58:06 +02:00
Rūdolfs Ošiņš 67108bd443 Disable native context menu
Prevents the browser/webview default context menu app-wide, while
preserving it for text selections and editable fields where the
native menu is still useful.
2026-05-14 14:58:06 +02:00
Rūdolfs Ošiņš 22170c7256 Expand All Repos section when navigating to a repo
When we land on a repo via notification inbox the repository wouldn't be
visible if the section was collapsed. Now we expand it and scroll into
view so we see which repository we're browsing.
2026-05-14 09:28:28 +02:00
Rūdolfs Ošiņš 15955af7fd Replace @radicle/gray-matter with js-yaml frontmatter parser 2026-05-13 13:58:07 +02:00
Rūdolfs Ošiņš 8c2c6703d3 Bump zod 3 -> 4 2026-05-13 13:58:07 +02:00
Rūdolfs Ošiņš 3611241bb7 Bump eslint 9 -> 10 2026-05-13 13:58:07 +02:00
Rūdolfs Ošiņš 734cbc84b2 Bump eslint-plugin-simple-import-sort 12 -> 13 2026-05-13 13:58:07 +02:00
Rūdolfs Ošiņš ab0bbfb94a Bump svelte 5.28 -> 5.55 2026-05-13 13:58:07 +02:00
Rūdolfs Ošiņš be72541272 Bump eslint-plugin-svelte 3.5 -> 3.17 2026-05-13 13:58:07 +02:00
Rūdolfs Ošiņš 7e0f3a478f Bump prettier 3.5 -> 3.8 2026-05-13 12:31:36 +02:00
Rūdolfs Ošiņš 8a60f58ffc Allow patch authors to change the state of their patch 2026-05-12 12:00:04 +02:00
Rūdolfs Ošiņš 071504fda7 Add repo pinning 2026-05-12 09:40:53 +02:00
Brandon Oxendine c9a641da13 Use status-specific label for issue and patch breadcrumbs 2026-05-06 12:50:14 +02:00
Brandon Oxendine 62752f6357 Link patch breadcrumb to its current status filter 2026-05-06 12:49:51 +02:00
Brandon OxendineandRūdolfs Ošiņš ec49ecbd36 Start review from code-comment on revision diff
Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-04-30 16:49:41 +02:00
Brandon Oxendine 0e9f99c04f Indent replies into individual boxes 2026-04-30 12:10:52 +02:00
Brandon Oxendine 783ac6bf74 Polish comment form footer 2026-04-30 12:10:51 +02:00