feat(namecoin): mention umbrel alongside StartOS in docs and UI hints

Both umbrelOS (via getumbrel/umbrel-apps#4962) and StartOS / Start9
(via Start9-Community/namecoin-core-startos) ship a self-hosted
Namecoin Core that this backend can target. Generalize the
help/strings so umbrel users discover the feature too.

No logic changes.
This commit is contained in:
m
2026-05-27 14:50:37 +10:00
parent a58e7164b5
commit daa7c7913e
3 changed files with 13 additions and 11 deletions
@@ -912,8 +912,9 @@ private fun NamecoinCoreRpcSection(
Spacer(Modifier.height(4.dp))
Text(
"URL, username and password for your Namecoin Core node. " +
"StartOS users: copy these from the package's Properties tab " +
"(Tor onion URL recommended for remote access).",
"StartOS / Start9 users: copy these from the package's Properties tab. " +
"Umbrel users: see the Namecoin Core app's 'Connect From Outside' card. " +
"Tor onion URL recommended for remote access.",
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurfaceVariant,
)
@@ -47,9 +47,10 @@ enum class NamecoinBackend {
*
* The URL is expected to be the root of the RPC server (e.g.
* `http://192.168.1.42:8336/`, `http://<onion>.onion:8336/`, or
* `https://lan-host/` when StartOS terminates TLS for you). The user
* supplies username and password; cookie-auth is not supported because
* the user typically isn't running this on the same host as the node.
* `https://lan-host/` when StartOS or umbrel terminate TLS for you).
* The user supplies username and password; cookie-auth is not
* supported because the user typically isn't running this on the same
* host as the node.
*
* Tor onion endpoints are resolved through the same `socketFactoryForNip05`
* path as the existing ElectrumX traffic, so they obey the user's Tor
@@ -57,7 +58,7 @@ enum class NamecoinBackend {
*
* `usePinnedTrustStore` mirrors the ElectrumX flag: set true to route
* the HTTPS request through the pinned-cert socket factory (used for
* StartOS LAN endpoints with self-signed root, etc.).
* StartOS / umbrel LAN endpoints with self-signed root, etc.).
*/
@Serializable
data class NamecoinCoreRpcConfig(
@@ -67,9 +68,9 @@ data class NamecoinCoreRpcConfig(
* reverse proxy mounts the RPC under a sub-path).
*/
val url: String = "",
/** RPC username (StartOS "RPC Credentials" → Username). */
/** RPC username (StartOS "RPC Credentials" → Username, umbrel 'Connect From Outside' → RPC User). */
val username: String = "",
/** RPC password (StartOS "RPC Credentials" → Password). */
/** RPC password (StartOS "RPC Credentials" → Password, umbrel 'Connect From Outside' → RPC Password). */
val password: String = "",
/**
* Per-call timeout in milliseconds. Defaults to 15 seconds, well
@@ -77,7 +78,7 @@ data class NamecoinCoreRpcConfig(
* single slow node doesn't burn the whole budget.
*/
val timeoutMs: Long = 15_000L,
/** Use the pinned trust store (self-signed StartOS LAN cert, etc.). */
/** Use the pinned trust store (self-signed StartOS / umbrel LAN cert, etc.). */
val usePinnedTrustStore: Boolean = false,
) {
val isUsable: Boolean
@@ -41,8 +41,8 @@ import java.util.concurrent.TimeUnit
* Namecoin Core JSON-RPC client.
*
* Implements [NamecoinNameBackend] by issuing a `name_show` JSON-RPC call
* against a user-configured Namecoin Core node — typically a StartOS
* install reached over its Tor hidden service or LAN URL.
* against a user-configured Namecoin Core node — typically a StartOS or
* umbrel install reached over its Tor hidden service or LAN URL.
*
* The transport is delegated to an [OkHttpClient] supplied by the caller
* (Amethyst plumbs it through `roleBasedHttpClientBuilder.okHttpClientForNip05(url)`