diff --git a/.gitmodules b/.gitmodules index 6e17a8d..92bfe14 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "vendor/pocketjs"] path = vendor/pocketjs - url = https://github.com/pocket-stack/pocketjs.git + url = https://github.com/pocket-nexus/pocketjs.git branch = main diff --git a/AGENTS.md b/AGENTS.md index 4193ee0..e3921e6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,7 +2,7 @@ Pocket Shell is a product built on PocketJS, which arrives as the `vendor/pocketjs` submodule. Nothing in `vendor/` is edited here: a runtime -change lands in [pocket-stack/pocketjs](https://github.com/pocket-stack/pocketjs) +change lands in [pocket-nexus/pocketjs](https://github.com/pocket-nexus/pocketjs) first, and this repository moves its pin. The repository holds **four shells**, and a change belongs diff --git a/README.md b/README.md index aab5e45..5be6fde 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Pocket Shell Pocket Shell provides shells for handheld devices and desktop operating -systems, built on [PocketJS](https://github.com/pocket-stack/pocketjs). +systems, built on [PocketJS](https://github.com/pocket-nexus/pocketjs). The applications live in one repository with one runtime submodule. Each shell owns its interface and input model. @@ -51,7 +51,7 @@ Run commands from the repository root. Bun, Rust and the Native targets have additional requirements in their shell's README. ```sh -git clone --recurse-submodules https://github.com/pocket-stack/pocket-shell.git +git clone --recurse-submodules https://github.com/pocket-nexus/pocket-shell.git cd pocket-shell bun run setup rustup target add wasm32-unknown-unknown diff --git a/package.json b/package.json index b16b7ce..9c557a3 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "description": "Pocket Shell for Nintendo 3DS, iPod touch, touch navigation and desktop operating systems", "repository": { "type": "git", - "url": "git+https://github.com/pocket-stack/pocket-shell.git" + "url": "git+https://github.com/pocket-nexus/pocket-shell.git" }, "scripts": { "setup": "bun install --frozen-lockfile && git submodule update --init && bun install --cwd vendor/pocketjs --frozen-lockfile && bun scripts/setup.ts", diff --git a/shells/3ds/README.md b/shells/3ds/README.md index aca9c1f..60ec722 100644 --- a/shells/3ds/README.md +++ b/shells/3ds/README.md @@ -155,7 +155,7 @@ rather than incidental: [docs/DESIGN.md](docs/DESIGN.md), "The clock". The 3DS application has no other backend and no portability layer. A sibling -product, [Pocket Term](https://github.com/pocket-stack/pocket-term), runs on +product, [Pocket Term](https://github.com/pocket-nexus/pocket-term), runs on the same console and shares nothing but the runtime. ## Requirements @@ -172,7 +172,7 @@ to `shells/3ds/`; build outputs and pairing keys stay at the repository root. ## Quick start ```sh -git clone --recursive https://github.com/pocket-stack/pocket-shell +git clone --recursive https://github.com/pocket-nexus/pocket-shell cd pocket-shell bun run setup # vendor install + runtime links @@ -241,7 +241,7 @@ for their commands and shared setup. ## Built on PocketJS The guest is a [Solid](https://solidjs.com) application compiled to a native -package by [PocketJS](https://github.com/pocket-stack/pocketjs), which supplies +package by [PocketJS](https://github.com/pocket-nexus/pocketjs), which supplies the QuickJS runtime, the Rust core, the citro3d backend and the console toolchain. It arrives as the `vendor/pocketjs` submodule and is not edited here: a runtime change lands there first and this repository moves its pin. diff --git a/shells/3ds/pocket.json b/shells/3ds/pocket.json index d2c9d45..e02057e 100644 --- a/shells/3ds/pocket.json +++ b/shells/3ds/pocket.json @@ -1,7 +1,7 @@ { "$schema": "https://pocketjs.dev/schema/pocket-2.json", "pocket": 2, - "id": "dev.pocket-stack.pocket-shell", + "id": "dev.pocket-nexus.pocket-shell", "name": "pocket-shell", "title": "Pocket Shell", "version": "0.1.0", diff --git a/shells/desktop/README.md b/shells/desktop/README.md index e8a2d45..e816f9d 100644 --- a/shells/desktop/README.md +++ b/shells/desktop/README.md @@ -54,7 +54,7 @@ Choose a theme from **Start → Settings** (the logo menu on Aqua), or press ```text pocket.system.json - ├─ roles.systemUI → dev.pocket-stack.desktop.system-ui + ├─ roles.systemUI → dev.pocket-nexus.desktop.system-ui ├─ installation snapshot └─ installed Pocket app catalog ↓ @@ -72,8 +72,8 @@ The System UI is in `src/system-ui`. Demo applications are consumed from the pinned `vendor/pocketjs` submodule and are not copied into this product. The experimental framework implementation is pinned directly in -`vendor/pocketjs` from [PocketJS PR #399](https://github.com/pocket-stack/pocketjs/pull/399), -which adds GPU composition on top of [PR #390](https://github.com/pocket-stack/pocketjs/pull/390). A fresh `setup` uses +`vendor/pocketjs` from [PocketJS PR #399](https://github.com/pocket-nexus/pocketjs/pull/399), +which adds GPU composition on top of [PR #390](https://github.com/pocket-nexus/pocketjs/pull/390). A fresh `setup` uses that exact published commit; no checkout-local patches are applied. The desktop host no longer links gpui, CoreText or Fontconfig. Native window APIs handle the window, input and clipboard. The existing `pocket-ui-wgpu` diff --git a/shells/desktop/THIRD_PARTY.md b/shells/desktop/THIRD_PARTY.md index 7e411c5..4fadf85 100644 --- a/shells/desktop/THIRD_PARTY.md +++ b/shells/desktop/THIRD_PARTY.md @@ -3,7 +3,7 @@ ## PocketJS `../../vendor/pocketjs` is a pinned Git submodule of -[pocket-stack/pocketjs](https://github.com/pocket-stack/pocketjs), licensed +[pocket-nexus/pocketjs](https://github.com/pocket-nexus/pocketjs), licensed under the MIT License. PocketJS remains a separate MIT dependency. ## Inter diff --git a/shells/desktop/docs/PORTABLE-TEXT.md b/shells/desktop/docs/PORTABLE-TEXT.md index 7859eb0..4021eda 100644 --- a/shells/desktop/docs/PORTABLE-TEXT.md +++ b/shells/desktop/docs/PORTABLE-TEXT.md @@ -125,7 +125,7 @@ cd vendor/pocketjs bun tools/text-wasm.ts bun tools/pocket.ts build --target psp --manifest apps/text-offload/pocket.json --project-root . -- --release bun tools/text-provider.ts --usb /path/to/host0-root \ - --app dev.pocket-stack.text-offload --pak dist/text-offload-main.pak + --app dev.pocket-nexus.text-offload --pak dist/text-offload-main.pak ``` USB pairing is the explicit local tether/share grant, scoped by app ID. The diff --git a/shells/desktop/package.json b/shells/desktop/package.json index 76c295e..7a6afc5 100644 --- a/shells/desktop/package.json +++ b/shells/desktop/package.json @@ -6,7 +6,7 @@ "license": "GPL-3.0-only", "repository": { "type": "git", - "url": "git+https://github.com/pocket-stack/pocket-shell.git", + "url": "git+https://github.com/pocket-nexus/pocket-shell.git", "directory": "shells/desktop" }, "scripts": { diff --git a/shells/desktop/pocket.json b/shells/desktop/pocket.json index 304427e..4d289b2 100644 --- a/shells/desktop/pocket.json +++ b/shells/desktop/pocket.json @@ -1,7 +1,7 @@ { "$schema": "https://pocketjs.dev/schema/pocket-2.json", "pocket": 2, - "id": "dev.pocket-stack.desktop.system-ui", + "id": "dev.pocket-nexus.desktop.system-ui", "name": "pocket-desktop-system-ui", "title": "Pocket Shell Desktop", "version": "0.1.0", diff --git a/shells/desktop/pocket.system.json b/shells/desktop/pocket.system.json index ef6505a..bd6e082 100644 --- a/shells/desktop/pocket.system.json +++ b/shells/desktop/pocket.system.json @@ -1,12 +1,12 @@ { "$schema": "https://pocketjs.dev/schema/pocket-system-1.json", "pocketSystem": 1, - "id": "dev.pocket-stack.desktop", + "id": "dev.pocket-nexus.desktop", "name": "pocket-desktop", "title": "Pocket Shell Desktop", "version": "0.1.0", "roles": { - "systemUI": "dev.pocket-stack.desktop.system-ui" + "systemUI": "dev.pocket-nexus.desktop.system-ui" }, "applications": { "installPolicy": { @@ -16,72 +16,72 @@ "backgroundExecution": "suspend", "catalog": [ { - "package": "dev.pocket-stack.desktop.system-ui", + "package": "dev.pocket-nexus.desktop.system-ui", "manifest": "shells/desktop/pocket.json", "required": true }, { - "package": "dev.pocket-stack.hero", + "package": "dev.pocket-nexus.hero", "manifest": "vendor/pocketjs/apps/hero/pocket.json", "required": false, "presentation": { "title": "Hero", "viewport": [640, 360] } }, { - "package": "dev.pocket-stack.settings", + "package": "dev.pocket-nexus.settings", "manifest": "vendor/pocketjs/apps/settings/pocket.json", "required": false, "presentation": { "title": "Settings", "viewport": [480, 272] } }, { - "package": "dev.pocket-stack.motions", + "package": "dev.pocket-nexus.motions", "manifest": "vendor/pocketjs/apps/motions/pocket.json", "required": false, "presentation": { "title": "Motions", "viewport": [480, 272] } }, { - "package": "dev.pocket-stack.cards", + "package": "dev.pocket-nexus.cards", "manifest": "vendor/pocketjs/apps/cards/pocket.json", "required": false, "presentation": { "title": "Cards", "viewport": [480, 272] } }, { - "package": "dev.pocket-stack.chrome", + "package": "dev.pocket-nexus.chrome", "manifest": "vendor/pocketjs/apps/chrome/pocket.json", "required": false, "presentation": { "title": "Chrome", "viewport": [480, 272] } }, { - "package": "dev.pocket-stack.cursor", + "package": "dev.pocket-nexus.cursor", "manifest": "vendor/pocketjs/apps/cursor/pocket.json", "required": false, "presentation": { "title": "Cursor", "viewport": [480, 272] } }, { - "package": "dev.pocket-stack.gallery", + "package": "dev.pocket-nexus.gallery", "manifest": "vendor/pocketjs/apps/gallery/pocket.json", "required": false, "presentation": { "title": "Gallery", "viewport": [480, 272] } }, { - "package": "dev.pocket-stack.library", + "package": "dev.pocket-nexus.library", "manifest": "vendor/pocketjs/apps/library/pocket.json", "required": false, "presentation": { "title": "Library", "viewport": [480, 272] } }, { - "package": "dev.pocket-stack.music", + "package": "dev.pocket-nexus.music", "manifest": "vendor/pocketjs/apps/music/pocket.json", "required": false, "presentation": { "title": "Music", "viewport": [480, 272] } }, { - "package": "dev.pocket-stack.notifications", + "package": "dev.pocket-nexus.notifications", "manifest": "vendor/pocketjs/apps/notifications/pocket.json", "required": false, "presentation": { "title": "Notifications", "viewport": [480, 272] } }, { - "package": "dev.pocket-stack.stats", + "package": "dev.pocket-nexus.stats", "manifest": "vendor/pocketjs/apps/stats/pocket.json", "required": false, "presentation": { "title": "Stats", "viewport": [480, 272] } @@ -90,18 +90,18 @@ }, "installation": { "installedPackages": [ - "dev.pocket-stack.desktop.system-ui", - "dev.pocket-stack.hero", - "dev.pocket-stack.settings", - "dev.pocket-stack.motions", - "dev.pocket-stack.cards", - "dev.pocket-stack.chrome", - "dev.pocket-stack.cursor", - "dev.pocket-stack.gallery", - "dev.pocket-stack.library", - "dev.pocket-stack.music", - "dev.pocket-stack.notifications", - "dev.pocket-stack.stats" + "dev.pocket-nexus.desktop.system-ui", + "dev.pocket-nexus.hero", + "dev.pocket-nexus.settings", + "dev.pocket-nexus.motions", + "dev.pocket-nexus.cards", + "dev.pocket-nexus.chrome", + "dev.pocket-nexus.cursor", + "dev.pocket-nexus.gallery", + "dev.pocket-nexus.library", + "dev.pocket-nexus.music", + "dev.pocket-nexus.notifications", + "dev.pocket-nexus.stats" ] } } diff --git a/shells/desktop/scripts/linux.ts b/shells/desktop/scripts/linux.ts index c1a873e..e81646e 100644 --- a/shells/desktop/scripts/linux.ts +++ b/shells/desktop/scripts/linux.ts @@ -73,7 +73,7 @@ if (packageArchive) { ); chmodSync(launcher, 0o755); await Bun.write( - resolve(appsDir, "dev.pocket-stack.desktop.desktop"), + resolve(appsDir, "dev.pocket-nexus.desktop.desktop"), `[Desktop Entry]\nType=Application\nName=Pocket Shell Desktop\nComment=Run isolated Pocket applications in one native desktop process\nExec=pocket-desktop\nIcon=pocket-desktop\nTerminal=false\nCategories=Utility;\nStartupNotify=true\n`, ); const arch = process.arch === "arm64" ? "aarch64" : process.arch === "x64" ? "x86_64" : process.arch; diff --git a/shells/desktop/scripts/web-smoke.ts b/shells/desktop/scripts/web-smoke.ts index d592296..c9b60b0 100644 --- a/shells/desktop/scripts/web-smoke.ts +++ b/shells/desktop/scripts/web-smoke.ts @@ -225,7 +225,7 @@ try { const value = await evaluate( "document.querySelector('#log')?.textContent ?? ''", ); - return value.includes("composited AppInstance dev.pocket-stack.hero") + return value.includes("composited AppInstance dev.pocket-nexus.hero") ? value : null; }, 30_000); diff --git a/shells/desktop/site/docs/architecture/index.html b/shells/desktop/site/docs/architecture/index.html index 07be530..6bcacc6 100644 --- a/shells/desktop/site/docs/architecture/index.html +++ b/shells/desktop/site/docs/architecture/index.html @@ -4,7 +4,7 @@ Architecture — Pocket Shell Desktop - +
Architecture

