Skip to content

Click LinkedIn contacts.read Contact info and project the modal - #245

Merged
0thernet merged 1 commit into
mainfrom
cursor/linkedin-contacts-click-modal-7c42
Sep 12, 2026
Merged

0thernet merged 1 commit into
mainfrom
cursor/linkedin-contacts-click-modal-7c42

Conversation

@0thernet

Copy link
Copy Markdown
Member

Summary

After #243 (37177a2 / adapter 1.35.0), contained Chrome still returned HTTP 500 text/html on the synthetic ProfileContactDetailsOverlay POST even with the exact headed body and the full observed X-Li set.

Operator headed proof on 2026-09-12: signed-in box Chrome, tessbloch → Contact info, Email in the modal DOM (gmail.com, local-part length 10). Notes under operator path-capture/headed-modal-email-proof-20260912.md + contact-info-modal-email-20260912.png.

Adapter 1.36.0 is the smallest R1 path that uses that proven UI interaction. After the existing 1st-degree bind and page-instance wait, it clicks only the unique accessible name Contact info on the already-loaded profile, snapshots the unique dialog, and projects Email from that HTML. Zero or two-plus controls, an overlay GET href, or a missing modal fail closed. It does not mint a navigation POST or track headers.

GraphQL 403, navigation GETs, vanity HTML-shell honesty, and embedded-field projection stay. Soft-labels stay. Self, non-first-degree, and contradictory distances still fail closed.

CSRF-omit (#244) stays a parallel experiment and is not required for this path.

Operator smoke

Not claimed green. Cloud has no signed-in LinkedIn session.

printf '%s' '{"profile_url":"https://www.linkedin.com/in/tessbloch/"}' \
  | ghostget invoke linkedin-web contacts.read --input - --auth linkedin-dormant-20260911 --json

Live green still requires Email on that 1st-degree profile via this click-and-modal path.

Tests

  • Clicks the unique Contact info control and snapshots the modal
  • Does not mint a navigation POST after observing rsc-action page headers
  • Fails closed when the control is omitted, ambiguous, or targets the vanity overlay GET
  • Fails closed when the modal is omitted
  • Missing unique page-instance still fails closed before click
  • Projects Email from a role="dialog" modal snapshot (fixture connection@example.test only)

Plugin stays 1.6.0. Package stays 0.18.1. Packed files stay 558.

Validation

  • bunx tsc --noEmit
  • Focused LinkedIn browser, contact, runtime, model, inventory, and package-budget tests

Do not treat this landing as live green.

Open in Web Open in Cursor 

Replace the still-500 synthetic ProfileContactDetailsOverlay POST with the
operator-proven headed path: bind the opened 1st-degree profile, click the
unique reviewed Contact info control, and project Email from that modal.
Do not mint a navigation POST or track headers. Adapter bundle 1.36.0.

Co-authored-by: hraness <0thernet@users.noreply.github.com>
@vercel

vercel Bot commented Sep 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
ghostget Ready Ready Preview Sep 12, 2026 6:53am UTC

Request Review

@0thernet
0thernet marked this pull request as ready for review September 12, 2026 07:07
@0thernet
0thernet merged commit 06f806b into main Sep 12, 2026
16 checks passed
@0thernet
0thernet deleted the cursor/linkedin-contacts-click-modal-7c42 branch September 12, 2026 07:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants