fix: simplify updater to @mosaic/mosaic only, add explicit tea repo/login flags #388

Merged
jason.woltje merged 1 commits from fix/updater-wrapper-gitea-387 into main 2026-04-05 02:09:25 +00:00
Owner

Summary

Closes #387

1. Update Checker Simplification (BREAKING CHANGE)

Removes all legacy @mosaic/cli compatibility from the update checker:

  • Removed LEGACY_PKG, INSTALLED_PACKAGE_ORDER constants — only PKG = '@mosaic/mosaic' remains
  • getInstalledVersion() — removed multi-package loop, checks @mosaic/mosaic only
  • getLatestVersion() — removed candidate iteration with fallback; single query for @mosaic/mosaic
  • checkForUpdate() — removed currentPackage-based cache key comparison
  • RegistryCache — removed currentPackage and targetPackage fields
  • formatUpdateNotice() — removed package migration notice (no more legacy→modern transition messaging)

2. Gitea Wrapper Fixes

Fixes tea commands that fail when not run from inside a git repo by explicitly passing --repo and --login:

  • pr-merge.sh: Added --repo $OWNER/$REPO --login ${GITEA_LOGIN:-mosaicstack} to tea merge; resolved OWNER/REPO before case block
  • issue-close.sh: Added --repo and --login to both tea issue comment and tea issue close
  • pr-ci-wait.sh: No changes needed (uses curl API, not tea)
  • detect-platform.sh: No changes needed

Test Results

  • 8/8 vitest tests pass (legacy fallback and cross-contamination tests removed; new does not query legacy @mosaic/cli test added)
  • Typecheck: clean on update-checker.ts
  • Lint: clean
  • Format: clean

Files Changed

  • packages/mosaic/src/runtime/update-checker.ts — 66 lines removed, simplified to single-package
  • packages/mosaic/__tests__/update-checker.test.ts — legacy tests removed, modern-only tests added
  • packages/mosaic/framework/tools/git/pr-merge.sh — explicit tea flags
  • packages/mosaic/framework/tools/git/issue-close.sh — explicit tea flags
  • docs/scratchpads/387-updater-wrapper-gitea-20260404.md — progress tracking
## Summary Closes #387 ### 1. Update Checker Simplification (BREAKING CHANGE) Removes all legacy `@mosaic/cli` compatibility from the update checker: - Removed `LEGACY_PKG`, `INSTALLED_PACKAGE_ORDER` constants — only `PKG = '@mosaic/mosaic'` remains - `getInstalledVersion()` — removed multi-package loop, checks `@mosaic/mosaic` only - `getLatestVersion()` — removed candidate iteration with fallback; single query for `@mosaic/mosaic` - `checkForUpdate()` — removed `currentPackage`-based cache key comparison - `RegistryCache` — removed `currentPackage` and `targetPackage` fields - `formatUpdateNotice()` — removed package migration notice (no more legacy→modern transition messaging) ### 2. Gitea Wrapper Fixes Fixes `tea` commands that fail when not run from inside a git repo by explicitly passing `--repo` and `--login`: - **pr-merge.sh**: Added `--repo $OWNER/$REPO --login ${GITEA_LOGIN:-mosaicstack}` to tea merge; resolved OWNER/REPO before case block - **issue-close.sh**: Added `--repo` and `--login` to both `tea issue comment` and `tea issue close` - **pr-ci-wait.sh**: No changes needed (uses curl API, not tea) - **detect-platform.sh**: No changes needed ### Test Results - 8/8 vitest tests pass (legacy fallback and cross-contamination tests removed; new `does not query legacy @mosaic/cli` test added) - Typecheck: clean on update-checker.ts - Lint: clean - Format: clean ### Files Changed - `packages/mosaic/src/runtime/update-checker.ts` — 66 lines removed, simplified to single-package - `packages/mosaic/__tests__/update-checker.test.ts` — legacy tests removed, modern-only tests added - `packages/mosaic/framework/tools/git/pr-merge.sh` — explicit tea flags - `packages/mosaic/framework/tools/git/issue-close.sh` — explicit tea flags - `docs/scratchpads/387-updater-wrapper-gitea-20260404.md` — progress tracking
jason.woltje added 1 commit 2026-04-05 02:07:59 +00:00
fix: simplify updater to @mosaic/mosaic only, add explicit tea repo/login flags (#387)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
c39fa065fc
BREAKING CHANGE: Remove legacy @mosaic/cli fallback from update-checker.
The updater now targets only @mosaic/mosaic — legacy package compatibility
is out of scope per approved breaking change.

- update-checker.ts: remove LEGACY_PKG, INSTALLED_PACKAGE_ORDER, candidate
  iteration, and cache key comparison. Single query for @mosaic/mosaic only.
- update-checker.test.ts: remove legacy fallback and cross-contamination
  tests. Add test asserting no @mosaic/cli queries are made.
- pr-merge.sh: add --repo and --login flags to tea merge command; resolve
  OWNER/REPO before case block.
- issue-close.sh: add --repo and --login flags to tea issue commands;
  resolve OWNER/REPO after detect_platform.
- pr-ci-wait.sh: no changes needed (uses curl, not tea).
- detect-platform.sh: no changes needed (provides get_repo_owner/name).

Ref: #387
jason.woltje merged commit 2e31626f87 into main 2026-04-05 02:09:25 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#388