Commit Graph
200 Commits
Author SHA1 Message Date
Daniel Norman b6743c63fc Fix inline emphasis tags in markdown output
- Without strong, **bold** rendered as plain text since marked
  emits <strong> and DOMPurify stripped the unknown tag
- Add strong, b, i, del, s to DOMPurify allow-list
- Cover the other inline emphasis tags authors may write as raw
  HTML or that GFM strikethrough emits (<del>)
2026-04-22 17:53:23 +02:00
Rūdolfs Ošiņš b2f74ebd15 Upgrade all Javascript dependencies
Changes which were needed after the upgrade:

- Replace vite-plugin-virtual (vite 8 incompatible) with vite's
  built-in `define` for the buildTimeConfig injection

- tsconfig: drop deprecated `baseUrl` (TS 5+ resolves `paths`
  relative to tsconfig)

- Vitest 4: import `defineConfig` from `vitest/config` so `test`
  is valid in vite configs

- Zod 4: rename `.errors` to `.issues`, make `ZodSchema` a
  type-only import, drop the removed `SafeParseReturnType`

- Tighten/loosen generic casts in localStore to match stricter
  zod 4 inference

- ESLint 9 `no-useless-assignment`: remove redundant initializers
  and dead reassignments; disable the rule where Svelte's reactive
  blocks confuse the analyser

- Svelte/eslint `prefer-svelte-reactivity`: disable for legacy
  Svelte usages of URL / Set

- Misc naming-convention and prefer-const fixes
2026-04-22 17:48:45 +02:00
Rūdolfs Ošiņš ecbea99f56 Show canonical branches and tags in peer selector 2026-04-22 09:45:00 +02:00
Rūdolfs Ošiņš afb0f903ee Replace last deprecated Avatar with UserAvatar
We missed this one spot in the grand UI redesign.
2026-03-26 17:43:47 -06:00
Rūdolfs Ošiņš 73408cd826 Improve UX when a node is unreachable
When a saved node (e.g. localhost) is down, the app previously showed a
dead-end "Node not found" page with no way to navigate away.

Now the not-found page displays the seed selector inline with the error
title, showing which node failed and letting users switch to a different
one directly. The same treatment applies when navigating to a repo on an
unreachable node.
2026-03-06 15:38:00 -06:00
Rūdolfs OšiņšandJulien Donck fa85596ba1 Backport new UI kit design system from garden
Co-authored-by: Julien Donck <donckjulien@gmail.com>
2026-03-06 11:38:43 -06:00
Rūdolfs Ošiņš ebe4e426e8 Improve localhost detection 2026-01-17 09:35:54 -06:00
Rūdolfs Ošiņš 8f52b2bdfb Support *.localhost subdomains
In the new always-on-node service we'll want to test things locally with
domains that look like this: rudolfs.localhost:3080
2026-01-13 12:49:18 -06:00
Rūdolfs Ošiņš c72494f620 Enable localhost connections in radicle-explorer
Allow radicle-explorer to connect to a locally running radicle-httpd via
https://app.radicle.xyz/nodes/localhost. This was previously disabled to
encourage use of Radicle Desktop, but is now useful for testing the new
always-on node in local development environments.

Remove support for /nodes/radicle.local, an undocumented and unused convention.

Fix remote node loading when Cloudflare URL-encodes port separator (: → %3A).
2026-01-12 14:38:50 -06:00
Defelo ed41e5529a Add width and height to allowed attributes 2025-09-13 22:37:03 +02:00
Sebastian Martinez 2c362adffb Update dependencies 2025-05-21 13:40:52 +02:00
Sebastian Martinez 14f3c6f63b Further improve on handling disabled localStorage
Based on the work done in commit
`a73c5490b160435a0ef5408b54185c9f698cb73f` there are a few places that
make the app not load in case dom storage aka localStorage is disabled.
2025-05-05 09:54:08 +02:00
Sebastian Martinez 2270e61865 Allow radicle-external-link components in commit descriptions
To allow some very basic hyperlinking in commit descriptions we can
replace fully specified urls with a valid scheme into
`radicle-external-link` components.
2025-04-28 09:44:43 +02:00
Sebastian Martinez 8d1624e0da Add Download radio button to Clone popover 2025-04-25 13:06:35 +02:00
Rūdolfs Ošiņš 775cbd1c37 Allow overriding configuration at run-time 2025-04-25 08:55:09 +02:00
Sebastian Martinez 50318285f8 Update svelte to v5.0
Only do the minimal changes possible to be able to keep updating
dependencies.
2025-02-04 11:42:02 -06:00
Sebastian Martinez 4e7507a9be Fix embeds in Markdown component
Changes the display of embeds from being markdown images to markdown
links.
Mimics the way embeds work on the desktop app and allows other embeds to
work too like pdfs, videos, etc.
2025-02-04 11:32:28 -06:00
Sebastian Martinez 4c31a8134d Restrict DOM sanitization to limited whitelist 2024-12-18 14:47:21 +01:00
Matthew O'Gorman 2075c320f3 Add markdown support to node descriptions
Instead of escaping all html by svelte, we should pass the node
description through the markdown parser and sanitize the parsed content.
2024-11-28 16:43:11 +01:00
Sebastian Martinez 691e0255fb Improve handling of localStorage and svelte stores
Also moving the svelte-stored-writable package into the repo.
So we have it closer for maintenance, we can eventually rewrite it in
svelte 5 runes later.