Product policy resolves before runtime machinery starts.

Pocket Shell Desktop defines what is installed and which package fills the System UI role. PocketJS validates that definition and produces the complete input consumed by a generic host.

@@ -30,8 +30,8 @@

Composition and focus

The native compositor

Each visible child's DrawList and raster-resource revision participate in repaint detection. Releasing a texture that is still referenced therefore invalidates the composite even when the DrawList words did not change.

Independent lifecycles

LayerStates
Packageavailable → installed → removed
AppInstanceabsent → running ⇄ suspended → failed / absent
JavaScript engineJSRuntime → JSContext / Realm
-

Classic baseline

The checked-in 23 August 2026 baseline measures a release build on an Apple M3 Max with 128 GiB RAM. The complete runtime is 25.35 MiB, process-cold/cache-warm median launch to first paint is 179.62 ms, and settled process-tree RSS is 86.73 MiB. The maximum sampled process count is one.

See the measurement protocol and raw result context.

+

Classic baseline

The checked-in 23 August 2026 baseline measures a release build on an Apple M3 Max with 128 GiB RAM. The complete runtime is 25.35 MiB, process-cold/cache-warm median launch to first paint is 179.62 ms, and settled process-tree RSS is 86.73 MiB. The maximum sampled process count is one.

See the measurement protocol and raw result context.

