kernel: read the release public key and sync host from AppConfig - #423
Open
johanhal wants to merge 1 commit into
Open
kernel: read the release public key and sync host from AppConfig#423johanhal wants to merge 1 commit into
johanhal wants to merge 1 commit into
Conversation
Two optional AppConfig fields, publicKeyJwk and syncHost, so a build that runs its own signed release channel and relay configures them per app instead of patching the kernel. Absent, the embedded platform key and DEFAULT_SYNC_HOST apply exactly as before; no app in this repo sets them.
johanhal
added a commit
to betamobility/slides
that referenced
this pull request
Sep 8, 2026
…without R2 (#2) README gains a Beta "Releasing" section (dated versions and why, gh set-default, Pages direct upload, the .html 308) and links the two upstream PRs (nyblnet#423, nyblnet#424). AGENTS.md's upstream-merge conflict list adds slides/package.json and CHANGELOG.md. wrangler.toml drops the R2 binding per plan U2: binding it means a paid subscription on the account, which is the maintainer's decision, and the inline fallback is upstream-supported. Claude-Session: https://claude.ai/code/session_01SQN76RTkurkAAxMMvnwfbt Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
kernel: read the release public key and sync host from AppConfig
kernel/src/update.tshardcodesPUBLIC_KEY_JWKandkernel/src/sync/online.tshardcodesDEFAULT_SYNC_HOST. Both are per-publisher values, not per-kernel ones: a downstream build that runs its own signed release channel and its own relay has to patch the kernel to change them, and then carries that patch across every merge.This adds two optional fields to
AppConfig:publicKeyJwk— the P-256 public JWK manifests and pack indexes are verified against. Absent,update.tsuses the embedded platform key exactly as today.syncHost— the default relay host. Absent,sync/online.tsusesDEFAULT_SYNC_HOSTexactly as today. Thebento-sync-urllocalStorage dev override still wins over both.Nothing changes for the apps in this repo: none of them set the fields, and every existing rig passes unchanged.
test-release-channel.mjsstill swaps the embedded constant by regex, because the constant is still there as the default.Why optional and why in
AppConfig:app.tsalready says only three values are app-specific across the kernel. These two are publisher-specific, which is the same axis, andconfigureApp()is the one call every app already makes before any kernel module runs.syncHost()reads the config lazily and tolerates an unconfigured kernel, so rigs that never callconfigureApp()are unaffected.Verified:
tsc -b,tsc -p ../kernel,npm run build:single,shell-gate.mjs,test-release-channel.mjs --app slides,test-sync-session.ts,test-relay-protocol.ts,test-offline.ts,test-storage.ts,test-autosave.ts.