Reference: https://github.com/efstajas/svelte-stored-writable/pull/5
2024-11-25 17:06:26 +01:00
Jappie3 b050924caa add follow system theme button & functionality 2024-11-25 14:26:32 +01:00
Sebastian Martinez b3be042b51 Fix twemojis display
Text in Markdown with emojis has been tried to be fetched from the
/raw route as embeds.
This commit changes the renderer method to compute the hex string for
a unicode emoji to be able to use the /twemoji asset folder.
2024-10-24 10:21:38 +02:00
Sebastian Martinez 868f7b1e2d Rename files from project(s) to repo(s) 2024-08-22 09:43:06 +02:00
Sebastian Martinez b84cace48f Refactor usage of authorSchema 2024-08-22 09:43:06 +02:00
Sebastian Martinez cf08c83913 Update naming of project(s) to repo(s) 2024-08-22 09:43:06 +02:00
Sebastian Martinez 98857582f3 Reduce requests in patch view 2024-08-09 16:19:49 +02:00
Rūdolfs Ošiņš 5174cda6f2 Add bookmarking ability to seed selector 2024-08-09 12:20:06 +02:00
Rūdolfs Ošiņš 96bafffb34 Use lodash import style that leads to smaller bundle sizes 2024-08-08 16:21:33 +02:00
Sebastian Martinez a1dc7fc2ef Add user page 2024-07-31 12:33:05 -03:00
Sebastian Martinez a73c5490b1 Handle disabled localStorage gracefully
Instead of failing with a cryptic error in the dev console, this commit
allows the app to keep working and skips the localStorage persistance if
no localStorage is available.
2024-07-29 16:48:59 +02:00
Rūdolfs Ošiņš 1ff3890fa8 Clean up icons 2024-07-29 15:30:27 +02:00
Rūdolfs Ošiņš c0049f83ba Redesign node view and use it as the landing-page 2024-07-26 10:20:01 +02:00
Sebastian Martinez cbb6c557be Fix markdown relative links to / 2024-07-23 09:56:12 +02:00
Rūdolfs Ošiņš da14ca6505 Remove Post comment keyboard shortcut 2024-07-23 09:50:33 +02:00
Sebastian Martinez dd61f5cf5c Remove local httpd features and experimental features
Updates API version to 2.0.0
2024-07-04 11:48:41 +02:00
Sebastian Martinez b8171e3a3f Simplify sidebar context boxes
Also starts removing features that relied on the web client handling
local httpd instances
2024-07-02 12:49:35 +02:00
Sebastian Martinez 4b579d13a9 Add InlineTitle component
This new component doesn't rely on marked.js but escapes any special
characters and then replaces any backtick with a <code> HTML tag to
render any inline codeblocks in all titles.
2024-07-01 13:05:08 +02:00
Sebastian Martinez f21a80167c Display user agent instead of version 2024-06-28 21:43:32 +02:00
Sebastian Martinez e326f48cbf Update seeding policy schema 2024-06-28 13:59:35 +02:00
Konstantinos Maninakis b0bd692dd4 Add syntax highlighting for new file types 2024-06-24 17:54:45 +02:00
Konstantinos Maninakis b9eddb69b7 Add syntax highlighting for additional grammars 2024-06-24 17:54:45 +02:00
Sebastian Martinez 0901f04ffd Start using new marked renderer syntax 2024-06-24 14:08:58 +02:00
Sebastian Martinez 894ab2e0aa Update node config 2024-06-21 13:24:11 +02:00
Sebastian Martinez 2ee8bae82e Rename httpd-client to http-client 2024-06-07 12:22:28 +02:00
Sebastian Martinez 655ccf1d0f Add a new plain marked instance 2024-06-03 20:31:50 +02:00
Sebastian Martinez 3d13bc03ae Navigate seed nodes from explore section 2024-05-29 16:32:40 +02:00
Sebastian Martinez 0c7ea70c1b Update eslint config to flat config
Since the legacy config is being deprecated at the end of 2024, we
should start moving to the eslint flat config.

I avoided the tseslint config helper function so we avoid wrapping
magic.

This seems to have triggered more checking since any checks in svelte
files have appeared and the $$Generic type that is being deprecated had
to be rewritten.

Also fixes some any types that weren't caught previously
2024-05-27 17:35:16 +02:00
Lorenz Leutgeb fb32e01a2f Connect to .onion via HTTP instead of HTTPS 2024-05-24 11:09:09 +02:00
Sebastian Martinez 46e514dcd8 Refactor config json into a virtual module 2024-05-17 15:35:00 +02:00
Sebastian Martinez 2fc03f3312 Add apiVersion to config and httpd request
We have a new apiVersion value in the config json that needs to be
changed for each breaking change on httpd so we can simulate a new
resource to the cache and get it cleared.

Also improves the ResponseParseError giving the user more information
on, if the node or the web client is outdated
2024-05-03 08:34:08 +02:00