- + diff --git a/shells/desktop/site/docs/contributing/index.html b/shells/desktop/site/docs/contributing/index.html index b913ec8..ca5316b 100644 --- a/shells/desktop/site/docs/contributing/index.html +++ b/shells/desktop/site/docs/contributing/index.html @@ -4,16 +4,16 @@ Contributing and licensing — Pocket Shell Desktop - +
Contributing

Contribute to the desktop shell.

Pocket Shell Desktop accepts code, documentation and original theme assets under GNU GPL version 3 only, within the Pocket Shell repository.

Workflow

Open an issue before substantial product, protocol or theme work. Pull requests use Conventional Commit titles and must pass the native, Linux distribution and WebAssembly preview checks.

$ bun run setup
 $ bun run desktop check
 $ bun run desktop build
-

Licensing

This desktop shell is distributed under GNU GPL version 3 only. Read the GPLv3 terms and the repository contribution rules. Contributors retain copyright and preserve the applicable GPL notices.

-

Third-party assets

Do not import icons, fonts or theme graphics without recording provenance and license terms. Original project assets and independently implemented drawing code are preferred. Existing third-party notices are maintained in THIRD_PARTY.md.

+

Licensing

This desktop shell is distributed under GNU GPL version 3 only. Read the GPLv3 terms and the repository contribution rules. Contributors retain copyright and preserve the applicable GPL notices.

