Commit Graph

134 Commits

Author SHA1 Message Date
c8014bd8c9 1.0.0-alpha.7 1.0.0-alpha.7 2025-10-26 16:49:35 -04:00
cc4e71f920 refactor: remove 'obsidian' from plugin ID and update branding
- Change plugin ID from 'obsidian-mcp-server' to 'mcp-server'
- Remove 'Obsidian' from plugin description per guidelines
- Update documentation to use new plugin folder name
- Update installation paths to .obsidian/plugins/mcp-server/
- Update package name to match new plugin ID
- Simplify README title and description
2025-10-26 16:47:36 -04:00
175aebb218 1.0.0 2025-10-26 14:05:49 -04:00
52a5b4ce54 1.0.0-alpha.6 1.0.0-alpha.6 2025-10-26 13:52:40 -04:00
87d04ee834 fix: remove jq dependency from Gitea release step
Use grep and sed instead of jq to parse JSON response, as jq
is not available on all Gitea runners.
2025-10-26 13:52:40 -04:00
3ecab8a9c6 1.0.0-alpha.5 1.0.0-alpha.5 2025-10-26 13:32:58 -04:00
9adc81705f fix: use Gitea API directly instead of action reference
Replace the gitea-release-action with direct API calls using curl.
This approach works on both GitHub (which runs this step conditionally)
and Gitea servers, using their compatible REST APIs.
2025-10-26 13:32:52 -04:00
b52d2597f8 1.0.0-alpha.4 1.0.0-alpha.4 2025-10-26 13:30:37 -04:00
5b00626258 1.0.0-alpha.3 1.0.0-alpha.3 2025-10-26 13:09:16 -04:00
79c4af55d5 feat: add Gitea support to release workflow
Add platform detection to support creating releases on both GitHub
and Gitea servers. The workflow now:
- Detects the platform using github.server_url
- Uses GitHub CLI (gh) for GitHub releases
- Uses gitea-release-action for Gitea releases
- Creates draft releases with the same artifacts on both platforms
2025-10-26 13:08:55 -04:00
c9c1db4631 1.0.0-alpha.2 1.0.0-alpha.2 2025-10-26 12:56:23 -04:00
dd4976e218 fix: support pre-release version tags in release workflow
Add support for semantic version tags with pre-release identifiers
(e.g., 1.0.0-alpha.1, 1.0.0-beta.2) in the GitHub Actions release
workflow.

The workflow now triggers on both stable versions (X.Y.Z) and
pre-release versions (X.Y.Z-*).

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 12:55:59 -04:00
c55e2484d6 1.0.0-alpha.1 1.0.0-alpha.1 2025-10-26 12:54:00 -04:00
a4429631cf Merge branch 'fix/crypto-compatibility' 2025-10-26 12:52:53 -04:00
0246fe0257 test: add error case coverage for crypto-adapter 2025-10-26 12:46:44 -04:00
48e429d59e fix: remove console.error from graceful error handlers
Removed console.error calls from error handlers that gracefully skip
problematic files and continue processing. These handlers catch errors
when reading or parsing files but successfully return fallback values,
so logging errors creates unnecessary noise during testing and deployment.

Changes:
- vault-tools.ts: Remove console.error from search and frontmatter extraction
- search-utils.ts: Remove console.error from file search handlers
- waypoint-utils.ts: Remove console.error from file read handler
- frontmatter-utils.ts: Remove console.error from YAML and Excalidraw parsing

Test updates:
- Remove test assertions checking for console.error calls since these
  are no longer emitted by graceful error handlers

All 709 tests pass with no console noise during error handling.
2025-10-26 12:44:00 -04:00
6788321d3a fix: use crypto-adapter in generateApiKey
- Replace direct crypto.getRandomValues with getCryptoRandomValues
- Fixes Node.js test environment compatibility
- Maintains production behavior in Electron
2025-10-26 12:40:52 -04:00
de1ab4eb2b feat: add cross-environment crypto adapter
- Create getCryptoRandomValues() utility
- Support both window.crypto (browser/Electron) and crypto.webcrypto (Node.js)
- Add comprehensive test coverage for adapter functionality
2025-10-26 12:36:34 -04:00
4ca8514391 docs: add crypto compatibility implementation plan 2025-10-26 12:35:02 -04:00
8957f852b8 docs: add crypto compatibility design document 2025-10-26 12:32:51 -04:00
7122d66e1c docs: add funding links and update description
- Added Buy Me a Coffee and GitHub Sponsor funding links to manifest.json
- Fixed description formatting with proper punctuation
- Updated manifest schema to include fundingUrl section
2025-10-26 12:30:27 -04:00
44bb99dd11 docs: update documentation to use singular voice
Replace plural pronouns (we, our, us) with singular/project voice
throughout documentation files to represent a singular developer
perspective.

Changes:
- CONTRIBUTING.md: Replace "We are" with "This project is",
  "We use" with "This project uses", "our" with "the"
- README.md: Replace "our" with "the", add OS to bug report checklist
- docs/VERSION_HISTORY.md: Replace "we reset" with passive voice
  "the version was reset"
2025-10-26 12:15:13 -04:00
350e1be20c docs: add comprehensive contributing guidelines
- Created CONTRIBUTING.md with detailed guidelines for plugin development and contributions
- Added sections covering development setup, workflow, code standards, and testing practices
- Included step-by-step instructions for setting up local development environment
- Documented release process and version management procedures
- Added guidelines for pull requests, commit messages, and code organization
- Included security considerations and platform
2025-10-26 12:08:10 -04:00
d2a76ee6f4 fix: use heredoc for release notes to avoid YAML parsing issues 2025-10-26 12:07:24 -04:00
ed8729d766 docs: add GitHub Sponsors funding option
- Added GitHub Sponsors configuration file to enable sponsorship button
- Updated README to include GitHub Sponsors link alongside existing donation options
- Configured sponsorship to direct to Xe138's GitHub profile
2025-10-26 12:05:50 -04:00
8e7740e06e Merge branch 'feature/github-release-workflow' 2025-10-26 12:01:59 -04:00
67c17869b8 docs: add GitHub release workflow documentation 2025-10-26 11:56:11 -04:00
d0c2731816 fix: add release notes template to draft releases 2025-10-26 11:53:34 -04:00
b7cf858c1c feat: add GitHub Actions release workflow
Implements automated release workflow per design document.

- Triggers on semantic version tags (e.g., 1.2.3)
- Validates version consistency across package.json, manifest.json, and git tag
- Runs test suite (blocks release if tests fail)
- Builds plugin using production build process
- Verifies build artifacts exist (main.js, manifest.json, styles.css)
- Creates draft GitHub release with required files

Workflow uses single-job architecture for simplicity and runs on Node.js 18 with npm caching for performance.
2025-10-26 11:50:37 -04:00
0d2055f651 test: relax test coverage thresholds and add test helpers
- Adjusted coverage thresholds in jest.config.js to more realistic levels:
  - Lines: 100% → 97%
  - Statements: 99.7% → 97%
  - Branches: 94% → 92%
  - Functions: 99% → 96%
- Added new test-helpers.ts with common testing utilities:
  - Mock request/response creation helpers for Express and JSON-RPC
  - Response validation helpers for JSON-RPC
  - Mock tool call argument templates
  - Async test helpers
- Expanded encryption utils
2025-10-26 11:47:49 -04:00
74e12f0bae Merge branch 'feature/mcp-config-ui-improvements' 2025-10-26 11:43:23 -04:00
2b7a16cf23 docs: add GitHub release workflow design document 2025-10-26 11:24:53 -04:00
d899268963 docs: mark MCP config UI improvements as implemented 2025-10-26 11:19:22 -04:00
4b7805da5a test: verify no regressions from UI changes 2025-10-26 11:16:34 -04:00
cac92fe4b6 test: verify MCP config UI improvements work correctly
Code inspection testing completed:
- Build successful with no TypeScript errors
- All 579 automated tests pass with no regressions
- Tab state property correctly initialized to 'windsurf'
- Authentication section renamed to 'Authentication & Configuration'
- Config generator produces correct Windsurf format (serverUrl)
- Config generator produces correct Claude Code format (type: http, url)
- Tab buttons implement proper visual states (bold, border-bottom)
- Tab switching logic correctly updates activeConfigTab and re-renders
- Copy button functionality implemented for config JSON
- Dynamic content area shows file path, config JSON, and usage notes

Manual testing in Obsidian not performed (no test vault available)
All implementation requirements verified through code inspection
2025-10-26 11:13:18 -04:00
c1c00b4407 feat: implement dynamic tab content with client-specific configs 2025-10-26 11:07:11 -04:00
4c4d8085fe feat: add tab buttons for MCP client selection 2025-10-26 11:04:42 -04:00
215a35e625 style: standardize author name across manifest and package files
- Updated author name from "Bill Ballou" to "William Ballou" in manifest.json
- Added missing author name "William Ballou" in package.json
- Ensures consistent attribution across project metadata files
2025-10-26 11:01:31 -04:00
685710ff55 refactor: remove nested MCP config details element 2025-10-26 11:01:29 -04:00
5579a15ee2 docs: remove legacy .windsurf documentation files
- Removed all .windsurf/rules/ markdown files containing outdated plugin development guidelines
- Files included agent guidelines, code examples, coding conventions, commands/settings docs, environment setup, file organization, manifest rules, project overview, references, security/privacy, troubleshooting, and UX guidelines
- Content will be replaced with updated documentation in a new location

Note: This appears to be a cleanup commit removing
2025-10-26 11:01:16 -04:00
98f0629b42 feat: rename Authentication section to Authentication & Configuration 2025-10-26 10:59:04 -04:00
97903c239c feat: add tab state and config generator for MCP clients 2025-10-26 10:56:34 -04:00
d83843d160 docs: add implementation plan for MCP config UI improvements 2025-10-26 10:54:25 -04:00
a412a488d7 docs: add design document for MCP configuration UI improvements 2025-10-26 10:51:39 -04:00
34793b535d docs: update LICENSE to MIT and enhance README documentation
- Replace ISC license with MIT License
- Update copyright to 2025 William Ballou
- Add comprehensive installation instructions
- Add troubleshooting section with common issues
- Add contributing guidelines and issue reporting info
- Add security notice about vault access
- Add support/funding information

License change aligns with package.json and Obsidian ecosystem standards.
2025-10-26 10:43:36 -04:00
8e72ff1af6 fix: repair broken filter controls in notification history modal
- Replace raw HTML inputs with Obsidian Setting components
- Add DOM element references for targeted updates
- Eliminate destructive re-render on filter changes
- Update only list container and count on filter apply
- Fix tool filter input not accepting text
- Fix status dropdown not showing selection

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 09:31:22 -04:00
5bc3aeed69 fix: prevent notification settings section from collapsing on toggle
- Add targeted DOM update method for notification section
- Store reference to details element during initial render
- Replace full page re-render with targeted subsection update
- Preserve open/closed state during updates

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 09:27:01 -04:00
d6f297abf3 feat: improve notification message clarity with MCP Tool Called label
- Update notification format to multi-line with explicit label
- First line: 'MCP Tool Called: tool_name'
- Second line: parameters (if enabled)
- Add comprehensive tests for notification formatting

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 09:21:08 -04:00
17976065df docs: add implementation plan for notification UI improvements
Detailed plan with bite-sized tasks for:
- Notification message format improvements
- Settings section collapse fix
- Modal filter control repairs

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 09:14:07 -04:00
e5d1c76d48 Add design document for notification UI improvements
Documents fixes for three UX issues:
- Unclear notification message format
- Settings section collapsing on toggle
- Broken filter controls in history modal

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 09:10:00 -04:00