Brandon OxendineandRūdolfs Ošiņš 8175823ab8 Fix pasted images not rendering
Pasting a single image went through save_embed_by_clipboard, which
stored the clipboard's raw RGBA pixels instead of an encoded image.
The result could not be decoded, so the embed showed as a broken image.
Always store the pasted file's own bytes instead. Nothing else uses
save_embed_by_clipboard, so it's removed.

Co-Authored-By: Rūdolfs Ošiņš <rudolfs@osins.org>
2026-10-06 15:04:57 +02:00
2026-07-27 15:19:45 +02:00
2026-10-06 15:04:57 +02:00
2026-10-05 17:37:03 +02:00
2024-11-20 12:16:43 +01:00
2026-10-06 15:04:57 +02:00
2026-10-06 15:04:57 +02:00
2026-07-21 11:51:46 +02:00
2026-10-01 18:16:29 +02:00
2026-05-13 11:01:47 +02:00
2024-07-05 11:36:18 +02:00
2026-10-06 15:04:57 +02:00
2026-09-14 11:01:05 +02:00
2026-05-22 10:34:46 +02:00
2026-07-27 18:22:46 +02:00
2026-05-19 15:40:11 +01:00
2024-07-24 14:00:12 -03:00
2026-10-05 17:37:03 +02:00
2026-10-05 17:37:03 +02:00
2026-05-13 13:58:07 +02:00
2026-10-01 18:20:25 +02:00

Radicle Desktop

This desktop application lets you interact with Radicle, a peer-to-peer code collaboration and publishing stack.

Installation

See radicle.dev/desktop#install.

From source

Prerequisites:

On Windows, NPM's script shell must be set to a POSIX compatible shell such as Git Bash:

npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"

Run the following commands to build the desktop app locally:

git clone https://seed.radicle.dev/z4D5UCArafTzTQpDZNQRuqswh3ury.git radicle-desktop
cd radicle-desktop
npm install
npm run tauri build

Then run one of the builds that the script outputs at the end.

Development

To start the app in development mode with hot reload:

npm run dev

To log how long every backend command takes, for performance work, set VITE_LOG_INVOKE_TIMINGS=true. Each call then prints [invoke] <command> <ms>ms to the browser console (visible at debug level):

VITE_LOG_INVOKE_TIMINGS=true npm run dev

Releasing

Releases are driven by an interactive, phased script. Start one with:

scripts/release --phase prep --version X.Y.Z

Each phase does its mechanical work, then prints the manual tasks for its gate and the exact flag to resume with. List the phases and see the configuration with scripts/release --list and scripts/release --help.

Getting in touch

To get in touch with the maintainers, sign up to our official chat on Zulip.

License

The UI is distributed under the terms of GPLv3. See LICENSE for details.

S
Description
Radicle web interface
Readme
184 MiB
Languages
Svelte 43.4%
TypeScript 31.8%
Rust 18.8%
JavaScript 2.2%
CSS 1.8%
Other 2%