Skip to content

fix: Android Back and theme path; Rinx main and App Hub e8601b80 - #70

Merged
ymote merged 3 commits into
mainfrom
fix/rinx-android-deployment
Sep 28, 2026
Merged

ymote merged 3 commits into
mainfrom
fix/rinx-android-deployment

Conversation

@ymote

@ymote ymote commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Android Home's theme loader used the old crate asset path, and Back from hosted Rinx could close the Android Activity or dispatch duplicate navigation. This change loads the shared-shell theme asset and routes Back once through the shell, preserving overlays and IME dismissal. A pinned Makepad overlay suppresses compatibility Back keys when the system callback owns navigation.

Both desktop and phone pin Rinx 8a7b935b from Rinx #27. This includes Android HTTPS initialization, account binding after Matrix login/restore, intact session/history replies, and the article editor's SVG controls, adjacent confirmations and localized hover/long-press labels. Hosted Rinx continues using the workspace broker/config/kernel service. This branch follows OctoSense's rewritten canonical history.

Validation:

  • python3 tools/setup.py --update and --check --cargo pass. Both packaging dependency-graph checks pass for standard/mobile-apps features on host/Android: one runtime/kernel, with no Rinx standalone runtime features in the host.
  • Both runtime patches reproduce the locked Makepad tree.
  • Separate OnePlus 6 / Android 15 APK 2026092713, host source f222256: signature, kernel hash, shared-shell theme asset, exact article SVG bytes and absence of a HOME intent verified.
  • Authenticated UI retains the Matrix account. Article consent icons are side by side and long press shows labels. A local draft stays visible while editing, survives reopening, and renders in Preview. Theme selection and table insertion/rendering pass; publish preparation returns to editing without sending anything. The updated editor is left open.
  • Earlier device validation on build 2026092712 covered real-kernel session/history, scripted-provider AI reply, native approval prompt/denial, close during delayed response, and a fresh context/reply on reopening. System Back and edge Back kept the host alive with one kernel child. These AI tests were not repeated for the editor UI pin. Earlier IME/background/resume/restart checks and their revisions remain in Rinx ADR 0007.

Test adapters/manifests are excluded from the PR. The temporary provider and its own ADB reverse were removed. Normal Home, Bridge and Rinx remain untouched. Paid-provider inference, native cross-app agent exchange, approval acceptance, and privileged production ROM integration remain unverified. PR remains open for review.

@ymote ymote changed the title fix: update hosted Rinx and keep Back inside the phone shell fix: align hosted Rinx and restore Android startup and Back navigation Sep 27, 2026
@ymote
ymote marked this pull request as ready for review September 27, 2026 19:05
@ymote

ymote commented Sep 27, 2026

Copy link
Copy Markdown
Contributor Author

