Fix sync issues: Add debug logging and switch to V1 API only#32
Merged
Conversation
- Fix API endpoints from /api/v1/memo to /api/v1/memos - Add response transformation from V1 format to expected format - Update request parameters (pageSize/pageToken instead of limit/offset) - Fix user endpoint to /api/v1/users/me - Add proper HTTP headers for JSON responses - Handle archived memo filtering client-side - Transform memo IDs from resource names (e.g., memos/123 -> 123) This fixes compatibility with current Memos V1 API and allows the plugin to sync properly with Memos servers. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Implement hash-based conversion from alphanumeric to numeric IDs - Add ID mapping for update operations - Store nextPageToken for V1 API pagination support - Add documentation for V1 API fixes The V1 API uses alphanumeric IDs (e.g., "memos/cUsGvkRZ4bA2sknaFsBSZe") which are now converted to stable numeric IDs for Logseq compatibility. This allows the plugin to work with modern Memos instances while maintaining backward compatibility with the existing numeric ID system. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Replace logseq.Assets.makeSandboxStorage() with logseq.settings to store sync status. This fixes the "BUG: should not join with empty dir" error that occurs when Logseq tries to construct storage paths with empty base directories. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add detailed logging throughout sync process for better debugging - Remove API version detection, always use V1 API - Add logging for API requests, responses, and sync flow - Log sync status operations to track persistence - Remove unused me() method and version detection logic This helps diagnose issues when memos aren't appearing in Logseq and simplifies the codebase by removing unnecessary API calls. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Owner
|
Works well on the logseq MD version, merged. |
|
🎉 This PR is included in version 1.10.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR fixes issues where memos weren't appearing in Logseq by:
makeSandboxStorage()tologseq.settingsProblem Fixed
The main issue was that the HOST URL in settings included a port (
:5230) which caused the API to return HTML instead of JSON. The debug logging helped identify this issue.Changes
Debug Logging Added
API Improvements
me()API call for version detectionBug Fixes
Testing
All changes have been tested with:
Notes for Users
After updating, users need to ensure their HOST setting doesn't include a trailing slash or port:
https://memos.example.comhttps://memos.example.com/orhttps://memos.example.com:5230The debug logging will help diagnose any remaining issues by showing detailed information in the browser console.