Commit Graph
49 Commits
Author SHA1 Message Date
Rūdolfs Ošiņš b0a519d1c5 Mirror every Tauri command in test-http-api
Several commands had no route or returned stubs, so e2e tests silently got
null or empty data. A missing route now fails loudly, the profile loads on
first use so onboarding works, and node status is polled over HTTP. A
parity test keeps the routes from drifting from the Tauri handlers again;
it also caught revisions_by_patch being registered twice.
2026-10-01 18:16:29 +02:00
Brandon Oxendine ca80f13631 Disable Back and Forward when they lead nowhere
Fixes f18b808b76f9528e406f53f70221e1a39b4664c8
2026-09-29 16:34:31 +02:00
Rūdolfs Ošiņš 3c13166776 Centralise keyboard shortcuts in a registry
A single catalog in lib/shortcuts defines every shortcut's keys and
description. Components bind behaviour to it by id for as long as they
are mounted, and one listener applies the shared rules for text fields,
modals, priority and cycling. The shortcuts modal lists the catalog.
2026-09-25 13:02:38 +02:00
Brandon OxendineandRūdolfs Ošiņš 1f38339c9f Add keyboard shortcuts
Add a shortcuts modal `?` and app-wide shortcuts:

- Cmd+F: sidebar repo filter, pressed again: list search
- Cmd+N: new issue, anywhere in a repo
- Cmd+1…9: jump to the nth sidebar repo; holding Cmd shows
  the numbers on the repo avatars
- Cmd+[ / Cmd+] (Alt+Left / Alt+Right elsewhere): back and forward
- Cmd+R: reload, skipped while typing or in a modal with a text field

Global shortcuts are ignored while typing in an input and, except
for `?`, while a modal is open.

Co-Authored-By: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-09-25 13:02:38 +02:00
Brandon OxendineandRūdolfs Ošiņš 54835363a9 Add a repository identity document view
Adds a read-only page for a repository's identity document. It shows the
current document together with its full revision history. The data and
wording follow heartwood and the rad id / rad inspect CLI.

Co-Authored-By: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-09-24 17:04:54 +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
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
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
Rūdolfs OšiņšandJulien Donck 65c453e37d Add commit history list and single commit views
Co-authored-by: Julien Donck <donckjulien@gmail.com>
2026-04-27 18:00:14 +02:00
Rūdolfs Ošiņš 99996f168e Rename radicle.xyz -> radicle.dev and app.radicle.xyz -> radicle.network 2026-04-27 11:26:17 +02:00
Rūdolfs Ošiņš 08ff53c84e Fix app loading indicator 2026-03-23 22:53:07 -06:00
Rūdolfs Ošiņš 7b396ff72d Persist sidebar across navigations to preserve scroll position
Move AppSidebar out of per-route view components into App.svelte so it
is never unmounted on navigation. This fixes the sidebar scroll position
resetting to the top whenever the user opens a repository or navigates
between Issues, Patches and the repo home view.

Also removes the redundant invoke<Config>("config") call from each repo
route loader — the value is now taken from sidebarData.config, which
loadSidebarData() already fetches.
2026-03-23 22:51:59 -06: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 c8b0861662 Remove unused event listeners 2025-06-18 16:24:07 +02:00
Sebastian Martinez 8e683cf7ce Provide a full window error if something goes wrong 2025-06-06 15:22:08 +02:00
Sebastian Martinez d68a06c33a Show a spinner if startup takes more than 1 sec 2025-06-06 15:22:08 +02:00
Rūdolfs Ošiņš 71069ef19e Move inbox to a global popover 2025-05-20 15:46:00 +02:00
Rūdolfs Ošiņš bb38192b7e Implement repo home page
- by default open repos on the home view
- show a rendered README on the repo home page
- show repo metadata: visibility, canonical branch, threshold, delegates
  and allow list with aliases
