Commit Graph

124 Commits

Author SHA1 Message Date
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
557aa052cb refactor: display complete MCP server URL in status message 2025-10-26 08:45:36 -04:00
cb62483e91 refactor: make UI notifications section collapsible and simplify descriptions
Wraps the UI Notifications section in a details/summary element for progressive disclosure. Updates all setting references from containerEl to notifDetails to properly nest settings within the collapsible section. Simplifies setting descriptions to be more concise.
2025-10-26 08:31:16 -04:00
5684124815 refactor: make MCP client configuration collapsible within authentication 2025-10-26 08:28:11 -04:00
d37327e50d refactor: make authentication section collapsible
- Wrap Authentication in details/summary for progressive disclosure
- Update containerEl references to authDetails within the section
- Simplify API Key description from "Use this key in the Authorization header as Bearer token" to "Use as Bearer token in Authorization header"
2025-10-26 08:26:16 -04:00
9cf83ed185 refactor: move server status to top and simplify setting descriptions 2025-10-26 08:23:38 -04:00
2b8fe0276d refactor: remove encryption messaging and network disclosure from settings UI
Removed unnecessary UI elements to streamline the settings interface:
- Deleted network security disclosure box
- Removed authentication description paragraph
- Removed encryption status indicator
- Removed unused isEncryptionAvailable import

These changes reduce visual clutter while maintaining all functional settings.
2025-10-26 08:20:29 -04:00
f847339a91 docs: add implementation plan for settings UI simplification 2025-10-26 08:18:32 -04:00
0112268af9 docs: add settings UI simplification design
Comprehensive design for streamlining the settings UI using progressive
disclosure to reduce visual clutter while preserving all functionality.

Key changes:
- Move Server Status to top for better visibility
- Collapse Authentication and UI Notifications sections by default
- Remove encryption-related messaging
- Remove network security disclosure
- Simplify all descriptive text
- Use native HTML details/summary elements for collapsibility
2025-10-26 08:15:24 -04:00
65c0d47f2a docs: remove outdated coverage implementation plans
- Removed 3 deprecated implementation plan documents from docs/plans directory:
  - 2025-01-20-tools-coverage-implementation.md
  - 2025-01-20-utils-coverage-completion.md
  - 2025-01-20-utils-coverage-implementation.md
- These plans are no longer needed since the coverage work has been completed and merged
2025-10-26 07:50:25 -04:00
1fb4af2e3a docs: add version history explanation for 1.0.0 reset 2025-10-26 07:46:23 -04:00