Repository navigation
Conversation
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.
Problem
GitHub stars are imported into one flat
GitHub Starredlist. GitHub star lists and their repository memberships are not fetched, so the grouping is lost. This also affects users whose stars are already imported: another flat sync does not populate any child lists.Changes
KS_GITHUB_SYNCLISTS, disabled by default. When enabled, import the authenticated user's star lists as children ofGitHub Starred, using their original names. Keep bookmarks directly in the parent list as well.karakeep-sync-source: github-list:<id>line in the child description. Preserve existing description text. Source renames update the same Karakeep child in place, without changing its ID or memberships or modifying GitHub.Verification
cargo fmt --all -- --checkcargo test --locked --all-features --workspace: 22 tests passed. Coverage includes source renames, repeated imports, first-run adoption with preserved descriptions, source-identity collisions, pagination, existing-bookmark backfill, parent-scoped lookup, early cutoff, and API failures.cargo clippy --locked --all-targets --all-features -- -D warningscargo test --locked --doc --workspaceLimits
Imports are additive, not a full mirror. They do not remove memberships, delete destination lists, or modify GitHub. Only lists and repositories visible to the token can be imported, and the token must support the GraphQL queries. The source-ID metadata line in each child description must be retained for rename tracking.