- make layout responsive on repo home
- add copy button to code blocks in markdown
2025-05-06 10:11:01 +02:00
Sebastian Martinez 5232b85e12 Adjust font size 2025-04-17 13:53:38 +02:00
Sebastian Martinez efe3c51d05 Add identity and repo creation flow 2025-03-18 23:01:07 +01:00
Sebastian Martinez 738e7f4fb4 Remove AuthenticationError component 2025-03-18 21:21:02 +01:00
Sebastian Martinez e82e333cc5 Refactor the tauri setup hook into individual commands
This allows us for onboarding to e.g. fail if there is no profile around
and guide new users through identity creation.

Also it makes the tauri run function easier to understand
2025-02-20 09:06:35 +01:00
Sebastian Martinez 365674bc58 Provide a sync_status store
The `sync_status` would update every 10 seconds with the latest state of
all repos, to be displayed in the repo where needed.
2025-02-10 11:55:14 -06:00
Sebastian Martinez d5632ed534 Add global inbox 2025-01-23 22:28:00 +01:00
Sebastian Martinez f23206b83d Instrument authentication for e2e tests 2024-11-21 10:29:14 +01:00
Sebastian Martinez ac550e0602 Remove unused console.logs 2024-11-20 12:16:43 +01:00
Rūdolfs Ošiņš 982ce568b7 Check auth status periodically 2024-11-19 17:15:00 +01:00
Sebastian Martinez 58891de06f Add svelte runes 2024-11-05 10:54:09 +01:00
Sebastian Martinez d90dc0735c Add test-http-api crate to make app work in browser
A new `invoke` function calls either the tauri backend or the
`test-http-api` function if ran in a browser.
2024-10-28 13:56:23 +01:00
Rūdolfs Ošiņš e5f90e20b8 Add create issue view 2024-10-08 11:27:44 +02:00
Sebastian Martinez 4d81bf53be Await event listeners and unlisten on unmount 2024-10-01 18:24:18 +02:00
Rūdolfs Ošiņš ea9a425cf0 Add single patch route 2024-09-27 16:59:16 +02:00
Rūdolfs Ošiņš 6b8cb91567 Add single issue view 2024-09-25 17:31:57 +02:00
Sebastian Martinez 8731506b94 Improve the event threads in the backend 2024-09-18 17:37:40 +02:00
Rūdolfs Ošiņš 58f2ec2f51 Hook up the online/offline button to the new events 2024-09-18 12:59:17 +02:00
Sebastian Martinez ff6b7aa5dc Add ability to listen to node events from the frontend 2024-09-18 12:25:28 +02:00
Rūdolfs Ošiņš f09253f631 Add repo issues and patches routes 2024-09-10 11:13:45 +02:00
Sebastian Martinez 0f5d13da7e Remove double navigation on app load
We where navigating to the `home` route twice on load.

Once with `router.loadFromLocation` and then during `onMount` with
`navigate("home")` which triggered the repo listing twice.
2024-09-06 14:51:11 +02:00
Rūdolfs Ošiņš 5b33e1ecd5 Remove design system
It was only a placeholder until we get some content.
2024-09-05 13:42:39 +02:00
Rūdolfs Ošiņš 3d9e614ea3 Allow opening the app in a browser
For development purposes it's convenient to be able to open the app in
Chrome. To do this we skip invoking internal Tauri commands.
2024-09-05 12:37:46 +02:00
Sebastian Martinez b6711a5698 Add list_repo and config commands 2024-09-05 12:37:00 +02:00
Rūdolfs Ošiņš 8179ed0f3e Add our own router 2024-09-03 16:30:12 +02:00
Rūdolfs Ošiņš bb68d6c577 Add theme switch to the header 2024-08-28 14:39:51 +02:00
Rūdolfs Ošiņš dd3bead7e1 Add a basic design system
This adds some design primitives like pixelated borders and buttons.
2024-08-28 14:26:15 +02:00
Sebastian Martinez 761c59e4e4 Add Header component and required components 2024-08-28 10:54:12 +02:00
Sebastian Martinez a03a0aef3a Create a splashscreen that makes sure that the requirements are met 2024-08-28 10:50:09 +02:00
Sebastian Martinez eaee2a9e6a Remove unused template code 2024-08-28 10:50:08 +02:00
Sebastian Martinez 188bcd4d9c Change from SvelteKit to Svelte 2024-07-24 14:00:12 -03:00