Conversation
Introduce browser-based sync by adding a new mindmark.browsers package (paths, chromium, firefox, __init__) to detect installed browsers and parse bookmarks (Chromium JSON and Firefox places.sqlite). Add CLI `sync` command and related UI hints, plus README/CONTRIBUTING updates documenting the sync workflow. Extend Index to support incremental sync: content hashing, bookmark_sources table, schema migration to v2, sync/rebuild logic, and model-change handling; implement safe Firefox DB snapshotting and Chromium tree walking. Add comprehensive tests for detection, parsing, and orchestration and include .coverage capture.
Add a close() method to Index to explicitly close the SQLite connection. Refactor tests to use pytest (import pytest) and a shared idx fixture that creates an Index via _make_index(tmp_path/"test.db") and ensures the DB is closed on teardown. Update _make_index signature to accept a db_path and convert many tests to use the idx fixture (removing tempfile usage and simplifying setup/teardown). Also ensure the migration test closes the index after assertions. These changes improve test hygiene and ensure DB connections are properly cleaned up.
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.
Introduce browser-based sync by adding a new mindmark.browsers package (paths, chromium, firefox, init) to detect installed browsers and parse bookmarks (Chromium JSON and Firefox places.sqlite). Add CLI
synccommand and related UI hints, plus README/CONTRIBUTING updates documenting the sync workflow. Extend Index to support incremental sync: content hashing, bookmark_sources table, schema migration to v2, sync/rebuild logic, and model-change handling; implement safe Firefox DB snapshotting and Chromium tree walking. Add comprehensive tests for detection, parsing, and orchestration and include .coverage capture.What this PR does
Why
How to test
Checklist
pytest -q)