Skip to content

Pin makepad d653bc44 / Octoscript-Makepad 6cf2d90a / App Hub 40abb23b (14th sweep, #450) - #453

Merged
ymote merged 3 commits into
mainfrom
chore/runtime-makepad-d653bc44
Oct 10, 2026
Merged

ymote merged 3 commits into
mainfrom
chore/runtime-makepad-d653bc44

Conversation

@ymote

@ymote ymote commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

The 14th runtime sweep. It pins makepad main d653bc44, Octoscript-Makepad 6cf2d90a (OSM #82 and #83) and App Hub 40abb23b (App Hub #191). It also carries the end of the per-app Splash runtime gates, under the ruling of 8 October 2026 (#450).

What the runtime change means

The runtime overlay

The overlay is rebased from 32d6415f onto d653bc44: 34 patches, tree 0e7e0dac. makepad-map-script-api.patch is dropped, since makepad#113 merged it. Resolved by hand:

  • Settings patch, Android IME. Upstream now defers HideTextIME (pending_ime_hide). ShowTextIME still skips a dismissed keyboard and publishes a new editor session, and now also cancels a pending hide. HideTextIME publishes the editor before deferring.
  • Settings patch, GL program cache. The validation state (NeedsValidation, Supported, Disabled, and the probe of a fresh export) is applied to upstream's rewritten cache functions (program_cache_path, driver-keyed names).
  • host-json-boundary and host-response-json. The capability pre-check they edited is gone. The raw-envelope test drops its refusal mode, because the runtime no longer builds that envelope.
  • host-api-runtime-fixes. Its nested-callback test now has the host refuse the location sample.
  • device-consent. It still adds set_device_consent next to set_policy. Its consent check in service_allowed still guards the runtime's own reads. Host methods are guarded by the device service.

Other changes

  • video-api-smoke no longer expects the runtime to refuse an unlisted URL.
  • The host API lab's native acceptance (desktop.yml native-host-api):
    • a background location sample without consent is refused by App Hub's dispatcher (a foreground-only method from a background surface);
    • an undeclared microphone recording from a tool call is refused the same way (in the foreground, the audio service refuses it). Either refusal passes.
  • Docs naming the release are updated: phone/docs/build-tool.md, phone/docs/makepad-fork.md, and the architecture and Mail docs' pins. rom/docs/home-build.md follows in its own PR, because a ROM path would need the two-run local gate. Dated evidence is untouched.

Checks

  • cargo test -p makepad-widgets --lib on the overlay: 319 passed and 5 failed. The 5 fail identically on plain makepad main.
  • cargo check --target aarch64-linux-android -p makepad-widgets passes. The OpenHarmony check needs DevEco's C toolchain for ring and was not run.
  • python3 tools/setup.py --check --cargo and python3 tools/native_apps.py --check pass.
  • Local CI (tools/ci-local.sh --only apps,desktop,phone --linux-host --offload):
    • at a772b370: PASSED;
    • at d653bc44: one failure, the native lab text described above, now fixed (tools/test-host-api-native.py passes);
    • on this exact head: running, and I'll merge with tools/ci-local-merge.sh when it passes.

Not run: a phone or other device, Windows outside CI, and OpenHarmony.

🤖 Generated with Claude Code

ymote and others added 3 commits October 9, 2026 19:34
Makepad main d653bc44 carries the end of the per-app Splash runtime gates
under the ruling of 8 October 2026 (#450): #117 drops the URL, media,
socket and instruction-budget gates, and #118 the capability check before
a host.request (option (c), confirmed by the product owner). The storage
jail, inert password fields and the runtime's own checks on location,
saved lists, the camera preview and agent.notify stay; host services that
need a grant check it themselves (the device service checks the app's
grant and the person's device consent for every camera, microphone and
location call). It also carries #110-#116: renderer, Android, Linux and
TextFlow work.

The runtime overlay is rebased onto the new base: 34 patches, tree
0e7e0dac. Resolved by hand:
- Settings patch, Android IME: upstream defers HideTextIME
  (pending_ime_hide); ShowTextIME still skips a dismissed keyboard and
  publishes a new editor session, and now also cancels a pending hide;
  HideTextIME publishes the editor before deferring.
- Settings patch, GL program cache: the validation state (NeedsValidation,
  Supported, Disabled, the probe of a fresh export) is applied to
  upstream's rewritten cache functions.
- host-json-boundary and host-response-json: the capability pre-check they
  edited is gone.
- host-response-json's raw-envelope test drops its refusal mode (the
  runtime no longer builds that envelope); host-api-runtime-fixes' nested
  callback test has the host refuse the location sample instead.
makepad-map-script-api.patch is dropped: makepad#113 merged it.

video-api-smoke no longer expects the runtime to refuse an unlisted URL.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…heck

makepad#118 (#450) removed the runtime's capability check before a
host.request, so two checks of the native acceptance run named its text:
- a background location sample without consent is now refused by App
  Hub's dispatcher (a foreground-only method from a background surface),
  with the device service's consent check behind it;
- an undeclared microphone recording from an agent's tool call is refused
  by the dispatcher too, and in the foreground by the audio service, which
  checks the family itself. Either refusal passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
App Hub #191 repins App Hub to the same runtime, and with the budget gate
gone a runaway app tool handler still fails at once (a captured-error
sink catches the per-evaluation limit); net alone hands an isolate its
network module. It also brings #186 (components under
wasm-components-v1), #188 (wasi:http and octosense:host admission) and

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ymote
ymote force-pushed the chore/runtime-makepad-d653bc44 branch from 62fc450 to cf9a6a8 Compare October 10, 2026 02:34
@ymote

ymote commented Oct 10, 2026

Copy link
Copy Markdown
Contributor Author

Local CI passed on cf9a6a8 (tools/ci-local.sh --only apps,desktop,phone --linux-host, 45m24s, Darwin arm64; the ubuntu jobs on the Linux build host, Linux x86_64).

GitHub would run for this PR: desktop.yml, phone.yml, apps.yml. Merged on this local pass (macOS runner queue); GitHub CI runs on the merge commit on main.

Job Step Result Time
ci-local / drift The local mapping fits the workflows PASS -
desktop.yml / desktop Prepare the pinned framework sources PASS 1s
desktop.yml / desktop Compile the desktop with the shared runtime PASS 3m13s
desktop.yml / desktop One copy of every shell source PASS -
desktop.yml / desktop Desktop tools and scripts PASS 16s
desktop.yml / desktop One Makepad, App Hub, octos and Rinx in the locked graph PASS 7s
desktop.yml / desktop The native apps' generated places match native-apps.json PASS 0s
desktop.yml / native-host-api Prepare the pinned framework sources PASS 0s
desktop.yml / native-host-api Build the native acceptance host and pinned Hub CLI PASS 11s
desktop.yml / native-host-api Signed app tool calls a real OS permission API PASS 3s
phone.yml / home Prepare pinned sources and the reviewed runtime patch PASS 0s
phone.yml / home Validate launcher icons and Apple asset catalogs PASS 3s
phone.yml / home Compile Home and its bundled modules PASS 2m52s
phone.yml / home Verify the single runtime graph PASS 3s
phone.yml / home The native apps' generated places match native-apps.json PASS 0s
phone.yml / home The pinned octos revision PASS 0s
phone.yml / home Build octos (unless cached) PASS -
phone.yml / home Build Home, App Hub admission and runtime policy tests PASS 5m46s
phone.yml / home Test Home, App Hub admission and runtime policy PASS 57s
phone.yml / home Two-lane scenario (real kernel, scripted model) PASS 57s
phone.yml / home Build opt-in AppCard tests PASS 4m12s
phone.yml / home Test opt-in AppCard PASS 7s
phone.yml / home Build craft-engine relay and system-chat tests PASS 11m49s
phone.yml / home Test craft-engine relay and system chat PASS 55s
phone.yml / home Build linked Terminal tests PASS 2m36s
phone.yml / home Test linked Terminal PASS 6s
phone.yml / home Build Wasm and runtime policy tests PASS 2m05s
phone.yml / home Test Wasm and runtime policy PASS 18s
apps.yml / services (linux) python3 tools/setup.py PASS 0s
apps.yml / services (linux) Shared system app interface PASS 0s
apps.yml / services (linux) Kernel service PASS 12s
apps.yml / services (linux) App peers PASS 25s
apps.yml / services (linux) AI providers config PASS 4s
apps.yml / services (linux) Connected provider protocols and Linux host adapter PASS 40s
apps.yml / services (linux) L0 in-card chat (sys.chat, host side) PASS 9s
apps.yml / services (linux) System toolbox (workflow templates) PASS 1m25s
apps.yml / kernel-security (linux) python3 tools/setup.py PASS 1s
apps.yml / kernel-security (linux) The pinned octos revision PASS -
apps.yml / kernel-security (linux) Build octos (unless cached) PASS -
apps.yml / kernel-security (linux) Real-kernel tests PASS 32s
apps.yml / apps python3 tools/setup.py PASS 1s
apps.yml / apps Host services (Mail, AI providers, News) PASS 1m55s
apps.yml / apps Connected accounts and Rinx editor PASS 1m42s
apps.yml / apps Shell AI services (crates/ai-host) PASS 3m17s
apps.yml / apps AppCard runtime setup safeguards PASS 0s
apps.yml / apps AppCard clippy (own crates; shared runtime compiles) PASS 52s
apps.yml / apps AppCard transport and store PASS 42s
apps.yml / apps One Makepad, App Hub, octos and Rinx in the locked graph PASS 18s
linux-host / sandbox (linux) python3 tools/setup.py PASS 0s
linux-host / sandbox (linux) Process sandbox on Linux (Landlock, seccomp) PASS 1m24s

Notes:

  • GitHub runs Python 3.12; this run used Python 3.9.6
  • GitHub runs Python 3.12; the Linux host used Python 3.14.4

Native GitHub acceptance passed on the same head: embedded-browser.yml.

@ymote
ymote merged commit 0410075 into main Oct 10, 2026
5 of 9 checks passed
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