list_issues previously read through heartwood's id-ordered issue cache,
forcing it to load and sort every issue in memory on each page. Mirror
the patch path instead: a domain/issue Service backed by an IssueStorage
adapter that queries the issues table directly.
- 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
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
This commit allows us to e.g. convert the Set of DIDs we obtain from
assignee actions on cobs into a Set of Authors with their Aliases.
Also it introduces the `FromRadicleAction` trait which can be
implemented for any type of enum we get from the `radicle` create to
convert into a type which is better suited for us.
Removes also any calling the `alias` command in the `PatchTimeline` or
`IssueTimeline` since we already get the alias from the backend the
first time now.
So far we only supported issue operations on the `activity_by_id`
command.
With this commit we separate the commands into a `activity_by_issue` and
`activity_by_patch` command that calls a generic `activity_by_id` trait
implementation.
`Operation` now takes as a generic either `cob/issue/Action.ts` or
`cob/patch/Action.ts`.
Also `Operation` now stores the array of all `Action` that happened on
said operation. I'm not entirely sure if this will help us in the
future, but it represents more closely the state of the relation between
an `Operation` and the cob `Actions`.
Instead of only returning seeded repos, this repo adds 3 new filter
options to the `list_repos` command, under the `show` field
- *all* - All repos that a user has initialized or forked (own
namespace)
- *seeded* - Repos that are beeing seeded by the user
- *delegate* - Repos that the current user is a delegate of.