Repository navigation
Find an installed app's bundle in App Hub's new layout as well as the old - #301
Merged
Merged
Conversation
… old App Hub moves installed bundles out of their apps' storage, from <root>/<id>/bundle to <root>/.bundles/<id>/bundle (OctoSense-App-Hub fix/bundles-outside-storage). The shell built the old path in three places: the agents' manifest lookup (apps.rs), an installed app's tools (host_tools/script_apps.rs) and the storage lifecycle's manifest (app_storage/lifecycle.rs). apps::installed_bundle finds the bundle in either place, the new one first, so this works with the App Hub the shells pin today and after the pin moves to one that has moved its installs.
guofoo
force-pushed
the
fix/installed-bundles-either-layout
branch
from
October 3, 2026 08:03
04c781c to
3b233db
Compare
tyreseluo
pushed a commit
to tyreseluo/OctoSense
that referenced
this pull request
Oct 4, 2026
App Hub moves from 58c3c8ae to its main 0d5b47a2: - OctoSense-org#53: publisher keys come from the authenticated catalog. - OctoSense-org#54: an installed release launches as itself, from verified bytes. - OctoSense-org#63, OctoSense-org#64: the native apps OctoSense made native are reserved (calculator, clock, notes, reminders, weather, browser, task); its example app `weather` became `forecast`. - OctoSense-org#61, OctoSense-org#67: makepad repins (this workspace's [patch] wins either way). - Docs. octosense-app-contract 1.1.0 (App Hub OctoSense-org#66, published to crates.io) carries the reserved names. app-policy re-exports them, so App Hub's admission tests at 58c3c8ae, whose fixtures still use `weather`, fail against 1.1.0. The pin and the lock move together. App Hub's new bundle layout (App Hub OctoSense-org#62, which OctoSense-org#301 prepares for) is not in 0d5b47a2: installed bundles stay where the shell looks today. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
App Hub moves installed bundles out of their apps' storage: from
<root>/<id>/bundleto<root>/.bundles/<id>/bundle(OctoSense-org/OctoSense-App-Hub#62, merged as2bcb8985, for App Hub issue #51). The shell builds the old path itself in three places, which would stop finding installed store apps once the App Hub pin moves:apps.rs: the agents' manifest lookup for installed apps;host_tools/script_apps.rs: an installed app'stools.json(admitted_bundle);app_storage/lifecycle.rs: the storage lifecycle'sscript_manifest.apps::installed_bundle(root, id)finds the bundle in either place, the new one first. All three use it.This works with the App Hub the shells pin today (
0d5b47a2, from #312, old layout) and after the pin moves to2bcb8985or later, which has the new layout. Merge it before, or together with, that pin move.Tests
apps::tests::an_installed_bundle_is_found_in_either_layout: the old layout, the new layout winning when both exist, and neither. It failed before the helper existed, and fails again if the new place is ignored.maind31edf46(2026-10-03). The only conflict:mainaddedthe_panes_own_process_is_never_listed_as_an_appwhere this adds its test; both are kept.mainhas no new code that builds the old path.tools/ci-local.sh --only desktop,phone,appson3b233dbc(clean tree): PASSED, 33 of 33 steps, none skipped.