Remove individual files (main.js, manifest.json, styles.css) from
release assets and build artifacts. Only keep the zip package.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Create zip file with format: git-files-push-{version}-{branch}.zip
for feature branch builds.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Create a zip file containing plugin files (main.js, manifest.json, styles.css)
with format: git-files-push-{version}.zip
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove @semantic-release/git plugin from semantic-release configuration
to prevent conflicts with branch protection rules. For Obsidian plugins,
we only need GitHub releases with assets, not version commits back to repo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add missing conventional-changelog-conventionalcommits package required
by semantic-release for commit analysis.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update esbuild from 0.25.5 to 0.28.0 to meet vite's peer dependency
requirement (^0.27.0 || ^0.28.0). This fixes package-lock.json sync
issues in CI.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update Node.js version from 20 to 22 to meet semantic-release
dependency requirements (requires Node.js 22.14.0+ or 24.10.0+).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update Node.js version from 18 to 20 in all GitHub Actions workflows
to meet dependency requirements. This fixes CI failures caused by
packages requiring Node.js 20+.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add 'npm run test' to development commands.
- Include 'Cost Optimization' rule for using Haiku subagents.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- 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>
- 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>
- Update getFile to return empty content and sha on 404
- Use presence of sha to determine if push should be POST or PUT
- Fix test setup for Obsidian TFile mock
- Handle ESLint and TypeScript issues in tests and sync manager
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 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>
- 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>