Repository navigation
ADR 0014 phase 4: an app's pinned shared components in the wasm service - #454
Merged
Merged
Conversation
ymote
force-pushed
the
chore/runtime-makepad-d653bc44
branch
from
October 10, 2026 02:34
62fc450 to
cf9a6a8
Compare
ymote
force-pushed
the
feat/wasm-shared-components
branch
from
October 10, 2026 04:13
6356135 to
740e1f6
Compare
ymote
changed the base branch from
chore/runtime-makepad-d653bc44
to
fix/component-host-calls-declared
October 10, 2026 04:13
ymote
marked this pull request as ready for review
October 10, 2026 04:13
A shared component (App Hub ADR 0003) is a component App Hub publishes on its own; an app pins it by alias, id, exact version and BLAKE3 digest. The wasm service now loads each one the app pins beside its fns/, from octosense_appstore::components::resolved_in (a system app's from its bundle, an installed app's from the shared store, checked against the verified catalog and its digest on every load), and routes its exports as wasm.<alias>.<function>. The app gets its own instance, under its own grants, as for a component in its fns/; an app may call only shared components. warm compiles them ahead too, and wasm.functions names the component each function comes from. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote
force-pushed
the
feat/wasm-shared-components
branch
from
October 10, 2026 05:24
740e1f6 to
5dc972b
Compare
Contributor
Author
|
Merged as part of a train (#452 → #454 → #455) on one local CI pass at the train's top head ddc3bd3. The run was 🤖 Generated with Claude Code |
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.
Stacked on #453, the 14th sweep, whose App Hub pin 40abb23b carries App Hub #190, shared components. It stays a draft until #453 merges.
What it adds
A shared component (App Hub ADR 0003) is a component that App Hub publishes on its own. An app pins it under
componentsby alias, id, exact version and BLAKE3 digest, and requireswasm-shared-components-v1.The
wasmservice (crates/shell/src/wasm_service.rs) now:fns/. It gets the files fromoctosense_appstore::components::resolved_in: a system app's from its bundle, an installed app's from the shared store. Each file is checked against the verified catalog and its digest on every load, and nothing is fetched there;wasm.<alias>.<function>;fns/. An app may call only shared components;warmcompile them ahead too;wasm.functionsname the component each function comes from ("shared").There is a test hook (
SHARED_RESOLVER), and a manifest that pins nothing never asks the store.Docs:
docs/wasm.mdanddocs/wasm.zh-CN.md(Shared components, Not done yet), and ADR 0014's status.Checks (macOS, on #453's sources: makepad d653bc44 overlay tree 0e7e0dac, App Hub 40abb23b)
From
phone/,cargo test --locked --features mobile-apps -p octosense-shell wasm_service::tests: 10 passed. They includea_pinned_shared_component_answers_as_alias_and_function, which runs a bundle with nofns/and one pinned component (md.to_html,md.countkeeping its state, a bare name refused,describenaming the component).Not verified
No App Hub catalog has published a shared component yet, so installing an app that pins one and calling it in a shell is unverified. Nothing was run on a device.
🤖 Generated with Claude Code