Repository navigation
Conversation
|
Rinx pin coordination: OctoSense will pin only merged Rinx commits, all PRs agree on Rinx main |
|
Closing in favour of #94, which contains this PR's kernel packaging (the bundled-kernel lookup in 🤖 Generated with Claude Code |
The desktop kernel service finds a packaged `octos-kernel[.exe]` beside the shell executable when `OCTOS_APP_CORE_BIN` is unset (crates/kernel/src/launch.rs), and tools/build-desktop.py builds the locked kernel and stages it there. Rebased onto main: the old hosted-Rinx revision is dropped (main pins Rinx by tag v1.1.0 through native-apps.json) and so is the Cargo.toml patch redirect, which main already carries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Superseded by #256, which ports this PR's packaged-kernel lookup to current main with a launch-time revision and SHA-256 check (via 🤖 Generated with Claude Code |
…ision The desktop's kernel service needed OCTOS_APP_CORE_BIN. It now also finds a packaged `octos-kernel[.exe]` beside the shell executable (in a macOS .app, Contents/MacOS or Contents/Resources), never in the working directory or on PATH. Options::program and OCTOS_APP_CORE_BIN still win, unchecked, and a broken override is an error rather than a fallback. The packaged kernel runs only when its receipt `octos-kernel.json` names the octos revision this build pins (crates/kernel/build.rs reads it from Cargo.lock) and the binary's SHA-256 matches. A stale target/release/octos-kernel from an earlier pin, a missing receipt or a swapped binary is refused, and the reason reaches the person. OCTOSENSE_KERNEL_ANY_REVISION=1 accepts another revision while developing; the receipt and hash are still required. Resolving reads only the receipt (it also answers status queries on the UI thread); the hash is checked in launch::prepare on the kernel's runtime before each start, cached by size and modification time. tools/kernel-artifact.py --host --stage <dir> builds the pinned kernel and stages it with that receipt, refusing a binary whose --version is not the pinned revision (--kernel stages a prebuilt one). The host build passes --target-dir instead of an `env` wrapper, so it runs on Windows too. Replaces the kernel part of #85. Its Rinx pin and [patch] changes are dropped: main pins Rinx v1.1.0 and the app contract from crates.io. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… GPU timing, terminal shortcuts) Makepad main 39a9de88 adds a hidden map's idle frame loop fix (#79), Android HTTP without redirects (#75), the sheets font by crate (#80), Linux GL remote grabs (#93), Android Vulkan without a debug messenger (#92), the touch-down power hint (#83), GL GPU timing (#81), atlas text on phones (#82), the DrawText current-list fix (#89), terminal keyboard shortcuts (#76) and the terminal on OpenHarmony (#91), and OpenHarmony's keyboard, Studio, GL lifetimes and idle frames (#84, #85, #88, #87), through Octoscript-Makepad 62760863 (#70). makepad #90 is not in it. - root Cargo.toml: makepad and octoscript-makepad revisions together; native-apps.json (Sheets, Terminal), regenerated pins unchanged otherwise - both native-runtime.lock.json files - runtime-patches.lock.json: the settings patch is rebased onto 39a9de88 with the same added and removed lines; its touch-down line in MakepadActivity.java now sits next to #83's hint, and draw_text.rs context follows #87's cfg. The system-back, IME and two Windows patches reapply unchanged. The map, OpenHarmony GL-lifetime and DrawText patches are dropped: they are makepad #79, #88 and #89, now upstream. New tree 976bf55b. - Cargo.lock: unchanged - the three pinned-hash docs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ision The desktop's kernel service needed OCTOS_APP_CORE_BIN. It now also finds a packaged `octos-kernel[.exe]` beside the shell executable (in a macOS .app, Contents/MacOS or Contents/Resources), never in the working directory or on PATH. Options::program and OCTOS_APP_CORE_BIN still win, unchecked, and a broken override is an error rather than a fallback. The packaged kernel runs only when its receipt `octos-kernel.json` names the octos revision this build pins (crates/kernel/build.rs reads it from Cargo.lock) and the binary's SHA-256 matches. A stale target/release/octos-kernel from an earlier pin, a missing receipt or a swapped binary is refused, and the reason reaches the person. OCTOSENSE_KERNEL_ANY_REVISION=1 accepts another revision while developing; the receipt and hash are still required. Resolving reads only the receipt (it also answers status queries on the UI thread); the hash is checked in launch::prepare on the kernel's runtime before each start, cached by size and modification time. tools/kernel-artifact.py --host --stage <dir> builds the pinned kernel and stages it with that receipt, refusing a binary whose --version is not the pinned revision (--kernel stages a prebuilt one). The host build passes --target-dir instead of an `env` wrapper, so it runs on Windows too. Replaces the kernel part of #85. Its Rinx pin and [patch] changes are dropped: main pins Rinx v1.1.0 and the app contract from crates.io. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… GPU timing, terminal shortcuts) Makepad main 39a9de88 adds a hidden map's idle frame loop fix (#79), Android HTTP without redirects (#75), the sheets font by crate (#80), Linux GL remote grabs (#93), Android Vulkan without a debug messenger (#92), the touch-down power hint (#83), GL GPU timing (#81), atlas text on phones (#82), the DrawText current-list fix (#89), terminal keyboard shortcuts (#76) and the terminal on OpenHarmony (#91), and OpenHarmony's keyboard, Studio, GL lifetimes and idle frames (#84, #85, #88, #87), through Octoscript-Makepad 62760863 (#70). makepad #90 is not in it. - root Cargo.toml: makepad and octoscript-makepad revisions together; native-apps.json (Sheets, Terminal), regenerated pins unchanged otherwise - both native-runtime.lock.json files - runtime-patches.lock.json: the settings patch is rebased onto 39a9de88 with the same added and removed lines; its touch-down line in MakepadActivity.java now sits next to #83's hint, and draw_text.rs context follows #87's cfg. The system-back, IME and two Windows patches reapply unchanged. The map, OpenHarmony GL-lifetime and DrawText patches are dropped: they are makepad #79, #88 and #89, now upstream. New tree 976bf55b. - Cargo.lock: unchanged - the pinned-hash docs under phone/docs; rom/docs/home-build.md follows in its own change, so this one does not trigger rom.yml (whose jobs local CI cannot run) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… GPU timing, terminal shortcuts) Makepad main 39a9de88 adds a hidden map's idle frame loop fix (#79), Android HTTP without redirects (#75), the sheets font by crate (#80), Linux GL remote grabs (#93), Android Vulkan without a debug messenger (#92), the touch-down power hint (#83), GL GPU timing (#81), atlas text on phones (#82), the DrawText current-list fix (#89), terminal keyboard shortcuts (#76) and the terminal on OpenHarmony (#91), and OpenHarmony's keyboard, Studio, GL lifetimes and idle frames (#84, #85, #88, #87), through Octoscript-Makepad 62760863 (#70). makepad #90 is not in it. - root Cargo.toml: makepad and octoscript-makepad revisions together; native-apps.json (Sheets, Terminal), regenerated pins unchanged otherwise - both native-runtime.lock.json files - runtime-patches.lock.json: the settings patch is rebased onto 39a9de88 with the same added and removed lines; its touch-down line in MakepadActivity.java now sits next to #83's hint, and draw_text.rs context follows #87's cfg. The system-back, IME and two Windows patches reapply unchanged. The map, OpenHarmony GL-lifetime and DrawText patches are dropped: they are makepad #79, #88 and #89, now upstream. New tree 976bf55b. - Cargo.lock: unchanged - the pinned-hash docs under phone/docs; rom/docs/home-build.md follows in its own change, so this one does not trigger rom.yml (whose jobs local CI cannot run) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Desktop already ships AI Providers, but without OCTOS_APP_CORE_BIN its kernel service cannot start. Add a build tool that stages the locked native Octos runtime beside the desktop executable and discovers that sibling automatically. Explicit overrides remain authoritative. Reused kernels must report the locked revision before replacing the prior runtime; the build records their SHA-256.
Advance the shared Desktop/Home/ROM Rinx pin to 197d517 (merged hagency-org/Rinx#27 and hagency-org/Rinx#33), including the system-app catalog and native article editor. Hosted Rinx uses this workspace's app broker, provider configuration and single kernel. Its standalone features remain disabled, and AppCard remains opt-in.
Validation on macOS:
The full clean release/kernel source-build path, Windows/Linux desktop runtime behavior, and a new phone/ROM device install are unverified. The builder creates a source-build layout, not a signed installer. Existing installed apps and user profiles were not changed.
Related: #70 retains the separate Android Back/theme changes. This PR advances Rinx beyond its current pin and does not change that branch.