Unify connection acceptance synchronization - #3
Closed
TheGuyWithoutH wants to merge 2 commits into
Closed
TheGuyWithoutH wants to merge 2 commits into
TheGuyWithoutH wants to merge 2 commits into
Conversation
This was referenced Sep 20, 2026
This was referenced Sep 20, 2026
Author
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
Makes manual and scheduled connection checks use the same positive evidence: the person must appear in the selected account's LinkedIn connections list before Linki marks them as connected.
What it fixes
For example: Alice's invitation expires and disappears from the pending list. Previously, a manual check could mark her as connected. Now she remains unconfirmed. If Bob appears on a later page of the actual connections list, Linki can find him and record LinkedIn's connection date.
How it works
The manual endpoint delegates to the detector already called by the scheduled runner. It matches connections to enrolled targets by normalized LinkedIn profile identifier and stores positive matches as they are found.
Newly recorded connection dates come from LinkedIn; existing dates are preserved. Scanning stops when all candidate targets are already marked connected or have been found, when the returned list ends, or with an error at the 60-page limit. Positive matches saved before a later failure remain saved.
Scope and limits
newly_acceptedandsource: "connections-list"; the previous pending-count and accepted-name fields are removed.Related PR
PR #2 also edits this detector to read localized connection counts and tighten stale-connection cleanup. The branches currently conflict in that file. Suggested integration order: #2, then #3, retaining #2's localized count reader and #3's positive-evidence detector. Under #3, the cleanup is removed rather than retained with a stricter threshold.
Validation
c5d0cd8: 13 assertions passed using real in-memory SQLite and a stubbed LinkedIn session.The regression fixture uses synthetic contacts and makes no network requests. It does not exercise LinkedIn's live API response parser or real account behavior.
Run after installing dependencies: