semantic-release-bot
49f16c6a2b
chore(release): 1.3.0 [skip ci]
...
## [1.3.0](https://github.com/firstsun-dev/git-files-sync/compare/1.2.1...1.3.0 ) (2026-07-14)
### Features
* add i18n (multi-language) support ([#38 ](https://github.com/firstsun-dev/git-files-sync/issues/38 )) ([144eb28 ](144eb286d8 ))
* add Simplified Chinese locale, settings what's-new banner, and 1.3.0 changelog ([72ed2cd ](72ed2cde75 ))
* resize conflict modal, add connection status badge, and local ignore patterns ([28f4f8e ](28f4f8efd0 )), closes [#42 ](https://github.com/firstsun-dev/git-files-sync/issues/42 ) [#41 ](https://github.com/firstsun-dev/git-files-sync/issues/41 )
* **settings:** add folder picker for root path and vault folder settings ([c107979 ](c107979427 )), closes [#48 ](https://github.com/firstsun-dev/git-files-sync/issues/48 )
* show new feature tips after update ([4eebebc ](4eebebc765 )), closes [#39 ](https://github.com/firstsun-dev/git-files-sync/issues/39 )
* **ui:** show connection status in the global status bar ([83499c9 ](83499c92e8 ))
### Bug Fixes
* don't mark the symlink-pull fix as notable in 1.3.0 changelog ([1fc27ab ](1fc27ab1b6 ))
* normalize vaultFolder-relative path before gitService.deleteFile ([fa42fea ](fa42fea5fd ))
* **push:** avoid stale remote-tree read right after a batch push ([7676325 ](7676325088 ))
* **push:** retry GitHub commit mutations on a stale expectedHeadOid ([33d41ac ](33d41ac89b ))
* remote-repo root path picker, delete-remote-only-file errors, symlinked-folder EISDIR ([896d77b ](896d77bddf )), closes [firstsun-dev/blog#78 ](https://github.com/firstsun-dev/blog/issues/78 )
* satisfy Obsidian plugin scan (undescribed directive, popout-window timers) ([09bdf0c ](09bdf0c0c7 ))
* surface a clear error when requestUrl() itself rejects with HTML content ([a867217 ](a86721752a )), closes [#31 ](https://github.com/firstsun-dev/git-files-sync/issues/31 )
* symlinked directories no longer break pull discovery ([4c8896b ](4c8896b6fa )), closes [#33 ](https://github.com/firstsun-dev/git-files-sync/issues/33 )
* **sync:** clear sync metadata on vault file delete ([1a369b3 ](1a369b36ed ))
* **ui:** connection status badge text invisible on some themes ([12cce64 ](12cce6497e ))
### Performance Improvements
* **delete:** batch-commit remote-only file deletion ([d8e3663 ](d8e3663b8f ))
* **push:** batch-commit push-all files + SHA-based diffing ([c28e0ec ](c28e0ec09a ))
* **push:** GitHub batch push/delete via GraphQL createCommitOnBranch ([114a575 ](114a5759a7 ))
* **push:** parallelize blob creation within a batch commit ([c7ae0f6 ](c7ae0f6754 ))
* **refresh:** use tree blob SHAs to avoid per-file content fetches ([2ed5a43 ](2ed5a436b0 )), closes [#36 ](https://github.com/firstsun-dev/git-files-sync/issues/36 )
### Code Refactoring
* **tests:** dedupe TextComponent/TextAreaComponent mocks ([f5ae8ef ](f5ae8ef16d )), closes [#49 ](https://github.com/firstsun-dev/git-files-sync/issues/49 )
2026-07-14 13:37:29 +00:00
Claude
d896015765
fix(compat): support Obsidian down to 1.11.0
...
Release 1.2.0 raised minAppVersion to 1.13.0, pushing users still on
Obsidian 1.11/1.12 back to the older 1.1.2 build via versions.json. Only
three 1.13-era APIs were in use; two were already runtime-guarded, but
ButtonComponent.setDestructive() would throw on older Obsidian.
- Guard setDestructive() behind applyDestructiveStyle() (no-ops on < 1.13).
- Declare SettingDefinitionItem locally and read update() via a cast so the
forward-compatible settings code type-checks against 1.11 typings.
- Ship 1.2.1 with minAppVersion 1.11.0 (manifest.json + versions.json).
- Add tsconfig.compat.json and `npm run typecheck:compat` to type-check src
against the 1.11 API, plus regression tests for applyDestructiveStyle.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SSikT9ZAfQF8K4SE3DatD3
2026-07-07 01:53:28 +00:00
ClaudiaFang
a20d30844b
Merge pull request #43 from firstsun-dev/claude/git-files-sync-issue-31-54izdm
...
Gitea support, symlink handling, sync reliability fixes, and dependency security updates
2026-07-05 15:19:32 +08:00
ClaudiaFang
e89f6bad70
chore(release): bump minAppVersion to 1.13.0 and version to 1.2.0
...
Obsidian APIs used (getSettingDefinitions, PluginSettingTab.update,
setDestructive) all require 1.13.0+, but manifest.json still declared
1.12.7. Bump minAppVersion to match and cut a new release version.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-05 05:50:21 +00:00
Claude
fbbb70a0c6
chore: update authorUrl to personal blog
2026-06-28 12:43:30 +08:00
semantic-release-bot
9a4d136e63
chore(release): 1.1.2 [skip ci]
...
## [1.1.2](https://github.com/firstsun-dev/git-files-sync/compare/1.1.1...1.1.2 ) (2026-06-16)
### Bug Fixes
* **lint:** replace activeWindow.setTimeout with setTimeout ([4099f44 ](4099f44fa5 ))
2026-06-16 13:34:20 +00:00
semantic-release-bot
e18851934a
chore(release): 1.1.1 [skip ci]
...
## [1.1.1](https://github.com/firstsun-dev/git-files-sync/compare/1.1.0...1.1.1 ) (2026-06-16)
### Bug Fixes
* **ci:** switch to shared workflow v1 and fix repository url ([3a0f99e ](3a0f99e383 ))
2026-06-16 03:54:45 +00:00
semantic-release-bot
1bde1c33e9
chore(release): 1.1.0 [skip ci]
...
## [1.1.0](https://github.com/firstsun-dev/git-files-sync/compare/1.0.6...1.1.0 ) (2026-06-16)
### Features
* support hidden file sync and expand binary extension list ([649d732 ](649d732781 ))
### Documentation
* remove SonarCloud quality gate badge from README ([d907baf ](d907baf229 ))
* update README badges ([7cd9e38 ](7cd9e38e65 ))
### Code Refactoring
* **test:** eliminate duplicate code flagged by SonarCloud ([f49600e ](f49600eb66 ))
* **test:** extract shared SyncManager mock setup to reduce duplication ([1f71a43 ](1f71a43980 ))
2026-06-16 03:50:36 +00:00
semantic-release-bot
d41d98d0b3
chore(release): 1.0.6 [skip ci]
...
## [1.0.6](https://github.com/firstsun-dev/git-files-sync/compare/1.0.5...1.0.6 ) (2026-05-20)
### Bug Fixes
* **release:** trigger patch release on chore(deps) commits ([910305a ](910305a81c ))
* **test:** add @types/jsdom and fix Element type cast in setup-dom ([8f7207a ](8f7207a388 ))
* **ui:** real-time file status during refresh and unsynced file actions ([c6152a6 ](c6152a61bb ))
### Code Refactoring
* code quality enhancements for issue [#23 ](https://github.com/firstsun-dev/git-files-sync/issues/23 ) ([7f223e3 ](7f223e33b8 ))
* code quality enhancements for issue [#23 ](https://github.com/firstsun-dev/git-files-sync/issues/23 ) ([31ac918 ](31ac9189cf ))
* eliminate code duplication flagged by SonarCloud ([556f9e9 ](556f9e930d ))
2026-05-20 09:12:47 +00:00
semantic-release-bot
438a4981b1
chore(release): 1.0.5 [skip ci]
...
## [1.0.5](https://github.com/firstsun-dev/git-files-sync/compare/1.0.4...1.0.5 ) (2026-04-26)
### Code Refactoring
* address SonarCloud issues and reduce code duplication ([#20 ](https://github.com/firstsun-dev/git-files-sync/issues/20 )) ([4574abc ](4574abc294 ))
* fix quality gate issues, improve type safety and pagination ([#21 ](https://github.com/firstsun-dev/git-files-sync/issues/21 )) ([70171fd ](70171fd5d7 ))
2026-04-26 18:17:27 +00:00
ClaudiaFang
7f21cad9db
chore(ci): update minAppVersion to 1.12.7 and add git plugin to release ( #18 )
2026-04-26 11:35:55 +08:00
ClaudiaFang
684551b8f8
fix: resolve SonarCloud Quality Gate failures and improve marketplace readiness ( #10 )
...
This commit consolidates several improvements to satisfy SonarCloud Quality Gate and enhance the overall plugin stability:
- Code Quality & Refactoring:
- Reduced duplication to 0% by refactoring SyncManager and SyncStatusView.
- Implemented centralized 'processBatch' logic for multi-file sync operations.
- Fixed security hotspots by replacing legacy atob/btoa with Buffer.
- Added memory safety limits to the diff algorithm to prevent DoS.
- Test Coverage & Reliability:
- Improved SyncManager coverage to 81.8% and GitignoreManager to 92.8%.
- Added comprehensive unit tests for batch operations and complex .gitignore patterns.
- Resolved all ESLint 'unsafe-member-access' and 'unbound-method' warnings in tests.
- Infrastructure & Metadata:
- Consolidated GitHub Actions into a single optimized 'ci.yml' using latest versions (v6-v8).
- Synchronized manifest.json and versions.json to v1.1.0.
- Fixed workflow permission issues identified by CodeQL.
2026-04-25 23:35:32 +08:00
ClaudiaFang
5214e39fb4
chore: initial release reset to 1.0.0
2026-04-25 04:50:03 +00:00
ClaudiaFang
4c98d19667
chore: manual version sync to 1.1.2
2026-04-25 04:45:24 +00:00
ClaudiaFang
4c8c280138
chore: update author to ClaudiaFang and repo name to git-files-sync
2026-04-24 18:46:31 +00:00
ClaudiaFang
a27d3fdba5
fix: enable automatic versioning and sync manifest to 1.1.0
2026-04-24 18:32:29 +00:00
ClaudiaFang
cab60ad9fa
docs: overhaul README and add Traditional Chinese usage guide
2026-04-24 17:33:19 +00:00
ClaudiaFang
282e4bfc7b
style: improve RWD and fix button layouts
2026-04-24 17:23:52 +00:00
ClaudiaFang
d5539434dc
feat(core,ui,ci,docs): add GitHub support, sync status view, batch operations, and CI/CD workflows ( #1 )
...
Major feature release including:
- GitHub service support alongside GitLab
- Sync status view with visual diff
- Batch push/pull operations
- Conflict resolution modal
- Vault folder filtering
- File rename detection
- Complete CI/CD workflows (check, auto-release, semantic-release)
- Comprehensive documentation (CHANGELOG, COMPLIANCE, RELEASE guides)
Co-authored-by: tianyao <tianyao@heavendev01.royal-powan.ts.net>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:03:05 +08:00
tianyao
362def7cd3
feat: integrate SyncConflictModal into SyncManager
...
- Implement conflict detection in pushFile and pullFile using SHA comparison.
- Use SyncConflictModal to prompt users for manual resolution ('Use local' or 'Use remote').
- Added unit tests in sync-manager.test.ts to verify conflict handling logic.
- Fixed linting issues related to unhandled promises and mock type safety.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:43:10 +00:00
ClaudiaFang
b620e9eb40
Initial commit
2026-04-01 00:23:18 +08:00