Move public deployment from app.radicle.xyz to radicle.network

This commit is contained in:
Rūdolfs Ošiņš
2026-04-23 00:08:23 +02:00
committed by Lorenz Leutgeb
parent 1003b165e5
commit 7e725f3bdf
9 changed files with 16 additions and 16 deletions
+4 -4
View File
@@ -5,7 +5,7 @@ collaboration and publishing stack, directly from your web browser.
**Deployment Options:** **Deployment Options:**
* **Public Server:** The Radicle team maintains a public instance at [app.radicle.xyz][app] * **Public Server:** The Radicle team maintains a public instance at [radicle.network][app]
* **Local-first:** Run the UI locally * **Local-first:** Run the UI locally
* **Self-hosting:** Deploy the UI on your own server * **Self-hosting:** Deploy the UI on your own server
@@ -122,15 +122,15 @@ The UI is distributed under the terms of GPLv3. See [LICENSE][lic] for details.
[app]: https://app.radicle.xyz [app]: https://radicle.network
[con]: ./CONTRIBUTING.md [con]: ./CONTRIBUTING.md
[def]: ./config/default.json [def]: ./config/default.json
[env]: ./config/custom-environment-variables.json [env]: ./config/custom-environment-variables.json
[iss]: https://app.radicle.xyz/nodes/iris.radicle.xyz/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/issues [iss]: https://radicle.network/nodes/iris.radicle.xyz/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/issues
[lic]: ./LICENSE [lic]: ./LICENSE
[nco]: https://github.com/node-config/node-config/wiki/Configuration-Files [nco]: https://github.com/node-config/node-config/wiki/Configuration-Files
[nod]: https://nodejs.org [nod]: https://nodejs.org
[npm]: https://www.npmjs.com [npm]: https://www.npmjs.com
[pat]: https://app.radicle.xyz/nodes/iris.radicle.xyz/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/patches [pat]: https://radicle.network/nodes/iris.radicle.xyz/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5/patches
[rad]: https://radicle.xyz [rad]: https://radicle.xyz
[zul]: https://radicle.zulipchat.com/#narrow/stream/369278-web [zul]: https://radicle.zulipchat.com/#narrow/stream/369278-web
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"nodes": { "nodes": {
"fallbackPublicExplorer": "https://app.radicle.xyz/nodes/$host/$rid$path", "fallbackPublicExplorer": "https://radicle.network/nodes/$host/$rid$path",
"requiredApiVersion": "~0.18.0", "requiredApiVersion": "~0.18.0",
"defaultHttpdPort": 443, "defaultHttpdPort": 443,
"defaultLocalHttpdPort": 8080, "defaultLocalHttpdPort": 8080,
+1 -1
View File
@@ -1,7 +1,7 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: radicle-httpd Upstream-Name: radicle-httpd
Upstream-Contact: https://radicle.xyz/ Upstream-Contact: https://radicle.xyz/
Source: https://app.radicle.xyz/seeds/seed.radicle.xyz Source: https://radicle.network/seeds/seed.radicle.xyz
Files: * Files: *
Copyright: 2019-2021, The Radicle Foundation Copyright: 2019-2021, The Radicle Foundation
+1 -1
View File
@@ -3,7 +3,7 @@
import fs from "fs"; import fs from "fs";
const file = "build/index.html"; const file = "build/index.html";
const snippet = `<script defer="" data-domain="app.radicle.xyz" src="https://plausible.io/js/script.js"></script>`; const snippet = `<script defer="" data-domain="radicle.network" src="https://plausible.io/js/script.js"></script>`;
const html = fs.readFileSync(file, "utf8"); const html = fs.readFileSync(file, "utf8");
+1 -1
View File
@@ -671,7 +671,7 @@ export const gitOptions = {
}, },
}; };
export const defaultConfig: Config = { export const defaultConfig: Config = {
publicExplorer: "https://app.radicle.xyz/nodes/$host/$rid$path", publicExplorer: "https://radicle.network/nodes/$host/$rid$path",
preferredSeeds: [], preferredSeeds: [],
web: { web: {
pinned: { pinned: {
+4 -4
View File
@@ -73,8 +73,8 @@ describe("String Assertions", () => {
}); });
test.each([ test.each([
{ url: "https://app.radicle.xyz", expected: true }, { url: "https://radicle.network", expected: true },
{ url: "http://app.radicle.xyz", expected: true }, { url: "http://radicle.network", expected: true },
{ url: "http://app", expected: true }, { url: "http://app", expected: true },
{ url: "://app", expected: false }, { url: "://app", expected: false },
{ url: "//app", expected: false }, { url: "//app", expected: false },
@@ -122,7 +122,7 @@ describe("Path Manipulation", () => {
{ {
imagePath: "/assets/images/tux.png", imagePath: "/assets/images/tux.png",
base: "/", base: "/",
origin: "https://app.radicle.xyz", origin: "https://radicle.network",
expected: "assets/images/tux.png", expected: "assets/images/tux.png",
}, },
{ {
@@ -134,7 +134,7 @@ describe("Path Manipulation", () => {
{ {
imagePath: "assets/images/tux.png", imagePath: "assets/images/tux.png",
base: "/", base: "/",
origin: "https://app.radicle.xyz", origin: "https://radicle.network",
expected: "assets/images/tux.png", expected: "assets/images/tux.png",
}, },
{ {
+2 -2
View File
@@ -5,7 +5,7 @@ preview card images for social media embeds.
## How it works ## How it works
`app.radicle.xyz` is a plain static SPA. A Cloudflare Redirect Rule `radicle.network` is a plain static SPA. A Cloudflare Redirect Rule
302s social media crawlers to `open-graph.radicle.network`, which 302s social media crawlers to `open-graph.radicle.network`, which
returns HTML with OG tags. The `og:image` points to `/cards/...` on returns HTML with OG tags. The `og:image` points to `/cards/...` on
the same domain, where the worker renders PNG cards via Satori + resvg-wasm. the same domain, where the worker renders PNG cards via Satori + resvg-wasm.
@@ -26,7 +26,7 @@ cards degrade: specific item -> repo -> node -> home.
**Rules > Redirect Rules** on the `radicle.xyz` zone: **Rules > Redirect Rules** on the `radicle.xyz` zone:
``` ```
(http.host eq "app.radicle.xyz") and ( (http.host eq "radicle.network") and (
(http.user_agent contains "Twitterbot") or (http.user_agent contains "Twitterbot") or
(http.user_agent contains "facebookexternalhit") or (http.user_agent contains "facebookexternalhit") or
(http.user_agent contains "Facebot") or (http.user_agent contains "Facebot") or
+1 -1
View File
@@ -2185,7 +2185,7 @@ async function handleOgHtml(request, url, env) {
return new Response("Not found", { status: 404 }); return new Response("Not found", { status: 404 });
} }
const appBase = env.APP_BASE || "https://app.radicle.xyz"; const appBase = env.APP_BASE || "https://radicle.network";
const appHost = new URL(appBase).hostname; const appHost = new URL(appBase).hostname;
const hostParam = route.type === "home" ? `?host=${appHost}` : ""; const hostParam = route.type === "home" ? `?host=${appHost}` : "";
const ogImageUrl = escapeHtml( const ogImageUrl = escapeHtml(
+1 -1
View File
@@ -7,7 +7,7 @@ routes = [
] ]
[vars] [vars]
APP_BASE = "https://app.radicle.xyz" APP_BASE = "https://radicle.network"
[[rules]] [[rules]]
type = "CompiledWasm" type = "CompiledWasm"