Rūdolfs Ošiņš
2f283f1047
Open rad: links in the app
2026-10-05 17:37:03 +02:00
Brandon Oxendine and Rūdolfs Ošiņš
91ab693b4b
Link Radicle entities from comments
...
References are picked or pasted in the composer, stored as `rad:` URIs
with a readable label, and shown as chips or links that open in-app when
the entity is here.
Co-Authored-By: Rūdolfs Ošiņš <rudolfs@osins.org >
2026-10-05 17:29:02 +02:00
Rūdolfs Ošiņš
990e51c38e
Add a library for RIP 4 rad: URIs
...
The desktop and radicle-explorer render the same comment text, so they
have to agree on what a reference means.
2026-10-05 17:29:02 +02:00
Rūdolfs Ošiņš
731c552661
Add unit tests for the lib modules
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
92e866f7b8
Move sidebar resize math into lib
...
The first press no longer pairs with an imaginary one at time zero.
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
f0d4d678aa
Focus the last menu item on ArrowUp
...
With nothing focused yet, ArrowUp landed on the second to last item.
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
08057ba962
Move context menu key navigation into lib
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
9a023b625c
Move identity state labels into lib
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
a1c3622f05
Move input validation into lib
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
71c31e234c
Move commit co-author credits into lib
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
6cf4d6010f
Move notification teaser helpers into lib
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
05b6e01dc8
Set the dock badge in one place
...
The sidebar already follows the count, so the inbox and the poll don't need to set it too.
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
7a42679bdf
Share the list search
...
Issues, patches, commits and the peer selector each had their own
debounce, and issues and patches the same search index. Vitest now
resolves Svelte's browser build, as effects never run in the server one.
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
2c81138871
Share verdict labels with the draft review bar
2026-10-01 18:20:25 +02:00
Rūdolfs Ošiņš
cbb21e7513
Move diff annotation helpers into lib
...
The snippet and the code thread had their own copies.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
7d2081a8aa
Move ref sorting out of the peer selector
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
520ffe3d19
Name embeds dropped from Windows paths correctly
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
7a6c88f847
Share one embed upload path in the textarea
...
Drag-drop, attach and paste each had their own copy. Every upload now
shows its own placeholder instead of overwriting the previous one.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
bda26136c9
Share repo ordering between the sidebar and the inbox
...
Both toggled pins and ordered pinned repos with their own copies.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
ceeab4e2c6
Share which commits each revision adds
...
Patch and Revision each computed it with their own copy of the loop.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
9ff5529c9f
Move revision description helpers into lib
...
The commit-list check was written twice, and revision titles and the
commit group collapse rule were untested inside components.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
c7387ac540
Keep asterisks between spaces in comment previews
...
"2 * 3 * 4" read as emphasis and lost its asterisks. Markdown doesn't
treat a marker with a space just inside it as emphasis.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
f6a23e0b0f
Move comment preview text into lib
...
The regex-heavy markdown stripping was untested in the component.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
a15a20393c
Move commit day grouping into lib
...
Today/Yesterday labels and grouping by day had date edge cases that
nothing tested.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
f267d3d16f
Move comment and commit stepping into lib
...
The order the stepper walks comments in and its wraparound index math
were untested, and ReviewPage ordered its file groups with its own copy.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
6e1176ffcf
Move discussion timeline grouping into lib
...
The rules for grouping a person's consecutive activity and when to repeat
their name lived in an untested loop in the component.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
ca3b059a62
Move CI job grouping into lib
...
The status chip's grouping, dedupe and summary rules were untested inside
the component, and a wrong CI status is very visible.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
974235b1fe
Share comment thread building between patch views
...
Revision and ReviewPage built threads and checked who may resolve a
comment with their own near-identical copies.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
a43031ad70
Show assignee changes correctly in timelines
...
Assignees were compared by object identity, and each action carries its
own copies, so every change listed everyone as both removed and added.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
5887220ec7
Move issue and patch timeline building into lib
...
Both views built their activity feed inline, with the shared part written
twice. It now lives in tested modules.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
89131f3b3a
Keep every review comment in inbox summaries
...
Notification actions were deduplicated by operation and type, so the
several code comments of one published review collapsed into one.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
5b3bc10a06
Check bare RIDs against already seeded repos
...
The seed form accepts a RID without the rad: prefix but compared it as
typed against lists that have the prefix, so duplicates got through.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
56e495ba8d
Add unit tests for patch review logic and draft storage
...
Code review is the app's core workflow and had almost no coverage. A
mutation run checked that each test fails when the logic it covers breaks.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
c4dcb61675
Stop the timer when resetting a dynamic interval
...
Resetting only forgot the key, so the pending timeout still fired and
rescheduled itself: the sidebar kept reloading repos every 5 seconds
after nothing was left to replicate, and after it unmounted.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
be0c2a424b
Don't throw on empty or invalid frontmatter
...
Since js-yaml 5 an empty or comment-only block throws instead of returning
undefined, as does invalid YAML. Markdown renders the content from the
same parse, so one such block made the whole document fail to render.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
17e7a29cb9
Treat RIDs with non-base58 characters as invalid
...
parseRepositoryId threw instead of returning undefined, so the seed form
crashed on a typo instead of saying the RID is invalid.
2026-10-01 18:20:24 +02:00
Rūdolfs Ošiņš
a99631e611
Add unit tests for the router, utils and caches
...
Covers the pure modules the rest of the app builds on, starting with the cheapest layer of the testing strategy.
2026-10-01 10:20:19 +02:00
Brandon Oxendine
407a8d0c6e
Add markdown shortcuts to textareas
...
Closes: 7bdaa5ad647da241830ff463f03f730dce3bba67
2026-09-29 15:24:55 +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
62e150c29a
Rebuild the patch page, review UI, and activity timeline
2026-08-10 12:54:39 +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ņš
010cac0377
Redesign app with new UI kit
...
Redesign the entire app with a new UI kit. Typography, colors, icons,
avatars, and border radii have all been updated for a more polished,
consistent appearance that matches our other products like
radicle-explorer.
- Replace blockies-based avatars with a new DID-based avatar system
- Move Settings and Create Issue into fullscreen modals
- Change the default theme to follow the system theme
- Remove window decorations on macOS for a cleaner, more native feel
- Update the app icon
- Fix popovers and tooltips
Navigation:
- Rewrite app navigation and layouts
- Add a sidebar that gives you access to all your repos
- Change the startup screen to open directly to the notification inbox
- Add a getting started guide shown to new users on first launch
Settings:
- Add a setting to disable the notification badge
- Add a code font setting
Bug fixes:
- Fix reactions and edits incorrectly targeting the root comment
instead of the intended reply
- Restrict issue/patch state, labels and assignees to delegates only
2026-03-20 17:48:38 -06:00
Sebastian Martinez
2f801b9940
Add eslint-plugin-simple-import-sort to sort and group imports
2025-07-03 15:46:18 +02:00
Sebastian Martinez
d5632ed534
Add global inbox
2025-01-23 22:28:00 +01:00