Commit graph

23 commits

Author SHA1 Message Date
ClaudiaFang
4574abc294
refactor: address SonarCloud issues and reduce code duplication (#20)
* ci: use shared obsidian plugin workflow and update obsidian version

* Add quality gate status badge to README

Added a quality gate status badge to the README.

* refactor: address SonarCloud issues and reduce code duplication

---------

Co-authored-by: ClaudiaFang <tianyao.firstsun@gmail.coim>
2026-04-27 01:20:40 +08:00
ClaudiaFang
591dd6e82a
refactor: consolidate duplicated methods into BaseGitService (#17) 2026-04-26 10:46:44 +08:00
ClaudiaFang
655cd69252
Fix lint (#15)
* ci: optimize workflow to reduce redundancy and refine permissions

* ci: fix syntax errors in workflow file

* docs: resolve SonarCloud issues and refactor for complexity

* refactor: extract BaseGitService to reduce duplication and fix lint/tests

* fix: resolve TS build errors due to unchecked indexed access

* refactor: address gemini-code-assist bot reviews

- Add last_commit_id to GitLabFileResponse
- Use last_commit_id as sha in GitLabService.getFile
- Add rename detection to SyncManager.processSingleBatchPush

---------

Co-authored-by: ClaudiaFang <tianyao.firstsun@gmail.coim>
2026-04-26 05:23:13 +08:00
ClaudiaFang
f33ef3e3fd
fix: remove commend (#14)
Co-authored-by: ClaudiaFang <tianyao.firstsun@gmail.coim>
2026-04-25 20:25:53 +00:00
ClaudiaFang
5c62533d93
fix: final test coverage and logic improvements (#11)
* chore: update GitHub Actions to latest versions and increase test coverage for batch operations

* fix: resolve linting errors in batch tests

* chore: consolidate GitHub workflows into unified ci.yml and allow sonar failure

* fix: include missing test coverage and logic improvements

---------

Co-authored-by: ClaudiaFang <tianyao.firstsun@gmail.coim>
2026-04-25 15:40:36 +00: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
ecd2aabfca fix: resolve obsidian community guidelines and lint errors 2026-04-25 03:13:04 +00:00
ClaudiaFang
282e4bfc7b style: improve RWD and fix button layouts 2026-04-24 17:23:52 +00:00
ClaudiaFang
fb9b22a9e1 fix: gitignore support for subfolder vaults and resolve lint warnings 2026-04-24 12:52:43 +00:00
ClaudiaFang
cbc55d502d feat: Support .gitignore filtering and GitHub-style diff viewer 2026-04-24 12:41:36 +00:00
ClaudiaFang
5d9cd3345d Fix syncing of hidden files inside unindexed directories 2026-04-24 12:32:22 +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
b354f651cf fix(sync): implement robust sync diagnostics with proper TS types 2026-04-02 20:07:20 +08:00
Tianyao
8893396bff fix(gitlab): add Project ID encoding and enhanced diagnostics 2026-04-02 20:01:55 +08:00
Tianyao
ce07e0b18d fix(gitlab): encode projectId and improve error diagnostics 2026-04-02 19:59:09 +08:00
Tianyao
c2a6bb5fba perf(sync): optimize GitLab push by avoiding redundant getFile calls 2026-04-02 19:55:41 +08:00
Tianyao
b4bc25a91c feat(sync): improve error reporting and file existence check 2026-04-02 19:51:14 +08:00
Tianyao
6161bd75cd fix(build): resolve dependencies, fix Vitest 4 mocking, and handle file existence 2026-04-02 19:50:43 +08:00
tianyao
c7ba14cb9e feat: add rootPath setting and test connection button
- Implement rootPath prefixing for GitLab API paths.
- Add 'Test connection' button in settings UI with status feedback.
- Remove debug console logs from main.ts.
- Align vitest dependencies in package.json.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 17:14:55 +00:00
tianyao
cccf096103 feat: implement rootPath setting and Test connection button
- Added rootPath to GitLabFilesPushSettings and DEFAULT_SETTINGS
- Implemented testConnection in GitLabService to verify credentials
- Added rootPath support to GitLabService API URL generation
- Added UI fields for rootPath and Test connection button in settings tab
- Updated tests to include rootPath in mock settings and services

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-01 17:13:12 +00: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
tianyao
bb80936834 Implement conflict detection in SyncManager using syncMetadata
- Add SHA comparison in pushFile to detect remote changes before pushing
- Update syncMetadata (lastSyncedSha) after successful push and pull
- Add comprehensive test cases for conflict scenarios and metadata updates
- Use syncMetadata to track state and prevent overwriting remote work

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:40:29 +00:00
ClaudiaFang
b620e9eb40
Initial commit 2026-04-01 00:23:18 +08:00