* 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>
* 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>
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.
* fix: resolve obsidian community guidelines and lint errors
* chore: optimize github workflows by merging redundant test steps and removing duplicate lint workflow
* chore: implement reusable workflows for lint, test, and build to reduce duplication
* test: add github service tests and fix existing gitlab/sync-manager tests
* test: fix lint errors in tests by using type-safe mocks and assertions
* test: fix tsc compilation error (TS2532) in tests
* chore: fix status check names and finalize sonar configuration
* fix: ensure type-safe mocks in sync-manager.test.ts and resolve lint errors
* chore: fix build status check and consolidate sonar/test configuration
* chore: use direct Lint and Test jobs to satisfy branch protection rules
* chore: separate build and sonar jobs and update actions to latest versions
---------
Co-authored-by: ClaudiaFang <tianyao.firstsun@gmail.coim>