+

Third-party assets

Do not import icons, fonts or theme graphics without recording provenance and license terms. Original project assets and independently implemented drawing code are preferred. Existing third-party notices are maintained in THIRD_PARTY.md.

- + diff --git a/shells/desktop/site/docs/index.html b/shells/desktop/site/docs/index.html index 7568f0e..ebdfbf4 100644 --- a/shells/desktop/site/docs/index.html +++ b/shells/desktop/site/docs/index.html @@ -4,7 +4,7 @@ Documentation — Pocket Shell Desktop - +
Documentation

Build a complete Pocket System.

Pocket Shell Desktop packages a themeable System UI, an installed application catalog and lifecycle policy. PocketJS resolves that product definition for generic native and browser hosts.

@@ -13,11 +13,11 @@ 03

Themes

Switch visual systems without changing product or host contracts.

Read →
04

Contributing

Checks, GPLv3 licensing and third-party asset notices.

Read →
-

Quick start

$ git clone --recurse-submodules https://github.com/pocket-stack/pocket-shell.git
+    

Quick start

$ git clone --recurse-submodules https://github.com/pocket-nexus/pocket-shell.git
 $ cd pocket-shell
 $ bun run setup
 $ bun run desktop check
 $ bun run desktop macos
- + diff --git a/shells/desktop/site/docs/run/index.html b/shells/desktop/site/docs/run/index.html index 56ff2bc..8039e7d 100644 --- a/shells/desktop/site/docs/run/index.html +++ b/shells/desktop/site/docs/run/index.html @@ -4,11 +4,11 @@ Build and run — Pocket Shell Desktop - +
Build and run

