firstsun-dev_git-files-sync/tests/ui
ClaudiaFang 4eebebc765 feat: show new feature tips after update
Adds a "what's new" modal shown once after the plugin updates to a new
version, so users don't miss what changed:

- New src/changelog.ts: a hand-curated CHANGELOG array (distinct from
  the auto-generated CHANGELOG.md, which lists every commit) where
  entries can be marked `notable` so they're called out separately
  from minor fixes, per the issue's clarification comment.
- New src/utils/version.ts: compareVersions() does numeric per-segment
  comparison (so "1.10.0" sorts after "1.9.0", unlike a plain string
  compare).
- getUnseenReleases() filters+sorts the changelog to what's newer than
  a given "last seen" version, extracted as a pure/testable function
  rather than inlined in main.ts (which isn't unit-tested in this repo).
- New settings field lastSeenVersion, persisted the same way as other
  settings. On a fresh install (empty lastSeenVersion) it's just
  recorded silently — no modal, since there's nothing to compare
  against. On an actual version bump, WhatsNewModal shows the unseen
  releases' highlights, with a "View full changelog" link out to
  CHANGELOG.md and a "Got it" dismiss; the version is recorded either
  way so the tip only ever shows once per upgrade.
- The whole check is wrapped in try/catch so a malformed version
  string can never break plugin startup.

Closes #39
2026-07-13 13:56:38 +00:00
..
ActionBar.test.ts test(ui): add interaction tests for ActionBar, FileListItem, and DiffPanel 2026-05-20 05:25:13 +00:00
DiffPanel.test.ts perf(refresh): use tree blob SHAs to avoid per-file content fetches 2026-07-13 13:30:10 +00:00
FileListItem.test.ts perf(refresh): use tree blob SHAs to avoid per-file content fetches 2026-07-13 13:30:10 +00:00
SettingsConnectionStatus.test.ts feat: resize conflict modal, add connection status badge, and local ignore patterns 2026-07-13 12:19:17 +00:00
setup-dom.ts feat: resize conflict modal, add connection status badge, and local ignore patterns 2026-07-13 12:19:17 +00:00
SyncConflictModal.test.ts feat: resize conflict modal, add connection status badge, and local ignore patterns 2026-07-13 12:19:17 +00:00
WhatsNewModal.test.ts feat: show new feature tips after update 2026-07-13 13:56:38 +00:00