firstsun-dev_git-files-sync/tests/utils
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
..
diff.test.ts refactor: code quality enhancements for issue #23 2026-05-20 04:55:26 +00:00
git-blob-sha.test.ts perf(refresh): use tree blob SHAs to avoid per-file content fetches 2026-07-13 13:30:10 +00:00
path.test.ts refactor(test): eliminate duplicate code flagged by SonarCloud 2026-05-22 03:52:32 +00:00
symlink.test.ts fix: symlinked directories no longer break pull discovery 2026-07-13 12:52:09 +00:00
version.test.ts feat: show new feature tips after update 2026-07-13 13:56:38 +00:00