One resolved System across three hosts.

The host changes by target. The System manifest, System UI package and installed app catalog do not.

-

Setup

Install Bun and stable Rust. Clone submodules before building:

$ git clone --recurse-submodules https://github.com/pocket-stack/pocket-shell.git
+      

Setup

Install Bun and stable Rust. Clone submodules before building:

$ git clone --recurse-submodules https://github.com/pocket-nexus/pocket-shell.git
 $ cd pocket-shell
 $ bun run setup
 $ bun run desktop check
@@ -25,5 +25,5 @@

Validation

$$ bun run desktop test:site

test:web drives a real headless Chrome session, double-clicks Hero and waits for the child raster to replace the System UI fallback.

- + diff --git a/shells/desktop/site/docs/themes/index.html b/shells/desktop/site/docs/themes/index.html index e4bc69e..cd0e966 100644 --- a/shells/desktop/site/docs/themes/index.html +++ b/shells/desktop/site/docs/themes/index.html @@ -4,7 +4,7 @@ Themes — Pocket Shell Desktop - +
Themes

System UI appearance is replaceable product presentation.

A theme owns chrome geometry, colors, controls, menus, taskbar treatment and theme-specific icons. App packages, System policy and host protocols remain unchanged.

@@ -17,5 +17,5 @@

