Files
backnotprop__plannotator/packages/ui/assets/workspaces.webp
Michael Ramos 0be4295a2e Plan-look chooser + 0.20.0 release dialog (with GitLab / sem / install fixes) (#879)
* feat(plan): default to the grid look + look-and-feel image chooser

- Flip gridEnabled default back to true (classic grid / floating-card look),
  reverting #863's flat-by-default so existing users without an explicit
  choice return to the grid view they're used to.
- Rewrite the look-and-feel announcement into a two-image chooser: Grid
  (classic, now the default) vs Clean (the new flat look), each a clickable
  screenshot that hover-zooms to preview — mirroring the code-review
  DiffTypeSetupDialog pattern.
- Bump the announcement version (1 -> 2) so existing users are re-offered the
  choice once.
- Add look-grid.png / look-flat.png preview assets (resized app screenshots).

* fix(review): restore GitLab /diffs fallback for MR review

#871's pr-gitlab refactor moved to the raw_diffs endpoint and deleted the
paginated /diffs path, hard-breaking MR review on self-hosted GitLab too old to
expose raw_diffs (opaque "Failed to fetch MR diff") and silently rendering zero
files when raw_diffs returns empty for oversized MRs.

Keep raw_diffs as the primary path (it preserves binary markers + collapsed
content), but fall back to the restored paginated /diffs + reconstructPatch when
raw_diffs fails or is empty, and throw a clear "diff is empty / too large" error
if both come back empty. Restores parsePaginatedArray / reconstructPatch and
adds tests for the fallback paths.

* fix(install): bound the optional sem sidecar download

The semantic-diff 'sem' download (#871) ran curl / Invoke-WebRequest with no
timeout. The sidecar installs after plannotator itself, so a slow or hung fetch
could wedge an otherwise-complete install. Add --connect-timeout 10
--max-time 120/60 (sh, cmd) and -TimeoutSec 120/60 (ps1) so it times out and
skips gracefully, and document the PLANNOTATOR_SKIP_SEM_INSTALL opt-out in the
installer help.

* chore(install): remove the Glimpse install option from the installers

The installers offered to `npm install -g glimpseui` (a wizard prompt +
--glimpse/--no-glimpse flags + saved pref). Drop all of it across install.sh,
install.ps1, and install.cmd: flags, usage text, the wizard question, the
glimpse_present detection, the saved-pref read/write, the persistence clauses,
and the install block. The guided wizard is now two questions (extras,
model-invocable).

Runtime Glimpse support is unchanged: the app still opens in the native window
if glimpseui is on PATH (packages/server/browser.ts), still gated by
PLANNOTATOR_GLIMPSE. Updated install.test.ts (asserts the installers are
glimpse-free) and the installation docs.

* feat(plan): 0.20.0 release announcement dialog

Turn the first-run look chooser into a two-page 0.20.0 announcement.

- Page 1: header with a "Full release notes" link, a four-up feature
  grid (fresh look, semantic review, multi-repo review, leaner install),
  and the grid/clean plan-look chooser.
- Page 2: "Workspaces are coming" teaser with the waitlist image + link.
- Footer actions grouped bottom-right on both pages (shimmering
  "Workspaces are coming" teaser via TextShimmer + the primary action)
  so focus stays in one corner across the page turn.
- Reshoot the grid/clean chooser screenshots on a clean prose plan and
  add the workspaces teaser image.

* feat(plan): add full-page HTML feature card, lead with leaner install

Add a fifth what's-new card for --render-html (annotate HTML reports and
explainers rendered full-screen) and move Leaner install to the front of
the grid.
2026-06-09 09:45:20 -07:00

101 KiB
1672x941px