Repository navigation
Conversation
OpenHarmony builds were the phone shell only (build.rs set mobile_only for target_env = ohos, "cannot host desktop processes"). Every native app is an in-process module there, so the desktop runs: on a MateBook Pro (HarmonyOS 7.0, API 26) all 13 dock apps open, Terminal included. - OCTOSENSE_OHOS_DESKTOP=1 (crates/shell/build.rs, phone/build.rs) builds the desktop shell for OpenHarmony; without it nothing changes. - build-home-ohos.py --desktop sets it and declares the module for 2in1 and tablet (a phone-only module runs in a phone-sized compatibility window); EntryAbility maximizes the window on a 2-in-1. - phone/Cargo.toml: an app-terminal feature (opt-in; native-apps.json keeps Terminal off the phone shell). - user_home(): the platform's data directory where it has one, so a new terminal opens in the app's folder, not in a HOME the app may not use. - build-home-ohos.py applies phone/ohos/keyboard.patch only while the framework's ArkTS bridge still drives the input method; with makepad's NDK input method there is no ArkTS keyboard code to patch. Needs makepad's OpenHarmony input (mouse, keys, scroll, NDK input method) for the desktop to take input: OctoSense-org/makepad, linked in the PR. Checked: cargo check (octosense; octosense-home --features mobile-apps), check-shell-graph for both, rom unittests; octosense-shell: 731 tests pass, 1 fails on this machine (its sandbox jail probe cannot start; this branch does not touch the sandbox). Run on the MateBook from an equivalent Linux build; build-home-ohos.py's --desktop path is unverified. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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.
OpenHarmony builds were the phone shell only:
crates/shell/build.rsandphone/build.rssetmobile_onlyfortarget_env = "ohos"("cannot host desktop processes"). Every native app is an in-process module on OpenHarmony, so the desktop runs there. On a MateBook Pro (HarmonyOS 7.0, API 26) all 13 dock apps open, including Terminal, and so do a YouTube video and its system browser.Changes
OCTOSENSE_OHOS_DESKTOP=1(crates/shell/build.rs,phone/build.rs) builds the desktop shell for OpenHarmony. Without it nothing changes.build-home-ohos.py --desktopsets it and declares the module for2in1andtablet; a phone-only module runs in a phone-sized compatibility window on a 2-in-1.EntryAbility.etsmaximizes the window on a 2-in-1.phone/Cargo.toml: an opt-inapp-terminalfeature.native-apps.jsonkeeps Terminal off the phone shell.user_home(): the platform's data directory where it has one, so a new terminal opens in the app's folder rather than aHOMEthe app may not use.keyboard.patch:build-home-ohos.pyapplies it only while the framework's ArkTS bridge still drives the input method. With makepad's NDK input method there's no ArkTS keyboard code left to patch, so this works before and after the pin moves.Depends on (for input, scroll, input method, web views, Terminal)
Without them the desktop draws but takes no clicks on a 2-in-1. This PR doesn't move the makepad pin.
Checked
cargo check --locked -p octosense, and-p octosense-home --features mobile-appsfromphone/.tools/check-shell-graph.shfor both packages;romunittests.octosense-shelltests (--features mobile-apps): 731 pass. 1 fails on my machine,sandbox::tests::a_jail_only_app_reads_its_jail_and_is_refused_everything_else: the jail probe can't start there. This branch doesn't touch the sandbox.build-home-ohos.py --desktopitself is unverified: it needs DevEco on macOS.🤖 Generated with Claude Code