# Marketplace QA — app-by-app install walk Purpose: track install/launch/uninstall health for every app in the marketplace catalog on `.228`. User installs each app one by one; for each broken one we triage, fix at the right layer (app recipe / registry image / backend / frontend), commit, redeploy, and re-verify. Target build: `v1.7.43-alpha` + backend md5 `9b8ead06aaf210b85cd78fce270384e3` (image-versions path fix included). ## Status key - ✅ install, launch, uninstall all clean - ⚠️ installs and runs but has cosmetic or partial issues (note in details) - ❌ broken — fix needed - ⏳ pending verification ## Catalog Pull the authoritative list from Marketplace page on `.228` during the walk. Fill in as you go. | App | Status | Notes / fix applied | |---|---|---| | _(to be filled during walk)_ | ⏳ | | ## Known issues going in - **Vaultwarden** — container exits immediately on start. Pre-existing. Backend async wrapper correctly detects + removes the install state entry. Needs container-config investigation (image pin / env vars / volume layout). ## Fix layers cheat-sheet When an app breaks, identify which layer to fix at: 1. **App recipe** — `apps//package.yaml` or wherever the Podman manifest lives. Ports, volumes, env vars, healthcheck, resource caps. 2. **Registry image** — if image itself is missing/wrong-tag on `.168`:3000/lfg2025 or `git.tx1138.com`. Push corrected image, bump `scripts/image-versions.sh`. 3. **Backend orchestrator** — `core/archipelago/src/container/` or `core/archipelago/src/api/rpc/package/` if the install flow mishandles this app's shape. 4. **Frontend** — `neode-ui/src/views/marketplace/` or curated data in `neode-ui/src/views/marketplace/marketplaceData.ts` if catalog entry is wrong or UI can't render this app correctly. ## Per-app fix workflow For each broken app: 1. Capture failure mode: ``` ssh archy228 'sudo journalctl -u archipelago --since "5 minutes ago" --no-pager | tail -80' ssh archy228 'podman ps -a --format "{{.Names}}\t{{.Status}}\t{{.Image}}" | grep ' ssh archy228 'podman logs 2>&1 | tail -60' ``` 2. Diagnose — which layer. 3. Fix in repo (use SSHFS mount for edits). 4. `cargo check` if backend changed; `npm run build` if frontend changed. 5. Commit with `fix(app/): ...` or `fix(registry/): ...` etc. 6. Redeploy as needed (binary via Mac ferry; frontend via rsync; registry via podman push). 7. User re-verifies on `.228`. Mark ✅. ## Release-notes policy For each app fix, append a bullet to the current in-flight release entry in `neode-ui/src/views/settings/AccountInfoSection.vue`. If the fix pile gets large enough to warrant its own release, bump to v1.7.44-alpha and start a new block at the top. Keep entries operator-focused ("Nostr Relay no longer crashes on first start"), not implementation-focused. ## Running log _Add dated notes here as we progress through the catalog._