Bug Fix:
- 🐛 Fixed
EPERM: operation not permitted, uv_cwderror - Set explicit working directory (
cwd) when executing subprocess commands - Prevents Node.js from failing when it can't access the current working directory
- Fixes
/listcommand not returning graphs in extension settings
Technical Details:
- Added
cwd=os.path.expanduser('~')to bothsubprocess.Popenandsubprocess.runcalls - Uses user's home directory as safe working directory
- Affects all Logseq CLI command executions (list, show, search, query)
Impact:
- Extension "Refresh Graphs" button now works correctly
- Graph dropdown in settings now populates with available graphs
- No breaking changes - fully backward compatible
CLI Compatibility Update:
- ✅ Updated for @logseq/cli v4.0 compatibility
- Fixed
querycommand to use new-gflag format - Updated
/searchendpoint - now useslogseq query "..." -g graph-name - Updated
/queryendpoint (POST) - now useslogseq query "..." -g graph-name - Note:
showcommand still uses positional arguments (unchanged in v4.0)
Breaking Change:
- Requires @logseq/cli >= 4.0.0
- Will NOT work with @logseq/cli < 4.0.0 (use v0.0.3 for older CLI versions)
Migration:
# Update CLI to v4.0+
npm update -g @logseq/cli
# Verify version
logseq --version # Should show 0.4.0 or higher
# No changes needed to HTTP server code - works automaticallyPrivacy Improvements:
- 🔒 Default mode no longer logs search queries or graph names
- 🔒 Only logs health checks, startup, shutdown, and errors
- Added
--debugflag for troubleshooting (with privacy warning) - Debug mode displays prominent warning about logging user activity
- Clear messaging about privacy protection
Breaking Changes:
- Request logging now minimal by default (may affect debugging)
- Use
--debugflag to see detailed request logs when needed - Existing logs may contain historical search queries - consider clearing
Migration:
- No action required - privacy mode is automatic
- Clear existing logs:
cat /dev/null > /tmp/logseq-server.log - For debugging: add
--debugflag when starting server
Major Features:
- Added macOS background service support via LaunchAgent
- Created AppleScript control app for managing server
- Automated install/uninstall scripts
- Single unified log file (
/tmp/logseq-server.log) - Fixed PATH environment variable for logseq CLI access
New Files:
macos/com.logseq.sidekick.server.plist- LaunchAgent configurationmacos/Logseq Server Control.app- GUI control applicationmacos/install.sh- Automated installermacos/uninstall.sh- Automated uninstallermacos/README.md- macOS setup documentationmacos/POC-NOTES.md- Technical implementation notes
API Changes:
- Added
GET /versionendpoint - Returns server version
Improvements:
- Server now displays version in startup banner
- Version logged in startup message
- Comprehensive documentation for macOS setup
Bug Fixes:
- Fixed logseq CLI not found in LaunchAgent environment
Initial Release:
- Basic HTTP server for Logseq CLI commands
- REST API endpoints for graph operations
- Support for DB (database) graphs
- Datalog query execution via @logseq/cli
- EDN to JSON conversion using jet
- CORS support for browser extensions
API Endpoints:
GET /health- Health checkGET /list- List all graphsGET /show?graph=NAME- Show graph infoGET /search?q=QUERY&graph=NAME- Search graphsPOST /query- Execute datalog queries
Requirements:
- Python 3
- @logseq/cli (npm package)
- jet (Clojure EDN processor)