feat(neode-ui): launch cuprate tiles on the Cuprate UI companion
cuprate publishes only raw JSON RPC (18090 restricted, 18183 p2p), so launches must land on the companion on :18091, never on the running node's runtimeUrl — same root-path special-case bitcoin uses, with the dev vite proxy for /app/cuprate-ui/. Alias cuprate -> cuprate-ui so the port-auth lookup finds the gated launch port on HTTPS nodes; pin the companion icon to the cuprate mark.
This commit is contained in:
@@ -34,6 +34,9 @@ export const APP_PORTS: Record<string, number> = {
|
|||||||
'bitcoin-knots': 8334,
|
'bitcoin-knots': 8334,
|
||||||
'bitcoin-core': 8334,
|
'bitcoin-core': 8334,
|
||||||
'bitcoin-ui': 8334,
|
'bitcoin-ui': 8334,
|
||||||
|
'cuprate': 18091,
|
||||||
|
'cuprate-ui': 18091,
|
||||||
|
'archy-cuprate-ui': 18091,
|
||||||
'electrumx': 50002,
|
'electrumx': 50002,
|
||||||
'electrs': 50002,
|
'electrs': 50002,
|
||||||
'archy-electrs-ui': 50002,
|
'archy-electrs-ui': 50002,
|
||||||
@@ -153,6 +156,15 @@ export function resolveAppUrl(id: string, routeQueryPath?: string, runtimeUrl?:
|
|||||||
return appOrigin(8334, id)
|
return appOrigin(8334, id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Cuprate UI is the same companion shape on :18091. The cuprate app itself
|
||||||
|
// publishes only the restricted RPC (18090) — a raw JSON endpoint, not a
|
||||||
|
// page — so cuprate launches must land on the companion, never on the
|
||||||
|
// runtimeUrl a running cuprate reports.
|
||||||
|
if (id === 'cuprate' || id === 'cuprate-ui' || id === 'archy-cuprate-ui') {
|
||||||
|
if (import.meta.env.DEV) return '/app/cuprate-ui/'
|
||||||
|
return appOrigin(18091, id)
|
||||||
|
}
|
||||||
|
|
||||||
if (runtimeUrl && id !== 'netbird') {
|
if (runtimeUrl && id !== 'netbird') {
|
||||||
let base = runtimeUrl.replace(/localhost/i, window.location.hostname)
|
let base = runtimeUrl.replace(/localhost/i, window.location.hostname)
|
||||||
// The backend reports runtime URLs as http:// because that is how the app
|
// The backend reports runtime URLs as http:// because that is how the app
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ export const GENERATED_APP_PORTS: Record<string, number> = {
|
|||||||
"bitcoin-ui": 8334,
|
"bitcoin-ui": 8334,
|
||||||
"botfights": 9100,
|
"botfights": 9100,
|
||||||
"btcpay-server": 23000,
|
"btcpay-server": 23000,
|
||||||
|
"cuprate-ui": 18091,
|
||||||
"electrs-ui": 50002,
|
"electrs-ui": 50002,
|
||||||
"electrumx": 50002,
|
"electrumx": 50002,
|
||||||
"fedimint": 8175,
|
"fedimint": 8175,
|
||||||
@@ -54,6 +55,7 @@ export const GENERATED_APP_TITLES: Record<string, string> = {
|
|||||||
"btcpay-server": "BTCPay Server",
|
"btcpay-server": "BTCPay Server",
|
||||||
"core-lightning": "Core Lightning (CLN)",
|
"core-lightning": "Core Lightning (CLN)",
|
||||||
"cuprate": "Cuprate",
|
"cuprate": "Cuprate",
|
||||||
|
"cuprate-ui": "Cuprate UI",
|
||||||
"electrs-ui": "Electrs UI",
|
"electrs-ui": "Electrs UI",
|
||||||
"electrumx": "ElectrumX",
|
"electrumx": "ElectrumX",
|
||||||
"fedimint": "Fedimint Guardian",
|
"fedimint": "Fedimint Guardian",
|
||||||
|
|||||||
@@ -123,6 +123,8 @@ const CATALOG_APP_ID_ALIASES: Record<string, string> = {
|
|||||||
'archy-lnd-ui': 'lnd-ui',
|
'archy-lnd-ui': 'lnd-ui',
|
||||||
'bitcoin-knots': 'bitcoin-ui',
|
'bitcoin-knots': 'bitcoin-ui',
|
||||||
'bitcoin-core': 'bitcoin-ui',
|
'bitcoin-core': 'bitcoin-ui',
|
||||||
|
'cuprate': 'cuprate-ui',
|
||||||
|
'archy-cuprate-ui': 'cuprate-ui',
|
||||||
'fedimintd': 'fedimint',
|
'fedimintd': 'fedimint',
|
||||||
'immich_server': 'immich',
|
'immich_server': 'immich',
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -173,6 +173,11 @@ export default defineConfig({
|
|||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
secure: false,
|
secure: false,
|
||||||
},
|
},
|
||||||
|
'/app/cuprate-ui': {
|
||||||
|
target: process.env.BACKEND_URL || 'http://localhost:5959',
|
||||||
|
changeOrigin: true,
|
||||||
|
secure: false,
|
||||||
|
},
|
||||||
// Demo mock app UIs (electrumx, lnd, fedimint) + generic notice page.
|
// Demo mock app UIs (electrumx, lnd, fedimint) + generic notice page.
|
||||||
'/app/electrumx': { target: process.env.BACKEND_URL || 'http://localhost:5959', changeOrigin: true, secure: false },
|
'/app/electrumx': { target: process.env.BACKEND_URL || 'http://localhost:5959', changeOrigin: true, secure: false },
|
||||||
'/app/electrs': { target: process.env.BACKEND_URL || 'http://localhost:5959', changeOrigin: true, secure: false },
|
'/app/electrs': { target: process.env.BACKEND_URL || 'http://localhost:5959', changeOrigin: true, secure: false },
|
||||||
|
|||||||
Reference in New Issue
Block a user