refactor: rename manifest metadata fields and improve error display

Rename wrapperRepo→packageRepo, marketingSite→marketingUrl,
docsUrl→docsUrls (array), remove supportSite. Add display_src/display_dbg
helpers to Error. Fix DepInfo description type to LocaleString. Update
web UI, SDK bindings, tests, and fixtures to match. Clean up cli_attach
error handling and remove dead commented code.
This commit is contained in:
Aiden McClelland
2026-02-17 18:40:50 -07:00
parent 313b2df540
commit 4cae00cb33
16 changed files with 142 additions and 173 deletions

View File

@@ -125,24 +125,20 @@ export default class ServiceAboutRoute {
},
{
name: 'StartOS package',
value: manifest.wrapperRepo,
value: manifest.packageRepo,
},
],
},
{
header: 'Links',
items: [
{
...manifest.docsUrls.map(docsUrl => ({
name: 'Documentation',
value: manifest.docsUrl || NOT_PROVIDED,
},
{
name: 'Support',
value: manifest.supportSite || NOT_PROVIDED,
},
value: docsUrl,
})),
{
name: 'Marketing',
value: manifest.marketingSite || NOT_PROVIDED,
value: manifest.marketingUrl || NOT_PROVIDED,
},
{
name: 'Donations',

View File

@@ -45,37 +45,19 @@ import { getManifest } from 'src/app/utils/get-package-data'
</header>
<nav>
@for (item of nav; track $index) {
@if (item.title === 'Documentation') {
<a
tuiCell
tuiAppearance="action-grayscale"
[href]="manifest()?.docsUrl"
target="_blank"
noreferrer
>
<tui-icon [icon]="item.icon" />
<span tuiTitle>
<span>
{{ item.title | i18n }}
</span>
</span>
<tui-icon icon="@tui.external-link" [style.font-size.rem]="1" />
</a>
} @else {
<a
tuiCell
tuiAppearance="action-grayscale"
routerLinkActive="active"
[routerLinkActiveOptions]="{ exact: true }"
[routerLink]="item.title === 'dashboard' ? './' : item.title"
>
<tui-icon [icon]="item.icon" />
<span tuiTitle>{{ item.title | i18n }}</span>
@if (item.title === 'dashboard') {
<a routerLink="interface" routerLinkActive="active"></a>
}
</a>
}
<a
tuiCell
tuiAppearance="action-grayscale"
routerLinkActive="active"
[routerLinkActiveOptions]="{ exact: true }"
[routerLink]="item.title === 'dashboard' ? './' : item.title"
>
<tui-icon [icon]="item.icon" />
<span tuiTitle>{{ item.title | i18n }}</span>
@if (item.title === 'dashboard') {
<a routerLink="interface" routerLinkActive="active"></a>
}
</a>
}
</nav>
</aside>
@@ -209,7 +191,6 @@ export class ServiceOutletComponent {
{ title: 'actions', icon: '@tui.file-terminal' },
{ title: 'logs', icon: '@tui.logs' },
{ title: 'about', icon: '@tui.info' },
{ title: 'Documentation', icon: '@tui.book-open-text' },
]
protected readonly service = toSignal(

View File

@@ -231,12 +231,11 @@ export namespace Mock {
},
releaseNotes: 'Taproot, Schnorr, and more.',
license: 'MIT',
wrapperRepo: 'https://github.com/start9labs/bitcoind-wrapper',
packageRepo: 'https://github.com/start9labs/bitcoind-wrapper',
upstreamRepo: 'https://github.com/bitcoin/bitcoin',
supportSite: 'https://bitcoin.org',
marketingSite: 'https://bitcoin.org',
marketingUrl: 'https://bitcoin.org',
donationUrl: 'https://start9.com',
docsUrl: 'https://docs.start9.com',
docsUrls: ['https://docs.start9.com'],
alerts: {
install: 'Bitcoin can take over a week to sync.',
uninstall:
@@ -279,12 +278,11 @@ export namespace Mock {
},
releaseNotes: 'Dual funded channels!',
license: 'MIT',
wrapperRepo: 'https://github.com/start9labs/lnd-wrapper',
packageRepo: 'https://github.com/start9labs/lnd-wrapper',
upstreamRepo: 'https://github.com/lightningnetwork/lnd',
supportSite: 'https://lightning.engineering/',
marketingSite: 'https://lightning.engineering/',
marketingUrl: 'https://lightning.engineering/',
donationUrl: null,
docsUrl: 'https://docs.start9.com',
docsUrls: ['https://docs.start9.com'],
alerts: {
install: null,
uninstall: null,
@@ -339,12 +337,11 @@ export namespace Mock {
},
releaseNotes: 'Even better support for Bitcoin and wallets!',
license: 'MIT',
wrapperRepo: 'https://github.com/start9labs/btc-rpc-proxy-wrapper',
packageRepo: 'https://github.com/start9labs/btc-rpc-proxy-wrapper',
upstreamRepo: 'https://github.com/Kixunil/btc-rpc-proxy',
supportSite: '',
marketingSite: '',
marketingUrl: '',
donationUrl: 'https://start9.com',
docsUrl: 'https://docs.start9.com',
docsUrls: ['https://docs.start9.com'],
alerts: {
install: 'Testing install alert',
uninstall: null,
@@ -402,11 +399,10 @@ export namespace Mock {
title: 'Bitcoin Core',
description: mockDescription,
license: 'mit',
wrapperRepo: 'https://github.com/start9labs/bitcoind-startos',
packageRepo: 'https://github.com/start9labs/bitcoind-startos',
upstreamRepo: 'https://github.com/bitcoin/bitcoin',
supportSite: 'https://bitcoin.org',
marketingSite: 'https://bitcoin.org',
docsUrl: 'https://bitcoin.org',
marketingUrl: 'https://bitcoin.org',
docsUrls: ['https://bitcoin.org'],
releaseNotes: 'Even better support for Bitcoin and wallets!',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',
@@ -444,11 +440,10 @@ export namespace Mock {
long: 'Bitcoin Knots is a combined Bitcoin node and wallet. Not only is it easy to use, but it also ensures bitcoins you receive are both real bitcoins and really yours.',
},
license: 'mit',
wrapperRepo: 'https://github.com/start9labs/bitcoinknots-startos',
packageRepo: 'https://github.com/start9labs/bitcoinknots-startos',
upstreamRepo: 'https://github.com/bitcoinknots/bitcoin',
supportSite: 'https://bitcoinknots.org',
marketingSite: 'https://bitcoinknots.org',
docsUrl: 'https://bitcoinknots.org',
marketingUrl: 'https://bitcoinknots.org',
docsUrls: ['https://bitcoinknots.org'],
releaseNotes: 'Even better support for Bitcoin and wallets!',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',
@@ -496,11 +491,10 @@ export namespace Mock {
title: 'Bitcoin Core',
description: mockDescription,
license: 'mit',
wrapperRepo: 'https://github.com/start9labs/bitcoind-startos',
packageRepo: 'https://github.com/start9labs/bitcoind-startos',
upstreamRepo: 'https://github.com/bitcoin/bitcoin',
supportSite: 'https://bitcoin.org',
marketingSite: 'https://bitcoin.org',
docsUrl: 'https://bitcoin.org',
marketingUrl: 'https://bitcoin.org',
docsUrls: ['https://bitcoin.org'],
releaseNotes: 'Even better support for Bitcoin and wallets!',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',
@@ -538,11 +532,10 @@ export namespace Mock {
long: 'Bitcoin Knots is a combined Bitcoin node and wallet. Not only is it easy to use, but it also ensures bitcoins you receive are both real bitcoins and really yours.',
},
license: 'mit',
wrapperRepo: 'https://github.com/start9labs/bitcoinknots-startos',
packageRepo: 'https://github.com/start9labs/bitcoinknots-startos',
upstreamRepo: 'https://github.com/bitcoinknots/bitcoin',
supportSite: 'https://bitcoinknots.org',
marketingSite: 'https://bitcoinknots.org',
docsUrl: 'https://bitcoinknots.org',
marketingUrl: 'https://bitcoinknots.org',
docsUrls: ['https://bitcoinknots.org'],
releaseNotes: 'Even better support for Bitcoin and wallets!',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',
@@ -592,11 +585,10 @@ export namespace Mock {
title: 'LND',
description: mockDescription,
license: 'mit',
wrapperRepo: 'https://github.com/start9labs/lnd-startos',
packageRepo: 'https://github.com/start9labs/lnd-startos',
upstreamRepo: 'https://github.com/lightningnetwork/lnd',
supportSite: 'https://lightning.engineering/slack.html',
marketingSite: 'https://lightning.engineering/',
docsUrl: 'https://lightning.engineering/',
marketingUrl: 'https://lightning.engineering/',
docsUrls: ['https://lightning.engineering/'],
releaseNotes: 'Upstream release to 0.17.5',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',
@@ -647,11 +639,10 @@ export namespace Mock {
title: 'LND',
description: mockDescription,
license: 'mit',
wrapperRepo: 'https://github.com/start9labs/lnd-startos',
packageRepo: 'https://github.com/start9labs/lnd-startos',
upstreamRepo: 'https://github.com/lightningnetwork/lnd',
supportSite: 'https://lightning.engineering/slack.html',
marketingSite: 'https://lightning.engineering/',
docsUrl: 'https://lightning.engineering/',
marketingUrl: 'https://lightning.engineering/',
docsUrls: ['https://lightning.engineering/'],
releaseNotes: 'Upstream release to 0.17.4',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',
@@ -706,11 +697,10 @@ export namespace Mock {
title: 'Bitcoin Core',
description: mockDescription,
license: 'mit',
wrapperRepo: 'https://github.com/start9labs/bitcoind-startos',
packageRepo: 'https://github.com/start9labs/bitcoind-startos',
upstreamRepo: 'https://github.com/bitcoin/bitcoin',
supportSite: 'https://bitcoin.org',
marketingSite: 'https://bitcoin.org',
docsUrl: 'https://bitcoin.org',
marketingUrl: 'https://bitcoin.org',
docsUrls: ['https://bitcoin.org'],
releaseNotes: 'Even better support for Bitcoin and wallets!',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',
@@ -748,11 +738,10 @@ export namespace Mock {
long: 'Bitcoin Knots is a combined Bitcoin node and wallet. Not only is it easy to use, but it also ensures bitcoins you receive are both real bitcoins and really yours.',
},
license: 'mit',
wrapperRepo: 'https://github.com/start9labs/bitcoinknots-startos',
packageRepo: 'https://github.com/start9labs/bitcoinknots-startos',
upstreamRepo: 'https://github.com/bitcoinknots/bitcoin',
supportSite: 'https://bitcoinknots.org',
marketingSite: 'https://bitcoinknots.org',
docsUrl: 'https://bitcoinknots.org',
marketingUrl: 'https://bitcoinknots.org',
docsUrls: [],
releaseNotes: 'Even better support for Bitcoin and wallets!',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',
@@ -800,11 +789,10 @@ export namespace Mock {
title: 'LND',
description: mockDescription,
license: 'mit',
wrapperRepo: 'https://github.com/start9labs/lnd-startos',
packageRepo: 'https://github.com/start9labs/lnd-startos',
upstreamRepo: 'https://github.com/lightningnetwork/lnd',
supportSite: 'https://lightning.engineering/slack.html',
marketingSite: 'https://lightning.engineering/',
docsUrl: 'https://lightning.engineering/',
marketingUrl: 'https://lightning.engineering/',
docsUrls: [],
releaseNotes: 'Upstream release and minor fixes.',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',
@@ -855,11 +843,10 @@ export namespace Mock {
title: 'Bitcoin Proxy',
description: mockDescription,
license: 'mit',
wrapperRepo: 'https://github.com/Start9Labs/btc-rpc-proxy-wrappers',
packageRepo: 'https://github.com/Start9Labs/btc-rpc-proxy-wrappers',
upstreamRepo: 'https://github.com/Kixunil/btc-rpc-proxy',
supportSite: 'https://github.com/Kixunil/btc-rpc-proxy/issues',
docsUrl: 'https://github.com/Kixunil/btc-rpc-proxy',
marketingSite: '',
docsUrls: [],
marketingUrl: '',
releaseNotes: 'Upstream release and minor fixes.',
osVersion: '0.3.6',
sdkVersion: '0.4.0-beta.48',