archy/docs/MARKETPLACE-QA.md
archipelago fdc035dda7 docs: release-note image-versions fix, add marketplace QA tracker, update RESUME
- AccountInfoSection.vue: append 5th bullet to v1.7.43-alpha entry
  explaining that update-available badges and version comparisons
  work again now that the pinned-image catalog is found at the
  correct deployed path.

- docs/MARKETPLACE-QA.md: new tracker for the upcoming app-by-app
  install walk on .228. Documents the per-app fix workflow, the
  four layers we might need to fix at (app recipe, registry image,
  backend orchestrator, frontend), status-key table for tracking
  each catalog entry, and the release-notes policy for the walk.

- docs/RESUME.md: refresh with a9908597 commit, updated binary md5
  on .228, and split Immediate Next Step into Phase 1 (browser
  verification) and Phase 2 (marketplace walk) with a pointer to
  the new tracker.
2026-04-23 09:32:41 -04:00

59 lines
2.9 KiB
Markdown

# 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/<app>/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 <app>'
ssh archy228 'podman logs <container-name> 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/<name>): ...` or `fix(registry/<image>): ...` 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._