From 5d270aa79ecddfd64e02d51505f6dcea09b7f599 Mon Sep 17 00:00:00 2001 From: ymote <151983+ymote@users.noreply.github.com> Date: Sat, 26 Sep 2026 10:11:06 -0700 Subject: [PATCH 1/3] Ship Rinx mini apps with the shared Octos runtime --- Cargo.lock | 46 ++++++++++++++++++---------- Cargo.toml | 63 +++++++++++++++++++++++++++------------ apps/appcard/Cargo.toml | 4 +-- apps/reference/Cargo.toml | 4 +-- native-apps.lock.json | 2 +- native-runtime.lock.json | 2 +- runtime-patches.lock.json | 16 +--------- src/main.rs | 4 +++ src/mobile_app.rs | 2 +- 9 files changed, 87 insertions(+), 56 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6c15b8e4..513202c7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -356,7 +356,7 @@ dependencies = [ [[package]] name = "article-core" version = "0.1.0" -source = "git+https://github.com/upstreamlabs/Rinx?rev=5ad2c1739e5b4776588518ab76440a5367c9968e#5ad2c1739e5b4776588518ab76440a5367c9968e" +source = "git+https://github.com/hagency-org/Rinx.git?rev=ba5cd50e320742339806712d48dea2901dff3318#ba5cd50e320742339806712d48dea2901dff3318" dependencies = [ "blake3", "image", @@ -373,7 +373,7 @@ dependencies = [ [[package]] name = "article-makepad" version = "0.1.0" -source = "git+https://github.com/upstreamlabs/Rinx?rev=5ad2c1739e5b4776588518ab76440a5367c9968e#5ad2c1739e5b4776588518ab76440a5367c9968e" +source = "git+https://github.com/hagency-org/Rinx.git?rev=ba5cd50e320742339806712d48dea2901dff3318#ba5cd50e320742339806712d48dea2901dff3318" dependencies = [ "article-core", "libc", @@ -5706,7 +5706,7 @@ dependencies = [ [[package]] name = "matrix-sdk" version = "0.18.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk#6892cb217ae4a886571e928c8efcccfbec5490a6" +source = "git+https://github.com/matrix-org/matrix-rust-sdk?rev=6892cb217ae4a886571e928c8efcccfbec5490a6#6892cb217ae4a886571e928c8efcccfbec5490a6" dependencies = [ "anymap2", "as_variant", @@ -5764,7 +5764,7 @@ dependencies = [ [[package]] name = "matrix-sdk-base" version = "0.18.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk#6892cb217ae4a886571e928c8efcccfbec5490a6" +source = "git+https://github.com/matrix-org/matrix-rust-sdk?rev=6892cb217ae4a886571e928c8efcccfbec5490a6#6892cb217ae4a886571e928c8efcccfbec5490a6" dependencies = [ "as_variant", "async-trait", @@ -5791,7 +5791,7 @@ dependencies = [ [[package]] name = "matrix-sdk-common" version = "0.18.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk#6892cb217ae4a886571e928c8efcccfbec5490a6" +source = "git+https://github.com/matrix-org/matrix-rust-sdk?rev=6892cb217ae4a886571e928c8efcccfbec5490a6#6892cb217ae4a886571e928c8efcccfbec5490a6" dependencies = [ "eyeball-im", "futures-core", @@ -5814,7 +5814,7 @@ dependencies = [ [[package]] name = "matrix-sdk-crypto" version = "0.18.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk#6892cb217ae4a886571e928c8efcccfbec5490a6" +source = "git+https://github.com/matrix-org/matrix-rust-sdk?rev=6892cb217ae4a886571e928c8efcccfbec5490a6#6892cb217ae4a886571e928c8efcccfbec5490a6" dependencies = [ "aes 0.9.3", "as_variant", @@ -5853,7 +5853,7 @@ dependencies = [ [[package]] name = "matrix-sdk-indexeddb" version = "0.18.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk#6892cb217ae4a886571e928c8efcccfbec5490a6" +source = "git+https://github.com/matrix-org/matrix-rust-sdk?rev=6892cb217ae4a886571e928c8efcccfbec5490a6#6892cb217ae4a886571e928c8efcccfbec5490a6" dependencies = [ "async-trait", "base64 0.23.1", @@ -5885,7 +5885,7 @@ dependencies = [ [[package]] name = "matrix-sdk-sqlite" version = "0.18.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk#6892cb217ae4a886571e928c8efcccfbec5490a6" +source = "git+https://github.com/matrix-org/matrix-rust-sdk?rev=6892cb217ae4a886571e928c8efcccfbec5490a6#6892cb217ae4a886571e928c8efcccfbec5490a6" dependencies = [ "as_variant", "async-trait", @@ -5912,7 +5912,7 @@ dependencies = [ [[package]] name = "matrix-sdk-store-encryption" version = "0.18.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk#6892cb217ae4a886571e928c8efcccfbec5490a6" +source = "git+https://github.com/matrix-org/matrix-rust-sdk?rev=6892cb217ae4a886571e928c8efcccfbec5490a6#6892cb217ae4a886571e928c8efcccfbec5490a6" dependencies = [ "base64 0.23.1", "blake3", @@ -5934,7 +5934,7 @@ dependencies = [ [[package]] name = "matrix-sdk-ui" version = "0.18.0" -source = "git+https://github.com/matrix-org/matrix-rust-sdk#6892cb217ae4a886571e928c8efcccfbec5490a6" +source = "git+https://github.com/matrix-org/matrix-rust-sdk?rev=6892cb217ae4a886571e928c8efcccfbec5490a6#6892cb217ae4a886571e928c8efcccfbec5490a6" dependencies = [ "as_variant", "async-rx", @@ -7159,7 +7159,7 @@ dependencies = [ [[package]] name = "octosense-app-hub" version = "0.1.0" -source = "git+https://www.github.com/OctoSense-org/OctoSense-App-Hub?rev=4605128d46fb982828d8198e0d71d62a39c7d6d6#4605128d46fb982828d8198e0d71d62a39c7d6d6" +source = "git+https://www.github.com/OctoSense-org/OctoSense-App-Hub?rev=b0591e2caa0dc5c62927f7b85dbf826a50618a03#b0591e2caa0dc5c62927f7b85dbf826a50618a03" dependencies = [ "base64 0.22.1", "blake3", @@ -7175,7 +7175,7 @@ dependencies = [ [[package]] name = "octosense-app-hub-app" version = "0.1.0" -source = "git+https://github.com/OctoSense-org/OctoSense-App-Hub?rev=4605128d46fb982828d8198e0d71d62a39c7d6d6#4605128d46fb982828d8198e0d71d62a39c7d6d6" +source = "git+https://www.github.com/OctoSense-org/OctoSense-App-Hub?rev=b0591e2caa0dc5c62927f7b85dbf826a50618a03#b0591e2caa0dc5c62927f7b85dbf826a50618a03" dependencies = [ "makepad-app-module", "makepad-widgets", @@ -7189,7 +7189,7 @@ dependencies = [ [[package]] name = "octosense-app-policy" version = "0.1.0" -source = "git+https://www.github.com/OctoSense-org/OctoSense-App-Hub?rev=4605128d46fb982828d8198e0d71d62a39c7d6d6#4605128d46fb982828d8198e0d71d62a39c7d6d6" +source = "git+https://www.github.com/OctoSense-org/OctoSense-App-Hub?rev=b0591e2caa0dc5c62927f7b85dbf826a50618a03#b0591e2caa0dc5c62927f7b85dbf826a50618a03" dependencies = [ "blake3", "makepad-widgets", @@ -7210,7 +7210,7 @@ dependencies = [ [[package]] name = "octosense-appstore" version = "0.1.0" -source = "git+https://www.github.com/OctoSense-org/OctoSense-App-Hub?rev=4605128d46fb982828d8198e0d71d62a39c7d6d6#4605128d46fb982828d8198e0d71d62a39c7d6d6" +source = "git+https://www.github.com/OctoSense-org/OctoSense-App-Hub?rev=b0591e2caa0dc5c62927f7b85dbf826a50618a03#b0591e2caa0dc5c62927f7b85dbf826a50618a03" dependencies = [ "makepad-app-module", "makepad-widgets", @@ -8369,7 +8369,7 @@ dependencies = [ [[package]] name = "rinx" version = "1.0.0-beta.1" -source = "git+https://github.com/upstreamlabs/Rinx?rev=5ad2c1739e5b4776588518ab76440a5367c9968e#5ad2c1739e5b4776588518ab76440a5367c9968e" +source = "git+https://github.com/hagency-org/Rinx.git?rev=ba5cd50e320742339806712d48dea2901dff3318#ba5cd50e320742339806712d48dea2901dff3318" dependencies = [ "anyhow", "arboard", @@ -8405,10 +8405,16 @@ dependencies = [ "mime", "mime_guess", "num_cpus", + "octos-app-transport", + "octoscript-makepad", + "octoscript-ui-l0", + "octoscript-widgets", + "octosense-app-policy", "pulldown-cmark 0.13.4", "rand 0.8.8", "rangemap", "rfd", + "rinx-miniapp-core", "robius-directories", "robius-file-picker", "robius-location", @@ -8427,10 +8433,20 @@ dependencies = [ "tracing-subscriber", "unicode-segmentation 1.13.3", "url", + "uuid", "webpki-root-certs", "winresource", ] +[[package]] +name = "rinx-miniapp-core" +version = "0.1.0" +source = "git+https://github.com/hagency-org/Rinx.git?rev=ba5cd50e320742339806712d48dea2901dff3318#ba5cd50e320742339806712d48dea2901dff3318" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "rmcp" version = "1.8.0" diff --git a/Cargo.toml b/Cargo.toml index 25d3aa8a..a2f70eb3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,19 +40,19 @@ path = "src/main.rs" [dependencies] # `appcard,maps`: the Octoscript-AppCard widget set (kit, text roles, weather, # finance, matplot) and the map navigation layer the appcard module renders. -makepad-widgets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4", features = ["appcard", "maps"] } -makepad-studio-protocol = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } -makepad-network = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } -makepad-wm-api = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } +makepad-widgets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d", features = ["appcard", "maps"] } +makepad-studio-protocol = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } +makepad-network = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } +makepad-wm-api = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } # The AI services wire only: the WM relays frames between the aichat child and the apps. -makepad-ai-services = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } -makepad-strict-json = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } +makepad-ai-services = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } +makepad-strict-json = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } # In-process hosting (aicontrol §3): the module contract, the palette applied # into each instance's isolate, and the modules this build links. -makepad-app-module = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } -makepad-wm-theme = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } -makepad-sheets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4", default-features = false, optional = true } -makepad-photos = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4", default-features = false, optional = true } +makepad-app-module = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } +makepad-wm-theme = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } +makepad-sheets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d", default-features = false, optional = true } +makepad-photos = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d", default-features = false, optional = true } octosense-reference = { path = "apps/reference", optional = true } # The whole Octoscript-AppCard app hosted in a tile, in-process (Phase B of # the AppCard port): octos-app's AppShell — routing brain, cards, kernel agent. @@ -62,7 +62,7 @@ octosense-appcard = { path = "apps/appcard", optional = true } # module (`card`) that runs contained script apps, the system apps packed at # build time from the selection `OCTOSENSE_SYSTEM_APPS` names # (system-apps.json, .cargo/config.toml), installed apps and their icons. -octosense-app-hub-app = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "4605128d46fb982828d8198e0d71d62a39c7d6d6", optional = true } +octosense-app-hub-app = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "b0591e2caa0dc5c62927f7b85dbf826a50618a03", optional = true } # The `mail` host service the Mail system app calls through `host.request`: # accounts, message lists and send run here, with the passwords the host # holds; the app never gets a socket or a secret. From the pinned @@ -71,27 +71,27 @@ octosense-app-hub-app = { git = "https://github.com/OctoSense-org/OctoSense-App- octosense-mail-service = { path = "../OctoSense-System-Apps/apps/mail/host-service", optional = true } # Rinx (the Matrix client with Moments and articles) as an in-process module. # Built without its standalone window entry point. -rinx = { git = "https://github.com/upstreamlabs/Rinx", rev = "5ad2c1739e5b4776588518ab76440a5367c9968e", default-features = false, features = ["octosense-module"], optional = true } +rinx = { git = "https://github.com/hagency-org/Rinx.git", rev = "ba5cd50e320742339806712d48dea2901dff3318", default-features = false, features = ["octosense-module"], optional = true } # The assistant as a module, seated in the pane in-process: the web build's # only chat, a desktop option. Without the engine feature: no model runtime, # NoModel and the tool console (the child process keeps the real models). -makepad-aichat = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4", default-features = false, optional = true } +makepad-aichat = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d", default-features = false, optional = true } # A phone cannot spawn the desktop catalog's Cargo binaries. Link the # available modules into native mobile builds without requiring CLI flags. [target.'cfg(any(target_os = "android", target_os = "ios"))'.dependencies] octosense-reference = { path = "apps/reference" } octosense-appcard = { path = "apps/appcard" } -makepad-sheets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4", default-features = false } +makepad-sheets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d", default-features = false } [features] # App Hub is part of the standard launcher: the store, the Card runner and # the system apps (News, Photos, Maps, Camera, Mail) it runs. -default = ["app-hub"] +default = ["app-hub", "app-rinx", "app-appcard"] # Also usable on desktop for testing the same embedded apps with --module. # Photos is the system app here; `app-photos` links Makepad's native Photos # module instead, for comparison (a linked module of the same id wins). -mobile-apps = ["app-reference", "app-sheets", "app-appcard", "app-hub"] +mobile-apps = ["app-rinx", "app-reference", "app-sheets", "app-appcard", "app-hub"] # App Hub and the host services its system apps call. app-hub = ["dep:octosense-app-hub-app", "dep:octosense-mail-service"] app-reference = ["dep:octosense-reference"] @@ -178,6 +178,31 @@ ruma = { git = "https://github.com/project-robius/ruma.git", branch = "tsp" } # cannot point a source at another rev of itself, so every App Hub library # resolves through the www host alias of the same repository, at the pin. [patch."https://github.com/OctoSense-org/OctoSense-App-Hub"] -octosense-app-hub = { git = "https://www.github.com/OctoSense-org/OctoSense-App-Hub", rev = "4605128d46fb982828d8198e0d71d62a39c7d6d6" } -octosense-app-policy = { git = "https://www.github.com/OctoSense-org/OctoSense-App-Hub", rev = "4605128d46fb982828d8198e0d71d62a39c7d6d6" } -octosense-appstore = { git = "https://www.github.com/OctoSense-org/OctoSense-App-Hub", rev = "4605128d46fb982828d8198e0d71d62a39c7d6d6" } +octosense-app-hub = { git = "https://www.github.com/OctoSense-org/OctoSense-App-Hub", rev = "b0591e2caa0dc5c62927f7b85dbf826a50618a03" } +octosense-app-policy = { git = "https://www.github.com/OctoSense-org/OctoSense-App-Hub", rev = "b0591e2caa0dc5c62927f7b85dbf826a50618a03" } +octosense-appstore = { git = "https://www.github.com/OctoSense-org/OctoSense-App-Hub", rev = "b0591e2caa0dc5c62927f7b85dbf826a50618a03" } + +octosense-app-hub-app = { git = "https://www.github.com/OctoSense-org/OctoSense-App-Hub", rev = "b0591e2caa0dc5c62927f7b85dbf826a50618a03" } + +[patch."https://github.com/OctoSense-org/makepad"] +makepad-script = { path = "../makepad/platform/script" } +makepad-widgets = { path = "../makepad/widgets" } +makepad-code-editor = { path = "../makepad/code_editor" } +makepad-ai = { path = "../makepad/libs/makepad_ai" } +makepad-studio-protocol = { path = "../makepad/platform/studio" } +makepad-network = { path = "../makepad/platform/network" } +makepad-wm-api = { path = "../makepad/libs/wm_api" } +makepad-ai-services = { path = "../makepad/libs/ai/services" } +makepad-strict-json = { path = "../makepad/libs/strict_json" } +makepad-app-module = { path = "../makepad/libs/app_module" } +makepad-wm-theme = { path = "../makepad/libs/wm_theme" } +makepad-sheets = { path = "../makepad/apps/sheets" } +makepad-photos = { path = "../makepad/apps/photos" } +makepad-aichat = { path = "../makepad/apps/aichat" } +# Rinx's article editor: the Markdown and math components. +makepad-markdown = { path = "../makepad/libs/markdown" } +makepad-markdown-widgets = { path = "../makepad/libs/markdown_widgets" } + +# Share AppCard's transport registry with Rinx; never link two core owners. +[patch."https://github.com/OctoSense-org/OctoSense-System-Apps.git"] +octos-app-transport = { path = "../OctoSense-System-Apps/apps/appcard/app/crates/octos-app-transport" } diff --git a/apps/appcard/Cargo.toml b/apps/appcard/Cargo.toml index 8a4c21de..e8c674e0 100644 --- a/apps/appcard/Cargo.toml +++ b/apps/appcard/Cargo.toml @@ -6,8 +6,8 @@ license = "Apache-2.0" publish = false [dependencies] -makepad-widgets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4", features = ["appcard", "maps"] } -makepad-app-module = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } +makepad-widgets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d", features = ["appcard", "maps"] } +makepad-app-module = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } # The whole AppCard assistant as a library, from the pinned # OctoSense-System-Apps checkout beside this repository (apps/appcard/app/app; # native-apps.lock.json, tools/setup-native.py): routing brain, card store and diff --git a/apps/reference/Cargo.toml b/apps/reference/Cargo.toml index 18e2d10e..e616bb67 100644 --- a/apps/reference/Cargo.toml +++ b/apps/reference/Cargo.toml @@ -6,5 +6,5 @@ license = "Apache-2.0" publish = false [dependencies] -makepad-widgets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } -makepad-app-module = { git = "https://github.com/OctoSense-org/makepad.git", rev = "1d3d383e84a66dbb18a4a860f505430c9d5b20f4" } +makepad-widgets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } +makepad-app-module = { git = "https://github.com/OctoSense-org/makepad.git", rev = "3fda5b6f9b48f390bd5396938a95d30ad035cd6d" } diff --git a/native-apps.lock.json b/native-apps.lock.json index 25e9df59..782be5fb 100644 --- a/native-apps.lock.json +++ b/native-apps.lock.json @@ -3,7 +3,7 @@ "repositories": { "system-apps": { "url": "https://github.com/OctoSense-org/OctoSense-System-Apps.git", - "revision": "4d99cb589d00207a9a63e32d46de6685843929d1" + "revision": "1576bec6a585758e48c3252030cad2a9bf9c80db" } } } diff --git a/native-runtime.lock.json b/native-runtime.lock.json index cbc46b6e..1c1b2926 100644 --- a/native-runtime.lock.json +++ b/native-runtime.lock.json @@ -1,5 +1,5 @@ { "schema_version": 1, "url": "https://github.com/OctoSense-org/Octoscript-Makepad.git", - "revision": "c4c9682219d5bb549856e35086adf1b354844dc3" + "revision": "b9034566b0607c5bb8c04134d17139f99989e1d0" } diff --git a/runtime-patches.lock.json b/runtime-patches.lock.json index 3c1db06b..bf00d958 100644 --- a/runtime-patches.lock.json +++ b/runtime-patches.lock.json @@ -1,17 +1,3 @@ { - "schema_version": 1, - "makepad": { - "base_revision": "1d3d383e84a66dbb18a4a860f505430c9d5b20f4", - "source_commit": "d7a834c74783e2032bc9e2cb9e693eaa2927b1d9", - "patch": "patches/runtime/makepad-contained-apps.patch", - "sha256": "70419d98644af0820816f8bbc480365fa214c71f96eea0dba4b541c7ec9d59a2", - "tree": "3889a3496226def432ecdf8131a9d12eb822e59b", - "product_fixes": [ - "Contained script apps (OctoSense-org/makepad#30): every path out of an isolate answers to its policy; images/web grants; WebReader, GestureView, SheetView, CameraPreview; parse_feed and fs.read_bytes.", - "Host services: a host takes only its own isolates' requests, and an asynchronous answer wakes the UI.", - "A contained app cannot collect a secret: password and one-time-code fields are inert in a policed isolate.", - "Text: a run's trailing space keeps its width unless the row wraps there; every widget takes text/set_text from script.", - "Sockets and servers: net.web_socket answers to the app's host list like net.http_request; net.socket_stream and net.http_server are refused in a policed isolate; a Video's network and file sources answer to the host list and the storage jail." - ] - } + "schema_version": 1 } diff --git a/src/main.rs b/src/main.rs index ae5e617d..79777a07 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4403,6 +4403,10 @@ impl AppMain for App { } } self.phone_animation_event(cx,event); + if self.state.as_ref().is_some_and(|state| state.style.target.mobile()) && event.back_pressed() { + self.phone_action(cx, mobile::PhoneHit::Back); + return; + } if let Some(ne) = self.style_frame.is_event(event) { if self.state.is_some() { let dt=if self.style_time==0.0 {0.0}else{(ne.time-self.style_time).min(0.05)}; diff --git a/src/mobile_app.rs b/src/mobile_app.rs index b01793ab..8a3f8bc3 100644 --- a/src/mobile_app.rs +++ b/src/mobile_app.rs @@ -340,7 +340,7 @@ impl App { self.state_mut().phone.keyboard_target=0.0; self.animate_phone(cx); } - fn phone_action(&mut self,cx:&mut Cx,hit:PhoneHit) { + pub(super) fn phone_action(&mut self,cx:&mut Cx,hit:PhoneHit) { match hit { PhoneHit::App(app)=>{ // A running window of the app, a home tile's own client From c86e58b9aa2c370159fba44fd2f6e3e3d27f4337 Mon Sep 17 00:00:00 2001 From: ymote <151983+ymote@users.noreply.github.com> Date: Sat, 26 Sep 2026 13:30:12 -0700 Subject: [PATCH 2/3] Pin Rinx saved-answer streaming fix --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 513202c7..e502c2a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -356,7 +356,7 @@ dependencies = [ [[package]] name = "article-core" version = "0.1.0" -source = "git+https://github.com/hagency-org/Rinx.git?rev=ba5cd50e320742339806712d48dea2901dff3318#ba5cd50e320742339806712d48dea2901dff3318" +source = "git+https://github.com/hagency-org/Rinx.git?rev=d2469eabd7b2a582fab68192202af540f40f1168#d2469eabd7b2a582fab68192202af540f40f1168" dependencies = [ "blake3", "image", @@ -373,7 +373,7 @@ dependencies = [ [[package]] name = "article-makepad" version = "0.1.0" -source = "git+https://github.com/hagency-org/Rinx.git?rev=ba5cd50e320742339806712d48dea2901dff3318#ba5cd50e320742339806712d48dea2901dff3318" +source = "git+https://github.com/hagency-org/Rinx.git?rev=d2469eabd7b2a582fab68192202af540f40f1168#d2469eabd7b2a582fab68192202af540f40f1168" dependencies = [ "article-core", "libc", @@ -8369,7 +8369,7 @@ dependencies = [ [[package]] name = "rinx" version = "1.0.0-beta.1" -source = "git+https://github.com/hagency-org/Rinx.git?rev=ba5cd50e320742339806712d48dea2901dff3318#ba5cd50e320742339806712d48dea2901dff3318" +source = "git+https://github.com/hagency-org/Rinx.git?rev=d2469eabd7b2a582fab68192202af540f40f1168#d2469eabd7b2a582fab68192202af540f40f1168" dependencies = [ "anyhow", "arboard", @@ -8441,7 +8441,7 @@ dependencies = [ [[package]] name = "rinx-miniapp-core" version = "0.1.0" -source = "git+https://github.com/hagency-org/Rinx.git?rev=ba5cd50e320742339806712d48dea2901dff3318#ba5cd50e320742339806712d48dea2901dff3318" +source = "git+https://github.com/hagency-org/Rinx.git?rev=d2469eabd7b2a582fab68192202af540f40f1168#d2469eabd7b2a582fab68192202af540f40f1168" dependencies = [ "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index a2f70eb3..350d653b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -71,7 +71,7 @@ octosense-app-hub-app = { git = "https://github.com/OctoSense-org/OctoSense-App- octosense-mail-service = { path = "../OctoSense-System-Apps/apps/mail/host-service", optional = true } # Rinx (the Matrix client with Moments and articles) as an in-process module. # Built without its standalone window entry point. -rinx = { git = "https://github.com/hagency-org/Rinx.git", rev = "ba5cd50e320742339806712d48dea2901dff3318", default-features = false, features = ["octosense-module"], optional = true } +rinx = { git = "https://github.com/hagency-org/Rinx.git", rev = "d2469eabd7b2a582fab68192202af540f40f1168", default-features = false, features = ["octosense-module"], optional = true } # The assistant as a module, seated in the pane in-process: the web build's # only chat, a desktop option. Without the engine feature: no model runtime, # NoModel and the tool console (the child process keeps the real models). From 6b1be4d012576cf290ed47abd3e2671c4940924e Mon Sep 17 00:00:00 2001 From: ymote <151983+ymote@users.noreply.github.com> Date: Sat, 26 Sep 2026 15:00:29 -0700 Subject: [PATCH 3/3] Pin Rinx editor controls and hosted resource packaging fixes --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e502c2a8..731db620 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -356,7 +356,7 @@ dependencies = [ [[package]] name = "article-core" version = "0.1.0" -source = "git+https://github.com/hagency-org/Rinx.git?rev=d2469eabd7b2a582fab68192202af540f40f1168#d2469eabd7b2a582fab68192202af540f40f1168" +source = "git+https://github.com/hagency-org/Rinx.git?rev=c85e6b4b0056d8cb2cedbc8269b952786c61e4c7#c85e6b4b0056d8cb2cedbc8269b952786c61e4c7" dependencies = [ "blake3", "image", @@ -373,7 +373,7 @@ dependencies = [ [[package]] name = "article-makepad" version = "0.1.0" -source = "git+https://github.com/hagency-org/Rinx.git?rev=d2469eabd7b2a582fab68192202af540f40f1168#d2469eabd7b2a582fab68192202af540f40f1168" +source = "git+https://github.com/hagency-org/Rinx.git?rev=c85e6b4b0056d8cb2cedbc8269b952786c61e4c7#c85e6b4b0056d8cb2cedbc8269b952786c61e4c7" dependencies = [ "article-core", "libc", @@ -8369,7 +8369,7 @@ dependencies = [ [[package]] name = "rinx" version = "1.0.0-beta.1" -source = "git+https://github.com/hagency-org/Rinx.git?rev=d2469eabd7b2a582fab68192202af540f40f1168#d2469eabd7b2a582fab68192202af540f40f1168" +source = "git+https://github.com/hagency-org/Rinx.git?rev=c85e6b4b0056d8cb2cedbc8269b952786c61e4c7#c85e6b4b0056d8cb2cedbc8269b952786c61e4c7" dependencies = [ "anyhow", "arboard", @@ -8441,7 +8441,7 @@ dependencies = [ [[package]] name = "rinx-miniapp-core" version = "0.1.0" -source = "git+https://github.com/hagency-org/Rinx.git?rev=d2469eabd7b2a582fab68192202af540f40f1168#d2469eabd7b2a582fab68192202af540f40f1168" +source = "git+https://github.com/hagency-org/Rinx.git?rev=c85e6b4b0056d8cb2cedbc8269b952786c61e4c7#c85e6b4b0056d8cb2cedbc8269b952786c61e4c7" dependencies = [ "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 350d653b..316623b0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -71,7 +71,7 @@ octosense-app-hub-app = { git = "https://github.com/OctoSense-org/OctoSense-App- octosense-mail-service = { path = "../OctoSense-System-Apps/apps/mail/host-service", optional = true } # Rinx (the Matrix client with Moments and articles) as an in-process module. # Built without its standalone window entry point. -rinx = { git = "https://github.com/hagency-org/Rinx.git", rev = "d2469eabd7b2a582fab68192202af540f40f1168", default-features = false, features = ["octosense-module"], optional = true } +rinx = { git = "https://github.com/hagency-org/Rinx.git", rev = "c85e6b4b0056d8cb2cedbc8269b952786c61e4c7", default-features = false, features = ["octosense-module"], optional = true } # The assistant as a module, seated in the pane in-process: the web build's # only chat, a desktop option. Without the engine feature: no model runtime, # NoModel and the tool console (the child process keeps the real models).