Files
memory/patterns/linkedin-react-input.md
Dominik Schön bbbe4f8985 feat: patterns/ directory + skill-impact tracker (WikiSkill-inspired)
- New patterns/ directory with 7 initial failure-mode patterns (PAT-001..007)
- skill-impact.md audit trail for skill modifications
- _template.md for future pattern creation
- index.md updated with Patterns section
- log.md entry for this change
- Inspired by arXiv:2608.27454 (WikiSkill)
2026-08-30 11:16:19 +00:00

2.1 KiB

pattern_id, title, category, severity, status, first_observed, last_updated, related_systems, related_solution_docs, related_skills
pattern_id title category severity status first_observed last_updated related_systems related_solution_docs related_skills
PAT-006 LinkedIn login via browser — nativeInputSetter required, session expires between nav integration medium active 2026-07 2026-08-30
docs/solutions/bug-fixes/2026-07-10-ha-token-expiry-browser-session-loss.md
linkedin-personal-branding

LinkedIn login via browser — nativeInputSetter required, session expires between nav

Symptom

Automated LinkedIn login via browser tools fails silently. Form fields appear filled but LinkedIn doesn't recognize the input (login button stays disabled, or submission fails with "invalid credentials").

Additionally, authenticated sessions expire between page navigations, requiring re-login on almost every navigation step.

Root Cause

  1. React-controlled inputs: LinkedIn uses React, which manages input state internally. Simply setting .value via DOM manipulation doesn't trigger React's onChange handler. The nativeInputSetter approach is required:

    const setter = Object.getOwnPropertyDescriptor(
      window.HTMLInputElement.prototype, 'value'
    ).set;
    setter.call(inputElement, 'my-value');
    inputElement.dispatchEvent(new Event('input', { bubbles: true }));
    
  2. Session expiry: LinkedIn's SPA doesn't persist auth tokens reliably across browser_navigate calls (each navigation may reset the JS context).

Mitigation

  • Always use browser_console with nativeInputSetter for form fills — NOT browser_click followed by typing
  • Perform login + desired action in a SINGLE browsing session (minimize navigations)
  • UTF-8 files must be saved without BOM (LinkedIn rejects BOM in posted content)

Prevention

  • The linkedin-personal-branding skill documents this workflow
  • Never use browser_click for LinkedIn form fields
  • Minimize navigation steps after login

Evidence

  • Observed during LinkedIn branding sessions (Jul 2026)
  • MEMORY.md entry: "Login via browser_console nativeInputSetter. NOT browser_click. Session expires between nav. UTF-8 no BOM."