From 983fff900694cca6fc2702d314096f2ed13b4f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C5=ABdolfs=20O=C5=A1i=C5=86=C5=A1?= Date: Mon, 12 Oct 2026 08:41:12 +0200 Subject: [PATCH] Move everything into `desktop/` In preparation for merging radicle-desktop into radicle-gui. It's a pure rename, so git can follow every file across the move. --- {.cargo => desktop/.cargo}/audit.toml | 0 .dockerignore => desktop/.dockerignore | 0 .envrc => desktop/.envrc | 0 {.github => desktop/.github}/workflows/e2e.yaml | 0 {.github => desktop/.github}/workflows/lint.yaml | 0 .../.github}/workflows/unit-test.yaml | 0 .gitignore => desktop/.gitignore | 0 .npmrc => desktop/.npmrc | 0 .nvmrc => desktop/.nvmrc | 0 .prettierignore => desktop/.prettierignore | 0 .prettierrc => desktop/.prettierrc | 0 {.ryph => desktop/.ryph}/Dockerfile | 0 {.ryph => desktop/.ryph}/environment.md | 0 {.ryph => desktop/.ryph}/setup.yml | 0 CHANGELOG.md => desktop/CHANGELOG.md | 0 CLAUDE.md => desktop/CLAUDE.md | 0 Cargo.lock => desktop/Cargo.lock | 0 Cargo.toml => desktop/Cargo.toml | 0 Dockerfile.release => desktop/Dockerfile.release | 0 LICENSE => desktop/LICENSE | 0 README.md => desktop/README.md | 0 cooldown.toml => desktop/cooldown.toml | 0 {crates => desktop/crates}/radicle-tauri/.gitignore | 0 {crates => desktop/crates}/radicle-tauri/Cargo.toml | 0 {crates => desktop/crates}/radicle-tauri/build.rs | 0 .../crates}/radicle-tauri/capabilities/default.json | 0 .../crates}/radicle-tauri/icons/128x128.png | Bin .../crates}/radicle-tauri/icons/128x128@2x.png | Bin .../crates}/radicle-tauri/icons/16x16.png | Bin .../crates}/radicle-tauri/icons/16x16@2x.png | Bin .../crates}/radicle-tauri/icons/24x24.png | Bin .../crates}/radicle-tauri/icons/256x256.png | Bin .../crates}/radicle-tauri/icons/256x256@2x.png | Bin .../crates}/radicle-tauri/icons/32x32.png | Bin .../crates}/radicle-tauri/icons/32x32@2x.png | Bin .../crates}/radicle-tauri/icons/48x48.png | Bin .../crates}/radicle-tauri/icons/512x512.png | Bin .../crates}/radicle-tauri/icons/512x512@2x.png | Bin .../crates}/radicle-tauri/icons/64x64.png | Bin .../radicle-tauri/icons/Square107x107Logo.png | Bin .../radicle-tauri/icons/Square142x142Logo.png | Bin .../radicle-tauri/icons/Square150x150Logo.png | Bin .../radicle-tauri/icons/Square284x284Logo.png | Bin .../crates}/radicle-tauri/icons/Square30x30Logo.png | Bin .../radicle-tauri/icons/Square310x310Logo.png | Bin .../crates}/radicle-tauri/icons/Square44x44Logo.png | Bin .../crates}/radicle-tauri/icons/Square71x71Logo.png | Bin .../crates}/radicle-tauri/icons/Square89x89Logo.png | Bin .../crates}/radicle-tauri/icons/StoreLogo.png | Bin .../icons/android/mipmap-hdpi/ic_launcher.png | Bin .../android/mipmap-hdpi/ic_launcher_foreground.png | Bin .../icons/android/mipmap-hdpi/ic_launcher_round.png | Bin .../icons/android/mipmap-mdpi/ic_launcher.png | Bin .../android/mipmap-mdpi/ic_launcher_foreground.png | Bin .../icons/android/mipmap-mdpi/ic_launcher_round.png | Bin .../icons/android/mipmap-xhdpi/ic_launcher.png | Bin .../android/mipmap-xhdpi/ic_launcher_foreground.png | Bin .../android/mipmap-xhdpi/ic_launcher_round.png | Bin .../icons/android/mipmap-xxhdpi/ic_launcher.png | Bin .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin .../android/mipmap-xxhdpi/ic_launcher_round.png | Bin .../icons/android/mipmap-xxxhdpi/ic_launcher.png | Bin .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin .../android/mipmap-xxxhdpi/ic_launcher_round.png | Bin .../crates}/radicle-tauri/icons/icon.icns | Bin .../crates}/radicle-tauri/icons/icon.ico | Bin .../crates}/radicle-tauri/icons/icon.png | Bin .../radicle-tauri/icons/ios/AppIcon-20x20@1x.png | Bin .../radicle-tauri/icons/ios/AppIcon-20x20@2x-1.png | Bin .../radicle-tauri/icons/ios/AppIcon-20x20@2x.png | Bin .../radicle-tauri/icons/ios/AppIcon-20x20@3x.png | Bin .../radicle-tauri/icons/ios/AppIcon-29x29@1x.png | Bin .../radicle-tauri/icons/ios/AppIcon-29x29@2x-1.png | Bin .../radicle-tauri/icons/ios/AppIcon-29x29@2x.png | Bin .../radicle-tauri/icons/ios/AppIcon-29x29@3x.png | Bin .../radicle-tauri/icons/ios/AppIcon-40x40@1x.png | Bin .../radicle-tauri/icons/ios/AppIcon-40x40@2x-1.png | Bin .../radicle-tauri/icons/ios/AppIcon-40x40@2x.png | Bin .../radicle-tauri/icons/ios/AppIcon-40x40@3x.png | Bin .../radicle-tauri/icons/ios/AppIcon-512@2x.png | Bin .../radicle-tauri/icons/ios/AppIcon-60x60@2x.png | Bin .../radicle-tauri/icons/ios/AppIcon-60x60@3x.png | Bin .../radicle-tauri/icons/ios/AppIcon-76x76@1x.png | Bin .../radicle-tauri/icons/ios/AppIcon-76x76@2x.png | Bin .../icons/ios/AppIcon-83.5x83.5@2x.png | Bin .../crates}/radicle-tauri/main.desktop | 0 .../crates}/radicle-tauri/src/commands.rs | 0 .../crates}/radicle-tauri/src/commands/auth.rs | 0 .../crates}/radicle-tauri/src/commands/cob.rs | 0 .../crates}/radicle-tauri/src/commands/cob/issue.rs | 0 .../crates}/radicle-tauri/src/commands/cob/job.rs | 0 .../crates}/radicle-tauri/src/commands/cob/patch.rs | 0 .../radicle-tauri/src/commands/cob/release.rs | 0 .../crates}/radicle-tauri/src/commands/diff.rs | 0 .../crates}/radicle-tauri/src/commands/identity.rs | 0 .../crates}/radicle-tauri/src/commands/inbox.rs | 0 .../crates}/radicle-tauri/src/commands/profile.rs | 0 .../crates}/radicle-tauri/src/commands/repo.rs | 0 .../crates}/radicle-tauri/src/commands/startup.rs | 0 .../crates}/radicle-tauri/src/commands/thread.rs | 0 {crates => desktop/crates}/radicle-tauri/src/lib.rs | 0 .../crates}/radicle-tauri/src/main.rs | 0 .../crates}/radicle-tauri/tauri.conf.json | 0 .../crates}/radicle-tauri/tauri.linux.conf.json | 0 {crates => desktop/crates}/radicle-types/Cargo.toml | 0 .../bindings/artifact/ArtifactBinaries.ts | 0 .../bindings/artifact/ArtifactNodeStatus.ts | 0 .../bindings/artifact/ArtifactProgress.ts | 0 .../radicle-types/bindings/artifact/RelayHealth.ts | 0 .../radicle-types/bindings/cob/AliasSuggestion.ts | 0 .../crates}/radicle-types/bindings/cob/Author.ts | 0 .../radicle-types/bindings/cob/CacheEvent.ts | 0 .../radicle-types/bindings/cob/CobOptions.ts | 0 .../radicle-types/bindings/cob/DiffOptions.ts | 0 .../crates}/radicle-types/bindings/cob/Never.ts | 0 .../crates}/radicle-types/bindings/cob/Operation.ts | 0 .../radicle-types/bindings/cob/PaginatedQuery.ts | 0 .../crates}/radicle-types/bindings/cob/Reaction.ts | 0 .../bindings/cob/inbox/ActionWithAuthor.ts | 0 .../radicle-types/bindings/cob/inbox/Issue.ts | 0 .../bindings/cob/inbox/NotificationCount.ts | 0 .../bindings/cob/inbox/NotificationItem.ts | 0 .../bindings/cob/inbox/NotificationsByRepo.ts | 0 .../radicle-types/bindings/cob/inbox/Patch.ts | 0 .../radicle-types/bindings/cob/inbox/RefUpdate.ts | 0 .../bindings/cob/inbox/SetStatusNotifications.ts | 0 .../radicle-types/bindings/cob/inbox/TypedId.ts | 0 .../radicle-types/bindings/cob/issue/Action.ts | 0 .../radicle-types/bindings/cob/issue/CloseReason.ts | 0 .../radicle-types/bindings/cob/issue/Issue.ts | 0 .../radicle-types/bindings/cob/issue/NewIssue.ts | 0 .../radicle-types/bindings/cob/issue/State.ts | 0 .../radicle-types/bindings/cob/patch/Action.ts | 0 .../bindings/cob/patch/CreateReviewArgs.ts | 0 .../radicle-types/bindings/cob/patch/Edit.ts | 0 .../radicle-types/bindings/cob/patch/Patch.ts | 0 .../radicle-types/bindings/cob/patch/PatchCounts.ts | 0 .../radicle-types/bindings/cob/patch/Review.ts | 0 .../radicle-types/bindings/cob/patch/ReviewInit.ts | 0 .../radicle-types/bindings/cob/patch/Reviewer.ts | 0 .../radicle-types/bindings/cob/patch/Revision.ts | 0 .../radicle-types/bindings/cob/patch/State.ts | 0 .../radicle-types/bindings/cob/patch/Verdict.ts | 0 .../radicle-types/bindings/cob/release/Artifact.ts | 0 .../bindings/cob/release/ArtifactDigest.ts | 0 .../radicle-types/bindings/cob/release/Location.ts | 0 .../radicle-types/bindings/cob/release/Redaction.ts | 0 .../radicle-types/bindings/cob/release/Release.ts | 0 .../bindings/cob/release/ReleaseCounts.ts | 0 .../bindings/cob/release/ReleaseFilter.ts | 0 .../bindings/cob/release/ReleaseScope.ts | 0 .../bindings/cob/thread/CodeLocation.ts | 0 .../radicle-types/bindings/cob/thread/CodeRange.ts | 0 .../radicle-types/bindings/cob/thread/Comment.ts | 0 .../bindings/cob/thread/CreateReviewComment.ts | 0 .../radicle-types/bindings/cob/thread/Embed.ts | 0 .../bindings/cob/thread/NewIssueComment.ts | 0 .../bindings/cob/thread/NewPatchComment.ts | 0 .../radicle-types/bindings/cob/thread/Thread.ts | 0 .../crates}/radicle-types/bindings/config/Config.ts | 0 .../radicle-types/bindings/config/GitInfo.ts | 0 .../crates}/radicle-types/bindings/diff/Added.ts | 0 .../crates}/radicle-types/bindings/diff/Copied.ts | 0 .../crates}/radicle-types/bindings/diff/Deleted.ts | 0 .../crates}/radicle-types/bindings/diff/Diff.ts | 0 .../radicle-types/bindings/diff/DiffContent.ts | 0 .../crates}/radicle-types/bindings/diff/FileDiff.ts | 0 .../radicle-types/bindings/diff/FileStats.ts | 0 .../crates}/radicle-types/bindings/diff/Modified.ts | 0 .../crates}/radicle-types/bindings/diff/Moved.ts | 0 .../crates}/radicle-types/bindings/diff/Stats.ts | 0 .../radicle-types/bindings/error/ErrorWrapper.ts | 0 .../radicle-types/bindings/identity/Allowed.ts | 0 .../bindings/identity/CanonicalRefRule.ts | 0 .../radicle-types/bindings/identity/Change.ts | 0 .../crates}/radicle-types/bindings/identity/Doc.ts | 0 .../radicle-types/bindings/identity/Identity.ts | 0 .../bindings/identity/PayloadOperation.ts | 0 .../radicle-types/bindings/identity/Project.ts | 0 .../bindings/identity/RejectedReason.ts | 0 .../radicle-types/bindings/identity/Revision.ts | 0 .../radicle-types/bindings/identity/State.ts | 0 .../radicle-types/bindings/repo/Canonical.ts | 0 .../crates}/radicle-types/bindings/repo/Commit.ts | 0 .../crates}/radicle-types/bindings/repo/Job.ts | 0 .../radicle-types/bindings/repo/ProjectPayload.ts | 0 .../bindings/repo/ProjectPayloadData.ts | 0 .../bindings/repo/ProjectPayloadMeta.ts | 0 .../crates}/radicle-types/bindings/repo/Readme.ts | 0 .../crates}/radicle-types/bindings/repo/Remote.ts | 0 .../radicle-types/bindings/repo/RepoCount.ts | 0 .../crates}/radicle-types/bindings/repo/RepoInfo.ts | 0 .../crates}/radicle-types/bindings/repo/RepoRefs.ts | 0 .../radicle-types/bindings/repo/RepoSummary.ts | 0 .../crates}/radicle-types/bindings/repo/Run.ts | 0 .../crates}/radicle-types/bindings/repo/Status.ts | 0 .../bindings/repo/SupportedPayloads.ts | 0 .../radicle-types/bindings/repo/SyncStatus.ts | 0 .../crates}/radicle-types/bindings/repo/SyncedAt.ts | 0 .../crates}/radicle-types/bindings/repo/Tag.ts | 0 .../crates}/radicle-types/bindings/repo/Tagger.ts | 0 .../crates}/radicle-types/bindings/repo/TreePath.ts | 0 .../radicle-types/bindings/repo/Visibility.ts | 0 .../crates}/radicle-types/bindings/source/Blob.ts | 0 .../crates}/radicle-types/bindings/source/Commit.ts | 0 .../crates}/radicle-types/bindings/source/Entry.ts | 0 .../radicle-types/bindings/source/EntryKind.ts | 0 .../crates}/radicle-types/bindings/source/Tree.ts | 0 .../crates}/radicle-types/src/artifact.rs | 0 .../crates}/radicle-types/src/auth.rs | 0 .../crates}/radicle-types/src/binaries.rs | 0 .../crates}/radicle-types/src/cobs.rs | 0 .../crates}/radicle-types/src/cobs/diff.rs | 0 .../crates}/radicle-types/src/cobs/issue.rs | 0 .../crates}/radicle-types/src/cobs/job.rs | 0 .../crates}/radicle-types/src/cobs/release.rs | 0 .../crates}/radicle-types/src/cobs/repo.rs | 0 .../crates}/radicle-types/src/cobs/stream.rs | 0 .../crates}/radicle-types/src/cobs/stream/error.rs | 0 .../crates}/radicle-types/src/cobs/stream/iter.rs | 0 .../crates}/radicle-types/src/cobs/thread.rs | 0 .../crates}/radicle-types/src/config.rs | 0 .../crates}/radicle-types/src/diff.rs | 0 .../crates}/radicle-types/src/domain.rs | 0 .../crates}/radicle-types/src/domain/inbox.rs | 0 .../radicle-types/src/domain/inbox/models.rs | 0 .../src/domain/inbox/models/notification.rs | 0 .../radicle-types/src/domain/inbox/service.rs | 0 .../radicle-types/src/domain/inbox/traits.rs | 0 .../crates}/radicle-types/src/domain/issue.rs | 0 .../radicle-types/src/domain/issue/models.rs | 0 .../radicle-types/src/domain/issue/models/issue.rs | 0 .../radicle-types/src/domain/issue/service.rs | 0 .../radicle-types/src/domain/issue/traits.rs | 0 .../crates}/radicle-types/src/domain/patch.rs | 0 .../radicle-types/src/domain/patch/models.rs | 0 .../radicle-types/src/domain/patch/models/patch.rs | 0 .../radicle-types/src/domain/patch/service.rs | 0 .../radicle-types/src/domain/patch/traits.rs | 0 .../crates}/radicle-types/src/error.rs | 0 .../crates}/radicle-types/src/identity.rs | 0 {crates => desktop/crates}/radicle-types/src/lib.rs | 0 .../crates}/radicle-types/src/outbound.rs | 0 .../crates}/radicle-types/src/outbound/sqlite.rs | 0 .../crates}/radicle-types/src/repo.rs | 0 .../crates}/radicle-types/src/source.rs | 0 .../crates}/radicle-types/src/source/blob.rs | 0 .../crates}/radicle-types/src/source/commit.rs | 0 .../crates}/radicle-types/src/source/tree.rs | 0 .../crates}/radicle-types/src/test.rs | 0 .../crates}/radicle-types/src/traits.rs | 0 .../radicle-types/src/traits/artifact_node.rs | 0 .../crates}/radicle-types/src/traits/cobs.rs | 0 .../crates}/radicle-types/src/traits/identity.rs | 0 .../crates}/radicle-types/src/traits/inbox.rs | 0 .../crates}/radicle-types/src/traits/issue.rs | 0 .../crates}/radicle-types/src/traits/job.rs | 0 .../crates}/radicle-types/src/traits/patch.rs | 0 .../crates}/radicle-types/src/traits/release.rs | 0 .../crates}/radicle-types/src/traits/release_mut.rs | 0 .../crates}/radicle-types/src/traits/repo.rs | 0 .../crates}/radicle-types/src/traits/thread.rs | 0 {crates => desktop/crates}/test-http-api/Cargo.toml | 0 {crates => desktop/crates}/test-http-api/build.rs | 0 {crates => desktop/crates}/test-http-api/src/api.rs | 0 {crates => desktop/crates}/test-http-api/src/lib.rs | 0 .../crates}/test-http-api/src/main.rs | 0 .../crates}/test-http-api/tests/keep_alive.rs | 0 .../crates}/test-http-api/tests/parity.rs | 0 {docs => desktop/docs}/adr/0001-testing-strategy.md | 0 .../docs}/adr/0002-backend-architecture.md | 0 .../docs}/adr/0003-radicle-references.md | 0 .../adr/0004-untrusted-releases-and-artifacts.md | 0 {docs => desktop/docs}/testing-checklist.md | 0 eslint.config.js => desktop/eslint.config.js | 0 flake.lock => desktop/flake.lock | 0 flake.nix => desktop/flake.nix | 0 index.html => desktop/index.html | 0 {isolation => desktop/isolation}/index.html | 0 {isolation => desktop/isolation}/index.js | 0 {nix => desktop/nix}/radicle-desktop.nix | 0 package-lock.json => desktop/package-lock.json | 0 package.json => desktop/package.json | 0 .../playwright.config.ts | 0 {public => desktop/public}/colors.css | 0 {public => desktop/public}/flower.png | Bin .../public}/fonts/Booton-Medium.woff2 | Bin .../public}/fonts/Booton-Regular.woff2 | Bin .../public}/fonts/Booton-SemiBold.woff2 | Bin .../public}/fonts/JetBrainsMono-Bold.woff2 | Bin .../public}/fonts/JetBrainsMono-Medium.woff2 | Bin .../public}/fonts/JetBrainsMono-Regular.woff2 | Bin .../public}/fonts/JetBrainsMono-SemiBold.woff2 | Bin {public => desktop/public}/index.css | 0 {public => desktop/public}/prettylights.css | 0 {public => desktop/public}/radicle.svg | 0 {public => desktop/public}/twemoji/.gitkeep | 0 {public => desktop/public}/typography.css | 0 rust-toolchain.toml => desktop/rust-toolchain.toml | 0 {scripts => desktop/scripts}/appimage-build | 0 {scripts => desktop/scripts}/build-artifacts | 0 {scripts => desktop/scripts}/check-ci | 0 {scripts => desktop/scripts}/check-js | 0 {scripts => desktop/scripts}/check-rs | 0 {scripts => desktop/scripts}/copy-katex-assets | 0 {scripts => desktop/scripts}/install-binaries | 0 {scripts => desktop/scripts}/install-twemoji-assets | 0 {scripts => desktop/scripts}/release | 0 {src => desktop/src}/App.svelte | 0 .../src}/components/AddRepoButton.svelte | 0 .../src}/components/AnnounceSwitch.svelte | 0 {src => desktop/src}/components/AppSidebar.svelte | 0 .../src}/components/ArtifactDownloadButton.svelte | 0 .../src}/components/ArtifactNodeStatusButton.svelte | 0 {src => desktop/src}/components/ArtifactRow.svelte | 0 {src => desktop/src}/components/Asciidoc.svelte | 0 .../src}/components/AssigneeInput.svelte | 0 .../src}/components/BadgeCounterSwitch.svelte | 0 {src => desktop/src}/components/Button.svelte | 0 {src => desktop/src}/components/Changes.svelte | 0 {src => desktop/src}/components/Checkbox.svelte | 0 .../src}/components/CheckoutPatchButton.svelte | 0 .../src}/components/CheckoutRepoButton.svelte | 0 {src => desktop/src}/components/Clipboard.svelte | 0 .../src}/components/CobCacheWarning.svelte | 0 .../src}/components/CobCommitTeaser.svelte | 0 .../src}/components/CodeFontSwitch.svelte | 0 {src => desktop/src}/components/Command.svelte | 0 {src => desktop/src}/components/Comment.svelte | 0 .../src}/components/CommentAnnotation.svelte | 0 .../src}/components/CommentToggleInput.svelte | 0 .../src}/components/CommitActivityItem.svelte | 0 .../src}/components/CommitAuthors.svelte | 0 .../src}/components/CommitsContainer.svelte | 0 .../src}/components/CompactCommitAuthorship.svelte | 0 {src => desktop/src}/components/ConfirmClear.svelte | 0 .../src}/components/ConfirmDeleteButton.svelte | 0 {src => desktop/src}/components/ContextMenu.svelte | 0 {src => desktop/src}/components/CopyableId.svelte | 0 .../src}/components/DelegateBadge.svelte | 0 {src => desktop/src}/components/DiffActions.svelte | 0 .../src}/components/DiffFileHeader.svelte | 0 .../src}/components/DiffStatBadge.svelte | 0 {src => desktop/src}/components/Discussion.svelte | 0 .../src}/components/DraftReviewBar.svelte | 0 {src => desktop/src}/components/DropdownList.svelte | 0 .../src}/components/DropdownListItem.svelte | 0 .../src}/components/EditableTitle.svelte | 0 {src => desktop/src}/components/ExplorerMenu.svelte | 0 .../src}/components/ExtendedTextarea.svelte | 0 {src => desktop/src}/components/ExternalLink.svelte | 0 {src => desktop/src}/components/FileBlock.svelte | 0 {src => desktop/src}/components/FileTreeFile.svelte | 0 .../src}/components/FileTreeFolder.svelte | 0 .../src}/components/FontSizeSwitch.svelte | 0 .../src}/components/FullWindowError.svelte | 0 .../src}/components/FullscreenModalPortal.svelte | 0 {src => desktop/src}/components/FuzzySearch.svelte | 0 {src => desktop/src}/components/HoverPopover.svelte | 0 {src => desktop/src}/components/Icon.svelte | 0 {src => desktop/src}/components/Id.svelte | 0 {src => desktop/src}/components/IdChip.svelte | 0 .../src}/components/IdentityButton.svelte | 0 .../src}/components/IdentityChanges.svelte | 0 .../src}/components/IdentityDocument.svelte | 0 .../src}/components/IdentityJsonButton.svelte | 0 .../src}/components/IdentityStateBadge.svelte | 0 {src => desktop/src}/components/InboxList.svelte | 0 {src => desktop/src}/components/InlineTitle.svelte | 0 .../src}/components/IssueActivityItem.svelte | 0 .../src}/components/IssueDescription.svelte | 0 .../src}/components/IssueMetadata.svelte | 0 .../src}/components/IssueStateButton.svelte | 0 {src => desktop/src}/components/IssueTeaser.svelte | 0 {src => desktop/src}/components/JobCob.svelte | 0 {src => desktop/src}/components/Label.svelte | 0 {src => desktop/src}/components/LabelInput.svelte | 0 {src => desktop/src}/components/Markdown.svelte | 0 {src => desktop/src}/components/Mention.svelte | 0 .../src}/components/MentionAutocomplete.svelte | 0 .../src}/components/NewPatchButton.svelte | 0 {src => desktop/src}/components/NodeId.svelte | 0 .../src}/components/NodeStatusButton.svelte | 0 .../src}/components/NotificationTeaser.svelte | 0 .../src}/components/NotificationsByRepo.svelte | 0 .../src}/components/PatchActivityItem.svelte | 0 .../src}/components/PatchMetadata.svelte | 0 .../src}/components/PatchStateButton.svelte | 0 {src => desktop/src}/components/PatchTeaser.svelte | 0 {src => desktop/src}/components/Path.svelte | 0 .../src}/components/PeerSelector/Peer.svelte | 0 .../components/PeerSelector/PeerSelector.svelte | 0 .../src}/components/PeerSelector/TagIcon.svelte | 0 {src => desktop/src}/components/PierreDiff.svelte | 0 {src => desktop/src}/components/PierreFile.svelte | 0 .../src}/components/PierreSnippet.svelte | 0 {src => desktop/src}/components/PierreTree.svelte | 0 {src => desktop/src}/components/Popover.svelte | 0 .../src}/components/PreviewSwitch.svelte | 0 .../src}/components/RadicleWordmark.svelte | 0 .../src}/components/ReactionSelector.svelte | 0 {src => desktop/src}/components/Reactions.svelte | 0 .../src}/components/ReferenceLink.svelte | 0 .../src}/components/ReleaseMetadata.svelte | 0 .../src}/components/ReleaseTeaser.svelte | 0 {src => desktop/src}/components/RepoAvatar.svelte | 0 {src => desktop/src}/components/RepoHeader.svelte | 0 .../src}/components/RepoListSwitch.svelte | 0 .../src}/components/ReviewCodeThread.svelte | 0 .../src}/components/ReviewCommentList.svelte | 0 {src => desktop/src}/components/ReviewItem.svelte | 0 {src => desktop/src}/components/ReviewPage.svelte | 0 .../src}/components/ReviewProgressChip.svelte | 0 .../src}/components/ReviewSummary.svelte | 0 {src => desktop/src}/components/Revision.svelte | 0 {src => desktop/src}/components/ScrollArea.svelte | 0 .../src}/components/SegmentedSwitch.svelte | 0 {src => desktop/src}/components/ShareButton.svelte | 0 .../src}/components/SidebarRepoList.svelte | 0 {src => desktop/src}/components/SourceHeader.svelte | 0 {src => desktop/src}/components/Spinner.svelte | 0 {src => desktop/src}/components/TextInput.svelte | 0 {src => desktop/src}/components/Textarea.svelte | 0 {src => desktop/src}/components/ThemeSwitch.svelte | 0 {src => desktop/src}/components/Thread.svelte | 0 {src => desktop/src}/components/TooltipBadge.svelte | 0 {src => desktop/src}/components/Topbar.svelte | 0 {src => desktop/src}/components/Tree.svelte | 0 .../src}/components/UntrustedWarning.svelte | 0 {src => desktop/src}/components/UpdateSwitch.svelte | 0 {src => desktop/src}/components/UserAvatar.svelte | 0 {src => desktop/src}/components/VirtualList.svelte | 0 .../src}/components/VisibilityBadge.svelte | 0 {src => desktop/src}/components/YouBadge.svelte | 0 .../components/commentAnnotationState.svelte.ts | 0 .../src}/components/diffFileHeaderState.svelte.ts | 0 .../src}/components/usePinnedDragReorder.svelte.ts | 0 {src => desktop/src}/global.d.ts | 0 {src => desktop/src}/lib/appearance.svelte.ts | 0 {src => desktop/src}/lib/artifactPickers.ts | 0 {src => desktop/src}/lib/asciidoc.ts | 0 {src => desktop/src}/lib/assigneeSuggestions.ts | 0 {src => desktop/src}/lib/auth.svelte.ts | 0 {src => desktop/src}/lib/avatar.ts | 0 {src => desktop/src}/lib/cached.ts | 0 {src => desktop/src}/lib/checkRadicleCLI.svelte.ts | 0 {src => desktop/src}/lib/ciJobs.ts | 0 {src => desktop/src}/lib/cobActivity.ts | 0 {src => desktop/src}/lib/cobSearch.ts | 0 {src => desktop/src}/lib/codeBlocks.ts | 0 {src => desktop/src}/lib/codeCommentActions.ts | 0 {src => desktop/src}/lib/codeComments.ts | 0 {src => desktop/src}/lib/commentNavigation.ts | 0 {src => desktop/src}/lib/commentResolutions.ts | 0 {src => desktop/src}/lib/commentSources.ts | 0 {src => desktop/src}/lib/commitGroups.ts | 0 {src => desktop/src}/lib/debounced.svelte.ts | 0 {src => desktop/src}/lib/deepLink.ts | 0 {src => desktop/src}/lib/diffOptions.svelte.ts | 0 {src => desktop/src}/lib/diffText.ts | 0 {src => desktop/src}/lib/disableDropNavigation.ts | 0 .../src}/lib/disableNativeContextMenu.ts | 0 {src => desktop/src}/lib/documentLinks.ts | 0 {src => desktop/src}/lib/draftReviewStorage.ts | 0 {src => desktop/src}/lib/embeds.ts | 0 {src => desktop/src}/lib/emojis.ts | 0 {src => desktop/src}/lib/events.ts | 0 {src => desktop/src}/lib/fileTreeExpansion.ts | 0 {src => desktop/src}/lib/flip.ts | 0 {src => desktop/src}/lib/frontmatter.ts | 0 {src => desktop/src}/lib/hints.ts | 0 {src => desktop/src}/lib/identityState.ts | 0 {src => desktop/src}/lib/ignoredFiles.ts | 0 {src => desktop/src}/lib/inboxFilter.ts | 0 {src => desktop/src}/lib/inputPopover.ts | 0 {src => desktop/src}/lib/inputValidation.ts | 0 {src => desktop/src}/lib/interval.ts | 0 {src => desktop/src}/lib/invoke.ts | 0 {src => desktop/src}/lib/issueCounts.svelte.ts | 0 {src => desktop/src}/lib/issueTimeline.ts | 0 {src => desktop/src}/lib/listState.ts | 0 {src => desktop/src}/lib/markdown.ts | 0 {src => desktop/src}/lib/markdownFormat.ts | 0 {src => desktop/src}/lib/markdownPlain.ts | 0 {src => desktop/src}/lib/mentionTrigger.ts | 0 {src => desktop/src}/lib/mentions.ts | 0 {src => desktop/src}/lib/menuNavigation.ts | 0 {src => desktop/src}/lib/mermaid.ts | 0 {src => desktop/src}/lib/modal.ts | 0 {src => desktop/src}/lib/mutexExecutor.ts | 0 {src => desktop/src}/lib/notification.ts | 0 .../src}/lib/notificationCount.svelte.ts | 0 {src => desktop/src}/lib/paginatedList.svelte.ts | 0 {src => desktop/src}/lib/patchActivityContext.ts | 0 {src => desktop/src}/lib/patchContributions.ts | 0 {src => desktop/src}/lib/patchCounts.svelte.ts | 0 {src => desktop/src}/lib/patchSlice.ts | 0 {src => desktop/src}/lib/patchTimeline.ts | 0 {src => desktop/src}/lib/pierreComments.ts | 0 {src => desktop/src}/lib/pierreParse.ts | 0 {src => desktop/src}/lib/pierreParse.worker.ts | 0 {src => desktop/src}/lib/pierreView.ts | 0 {src => desktop/src}/lib/portal.ts | 0 {src => desktop/src}/lib/radUri.ts | 0 {src => desktop/src}/lib/refs.ts | 0 {src => desktop/src}/lib/releases.ts | 0 {src => desktop/src}/lib/repoImages.ts | 0 {src => desktop/src}/lib/repoListScope.ts | 0 {src => desktop/src}/lib/repoOrdering.ts | 0 {src => desktop/src}/lib/reviewSummary.ts | 0 {src => desktop/src}/lib/revisionDescription.ts | 0 {src => desktop/src}/lib/revisionList.ts | 0 {src => desktop/src}/lib/revisionListSettings.ts | 0 {src => desktop/src}/lib/roles.ts | 0 {src => desktop/src}/lib/router.ts | 0 {src => desktop/src}/lib/router/definitions.ts | 0 {src => desktop/src}/lib/seedRepo.ts | 0 {src => desktop/src}/lib/shareAction.svelte.ts | 0 {src => desktop/src}/lib/shortcuts.svelte.ts | 0 {src => desktop/src}/lib/sidebar.svelte.ts | 0 {src => desktop/src}/lib/sidebarResize.ts | 0 {src => desktop/src}/lib/sleep.ts | 0 {src => desktop/src}/lib/stageArtifacts.ts | 0 {src => desktop/src}/lib/startup.svelte.ts | 0 {src => desktop/src}/lib/syntax.ts | 0 {src => desktop/src}/lib/textareaCaret.ts | 0 {src => desktop/src}/lib/threads.ts | 0 {src => desktop/src}/lib/timelineRuns.ts | 0 {src => desktop/src}/lib/updateChecker.svelte.ts | 0 {src => desktop/src}/lib/useLocalStorage.svelte.ts | 0 {src => desktop/src}/lib/utils.ts | 0 {src => desktop/src}/lib/window.ts | 0 {src => desktop/src}/main.ts | 0 .../src}/modals/ConfirmDeleteRelease.svelte | 0 {src => desktop/src}/modals/ConfirmModal.svelte | 0 {src => desktop/src}/modals/ConfirmRedact.svelte | 0 .../src}/modals/ConfirmRegisterArtifacts.svelte | 0 {src => desktop/src}/modals/ConfirmUnseed.svelte | 0 {src => desktop/src}/modals/CreateIssue.svelte | 0 {src => desktop/src}/modals/CreateRelease.svelte | 0 {src => desktop/src}/modals/Guide.svelte | 0 .../src}/modals/KeyboardShortcuts.svelte | 0 {src => desktop/src}/modals/NotOnThisNode.svelte | 0 .../src}/modals/RawIdentityDocument.svelte | 0 {src => desktop/src}/modals/Settings.svelte | 0 {src => desktop/src}/modals/UnopenableLink.svelte | 0 {src => desktop/src}/views/Inbox.svelte | 0 {src => desktop/src}/views/auth/Auth.svelte | 0 .../src}/views/auth/CreateIdentity.svelte | 0 {src => desktop/src}/views/auth/Layout.svelte | 0 {src => desktop/src}/views/repo/Identity.svelte | 0 {src => desktop/src}/views/repo/Issue.svelte | 0 {src => desktop/src}/views/repo/Issues.svelte | 0 {src => desktop/src}/views/repo/Layout.svelte | 0 {src => desktop/src}/views/repo/Patch.svelte | 0 {src => desktop/src}/views/repo/Patches.svelte | 0 {src => desktop/src}/views/repo/Release.svelte | 0 {src => desktop/src}/views/repo/Releases.svelte | 0 {src => desktop/src}/views/repo/RepoCommit.svelte | 0 {src => desktop/src}/views/repo/RepoCommits.svelte | 0 {src => desktop/src}/views/repo/RepoHome.svelte | 0 {src => desktop/src}/views/repo/router.ts | 0 {src => desktop/src}/vite-env.d.ts | 0 svelte.config.js => desktop/svelte.config.js | 0 {tests => desktop/tests}/e2e/auth.spec.ts | 0 {tests => desktop/tests}/e2e/clipboard.spec.ts | 0 {tests => desktop/tests}/e2e/createIdentity.spec.ts | 0 {tests => desktop/tests}/e2e/inbox.spec.ts | 0 {tests => desktop/tests}/e2e/keyboard.spec.ts | 0 {tests => desktop/tests}/e2e/navigation.spec.ts | 0 {tests => desktop/tests}/e2e/nodeStatus.spec.ts | 0 {tests => desktop/tests}/e2e/persistence.spec.ts | 0 {tests => desktop/tests}/e2e/repo/asciidoc.spec.ts | 0 {tests => desktop/tests}/e2e/repo/cobCache.spec.ts | 0 .../tests}/e2e/repo/createRelease.spec.ts | 0 .../tests}/e2e/repo/documentLinks.spec.ts | 0 {tests => desktop/tests}/e2e/repo/fileDrop.spec.ts | 0 {tests => desktop/tests}/e2e/repo/issue.spec.ts | 0 .../tests}/e2e/repo/issueEditing.spec.ts | 0 {tests => desktop/tests}/e2e/repo/issues.spec.ts | 0 {tests => desktop/tests}/e2e/repo/jobs.spec.ts | 0 .../tests}/e2e/repo/markdownRendering.spec.ts | 0 {tests => desktop/tests}/e2e/repo/mentions.spec.ts | 0 {tests => desktop/tests}/e2e/repo/patch.spec.ts | 0 .../tests}/e2e/repo/patchEditing.spec.ts | 0 .../tests}/e2e/repo/permissions.spec.ts | 0 {tests => desktop/tests}/e2e/repo/source.spec.ts | 0 {tests => desktop/tests}/e2e/repo/tasks.spec.ts | 0 {tests => desktop/tests}/e2e/repos.spec.ts | 0 {tests => desktop/tests}/e2e/seeding.spec.ts | 0 {tests => desktop/tests}/e2e/theme.spec.ts | 0 .../tests}/fixtures/repos/markdown.tar.bz2 | Bin {tests => desktop/tests}/support/cobs/issue.ts | 0 {tests => desktop/tests}/support/cobs/patch.ts | 0 {tests => desktop/tests}/support/collaboration.ts | 0 {tests => desktop/tests}/support/fixtures.ts | 0 {tests => desktop/tests}/support/globalSetup.ts | 0 {tests => desktop/tests}/support/heartwood-release | 0 {tests => desktop/tests}/support/logPrefix.ts | 0 {tests => desktop/tests}/support/peerManager.ts | 0 {tests => desktop/tests}/support/repo.ts | 0 {tests => desktop/tests}/support/router.ts | 0 {tests => desktop/tests}/support/support.ts | 0 {tests => desktop/tests}/unit/asciidoc.test.ts | 0 .../tests}/unit/assigneeSuggestions.test.ts | 0 {tests => desktop/tests}/unit/cached.test.ts | 0 {tests => desktop/tests}/unit/ciJobs.test.ts | 0 {tests => desktop/tests}/unit/cobActivity.test.ts | 0 {tests => desktop/tests}/unit/cobSearch.test.ts | 0 .../tests}/unit/codeCommentActions.test.ts | 0 .../tests}/unit/commentNavigation.test.ts | 0 .../tests}/unit/commentResolutions.test.ts | 0 .../tests}/unit/commentSources.test.ts | 0 {tests => desktop/tests}/unit/commitGroups.test.ts | 0 .../tests}/unit/debounced.svelte.test.ts | 0 {tests => desktop/tests}/unit/deepLink.test.ts | 0 .../tests}/unit/diffOptions.svelte.test.ts | 0 {tests => desktop/tests}/unit/diffText.test.ts | 0 .../tests}/unit/disableDropNavigation.test.ts | 0 {tests => desktop/tests}/unit/documentLinks.test.ts | 0 .../tests}/unit/draftReviewStorage.test.ts | 0 {tests => desktop/tests}/unit/embeds.test.ts | 0 .../tests}/unit/fileTreeExpansion.test.ts | 0 {tests => desktop/tests}/unit/frontmatter.test.ts | 0 {tests => desktop/tests}/unit/hints.test.ts | 0 {tests => desktop/tests}/unit/identityState.test.ts | 0 {tests => desktop/tests}/unit/ignoredFiles.test.ts | 0 {tests => desktop/tests}/unit/inboxFilter.test.ts | 0 .../tests}/unit/inputValidation.test.ts | 0 {tests => desktop/tests}/unit/interval.test.ts | 0 {tests => desktop/tests}/unit/issueCounts.test.ts | 0 {tests => desktop/tests}/unit/issueTimeline.test.ts | 0 {tests => desktop/tests}/unit/listState.test.ts | 0 .../tests}/unit/markdownFormat.test.ts | 0 {tests => desktop/tests}/unit/markdownPlain.test.ts | 0 {tests => desktop/tests}/unit/markdownTasks.test.ts | 0 .../tests}/unit/mentionTrigger.test.ts | 0 {tests => desktop/tests}/unit/mentions.test.ts | 0 .../tests}/unit/menuNavigation.test.ts | 0 {tests => desktop/tests}/unit/mermaid.test.ts | 0 {tests => desktop/tests}/unit/modal.test.ts | 0 {tests => desktop/tests}/unit/mutexExecutor.test.ts | 0 {tests => desktop/tests}/unit/notifications.test.ts | 0 .../tests}/unit/paginatedList.svelte.test.ts | 0 .../tests}/unit/patchContributions.test.ts | 0 {tests => desktop/tests}/unit/patchCounts.test.ts | 0 {tests => desktop/tests}/unit/patchSlice.test.ts | 0 {tests => desktop/tests}/unit/patchTimeline.test.ts | 0 .../tests}/unit/pierreComments.test.ts | 0 {tests => desktop/tests}/unit/pierreParse.test.ts | 0 {tests => desktop/tests}/unit/radUri.test.ts | 0 {tests => desktop/tests}/unit/refs.test.ts | 0 {tests => desktop/tests}/unit/releases.test.ts | 0 {tests => desktop/tests}/unit/repoImages.test.ts | 0 {tests => desktop/tests}/unit/repoOrdering.test.ts | 0 {tests => desktop/tests}/unit/repoRouter.test.ts | 0 {tests => desktop/tests}/unit/reviewSummary.test.ts | 0 .../tests}/unit/revisionDescription.test.ts | 0 {tests => desktop/tests}/unit/revisionList.test.ts | 0 .../tests}/unit/revisionListSettings.test.ts | 0 {tests => desktop/tests}/unit/roles.test.ts | 0 {tests => desktop/tests}/unit/router.test.ts | 0 {tests => desktop/tests}/unit/seedRepo.test.ts | 0 {tests => desktop/tests}/unit/shareAction.test.ts | 0 .../tests}/unit/shortcuts.svelte.test.ts | 0 {tests => desktop/tests}/unit/sidebar.test.ts | 0 {tests => desktop/tests}/unit/sidebarResize.test.ts | 0 .../tests}/unit/stageArtifacts.test.ts | 0 {tests => desktop/tests}/unit/support/cobs.ts | 0 {tests => desktop/tests}/unit/threads.test.ts | 0 {tests => desktop/tests}/unit/timelineRuns.test.ts | 0 {tests => desktop/tests}/unit/updateChecker.test.ts | 0 .../tests}/unit/useLocalStorage.test.ts | 0 {tests => desktop/tests}/unit/utils.test.ts | 0 tsconfig.json => desktop/tsconfig.json | 0 vite.config.ts => desktop/vite.config.ts | 0 676 files changed, 0 insertions(+), 0 deletions(-) rename {.cargo => desktop/.cargo}/audit.toml (100%) rename .dockerignore => desktop/.dockerignore (100%) rename .envrc => desktop/.envrc (100%) rename {.github => desktop/.github}/workflows/e2e.yaml (100%) rename {.github => desktop/.github}/workflows/lint.yaml (100%) rename {.github => desktop/.github}/workflows/unit-test.yaml (100%) rename .gitignore => desktop/.gitignore (100%) rename .npmrc => desktop/.npmrc (100%) rename .nvmrc => desktop/.nvmrc (100%) rename .prettierignore => desktop/.prettierignore (100%) rename .prettierrc => desktop/.prettierrc (100%) rename {.ryph => desktop/.ryph}/Dockerfile (100%) rename {.ryph => desktop/.ryph}/environment.md (100%) rename {.ryph => desktop/.ryph}/setup.yml (100%) rename CHANGELOG.md => desktop/CHANGELOG.md (100%) rename CLAUDE.md => desktop/CLAUDE.md (100%) rename Cargo.lock => desktop/Cargo.lock (100%) rename Cargo.toml => desktop/Cargo.toml (100%) rename Dockerfile.release => desktop/Dockerfile.release (100%) rename LICENSE => desktop/LICENSE (100%) rename README.md => desktop/README.md (100%) rename cooldown.toml => desktop/cooldown.toml (100%) rename {crates => desktop/crates}/radicle-tauri/.gitignore (100%) rename {crates => desktop/crates}/radicle-tauri/Cargo.toml (100%) rename {crates => desktop/crates}/radicle-tauri/build.rs (100%) rename {crates => desktop/crates}/radicle-tauri/capabilities/default.json (100%) rename {crates => desktop/crates}/radicle-tauri/icons/128x128.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/128x128@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/16x16.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/16x16@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/24x24.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/256x256.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/256x256@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/32x32.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/32x32@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/48x48.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/512x512.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/512x512@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/64x64.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/Square107x107Logo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/Square142x142Logo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/Square150x150Logo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/Square284x284Logo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/Square30x30Logo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/Square310x310Logo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/Square44x44Logo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/Square71x71Logo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/Square89x89Logo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/StoreLogo.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/icon.icns (100%) rename {crates => desktop/crates}/radicle-tauri/icons/icon.ico (100%) rename {crates => desktop/crates}/radicle-tauri/icons/icon.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-20x20@1x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-20x20@2x-1.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-20x20@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-20x20@3x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-29x29@1x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-29x29@2x-1.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-29x29@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-29x29@3x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-40x40@1x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-40x40@2x-1.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-40x40@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-40x40@3x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-512@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-60x60@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-60x60@3x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-76x76@1x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-76x76@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/icons/ios/AppIcon-83.5x83.5@2x.png (100%) rename {crates => desktop/crates}/radicle-tauri/main.desktop (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/auth.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/cob.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/cob/issue.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/cob/job.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/cob/patch.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/cob/release.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/diff.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/identity.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/inbox.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/profile.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/repo.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/startup.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/commands/thread.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/lib.rs (100%) rename {crates => desktop/crates}/radicle-tauri/src/main.rs (100%) rename {crates => desktop/crates}/radicle-tauri/tauri.conf.json (100%) rename {crates => desktop/crates}/radicle-tauri/tauri.linux.conf.json (100%) rename {crates => desktop/crates}/radicle-types/Cargo.toml (100%) rename {crates => desktop/crates}/radicle-types/bindings/artifact/ArtifactBinaries.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/artifact/ArtifactNodeStatus.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/artifact/ArtifactProgress.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/artifact/RelayHealth.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/AliasSuggestion.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/Author.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/CacheEvent.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/CobOptions.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/DiffOptions.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/Never.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/Operation.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/PaginatedQuery.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/Reaction.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/inbox/ActionWithAuthor.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/inbox/Issue.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/inbox/NotificationCount.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/inbox/NotificationItem.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/inbox/NotificationsByRepo.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/inbox/Patch.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/inbox/RefUpdate.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/inbox/SetStatusNotifications.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/inbox/TypedId.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/issue/Action.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/issue/CloseReason.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/issue/Issue.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/issue/NewIssue.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/issue/State.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/Action.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/CreateReviewArgs.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/Edit.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/Patch.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/PatchCounts.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/Review.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/ReviewInit.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/Reviewer.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/Revision.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/State.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/patch/Verdict.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/release/Artifact.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/release/ArtifactDigest.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/release/Location.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/release/Redaction.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/release/Release.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/release/ReleaseCounts.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/release/ReleaseFilter.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/release/ReleaseScope.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/thread/CodeLocation.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/thread/CodeRange.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/thread/Comment.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/thread/CreateReviewComment.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/thread/Embed.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/thread/NewIssueComment.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/thread/NewPatchComment.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/cob/thread/Thread.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/config/Config.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/config/GitInfo.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/Added.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/Copied.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/Deleted.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/Diff.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/DiffContent.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/FileDiff.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/FileStats.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/Modified.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/Moved.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/diff/Stats.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/error/ErrorWrapper.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/Allowed.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/CanonicalRefRule.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/Change.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/Doc.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/Identity.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/PayloadOperation.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/Project.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/RejectedReason.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/Revision.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/identity/State.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Canonical.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Commit.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Job.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/ProjectPayload.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/ProjectPayloadData.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/ProjectPayloadMeta.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Readme.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Remote.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/RepoCount.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/RepoInfo.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/RepoRefs.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/RepoSummary.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Run.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Status.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/SupportedPayloads.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/SyncStatus.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/SyncedAt.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Tag.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Tagger.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/TreePath.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/repo/Visibility.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/source/Blob.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/source/Commit.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/source/Entry.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/source/EntryKind.ts (100%) rename {crates => desktop/crates}/radicle-types/bindings/source/Tree.ts (100%) rename {crates => desktop/crates}/radicle-types/src/artifact.rs (100%) rename {crates => desktop/crates}/radicle-types/src/auth.rs (100%) rename {crates => desktop/crates}/radicle-types/src/binaries.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs/diff.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs/issue.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs/job.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs/release.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs/repo.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs/stream.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs/stream/error.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs/stream/iter.rs (100%) rename {crates => desktop/crates}/radicle-types/src/cobs/thread.rs (100%) rename {crates => desktop/crates}/radicle-types/src/config.rs (100%) rename {crates => desktop/crates}/radicle-types/src/diff.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/inbox.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/inbox/models.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/inbox/models/notification.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/inbox/service.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/inbox/traits.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/issue.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/issue/models.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/issue/models/issue.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/issue/service.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/issue/traits.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/patch.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/patch/models.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/patch/models/patch.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/patch/service.rs (100%) rename {crates => desktop/crates}/radicle-types/src/domain/patch/traits.rs (100%) rename {crates => desktop/crates}/radicle-types/src/error.rs (100%) rename {crates => desktop/crates}/radicle-types/src/identity.rs (100%) rename {crates => desktop/crates}/radicle-types/src/lib.rs (100%) rename {crates => desktop/crates}/radicle-types/src/outbound.rs (100%) rename {crates => desktop/crates}/radicle-types/src/outbound/sqlite.rs (100%) rename {crates => desktop/crates}/radicle-types/src/repo.rs (100%) rename {crates => desktop/crates}/radicle-types/src/source.rs (100%) rename {crates => desktop/crates}/radicle-types/src/source/blob.rs (100%) rename {crates => desktop/crates}/radicle-types/src/source/commit.rs (100%) rename {crates => desktop/crates}/radicle-types/src/source/tree.rs (100%) rename {crates => desktop/crates}/radicle-types/src/test.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/artifact_node.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/cobs.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/identity.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/inbox.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/issue.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/job.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/patch.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/release.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/release_mut.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/repo.rs (100%) rename {crates => desktop/crates}/radicle-types/src/traits/thread.rs (100%) rename {crates => desktop/crates}/test-http-api/Cargo.toml (100%) rename {crates => desktop/crates}/test-http-api/build.rs (100%) rename {crates => desktop/crates}/test-http-api/src/api.rs (100%) rename {crates => desktop/crates}/test-http-api/src/lib.rs (100%) rename {crates => desktop/crates}/test-http-api/src/main.rs (100%) rename {crates => desktop/crates}/test-http-api/tests/keep_alive.rs (100%) rename {crates => desktop/crates}/test-http-api/tests/parity.rs (100%) rename {docs => desktop/docs}/adr/0001-testing-strategy.md (100%) rename {docs => desktop/docs}/adr/0002-backend-architecture.md (100%) rename {docs => desktop/docs}/adr/0003-radicle-references.md (100%) rename {docs => desktop/docs}/adr/0004-untrusted-releases-and-artifacts.md (100%) rename {docs => desktop/docs}/testing-checklist.md (100%) rename eslint.config.js => desktop/eslint.config.js (100%) rename flake.lock => desktop/flake.lock (100%) rename flake.nix => desktop/flake.nix (100%) rename index.html => desktop/index.html (100%) rename {isolation => desktop/isolation}/index.html (100%) rename {isolation => desktop/isolation}/index.js (100%) rename {nix => desktop/nix}/radicle-desktop.nix (100%) rename package-lock.json => desktop/package-lock.json (100%) rename package.json => desktop/package.json (100%) rename playwright.config.ts => desktop/playwright.config.ts (100%) rename {public => desktop/public}/colors.css (100%) rename {public => desktop/public}/flower.png (100%) rename {public => desktop/public}/fonts/Booton-Medium.woff2 (100%) rename {public => desktop/public}/fonts/Booton-Regular.woff2 (100%) rename {public => desktop/public}/fonts/Booton-SemiBold.woff2 (100%) rename {public => desktop/public}/fonts/JetBrainsMono-Bold.woff2 (100%) rename {public => desktop/public}/fonts/JetBrainsMono-Medium.woff2 (100%) rename {public => desktop/public}/fonts/JetBrainsMono-Regular.woff2 (100%) rename {public => desktop/public}/fonts/JetBrainsMono-SemiBold.woff2 (100%) rename {public => desktop/public}/index.css (100%) rename {public => desktop/public}/prettylights.css (100%) rename {public => desktop/public}/radicle.svg (100%) rename {public => desktop/public}/twemoji/.gitkeep (100%) rename {public => desktop/public}/typography.css (100%) rename rust-toolchain.toml => desktop/rust-toolchain.toml (100%) rename {scripts => desktop/scripts}/appimage-build (100%) rename {scripts => desktop/scripts}/build-artifacts (100%) rename {scripts => desktop/scripts}/check-ci (100%) rename {scripts => desktop/scripts}/check-js (100%) rename {scripts => desktop/scripts}/check-rs (100%) rename {scripts => desktop/scripts}/copy-katex-assets (100%) rename {scripts => desktop/scripts}/install-binaries (100%) rename {scripts => desktop/scripts}/install-twemoji-assets (100%) rename {scripts => desktop/scripts}/release (100%) rename {src => desktop/src}/App.svelte (100%) rename {src => desktop/src}/components/AddRepoButton.svelte (100%) rename {src => desktop/src}/components/AnnounceSwitch.svelte (100%) rename {src => desktop/src}/components/AppSidebar.svelte (100%) rename {src => desktop/src}/components/ArtifactDownloadButton.svelte (100%) rename {src => desktop/src}/components/ArtifactNodeStatusButton.svelte (100%) rename {src => desktop/src}/components/ArtifactRow.svelte (100%) rename {src => desktop/src}/components/Asciidoc.svelte (100%) rename {src => desktop/src}/components/AssigneeInput.svelte (100%) rename {src => desktop/src}/components/BadgeCounterSwitch.svelte (100%) rename {src => desktop/src}/components/Button.svelte (100%) rename {src => desktop/src}/components/Changes.svelte (100%) rename {src => desktop/src}/components/Checkbox.svelte (100%) rename {src => desktop/src}/components/CheckoutPatchButton.svelte (100%) rename {src => desktop/src}/components/CheckoutRepoButton.svelte (100%) rename {src => desktop/src}/components/Clipboard.svelte (100%) rename {src => desktop/src}/components/CobCacheWarning.svelte (100%) rename {src => desktop/src}/components/CobCommitTeaser.svelte (100%) rename {src => desktop/src}/components/CodeFontSwitch.svelte (100%) rename {src => desktop/src}/components/Command.svelte (100%) rename {src => desktop/src}/components/Comment.svelte (100%) rename {src => desktop/src}/components/CommentAnnotation.svelte (100%) rename {src => desktop/src}/components/CommentToggleInput.svelte (100%) rename {src => desktop/src}/components/CommitActivityItem.svelte (100%) rename {src => desktop/src}/components/CommitAuthors.svelte (100%) rename {src => desktop/src}/components/CommitsContainer.svelte (100%) rename {src => desktop/src}/components/CompactCommitAuthorship.svelte (100%) rename {src => desktop/src}/components/ConfirmClear.svelte (100%) rename {src => desktop/src}/components/ConfirmDeleteButton.svelte (100%) rename {src => desktop/src}/components/ContextMenu.svelte (100%) rename {src => desktop/src}/components/CopyableId.svelte (100%) rename {src => desktop/src}/components/DelegateBadge.svelte (100%) rename {src => desktop/src}/components/DiffActions.svelte (100%) rename {src => desktop/src}/components/DiffFileHeader.svelte (100%) rename {src => desktop/src}/components/DiffStatBadge.svelte (100%) rename {src => desktop/src}/components/Discussion.svelte (100%) rename {src => desktop/src}/components/DraftReviewBar.svelte (100%) rename {src => desktop/src}/components/DropdownList.svelte (100%) rename {src => desktop/src}/components/DropdownListItem.svelte (100%) rename {src => desktop/src}/components/EditableTitle.svelte (100%) rename {src => desktop/src}/components/ExplorerMenu.svelte (100%) rename {src => desktop/src}/components/ExtendedTextarea.svelte (100%) rename {src => desktop/src}/components/ExternalLink.svelte (100%) rename {src => desktop/src}/components/FileBlock.svelte (100%) rename {src => desktop/src}/components/FileTreeFile.svelte (100%) rename {src => desktop/src}/components/FileTreeFolder.svelte (100%) rename {src => desktop/src}/components/FontSizeSwitch.svelte (100%) rename {src => desktop/src}/components/FullWindowError.svelte (100%) rename {src => desktop/src}/components/FullscreenModalPortal.svelte (100%) rename {src => desktop/src}/components/FuzzySearch.svelte (100%) rename {src => desktop/src}/components/HoverPopover.svelte (100%) rename {src => desktop/src}/components/Icon.svelte (100%) rename {src => desktop/src}/components/Id.svelte (100%) rename {src => desktop/src}/components/IdChip.svelte (100%) rename {src => desktop/src}/components/IdentityButton.svelte (100%) rename {src => desktop/src}/components/IdentityChanges.svelte (100%) rename {src => desktop/src}/components/IdentityDocument.svelte (100%) rename {src => desktop/src}/components/IdentityJsonButton.svelte (100%) rename {src => desktop/src}/components/IdentityStateBadge.svelte (100%) rename {src => desktop/src}/components/InboxList.svelte (100%) rename {src => desktop/src}/components/InlineTitle.svelte (100%) rename {src => desktop/src}/components/IssueActivityItem.svelte (100%) rename {src => desktop/src}/components/IssueDescription.svelte (100%) rename {src => desktop/src}/components/IssueMetadata.svelte (100%) rename {src => desktop/src}/components/IssueStateButton.svelte (100%) rename {src => desktop/src}/components/IssueTeaser.svelte (100%) rename {src => desktop/src}/components/JobCob.svelte (100%) rename {src => desktop/src}/components/Label.svelte (100%) rename {src => desktop/src}/components/LabelInput.svelte (100%) rename {src => desktop/src}/components/Markdown.svelte (100%) rename {src => desktop/src}/components/Mention.svelte (100%) rename {src => desktop/src}/components/MentionAutocomplete.svelte (100%) rename {src => desktop/src}/components/NewPatchButton.svelte (100%) rename {src => desktop/src}/components/NodeId.svelte (100%) rename {src => desktop/src}/components/NodeStatusButton.svelte (100%) rename {src => desktop/src}/components/NotificationTeaser.svelte (100%) rename {src => desktop/src}/components/NotificationsByRepo.svelte (100%) rename {src => desktop/src}/components/PatchActivityItem.svelte (100%) rename {src => desktop/src}/components/PatchMetadata.svelte (100%) rename {src => desktop/src}/components/PatchStateButton.svelte (100%) rename {src => desktop/src}/components/PatchTeaser.svelte (100%) rename {src => desktop/src}/components/Path.svelte (100%) rename {src => desktop/src}/components/PeerSelector/Peer.svelte (100%) rename {src => desktop/src}/components/PeerSelector/PeerSelector.svelte (100%) rename {src => desktop/src}/components/PeerSelector/TagIcon.svelte (100%) rename {src => desktop/src}/components/PierreDiff.svelte (100%) rename {src => desktop/src}/components/PierreFile.svelte (100%) rename {src => desktop/src}/components/PierreSnippet.svelte (100%) rename {src => desktop/src}/components/PierreTree.svelte (100%) rename {src => desktop/src}/components/Popover.svelte (100%) rename {src => desktop/src}/components/PreviewSwitch.svelte (100%) rename {src => desktop/src}/components/RadicleWordmark.svelte (100%) rename {src => desktop/src}/components/ReactionSelector.svelte (100%) rename {src => desktop/src}/components/Reactions.svelte (100%) rename {src => desktop/src}/components/ReferenceLink.svelte (100%) rename {src => desktop/src}/components/ReleaseMetadata.svelte (100%) rename {src => desktop/src}/components/ReleaseTeaser.svelte (100%) rename {src => desktop/src}/components/RepoAvatar.svelte (100%) rename {src => desktop/src}/components/RepoHeader.svelte (100%) rename {src => desktop/src}/components/RepoListSwitch.svelte (100%) rename {src => desktop/src}/components/ReviewCodeThread.svelte (100%) rename {src => desktop/src}/components/ReviewCommentList.svelte (100%) rename {src => desktop/src}/components/ReviewItem.svelte (100%) rename {src => desktop/src}/components/ReviewPage.svelte (100%) rename {src => desktop/src}/components/ReviewProgressChip.svelte (100%) rename {src => desktop/src}/components/ReviewSummary.svelte (100%) rename {src => desktop/src}/components/Revision.svelte (100%) rename {src => desktop/src}/components/ScrollArea.svelte (100%) rename {src => desktop/src}/components/SegmentedSwitch.svelte (100%) rename {src => desktop/src}/components/ShareButton.svelte (100%) rename {src => desktop/src}/components/SidebarRepoList.svelte (100%) rename {src => desktop/src}/components/SourceHeader.svelte (100%) rename {src => desktop/src}/components/Spinner.svelte (100%) rename {src => desktop/src}/components/TextInput.svelte (100%) rename {src => desktop/src}/components/Textarea.svelte (100%) rename {src => desktop/src}/components/ThemeSwitch.svelte (100%) rename {src => desktop/src}/components/Thread.svelte (100%) rename {src => desktop/src}/components/TooltipBadge.svelte (100%) rename {src => desktop/src}/components/Topbar.svelte (100%) rename {src => desktop/src}/components/Tree.svelte (100%) rename {src => desktop/src}/components/UntrustedWarning.svelte (100%) rename {src => desktop/src}/components/UpdateSwitch.svelte (100%) rename {src => desktop/src}/components/UserAvatar.svelte (100%) rename {src => desktop/src}/components/VirtualList.svelte (100%) rename {src => desktop/src}/components/VisibilityBadge.svelte (100%) rename {src => desktop/src}/components/YouBadge.svelte (100%) rename {src => desktop/src}/components/commentAnnotationState.svelte.ts (100%) rename {src => desktop/src}/components/diffFileHeaderState.svelte.ts (100%) rename {src => desktop/src}/components/usePinnedDragReorder.svelte.ts (100%) rename {src => desktop/src}/global.d.ts (100%) rename {src => desktop/src}/lib/appearance.svelte.ts (100%) rename {src => desktop/src}/lib/artifactPickers.ts (100%) rename {src => desktop/src}/lib/asciidoc.ts (100%) rename {src => desktop/src}/lib/assigneeSuggestions.ts (100%) rename {src => desktop/src}/lib/auth.svelte.ts (100%) rename {src => desktop/src}/lib/avatar.ts (100%) rename {src => desktop/src}/lib/cached.ts (100%) rename {src => desktop/src}/lib/checkRadicleCLI.svelte.ts (100%) rename {src => desktop/src}/lib/ciJobs.ts (100%) rename {src => desktop/src}/lib/cobActivity.ts (100%) rename {src => desktop/src}/lib/cobSearch.ts (100%) rename {src => desktop/src}/lib/codeBlocks.ts (100%) rename {src => desktop/src}/lib/codeCommentActions.ts (100%) rename {src => desktop/src}/lib/codeComments.ts (100%) rename {src => desktop/src}/lib/commentNavigation.ts (100%) rename {src => desktop/src}/lib/commentResolutions.ts (100%) rename {src => desktop/src}/lib/commentSources.ts (100%) rename {src => desktop/src}/lib/commitGroups.ts (100%) rename {src => desktop/src}/lib/debounced.svelte.ts (100%) rename {src => desktop/src}/lib/deepLink.ts (100%) rename {src => desktop/src}/lib/diffOptions.svelte.ts (100%) rename {src => desktop/src}/lib/diffText.ts (100%) rename {src => desktop/src}/lib/disableDropNavigation.ts (100%) rename {src => desktop/src}/lib/disableNativeContextMenu.ts (100%) rename {src => desktop/src}/lib/documentLinks.ts (100%) rename {src => desktop/src}/lib/draftReviewStorage.ts (100%) rename {src => desktop/src}/lib/embeds.ts (100%) rename {src => desktop/src}/lib/emojis.ts (100%) rename {src => desktop/src}/lib/events.ts (100%) rename {src => desktop/src}/lib/fileTreeExpansion.ts (100%) rename {src => desktop/src}/lib/flip.ts (100%) rename {src => desktop/src}/lib/frontmatter.ts (100%) rename {src => desktop/src}/lib/hints.ts (100%) rename {src => desktop/src}/lib/identityState.ts (100%) rename {src => desktop/src}/lib/ignoredFiles.ts (100%) rename {src => desktop/src}/lib/inboxFilter.ts (100%) rename {src => desktop/src}/lib/inputPopover.ts (100%) rename {src => desktop/src}/lib/inputValidation.ts (100%) rename {src => desktop/src}/lib/interval.ts (100%) rename {src => desktop/src}/lib/invoke.ts (100%) rename {src => desktop/src}/lib/issueCounts.svelte.ts (100%) rename {src => desktop/src}/lib/issueTimeline.ts (100%) rename {src => desktop/src}/lib/listState.ts (100%) rename {src => desktop/src}/lib/markdown.ts (100%) rename {src => desktop/src}/lib/markdownFormat.ts (100%) rename {src => desktop/src}/lib/markdownPlain.ts (100%) rename {src => desktop/src}/lib/mentionTrigger.ts (100%) rename {src => desktop/src}/lib/mentions.ts (100%) rename {src => desktop/src}/lib/menuNavigation.ts (100%) rename {src => desktop/src}/lib/mermaid.ts (100%) rename {src => desktop/src}/lib/modal.ts (100%) rename {src => desktop/src}/lib/mutexExecutor.ts (100%) rename {src => desktop/src}/lib/notification.ts (100%) rename {src => desktop/src}/lib/notificationCount.svelte.ts (100%) rename {src => desktop/src}/lib/paginatedList.svelte.ts (100%) rename {src => desktop/src}/lib/patchActivityContext.ts (100%) rename {src => desktop/src}/lib/patchContributions.ts (100%) rename {src => desktop/src}/lib/patchCounts.svelte.ts (100%) rename {src => desktop/src}/lib/patchSlice.ts (100%) rename {src => desktop/src}/lib/patchTimeline.ts (100%) rename {src => desktop/src}/lib/pierreComments.ts (100%) rename {src => desktop/src}/lib/pierreParse.ts (100%) rename {src => desktop/src}/lib/pierreParse.worker.ts (100%) rename {src => desktop/src}/lib/pierreView.ts (100%) rename {src => desktop/src}/lib/portal.ts (100%) rename {src => desktop/src}/lib/radUri.ts (100%) rename {src => desktop/src}/lib/refs.ts (100%) rename {src => desktop/src}/lib/releases.ts (100%) rename {src => desktop/src}/lib/repoImages.ts (100%) rename {src => desktop/src}/lib/repoListScope.ts (100%) rename {src => desktop/src}/lib/repoOrdering.ts (100%) rename {src => desktop/src}/lib/reviewSummary.ts (100%) rename {src => desktop/src}/lib/revisionDescription.ts (100%) rename {src => desktop/src}/lib/revisionList.ts (100%) rename {src => desktop/src}/lib/revisionListSettings.ts (100%) rename {src => desktop/src}/lib/roles.ts (100%) rename {src => desktop/src}/lib/router.ts (100%) rename {src => desktop/src}/lib/router/definitions.ts (100%) rename {src => desktop/src}/lib/seedRepo.ts (100%) rename {src => desktop/src}/lib/shareAction.svelte.ts (100%) rename {src => desktop/src}/lib/shortcuts.svelte.ts (100%) rename {src => desktop/src}/lib/sidebar.svelte.ts (100%) rename {src => desktop/src}/lib/sidebarResize.ts (100%) rename {src => desktop/src}/lib/sleep.ts (100%) rename {src => desktop/src}/lib/stageArtifacts.ts (100%) rename {src => desktop/src}/lib/startup.svelte.ts (100%) rename {src => desktop/src}/lib/syntax.ts (100%) rename {src => desktop/src}/lib/textareaCaret.ts (100%) rename {src => desktop/src}/lib/threads.ts (100%) rename {src => desktop/src}/lib/timelineRuns.ts (100%) rename {src => desktop/src}/lib/updateChecker.svelte.ts (100%) rename {src => desktop/src}/lib/useLocalStorage.svelte.ts (100%) rename {src => desktop/src}/lib/utils.ts (100%) rename {src => desktop/src}/lib/window.ts (100%) rename {src => desktop/src}/main.ts (100%) rename {src => desktop/src}/modals/ConfirmDeleteRelease.svelte (100%) rename {src => desktop/src}/modals/ConfirmModal.svelte (100%) rename {src => desktop/src}/modals/ConfirmRedact.svelte (100%) rename {src => desktop/src}/modals/ConfirmRegisterArtifacts.svelte (100%) rename {src => desktop/src}/modals/ConfirmUnseed.svelte (100%) rename {src => desktop/src}/modals/CreateIssue.svelte (100%) rename {src => desktop/src}/modals/CreateRelease.svelte (100%) rename {src => desktop/src}/modals/Guide.svelte (100%) rename {src => desktop/src}/modals/KeyboardShortcuts.svelte (100%) rename {src => desktop/src}/modals/NotOnThisNode.svelte (100%) rename {src => desktop/src}/modals/RawIdentityDocument.svelte (100%) rename {src => desktop/src}/modals/Settings.svelte (100%) rename {src => desktop/src}/modals/UnopenableLink.svelte (100%) rename {src => desktop/src}/views/Inbox.svelte (100%) rename {src => desktop/src}/views/auth/Auth.svelte (100%) rename {src => desktop/src}/views/auth/CreateIdentity.svelte (100%) rename {src => desktop/src}/views/auth/Layout.svelte (100%) rename {src => desktop/src}/views/repo/Identity.svelte (100%) rename {src => desktop/src}/views/repo/Issue.svelte (100%) rename {src => desktop/src}/views/repo/Issues.svelte (100%) rename {src => desktop/src}/views/repo/Layout.svelte (100%) rename {src => desktop/src}/views/repo/Patch.svelte (100%) rename {src => desktop/src}/views/repo/Patches.svelte (100%) rename {src => desktop/src}/views/repo/Release.svelte (100%) rename {src => desktop/src}/views/repo/Releases.svelte (100%) rename {src => desktop/src}/views/repo/RepoCommit.svelte (100%) rename {src => desktop/src}/views/repo/RepoCommits.svelte (100%) rename {src => desktop/src}/views/repo/RepoHome.svelte (100%) rename {src => desktop/src}/views/repo/router.ts (100%) rename {src => desktop/src}/vite-env.d.ts (100%) rename svelte.config.js => desktop/svelte.config.js (100%) rename {tests => desktop/tests}/e2e/auth.spec.ts (100%) rename {tests => desktop/tests}/e2e/clipboard.spec.ts (100%) rename {tests => desktop/tests}/e2e/createIdentity.spec.ts (100%) rename {tests => desktop/tests}/e2e/inbox.spec.ts (100%) rename {tests => desktop/tests}/e2e/keyboard.spec.ts (100%) rename {tests => desktop/tests}/e2e/navigation.spec.ts (100%) rename {tests => desktop/tests}/e2e/nodeStatus.spec.ts (100%) rename {tests => desktop/tests}/e2e/persistence.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/asciidoc.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/cobCache.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/createRelease.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/documentLinks.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/fileDrop.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/issue.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/issueEditing.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/issues.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/jobs.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/markdownRendering.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/mentions.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/patch.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/patchEditing.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/permissions.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/source.spec.ts (100%) rename {tests => desktop/tests}/e2e/repo/tasks.spec.ts (100%) rename {tests => desktop/tests}/e2e/repos.spec.ts (100%) rename {tests => desktop/tests}/e2e/seeding.spec.ts (100%) rename {tests => desktop/tests}/e2e/theme.spec.ts (100%) rename {tests => desktop/tests}/fixtures/repos/markdown.tar.bz2 (100%) rename {tests => desktop/tests}/support/cobs/issue.ts (100%) rename {tests => desktop/tests}/support/cobs/patch.ts (100%) rename {tests => desktop/tests}/support/collaboration.ts (100%) rename {tests => desktop/tests}/support/fixtures.ts (100%) rename {tests => desktop/tests}/support/globalSetup.ts (100%) rename {tests => desktop/tests}/support/heartwood-release (100%) rename {tests => desktop/tests}/support/logPrefix.ts (100%) rename {tests => desktop/tests}/support/peerManager.ts (100%) rename {tests => desktop/tests}/support/repo.ts (100%) rename {tests => desktop/tests}/support/router.ts (100%) rename {tests => desktop/tests}/support/support.ts (100%) rename {tests => desktop/tests}/unit/asciidoc.test.ts (100%) rename {tests => desktop/tests}/unit/assigneeSuggestions.test.ts (100%) rename {tests => desktop/tests}/unit/cached.test.ts (100%) rename {tests => desktop/tests}/unit/ciJobs.test.ts (100%) rename {tests => desktop/tests}/unit/cobActivity.test.ts (100%) rename {tests => desktop/tests}/unit/cobSearch.test.ts (100%) rename {tests => desktop/tests}/unit/codeCommentActions.test.ts (100%) rename {tests => desktop/tests}/unit/commentNavigation.test.ts (100%) rename {tests => desktop/tests}/unit/commentResolutions.test.ts (100%) rename {tests => desktop/tests}/unit/commentSources.test.ts (100%) rename {tests => desktop/tests}/unit/commitGroups.test.ts (100%) rename {tests => desktop/tests}/unit/debounced.svelte.test.ts (100%) rename {tests => desktop/tests}/unit/deepLink.test.ts (100%) rename {tests => desktop/tests}/unit/diffOptions.svelte.test.ts (100%) rename {tests => desktop/tests}/unit/diffText.test.ts (100%) rename {tests => desktop/tests}/unit/disableDropNavigation.test.ts (100%) rename {tests => desktop/tests}/unit/documentLinks.test.ts (100%) rename {tests => desktop/tests}/unit/draftReviewStorage.test.ts (100%) rename {tests => desktop/tests}/unit/embeds.test.ts (100%) rename {tests => desktop/tests}/unit/fileTreeExpansion.test.ts (100%) rename {tests => desktop/tests}/unit/frontmatter.test.ts (100%) rename {tests => desktop/tests}/unit/hints.test.ts (100%) rename {tests => desktop/tests}/unit/identityState.test.ts (100%) rename {tests => desktop/tests}/unit/ignoredFiles.test.ts (100%) rename {tests => desktop/tests}/unit/inboxFilter.test.ts (100%) rename {tests => desktop/tests}/unit/inputValidation.test.ts (100%) rename {tests => desktop/tests}/unit/interval.test.ts (100%) rename {tests => desktop/tests}/unit/issueCounts.test.ts (100%) rename {tests => desktop/tests}/unit/issueTimeline.test.ts (100%) rename {tests => desktop/tests}/unit/listState.test.ts (100%) rename {tests => desktop/tests}/unit/markdownFormat.test.ts (100%) rename {tests => desktop/tests}/unit/markdownPlain.test.ts (100%) rename {tests => desktop/tests}/unit/markdownTasks.test.ts (100%) rename {tests => desktop/tests}/unit/mentionTrigger.test.ts (100%) rename {tests => desktop/tests}/unit/mentions.test.ts (100%) rename {tests => desktop/tests}/unit/menuNavigation.test.ts (100%) rename {tests => desktop/tests}/unit/mermaid.test.ts (100%) rename {tests => desktop/tests}/unit/modal.test.ts (100%) rename {tests => desktop/tests}/unit/mutexExecutor.test.ts (100%) rename {tests => desktop/tests}/unit/notifications.test.ts (100%) rename {tests => desktop/tests}/unit/paginatedList.svelte.test.ts (100%) rename {tests => desktop/tests}/unit/patchContributions.test.ts (100%) rename {tests => desktop/tests}/unit/patchCounts.test.ts (100%) rename {tests => desktop/tests}/unit/patchSlice.test.ts (100%) rename {tests => desktop/tests}/unit/patchTimeline.test.ts (100%) rename {tests => desktop/tests}/unit/pierreComments.test.ts (100%) rename {tests => desktop/tests}/unit/pierreParse.test.ts (100%) rename {tests => desktop/tests}/unit/radUri.test.ts (100%) rename {tests => desktop/tests}/unit/refs.test.ts (100%) rename {tests => desktop/tests}/unit/releases.test.ts (100%) rename {tests => desktop/tests}/unit/repoImages.test.ts (100%) rename {tests => desktop/tests}/unit/repoOrdering.test.ts (100%) rename {tests => desktop/tests}/unit/repoRouter.test.ts (100%) rename {tests => desktop/tests}/unit/reviewSummary.test.ts (100%) rename {tests => desktop/tests}/unit/revisionDescription.test.ts (100%) rename {tests => desktop/tests}/unit/revisionList.test.ts (100%) rename {tests => desktop/tests}/unit/revisionListSettings.test.ts (100%) rename {tests => desktop/tests}/unit/roles.test.ts (100%) rename {tests => desktop/tests}/unit/router.test.ts (100%) rename {tests => desktop/tests}/unit/seedRepo.test.ts (100%) rename {tests => desktop/tests}/unit/shareAction.test.ts (100%) rename {tests => desktop/tests}/unit/shortcuts.svelte.test.ts (100%) rename {tests => desktop/tests}/unit/sidebar.test.ts (100%) rename {tests => desktop/tests}/unit/sidebarResize.test.ts (100%) rename {tests => desktop/tests}/unit/stageArtifacts.test.ts (100%) rename {tests => desktop/tests}/unit/support/cobs.ts (100%) rename {tests => desktop/tests}/unit/threads.test.ts (100%) rename {tests => desktop/tests}/unit/timelineRuns.test.ts (100%) rename {tests => desktop/tests}/unit/updateChecker.test.ts (100%) rename {tests => desktop/tests}/unit/useLocalStorage.test.ts (100%) rename {tests => desktop/tests}/unit/utils.test.ts (100%) rename tsconfig.json => desktop/tsconfig.json (100%) rename vite.config.ts => desktop/vite.config.ts (100%) diff --git a/.cargo/audit.toml b/desktop/.cargo/audit.toml similarity index 100% rename from .cargo/audit.toml rename to desktop/.cargo/audit.toml diff --git a/.dockerignore b/desktop/.dockerignore similarity index 100% rename from .dockerignore rename to desktop/.dockerignore diff --git a/.envrc b/desktop/.envrc similarity index 100% rename from .envrc rename to desktop/.envrc diff --git a/.github/workflows/e2e.yaml b/desktop/.github/workflows/e2e.yaml similarity index 100% rename from .github/workflows/e2e.yaml rename to desktop/.github/workflows/e2e.yaml diff --git a/.github/workflows/lint.yaml b/desktop/.github/workflows/lint.yaml similarity index 100% rename from .github/workflows/lint.yaml rename to desktop/.github/workflows/lint.yaml diff --git a/.github/workflows/unit-test.yaml b/desktop/.github/workflows/unit-test.yaml similarity index 100% rename from .github/workflows/unit-test.yaml rename to desktop/.github/workflows/unit-test.yaml diff --git a/.gitignore b/desktop/.gitignore similarity index 100% rename from .gitignore rename to desktop/.gitignore diff --git a/.npmrc b/desktop/.npmrc similarity index 100% rename from .npmrc rename to desktop/.npmrc diff --git a/.nvmrc b/desktop/.nvmrc similarity index 100% rename from .nvmrc rename to desktop/.nvmrc diff --git a/.prettierignore b/desktop/.prettierignore similarity index 100% rename from .prettierignore rename to desktop/.prettierignore diff --git a/.prettierrc b/desktop/.prettierrc similarity index 100% rename from .prettierrc rename to desktop/.prettierrc diff --git a/.ryph/Dockerfile b/desktop/.ryph/Dockerfile similarity index 100% rename from .ryph/Dockerfile rename to desktop/.ryph/Dockerfile diff --git a/.ryph/environment.md b/desktop/.ryph/environment.md similarity index 100% rename from .ryph/environment.md rename to desktop/.ryph/environment.md diff --git a/.ryph/setup.yml b/desktop/.ryph/setup.yml similarity index 100% rename from .ryph/setup.yml rename to desktop/.ryph/setup.yml diff --git a/CHANGELOG.md b/desktop/CHANGELOG.md similarity index 100% rename from CHANGELOG.md rename to desktop/CHANGELOG.md diff --git a/CLAUDE.md b/desktop/CLAUDE.md similarity index 100% rename from CLAUDE.md rename to desktop/CLAUDE.md diff --git a/Cargo.lock b/desktop/Cargo.lock similarity index 100% rename from Cargo.lock rename to desktop/Cargo.lock diff --git a/Cargo.toml b/desktop/Cargo.toml similarity index 100% rename from Cargo.toml rename to desktop/Cargo.toml diff --git a/Dockerfile.release b/desktop/Dockerfile.release similarity index 100% rename from Dockerfile.release rename to desktop/Dockerfile.release diff --git a/LICENSE b/desktop/LICENSE similarity index 100% rename from LICENSE rename to desktop/LICENSE diff --git a/README.md b/desktop/README.md similarity index 100% rename from README.md rename to desktop/README.md diff --git a/cooldown.toml b/desktop/cooldown.toml similarity index 100% rename from cooldown.toml rename to desktop/cooldown.toml diff --git a/crates/radicle-tauri/.gitignore b/desktop/crates/radicle-tauri/.gitignore similarity index 100% rename from crates/radicle-tauri/.gitignore rename to desktop/crates/radicle-tauri/.gitignore diff --git a/crates/radicle-tauri/Cargo.toml b/desktop/crates/radicle-tauri/Cargo.toml similarity index 100% rename from crates/radicle-tauri/Cargo.toml rename to desktop/crates/radicle-tauri/Cargo.toml diff --git a/crates/radicle-tauri/build.rs b/desktop/crates/radicle-tauri/build.rs similarity index 100% rename from crates/radicle-tauri/build.rs rename to desktop/crates/radicle-tauri/build.rs diff --git a/crates/radicle-tauri/capabilities/default.json b/desktop/crates/radicle-tauri/capabilities/default.json similarity index 100% rename from crates/radicle-tauri/capabilities/default.json rename to desktop/crates/radicle-tauri/capabilities/default.json diff --git a/crates/radicle-tauri/icons/128x128.png b/desktop/crates/radicle-tauri/icons/128x128.png similarity index 100% rename from crates/radicle-tauri/icons/128x128.png rename to desktop/crates/radicle-tauri/icons/128x128.png diff --git a/crates/radicle-tauri/icons/128x128@2x.png b/desktop/crates/radicle-tauri/icons/128x128@2x.png similarity index 100% rename from crates/radicle-tauri/icons/128x128@2x.png rename to desktop/crates/radicle-tauri/icons/128x128@2x.png diff --git a/crates/radicle-tauri/icons/16x16.png b/desktop/crates/radicle-tauri/icons/16x16.png similarity index 100% rename from crates/radicle-tauri/icons/16x16.png rename to desktop/crates/radicle-tauri/icons/16x16.png diff --git a/crates/radicle-tauri/icons/16x16@2x.png b/desktop/crates/radicle-tauri/icons/16x16@2x.png similarity index 100% rename from crates/radicle-tauri/icons/16x16@2x.png rename to desktop/crates/radicle-tauri/icons/16x16@2x.png diff --git a/crates/radicle-tauri/icons/24x24.png b/desktop/crates/radicle-tauri/icons/24x24.png similarity index 100% rename from crates/radicle-tauri/icons/24x24.png rename to desktop/crates/radicle-tauri/icons/24x24.png diff --git a/crates/radicle-tauri/icons/256x256.png b/desktop/crates/radicle-tauri/icons/256x256.png similarity index 100% rename from crates/radicle-tauri/icons/256x256.png rename to desktop/crates/radicle-tauri/icons/256x256.png diff --git a/crates/radicle-tauri/icons/256x256@2x.png b/desktop/crates/radicle-tauri/icons/256x256@2x.png similarity index 100% rename from crates/radicle-tauri/icons/256x256@2x.png rename to desktop/crates/radicle-tauri/icons/256x256@2x.png diff --git a/crates/radicle-tauri/icons/32x32.png b/desktop/crates/radicle-tauri/icons/32x32.png similarity index 100% rename from crates/radicle-tauri/icons/32x32.png rename to desktop/crates/radicle-tauri/icons/32x32.png diff --git a/crates/radicle-tauri/icons/32x32@2x.png b/desktop/crates/radicle-tauri/icons/32x32@2x.png similarity index 100% rename from crates/radicle-tauri/icons/32x32@2x.png rename to desktop/crates/radicle-tauri/icons/32x32@2x.png diff --git a/crates/radicle-tauri/icons/48x48.png b/desktop/crates/radicle-tauri/icons/48x48.png similarity index 100% rename from crates/radicle-tauri/icons/48x48.png rename to desktop/crates/radicle-tauri/icons/48x48.png diff --git a/crates/radicle-tauri/icons/512x512.png b/desktop/crates/radicle-tauri/icons/512x512.png similarity index 100% rename from crates/radicle-tauri/icons/512x512.png rename to desktop/crates/radicle-tauri/icons/512x512.png diff --git a/crates/radicle-tauri/icons/512x512@2x.png b/desktop/crates/radicle-tauri/icons/512x512@2x.png similarity index 100% rename from crates/radicle-tauri/icons/512x512@2x.png rename to desktop/crates/radicle-tauri/icons/512x512@2x.png diff --git a/crates/radicle-tauri/icons/64x64.png b/desktop/crates/radicle-tauri/icons/64x64.png similarity index 100% rename from crates/radicle-tauri/icons/64x64.png rename to desktop/crates/radicle-tauri/icons/64x64.png diff --git a/crates/radicle-tauri/icons/Square107x107Logo.png b/desktop/crates/radicle-tauri/icons/Square107x107Logo.png similarity index 100% rename from crates/radicle-tauri/icons/Square107x107Logo.png rename to desktop/crates/radicle-tauri/icons/Square107x107Logo.png diff --git a/crates/radicle-tauri/icons/Square142x142Logo.png b/desktop/crates/radicle-tauri/icons/Square142x142Logo.png similarity index 100% rename from crates/radicle-tauri/icons/Square142x142Logo.png rename to desktop/crates/radicle-tauri/icons/Square142x142Logo.png diff --git a/crates/radicle-tauri/icons/Square150x150Logo.png b/desktop/crates/radicle-tauri/icons/Square150x150Logo.png similarity index 100% rename from crates/radicle-tauri/icons/Square150x150Logo.png rename to desktop/crates/radicle-tauri/icons/Square150x150Logo.png diff --git a/crates/radicle-tauri/icons/Square284x284Logo.png b/desktop/crates/radicle-tauri/icons/Square284x284Logo.png similarity index 100% rename from crates/radicle-tauri/icons/Square284x284Logo.png rename to desktop/crates/radicle-tauri/icons/Square284x284Logo.png diff --git a/crates/radicle-tauri/icons/Square30x30Logo.png b/desktop/crates/radicle-tauri/icons/Square30x30Logo.png similarity index 100% rename from crates/radicle-tauri/icons/Square30x30Logo.png rename to desktop/crates/radicle-tauri/icons/Square30x30Logo.png diff --git a/crates/radicle-tauri/icons/Square310x310Logo.png b/desktop/crates/radicle-tauri/icons/Square310x310Logo.png similarity index 100% rename from crates/radicle-tauri/icons/Square310x310Logo.png rename to desktop/crates/radicle-tauri/icons/Square310x310Logo.png diff --git a/crates/radicle-tauri/icons/Square44x44Logo.png b/desktop/crates/radicle-tauri/icons/Square44x44Logo.png similarity index 100% rename from crates/radicle-tauri/icons/Square44x44Logo.png rename to desktop/crates/radicle-tauri/icons/Square44x44Logo.png diff --git a/crates/radicle-tauri/icons/Square71x71Logo.png b/desktop/crates/radicle-tauri/icons/Square71x71Logo.png similarity index 100% rename from crates/radicle-tauri/icons/Square71x71Logo.png rename to desktop/crates/radicle-tauri/icons/Square71x71Logo.png diff --git a/crates/radicle-tauri/icons/Square89x89Logo.png b/desktop/crates/radicle-tauri/icons/Square89x89Logo.png similarity index 100% rename from crates/radicle-tauri/icons/Square89x89Logo.png rename to desktop/crates/radicle-tauri/icons/Square89x89Logo.png diff --git a/crates/radicle-tauri/icons/StoreLogo.png b/desktop/crates/radicle-tauri/icons/StoreLogo.png similarity index 100% rename from crates/radicle-tauri/icons/StoreLogo.png rename to desktop/crates/radicle-tauri/icons/StoreLogo.png diff --git a/crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher.png b/desktop/crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher.png diff --git a/crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png b/desktop/crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png diff --git a/crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/desktop/crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png diff --git a/crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher.png b/desktop/crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher.png diff --git a/crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png b/desktop/crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png diff --git a/crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png b/desktop/crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png diff --git a/crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher.png b/desktop/crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher.png diff --git a/crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png b/desktop/crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png diff --git a/crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png b/desktop/crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png diff --git a/crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png b/desktop/crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png diff --git a/crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png b/desktop/crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png diff --git a/crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png b/desktop/crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png diff --git a/crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png b/desktop/crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png diff --git a/crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png b/desktop/crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png diff --git a/crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png b/desktop/crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png similarity index 100% rename from crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png rename to desktop/crates/radicle-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/crates/radicle-tauri/icons/icon.icns b/desktop/crates/radicle-tauri/icons/icon.icns similarity index 100% rename from crates/radicle-tauri/icons/icon.icns rename to desktop/crates/radicle-tauri/icons/icon.icns diff --git a/crates/radicle-tauri/icons/icon.ico b/desktop/crates/radicle-tauri/icons/icon.ico similarity index 100% rename from crates/radicle-tauri/icons/icon.ico rename to desktop/crates/radicle-tauri/icons/icon.ico diff --git a/crates/radicle-tauri/icons/icon.png b/desktop/crates/radicle-tauri/icons/icon.png similarity index 100% rename from crates/radicle-tauri/icons/icon.png rename to desktop/crates/radicle-tauri/icons/icon.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-20x20@1x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-20x20@1x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-20x20@1x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-20x20@1x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-20x20@2x-1.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-20x20@2x-1.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-20x20@2x-1.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-20x20@2x-1.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-20x20@2x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-20x20@2x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-20x20@2x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-20x20@2x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-20x20@3x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-20x20@3x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-20x20@3x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-20x20@3x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-29x29@1x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-29x29@1x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-29x29@1x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-29x29@1x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-29x29@2x-1.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-29x29@2x-1.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-29x29@2x-1.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-29x29@2x-1.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-29x29@2x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-29x29@2x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-29x29@2x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-29x29@2x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-29x29@3x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-29x29@3x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-29x29@3x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-29x29@3x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-40x40@1x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-40x40@1x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-40x40@1x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-40x40@1x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-40x40@2x-1.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-40x40@2x-1.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-40x40@2x-1.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-40x40@2x-1.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-40x40@2x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-40x40@2x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-40x40@2x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-40x40@2x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-40x40@3x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-40x40@3x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-40x40@3x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-40x40@3x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-512@2x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-512@2x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-512@2x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-512@2x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-60x60@2x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-60x60@2x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-60x60@2x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-60x60@2x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-60x60@3x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-60x60@3x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-60x60@3x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-60x60@3x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-76x76@1x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-76x76@1x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-76x76@1x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-76x76@1x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-76x76@2x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-76x76@2x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-76x76@2x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-76x76@2x.png diff --git a/crates/radicle-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/desktop/crates/radicle-tauri/icons/ios/AppIcon-83.5x83.5@2x.png similarity index 100% rename from crates/radicle-tauri/icons/ios/AppIcon-83.5x83.5@2x.png rename to desktop/crates/radicle-tauri/icons/ios/AppIcon-83.5x83.5@2x.png diff --git a/crates/radicle-tauri/main.desktop b/desktop/crates/radicle-tauri/main.desktop similarity index 100% rename from crates/radicle-tauri/main.desktop rename to desktop/crates/radicle-tauri/main.desktop diff --git a/crates/radicle-tauri/src/commands.rs b/desktop/crates/radicle-tauri/src/commands.rs similarity index 100% rename from crates/radicle-tauri/src/commands.rs rename to desktop/crates/radicle-tauri/src/commands.rs diff --git a/crates/radicle-tauri/src/commands/auth.rs b/desktop/crates/radicle-tauri/src/commands/auth.rs similarity index 100% rename from crates/radicle-tauri/src/commands/auth.rs rename to desktop/crates/radicle-tauri/src/commands/auth.rs diff --git a/crates/radicle-tauri/src/commands/cob.rs b/desktop/crates/radicle-tauri/src/commands/cob.rs similarity index 100% rename from crates/radicle-tauri/src/commands/cob.rs rename to desktop/crates/radicle-tauri/src/commands/cob.rs diff --git a/crates/radicle-tauri/src/commands/cob/issue.rs b/desktop/crates/radicle-tauri/src/commands/cob/issue.rs similarity index 100% rename from crates/radicle-tauri/src/commands/cob/issue.rs rename to desktop/crates/radicle-tauri/src/commands/cob/issue.rs diff --git a/crates/radicle-tauri/src/commands/cob/job.rs b/desktop/crates/radicle-tauri/src/commands/cob/job.rs similarity index 100% rename from crates/radicle-tauri/src/commands/cob/job.rs rename to desktop/crates/radicle-tauri/src/commands/cob/job.rs diff --git a/crates/radicle-tauri/src/commands/cob/patch.rs b/desktop/crates/radicle-tauri/src/commands/cob/patch.rs similarity index 100% rename from crates/radicle-tauri/src/commands/cob/patch.rs rename to desktop/crates/radicle-tauri/src/commands/cob/patch.rs diff --git a/crates/radicle-tauri/src/commands/cob/release.rs b/desktop/crates/radicle-tauri/src/commands/cob/release.rs similarity index 100% rename from crates/radicle-tauri/src/commands/cob/release.rs rename to desktop/crates/radicle-tauri/src/commands/cob/release.rs diff --git a/crates/radicle-tauri/src/commands/diff.rs b/desktop/crates/radicle-tauri/src/commands/diff.rs similarity index 100% rename from crates/radicle-tauri/src/commands/diff.rs rename to desktop/crates/radicle-tauri/src/commands/diff.rs diff --git a/crates/radicle-tauri/src/commands/identity.rs b/desktop/crates/radicle-tauri/src/commands/identity.rs similarity index 100% rename from crates/radicle-tauri/src/commands/identity.rs rename to desktop/crates/radicle-tauri/src/commands/identity.rs diff --git a/crates/radicle-tauri/src/commands/inbox.rs b/desktop/crates/radicle-tauri/src/commands/inbox.rs similarity index 100% rename from crates/radicle-tauri/src/commands/inbox.rs rename to desktop/crates/radicle-tauri/src/commands/inbox.rs diff --git a/crates/radicle-tauri/src/commands/profile.rs b/desktop/crates/radicle-tauri/src/commands/profile.rs similarity index 100% rename from crates/radicle-tauri/src/commands/profile.rs rename to desktop/crates/radicle-tauri/src/commands/profile.rs diff --git a/crates/radicle-tauri/src/commands/repo.rs b/desktop/crates/radicle-tauri/src/commands/repo.rs similarity index 100% rename from crates/radicle-tauri/src/commands/repo.rs rename to desktop/crates/radicle-tauri/src/commands/repo.rs diff --git a/crates/radicle-tauri/src/commands/startup.rs b/desktop/crates/radicle-tauri/src/commands/startup.rs similarity index 100% rename from crates/radicle-tauri/src/commands/startup.rs rename to desktop/crates/radicle-tauri/src/commands/startup.rs diff --git a/crates/radicle-tauri/src/commands/thread.rs b/desktop/crates/radicle-tauri/src/commands/thread.rs similarity index 100% rename from crates/radicle-tauri/src/commands/thread.rs rename to desktop/crates/radicle-tauri/src/commands/thread.rs diff --git a/crates/radicle-tauri/src/lib.rs b/desktop/crates/radicle-tauri/src/lib.rs similarity index 100% rename from crates/radicle-tauri/src/lib.rs rename to desktop/crates/radicle-tauri/src/lib.rs diff --git a/crates/radicle-tauri/src/main.rs b/desktop/crates/radicle-tauri/src/main.rs similarity index 100% rename from crates/radicle-tauri/src/main.rs rename to desktop/crates/radicle-tauri/src/main.rs diff --git a/crates/radicle-tauri/tauri.conf.json b/desktop/crates/radicle-tauri/tauri.conf.json similarity index 100% rename from crates/radicle-tauri/tauri.conf.json rename to desktop/crates/radicle-tauri/tauri.conf.json diff --git a/crates/radicle-tauri/tauri.linux.conf.json b/desktop/crates/radicle-tauri/tauri.linux.conf.json similarity index 100% rename from crates/radicle-tauri/tauri.linux.conf.json rename to desktop/crates/radicle-tauri/tauri.linux.conf.json diff --git a/crates/radicle-types/Cargo.toml b/desktop/crates/radicle-types/Cargo.toml similarity index 100% rename from crates/radicle-types/Cargo.toml rename to desktop/crates/radicle-types/Cargo.toml diff --git a/crates/radicle-types/bindings/artifact/ArtifactBinaries.ts b/desktop/crates/radicle-types/bindings/artifact/ArtifactBinaries.ts similarity index 100% rename from crates/radicle-types/bindings/artifact/ArtifactBinaries.ts rename to desktop/crates/radicle-types/bindings/artifact/ArtifactBinaries.ts diff --git a/crates/radicle-types/bindings/artifact/ArtifactNodeStatus.ts b/desktop/crates/radicle-types/bindings/artifact/ArtifactNodeStatus.ts similarity index 100% rename from crates/radicle-types/bindings/artifact/ArtifactNodeStatus.ts rename to desktop/crates/radicle-types/bindings/artifact/ArtifactNodeStatus.ts diff --git a/crates/radicle-types/bindings/artifact/ArtifactProgress.ts b/desktop/crates/radicle-types/bindings/artifact/ArtifactProgress.ts similarity index 100% rename from crates/radicle-types/bindings/artifact/ArtifactProgress.ts rename to desktop/crates/radicle-types/bindings/artifact/ArtifactProgress.ts diff --git a/crates/radicle-types/bindings/artifact/RelayHealth.ts b/desktop/crates/radicle-types/bindings/artifact/RelayHealth.ts similarity index 100% rename from crates/radicle-types/bindings/artifact/RelayHealth.ts rename to desktop/crates/radicle-types/bindings/artifact/RelayHealth.ts diff --git a/crates/radicle-types/bindings/cob/AliasSuggestion.ts b/desktop/crates/radicle-types/bindings/cob/AliasSuggestion.ts similarity index 100% rename from crates/radicle-types/bindings/cob/AliasSuggestion.ts rename to desktop/crates/radicle-types/bindings/cob/AliasSuggestion.ts diff --git a/crates/radicle-types/bindings/cob/Author.ts b/desktop/crates/radicle-types/bindings/cob/Author.ts similarity index 100% rename from crates/radicle-types/bindings/cob/Author.ts rename to desktop/crates/radicle-types/bindings/cob/Author.ts diff --git a/crates/radicle-types/bindings/cob/CacheEvent.ts b/desktop/crates/radicle-types/bindings/cob/CacheEvent.ts similarity index 100% rename from crates/radicle-types/bindings/cob/CacheEvent.ts rename to desktop/crates/radicle-types/bindings/cob/CacheEvent.ts diff --git a/crates/radicle-types/bindings/cob/CobOptions.ts b/desktop/crates/radicle-types/bindings/cob/CobOptions.ts similarity index 100% rename from crates/radicle-types/bindings/cob/CobOptions.ts rename to desktop/crates/radicle-types/bindings/cob/CobOptions.ts diff --git a/crates/radicle-types/bindings/cob/DiffOptions.ts b/desktop/crates/radicle-types/bindings/cob/DiffOptions.ts similarity index 100% rename from crates/radicle-types/bindings/cob/DiffOptions.ts rename to desktop/crates/radicle-types/bindings/cob/DiffOptions.ts diff --git a/crates/radicle-types/bindings/cob/Never.ts b/desktop/crates/radicle-types/bindings/cob/Never.ts similarity index 100% rename from crates/radicle-types/bindings/cob/Never.ts rename to desktop/crates/radicle-types/bindings/cob/Never.ts diff --git a/crates/radicle-types/bindings/cob/Operation.ts b/desktop/crates/radicle-types/bindings/cob/Operation.ts similarity index 100% rename from crates/radicle-types/bindings/cob/Operation.ts rename to desktop/crates/radicle-types/bindings/cob/Operation.ts diff --git a/crates/radicle-types/bindings/cob/PaginatedQuery.ts b/desktop/crates/radicle-types/bindings/cob/PaginatedQuery.ts similarity index 100% rename from crates/radicle-types/bindings/cob/PaginatedQuery.ts rename to desktop/crates/radicle-types/bindings/cob/PaginatedQuery.ts diff --git a/crates/radicle-types/bindings/cob/Reaction.ts b/desktop/crates/radicle-types/bindings/cob/Reaction.ts similarity index 100% rename from crates/radicle-types/bindings/cob/Reaction.ts rename to desktop/crates/radicle-types/bindings/cob/Reaction.ts diff --git a/crates/radicle-types/bindings/cob/inbox/ActionWithAuthor.ts b/desktop/crates/radicle-types/bindings/cob/inbox/ActionWithAuthor.ts similarity index 100% rename from crates/radicle-types/bindings/cob/inbox/ActionWithAuthor.ts rename to desktop/crates/radicle-types/bindings/cob/inbox/ActionWithAuthor.ts diff --git a/crates/radicle-types/bindings/cob/inbox/Issue.ts b/desktop/crates/radicle-types/bindings/cob/inbox/Issue.ts similarity index 100% rename from crates/radicle-types/bindings/cob/inbox/Issue.ts rename to desktop/crates/radicle-types/bindings/cob/inbox/Issue.ts diff --git a/crates/radicle-types/bindings/cob/inbox/NotificationCount.ts b/desktop/crates/radicle-types/bindings/cob/inbox/NotificationCount.ts similarity index 100% rename from crates/radicle-types/bindings/cob/inbox/NotificationCount.ts rename to desktop/crates/radicle-types/bindings/cob/inbox/NotificationCount.ts diff --git a/crates/radicle-types/bindings/cob/inbox/NotificationItem.ts b/desktop/crates/radicle-types/bindings/cob/inbox/NotificationItem.ts similarity index 100% rename from crates/radicle-types/bindings/cob/inbox/NotificationItem.ts rename to desktop/crates/radicle-types/bindings/cob/inbox/NotificationItem.ts diff --git a/crates/radicle-types/bindings/cob/inbox/NotificationsByRepo.ts b/desktop/crates/radicle-types/bindings/cob/inbox/NotificationsByRepo.ts similarity index 100% rename from crates/radicle-types/bindings/cob/inbox/NotificationsByRepo.ts rename to desktop/crates/radicle-types/bindings/cob/inbox/NotificationsByRepo.ts diff --git a/crates/radicle-types/bindings/cob/inbox/Patch.ts b/desktop/crates/radicle-types/bindings/cob/inbox/Patch.ts similarity index 100% rename from crates/radicle-types/bindings/cob/inbox/Patch.ts rename to desktop/crates/radicle-types/bindings/cob/inbox/Patch.ts diff --git a/crates/radicle-types/bindings/cob/inbox/RefUpdate.ts b/desktop/crates/radicle-types/bindings/cob/inbox/RefUpdate.ts similarity index 100% rename from crates/radicle-types/bindings/cob/inbox/RefUpdate.ts rename to desktop/crates/radicle-types/bindings/cob/inbox/RefUpdate.ts diff --git a/crates/radicle-types/bindings/cob/inbox/SetStatusNotifications.ts b/desktop/crates/radicle-types/bindings/cob/inbox/SetStatusNotifications.ts similarity index 100% rename from crates/radicle-types/bindings/cob/inbox/SetStatusNotifications.ts rename to desktop/crates/radicle-types/bindings/cob/inbox/SetStatusNotifications.ts diff --git a/crates/radicle-types/bindings/cob/inbox/TypedId.ts b/desktop/crates/radicle-types/bindings/cob/inbox/TypedId.ts similarity index 100% rename from crates/radicle-types/bindings/cob/inbox/TypedId.ts rename to desktop/crates/radicle-types/bindings/cob/inbox/TypedId.ts diff --git a/crates/radicle-types/bindings/cob/issue/Action.ts b/desktop/crates/radicle-types/bindings/cob/issue/Action.ts similarity index 100% rename from crates/radicle-types/bindings/cob/issue/Action.ts rename to desktop/crates/radicle-types/bindings/cob/issue/Action.ts diff --git a/crates/radicle-types/bindings/cob/issue/CloseReason.ts b/desktop/crates/radicle-types/bindings/cob/issue/CloseReason.ts similarity index 100% rename from crates/radicle-types/bindings/cob/issue/CloseReason.ts rename to desktop/crates/radicle-types/bindings/cob/issue/CloseReason.ts diff --git a/crates/radicle-types/bindings/cob/issue/Issue.ts b/desktop/crates/radicle-types/bindings/cob/issue/Issue.ts similarity index 100% rename from crates/radicle-types/bindings/cob/issue/Issue.ts rename to desktop/crates/radicle-types/bindings/cob/issue/Issue.ts diff --git a/crates/radicle-types/bindings/cob/issue/NewIssue.ts b/desktop/crates/radicle-types/bindings/cob/issue/NewIssue.ts similarity index 100% rename from crates/radicle-types/bindings/cob/issue/NewIssue.ts rename to desktop/crates/radicle-types/bindings/cob/issue/NewIssue.ts diff --git a/crates/radicle-types/bindings/cob/issue/State.ts b/desktop/crates/radicle-types/bindings/cob/issue/State.ts similarity index 100% rename from crates/radicle-types/bindings/cob/issue/State.ts rename to desktop/crates/radicle-types/bindings/cob/issue/State.ts diff --git a/crates/radicle-types/bindings/cob/patch/Action.ts b/desktop/crates/radicle-types/bindings/cob/patch/Action.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/Action.ts rename to desktop/crates/radicle-types/bindings/cob/patch/Action.ts diff --git a/crates/radicle-types/bindings/cob/patch/CreateReviewArgs.ts b/desktop/crates/radicle-types/bindings/cob/patch/CreateReviewArgs.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/CreateReviewArgs.ts rename to desktop/crates/radicle-types/bindings/cob/patch/CreateReviewArgs.ts diff --git a/crates/radicle-types/bindings/cob/patch/Edit.ts b/desktop/crates/radicle-types/bindings/cob/patch/Edit.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/Edit.ts rename to desktop/crates/radicle-types/bindings/cob/patch/Edit.ts diff --git a/crates/radicle-types/bindings/cob/patch/Patch.ts b/desktop/crates/radicle-types/bindings/cob/patch/Patch.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/Patch.ts rename to desktop/crates/radicle-types/bindings/cob/patch/Patch.ts diff --git a/crates/radicle-types/bindings/cob/patch/PatchCounts.ts b/desktop/crates/radicle-types/bindings/cob/patch/PatchCounts.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/PatchCounts.ts rename to desktop/crates/radicle-types/bindings/cob/patch/PatchCounts.ts diff --git a/crates/radicle-types/bindings/cob/patch/Review.ts b/desktop/crates/radicle-types/bindings/cob/patch/Review.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/Review.ts rename to desktop/crates/radicle-types/bindings/cob/patch/Review.ts diff --git a/crates/radicle-types/bindings/cob/patch/ReviewInit.ts b/desktop/crates/radicle-types/bindings/cob/patch/ReviewInit.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/ReviewInit.ts rename to desktop/crates/radicle-types/bindings/cob/patch/ReviewInit.ts diff --git a/crates/radicle-types/bindings/cob/patch/Reviewer.ts b/desktop/crates/radicle-types/bindings/cob/patch/Reviewer.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/Reviewer.ts rename to desktop/crates/radicle-types/bindings/cob/patch/Reviewer.ts diff --git a/crates/radicle-types/bindings/cob/patch/Revision.ts b/desktop/crates/radicle-types/bindings/cob/patch/Revision.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/Revision.ts rename to desktop/crates/radicle-types/bindings/cob/patch/Revision.ts diff --git a/crates/radicle-types/bindings/cob/patch/State.ts b/desktop/crates/radicle-types/bindings/cob/patch/State.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/State.ts rename to desktop/crates/radicle-types/bindings/cob/patch/State.ts diff --git a/crates/radicle-types/bindings/cob/patch/Verdict.ts b/desktop/crates/radicle-types/bindings/cob/patch/Verdict.ts similarity index 100% rename from crates/radicle-types/bindings/cob/patch/Verdict.ts rename to desktop/crates/radicle-types/bindings/cob/patch/Verdict.ts diff --git a/crates/radicle-types/bindings/cob/release/Artifact.ts b/desktop/crates/radicle-types/bindings/cob/release/Artifact.ts similarity index 100% rename from crates/radicle-types/bindings/cob/release/Artifact.ts rename to desktop/crates/radicle-types/bindings/cob/release/Artifact.ts diff --git a/crates/radicle-types/bindings/cob/release/ArtifactDigest.ts b/desktop/crates/radicle-types/bindings/cob/release/ArtifactDigest.ts similarity index 100% rename from crates/radicle-types/bindings/cob/release/ArtifactDigest.ts rename to desktop/crates/radicle-types/bindings/cob/release/ArtifactDigest.ts diff --git a/crates/radicle-types/bindings/cob/release/Location.ts b/desktop/crates/radicle-types/bindings/cob/release/Location.ts similarity index 100% rename from crates/radicle-types/bindings/cob/release/Location.ts rename to desktop/crates/radicle-types/bindings/cob/release/Location.ts diff --git a/crates/radicle-types/bindings/cob/release/Redaction.ts b/desktop/crates/radicle-types/bindings/cob/release/Redaction.ts similarity index 100% rename from crates/radicle-types/bindings/cob/release/Redaction.ts rename to desktop/crates/radicle-types/bindings/cob/release/Redaction.ts diff --git a/crates/radicle-types/bindings/cob/release/Release.ts b/desktop/crates/radicle-types/bindings/cob/release/Release.ts similarity index 100% rename from crates/radicle-types/bindings/cob/release/Release.ts rename to desktop/crates/radicle-types/bindings/cob/release/Release.ts diff --git a/crates/radicle-types/bindings/cob/release/ReleaseCounts.ts b/desktop/crates/radicle-types/bindings/cob/release/ReleaseCounts.ts similarity index 100% rename from crates/radicle-types/bindings/cob/release/ReleaseCounts.ts rename to desktop/crates/radicle-types/bindings/cob/release/ReleaseCounts.ts diff --git a/crates/radicle-types/bindings/cob/release/ReleaseFilter.ts b/desktop/crates/radicle-types/bindings/cob/release/ReleaseFilter.ts similarity index 100% rename from crates/radicle-types/bindings/cob/release/ReleaseFilter.ts rename to desktop/crates/radicle-types/bindings/cob/release/ReleaseFilter.ts diff --git a/crates/radicle-types/bindings/cob/release/ReleaseScope.ts b/desktop/crates/radicle-types/bindings/cob/release/ReleaseScope.ts similarity index 100% rename from crates/radicle-types/bindings/cob/release/ReleaseScope.ts rename to desktop/crates/radicle-types/bindings/cob/release/ReleaseScope.ts diff --git a/crates/radicle-types/bindings/cob/thread/CodeLocation.ts b/desktop/crates/radicle-types/bindings/cob/thread/CodeLocation.ts similarity index 100% rename from crates/radicle-types/bindings/cob/thread/CodeLocation.ts rename to desktop/crates/radicle-types/bindings/cob/thread/CodeLocation.ts diff --git a/crates/radicle-types/bindings/cob/thread/CodeRange.ts b/desktop/crates/radicle-types/bindings/cob/thread/CodeRange.ts similarity index 100% rename from crates/radicle-types/bindings/cob/thread/CodeRange.ts rename to desktop/crates/radicle-types/bindings/cob/thread/CodeRange.ts diff --git a/crates/radicle-types/bindings/cob/thread/Comment.ts b/desktop/crates/radicle-types/bindings/cob/thread/Comment.ts similarity index 100% rename from crates/radicle-types/bindings/cob/thread/Comment.ts rename to desktop/crates/radicle-types/bindings/cob/thread/Comment.ts diff --git a/crates/radicle-types/bindings/cob/thread/CreateReviewComment.ts b/desktop/crates/radicle-types/bindings/cob/thread/CreateReviewComment.ts similarity index 100% rename from crates/radicle-types/bindings/cob/thread/CreateReviewComment.ts rename to desktop/crates/radicle-types/bindings/cob/thread/CreateReviewComment.ts diff --git a/crates/radicle-types/bindings/cob/thread/Embed.ts b/desktop/crates/radicle-types/bindings/cob/thread/Embed.ts similarity index 100% rename from crates/radicle-types/bindings/cob/thread/Embed.ts rename to desktop/crates/radicle-types/bindings/cob/thread/Embed.ts diff --git a/crates/radicle-types/bindings/cob/thread/NewIssueComment.ts b/desktop/crates/radicle-types/bindings/cob/thread/NewIssueComment.ts similarity index 100% rename from crates/radicle-types/bindings/cob/thread/NewIssueComment.ts rename to desktop/crates/radicle-types/bindings/cob/thread/NewIssueComment.ts diff --git a/crates/radicle-types/bindings/cob/thread/NewPatchComment.ts b/desktop/crates/radicle-types/bindings/cob/thread/NewPatchComment.ts similarity index 100% rename from crates/radicle-types/bindings/cob/thread/NewPatchComment.ts rename to desktop/crates/radicle-types/bindings/cob/thread/NewPatchComment.ts diff --git a/crates/radicle-types/bindings/cob/thread/Thread.ts b/desktop/crates/radicle-types/bindings/cob/thread/Thread.ts similarity index 100% rename from crates/radicle-types/bindings/cob/thread/Thread.ts rename to desktop/crates/radicle-types/bindings/cob/thread/Thread.ts diff --git a/crates/radicle-types/bindings/config/Config.ts b/desktop/crates/radicle-types/bindings/config/Config.ts similarity index 100% rename from crates/radicle-types/bindings/config/Config.ts rename to desktop/crates/radicle-types/bindings/config/Config.ts diff --git a/crates/radicle-types/bindings/config/GitInfo.ts b/desktop/crates/radicle-types/bindings/config/GitInfo.ts similarity index 100% rename from crates/radicle-types/bindings/config/GitInfo.ts rename to desktop/crates/radicle-types/bindings/config/GitInfo.ts diff --git a/crates/radicle-types/bindings/diff/Added.ts b/desktop/crates/radicle-types/bindings/diff/Added.ts similarity index 100% rename from crates/radicle-types/bindings/diff/Added.ts rename to desktop/crates/radicle-types/bindings/diff/Added.ts diff --git a/crates/radicle-types/bindings/diff/Copied.ts b/desktop/crates/radicle-types/bindings/diff/Copied.ts similarity index 100% rename from crates/radicle-types/bindings/diff/Copied.ts rename to desktop/crates/radicle-types/bindings/diff/Copied.ts diff --git a/crates/radicle-types/bindings/diff/Deleted.ts b/desktop/crates/radicle-types/bindings/diff/Deleted.ts similarity index 100% rename from crates/radicle-types/bindings/diff/Deleted.ts rename to desktop/crates/radicle-types/bindings/diff/Deleted.ts diff --git a/crates/radicle-types/bindings/diff/Diff.ts b/desktop/crates/radicle-types/bindings/diff/Diff.ts similarity index 100% rename from crates/radicle-types/bindings/diff/Diff.ts rename to desktop/crates/radicle-types/bindings/diff/Diff.ts diff --git a/crates/radicle-types/bindings/diff/DiffContent.ts b/desktop/crates/radicle-types/bindings/diff/DiffContent.ts similarity index 100% rename from crates/radicle-types/bindings/diff/DiffContent.ts rename to desktop/crates/radicle-types/bindings/diff/DiffContent.ts diff --git a/crates/radicle-types/bindings/diff/FileDiff.ts b/desktop/crates/radicle-types/bindings/diff/FileDiff.ts similarity index 100% rename from crates/radicle-types/bindings/diff/FileDiff.ts rename to desktop/crates/radicle-types/bindings/diff/FileDiff.ts diff --git a/crates/radicle-types/bindings/diff/FileStats.ts b/desktop/crates/radicle-types/bindings/diff/FileStats.ts similarity index 100% rename from crates/radicle-types/bindings/diff/FileStats.ts rename to desktop/crates/radicle-types/bindings/diff/FileStats.ts diff --git a/crates/radicle-types/bindings/diff/Modified.ts b/desktop/crates/radicle-types/bindings/diff/Modified.ts similarity index 100% rename from crates/radicle-types/bindings/diff/Modified.ts rename to desktop/crates/radicle-types/bindings/diff/Modified.ts diff --git a/crates/radicle-types/bindings/diff/Moved.ts b/desktop/crates/radicle-types/bindings/diff/Moved.ts similarity index 100% rename from crates/radicle-types/bindings/diff/Moved.ts rename to desktop/crates/radicle-types/bindings/diff/Moved.ts diff --git a/crates/radicle-types/bindings/diff/Stats.ts b/desktop/crates/radicle-types/bindings/diff/Stats.ts similarity index 100% rename from crates/radicle-types/bindings/diff/Stats.ts rename to desktop/crates/radicle-types/bindings/diff/Stats.ts diff --git a/crates/radicle-types/bindings/error/ErrorWrapper.ts b/desktop/crates/radicle-types/bindings/error/ErrorWrapper.ts similarity index 100% rename from crates/radicle-types/bindings/error/ErrorWrapper.ts rename to desktop/crates/radicle-types/bindings/error/ErrorWrapper.ts diff --git a/crates/radicle-types/bindings/identity/Allowed.ts b/desktop/crates/radicle-types/bindings/identity/Allowed.ts similarity index 100% rename from crates/radicle-types/bindings/identity/Allowed.ts rename to desktop/crates/radicle-types/bindings/identity/Allowed.ts diff --git a/crates/radicle-types/bindings/identity/CanonicalRefRule.ts b/desktop/crates/radicle-types/bindings/identity/CanonicalRefRule.ts similarity index 100% rename from crates/radicle-types/bindings/identity/CanonicalRefRule.ts rename to desktop/crates/radicle-types/bindings/identity/CanonicalRefRule.ts diff --git a/crates/radicle-types/bindings/identity/Change.ts b/desktop/crates/radicle-types/bindings/identity/Change.ts similarity index 100% rename from crates/radicle-types/bindings/identity/Change.ts rename to desktop/crates/radicle-types/bindings/identity/Change.ts diff --git a/crates/radicle-types/bindings/identity/Doc.ts b/desktop/crates/radicle-types/bindings/identity/Doc.ts similarity index 100% rename from crates/radicle-types/bindings/identity/Doc.ts rename to desktop/crates/radicle-types/bindings/identity/Doc.ts diff --git a/crates/radicle-types/bindings/identity/Identity.ts b/desktop/crates/radicle-types/bindings/identity/Identity.ts similarity index 100% rename from crates/radicle-types/bindings/identity/Identity.ts rename to desktop/crates/radicle-types/bindings/identity/Identity.ts diff --git a/crates/radicle-types/bindings/identity/PayloadOperation.ts b/desktop/crates/radicle-types/bindings/identity/PayloadOperation.ts similarity index 100% rename from crates/radicle-types/bindings/identity/PayloadOperation.ts rename to desktop/crates/radicle-types/bindings/identity/PayloadOperation.ts diff --git a/crates/radicle-types/bindings/identity/Project.ts b/desktop/crates/radicle-types/bindings/identity/Project.ts similarity index 100% rename from crates/radicle-types/bindings/identity/Project.ts rename to desktop/crates/radicle-types/bindings/identity/Project.ts diff --git a/crates/radicle-types/bindings/identity/RejectedReason.ts b/desktop/crates/radicle-types/bindings/identity/RejectedReason.ts similarity index 100% rename from crates/radicle-types/bindings/identity/RejectedReason.ts rename to desktop/crates/radicle-types/bindings/identity/RejectedReason.ts diff --git a/crates/radicle-types/bindings/identity/Revision.ts b/desktop/crates/radicle-types/bindings/identity/Revision.ts similarity index 100% rename from crates/radicle-types/bindings/identity/Revision.ts rename to desktop/crates/radicle-types/bindings/identity/Revision.ts diff --git a/crates/radicle-types/bindings/identity/State.ts b/desktop/crates/radicle-types/bindings/identity/State.ts similarity index 100% rename from crates/radicle-types/bindings/identity/State.ts rename to desktop/crates/radicle-types/bindings/identity/State.ts diff --git a/crates/radicle-types/bindings/repo/Canonical.ts b/desktop/crates/radicle-types/bindings/repo/Canonical.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Canonical.ts rename to desktop/crates/radicle-types/bindings/repo/Canonical.ts diff --git a/crates/radicle-types/bindings/repo/Commit.ts b/desktop/crates/radicle-types/bindings/repo/Commit.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Commit.ts rename to desktop/crates/radicle-types/bindings/repo/Commit.ts diff --git a/crates/radicle-types/bindings/repo/Job.ts b/desktop/crates/radicle-types/bindings/repo/Job.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Job.ts rename to desktop/crates/radicle-types/bindings/repo/Job.ts diff --git a/crates/radicle-types/bindings/repo/ProjectPayload.ts b/desktop/crates/radicle-types/bindings/repo/ProjectPayload.ts similarity index 100% rename from crates/radicle-types/bindings/repo/ProjectPayload.ts rename to desktop/crates/radicle-types/bindings/repo/ProjectPayload.ts diff --git a/crates/radicle-types/bindings/repo/ProjectPayloadData.ts b/desktop/crates/radicle-types/bindings/repo/ProjectPayloadData.ts similarity index 100% rename from crates/radicle-types/bindings/repo/ProjectPayloadData.ts rename to desktop/crates/radicle-types/bindings/repo/ProjectPayloadData.ts diff --git a/crates/radicle-types/bindings/repo/ProjectPayloadMeta.ts b/desktop/crates/radicle-types/bindings/repo/ProjectPayloadMeta.ts similarity index 100% rename from crates/radicle-types/bindings/repo/ProjectPayloadMeta.ts rename to desktop/crates/radicle-types/bindings/repo/ProjectPayloadMeta.ts diff --git a/crates/radicle-types/bindings/repo/Readme.ts b/desktop/crates/radicle-types/bindings/repo/Readme.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Readme.ts rename to desktop/crates/radicle-types/bindings/repo/Readme.ts diff --git a/crates/radicle-types/bindings/repo/Remote.ts b/desktop/crates/radicle-types/bindings/repo/Remote.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Remote.ts rename to desktop/crates/radicle-types/bindings/repo/Remote.ts diff --git a/crates/radicle-types/bindings/repo/RepoCount.ts b/desktop/crates/radicle-types/bindings/repo/RepoCount.ts similarity index 100% rename from crates/radicle-types/bindings/repo/RepoCount.ts rename to desktop/crates/radicle-types/bindings/repo/RepoCount.ts diff --git a/crates/radicle-types/bindings/repo/RepoInfo.ts b/desktop/crates/radicle-types/bindings/repo/RepoInfo.ts similarity index 100% rename from crates/radicle-types/bindings/repo/RepoInfo.ts rename to desktop/crates/radicle-types/bindings/repo/RepoInfo.ts diff --git a/crates/radicle-types/bindings/repo/RepoRefs.ts b/desktop/crates/radicle-types/bindings/repo/RepoRefs.ts similarity index 100% rename from crates/radicle-types/bindings/repo/RepoRefs.ts rename to desktop/crates/radicle-types/bindings/repo/RepoRefs.ts diff --git a/crates/radicle-types/bindings/repo/RepoSummary.ts b/desktop/crates/radicle-types/bindings/repo/RepoSummary.ts similarity index 100% rename from crates/radicle-types/bindings/repo/RepoSummary.ts rename to desktop/crates/radicle-types/bindings/repo/RepoSummary.ts diff --git a/crates/radicle-types/bindings/repo/Run.ts b/desktop/crates/radicle-types/bindings/repo/Run.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Run.ts rename to desktop/crates/radicle-types/bindings/repo/Run.ts diff --git a/crates/radicle-types/bindings/repo/Status.ts b/desktop/crates/radicle-types/bindings/repo/Status.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Status.ts rename to desktop/crates/radicle-types/bindings/repo/Status.ts diff --git a/crates/radicle-types/bindings/repo/SupportedPayloads.ts b/desktop/crates/radicle-types/bindings/repo/SupportedPayloads.ts similarity index 100% rename from crates/radicle-types/bindings/repo/SupportedPayloads.ts rename to desktop/crates/radicle-types/bindings/repo/SupportedPayloads.ts diff --git a/crates/radicle-types/bindings/repo/SyncStatus.ts b/desktop/crates/radicle-types/bindings/repo/SyncStatus.ts similarity index 100% rename from crates/radicle-types/bindings/repo/SyncStatus.ts rename to desktop/crates/radicle-types/bindings/repo/SyncStatus.ts diff --git a/crates/radicle-types/bindings/repo/SyncedAt.ts b/desktop/crates/radicle-types/bindings/repo/SyncedAt.ts similarity index 100% rename from crates/radicle-types/bindings/repo/SyncedAt.ts rename to desktop/crates/radicle-types/bindings/repo/SyncedAt.ts diff --git a/crates/radicle-types/bindings/repo/Tag.ts b/desktop/crates/radicle-types/bindings/repo/Tag.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Tag.ts rename to desktop/crates/radicle-types/bindings/repo/Tag.ts diff --git a/crates/radicle-types/bindings/repo/Tagger.ts b/desktop/crates/radicle-types/bindings/repo/Tagger.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Tagger.ts rename to desktop/crates/radicle-types/bindings/repo/Tagger.ts diff --git a/crates/radicle-types/bindings/repo/TreePath.ts b/desktop/crates/radicle-types/bindings/repo/TreePath.ts similarity index 100% rename from crates/radicle-types/bindings/repo/TreePath.ts rename to desktop/crates/radicle-types/bindings/repo/TreePath.ts diff --git a/crates/radicle-types/bindings/repo/Visibility.ts b/desktop/crates/radicle-types/bindings/repo/Visibility.ts similarity index 100% rename from crates/radicle-types/bindings/repo/Visibility.ts rename to desktop/crates/radicle-types/bindings/repo/Visibility.ts diff --git a/crates/radicle-types/bindings/source/Blob.ts b/desktop/crates/radicle-types/bindings/source/Blob.ts similarity index 100% rename from crates/radicle-types/bindings/source/Blob.ts rename to desktop/crates/radicle-types/bindings/source/Blob.ts diff --git a/crates/radicle-types/bindings/source/Commit.ts b/desktop/crates/radicle-types/bindings/source/Commit.ts similarity index 100% rename from crates/radicle-types/bindings/source/Commit.ts rename to desktop/crates/radicle-types/bindings/source/Commit.ts diff --git a/crates/radicle-types/bindings/source/Entry.ts b/desktop/crates/radicle-types/bindings/source/Entry.ts similarity index 100% rename from crates/radicle-types/bindings/source/Entry.ts rename to desktop/crates/radicle-types/bindings/source/Entry.ts diff --git a/crates/radicle-types/bindings/source/EntryKind.ts b/desktop/crates/radicle-types/bindings/source/EntryKind.ts similarity index 100% rename from crates/radicle-types/bindings/source/EntryKind.ts rename to desktop/crates/radicle-types/bindings/source/EntryKind.ts diff --git a/crates/radicle-types/bindings/source/Tree.ts b/desktop/crates/radicle-types/bindings/source/Tree.ts similarity index 100% rename from crates/radicle-types/bindings/source/Tree.ts rename to desktop/crates/radicle-types/bindings/source/Tree.ts diff --git a/crates/radicle-types/src/artifact.rs b/desktop/crates/radicle-types/src/artifact.rs similarity index 100% rename from crates/radicle-types/src/artifact.rs rename to desktop/crates/radicle-types/src/artifact.rs diff --git a/crates/radicle-types/src/auth.rs b/desktop/crates/radicle-types/src/auth.rs similarity index 100% rename from crates/radicle-types/src/auth.rs rename to desktop/crates/radicle-types/src/auth.rs diff --git a/crates/radicle-types/src/binaries.rs b/desktop/crates/radicle-types/src/binaries.rs similarity index 100% rename from crates/radicle-types/src/binaries.rs rename to desktop/crates/radicle-types/src/binaries.rs diff --git a/crates/radicle-types/src/cobs.rs b/desktop/crates/radicle-types/src/cobs.rs similarity index 100% rename from crates/radicle-types/src/cobs.rs rename to desktop/crates/radicle-types/src/cobs.rs diff --git a/crates/radicle-types/src/cobs/diff.rs b/desktop/crates/radicle-types/src/cobs/diff.rs similarity index 100% rename from crates/radicle-types/src/cobs/diff.rs rename to desktop/crates/radicle-types/src/cobs/diff.rs diff --git a/crates/radicle-types/src/cobs/issue.rs b/desktop/crates/radicle-types/src/cobs/issue.rs similarity index 100% rename from crates/radicle-types/src/cobs/issue.rs rename to desktop/crates/radicle-types/src/cobs/issue.rs diff --git a/crates/radicle-types/src/cobs/job.rs b/desktop/crates/radicle-types/src/cobs/job.rs similarity index 100% rename from crates/radicle-types/src/cobs/job.rs rename to desktop/crates/radicle-types/src/cobs/job.rs diff --git a/crates/radicle-types/src/cobs/release.rs b/desktop/crates/radicle-types/src/cobs/release.rs similarity index 100% rename from crates/radicle-types/src/cobs/release.rs rename to desktop/crates/radicle-types/src/cobs/release.rs diff --git a/crates/radicle-types/src/cobs/repo.rs b/desktop/crates/radicle-types/src/cobs/repo.rs similarity index 100% rename from crates/radicle-types/src/cobs/repo.rs rename to desktop/crates/radicle-types/src/cobs/repo.rs diff --git a/crates/radicle-types/src/cobs/stream.rs b/desktop/crates/radicle-types/src/cobs/stream.rs similarity index 100% rename from crates/radicle-types/src/cobs/stream.rs rename to desktop/crates/radicle-types/src/cobs/stream.rs diff --git a/crates/radicle-types/src/cobs/stream/error.rs b/desktop/crates/radicle-types/src/cobs/stream/error.rs similarity index 100% rename from crates/radicle-types/src/cobs/stream/error.rs rename to desktop/crates/radicle-types/src/cobs/stream/error.rs diff --git a/crates/radicle-types/src/cobs/stream/iter.rs b/desktop/crates/radicle-types/src/cobs/stream/iter.rs similarity index 100% rename from crates/radicle-types/src/cobs/stream/iter.rs rename to desktop/crates/radicle-types/src/cobs/stream/iter.rs diff --git a/crates/radicle-types/src/cobs/thread.rs b/desktop/crates/radicle-types/src/cobs/thread.rs similarity index 100% rename from crates/radicle-types/src/cobs/thread.rs rename to desktop/crates/radicle-types/src/cobs/thread.rs diff --git a/crates/radicle-types/src/config.rs b/desktop/crates/radicle-types/src/config.rs similarity index 100% rename from crates/radicle-types/src/config.rs rename to desktop/crates/radicle-types/src/config.rs diff --git a/crates/radicle-types/src/diff.rs b/desktop/crates/radicle-types/src/diff.rs similarity index 100% rename from crates/radicle-types/src/diff.rs rename to desktop/crates/radicle-types/src/diff.rs diff --git a/crates/radicle-types/src/domain.rs b/desktop/crates/radicle-types/src/domain.rs similarity index 100% rename from crates/radicle-types/src/domain.rs rename to desktop/crates/radicle-types/src/domain.rs diff --git a/crates/radicle-types/src/domain/inbox.rs b/desktop/crates/radicle-types/src/domain/inbox.rs similarity index 100% rename from crates/radicle-types/src/domain/inbox.rs rename to desktop/crates/radicle-types/src/domain/inbox.rs diff --git a/crates/radicle-types/src/domain/inbox/models.rs b/desktop/crates/radicle-types/src/domain/inbox/models.rs similarity index 100% rename from crates/radicle-types/src/domain/inbox/models.rs rename to desktop/crates/radicle-types/src/domain/inbox/models.rs diff --git a/crates/radicle-types/src/domain/inbox/models/notification.rs b/desktop/crates/radicle-types/src/domain/inbox/models/notification.rs similarity index 100% rename from crates/radicle-types/src/domain/inbox/models/notification.rs rename to desktop/crates/radicle-types/src/domain/inbox/models/notification.rs diff --git a/crates/radicle-types/src/domain/inbox/service.rs b/desktop/crates/radicle-types/src/domain/inbox/service.rs similarity index 100% rename from crates/radicle-types/src/domain/inbox/service.rs rename to desktop/crates/radicle-types/src/domain/inbox/service.rs diff --git a/crates/radicle-types/src/domain/inbox/traits.rs b/desktop/crates/radicle-types/src/domain/inbox/traits.rs similarity index 100% rename from crates/radicle-types/src/domain/inbox/traits.rs rename to desktop/crates/radicle-types/src/domain/inbox/traits.rs diff --git a/crates/radicle-types/src/domain/issue.rs b/desktop/crates/radicle-types/src/domain/issue.rs similarity index 100% rename from crates/radicle-types/src/domain/issue.rs rename to desktop/crates/radicle-types/src/domain/issue.rs diff --git a/crates/radicle-types/src/domain/issue/models.rs b/desktop/crates/radicle-types/src/domain/issue/models.rs similarity index 100% rename from crates/radicle-types/src/domain/issue/models.rs rename to desktop/crates/radicle-types/src/domain/issue/models.rs diff --git a/crates/radicle-types/src/domain/issue/models/issue.rs b/desktop/crates/radicle-types/src/domain/issue/models/issue.rs similarity index 100% rename from crates/radicle-types/src/domain/issue/models/issue.rs rename to desktop/crates/radicle-types/src/domain/issue/models/issue.rs diff --git a/crates/radicle-types/src/domain/issue/service.rs b/desktop/crates/radicle-types/src/domain/issue/service.rs similarity index 100% rename from crates/radicle-types/src/domain/issue/service.rs rename to desktop/crates/radicle-types/src/domain/issue/service.rs diff --git a/crates/radicle-types/src/domain/issue/traits.rs b/desktop/crates/radicle-types/src/domain/issue/traits.rs similarity index 100% rename from crates/radicle-types/src/domain/issue/traits.rs rename to desktop/crates/radicle-types/src/domain/issue/traits.rs diff --git a/crates/radicle-types/src/domain/patch.rs b/desktop/crates/radicle-types/src/domain/patch.rs similarity index 100% rename from crates/radicle-types/src/domain/patch.rs rename to desktop/crates/radicle-types/src/domain/patch.rs diff --git a/crates/radicle-types/src/domain/patch/models.rs b/desktop/crates/radicle-types/src/domain/patch/models.rs similarity index 100% rename from crates/radicle-types/src/domain/patch/models.rs rename to desktop/crates/radicle-types/src/domain/patch/models.rs diff --git a/crates/radicle-types/src/domain/patch/models/patch.rs b/desktop/crates/radicle-types/src/domain/patch/models/patch.rs similarity index 100% rename from crates/radicle-types/src/domain/patch/models/patch.rs rename to desktop/crates/radicle-types/src/domain/patch/models/patch.rs diff --git a/crates/radicle-types/src/domain/patch/service.rs b/desktop/crates/radicle-types/src/domain/patch/service.rs similarity index 100% rename from crates/radicle-types/src/domain/patch/service.rs rename to desktop/crates/radicle-types/src/domain/patch/service.rs diff --git a/crates/radicle-types/src/domain/patch/traits.rs b/desktop/crates/radicle-types/src/domain/patch/traits.rs similarity index 100% rename from crates/radicle-types/src/domain/patch/traits.rs rename to desktop/crates/radicle-types/src/domain/patch/traits.rs diff --git a/crates/radicle-types/src/error.rs b/desktop/crates/radicle-types/src/error.rs similarity index 100% rename from crates/radicle-types/src/error.rs rename to desktop/crates/radicle-types/src/error.rs diff --git a/crates/radicle-types/src/identity.rs b/desktop/crates/radicle-types/src/identity.rs similarity index 100% rename from crates/radicle-types/src/identity.rs rename to desktop/crates/radicle-types/src/identity.rs diff --git a/crates/radicle-types/src/lib.rs b/desktop/crates/radicle-types/src/lib.rs similarity index 100% rename from crates/radicle-types/src/lib.rs rename to desktop/crates/radicle-types/src/lib.rs diff --git a/crates/radicle-types/src/outbound.rs b/desktop/crates/radicle-types/src/outbound.rs similarity index 100% rename from crates/radicle-types/src/outbound.rs rename to desktop/crates/radicle-types/src/outbound.rs diff --git a/crates/radicle-types/src/outbound/sqlite.rs b/desktop/crates/radicle-types/src/outbound/sqlite.rs similarity index 100% rename from crates/radicle-types/src/outbound/sqlite.rs rename to desktop/crates/radicle-types/src/outbound/sqlite.rs diff --git a/crates/radicle-types/src/repo.rs b/desktop/crates/radicle-types/src/repo.rs similarity index 100% rename from crates/radicle-types/src/repo.rs rename to desktop/crates/radicle-types/src/repo.rs diff --git a/crates/radicle-types/src/source.rs b/desktop/crates/radicle-types/src/source.rs similarity index 100% rename from crates/radicle-types/src/source.rs rename to desktop/crates/radicle-types/src/source.rs diff --git a/crates/radicle-types/src/source/blob.rs b/desktop/crates/radicle-types/src/source/blob.rs similarity index 100% rename from crates/radicle-types/src/source/blob.rs rename to desktop/crates/radicle-types/src/source/blob.rs diff --git a/crates/radicle-types/src/source/commit.rs b/desktop/crates/radicle-types/src/source/commit.rs similarity index 100% rename from crates/radicle-types/src/source/commit.rs rename to desktop/crates/radicle-types/src/source/commit.rs diff --git a/crates/radicle-types/src/source/tree.rs b/desktop/crates/radicle-types/src/source/tree.rs similarity index 100% rename from crates/radicle-types/src/source/tree.rs rename to desktop/crates/radicle-types/src/source/tree.rs diff --git a/crates/radicle-types/src/test.rs b/desktop/crates/radicle-types/src/test.rs similarity index 100% rename from crates/radicle-types/src/test.rs rename to desktop/crates/radicle-types/src/test.rs diff --git a/crates/radicle-types/src/traits.rs b/desktop/crates/radicle-types/src/traits.rs similarity index 100% rename from crates/radicle-types/src/traits.rs rename to desktop/crates/radicle-types/src/traits.rs diff --git a/crates/radicle-types/src/traits/artifact_node.rs b/desktop/crates/radicle-types/src/traits/artifact_node.rs similarity index 100% rename from crates/radicle-types/src/traits/artifact_node.rs rename to desktop/crates/radicle-types/src/traits/artifact_node.rs diff --git a/crates/radicle-types/src/traits/cobs.rs b/desktop/crates/radicle-types/src/traits/cobs.rs similarity index 100% rename from crates/radicle-types/src/traits/cobs.rs rename to desktop/crates/radicle-types/src/traits/cobs.rs diff --git a/crates/radicle-types/src/traits/identity.rs b/desktop/crates/radicle-types/src/traits/identity.rs similarity index 100% rename from crates/radicle-types/src/traits/identity.rs rename to desktop/crates/radicle-types/src/traits/identity.rs diff --git a/crates/radicle-types/src/traits/inbox.rs b/desktop/crates/radicle-types/src/traits/inbox.rs similarity index 100% rename from crates/radicle-types/src/traits/inbox.rs rename to desktop/crates/radicle-types/src/traits/inbox.rs diff --git a/crates/radicle-types/src/traits/issue.rs b/desktop/crates/radicle-types/src/traits/issue.rs similarity index 100% rename from crates/radicle-types/src/traits/issue.rs rename to desktop/crates/radicle-types/src/traits/issue.rs diff --git a/crates/radicle-types/src/traits/job.rs b/desktop/crates/radicle-types/src/traits/job.rs similarity index 100% rename from crates/radicle-types/src/traits/job.rs rename to desktop/crates/radicle-types/src/traits/job.rs diff --git a/crates/radicle-types/src/traits/patch.rs b/desktop/crates/radicle-types/src/traits/patch.rs similarity index 100% rename from crates/radicle-types/src/traits/patch.rs rename to desktop/crates/radicle-types/src/traits/patch.rs diff --git a/crates/radicle-types/src/traits/release.rs b/desktop/crates/radicle-types/src/traits/release.rs similarity index 100% rename from crates/radicle-types/src/traits/release.rs rename to desktop/crates/radicle-types/src/traits/release.rs diff --git a/crates/radicle-types/src/traits/release_mut.rs b/desktop/crates/radicle-types/src/traits/release_mut.rs similarity index 100% rename from crates/radicle-types/src/traits/release_mut.rs rename to desktop/crates/radicle-types/src/traits/release_mut.rs diff --git a/crates/radicle-types/src/traits/repo.rs b/desktop/crates/radicle-types/src/traits/repo.rs similarity index 100% rename from crates/radicle-types/src/traits/repo.rs rename to desktop/crates/radicle-types/src/traits/repo.rs diff --git a/crates/radicle-types/src/traits/thread.rs b/desktop/crates/radicle-types/src/traits/thread.rs similarity index 100% rename from crates/radicle-types/src/traits/thread.rs rename to desktop/crates/radicle-types/src/traits/thread.rs diff --git a/crates/test-http-api/Cargo.toml b/desktop/crates/test-http-api/Cargo.toml similarity index 100% rename from crates/test-http-api/Cargo.toml rename to desktop/crates/test-http-api/Cargo.toml diff --git a/crates/test-http-api/build.rs b/desktop/crates/test-http-api/build.rs similarity index 100% rename from crates/test-http-api/build.rs rename to desktop/crates/test-http-api/build.rs diff --git a/crates/test-http-api/src/api.rs b/desktop/crates/test-http-api/src/api.rs similarity index 100% rename from crates/test-http-api/src/api.rs rename to desktop/crates/test-http-api/src/api.rs diff --git a/crates/test-http-api/src/lib.rs b/desktop/crates/test-http-api/src/lib.rs similarity index 100% rename from crates/test-http-api/src/lib.rs rename to desktop/crates/test-http-api/src/lib.rs diff --git a/crates/test-http-api/src/main.rs b/desktop/crates/test-http-api/src/main.rs similarity index 100% rename from crates/test-http-api/src/main.rs rename to desktop/crates/test-http-api/src/main.rs diff --git a/crates/test-http-api/tests/keep_alive.rs b/desktop/crates/test-http-api/tests/keep_alive.rs similarity index 100% rename from crates/test-http-api/tests/keep_alive.rs rename to desktop/crates/test-http-api/tests/keep_alive.rs diff --git a/crates/test-http-api/tests/parity.rs b/desktop/crates/test-http-api/tests/parity.rs similarity index 100% rename from crates/test-http-api/tests/parity.rs rename to desktop/crates/test-http-api/tests/parity.rs diff --git a/docs/adr/0001-testing-strategy.md b/desktop/docs/adr/0001-testing-strategy.md similarity index 100% rename from docs/adr/0001-testing-strategy.md rename to desktop/docs/adr/0001-testing-strategy.md diff --git a/docs/adr/0002-backend-architecture.md b/desktop/docs/adr/0002-backend-architecture.md similarity index 100% rename from docs/adr/0002-backend-architecture.md rename to desktop/docs/adr/0002-backend-architecture.md diff --git a/docs/adr/0003-radicle-references.md b/desktop/docs/adr/0003-radicle-references.md similarity index 100% rename from docs/adr/0003-radicle-references.md rename to desktop/docs/adr/0003-radicle-references.md diff --git a/docs/adr/0004-untrusted-releases-and-artifacts.md b/desktop/docs/adr/0004-untrusted-releases-and-artifacts.md similarity index 100% rename from docs/adr/0004-untrusted-releases-and-artifacts.md rename to desktop/docs/adr/0004-untrusted-releases-and-artifacts.md diff --git a/docs/testing-checklist.md b/desktop/docs/testing-checklist.md similarity index 100% rename from docs/testing-checklist.md rename to desktop/docs/testing-checklist.md diff --git a/eslint.config.js b/desktop/eslint.config.js similarity index 100% rename from eslint.config.js rename to desktop/eslint.config.js diff --git a/flake.lock b/desktop/flake.lock similarity index 100% rename from flake.lock rename to desktop/flake.lock diff --git a/flake.nix b/desktop/flake.nix similarity index 100% rename from flake.nix rename to desktop/flake.nix diff --git a/index.html b/desktop/index.html similarity index 100% rename from index.html rename to desktop/index.html diff --git a/isolation/index.html b/desktop/isolation/index.html similarity index 100% rename from isolation/index.html rename to desktop/isolation/index.html diff --git a/isolation/index.js b/desktop/isolation/index.js similarity index 100% rename from isolation/index.js rename to desktop/isolation/index.js diff --git a/nix/radicle-desktop.nix b/desktop/nix/radicle-desktop.nix similarity index 100% rename from nix/radicle-desktop.nix rename to desktop/nix/radicle-desktop.nix diff --git a/package-lock.json b/desktop/package-lock.json similarity index 100% rename from package-lock.json rename to desktop/package-lock.json diff --git a/package.json b/desktop/package.json similarity index 100% rename from package.json rename to desktop/package.json diff --git a/playwright.config.ts b/desktop/playwright.config.ts similarity index 100% rename from playwright.config.ts rename to desktop/playwright.config.ts diff --git a/public/colors.css b/desktop/public/colors.css similarity index 100% rename from public/colors.css rename to desktop/public/colors.css diff --git a/public/flower.png b/desktop/public/flower.png similarity index 100% rename from public/flower.png rename to desktop/public/flower.png diff --git a/public/fonts/Booton-Medium.woff2 b/desktop/public/fonts/Booton-Medium.woff2 similarity index 100% rename from public/fonts/Booton-Medium.woff2 rename to desktop/public/fonts/Booton-Medium.woff2 diff --git a/public/fonts/Booton-Regular.woff2 b/desktop/public/fonts/Booton-Regular.woff2 similarity index 100% rename from public/fonts/Booton-Regular.woff2 rename to desktop/public/fonts/Booton-Regular.woff2 diff --git a/public/fonts/Booton-SemiBold.woff2 b/desktop/public/fonts/Booton-SemiBold.woff2 similarity index 100% rename from public/fonts/Booton-SemiBold.woff2 rename to desktop/public/fonts/Booton-SemiBold.woff2 diff --git a/public/fonts/JetBrainsMono-Bold.woff2 b/desktop/public/fonts/JetBrainsMono-Bold.woff2 similarity index 100% rename from public/fonts/JetBrainsMono-Bold.woff2 rename to desktop/public/fonts/JetBrainsMono-Bold.woff2 diff --git a/public/fonts/JetBrainsMono-Medium.woff2 b/desktop/public/fonts/JetBrainsMono-Medium.woff2 similarity index 100% rename from public/fonts/JetBrainsMono-Medium.woff2 rename to desktop/public/fonts/JetBrainsMono-Medium.woff2 diff --git a/public/fonts/JetBrainsMono-Regular.woff2 b/desktop/public/fonts/JetBrainsMono-Regular.woff2 similarity index 100% rename from public/fonts/JetBrainsMono-Regular.woff2 rename to desktop/public/fonts/JetBrainsMono-Regular.woff2 diff --git a/public/fonts/JetBrainsMono-SemiBold.woff2 b/desktop/public/fonts/JetBrainsMono-SemiBold.woff2 similarity index 100% rename from public/fonts/JetBrainsMono-SemiBold.woff2 rename to desktop/public/fonts/JetBrainsMono-SemiBold.woff2 diff --git a/public/index.css b/desktop/public/index.css similarity index 100% rename from public/index.css rename to desktop/public/index.css diff --git a/public/prettylights.css b/desktop/public/prettylights.css similarity index 100% rename from public/prettylights.css rename to desktop/public/prettylights.css diff --git a/public/radicle.svg b/desktop/public/radicle.svg similarity index 100% rename from public/radicle.svg rename to desktop/public/radicle.svg diff --git a/public/twemoji/.gitkeep b/desktop/public/twemoji/.gitkeep similarity index 100% rename from public/twemoji/.gitkeep rename to desktop/public/twemoji/.gitkeep diff --git a/public/typography.css b/desktop/public/typography.css similarity index 100% rename from public/typography.css rename to desktop/public/typography.css diff --git a/rust-toolchain.toml b/desktop/rust-toolchain.toml similarity index 100% rename from rust-toolchain.toml rename to desktop/rust-toolchain.toml diff --git a/scripts/appimage-build b/desktop/scripts/appimage-build similarity index 100% rename from scripts/appimage-build rename to desktop/scripts/appimage-build diff --git a/scripts/build-artifacts b/desktop/scripts/build-artifacts similarity index 100% rename from scripts/build-artifacts rename to desktop/scripts/build-artifacts diff --git a/scripts/check-ci b/desktop/scripts/check-ci similarity index 100% rename from scripts/check-ci rename to desktop/scripts/check-ci diff --git a/scripts/check-js b/desktop/scripts/check-js similarity index 100% rename from scripts/check-js rename to desktop/scripts/check-js diff --git a/scripts/check-rs b/desktop/scripts/check-rs similarity index 100% rename from scripts/check-rs rename to desktop/scripts/check-rs diff --git a/scripts/copy-katex-assets b/desktop/scripts/copy-katex-assets similarity index 100% rename from scripts/copy-katex-assets rename to desktop/scripts/copy-katex-assets diff --git a/scripts/install-binaries b/desktop/scripts/install-binaries similarity index 100% rename from scripts/install-binaries rename to desktop/scripts/install-binaries diff --git a/scripts/install-twemoji-assets b/desktop/scripts/install-twemoji-assets similarity index 100% rename from scripts/install-twemoji-assets rename to desktop/scripts/install-twemoji-assets diff --git a/scripts/release b/desktop/scripts/release similarity index 100% rename from scripts/release rename to desktop/scripts/release diff --git a/src/App.svelte b/desktop/src/App.svelte similarity index 100% rename from src/App.svelte rename to desktop/src/App.svelte diff --git a/src/components/AddRepoButton.svelte b/desktop/src/components/AddRepoButton.svelte similarity index 100% rename from src/components/AddRepoButton.svelte rename to desktop/src/components/AddRepoButton.svelte diff --git a/src/components/AnnounceSwitch.svelte b/desktop/src/components/AnnounceSwitch.svelte similarity index 100% rename from src/components/AnnounceSwitch.svelte rename to desktop/src/components/AnnounceSwitch.svelte diff --git a/src/components/AppSidebar.svelte b/desktop/src/components/AppSidebar.svelte similarity index 100% rename from src/components/AppSidebar.svelte rename to desktop/src/components/AppSidebar.svelte diff --git a/src/components/ArtifactDownloadButton.svelte b/desktop/src/components/ArtifactDownloadButton.svelte similarity index 100% rename from src/components/ArtifactDownloadButton.svelte rename to desktop/src/components/ArtifactDownloadButton.svelte diff --git a/src/components/ArtifactNodeStatusButton.svelte b/desktop/src/components/ArtifactNodeStatusButton.svelte similarity index 100% rename from src/components/ArtifactNodeStatusButton.svelte rename to desktop/src/components/ArtifactNodeStatusButton.svelte diff --git a/src/components/ArtifactRow.svelte b/desktop/src/components/ArtifactRow.svelte similarity index 100% rename from src/components/ArtifactRow.svelte rename to desktop/src/components/ArtifactRow.svelte diff --git a/src/components/Asciidoc.svelte b/desktop/src/components/Asciidoc.svelte similarity index 100% rename from src/components/Asciidoc.svelte rename to desktop/src/components/Asciidoc.svelte diff --git a/src/components/AssigneeInput.svelte b/desktop/src/components/AssigneeInput.svelte similarity index 100% rename from src/components/AssigneeInput.svelte rename to desktop/src/components/AssigneeInput.svelte diff --git a/src/components/BadgeCounterSwitch.svelte b/desktop/src/components/BadgeCounterSwitch.svelte similarity index 100% rename from src/components/BadgeCounterSwitch.svelte rename to desktop/src/components/BadgeCounterSwitch.svelte diff --git a/src/components/Button.svelte b/desktop/src/components/Button.svelte similarity index 100% rename from src/components/Button.svelte rename to desktop/src/components/Button.svelte diff --git a/src/components/Changes.svelte b/desktop/src/components/Changes.svelte similarity index 100% rename from src/components/Changes.svelte rename to desktop/src/components/Changes.svelte diff --git a/src/components/Checkbox.svelte b/desktop/src/components/Checkbox.svelte similarity index 100% rename from src/components/Checkbox.svelte rename to desktop/src/components/Checkbox.svelte diff --git a/src/components/CheckoutPatchButton.svelte b/desktop/src/components/CheckoutPatchButton.svelte similarity index 100% rename from src/components/CheckoutPatchButton.svelte rename to desktop/src/components/CheckoutPatchButton.svelte diff --git a/src/components/CheckoutRepoButton.svelte b/desktop/src/components/CheckoutRepoButton.svelte similarity index 100% rename from src/components/CheckoutRepoButton.svelte rename to desktop/src/components/CheckoutRepoButton.svelte diff --git a/src/components/Clipboard.svelte b/desktop/src/components/Clipboard.svelte similarity index 100% rename from src/components/Clipboard.svelte rename to desktop/src/components/Clipboard.svelte diff --git a/src/components/CobCacheWarning.svelte b/desktop/src/components/CobCacheWarning.svelte similarity index 100% rename from src/components/CobCacheWarning.svelte rename to desktop/src/components/CobCacheWarning.svelte diff --git a/src/components/CobCommitTeaser.svelte b/desktop/src/components/CobCommitTeaser.svelte similarity index 100% rename from src/components/CobCommitTeaser.svelte rename to desktop/src/components/CobCommitTeaser.svelte diff --git a/src/components/CodeFontSwitch.svelte b/desktop/src/components/CodeFontSwitch.svelte similarity index 100% rename from src/components/CodeFontSwitch.svelte rename to desktop/src/components/CodeFontSwitch.svelte diff --git a/src/components/Command.svelte b/desktop/src/components/Command.svelte similarity index 100% rename from src/components/Command.svelte rename to desktop/src/components/Command.svelte diff --git a/src/components/Comment.svelte b/desktop/src/components/Comment.svelte similarity index 100% rename from src/components/Comment.svelte rename to desktop/src/components/Comment.svelte diff --git a/src/components/CommentAnnotation.svelte b/desktop/src/components/CommentAnnotation.svelte similarity index 100% rename from src/components/CommentAnnotation.svelte rename to desktop/src/components/CommentAnnotation.svelte diff --git a/src/components/CommentToggleInput.svelte b/desktop/src/components/CommentToggleInput.svelte similarity index 100% rename from src/components/CommentToggleInput.svelte rename to desktop/src/components/CommentToggleInput.svelte diff --git a/src/components/CommitActivityItem.svelte b/desktop/src/components/CommitActivityItem.svelte similarity index 100% rename from src/components/CommitActivityItem.svelte rename to desktop/src/components/CommitActivityItem.svelte diff --git a/src/components/CommitAuthors.svelte b/desktop/src/components/CommitAuthors.svelte similarity index 100% rename from src/components/CommitAuthors.svelte rename to desktop/src/components/CommitAuthors.svelte diff --git a/src/components/CommitsContainer.svelte b/desktop/src/components/CommitsContainer.svelte similarity index 100% rename from src/components/CommitsContainer.svelte rename to desktop/src/components/CommitsContainer.svelte diff --git a/src/components/CompactCommitAuthorship.svelte b/desktop/src/components/CompactCommitAuthorship.svelte similarity index 100% rename from src/components/CompactCommitAuthorship.svelte rename to desktop/src/components/CompactCommitAuthorship.svelte diff --git a/src/components/ConfirmClear.svelte b/desktop/src/components/ConfirmClear.svelte similarity index 100% rename from src/components/ConfirmClear.svelte rename to desktop/src/components/ConfirmClear.svelte diff --git a/src/components/ConfirmDeleteButton.svelte b/desktop/src/components/ConfirmDeleteButton.svelte similarity index 100% rename from src/components/ConfirmDeleteButton.svelte rename to desktop/src/components/ConfirmDeleteButton.svelte diff --git a/src/components/ContextMenu.svelte b/desktop/src/components/ContextMenu.svelte similarity index 100% rename from src/components/ContextMenu.svelte rename to desktop/src/components/ContextMenu.svelte diff --git a/src/components/CopyableId.svelte b/desktop/src/components/CopyableId.svelte similarity index 100% rename from src/components/CopyableId.svelte rename to desktop/src/components/CopyableId.svelte diff --git a/src/components/DelegateBadge.svelte b/desktop/src/components/DelegateBadge.svelte similarity index 100% rename from src/components/DelegateBadge.svelte rename to desktop/src/components/DelegateBadge.svelte diff --git a/src/components/DiffActions.svelte b/desktop/src/components/DiffActions.svelte similarity index 100% rename from src/components/DiffActions.svelte rename to desktop/src/components/DiffActions.svelte diff --git a/src/components/DiffFileHeader.svelte b/desktop/src/components/DiffFileHeader.svelte similarity index 100% rename from src/components/DiffFileHeader.svelte rename to desktop/src/components/DiffFileHeader.svelte diff --git a/src/components/DiffStatBadge.svelte b/desktop/src/components/DiffStatBadge.svelte similarity index 100% rename from src/components/DiffStatBadge.svelte rename to desktop/src/components/DiffStatBadge.svelte diff --git a/src/components/Discussion.svelte b/desktop/src/components/Discussion.svelte similarity index 100% rename from src/components/Discussion.svelte rename to desktop/src/components/Discussion.svelte diff --git a/src/components/DraftReviewBar.svelte b/desktop/src/components/DraftReviewBar.svelte similarity index 100% rename from src/components/DraftReviewBar.svelte rename to desktop/src/components/DraftReviewBar.svelte diff --git a/src/components/DropdownList.svelte b/desktop/src/components/DropdownList.svelte similarity index 100% rename from src/components/DropdownList.svelte rename to desktop/src/components/DropdownList.svelte diff --git a/src/components/DropdownListItem.svelte b/desktop/src/components/DropdownListItem.svelte similarity index 100% rename from src/components/DropdownListItem.svelte rename to desktop/src/components/DropdownListItem.svelte diff --git a/src/components/EditableTitle.svelte b/desktop/src/components/EditableTitle.svelte similarity index 100% rename from src/components/EditableTitle.svelte rename to desktop/src/components/EditableTitle.svelte diff --git a/src/components/ExplorerMenu.svelte b/desktop/src/components/ExplorerMenu.svelte similarity index 100% rename from src/components/ExplorerMenu.svelte rename to desktop/src/components/ExplorerMenu.svelte diff --git a/src/components/ExtendedTextarea.svelte b/desktop/src/components/ExtendedTextarea.svelte similarity index 100% rename from src/components/ExtendedTextarea.svelte rename to desktop/src/components/ExtendedTextarea.svelte diff --git a/src/components/ExternalLink.svelte b/desktop/src/components/ExternalLink.svelte similarity index 100% rename from src/components/ExternalLink.svelte rename to desktop/src/components/ExternalLink.svelte diff --git a/src/components/FileBlock.svelte b/desktop/src/components/FileBlock.svelte similarity index 100% rename from src/components/FileBlock.svelte rename to desktop/src/components/FileBlock.svelte diff --git a/src/components/FileTreeFile.svelte b/desktop/src/components/FileTreeFile.svelte similarity index 100% rename from src/components/FileTreeFile.svelte rename to desktop/src/components/FileTreeFile.svelte diff --git a/src/components/FileTreeFolder.svelte b/desktop/src/components/FileTreeFolder.svelte similarity index 100% rename from src/components/FileTreeFolder.svelte rename to desktop/src/components/FileTreeFolder.svelte diff --git a/src/components/FontSizeSwitch.svelte b/desktop/src/components/FontSizeSwitch.svelte similarity index 100% rename from src/components/FontSizeSwitch.svelte rename to desktop/src/components/FontSizeSwitch.svelte diff --git a/src/components/FullWindowError.svelte b/desktop/src/components/FullWindowError.svelte similarity index 100% rename from src/components/FullWindowError.svelte rename to desktop/src/components/FullWindowError.svelte diff --git a/src/components/FullscreenModalPortal.svelte b/desktop/src/components/FullscreenModalPortal.svelte similarity index 100% rename from src/components/FullscreenModalPortal.svelte rename to desktop/src/components/FullscreenModalPortal.svelte diff --git a/src/components/FuzzySearch.svelte b/desktop/src/components/FuzzySearch.svelte similarity index 100% rename from src/components/FuzzySearch.svelte rename to desktop/src/components/FuzzySearch.svelte diff --git a/src/components/HoverPopover.svelte b/desktop/src/components/HoverPopover.svelte similarity index 100% rename from src/components/HoverPopover.svelte rename to desktop/src/components/HoverPopover.svelte diff --git a/src/components/Icon.svelte b/desktop/src/components/Icon.svelte similarity index 100% rename from src/components/Icon.svelte rename to desktop/src/components/Icon.svelte diff --git a/src/components/Id.svelte b/desktop/src/components/Id.svelte similarity index 100% rename from src/components/Id.svelte rename to desktop/src/components/Id.svelte diff --git a/src/components/IdChip.svelte b/desktop/src/components/IdChip.svelte similarity index 100% rename from src/components/IdChip.svelte rename to desktop/src/components/IdChip.svelte diff --git a/src/components/IdentityButton.svelte b/desktop/src/components/IdentityButton.svelte similarity index 100% rename from src/components/IdentityButton.svelte rename to desktop/src/components/IdentityButton.svelte diff --git a/src/components/IdentityChanges.svelte b/desktop/src/components/IdentityChanges.svelte similarity index 100% rename from src/components/IdentityChanges.svelte rename to desktop/src/components/IdentityChanges.svelte diff --git a/src/components/IdentityDocument.svelte b/desktop/src/components/IdentityDocument.svelte similarity index 100% rename from src/components/IdentityDocument.svelte rename to desktop/src/components/IdentityDocument.svelte diff --git a/src/components/IdentityJsonButton.svelte b/desktop/src/components/IdentityJsonButton.svelte similarity index 100% rename from src/components/IdentityJsonButton.svelte rename to desktop/src/components/IdentityJsonButton.svelte diff --git a/src/components/IdentityStateBadge.svelte b/desktop/src/components/IdentityStateBadge.svelte similarity index 100% rename from src/components/IdentityStateBadge.svelte rename to desktop/src/components/IdentityStateBadge.svelte diff --git a/src/components/InboxList.svelte b/desktop/src/components/InboxList.svelte similarity index 100% rename from src/components/InboxList.svelte rename to desktop/src/components/InboxList.svelte diff --git a/src/components/InlineTitle.svelte b/desktop/src/components/InlineTitle.svelte similarity index 100% rename from src/components/InlineTitle.svelte rename to desktop/src/components/InlineTitle.svelte diff --git a/src/components/IssueActivityItem.svelte b/desktop/src/components/IssueActivityItem.svelte similarity index 100% rename from src/components/IssueActivityItem.svelte rename to desktop/src/components/IssueActivityItem.svelte diff --git a/src/components/IssueDescription.svelte b/desktop/src/components/IssueDescription.svelte similarity index 100% rename from src/components/IssueDescription.svelte rename to desktop/src/components/IssueDescription.svelte diff --git a/src/components/IssueMetadata.svelte b/desktop/src/components/IssueMetadata.svelte similarity index 100% rename from src/components/IssueMetadata.svelte rename to desktop/src/components/IssueMetadata.svelte diff --git a/src/components/IssueStateButton.svelte b/desktop/src/components/IssueStateButton.svelte similarity index 100% rename from src/components/IssueStateButton.svelte rename to desktop/src/components/IssueStateButton.svelte diff --git a/src/components/IssueTeaser.svelte b/desktop/src/components/IssueTeaser.svelte similarity index 100% rename from src/components/IssueTeaser.svelte rename to desktop/src/components/IssueTeaser.svelte diff --git a/src/components/JobCob.svelte b/desktop/src/components/JobCob.svelte similarity index 100% rename from src/components/JobCob.svelte rename to desktop/src/components/JobCob.svelte diff --git a/src/components/Label.svelte b/desktop/src/components/Label.svelte similarity index 100% rename from src/components/Label.svelte rename to desktop/src/components/Label.svelte diff --git a/src/components/LabelInput.svelte b/desktop/src/components/LabelInput.svelte similarity index 100% rename from src/components/LabelInput.svelte rename to desktop/src/components/LabelInput.svelte diff --git a/src/components/Markdown.svelte b/desktop/src/components/Markdown.svelte similarity index 100% rename from src/components/Markdown.svelte rename to desktop/src/components/Markdown.svelte diff --git a/src/components/Mention.svelte b/desktop/src/components/Mention.svelte similarity index 100% rename from src/components/Mention.svelte rename to desktop/src/components/Mention.svelte diff --git a/src/components/MentionAutocomplete.svelte b/desktop/src/components/MentionAutocomplete.svelte similarity index 100% rename from src/components/MentionAutocomplete.svelte rename to desktop/src/components/MentionAutocomplete.svelte diff --git a/src/components/NewPatchButton.svelte b/desktop/src/components/NewPatchButton.svelte similarity index 100% rename from src/components/NewPatchButton.svelte rename to desktop/src/components/NewPatchButton.svelte diff --git a/src/components/NodeId.svelte b/desktop/src/components/NodeId.svelte similarity index 100% rename from src/components/NodeId.svelte rename to desktop/src/components/NodeId.svelte diff --git a/src/components/NodeStatusButton.svelte b/desktop/src/components/NodeStatusButton.svelte similarity index 100% rename from src/components/NodeStatusButton.svelte rename to desktop/src/components/NodeStatusButton.svelte diff --git a/src/components/NotificationTeaser.svelte b/desktop/src/components/NotificationTeaser.svelte similarity index 100% rename from src/components/NotificationTeaser.svelte rename to desktop/src/components/NotificationTeaser.svelte diff --git a/src/components/NotificationsByRepo.svelte b/desktop/src/components/NotificationsByRepo.svelte similarity index 100% rename from src/components/NotificationsByRepo.svelte rename to desktop/src/components/NotificationsByRepo.svelte diff --git a/src/components/PatchActivityItem.svelte b/desktop/src/components/PatchActivityItem.svelte similarity index 100% rename from src/components/PatchActivityItem.svelte rename to desktop/src/components/PatchActivityItem.svelte diff --git a/src/components/PatchMetadata.svelte b/desktop/src/components/PatchMetadata.svelte similarity index 100% rename from src/components/PatchMetadata.svelte rename to desktop/src/components/PatchMetadata.svelte diff --git a/src/components/PatchStateButton.svelte b/desktop/src/components/PatchStateButton.svelte similarity index 100% rename from src/components/PatchStateButton.svelte rename to desktop/src/components/PatchStateButton.svelte diff --git a/src/components/PatchTeaser.svelte b/desktop/src/components/PatchTeaser.svelte similarity index 100% rename from src/components/PatchTeaser.svelte rename to desktop/src/components/PatchTeaser.svelte diff --git a/src/components/Path.svelte b/desktop/src/components/Path.svelte similarity index 100% rename from src/components/Path.svelte rename to desktop/src/components/Path.svelte diff --git a/src/components/PeerSelector/Peer.svelte b/desktop/src/components/PeerSelector/Peer.svelte similarity index 100% rename from src/components/PeerSelector/Peer.svelte rename to desktop/src/components/PeerSelector/Peer.svelte diff --git a/src/components/PeerSelector/PeerSelector.svelte b/desktop/src/components/PeerSelector/PeerSelector.svelte similarity index 100% rename from src/components/PeerSelector/PeerSelector.svelte rename to desktop/src/components/PeerSelector/PeerSelector.svelte diff --git a/src/components/PeerSelector/TagIcon.svelte b/desktop/src/components/PeerSelector/TagIcon.svelte similarity index 100% rename from src/components/PeerSelector/TagIcon.svelte rename to desktop/src/components/PeerSelector/TagIcon.svelte diff --git a/src/components/PierreDiff.svelte b/desktop/src/components/PierreDiff.svelte similarity index 100% rename from src/components/PierreDiff.svelte rename to desktop/src/components/PierreDiff.svelte diff --git a/src/components/PierreFile.svelte b/desktop/src/components/PierreFile.svelte similarity index 100% rename from src/components/PierreFile.svelte rename to desktop/src/components/PierreFile.svelte diff --git a/src/components/PierreSnippet.svelte b/desktop/src/components/PierreSnippet.svelte similarity index 100% rename from src/components/PierreSnippet.svelte rename to desktop/src/components/PierreSnippet.svelte diff --git a/src/components/PierreTree.svelte b/desktop/src/components/PierreTree.svelte similarity index 100% rename from src/components/PierreTree.svelte rename to desktop/src/components/PierreTree.svelte diff --git a/src/components/Popover.svelte b/desktop/src/components/Popover.svelte similarity index 100% rename from src/components/Popover.svelte rename to desktop/src/components/Popover.svelte diff --git a/src/components/PreviewSwitch.svelte b/desktop/src/components/PreviewSwitch.svelte similarity index 100% rename from src/components/PreviewSwitch.svelte rename to desktop/src/components/PreviewSwitch.svelte diff --git a/src/components/RadicleWordmark.svelte b/desktop/src/components/RadicleWordmark.svelte similarity index 100% rename from src/components/RadicleWordmark.svelte rename to desktop/src/components/RadicleWordmark.svelte diff --git a/src/components/ReactionSelector.svelte b/desktop/src/components/ReactionSelector.svelte similarity index 100% rename from src/components/ReactionSelector.svelte rename to desktop/src/components/ReactionSelector.svelte diff --git a/src/components/Reactions.svelte b/desktop/src/components/Reactions.svelte similarity index 100% rename from src/components/Reactions.svelte rename to desktop/src/components/Reactions.svelte diff --git a/src/components/ReferenceLink.svelte b/desktop/src/components/ReferenceLink.svelte similarity index 100% rename from src/components/ReferenceLink.svelte rename to desktop/src/components/ReferenceLink.svelte diff --git a/src/components/ReleaseMetadata.svelte b/desktop/src/components/ReleaseMetadata.svelte similarity index 100% rename from src/components/ReleaseMetadata.svelte rename to desktop/src/components/ReleaseMetadata.svelte diff --git a/src/components/ReleaseTeaser.svelte b/desktop/src/components/ReleaseTeaser.svelte similarity index 100% rename from src/components/ReleaseTeaser.svelte rename to desktop/src/components/ReleaseTeaser.svelte diff --git a/src/components/RepoAvatar.svelte b/desktop/src/components/RepoAvatar.svelte similarity index 100% rename from src/components/RepoAvatar.svelte rename to desktop/src/components/RepoAvatar.svelte diff --git a/src/components/RepoHeader.svelte b/desktop/src/components/RepoHeader.svelte similarity index 100% rename from src/components/RepoHeader.svelte rename to desktop/src/components/RepoHeader.svelte diff --git a/src/components/RepoListSwitch.svelte b/desktop/src/components/RepoListSwitch.svelte similarity index 100% rename from src/components/RepoListSwitch.svelte rename to desktop/src/components/RepoListSwitch.svelte diff --git a/src/components/ReviewCodeThread.svelte b/desktop/src/components/ReviewCodeThread.svelte similarity index 100% rename from src/components/ReviewCodeThread.svelte rename to desktop/src/components/ReviewCodeThread.svelte diff --git a/src/components/ReviewCommentList.svelte b/desktop/src/components/ReviewCommentList.svelte similarity index 100% rename from src/components/ReviewCommentList.svelte rename to desktop/src/components/ReviewCommentList.svelte diff --git a/src/components/ReviewItem.svelte b/desktop/src/components/ReviewItem.svelte similarity index 100% rename from src/components/ReviewItem.svelte rename to desktop/src/components/ReviewItem.svelte diff --git a/src/components/ReviewPage.svelte b/desktop/src/components/ReviewPage.svelte similarity index 100% rename from src/components/ReviewPage.svelte rename to desktop/src/components/ReviewPage.svelte diff --git a/src/components/ReviewProgressChip.svelte b/desktop/src/components/ReviewProgressChip.svelte similarity index 100% rename from src/components/ReviewProgressChip.svelte rename to desktop/src/components/ReviewProgressChip.svelte diff --git a/src/components/ReviewSummary.svelte b/desktop/src/components/ReviewSummary.svelte similarity index 100% rename from src/components/ReviewSummary.svelte rename to desktop/src/components/ReviewSummary.svelte diff --git a/src/components/Revision.svelte b/desktop/src/components/Revision.svelte similarity index 100% rename from src/components/Revision.svelte rename to desktop/src/components/Revision.svelte diff --git a/src/components/ScrollArea.svelte b/desktop/src/components/ScrollArea.svelte similarity index 100% rename from src/components/ScrollArea.svelte rename to desktop/src/components/ScrollArea.svelte diff --git a/src/components/SegmentedSwitch.svelte b/desktop/src/components/SegmentedSwitch.svelte similarity index 100% rename from src/components/SegmentedSwitch.svelte rename to desktop/src/components/SegmentedSwitch.svelte diff --git a/src/components/ShareButton.svelte b/desktop/src/components/ShareButton.svelte similarity index 100% rename from src/components/ShareButton.svelte rename to desktop/src/components/ShareButton.svelte diff --git a/src/components/SidebarRepoList.svelte b/desktop/src/components/SidebarRepoList.svelte similarity index 100% rename from src/components/SidebarRepoList.svelte rename to desktop/src/components/SidebarRepoList.svelte diff --git a/src/components/SourceHeader.svelte b/desktop/src/components/SourceHeader.svelte similarity index 100% rename from src/components/SourceHeader.svelte rename to desktop/src/components/SourceHeader.svelte diff --git a/src/components/Spinner.svelte b/desktop/src/components/Spinner.svelte similarity index 100% rename from src/components/Spinner.svelte rename to desktop/src/components/Spinner.svelte diff --git a/src/components/TextInput.svelte b/desktop/src/components/TextInput.svelte similarity index 100% rename from src/components/TextInput.svelte rename to desktop/src/components/TextInput.svelte diff --git a/src/components/Textarea.svelte b/desktop/src/components/Textarea.svelte similarity index 100% rename from src/components/Textarea.svelte rename to desktop/src/components/Textarea.svelte diff --git a/src/components/ThemeSwitch.svelte b/desktop/src/components/ThemeSwitch.svelte similarity index 100% rename from src/components/ThemeSwitch.svelte rename to desktop/src/components/ThemeSwitch.svelte diff --git a/src/components/Thread.svelte b/desktop/src/components/Thread.svelte similarity index 100% rename from src/components/Thread.svelte rename to desktop/src/components/Thread.svelte diff --git a/src/components/TooltipBadge.svelte b/desktop/src/components/TooltipBadge.svelte similarity index 100% rename from src/components/TooltipBadge.svelte rename to desktop/src/components/TooltipBadge.svelte diff --git a/src/components/Topbar.svelte b/desktop/src/components/Topbar.svelte similarity index 100% rename from src/components/Topbar.svelte rename to desktop/src/components/Topbar.svelte diff --git a/src/components/Tree.svelte b/desktop/src/components/Tree.svelte similarity index 100% rename from src/components/Tree.svelte rename to desktop/src/components/Tree.svelte diff --git a/src/components/UntrustedWarning.svelte b/desktop/src/components/UntrustedWarning.svelte similarity index 100% rename from src/components/UntrustedWarning.svelte rename to desktop/src/components/UntrustedWarning.svelte diff --git a/src/components/UpdateSwitch.svelte b/desktop/src/components/UpdateSwitch.svelte similarity index 100% rename from src/components/UpdateSwitch.svelte rename to desktop/src/components/UpdateSwitch.svelte diff --git a/src/components/UserAvatar.svelte b/desktop/src/components/UserAvatar.svelte similarity index 100% rename from src/components/UserAvatar.svelte rename to desktop/src/components/UserAvatar.svelte diff --git a/src/components/VirtualList.svelte b/desktop/src/components/VirtualList.svelte similarity index 100% rename from src/components/VirtualList.svelte rename to desktop/src/components/VirtualList.svelte diff --git a/src/components/VisibilityBadge.svelte b/desktop/src/components/VisibilityBadge.svelte similarity index 100% rename from src/components/VisibilityBadge.svelte rename to desktop/src/components/VisibilityBadge.svelte diff --git a/src/components/YouBadge.svelte b/desktop/src/components/YouBadge.svelte similarity index 100% rename from src/components/YouBadge.svelte rename to desktop/src/components/YouBadge.svelte diff --git a/src/components/commentAnnotationState.svelte.ts b/desktop/src/components/commentAnnotationState.svelte.ts similarity index 100% rename from src/components/commentAnnotationState.svelte.ts rename to desktop/src/components/commentAnnotationState.svelte.ts diff --git a/src/components/diffFileHeaderState.svelte.ts b/desktop/src/components/diffFileHeaderState.svelte.ts similarity index 100% rename from src/components/diffFileHeaderState.svelte.ts rename to desktop/src/components/diffFileHeaderState.svelte.ts diff --git a/src/components/usePinnedDragReorder.svelte.ts b/desktop/src/components/usePinnedDragReorder.svelte.ts similarity index 100% rename from src/components/usePinnedDragReorder.svelte.ts rename to desktop/src/components/usePinnedDragReorder.svelte.ts diff --git a/src/global.d.ts b/desktop/src/global.d.ts similarity index 100% rename from src/global.d.ts rename to desktop/src/global.d.ts diff --git a/src/lib/appearance.svelte.ts b/desktop/src/lib/appearance.svelte.ts similarity index 100% rename from src/lib/appearance.svelte.ts rename to desktop/src/lib/appearance.svelte.ts diff --git a/src/lib/artifactPickers.ts b/desktop/src/lib/artifactPickers.ts similarity index 100% rename from src/lib/artifactPickers.ts rename to desktop/src/lib/artifactPickers.ts diff --git a/src/lib/asciidoc.ts b/desktop/src/lib/asciidoc.ts similarity index 100% rename from src/lib/asciidoc.ts rename to desktop/src/lib/asciidoc.ts diff --git a/src/lib/assigneeSuggestions.ts b/desktop/src/lib/assigneeSuggestions.ts similarity index 100% rename from src/lib/assigneeSuggestions.ts rename to desktop/src/lib/assigneeSuggestions.ts diff --git a/src/lib/auth.svelte.ts b/desktop/src/lib/auth.svelte.ts similarity index 100% rename from src/lib/auth.svelte.ts rename to desktop/src/lib/auth.svelte.ts diff --git a/src/lib/avatar.ts b/desktop/src/lib/avatar.ts similarity index 100% rename from src/lib/avatar.ts rename to desktop/src/lib/avatar.ts diff --git a/src/lib/cached.ts b/desktop/src/lib/cached.ts similarity index 100% rename from src/lib/cached.ts rename to desktop/src/lib/cached.ts diff --git a/src/lib/checkRadicleCLI.svelte.ts b/desktop/src/lib/checkRadicleCLI.svelte.ts similarity index 100% rename from src/lib/checkRadicleCLI.svelte.ts rename to desktop/src/lib/checkRadicleCLI.svelte.ts diff --git a/src/lib/ciJobs.ts b/desktop/src/lib/ciJobs.ts similarity index 100% rename from src/lib/ciJobs.ts rename to desktop/src/lib/ciJobs.ts diff --git a/src/lib/cobActivity.ts b/desktop/src/lib/cobActivity.ts similarity index 100% rename from src/lib/cobActivity.ts rename to desktop/src/lib/cobActivity.ts diff --git a/src/lib/cobSearch.ts b/desktop/src/lib/cobSearch.ts similarity index 100% rename from src/lib/cobSearch.ts rename to desktop/src/lib/cobSearch.ts diff --git a/src/lib/codeBlocks.ts b/desktop/src/lib/codeBlocks.ts similarity index 100% rename from src/lib/codeBlocks.ts rename to desktop/src/lib/codeBlocks.ts diff --git a/src/lib/codeCommentActions.ts b/desktop/src/lib/codeCommentActions.ts similarity index 100% rename from src/lib/codeCommentActions.ts rename to desktop/src/lib/codeCommentActions.ts diff --git a/src/lib/codeComments.ts b/desktop/src/lib/codeComments.ts similarity index 100% rename from src/lib/codeComments.ts rename to desktop/src/lib/codeComments.ts diff --git a/src/lib/commentNavigation.ts b/desktop/src/lib/commentNavigation.ts similarity index 100% rename from src/lib/commentNavigation.ts rename to desktop/src/lib/commentNavigation.ts diff --git a/src/lib/commentResolutions.ts b/desktop/src/lib/commentResolutions.ts similarity index 100% rename from src/lib/commentResolutions.ts rename to desktop/src/lib/commentResolutions.ts diff --git a/src/lib/commentSources.ts b/desktop/src/lib/commentSources.ts similarity index 100% rename from src/lib/commentSources.ts rename to desktop/src/lib/commentSources.ts diff --git a/src/lib/commitGroups.ts b/desktop/src/lib/commitGroups.ts similarity index 100% rename from src/lib/commitGroups.ts rename to desktop/src/lib/commitGroups.ts diff --git a/src/lib/debounced.svelte.ts b/desktop/src/lib/debounced.svelte.ts similarity index 100% rename from src/lib/debounced.svelte.ts rename to desktop/src/lib/debounced.svelte.ts diff --git a/src/lib/deepLink.ts b/desktop/src/lib/deepLink.ts similarity index 100% rename from src/lib/deepLink.ts rename to desktop/src/lib/deepLink.ts diff --git a/src/lib/diffOptions.svelte.ts b/desktop/src/lib/diffOptions.svelte.ts similarity index 100% rename from src/lib/diffOptions.svelte.ts rename to desktop/src/lib/diffOptions.svelte.ts diff --git a/src/lib/diffText.ts b/desktop/src/lib/diffText.ts similarity index 100% rename from src/lib/diffText.ts rename to desktop/src/lib/diffText.ts diff --git a/src/lib/disableDropNavigation.ts b/desktop/src/lib/disableDropNavigation.ts similarity index 100% rename from src/lib/disableDropNavigation.ts rename to desktop/src/lib/disableDropNavigation.ts diff --git a/src/lib/disableNativeContextMenu.ts b/desktop/src/lib/disableNativeContextMenu.ts similarity index 100% rename from src/lib/disableNativeContextMenu.ts rename to desktop/src/lib/disableNativeContextMenu.ts diff --git a/src/lib/documentLinks.ts b/desktop/src/lib/documentLinks.ts similarity index 100% rename from src/lib/documentLinks.ts rename to desktop/src/lib/documentLinks.ts diff --git a/src/lib/draftReviewStorage.ts b/desktop/src/lib/draftReviewStorage.ts similarity index 100% rename from src/lib/draftReviewStorage.ts rename to desktop/src/lib/draftReviewStorage.ts diff --git a/src/lib/embeds.ts b/desktop/src/lib/embeds.ts similarity index 100% rename from src/lib/embeds.ts rename to desktop/src/lib/embeds.ts diff --git a/src/lib/emojis.ts b/desktop/src/lib/emojis.ts similarity index 100% rename from src/lib/emojis.ts rename to desktop/src/lib/emojis.ts diff --git a/src/lib/events.ts b/desktop/src/lib/events.ts similarity index 100% rename from src/lib/events.ts rename to desktop/src/lib/events.ts diff --git a/src/lib/fileTreeExpansion.ts b/desktop/src/lib/fileTreeExpansion.ts similarity index 100% rename from src/lib/fileTreeExpansion.ts rename to desktop/src/lib/fileTreeExpansion.ts diff --git a/src/lib/flip.ts b/desktop/src/lib/flip.ts similarity index 100% rename from src/lib/flip.ts rename to desktop/src/lib/flip.ts diff --git a/src/lib/frontmatter.ts b/desktop/src/lib/frontmatter.ts similarity index 100% rename from src/lib/frontmatter.ts rename to desktop/src/lib/frontmatter.ts diff --git a/src/lib/hints.ts b/desktop/src/lib/hints.ts similarity index 100% rename from src/lib/hints.ts rename to desktop/src/lib/hints.ts diff --git a/src/lib/identityState.ts b/desktop/src/lib/identityState.ts similarity index 100% rename from src/lib/identityState.ts rename to desktop/src/lib/identityState.ts diff --git a/src/lib/ignoredFiles.ts b/desktop/src/lib/ignoredFiles.ts similarity index 100% rename from src/lib/ignoredFiles.ts rename to desktop/src/lib/ignoredFiles.ts diff --git a/src/lib/inboxFilter.ts b/desktop/src/lib/inboxFilter.ts similarity index 100% rename from src/lib/inboxFilter.ts rename to desktop/src/lib/inboxFilter.ts diff --git a/src/lib/inputPopover.ts b/desktop/src/lib/inputPopover.ts similarity index 100% rename from src/lib/inputPopover.ts rename to desktop/src/lib/inputPopover.ts diff --git a/src/lib/inputValidation.ts b/desktop/src/lib/inputValidation.ts similarity index 100% rename from src/lib/inputValidation.ts rename to desktop/src/lib/inputValidation.ts diff --git a/src/lib/interval.ts b/desktop/src/lib/interval.ts similarity index 100% rename from src/lib/interval.ts rename to desktop/src/lib/interval.ts diff --git a/src/lib/invoke.ts b/desktop/src/lib/invoke.ts similarity index 100% rename from src/lib/invoke.ts rename to desktop/src/lib/invoke.ts diff --git a/src/lib/issueCounts.svelte.ts b/desktop/src/lib/issueCounts.svelte.ts similarity index 100% rename from src/lib/issueCounts.svelte.ts rename to desktop/src/lib/issueCounts.svelte.ts diff --git a/src/lib/issueTimeline.ts b/desktop/src/lib/issueTimeline.ts similarity index 100% rename from src/lib/issueTimeline.ts rename to desktop/src/lib/issueTimeline.ts diff --git a/src/lib/listState.ts b/desktop/src/lib/listState.ts similarity index 100% rename from src/lib/listState.ts rename to desktop/src/lib/listState.ts diff --git a/src/lib/markdown.ts b/desktop/src/lib/markdown.ts similarity index 100% rename from src/lib/markdown.ts rename to desktop/src/lib/markdown.ts diff --git a/src/lib/markdownFormat.ts b/desktop/src/lib/markdownFormat.ts similarity index 100% rename from src/lib/markdownFormat.ts rename to desktop/src/lib/markdownFormat.ts diff --git a/src/lib/markdownPlain.ts b/desktop/src/lib/markdownPlain.ts similarity index 100% rename from src/lib/markdownPlain.ts rename to desktop/src/lib/markdownPlain.ts diff --git a/src/lib/mentionTrigger.ts b/desktop/src/lib/mentionTrigger.ts similarity index 100% rename from src/lib/mentionTrigger.ts rename to desktop/src/lib/mentionTrigger.ts diff --git a/src/lib/mentions.ts b/desktop/src/lib/mentions.ts similarity index 100% rename from src/lib/mentions.ts rename to desktop/src/lib/mentions.ts diff --git a/src/lib/menuNavigation.ts b/desktop/src/lib/menuNavigation.ts similarity index 100% rename from src/lib/menuNavigation.ts rename to desktop/src/lib/menuNavigation.ts diff --git a/src/lib/mermaid.ts b/desktop/src/lib/mermaid.ts similarity index 100% rename from src/lib/mermaid.ts rename to desktop/src/lib/mermaid.ts diff --git a/src/lib/modal.ts b/desktop/src/lib/modal.ts similarity index 100% rename from src/lib/modal.ts rename to desktop/src/lib/modal.ts diff --git a/src/lib/mutexExecutor.ts b/desktop/src/lib/mutexExecutor.ts similarity index 100% rename from src/lib/mutexExecutor.ts rename to desktop/src/lib/mutexExecutor.ts diff --git a/src/lib/notification.ts b/desktop/src/lib/notification.ts similarity index 100% rename from src/lib/notification.ts rename to desktop/src/lib/notification.ts diff --git a/src/lib/notificationCount.svelte.ts b/desktop/src/lib/notificationCount.svelte.ts similarity index 100% rename from src/lib/notificationCount.svelte.ts rename to desktop/src/lib/notificationCount.svelte.ts diff --git a/src/lib/paginatedList.svelte.ts b/desktop/src/lib/paginatedList.svelte.ts similarity index 100% rename from src/lib/paginatedList.svelte.ts rename to desktop/src/lib/paginatedList.svelte.ts diff --git a/src/lib/patchActivityContext.ts b/desktop/src/lib/patchActivityContext.ts similarity index 100% rename from src/lib/patchActivityContext.ts rename to desktop/src/lib/patchActivityContext.ts diff --git a/src/lib/patchContributions.ts b/desktop/src/lib/patchContributions.ts similarity index 100% rename from src/lib/patchContributions.ts rename to desktop/src/lib/patchContributions.ts diff --git a/src/lib/patchCounts.svelte.ts b/desktop/src/lib/patchCounts.svelte.ts similarity index 100% rename from src/lib/patchCounts.svelte.ts rename to desktop/src/lib/patchCounts.svelte.ts diff --git a/src/lib/patchSlice.ts b/desktop/src/lib/patchSlice.ts similarity index 100% rename from src/lib/patchSlice.ts rename to desktop/src/lib/patchSlice.ts diff --git a/src/lib/patchTimeline.ts b/desktop/src/lib/patchTimeline.ts similarity index 100% rename from src/lib/patchTimeline.ts rename to desktop/src/lib/patchTimeline.ts diff --git a/src/lib/pierreComments.ts b/desktop/src/lib/pierreComments.ts similarity index 100% rename from src/lib/pierreComments.ts rename to desktop/src/lib/pierreComments.ts diff --git a/src/lib/pierreParse.ts b/desktop/src/lib/pierreParse.ts similarity index 100% rename from src/lib/pierreParse.ts rename to desktop/src/lib/pierreParse.ts diff --git a/src/lib/pierreParse.worker.ts b/desktop/src/lib/pierreParse.worker.ts similarity index 100% rename from src/lib/pierreParse.worker.ts rename to desktop/src/lib/pierreParse.worker.ts diff --git a/src/lib/pierreView.ts b/desktop/src/lib/pierreView.ts similarity index 100% rename from src/lib/pierreView.ts rename to desktop/src/lib/pierreView.ts diff --git a/src/lib/portal.ts b/desktop/src/lib/portal.ts similarity index 100% rename from src/lib/portal.ts rename to desktop/src/lib/portal.ts diff --git a/src/lib/radUri.ts b/desktop/src/lib/radUri.ts similarity index 100% rename from src/lib/radUri.ts rename to desktop/src/lib/radUri.ts diff --git a/src/lib/refs.ts b/desktop/src/lib/refs.ts similarity index 100% rename from src/lib/refs.ts rename to desktop/src/lib/refs.ts diff --git a/src/lib/releases.ts b/desktop/src/lib/releases.ts similarity index 100% rename from src/lib/releases.ts rename to desktop/src/lib/releases.ts diff --git a/src/lib/repoImages.ts b/desktop/src/lib/repoImages.ts similarity index 100% rename from src/lib/repoImages.ts rename to desktop/src/lib/repoImages.ts diff --git a/src/lib/repoListScope.ts b/desktop/src/lib/repoListScope.ts similarity index 100% rename from src/lib/repoListScope.ts rename to desktop/src/lib/repoListScope.ts diff --git a/src/lib/repoOrdering.ts b/desktop/src/lib/repoOrdering.ts similarity index 100% rename from src/lib/repoOrdering.ts rename to desktop/src/lib/repoOrdering.ts diff --git a/src/lib/reviewSummary.ts b/desktop/src/lib/reviewSummary.ts similarity index 100% rename from src/lib/reviewSummary.ts rename to desktop/src/lib/reviewSummary.ts diff --git a/src/lib/revisionDescription.ts b/desktop/src/lib/revisionDescription.ts similarity index 100% rename from src/lib/revisionDescription.ts rename to desktop/src/lib/revisionDescription.ts diff --git a/src/lib/revisionList.ts b/desktop/src/lib/revisionList.ts similarity index 100% rename from src/lib/revisionList.ts rename to desktop/src/lib/revisionList.ts diff --git a/src/lib/revisionListSettings.ts b/desktop/src/lib/revisionListSettings.ts similarity index 100% rename from src/lib/revisionListSettings.ts rename to desktop/src/lib/revisionListSettings.ts diff --git a/src/lib/roles.ts b/desktop/src/lib/roles.ts similarity index 100% rename from src/lib/roles.ts rename to desktop/src/lib/roles.ts diff --git a/src/lib/router.ts b/desktop/src/lib/router.ts similarity index 100% rename from src/lib/router.ts rename to desktop/src/lib/router.ts diff --git a/src/lib/router/definitions.ts b/desktop/src/lib/router/definitions.ts similarity index 100% rename from src/lib/router/definitions.ts rename to desktop/src/lib/router/definitions.ts diff --git a/src/lib/seedRepo.ts b/desktop/src/lib/seedRepo.ts similarity index 100% rename from src/lib/seedRepo.ts rename to desktop/src/lib/seedRepo.ts diff --git a/src/lib/shareAction.svelte.ts b/desktop/src/lib/shareAction.svelte.ts similarity index 100% rename from src/lib/shareAction.svelte.ts rename to desktop/src/lib/shareAction.svelte.ts diff --git a/src/lib/shortcuts.svelte.ts b/desktop/src/lib/shortcuts.svelte.ts similarity index 100% rename from src/lib/shortcuts.svelte.ts rename to desktop/src/lib/shortcuts.svelte.ts diff --git a/src/lib/sidebar.svelte.ts b/desktop/src/lib/sidebar.svelte.ts similarity index 100% rename from src/lib/sidebar.svelte.ts rename to desktop/src/lib/sidebar.svelte.ts diff --git a/src/lib/sidebarResize.ts b/desktop/src/lib/sidebarResize.ts similarity index 100% rename from src/lib/sidebarResize.ts rename to desktop/src/lib/sidebarResize.ts diff --git a/src/lib/sleep.ts b/desktop/src/lib/sleep.ts similarity index 100% rename from src/lib/sleep.ts rename to desktop/src/lib/sleep.ts diff --git a/src/lib/stageArtifacts.ts b/desktop/src/lib/stageArtifacts.ts similarity index 100% rename from src/lib/stageArtifacts.ts rename to desktop/src/lib/stageArtifacts.ts diff --git a/src/lib/startup.svelte.ts b/desktop/src/lib/startup.svelte.ts similarity index 100% rename from src/lib/startup.svelte.ts rename to desktop/src/lib/startup.svelte.ts diff --git a/src/lib/syntax.ts b/desktop/src/lib/syntax.ts similarity index 100% rename from src/lib/syntax.ts rename to desktop/src/lib/syntax.ts diff --git a/src/lib/textareaCaret.ts b/desktop/src/lib/textareaCaret.ts similarity index 100% rename from src/lib/textareaCaret.ts rename to desktop/src/lib/textareaCaret.ts diff --git a/src/lib/threads.ts b/desktop/src/lib/threads.ts similarity index 100% rename from src/lib/threads.ts rename to desktop/src/lib/threads.ts diff --git a/src/lib/timelineRuns.ts b/desktop/src/lib/timelineRuns.ts similarity index 100% rename from src/lib/timelineRuns.ts rename to desktop/src/lib/timelineRuns.ts diff --git a/src/lib/updateChecker.svelte.ts b/desktop/src/lib/updateChecker.svelte.ts similarity index 100% rename from src/lib/updateChecker.svelte.ts rename to desktop/src/lib/updateChecker.svelte.ts diff --git a/src/lib/useLocalStorage.svelte.ts b/desktop/src/lib/useLocalStorage.svelte.ts similarity index 100% rename from src/lib/useLocalStorage.svelte.ts rename to desktop/src/lib/useLocalStorage.svelte.ts diff --git a/src/lib/utils.ts b/desktop/src/lib/utils.ts similarity index 100% rename from src/lib/utils.ts rename to desktop/src/lib/utils.ts diff --git a/src/lib/window.ts b/desktop/src/lib/window.ts similarity index 100% rename from src/lib/window.ts rename to desktop/src/lib/window.ts diff --git a/src/main.ts b/desktop/src/main.ts similarity index 100% rename from src/main.ts rename to desktop/src/main.ts diff --git a/src/modals/ConfirmDeleteRelease.svelte b/desktop/src/modals/ConfirmDeleteRelease.svelte similarity index 100% rename from src/modals/ConfirmDeleteRelease.svelte rename to desktop/src/modals/ConfirmDeleteRelease.svelte diff --git a/src/modals/ConfirmModal.svelte b/desktop/src/modals/ConfirmModal.svelte similarity index 100% rename from src/modals/ConfirmModal.svelte rename to desktop/src/modals/ConfirmModal.svelte diff --git a/src/modals/ConfirmRedact.svelte b/desktop/src/modals/ConfirmRedact.svelte similarity index 100% rename from src/modals/ConfirmRedact.svelte rename to desktop/src/modals/ConfirmRedact.svelte diff --git a/src/modals/ConfirmRegisterArtifacts.svelte b/desktop/src/modals/ConfirmRegisterArtifacts.svelte similarity index 100% rename from src/modals/ConfirmRegisterArtifacts.svelte rename to desktop/src/modals/ConfirmRegisterArtifacts.svelte diff --git a/src/modals/ConfirmUnseed.svelte b/desktop/src/modals/ConfirmUnseed.svelte similarity index 100% rename from src/modals/ConfirmUnseed.svelte rename to desktop/src/modals/ConfirmUnseed.svelte diff --git a/src/modals/CreateIssue.svelte b/desktop/src/modals/CreateIssue.svelte similarity index 100% rename from src/modals/CreateIssue.svelte rename to desktop/src/modals/CreateIssue.svelte diff --git a/src/modals/CreateRelease.svelte b/desktop/src/modals/CreateRelease.svelte similarity index 100% rename from src/modals/CreateRelease.svelte rename to desktop/src/modals/CreateRelease.svelte diff --git a/src/modals/Guide.svelte b/desktop/src/modals/Guide.svelte similarity index 100% rename from src/modals/Guide.svelte rename to desktop/src/modals/Guide.svelte diff --git a/src/modals/KeyboardShortcuts.svelte b/desktop/src/modals/KeyboardShortcuts.svelte similarity index 100% rename from src/modals/KeyboardShortcuts.svelte rename to desktop/src/modals/KeyboardShortcuts.svelte diff --git a/src/modals/NotOnThisNode.svelte b/desktop/src/modals/NotOnThisNode.svelte similarity index 100% rename from src/modals/NotOnThisNode.svelte rename to desktop/src/modals/NotOnThisNode.svelte diff --git a/src/modals/RawIdentityDocument.svelte b/desktop/src/modals/RawIdentityDocument.svelte similarity index 100% rename from src/modals/RawIdentityDocument.svelte rename to desktop/src/modals/RawIdentityDocument.svelte diff --git a/src/modals/Settings.svelte b/desktop/src/modals/Settings.svelte similarity index 100% rename from src/modals/Settings.svelte rename to desktop/src/modals/Settings.svelte diff --git a/src/modals/UnopenableLink.svelte b/desktop/src/modals/UnopenableLink.svelte similarity index 100% rename from src/modals/UnopenableLink.svelte rename to desktop/src/modals/UnopenableLink.svelte diff --git a/src/views/Inbox.svelte b/desktop/src/views/Inbox.svelte similarity index 100% rename from src/views/Inbox.svelte rename to desktop/src/views/Inbox.svelte diff --git a/src/views/auth/Auth.svelte b/desktop/src/views/auth/Auth.svelte similarity index 100% rename from src/views/auth/Auth.svelte rename to desktop/src/views/auth/Auth.svelte diff --git a/src/views/auth/CreateIdentity.svelte b/desktop/src/views/auth/CreateIdentity.svelte similarity index 100% rename from src/views/auth/CreateIdentity.svelte rename to desktop/src/views/auth/CreateIdentity.svelte diff --git a/src/views/auth/Layout.svelte b/desktop/src/views/auth/Layout.svelte similarity index 100% rename from src/views/auth/Layout.svelte rename to desktop/src/views/auth/Layout.svelte diff --git a/src/views/repo/Identity.svelte b/desktop/src/views/repo/Identity.svelte similarity index 100% rename from src/views/repo/Identity.svelte rename to desktop/src/views/repo/Identity.svelte diff --git a/src/views/repo/Issue.svelte b/desktop/src/views/repo/Issue.svelte similarity index 100% rename from src/views/repo/Issue.svelte rename to desktop/src/views/repo/Issue.svelte diff --git a/src/views/repo/Issues.svelte b/desktop/src/views/repo/Issues.svelte similarity index 100% rename from src/views/repo/Issues.svelte rename to desktop/src/views/repo/Issues.svelte diff --git a/src/views/repo/Layout.svelte b/desktop/src/views/repo/Layout.svelte similarity index 100% rename from src/views/repo/Layout.svelte rename to desktop/src/views/repo/Layout.svelte diff --git a/src/views/repo/Patch.svelte b/desktop/src/views/repo/Patch.svelte similarity index 100% rename from src/views/repo/Patch.svelte rename to desktop/src/views/repo/Patch.svelte diff --git a/src/views/repo/Patches.svelte b/desktop/src/views/repo/Patches.svelte similarity index 100% rename from src/views/repo/Patches.svelte rename to desktop/src/views/repo/Patches.svelte diff --git a/src/views/repo/Release.svelte b/desktop/src/views/repo/Release.svelte similarity index 100% rename from src/views/repo/Release.svelte rename to desktop/src/views/repo/Release.svelte diff --git a/src/views/repo/Releases.svelte b/desktop/src/views/repo/Releases.svelte similarity index 100% rename from src/views/repo/Releases.svelte rename to desktop/src/views/repo/Releases.svelte diff --git a/src/views/repo/RepoCommit.svelte b/desktop/src/views/repo/RepoCommit.svelte similarity index 100% rename from src/views/repo/RepoCommit.svelte rename to desktop/src/views/repo/RepoCommit.svelte diff --git a/src/views/repo/RepoCommits.svelte b/desktop/src/views/repo/RepoCommits.svelte similarity index 100% rename from src/views/repo/RepoCommits.svelte rename to desktop/src/views/repo/RepoCommits.svelte diff --git a/src/views/repo/RepoHome.svelte b/desktop/src/views/repo/RepoHome.svelte similarity index 100% rename from src/views/repo/RepoHome.svelte rename to desktop/src/views/repo/RepoHome.svelte diff --git a/src/views/repo/router.ts b/desktop/src/views/repo/router.ts similarity index 100% rename from src/views/repo/router.ts rename to desktop/src/views/repo/router.ts diff --git a/src/vite-env.d.ts b/desktop/src/vite-env.d.ts similarity index 100% rename from src/vite-env.d.ts rename to desktop/src/vite-env.d.ts diff --git a/svelte.config.js b/desktop/svelte.config.js similarity index 100% rename from svelte.config.js rename to desktop/svelte.config.js diff --git a/tests/e2e/auth.spec.ts b/desktop/tests/e2e/auth.spec.ts similarity index 100% rename from tests/e2e/auth.spec.ts rename to desktop/tests/e2e/auth.spec.ts diff --git a/tests/e2e/clipboard.spec.ts b/desktop/tests/e2e/clipboard.spec.ts similarity index 100% rename from tests/e2e/clipboard.spec.ts rename to desktop/tests/e2e/clipboard.spec.ts diff --git a/tests/e2e/createIdentity.spec.ts b/desktop/tests/e2e/createIdentity.spec.ts similarity index 100% rename from tests/e2e/createIdentity.spec.ts rename to desktop/tests/e2e/createIdentity.spec.ts diff --git a/tests/e2e/inbox.spec.ts b/desktop/tests/e2e/inbox.spec.ts similarity index 100% rename from tests/e2e/inbox.spec.ts rename to desktop/tests/e2e/inbox.spec.ts diff --git a/tests/e2e/keyboard.spec.ts b/desktop/tests/e2e/keyboard.spec.ts similarity index 100% rename from tests/e2e/keyboard.spec.ts rename to desktop/tests/e2e/keyboard.spec.ts diff --git a/tests/e2e/navigation.spec.ts b/desktop/tests/e2e/navigation.spec.ts similarity index 100% rename from tests/e2e/navigation.spec.ts rename to desktop/tests/e2e/navigation.spec.ts diff --git a/tests/e2e/nodeStatus.spec.ts b/desktop/tests/e2e/nodeStatus.spec.ts similarity index 100% rename from tests/e2e/nodeStatus.spec.ts rename to desktop/tests/e2e/nodeStatus.spec.ts diff --git a/tests/e2e/persistence.spec.ts b/desktop/tests/e2e/persistence.spec.ts similarity index 100% rename from tests/e2e/persistence.spec.ts rename to desktop/tests/e2e/persistence.spec.ts diff --git a/tests/e2e/repo/asciidoc.spec.ts b/desktop/tests/e2e/repo/asciidoc.spec.ts similarity index 100% rename from tests/e2e/repo/asciidoc.spec.ts rename to desktop/tests/e2e/repo/asciidoc.spec.ts diff --git a/tests/e2e/repo/cobCache.spec.ts b/desktop/tests/e2e/repo/cobCache.spec.ts similarity index 100% rename from tests/e2e/repo/cobCache.spec.ts rename to desktop/tests/e2e/repo/cobCache.spec.ts diff --git a/tests/e2e/repo/createRelease.spec.ts b/desktop/tests/e2e/repo/createRelease.spec.ts similarity index 100% rename from tests/e2e/repo/createRelease.spec.ts rename to desktop/tests/e2e/repo/createRelease.spec.ts diff --git a/tests/e2e/repo/documentLinks.spec.ts b/desktop/tests/e2e/repo/documentLinks.spec.ts similarity index 100% rename from tests/e2e/repo/documentLinks.spec.ts rename to desktop/tests/e2e/repo/documentLinks.spec.ts diff --git a/tests/e2e/repo/fileDrop.spec.ts b/desktop/tests/e2e/repo/fileDrop.spec.ts similarity index 100% rename from tests/e2e/repo/fileDrop.spec.ts rename to desktop/tests/e2e/repo/fileDrop.spec.ts diff --git a/tests/e2e/repo/issue.spec.ts b/desktop/tests/e2e/repo/issue.spec.ts similarity index 100% rename from tests/e2e/repo/issue.spec.ts rename to desktop/tests/e2e/repo/issue.spec.ts diff --git a/tests/e2e/repo/issueEditing.spec.ts b/desktop/tests/e2e/repo/issueEditing.spec.ts similarity index 100% rename from tests/e2e/repo/issueEditing.spec.ts rename to desktop/tests/e2e/repo/issueEditing.spec.ts diff --git a/tests/e2e/repo/issues.spec.ts b/desktop/tests/e2e/repo/issues.spec.ts similarity index 100% rename from tests/e2e/repo/issues.spec.ts rename to desktop/tests/e2e/repo/issues.spec.ts diff --git a/tests/e2e/repo/jobs.spec.ts b/desktop/tests/e2e/repo/jobs.spec.ts similarity index 100% rename from tests/e2e/repo/jobs.spec.ts rename to desktop/tests/e2e/repo/jobs.spec.ts diff --git a/tests/e2e/repo/markdownRendering.spec.ts b/desktop/tests/e2e/repo/markdownRendering.spec.ts similarity index 100% rename from tests/e2e/repo/markdownRendering.spec.ts rename to desktop/tests/e2e/repo/markdownRendering.spec.ts diff --git a/tests/e2e/repo/mentions.spec.ts b/desktop/tests/e2e/repo/mentions.spec.ts similarity index 100% rename from tests/e2e/repo/mentions.spec.ts rename to desktop/tests/e2e/repo/mentions.spec.ts diff --git a/tests/e2e/repo/patch.spec.ts b/desktop/tests/e2e/repo/patch.spec.ts similarity index 100% rename from tests/e2e/repo/patch.spec.ts rename to desktop/tests/e2e/repo/patch.spec.ts diff --git a/tests/e2e/repo/patchEditing.spec.ts b/desktop/tests/e2e/repo/patchEditing.spec.ts similarity index 100% rename from tests/e2e/repo/patchEditing.spec.ts rename to desktop/tests/e2e/repo/patchEditing.spec.ts diff --git a/tests/e2e/repo/permissions.spec.ts b/desktop/tests/e2e/repo/permissions.spec.ts similarity index 100% rename from tests/e2e/repo/permissions.spec.ts rename to desktop/tests/e2e/repo/permissions.spec.ts diff --git a/tests/e2e/repo/source.spec.ts b/desktop/tests/e2e/repo/source.spec.ts similarity index 100% rename from tests/e2e/repo/source.spec.ts rename to desktop/tests/e2e/repo/source.spec.ts diff --git a/tests/e2e/repo/tasks.spec.ts b/desktop/tests/e2e/repo/tasks.spec.ts similarity index 100% rename from tests/e2e/repo/tasks.spec.ts rename to desktop/tests/e2e/repo/tasks.spec.ts diff --git a/tests/e2e/repos.spec.ts b/desktop/tests/e2e/repos.spec.ts similarity index 100% rename from tests/e2e/repos.spec.ts rename to desktop/tests/e2e/repos.spec.ts diff --git a/tests/e2e/seeding.spec.ts b/desktop/tests/e2e/seeding.spec.ts similarity index 100% rename from tests/e2e/seeding.spec.ts rename to desktop/tests/e2e/seeding.spec.ts diff --git a/tests/e2e/theme.spec.ts b/desktop/tests/e2e/theme.spec.ts similarity index 100% rename from tests/e2e/theme.spec.ts rename to desktop/tests/e2e/theme.spec.ts diff --git a/tests/fixtures/repos/markdown.tar.bz2 b/desktop/tests/fixtures/repos/markdown.tar.bz2 similarity index 100% rename from tests/fixtures/repos/markdown.tar.bz2 rename to desktop/tests/fixtures/repos/markdown.tar.bz2 diff --git a/tests/support/cobs/issue.ts b/desktop/tests/support/cobs/issue.ts similarity index 100% rename from tests/support/cobs/issue.ts rename to desktop/tests/support/cobs/issue.ts diff --git a/tests/support/cobs/patch.ts b/desktop/tests/support/cobs/patch.ts similarity index 100% rename from tests/support/cobs/patch.ts rename to desktop/tests/support/cobs/patch.ts diff --git a/tests/support/collaboration.ts b/desktop/tests/support/collaboration.ts similarity index 100% rename from tests/support/collaboration.ts rename to desktop/tests/support/collaboration.ts diff --git a/tests/support/fixtures.ts b/desktop/tests/support/fixtures.ts similarity index 100% rename from tests/support/fixtures.ts rename to desktop/tests/support/fixtures.ts diff --git a/tests/support/globalSetup.ts b/desktop/tests/support/globalSetup.ts similarity index 100% rename from tests/support/globalSetup.ts rename to desktop/tests/support/globalSetup.ts diff --git a/tests/support/heartwood-release b/desktop/tests/support/heartwood-release similarity index 100% rename from tests/support/heartwood-release rename to desktop/tests/support/heartwood-release diff --git a/tests/support/logPrefix.ts b/desktop/tests/support/logPrefix.ts similarity index 100% rename from tests/support/logPrefix.ts rename to desktop/tests/support/logPrefix.ts diff --git a/tests/support/peerManager.ts b/desktop/tests/support/peerManager.ts similarity index 100% rename from tests/support/peerManager.ts rename to desktop/tests/support/peerManager.ts diff --git a/tests/support/repo.ts b/desktop/tests/support/repo.ts similarity index 100% rename from tests/support/repo.ts rename to desktop/tests/support/repo.ts diff --git a/tests/support/router.ts b/desktop/tests/support/router.ts similarity index 100% rename from tests/support/router.ts rename to desktop/tests/support/router.ts diff --git a/tests/support/support.ts b/desktop/tests/support/support.ts similarity index 100% rename from tests/support/support.ts rename to desktop/tests/support/support.ts diff --git a/tests/unit/asciidoc.test.ts b/desktop/tests/unit/asciidoc.test.ts similarity index 100% rename from tests/unit/asciidoc.test.ts rename to desktop/tests/unit/asciidoc.test.ts diff --git a/tests/unit/assigneeSuggestions.test.ts b/desktop/tests/unit/assigneeSuggestions.test.ts similarity index 100% rename from tests/unit/assigneeSuggestions.test.ts rename to desktop/tests/unit/assigneeSuggestions.test.ts diff --git a/tests/unit/cached.test.ts b/desktop/tests/unit/cached.test.ts similarity index 100% rename from tests/unit/cached.test.ts rename to desktop/tests/unit/cached.test.ts diff --git a/tests/unit/ciJobs.test.ts b/desktop/tests/unit/ciJobs.test.ts similarity index 100% rename from tests/unit/ciJobs.test.ts rename to desktop/tests/unit/ciJobs.test.ts diff --git a/tests/unit/cobActivity.test.ts b/desktop/tests/unit/cobActivity.test.ts similarity index 100% rename from tests/unit/cobActivity.test.ts rename to desktop/tests/unit/cobActivity.test.ts diff --git a/tests/unit/cobSearch.test.ts b/desktop/tests/unit/cobSearch.test.ts similarity index 100% rename from tests/unit/cobSearch.test.ts rename to desktop/tests/unit/cobSearch.test.ts diff --git a/tests/unit/codeCommentActions.test.ts b/desktop/tests/unit/codeCommentActions.test.ts similarity index 100% rename from tests/unit/codeCommentActions.test.ts rename to desktop/tests/unit/codeCommentActions.test.ts diff --git a/tests/unit/commentNavigation.test.ts b/desktop/tests/unit/commentNavigation.test.ts similarity index 100% rename from tests/unit/commentNavigation.test.ts rename to desktop/tests/unit/commentNavigation.test.ts diff --git a/tests/unit/commentResolutions.test.ts b/desktop/tests/unit/commentResolutions.test.ts similarity index 100% rename from tests/unit/commentResolutions.test.ts rename to desktop/tests/unit/commentResolutions.test.ts diff --git a/tests/unit/commentSources.test.ts b/desktop/tests/unit/commentSources.test.ts similarity index 100% rename from tests/unit/commentSources.test.ts rename to desktop/tests/unit/commentSources.test.ts diff --git a/tests/unit/commitGroups.test.ts b/desktop/tests/unit/commitGroups.test.ts similarity index 100% rename from tests/unit/commitGroups.test.ts rename to desktop/tests/unit/commitGroups.test.ts diff --git a/tests/unit/debounced.svelte.test.ts b/desktop/tests/unit/debounced.svelte.test.ts similarity index 100% rename from tests/unit/debounced.svelte.test.ts rename to desktop/tests/unit/debounced.svelte.test.ts diff --git a/tests/unit/deepLink.test.ts b/desktop/tests/unit/deepLink.test.ts similarity index 100% rename from tests/unit/deepLink.test.ts rename to desktop/tests/unit/deepLink.test.ts diff --git a/tests/unit/diffOptions.svelte.test.ts b/desktop/tests/unit/diffOptions.svelte.test.ts similarity index 100% rename from tests/unit/diffOptions.svelte.test.ts rename to desktop/tests/unit/diffOptions.svelte.test.ts diff --git a/tests/unit/diffText.test.ts b/desktop/tests/unit/diffText.test.ts similarity index 100% rename from tests/unit/diffText.test.ts rename to desktop/tests/unit/diffText.test.ts diff --git a/tests/unit/disableDropNavigation.test.ts b/desktop/tests/unit/disableDropNavigation.test.ts similarity index 100% rename from tests/unit/disableDropNavigation.test.ts rename to desktop/tests/unit/disableDropNavigation.test.ts diff --git a/tests/unit/documentLinks.test.ts b/desktop/tests/unit/documentLinks.test.ts similarity index 100% rename from tests/unit/documentLinks.test.ts rename to desktop/tests/unit/documentLinks.test.ts diff --git a/tests/unit/draftReviewStorage.test.ts b/desktop/tests/unit/draftReviewStorage.test.ts similarity index 100% rename from tests/unit/draftReviewStorage.test.ts rename to desktop/tests/unit/draftReviewStorage.test.ts diff --git a/tests/unit/embeds.test.ts b/desktop/tests/unit/embeds.test.ts similarity index 100% rename from tests/unit/embeds.test.ts rename to desktop/tests/unit/embeds.test.ts diff --git a/tests/unit/fileTreeExpansion.test.ts b/desktop/tests/unit/fileTreeExpansion.test.ts similarity index 100% rename from tests/unit/fileTreeExpansion.test.ts rename to desktop/tests/unit/fileTreeExpansion.test.ts diff --git a/tests/unit/frontmatter.test.ts b/desktop/tests/unit/frontmatter.test.ts similarity index 100% rename from tests/unit/frontmatter.test.ts rename to desktop/tests/unit/frontmatter.test.ts diff --git a/tests/unit/hints.test.ts b/desktop/tests/unit/hints.test.ts similarity index 100% rename from tests/unit/hints.test.ts rename to desktop/tests/unit/hints.test.ts diff --git a/tests/unit/identityState.test.ts b/desktop/tests/unit/identityState.test.ts similarity index 100% rename from tests/unit/identityState.test.ts rename to desktop/tests/unit/identityState.test.ts diff --git a/tests/unit/ignoredFiles.test.ts b/desktop/tests/unit/ignoredFiles.test.ts similarity index 100% rename from tests/unit/ignoredFiles.test.ts rename to desktop/tests/unit/ignoredFiles.test.ts diff --git a/tests/unit/inboxFilter.test.ts b/desktop/tests/unit/inboxFilter.test.ts similarity index 100% rename from tests/unit/inboxFilter.test.ts rename to desktop/tests/unit/inboxFilter.test.ts diff --git a/tests/unit/inputValidation.test.ts b/desktop/tests/unit/inputValidation.test.ts similarity index 100% rename from tests/unit/inputValidation.test.ts rename to desktop/tests/unit/inputValidation.test.ts diff --git a/tests/unit/interval.test.ts b/desktop/tests/unit/interval.test.ts similarity index 100% rename from tests/unit/interval.test.ts rename to desktop/tests/unit/interval.test.ts diff --git a/tests/unit/issueCounts.test.ts b/desktop/tests/unit/issueCounts.test.ts similarity index 100% rename from tests/unit/issueCounts.test.ts rename to desktop/tests/unit/issueCounts.test.ts diff --git a/tests/unit/issueTimeline.test.ts b/desktop/tests/unit/issueTimeline.test.ts similarity index 100% rename from tests/unit/issueTimeline.test.ts rename to desktop/tests/unit/issueTimeline.test.ts diff --git a/tests/unit/listState.test.ts b/desktop/tests/unit/listState.test.ts similarity index 100% rename from tests/unit/listState.test.ts rename to desktop/tests/unit/listState.test.ts diff --git a/tests/unit/markdownFormat.test.ts b/desktop/tests/unit/markdownFormat.test.ts similarity index 100% rename from tests/unit/markdownFormat.test.ts rename to desktop/tests/unit/markdownFormat.test.ts diff --git a/tests/unit/markdownPlain.test.ts b/desktop/tests/unit/markdownPlain.test.ts similarity index 100% rename from tests/unit/markdownPlain.test.ts rename to desktop/tests/unit/markdownPlain.test.ts diff --git a/tests/unit/markdownTasks.test.ts b/desktop/tests/unit/markdownTasks.test.ts similarity index 100% rename from tests/unit/markdownTasks.test.ts rename to desktop/tests/unit/markdownTasks.test.ts diff --git a/tests/unit/mentionTrigger.test.ts b/desktop/tests/unit/mentionTrigger.test.ts similarity index 100% rename from tests/unit/mentionTrigger.test.ts rename to desktop/tests/unit/mentionTrigger.test.ts diff --git a/tests/unit/mentions.test.ts b/desktop/tests/unit/mentions.test.ts similarity index 100% rename from tests/unit/mentions.test.ts rename to desktop/tests/unit/mentions.test.ts diff --git a/tests/unit/menuNavigation.test.ts b/desktop/tests/unit/menuNavigation.test.ts similarity index 100% rename from tests/unit/menuNavigation.test.ts rename to desktop/tests/unit/menuNavigation.test.ts diff --git a/tests/unit/mermaid.test.ts b/desktop/tests/unit/mermaid.test.ts similarity index 100% rename from tests/unit/mermaid.test.ts rename to desktop/tests/unit/mermaid.test.ts diff --git a/tests/unit/modal.test.ts b/desktop/tests/unit/modal.test.ts similarity index 100% rename from tests/unit/modal.test.ts rename to desktop/tests/unit/modal.test.ts diff --git a/tests/unit/mutexExecutor.test.ts b/desktop/tests/unit/mutexExecutor.test.ts similarity index 100% rename from tests/unit/mutexExecutor.test.ts rename to desktop/tests/unit/mutexExecutor.test.ts diff --git a/tests/unit/notifications.test.ts b/desktop/tests/unit/notifications.test.ts similarity index 100% rename from tests/unit/notifications.test.ts rename to desktop/tests/unit/notifications.test.ts diff --git a/tests/unit/paginatedList.svelte.test.ts b/desktop/tests/unit/paginatedList.svelte.test.ts similarity index 100% rename from tests/unit/paginatedList.svelte.test.ts rename to desktop/tests/unit/paginatedList.svelte.test.ts diff --git a/tests/unit/patchContributions.test.ts b/desktop/tests/unit/patchContributions.test.ts similarity index 100% rename from tests/unit/patchContributions.test.ts rename to desktop/tests/unit/patchContributions.test.ts diff --git a/tests/unit/patchCounts.test.ts b/desktop/tests/unit/patchCounts.test.ts similarity index 100% rename from tests/unit/patchCounts.test.ts rename to desktop/tests/unit/patchCounts.test.ts diff --git a/tests/unit/patchSlice.test.ts b/desktop/tests/unit/patchSlice.test.ts similarity index 100% rename from tests/unit/patchSlice.test.ts rename to desktop/tests/unit/patchSlice.test.ts diff --git a/tests/unit/patchTimeline.test.ts b/desktop/tests/unit/patchTimeline.test.ts similarity index 100% rename from tests/unit/patchTimeline.test.ts rename to desktop/tests/unit/patchTimeline.test.ts diff --git a/tests/unit/pierreComments.test.ts b/desktop/tests/unit/pierreComments.test.ts similarity index 100% rename from tests/unit/pierreComments.test.ts rename to desktop/tests/unit/pierreComments.test.ts diff --git a/tests/unit/pierreParse.test.ts b/desktop/tests/unit/pierreParse.test.ts similarity index 100% rename from tests/unit/pierreParse.test.ts rename to desktop/tests/unit/pierreParse.test.ts diff --git a/tests/unit/radUri.test.ts b/desktop/tests/unit/radUri.test.ts similarity index 100% rename from tests/unit/radUri.test.ts rename to desktop/tests/unit/radUri.test.ts diff --git a/tests/unit/refs.test.ts b/desktop/tests/unit/refs.test.ts similarity index 100% rename from tests/unit/refs.test.ts rename to desktop/tests/unit/refs.test.ts diff --git a/tests/unit/releases.test.ts b/desktop/tests/unit/releases.test.ts similarity index 100% rename from tests/unit/releases.test.ts rename to desktop/tests/unit/releases.test.ts diff --git a/tests/unit/repoImages.test.ts b/desktop/tests/unit/repoImages.test.ts similarity index 100% rename from tests/unit/repoImages.test.ts rename to desktop/tests/unit/repoImages.test.ts diff --git a/tests/unit/repoOrdering.test.ts b/desktop/tests/unit/repoOrdering.test.ts similarity index 100% rename from tests/unit/repoOrdering.test.ts rename to desktop/tests/unit/repoOrdering.test.ts diff --git a/tests/unit/repoRouter.test.ts b/desktop/tests/unit/repoRouter.test.ts similarity index 100% rename from tests/unit/repoRouter.test.ts rename to desktop/tests/unit/repoRouter.test.ts diff --git a/tests/unit/reviewSummary.test.ts b/desktop/tests/unit/reviewSummary.test.ts similarity index 100% rename from tests/unit/reviewSummary.test.ts rename to desktop/tests/unit/reviewSummary.test.ts diff --git a/tests/unit/revisionDescription.test.ts b/desktop/tests/unit/revisionDescription.test.ts similarity index 100% rename from tests/unit/revisionDescription.test.ts rename to desktop/tests/unit/revisionDescription.test.ts diff --git a/tests/unit/revisionList.test.ts b/desktop/tests/unit/revisionList.test.ts similarity index 100% rename from tests/unit/revisionList.test.ts rename to desktop/tests/unit/revisionList.test.ts diff --git a/tests/unit/revisionListSettings.test.ts b/desktop/tests/unit/revisionListSettings.test.ts similarity index 100% rename from tests/unit/revisionListSettings.test.ts rename to desktop/tests/unit/revisionListSettings.test.ts diff --git a/tests/unit/roles.test.ts b/desktop/tests/unit/roles.test.ts similarity index 100% rename from tests/unit/roles.test.ts rename to desktop/tests/unit/roles.test.ts diff --git a/tests/unit/router.test.ts b/desktop/tests/unit/router.test.ts similarity index 100% rename from tests/unit/router.test.ts rename to desktop/tests/unit/router.test.ts diff --git a/tests/unit/seedRepo.test.ts b/desktop/tests/unit/seedRepo.test.ts similarity index 100% rename from tests/unit/seedRepo.test.ts rename to desktop/tests/unit/seedRepo.test.ts diff --git a/tests/unit/shareAction.test.ts b/desktop/tests/unit/shareAction.test.ts similarity index 100% rename from tests/unit/shareAction.test.ts rename to desktop/tests/unit/shareAction.test.ts diff --git a/tests/unit/shortcuts.svelte.test.ts b/desktop/tests/unit/shortcuts.svelte.test.ts similarity index 100% rename from tests/unit/shortcuts.svelte.test.ts rename to desktop/tests/unit/shortcuts.svelte.test.ts diff --git a/tests/unit/sidebar.test.ts b/desktop/tests/unit/sidebar.test.ts similarity index 100% rename from tests/unit/sidebar.test.ts rename to desktop/tests/unit/sidebar.test.ts diff --git a/tests/unit/sidebarResize.test.ts b/desktop/tests/unit/sidebarResize.test.ts similarity index 100% rename from tests/unit/sidebarResize.test.ts rename to desktop/tests/unit/sidebarResize.test.ts diff --git a/tests/unit/stageArtifacts.test.ts b/desktop/tests/unit/stageArtifacts.test.ts similarity index 100% rename from tests/unit/stageArtifacts.test.ts rename to desktop/tests/unit/stageArtifacts.test.ts diff --git a/tests/unit/support/cobs.ts b/desktop/tests/unit/support/cobs.ts similarity index 100% rename from tests/unit/support/cobs.ts rename to desktop/tests/unit/support/cobs.ts diff --git a/tests/unit/threads.test.ts b/desktop/tests/unit/threads.test.ts similarity index 100% rename from tests/unit/threads.test.ts rename to desktop/tests/unit/threads.test.ts diff --git a/tests/unit/timelineRuns.test.ts b/desktop/tests/unit/timelineRuns.test.ts similarity index 100% rename from tests/unit/timelineRuns.test.ts rename to desktop/tests/unit/timelineRuns.test.ts diff --git a/tests/unit/updateChecker.test.ts b/desktop/tests/unit/updateChecker.test.ts similarity index 100% rename from tests/unit/updateChecker.test.ts rename to desktop/tests/unit/updateChecker.test.ts diff --git a/tests/unit/useLocalStorage.test.ts b/desktop/tests/unit/useLocalStorage.test.ts similarity index 100% rename from tests/unit/useLocalStorage.test.ts rename to desktop/tests/unit/useLocalStorage.test.ts diff --git a/tests/unit/utils.test.ts b/desktop/tests/unit/utils.test.ts similarity index 100% rename from tests/unit/utils.test.ts rename to desktop/tests/unit/utils.test.ts diff --git a/tsconfig.json b/desktop/tsconfig.json similarity index 100% rename from tsconfig.json rename to desktop/tsconfig.json diff --git a/vite.config.ts b/desktop/vite.config.ts similarity index 100% rename from vite.config.ts rename to desktop/vite.config.ts