Skip to content

chore: move four distros into Images, and bring the docs up to date - #18

Merged
oonid merged 7 commits into
mainfrom
chore/trim-distro-list
Oct 19, 2026
Merged

oonid merged 7 commits into
mainfrom
chore/trim-distro-list

Conversation

@oonid

@oonid oonid commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Keeps the container list focused on the distributions in use.

What changes

  • The main list offers Alpine (latest and edge), Debian (stable and testing), Fedora and Ubuntu.
  • Arch Linux, Manjaro, openSUSE and Rocky Linux move into the Images suggestions on the custom-image card. Arch was already there; Manjaro, openSUSE Tumbleweed and Rocky Linux are added with the same image references and aliases as before. One tap fills the image reference and alias.
  • A container already installed under one of those aliases still shows in the list, because the list also includes installed containers that are not in the catalog.
  • README's "Supported distributions" updated.

Docs brought up to date with #16 and #17

  • README:
    • "What it does" covers the list plus Images, background sessions, list operations with Cancel, and the verified layer cache.
    • Testing lists all four suites with current counts: app JVM 128, pr-cli 178, instrumented 8, on-device 55. It notes that CI runs both unit suites.
    • Project structure and the Documentation table add the background-sessions design and the architecture doc; docs/plans/ is marked historical.
  • docs/android-apk-architecture.md:
    • the file tree is corrected (ProotLauncher and PtyNative now live in proot-engine);
    • stale claims about Back, onDestroy, and install/remove running in a PTY are fixed;
    • the "APK not built yet" follow-up is marked resolved.
  • docs/design/background-sessions.md: the "today" context is past tense, pr-cli is no longer listed as unchanged, and the host test count is 178.
  • docs/integration-tests.md: Test and Remove are in a row's ⋮ menu.
  • docs/plans/background-sessions-followups.md: a historical-plan note.
  • AGENTS.md:
    • the pr-cli test breakdown (153 library, 11 binary, 14 integration) and the Test menu entry;
    • Testing now lists the app JVM suite and notes that the guest test binary must be built before cargo test.
  • From the pre-merge review:
    • the README qualifies Cancel's cleanup: only installs with an alias are cleaned up;
    • CI is described as running on pushes to main and on pull requests;
    • the README says when the switch and the battery banner show;
    • the "session ended" notice applies to sessions that end on their own;
    • the README points to the 24/7 limits;
    • the command blocks are paste-safe;
    • the APK doc's file tree matches the current layout, under a note that the T4.x sections are the Phase 4 record.
  • The long-running use case is described generically (an AI agent's gateway, with Hermes as one example) in the background-sessions design, the historical plan and one proot note.
  • Dated test results, history and exploration docs are left as written.

Verification

  • App unit tests: 128 passed (CI runs them along with cargo test).
  • On the device:
    • the main list shows only the six entries, plus installed containers;
    • the Images popup lists the four after scrolling;
    • tapping Rocky Linux fills docker.io/library/rockylinux:latest with alias rockylinux.
  • An installed container under a moved alias takes its title from the Images suggestions. On the device, a rockylinux container shows as "Rocky Linux" in the list.

Docs brought up to date with #16 and #17

  • README:
    • "What it does" covers the list plus Images, background sessions, list operations with Cancel, and the verified layer cache.
    • Testing lists all four suites with current counts: app JVM 128, pr-cli 178, instrumented 8, on-device 55. It notes that CI runs both unit suites.
    • Project structure and the Documentation table add the background-sessions design and the architecture doc; docs/plans/ is marked historical.
  • docs/android-apk-architecture.md:
    • the file tree is corrected (ProotLauncher and PtyNative now live in proot-engine);
    • stale claims about Back, onDestroy, and install/remove running in a PTY are fixed;
    • the "APK not built yet" follow-up is marked resolved.
  • docs/design/background-sessions.md: the "today" context is past tense, pr-cli is no longer listed as unchanged, and the host test count is 178.
  • docs/integration-tests.md: Test and Remove are in a row's ⋮ menu.
  • docs/plans/background-sessions-followups.md: a historical-plan note.
  • AGENTS.md:
    • the pr-cli test breakdown (153 library, 11 binary, 14 integration) and the Test menu entry;
    • Testing now lists the app JVM suite and notes that the guest test binary must be built before cargo test.
  • From the pre-merge review:
    • the README qualifies Cancel's cleanup: only installs with an alias are cleaned up;
    • CI is described as running on pushes to main and on pull requests;
    • the README says when the switch and the battery banner show;
    • the "session ended" notice applies to sessions that end on their own;
    • the README points to the 24/7 limits;
    • the command blocks are paste-safe;
    • the APK doc's file tree matches the current layout, under a note that the T4.x sections are the Phase 4 record.
  • The long-running use case is described generically (an AI agent's gateway, with Hermes as one example) in the background-sessions design, the historical plan and one proot note.
  • Dated test results, history and exploration docs are left as written.

Verification

  • Unit tests: 62 passed.
  • On the device:
    • the main list shows only the six entries, plus installed containers;
    • the Images popup lists the four after scrolling;
    • tapping Rocky Linux fills docker.io/library/rockylinux:latest with alias rockylinux.

oonid added 4 commits October 19, 2026 14:42
The container list now offers Alpine (latest and edge), Debian (stable
and testing), Fedora and Ubuntu. Arch Linux, Manjaro, openSUSE and Rocky
Linux move to the Images suggestions on the custom-image card, where one
tap fills the image reference and alias. Containers already installed
under those aliases still appear in the list, which also shows installed
containers that are not in the catalog.
Describe the container list with its Images suggestions instead of
"5 more", background sessions (Back prompt, End, Keep CPU awake, the
battery-optimization banner, the session-ended notice) and the list
operations (live output, Cancel, Remove ending a session first,
surviving rotation and dark mode).

Testing now covers the app's JVM unit tests (128), pr-cli's tests
(178) with the guest binary they embed, the proot-engine instrumented
tests (8) and the on-device suite (55 in 11 suites), and notes that
CI runs both unit suites. Project structure lists the session
package; the documentation table adds the APK architecture doc, the
background sessions design and the historical plans.
The APK architecture doc listed ProotLauncher and PtyNative in the app
module, said Back ran cleanup and finish(), onDestroy() closed the
session and install/remove ran in a PTY, and kept the APK build as an
open follow-up. Point those to the current behaviour: the engine
module, background sessions, DistroOperations and ProcessRunner, and
the catalog plus Images suggestions.

The background sessions design described the pre-session behaviour in
the present tense, listed pr-cli as unchanged although its OCI layer
download changed, and counted 169 host tests (now 178). The
integration test doc described a Play/BugReport/Delete row; Test and
Remove are in the row's overflow menu. The follow-ups plan gains the
same historical note as the main plan.
pr-cli's 178 tests are 153 library, 11 binary and 14 integration. The
on-device suite is started from Test in a row's menu, not a separate
BugReport button.
@oonid
oonid force-pushed the chore/trim-distro-list branch from 3e6c7f7 to 59007dd Compare October 19, 2026 07:50
@oonid oonid changed the title chore: move four distros from the list into the Images suggestions chore: move four distros into Images, and bring the docs up to date Oct 19, 2026
oonid added 2 commits October 19, 2026 18:02
README: qualify Cancel's cleanup (only installs with a known alias),
say when the Keep CPU awake switch and the battery banner show, that
the session-ended notice is for sessions that end on their own, and
that the phantom-process limit and Task Manager "Stop" can still end
sessions. CI runs on pushes to main and on pull requests. Command
blocks use subshells so they paste as one block.

AGENTS.md: add the app JVM suite (128 tests) and the note that the
guest test binary must be built before cargo test.

APK architecture doc: mark the T4.x sections as the Phase 4 record
and point to the current-behaviour sections, and bring the file tree
to the current layout (proot-engine, InstalledContainers.kt,
SessionBanners.kt, the remaining assets, Compose BOM 2025.05.00).
An installed container whose alias is not in the list's catalog was
shown under its alias. When the alias matches an Images suggestion
(archlinux, manjaro, opensuse, rockylinux), show the suggestion's
title instead, such as "Arch Linux" or "Rocky Linux"; other aliases
keep showing the alias.
@oonid
oonid force-pushed the chore/trim-distro-list branch from 59007dd to b394d6c Compare October 19, 2026 11:04
Background sessions serve any long-running server, such as an AI agent's
gateway. The design and plan now say so, with Hermes named as one
example and as the program the target check used. The proot note keeps
the bug's evidence but names it as one agent's discovery.
@oonid
oonid force-pushed the chore/trim-distro-list branch from 443443e to 8989295 Compare October 19, 2026 11:16
@oonid
oonid merged commit 1b2ea79 into main Oct 19, 2026
1 check passed
@oonid
oonid deleted the chore/trim-distro-list branch October 19, 2026 11:33
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