Repository navigation
Includes Chrome extension 1.0.27. Update the extension for loopback connectivity, native keyboard input, and browser-window recovery fixes.
Features
- Add Pinduoduo search and Twitter list-members commands.
- Include replies and retweets in Twitter search results, and suggest site login commands on authentication failures.
Fixes
- Agree on a reachable loopback address across the daemon, CLI, and extension; avoid replacing a newer daemon with an older CLI.
- Aim browser clicks at the resolved element, detect sibling occlusion, send complete native keyboard events, and recover owned idle windows after restart.
- Fall back to DataTransfer uploads when the file chooser does not open; safely replace stale plugin host junctions on Windows.
- Preserve JavaScript pipes and quoted expressions in pipelines, append query parameters before URL fragments, and escape CSV/Markdown headers.
- Isolate concurrent download temporary files, preserve article code blocks, and honor yt-dlp failure exit status.
- Improve LinkedIn experience, activity, and job parsing; wait for Weixin verification and article rendering; fix Ctrip train navigation.
- Improve Twitter identity, Facebook search, Reddit blocked-page handling, JD login detection, Gemini conversation extraction, Grok session/text extraction, and YouTube login detection.
- Update Xiaohongshu search and creator-note extraction, and report unloaded interaction counts as errors rather than zero.
- Update undici to 7.30.1 for published security advisories.
What's Changed
- docs: highlight Chrome Web Store installation by @jackwener in #2687
- fix(extension): recover marked idle browser windows after restart by @wangning19940904 in #2703
- fix(deps): bump undici to 7.30.1 for three published advisories by @yisiliu in #2709
- fix(skills): pass --session to autofix browser page commands by @StrivingLee in #2706
- fix(pipeline/template): evaluate expressions that start and end with a quote by @Enesuygurs in #2696
- fix(ctrip): use one-way ticketType and unblock train navigation (#2689) by @nengqi in #2700
- fix(adapters): fall through to DataTransfer upload when the intercepted file chooser never opens by @LeoLin990405 in #2683
- fix(xiaohongshu): fail typed when a note's interaction counts never load instead of reporting 0 by @yisiliu in #2708
- fix(linkedin): prevent title and company shift on grouped experience cards (#2433) by @nengqi in #2701
- fix(weixin): wait for the captcha to auto-resolve before failing (#2045) by @LeoLin990405 in #2694
- fix(browser): aim retargeted clicks at the resolved element, not the ancestor centre by @LeoLin990405 in #2682
- fix(xiaohongshu): read the current .note-card render in creator-notes DOM fallback by @jackwener in #2779
- fix(xiaohongshu): search on the AI-search homepage, with a guarded result-URL fallback by @jackwener in #2777
- fix(daemon): agree on one loopback address across daemon, CLI and extension (#2690) by @jackwener in #2782
- fix(daemon): only replace a daemon older than the CLI (#2761) by @jackwener in #2783
- fix(reddit): classify Reddit's network-security block across all read commands; keep partial read on denied expansion by @jackwener in #2784
- fix(output): escape CSV and Markdown column headers by @gavenren in #2743
- fix(download): honor yt-dlp failure exit status by @gavenren in #2744
- fix(download): preserve literal article code blocks by @gavenren in #2745
- fix(pipeline): append query parameters before URL fragments by @gavenren in #2738
- fix(pipeline): preserve pipes inside JavaScript expressions by @gavenren in #2742
- fix(download): isolate concurrent transfer temporary files by @gavenren in #2741
- feat(auth): suggest the site login command on not_logged_in rows by @gaurav0107 in #2775
- feat(clis): add pinduoduo search adapter by @Ghost-Sam1222 in #2752
- fix(linkedin): escape Rest.li reserved characters in job search values by @vshalpnjabi in #2769
- fix(linkedin): recognise SDUi activity cards in posts (#2651) by @jackwener in #2778
- docs: explain cleanup for legacy sitemap skill copies by @deosiree in #2764
- fix(plugin): safely replace stale host junctions on Windows (#2711) by @jackwener in #2780
- fix(facebook): poll search results and recover rejected navigation (#2650) by @LeoLin990405 in #2693
- fix(twitter): resolve the logged-in account from the twid cookie instead of sidebar testids (#2770) by @jackwener in #2781
- feat(twitter): add list-members to enumerate a list's member accounts (#2776) by @jackwener in #2785
- fix(twitter): add replies/retweets to search results; flag partial list pages outside JSON by @simon1uo in #2766
- fix(youtube): trust page login state for whoami by @wmgylc in #2759
- fix(gemini): read turns from conversation containers without height filtering by @Q-My99 in #2749
- fix(grok): resolve session via /api/auth/session and strip chrome nodes from message text by @Q-My99 in #2748
- fix(browser): send code, keyCode and keypress text with native key presses by @gaurav0107 in #2756
- fix(jd): fail typed when search redirects to login instead of returning empty results by @gaurav0107 in #2754
- chore(release): prepare 2.0.3 with extension 1.0.27 by @jackwener in #2793
New Contributors
- @wangning19940904 made their first contribution in #2703
- @StrivingLee made their first contribution in #2706
- @Enesuygurs made their first contribution in #2696
- @nengqi made their first contribution in #2700
- @gavenren made their first contribution in #2743
- @gaurav0107 made their first contribution in #2775
- @Ghost-Sam1222 made their first contribution in #2752
- @vshalpnjabi made their first contribution in #2769
- @deosiree made their first contribution in #2764
- @simon1uo made their first contribution in #2766
- @wmgylc made their first contribution in #2759
- @Q-My99 made their first contribution in #2749
Full Changelog: v2.0.2...v2.0.3