Switching

Open Start → Settings (the l

Rendering contract

All three themes lower to PocketJS DrawList operations. XP's and Aqua's middle gradient stops use the framework's via-* utilities, which lower to existing gradient rectangles and triangles; Aqua's gel highlights are stacked translucent pill layers because the backend paints no radial gradients. No theme adds a backend opcode.

- + diff --git a/shells/desktop/site/index.html b/shells/desktop/site/index.html index 41eedf9..095bb20 100644 --- a/shells/desktop/site/index.html +++ b/shells/desktop/site/index.html @@ -18,7 +18,7 @@
@@ -155,9 +155,9 @@

A complete desktop, counted.

GNU GPL version 3

Pocket Shell for desktop operating systems.

The desktop shell is distributed under GPLv3. Code, themes, tests and build tools are maintained in the Pocket Shell repository.

- +
- + diff --git a/shells/desktop/src/system-ui/programs.tsx b/shells/desktop/src/system-ui/programs.tsx index 19742fb..a37d293 100644 --- a/shells/desktop/src/system-ui/programs.tsx +++ b/shells/desktop/src/system-ui/programs.tsx @@ -686,7 +686,7 @@ export function AboutView(props: { diff --git a/shells/desktop/test/system-ui-sim.test.ts b/shells/desktop/test/system-ui-sim.test.ts index c798475..84e6d79 100644 --- a/shells/desktop/test/system-ui-sim.test.ts +++ b/shells/desktop/test/system-ui-sim.test.ts @@ -69,8 +69,8 @@ function mockSvc(): MockSvc { focused: number, ) => void; ops.__surfaces = { - "dev.pocket-stack.hero": 1, - "dev.pocket-stack.settings": 2, + "dev.pocket-nexus.hero": 1, + "dev.pocket-nexus.settings": 2, }; ops.setCompositorSurface = ( node: number, diff --git a/shells/desktop/test/system-ui.test.ts b/shells/desktop/test/system-ui.test.ts index 9ade6fe..fe9edbc 100644 --- a/shells/desktop/test/system-ui.test.ts +++ b/shells/desktop/test/system-ui.test.ts @@ -104,10 +104,10 @@ describe("Pocket app desktop catalog", () => { expect(systemResolution.ok).toBe(true); if (!systemResolution.ok) return; expect(systemResolution.plan.roles.systemUI).toBe( - "dev.pocket-stack.desktop.system-ui", + "dev.pocket-nexus.desktop.system-ui", ); expect(systemResolution.plan.systemUI.package).toBe( - "dev.pocket-stack.desktop.system-ui", + "dev.pocket-nexus.desktop.system-ui", ); expect(systemResolution.plan.installation).toEqual({ installedPackages: system.installation.installedPackages, @@ -159,7 +159,7 @@ describe("Pocket app desktop catalog", () => { const available = structuredClone(system); available.installation.installedPackages = available.installation.installedPackages.filter( - (packageId) => packageId !== "dev.pocket-stack.hero", + (packageId) => packageId !== "dev.pocket-nexus.hero", ); const packages = (await packageInputs()).filter( (entry) => entry.source !== "vendor/pocketjs/apps/hero/pocket.json", @@ -171,21 +171,21 @@ describe("Pocket app desktop catalog", () => { expect(result.ok).toBe(true); if (!result.ok) return; expect(available.applications.catalog).toContainEqual( - expect.objectContaining({ package: "dev.pocket-stack.hero" }), + expect.objectContaining({ package: "dev.pocket-nexus.hero" }), ); expect(result.plan.installation.installedPackages).not.toContain( - "dev.pocket-stack.hero", + "dev.pocket-nexus.hero", ); expect( result.plan.applications.map((entry) => entry.package), - ).not.toContain("dev.pocket-stack.hero"); + ).not.toContain("dev.pocket-nexus.hero"); }); test("rejects installation snapshots that omit required or name unknown packages", async () => { const missingSystemUI = structuredClone(system); missingSystemUI.installation.installedPackages = missingSystemUI.installation.installedPackages.filter( - (packageId) => packageId !== "dev.pocket-stack.desktop.system-ui", + (packageId) => packageId !== "dev.pocket-nexus.desktop.system-ui", ); const missing = validateAndResolveSystemPlan(missingSystemUI, { target: "macos-app", @@ -202,7 +202,7 @@ describe("Pocket app desktop catalog", () => { const unknownPackage = structuredClone(system); unknownPackage.installation.installedPackages.push( - "dev.pocket-stack.unknown", + "dev.pocket-nexus.unknown", ); const unknown = validateAndResolveSystemPlan(unknownPackage, { target: "macos-app", @@ -249,7 +249,7 @@ describe("Pocket app desktop catalog", () => { expect(accepted.ok).toBe(true); if (accepted.ok) { const hero = accepted.plan.applications.find( - (entry) => entry.package === "dev.pocket-stack.hero", + (entry) => entry.package === "dev.pocket-nexus.hero", ); expect(hero?.plan.features["ui.compositor-surfaces"]).toBe(false); } diff --git a/shells/ipod/ipodtouch4.json b/shells/ipod/ipodtouch4.json index 8841a73..645d4df 100644 --- a/shells/ipod/ipodtouch4.json +++ b/shells/ipod/ipodtouch4.json @@ -2,7 +2,7 @@ "id": "ipod", "projectRoot": ".", "manifest": "pocket.json", - "bundleId": "dev.pocket-stack.shell", + "bundleId": "dev.pocket-nexus.shell", "bundleName": "PocketShell.app", "executable": "PocketShell", "title": "Pocket Shell", diff --git a/shells/ipod/pocket.json b/shells/ipod/pocket.json index 6ddc7fc..ff1e340 100644 --- a/shells/ipod/pocket.json +++ b/shells/ipod/pocket.json @@ -1,7 +1,7 @@ { "$schema": "https://pocketjs.dev/schema/pocket-2.json", "pocket": 2, - "id": "dev.pocket-stack.shell.ipod", + "id": "dev.pocket-nexus.shell.ipod", "name": "pocketshell-ipod", "title": "Pocket Shell", "version": "0.1.0", diff --git a/shells/touch/README.md b/shells/touch/README.md index 7611798..8a25495 100644 --- a/shells/touch/README.md +++ b/shells/touch/README.md @@ -124,7 +124,7 @@ UIKit host and installer come from the pinned `vendor/pocketjs` submodule. `ipodtouch4.json` supplies the external-app descriptor to PocketJS. The native bundle is `PocketShellTouch.app`; `pocketjs-shell-touch://launch` opens it and `shell_touch_gesture` identifies completed actions. The installed package ID -`dev.pocket-stack.fluid` remains stable so deployment updates the existing app +`dev.pocket-nexus.fluid` remains stable so deployment updates the existing app and retains its User container. It is a compatibility identifier, not the shell's display name. diff --git a/shells/touch/ipodtouch4.json b/shells/touch/ipodtouch4.json index 6fddbbe..ec3198d 100644 --- a/shells/touch/ipodtouch4.json +++ b/shells/touch/ipodtouch4.json @@ -2,7 +2,7 @@ "id": "touch", "projectRoot": ".", "manifest": "pocket.json", - "bundleId": "dev.pocket-stack.fluid", + "bundleId": "dev.pocket-nexus.fluid", "bundleName": "PocketShellTouch.app", "executable": "PocketShellTouch", "title": "Pocket Shell Touch", diff --git a/shells/touch/pocket.json b/shells/touch/pocket.json index 7da05fc..9c7ebad 100644 --- a/shells/touch/pocket.json +++ b/shells/touch/pocket.json @@ -1,7 +1,7 @@ { "$schema": "https://pocketjs.dev/schema/pocket-2.json", "pocket": 2, - "id": "dev.pocket-stack.fluid", + "id": "dev.pocket-nexus.fluid", "name": "pocket-shell-touch", "title": "Pocket Shell Touch", "version": "0.1.0", diff --git a/shells/touch/scripts/e7.ts b/shells/touch/scripts/e7.ts index 708b3a8..abeeca4 100644 --- a/shells/touch/scripts/e7.ts +++ b/shells/touch/scripts/e7.ts @@ -4,7 +4,7 @@ import { existsSync, mkdirSync } from 'node:fs'; import { ROOT, VENDOR } from './paths.ts'; import { symbianPackageIdentity } from '../../../vendor/pocketjs/tools/symbian-package.ts'; import { resolveSymbianE7BuildPlan } from '../../../vendor/pocketjs/tools/symbian-profile.ts'; -import { pocketStackCacheRoot, withArtifactLock } from '../../../vendor/pocketjs/tools/psp-toolchain.ts'; +import { pocketNexusCacheRoot, withArtifactLock } from '../../../vendor/pocketjs/tools/psp-toolchain.ts'; const manifest = resolve(ROOT, 'pocket.json'); const plan = resolveSymbianE7BuildPlan(await Bun.file(manifest).json()); @@ -21,7 +21,7 @@ async function device(action: 'deploy' | 'install' | 'status') { if (!existsSync(python)) await run(['python3', '-m', 'venv', environment]); const probe = Bun.spawn([python, '-c', 'import usb.core'], { stdout: 'ignore', stderr: 'ignore' }); if (await probe.exited) await run([python, '-m', 'pip', 'install', '--disable-pip-version-check', 'pyusb==1.3.1']); - await withArtifactLock(resolve(pocketStackCacheRoot(), 'symbian/.locks/coda-usb-device.lock'), () => + await withArtifactLock(resolve(pocketNexusCacheRoot(), 'symbian/.locks/coda-usb-device.lock'), () => run([python, '-B', resolve(ROOT, 'scripts/e7-device.py'), action, '--uid', identity.uid, '--executable', identity.executable + '.exe', '--sis', action === 'deploy' ? resolve(output, identity.sisFile) : identity.sisFile]), diff --git a/shells/touch/test/device.ts b/shells/touch/test/device.ts index a1a131a..5bea272 100644 --- a/shells/touch/test/device.ts +++ b/shells/touch/test/device.ts @@ -15,7 +15,7 @@ const vendor = join(root, "vendor/pocketjs"); const descriptor = JSON.parse(readFileSync(join(root, "shells/touch/ipodtouch4.json"), "utf8")); const output = resolve(process.env.POCKET_SHELL_TOUCH_OUTPUT ?? join(root, ".pocket-build/validation/touch", new Date().toISOString().replaceAll(":", "-"))); mkdirSync(output, { recursive: true }); -const cache = join(homedir(), ".cache/pocket-stack/ipodtouch4/ssh"); +const cache = join(homedir(), ".cache/pocket-nexus/ipodtouch4/ssh"); const port = process.env.POCKETJS_IPODTOUCH4_PORT ?? "2224"; const ssh = ["ssh", "-p", port, "-i", join(cache, "id_rsa"), "-o", `UserKnownHostsFile=${join(cache, "known_hosts")}`, "-o", "StrictHostKeyChecking=yes", "-o", "HostKeyAlias=[127.0.0.1]:2224", "-o", "HostKeyAlgorithms=+ssh-rsa", diff --git a/vendor/pocketjs b/vendor/pocketjs index 4198f71..0ca1b36 160000 --- a/vendor/pocketjs +++ b/vendor/pocketjs @@ -1 +1 @@ -Subproject commit 4198f71ce5cfc9bbb31f5800969f8e06ce6941a1 +Subproject commit 0ca1b362ddf0db45f4b40a4a311c6bede374bcca