Skip to content

feat(white-label): bake a server address and lock into brand.json - #21

Merged
otherworld-dev merged 4 commits into
devfrom
d1010-brand-server-lock
Nov 6, 2026
Merged

otherworld-dev merged 4 commits into
devfrom
d1010-brand-server-lock

Conversation

@otherworld-dev

Copy link
Copy Markdown
Owner

A white-label build can now set serverUrl and lockServer in brand.json, which feed the same server lock as the admin policy, so a partner's installs sign in to its own server with no licence key or registry step on each PC. The sign-in window fills the address in and greys it out when it's locked, instead of quietly swapping whatever was typed, and build-partner.ps1 refuses a lock without an https address. The stock build sets neither.

When the server didn't answer, Android's sign-in screen showed the raw Go
error ("start login flow: Post …: context deadline exceeded (Client.Timeout
exceeded while awaiting headers)") and the desktop window showed the same
behind "error:". Starting the login flow now returns a short message naming
the server for the common cases: no answer in time, address not found,
connection refused, untrusted certificate, a plain-http server typed without
http://, a 404 (with a hint about Nextcloud in a subfolder), a server error,
and an answer that isn't Nextcloud. The raw error still goes to the log and
stays wrapped for errors.Is. Both apps get it, they show the text as it comes.
d907
A partner wants its clients' installs locked to its own server, but the
only lock so far was the HKLM admin policy, which needs a business licence
and a registry step on every PC, and a partner can't push either onto its
clients' machines. brand.json now takes serverUrl and lockServer, which
feed the same lock the policy uses, so a partner build signs in to its
server out of the box. An admin policy's own address still wins. The
sign-in window fills the preset in and, when it's locked, greys the field
out instead of quietly swapping whatever was typed (this also covers the
existing admin lock). build-partner.ps1 refuses a lock without an https
address, and the app drops a bad preset rather than lock to it. The stock
build sets neither. d1010
# Conflicts:
#	cmd/nimbo-gui/frontend/dist/assets/index-B4DLXM4K.js
#	cmd/nimbo-gui/frontend/dist/assets/index-B_IgXu9_.js
#	cmd/nimbo-gui/frontend/dist/assets/index-DtAKrFT6.js
#	cmd/nimbo-gui/frontend/dist/index.html
# Conflicts:
#	cmd/nimbo-gui/frontend/dist/assets/index-B_IgXu9_.js
#	cmd/nimbo-gui/frontend/dist/assets/index-DZbRDFCU.js
#	cmd/nimbo-gui/frontend/dist/assets/index-VTBCTqFI.js
#	cmd/nimbo-gui/frontend/dist/index.html
@otherworld-dev
otherworld-dev merged commit 8d15872 into dev Nov 6, 2026
3 checks passed
@otherworld-dev
otherworld-dev deleted the d1010-brand-server-lock branch November 6, 2026 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant