Commit Graph

641 Commits

Author SHA1 Message Date
Copilot
42ed414a4c Fix: Exclude developer-specific .mcp.json from marketplace releases (#277)
* Initial plan

* Fix: Remove developer-specific .mcp.json config and exclude from sync

Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>

* Fix: Use leading slash in rsync exclude to only exclude root .mcp.json

Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>

* Complete fix for developer-specific .mcp.json config issue

Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>
2025-12-13 17:22:38 -05:00
Alex Newman
0185d765ce docs: regenerate CHANGELOG from GitHub releases
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-13 17:09:01 -05:00
Alex Newman
12c2ecce06 chore: bump version to 7.1.6
Improved error messages with platform-specific worker restart instructions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
v7.1.6
2025-12-13 17:08:16 -05:00
Alex Newman
bb0508d639 Refactor error handling to use platform-specific worker restart instructions
- Updated multiple hooks (context-hook, new-hook, save-hook, summary-hook, user-message-hook) to throw errors using `getWorkerRestartInstructions` for improved user guidance on worker connection issues.
- Enhanced `handleWorkerError` function to utilize the new error message generator for consistent error reporting.
- Modified `ensureWorkerRunning` function to provide detailed instructions based on the worker's state, including port information.
- Introduced `getWorkerRestartInstructions` utility in `error-messages.ts` to generate platform-aware error messages for worker failures.
2025-12-13 17:06:45 -05:00
Alex Newman
f00ef33f86 Merge remote-tracking branch 'refs/remotes/origin/main' 2025-12-13 16:54:24 -05:00
Alex Newman
c270bd3177 chore: add FUNDING.yml to support GitHub Sponsors 2025-12-13 16:53:00 -05:00
Alex Newman
0836a97845 Add GitHub Actions workflow to summarize new issues (#278) 2025-12-13 16:19:18 -05:00
Alex Newman
19e285a209 docs: regenerate CHANGELOG from GitHub releases 2025-12-13 15:55:46 -05:00
Alex Newman
ba877214c1 chore: bump version to 7.1.5
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
v7.1.5
2025-12-13 15:54:57 -05:00
Justin Kowarsch
3d4baefac2 fix: Use getWorkerHost() instead of hardcoded localhost in MCP server (#276)
On Windows systems, `localhost` resolves to IPv6 (::1) while the worker
binds to IPv4 (127.0.0.1), causing MCP tool connections to fail.

This change uses the existing getWorkerHost() function which correctly
returns the configured host address (defaulting to 127.0.0.1).

Fixes connection failures on Windows where localhost prefers IPv6.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 15:54:03 -05:00
Alex Newman
453b7857b8 docs: regenerate CHANGELOG from GitHub releases 2025-12-13 15:37:11 -05:00
Alex Newman
c28417af00 chore: bump version to 7.1.4
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
v7.1.4
2025-12-13 15:36:21 -05:00
Jonas Hanisch
2f08db3c01 fix: add npm fallback when bun install fails with alias packages (#265)
* fix: add npm fallback when bun install fails with alias packages

Bun has issues resolving npm alias packages (e.g., string-width-cjs,
strip-ansi-cjs, wrap-ansi-cjs) that are defined in package-lock.json.
When bun fails with 404 errors for these packages, we now fall back
to npm which handles aliases correctly.

This fixes the installation failure that many users are experiencing
where bun install fails with:
  error: GET https://registry.npmjs.org/string-width-cjs/-/string-width-cjs-4.2.3.tgz - 404

The fallback is transparent to users - they will see a warning message
and the installation will continue with npm.

Fixes #262
Related: #261, #253

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: preserve original code style (single quotes)

---------

Co-authored-by: Jonas Hanisch <jhanisch@matero.de>
Co-authored-by: Claude <noreply@anthropic.com>
2025-12-13 15:34:13 -05:00
Alex Newman
672cb5d203 docs: regenerate CHANGELOG from GitHub releases
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 23:34:55 -05:00
Alex Newman
cbe492dde3 chore: bump version to 7.1.3
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
v7.1.3
2025-12-12 23:33:53 -05:00
Alex Newman
0fb6f3cf4e refactor: streamline Bun and uv installation checks and paths 2025-12-12 23:29:42 -05:00
Alex Newman
5cd68f4a96 build: sync plugin build artifacts for v7.1.2
Updated built plugin files with latest changes including localhost
binding security improvements and enhanced runtime detection.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 23:03:27 -05:00
Alex Newman
10a8598aac docs: regenerate CHANGELOG from GitHub releases 2025-12-12 22:51:37 -05:00
Alex Newman
19af455c57 chore: bump version to 7.1.2
🐛 Bug Fixes

**Windows Installation**
- Fixed Bun PATH detection on Windows after fresh install
- Added fallback to check common install paths before PATH reload
- Improved smart-install.js to use full Bun path when not in PATH
- Added proper path quoting for Windows usernames with spaces

**Worker Startup**
- Fixed worker connection failures in Stop hook
- Added health check retry loop (5 attempts, 500ms intervals)
- Worker now waits up to 2.5s for responsiveness before returning
- Improved error detection for Bun's ConnectionRefused error format

🎯 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
v7.1.2
2025-12-12 22:50:53 -05:00
Alex Newman
b5807aed2e docs: regenerate CHANGELOG from GitHub releases 2025-12-12 22:41:39 -05:00
Alex Newman
c6fd984cc1 chore: bump version to 7.1.1
- Updated all version files
- Updated CHANGELOG with v7.1.1 release notes
- Critical fixes: Windows Bun auto-install, path quoting
- New feature: Automatic worker restart on version updates
v7.1.1
2025-12-12 22:40:48 -05:00
Alex Newman
490ba182d5 feat: automatic worker restart on version updates
Critical improvement for seamless upgrades across all versions.

Changes:
1. Added /api/version endpoint to worker service
   - Returns current worker version from package.json

2. Added version checking in worker-utils.ts
   - getPluginVersion() - reads plugin's package.json version
   - getWorkerVersion() - fetches version from worker API
   - ensureWorkerVersionMatches() - compares and restarts if needed

3. Modified ensureWorkerRunning()
   - Now calls ensureWorkerVersionMatches() after health check
   - Automatically restarts worker when version mismatch detected
   - Logs version mismatch for debugging

Impact:
- Users no longer need to manually restart worker after upgrades
- Eliminates connection errors from running old worker code
- Critical for v7.1.1 (Bun auto-install) and all future releases
- Fixes the issue where PR #236 changes weren't applied until manual restart

Testing:
- Version endpoint working: returns {"version":"7.1.0"}
- Worker health check: passing
- Auto-restart logic: triggers on version mismatch

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 22:39:24 -05:00
Alex Newman
4baed97bd0 fix(windows): restore Bun auto-installation in smart-install.js
CRITICAL FIX: v7.1.0 Bun auto-install broken on Windows 11

Problem:
- hooks.json calls `bun smart-install.js` but if Bun isn't installed,
  command fails immediately with "bun is not recognized"
- smart-install.js never runs, so Bun never gets installed
- Chicken-and-egg problem

Root Cause:
- v7.1.0 removed Bun/uv auto-installation logic from smart-install.js
- Assumed Bun would already be available
- Breaks fresh installations on all platforms

Solution:
1. Changed SessionStart hook to use `node` for smart-install.js
   (Node.js always available in Claude Code)
2. Restored Bun auto-installation logic:
   - isBunInstalled() - check if Bun is in PATH
   - installBun() - auto-install via PowerShell (Windows) or curl (Unix/macOS)
   - Also restored uv auto-installation for Chroma

After Fix:
- smart-install.js runs with node (always available)
- Detects if Bun is missing and auto-installs it
- Subsequent hooks use bun successfully
- Works on fresh Windows installations

Fixes: User report from Discord - Windows 11 'bun' is not recognized

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 22:33:03 -05:00
Alex Newman
f41824fa59 fix: quote all CLAUDE_PLUGIN_ROOT paths in hooks.json for Windows usernames with spaces
Wraps all ${CLAUDE_PLUGIN_ROOT} variable expansions with quotes to handle
Windows paths containing spaces (e.g., C:\Users\John Doe\.claude\...).

Without quotes, the shell splits the path at spaces, causing Node.js to
interpret the first segment as JavaScript and throw SyntaxError: Unexpected
token ':'.

This fix updates the Bun migration (v7.1.0) to include proper quoting,
superseding PR #212 which was based on pre-migration code.

Fixes #212

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 22:28:19 -05:00
Alex Newman
80ba7633e5 docs: update CHANGELOG.md for localhost-only binding security fix 2025-12-12 22:18:32 -05:00
Alex Newman
d14266d70a feat(security): default worker to localhost-only binding (#236)
BREAKING CHANGE: Worker now binds to 127.0.0.1 by default instead of 0.0.0.0

This fixes a critical security issue where the worker service was exposing
all API endpoints to the network without authentication.

Changes:
- Default worker binding changed from 0.0.0.0 to 127.0.0.1 (localhost-only)
- Added CLAUDE_MEM_WORKER_HOST configuration setting
- Added host validation in settings API
- Updated UI to allow configuring bind address
- Updated documentation in README.md and CLAUDE.md

For users who need remote access (e.g., server deployments),
set CLAUDE_MEM_WORKER_HOST=0.0.0.0 in ~/.claude-mem/settings.json

All 42 tests pass. Build successful.

Co-authored-by: 7Sageer <12210216@mail.sustech.edu.cn>
2025-12-12 22:17:56 -05:00
Alex Newman
1cd545c36c Merge main into feature/localhost-only-binding - rebuild plugin files 2025-12-12 22:17:19 -05:00
Alex Newman
901af0b7f7 docs: update metadata and descriptions across multiple documentation files 2025-12-12 21:47:58 -05:00
Alex Newman
6815cc55b8 docs: add Mintlify documentation section to CLAUDE.md
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-12 21:26:51 -05:00
Alex Newman
12603a1a5c docs: add PM2 to Bun migration documentation to Mintlify
Add comprehensive technical documentation explaining the v7.1.0 migration from PM2 to Bun-based process management and better-sqlite3 to bun:sqlite database driver.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-12 21:22:00 -05:00
Alex Newman
15d05b5ac7 docs: update CHANGELOG.md for v7.1.0
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-12 21:13:23 -05:00
Alex Newman
bf4a20223a Merge feature/bun-instead-of-pm2: PM2 to Bun migration v7.1.0
Major architectural migration from PM2 to native Bun process management,
and better-sqlite3 to bun:sqlite database driver.

Key changes:
- Replace PM2 with custom Bun-based ProcessManager
- Migrate from better-sqlite3 npm to bun:sqlite runtime
- Auto-install Bun and uv (Python) on first run
- Automatic legacy PM2 process cleanup on all platforms
- Complete documentation in docs/PM2-TO-BUN-MIGRATION.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v7.1.0
2025-12-12 21:12:34 -05:00
Alex Newman
a549d9fe47 chore: update project files for Bun integration and streamline dependencies 2025-12-12 21:10:58 -05:00
Alex Newman
e896cfa0c5 feat: add support for uv package manager installation and update documentation 2025-12-12 20:49:35 -05:00
Alex Newman
5d4e71d2ff fix: run PM2 cleanup on all platforms for quality migration
Previously skipped Windows PM2 cleanup based on assumption that PM2
wasn't used on Windows. However, this left potential orphaned processes.

Changes:
- Remove platform check (process.platform !== 'win32')
- Run PM2 cleanup on Mac/Linux/Windows consistently
- Create .pm2-migrated marker on all platforms
- Update documentation to reflect cross-platform behavior

Rationale:
- Quality migration should clean up ALL orphaned processes
- Error handling (try/catch) already makes this safe
- Even if PM2 had Windows issues, cleanup won't hurt
- Consistent behavior across platforms is better UX

Impact:
- Windows users will get PM2 cleanup on first hook trigger
- Marker file now created on Windows (prevents repeated attempts)
- No breaking changes (errors caught and ignored)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 20:16:39 -05:00
Alex Newman
f923c0cdd5 fix: complete better-sqlite3 to bun:sqlite migration
Must Fix:
- Remove better-sqlite3 logic from smart-install.js (5 sections)
- Update all documentation to reference bun:sqlite (7 files)

Should Fix:
- Add defensive break statement in worker-cli.ts:38

Nice to Have:
- Add port validation in ProcessManager.start() (1024-65535)
- Add one-time marker for PM2 cleanup migration
- Verify clearPortCache() wiring (already correct)

Addresses PR #248 review feedback (comment #3648517713)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 19:23:35 -05:00
Alex Newman
1491123706 feat(ProcessManager): add Bun availability check and improve PID file validation
- Implemented a method to check if Bun is available in the system PATH.
- Updated the startWithBun method to return an error if Bun is not found.
- Enhanced PID file parsing to validate required fields and their types.
- Cleaned up stale PID files if the process is no longer alive.

fix(SettingsRoutes): clear port cache after updating settings

- Added a call to clearPortCache after writing updated settings to ensure the application uses the latest configuration.
2025-12-12 17:48:41 -05:00
Alex Newman
9f1745bdec Remove Korean and Chinese README files to streamline documentation 2025-12-12 17:31:08 -05:00
Alex Newman
d25b1d7394 Add responsive Trendshift badges for dark and light themes
- Updated README.md to include responsive badges that adapt to the user's color scheme preference.
- Added new SVG files for dark and light theme badges to enhance visual consistency.
2025-12-12 17:12:39 -05:00
Alex Newman
f6351434ae Update README.md to simplify Trendshift badge display 2025-12-12 17:10:12 -05:00
Alex Newman
ef9716eb5c Update README.md to add support for dark mode Trendshift badge 2025-12-12 17:08:21 -05:00
Alex Newman
6ebb678306 Add translation cache and update README with Trendshift badge 2025-12-12 17:05:39 -05:00
Alex Newman
25684ea8f7 Add Chinese translation for README and implement README translation script
- Created README.zh.md for Chinese localization of the project.
- Developed a README translation script to support multiple languages using Claude Agent SDK.
- Implemented CLI and programmatic usage for the translation tool.
- Added examples for integrating the translation tool into build scripts and CI/CD pipelines.
- Enhanced error handling and logging for translation processes.
- Included support for various languages and output customization options.
2025-12-12 00:58:36 -05:00
Alex Newman
147b2c5aa5 Update CHANGELOG.md for v7.0.11: Add feature/bun-executable to experimental branch selector 2025-12-12 00:17:22 -05:00
Alex Newman
f154e32145 feat: add mem-search skill and Claude Desktop integration documentation 2025-12-12 00:09:25 -05:00
Copilot
013fe9423e Release v7.0.11: Add feature/bun-executable to branch selector (#247)
* Initial plan

* feat: add feature/bun-executable to branch selector

Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>

* docs: add branch switching validation and tests

Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>

* Release v7.0.11: Add feature/bun-executable to branch selector

Enable users to test feature/bun-executable branch via Settings UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: thedotmack <683968+thedotmack@users.noreply.github.com>
v7.0.11
2025-12-11 20:30:23 -05:00
claude[bot]
f50a005cef feat: add feature/bun-executable to branch selector
Add feature/bun-executable to the allowed branches list in the Version Channel selector, enabling users to switch to this branch from the settings UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Alex Newman <thedotmack@users.noreply.github.com>
2025-12-11 23:33:30 +00:00
Alex Newman
d24d5dda04 refactor: require Bun globally, add auto-install, remove Windows executable approach (#243)
- Delete BinaryManager.ts - no longer needed
- Simplify ProcessManager.ts - single Bun spawn path for all platforms
- Update smart-install.js - auto-install Bun if missing (Windows/Unix)
- Update documentation to reflect Bun requirement

This simplifies the codebase by:
- Using Bun consistently across all platforms (hooks + worker)
- Eliminating binary download/hosting complexity
- Zero native dependencies with bun:sqlite
- Auto-installing Bun on first run if not present

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-11 17:27:18 -05:00
Alex Newman
50c7603a37 refactor: update documentation and remove PM2 ecosystem configurations for Bun integration 2025-12-11 15:15:30 -05:00
Alex Newman
807d1d6100 feat: migrate scripts to Bun runtime
- Updated shebangs in user-message-hook.js, worker-cli.js, and worker-service.cjs to use Bun instead of Node.
- Modified build-hooks.js to generate Bun-compatible shebangs in built scripts.
- Enhanced sync-marketplace.cjs to trigger a worker restart after syncing files via an HTTP request.
- Improved worker-cli.ts to exit with appropriate status codes after executing commands.
- Added build-worker-binary.js to create a Windows executable for the worker service using Bun's compile feature.
2025-12-11 14:59:44 -05:00