Repository navigation
Conversation
fetchBookmarkSuggestions was a plain class method passed by reference to BlockHeaderSuggestionControl, so calling it lost its `this` binding and threw on `this.env`, silently rejecting the suggestions promise with no error handling. That kept `fetched` false forever, so neither the list nor the empty state ever rendered. Also fixes the "Open bookmarks.json" button, which pointed at presets/bookmarks.json instead of the actual config path used to load bookmarks. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
WalkthroughThis change modifies frontend/app/view/webview/webview.tsx in two ways: it converts the WebViewModel's fetchBookmarkSuggestions from an async class method into an async arrow-function class field to ensure proper this-binding when used as a callback, and it updates the bookmarks JSON file path in openBookmarksJson from configDir/presets/bookmarks.json to configDir/bookmarks.json. Estimated code review effort: 1 (Trivial) | ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Add .github/UPSTREAM-PRS.md with all 50 open PRs categorized by: - Risk level (Zero/Low/Medium/High) - .patch suitability (Excellent/Great/Good/Caution/Risky) - File overlap matrix showing which PRs touch the same files Excludes dependabot and docs-only PRs. Includes already-integrated PRs (wavetermdev#3420, wavetermdev#3429) for reference. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Patches applied: - 001-xterm-cursor-fix.patch (macOptionClickForcesSelection) - 002-bookmark-typeahead-fix.patch (PR wavetermdev#3420) - 003-focus-fix.patch (PR wavetermdev#3429) - 004-file-explorer-bookmarks.patch (PR wavetermdev#3443) - 005-ssh-agent-forwarding.patch (PR wavetermdev#3421) - 006-ssh-durable-session-recovery.patch (PR wavetermdev#3460) - 007-ssh-agent-signer-failover.patch (PR wavetermdev#3401) - 008-ssh-capslock-indicator.patch (PR wavetermdev#2840) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
@sawka Friendly ping on this one 🙂 Quick recap: the bookmark typeahead in the web view wasn't rendering any suggestions — the suggestion callback lost its It's still up to date with main (no conflicts, webview.tsx hasn't changed since), and all checks are green. Happy to adjust anything if you'd like a different approach. Thanks! |
Summary
fetchBookmarkSuggestionswas a plain class method passed by reference toBlockHeaderSuggestionControl(fetchSuggestions={model.fetchBookmarkSuggestions}).Calling it as a bare function lost its
thisbinding, sothis.envthrew aTypeErrorinside the method. The rejection had no.catch, sofetchednever flipped to
trueand neither the bookmark list nor the empty stateever rendered — pressing
Cmd+Ojust showed an empty input with nothingbelow it.
presets/bookmarks.json, a path nothing else reads from or writes to.Bookmarks are actually loaded from
<configDir>/bookmarks.json. Clickingthe button created a dead file that had no effect on the app.
Fix
fetchBookmarkSuggestionsto an arrow function class field sothisstays bound to theWebViewModelinstance regardless of how it'sinvoked.
<configDir>/bookmarks.json.