mirror of
https://github.com/firstsun-dev/git-files-sync.git
synced 2026-07-22 06:54:27 +00:00
Records this session's completed work (#33, #36, #31, #39 consolidated onto PR #51 alongside the prior session's #40/#41/#42/#48) and the paused state of feat-009 (#38 i18n), which is blocked on a scope decision from the user before any code is written.
5.2 KiB
5.2 KiB
Session Progress Log
Completed work is archived in archive/, one file per calendar month — this file only tracks what's still open.
Current State
Last Updated: 2026-07-13 14:05 Session ID: session_01YYCTyZw7gUmJ7oh1VTmAqh Active Feature: feat-009 - i18n / multi-language support (issue #38) — paused, awaiting scope decision
Status
What's Done
- feat-001..008 (project setup, settings UX bundle, folder picker, symlink pull fix, tree-SHA refresh, HTML-response error clarity, what's-new modal) — see archive/2026-07.md
- All consolidated onto branch
claude/fix-directory-symlink-pull-260713→ PR #51 (open, all CI green as of last check), per user's explicit request to keep the PR count down rather than one PR per issue.
What's In Progress
- feat-009 - i18n / multi-language support (issue #38)
- Scope is large: ~47 hardcoded strings in
src/settings.ts, ~24 insrc/ui/SyncStatusView.ts, plus 37new Notice(...)call sites acrosssrc/logic/sync-manager.ts,src/settings.ts,src/main.ts,src/ui/SyncStatusView.ts(many with interpolated values). - Asked the user how deep to scope this (full settings.ts extraction only vs. settings+all Notices vs. infra-only-first); the question prompt was dismissed without an answer before the user ran
/firstsun-harness. Not yet started — no i18n files created. - Next step: get a scope decision from the user before writing any code, since a half-migrated i18n system (some strings extracted, most not) is worse than not starting.
- Scope is large: ~47 hardcoded strings in
What's Next
- Resolve feat-009's scope question with the user, then implement.
- Issue #37 (Bitbucket provider support) — large, deferred until #38 lands (per agreed order: 39→38→37).
- Re-sync against
gh issue list --repo firstsun-dev/git-files-sync --state open— as of this session, #40/#41/#42/#48/#33/#36/#31/#39 are technically still "open" on GitHub but are all done in code and waiting on PR #51 to merge (they'll auto-close then). Remaining genuinely-unstarted issues: #47 (regex ignore lists), #45 (SonarQube findings), #38 (i18n, in progress), #37 (Bitbucket), #28 (non-engineering: community visibility).
Blockers / Risks
- feat-009 (i18n) is blocked on a scope decision from the user — do not start writing
src/i18n/*or touchingsettings.tsstrings until that's confirmed, to avoid an inconsistent half-migration. - PR #51 is large (6 issues' worth of changes). If the user wants to review/merge it before more work piles on, flag this rather than continuing to add commits indefinitely.
Decisions Made
- All work goes into one PR (#51): user explicitly said "不要那麼多pr merge" (don't want so many PRs). Branches
claude/tree-sha-status-refresh-260713andclaude/fix-html-response-json-error-260713were merged intoclaude/fix-directory-symlink-pull-260713and their PRs (#52, #53) closed/auto-resolved;claude/settings-ux-improvements-260713andclaude/folder-picker-settings-260713were already merged in earlier the same way (PRs #49, #50 closed). Any further issue work this session should commit directly ontoclaude/fix-directory-symlink-pull-260713, not a new branch. src/changelog.tsis hand-curated, separate from the auto-generatedCHANGELOG.md: semantic-release already maintainsCHANGELOG.mdfrom Conventional Commit messages, but it's commit-log-level detail (too granular for an end-user popup) and isn't shipped in the release assets (onlymain.js/manifest.json/styles.cssare). The new modal needs a small, hand-written, user-facing "highlights" list instead — added as part of cutting a release, not auto-generated.- Fixed two duplication regressions mid-session (SonarCloud gate is 3% on new code, learned the hard way on PR #49 earlier): deduped
TextComponent/TextAreaComponenttest mocks, and deduped the GitHub/GiteagetBlob()bodies into a sharedfetchGitHubStyleBlob()base helper.
Files Modified This Session
See archive/2026-07.md entries feat-003/005/006/007/008 for the full per-feature file lists. No files touched yet for feat-009 (i18n) — paused before any code was written.
Evidence of Completion
- Tests pass:
npx vitest run→ 302/302 passed (as of commit4eebebc) - Type check clean:
npm run build→ clean - Lint clean:
npx eslint .→ 0 errors - Manual verification in Obsidian: not done (no Obsidian instance available in this environment) for any feature this session
Notes for Next Session
- Start by getting the user's answer on feat-009's scope (see "What's In Progress" above) before writing any i18n code.
feature_list.json's backlog is a snapshot from this session — re-checkgh issue listbefore trusting it, though as of now it should be accurate (checked at end of session).- Working branch for all further commits:
claude/fix-directory-symlink-pull-260713(PR #51). Do not open a new branch/PR for the next issue unless the user says otherwise.