Heads-up: OctoSense main moved to 6e47d84 (#71, one crates/shell). This PR needs a rebase. Conflicts should be limited to Cargo.toml (new crates/shell member, makepad-photos dropped) and Cargo.lock. Shell Rust code now lives in crates/shell/src; phone/resources/android is unchanged.

@ymote ymote changed the title fix: align hosted Rinx and restore Android startup and Back navigation fix: align hosted Rinx with the shared shell and Android Back navigation Sep 27, 2026
@ymote
ymote force-pushed the fix/rinx-android-deployment branch from 0336018 to 1960cca Compare September 27, 2026 22:40
@ymote ymote changed the title fix: align hosted Rinx with the shared shell and Android Back navigation fix: update hosted Rinx editor and Android Back navigation Sep 27, 2026
@ymote
ymote force-pushed the fix/rinx-android-deployment branch from f222256 to c329bf0 Compare September 27, 2026 23:41
@ymote

ymote commented Sep 27, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto main f38d52ff (after #80 and #81) as one commit, c329bf05. It replaces the seven commits and the merge of the old main. The PR's files match the previous tip f222256e exactly; the only other difference is #80's dev-profile lines in Cargo.toml. setup.py --check --cargo, cargo metadata --locked and check-shell-graph.sh (both shells) pass. If you have a local checkout, run git fetch && git reset --hard origin/fix/rinx-android-deployment.

@ymote
ymote force-pushed the fix/rinx-android-deployment branch from c329bf0 to b180a12 Compare September 28, 2026 03:45
@ymote ymote changed the title fix: update hosted Rinx editor and Android Back navigation fix: Android Back and theme path; Rinx main and App Hub e8601b80 Sep 28, 2026
@ymote

ymote commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

Updated on main a55ca40 as two commits:

  1. The Android theme-path and Back fixes. The Back patch is rebased on makepad 975c5630.
  2. A pin move:

This PR is the one that moves the Rinx pin; #85 and #86 drop theirs.

Checked locally:

  • setup.py --check --cargo passes, and the runtime patches reapply.
  • cargo metadata --locked passes.
  • check-shell-graph.sh passes for both shells on host and Android, default and mobile-apps, with one octos 60cf96e6.
  • cargo test -p octosense-app-policy --no-run from phone/ resolves to one crate (it used to be ambiguous).
  • cargo check passes for the phone mobile-apps build and the desktop build.

ymote and others added 3 commits September 28, 2026 00:40
Rebased onto main f38d52f as one commit. It replaces the branch's seven
commits and its merge of the old main:
- fix: retain phone host on Back and consume current Rinx TLS fix
- fix: load Android themes from the renamed phone crate assets
- fix: route predictive Android Back to the phone shell
- fix: dispatch system Back only once in the hosted Android shell
- merge: adapt Rinx validation to the shared shell and kernel
- fix: update Rinx session response adapter
- ui: pin Rinx article editor SVG controls in both packagings

The content equals the previous tip f222256 on top of main.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Rinx main (hagency-org/Rinx#27, #33, #34, #35, #36) takes its App Hub
crates from e8601b80, so the shell's App Hub moves with it: one
octosense-app-policy and one octosense-app-hub in the graph. App Hub
e8601b80 adds the glance and model capabilities and the app agent bundle
files.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The phone job compiles and runs its tests on a 7 GB runner. A stall there
held the runner for hours without a log. The build and the test run are
now separate steps with 60- and 30-minute limits, so a stall fails with
its log.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ymote
ymote force-pushed the fix/rinx-android-deployment branch from b180a12 to f3ecdcf Compare September 28, 2026 07:44
@ymote
ymote merged commit bb2b219 into main Sep 28, 2026
6 checks passed
chrislearn pushed a commit to chrislearn/OctoSense that referenced this pull request Sep 29, 2026
ADR 0002 decision C: an app's AI keeps its main path through its own
octos agent and the toolbox's templates; contained script apps also get a
narrow, direct, one-shot model call. The ADR gains section 14, "Direct
one-shot model calls (model.complete)".

The `model` host service (octosense-llm-service, src/complete), registered
by crates/ai-host with the llm service:

- host.request("model.complete", {task, input, schema, class?, allow_urls?})
  answers {output, meta: {class, requested, attempts, usage, budget}};
  model.budget answers the caller's budget.
- The app names a class (fast or strong, octos's catalog types); the host
  picks the provider from the person's profile in their order, that class
  first, and falls back past a failing provider. The app never sees the
  provider, model id or key; meta carries the class and token usage.
- One shot: no tools, memory or history. The JSON Schema (Octoscript's
  bounded subset, 8 KiB) is required; a reply that is not JSON, fails the
  schema, carries a URL (unless allow_urls) or is over 16 KiB is retried
  once, then refused.
- No output-token cap is sent (Anthropic gets the model's own catalog
  maximum, which its API requires).
- A per-app ledger in <host dir>/model/ledger.json: 6 calls a minute,
  100 calls and 100,000 tokens a UTC day by default, with per-app
  overrides for a Settings page (follow-up).
- Refusals are "<code>: <sentence>": capability, no_provider, rate, budget,
  bad_request, invalid_output, too_large, provider.
- The service checks the app's own manifest for `model` behind the Card
  runner's isolate gate. ModelHost::complete is the Rust entry the
  toolbox's ModelClient (OctoSense-org#82) can share, so budgets live in one place.

Tests with a fake provider (tests/complete.rs) and a live example against
DeepSeek (examples/model_complete_live.rs). No pins move: the `model`
capability is in App Hub (OctoSense-org#24) and reaches the shells with the App Hub pin
move in OctoSense-org#70.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote added a commit that referenced this pull request Oct 2, 2026
… 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>
ymote added a commit that referenced this pull request Oct 2, 2026
… 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>
ymote added a commit that referenced this pull request Oct 2, 2026
… 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>
chrislearn pushed a commit to chrislearn/OctoSense that referenced this pull request Oct 8, 2026
…lect; WebView crash upstream) [skip ci]

Makepad main 1f3b1ded, released as Octoscript-Makepad cb66de07 (OctoSense-org#65):
OctoSense-org#58 WebView renderer crash survived (Android), OctoSense-org#70 DrawText shaping,
OctoSense-org#71 terminal text shaping and the Devanagari fix, OctoSense-org#72 terminal drag-select.

- root Cargo.toml revisions (makepad and octoscript-makepad together) and
  native-apps.json (Sheets, Terminal)
- both native-runtime.lock.json files
- runtime-patches.lock.json: makepad-webview-render-gone.patch is dropped
  (OctoSense-org#58 is upstream now; the patch reverses cleanly on 1f3b1ded); the
  settings, system-back and IME patches reapply unchanged; new tree b4493dba
- the three pinned-hash docs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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