[Claude, autonomous]
In the Platform.Bible lexicon extension's Select Lexicon web view, a tab restored from a saved layout can open with no (or a stale) projectId. The first action calls lexicon.resolveProject, which prompts for a project and stores it in resolvedProjectId. But fetchLexicons (platform.bible-extension/src/web-views/select-lexicon.web-view.tsx) closes over the original projectId prop, so after resolution the local list is never refetched for the resolved project — it stays unfiltered by the project's language, and the resolved project's current lexicon isn't pre-selected/badged.
The save is correct (it targets the resolved project); this is display staleness only, in the restored-tab edge case.
Fix sketch: track an effective project id (from prop or resolution), use it in fetchLexicons, refetch on resolution, and load the resolved project's current lexicon code.
Found by a Devin review on #2585; deferred from that PR to keep it scoped to selecting a remote project (non-severe edge case).
[Claude, autonomous]
In the Platform.Bible
lexiconextension's Select Lexicon web view, a tab restored from a saved layout can open with no (or a stale)projectId. The first action callslexicon.resolveProject, which prompts for a project and stores it inresolvedProjectId. ButfetchLexicons(platform.bible-extension/src/web-views/select-lexicon.web-view.tsx) closes over the originalprojectIdprop, so after resolution the local list is never refetched for the resolved project — it stays unfiltered by the project's language, and the resolved project's current lexicon isn't pre-selected/badged.The save is correct (it targets the resolved project); this is display staleness only, in the restored-tab edge case.
Fix sketch: track an effective project id (from prop or resolution), use it in
fetchLexicons, refetch on resolution, and load the resolved project's current lexicon code.Found by a Devin review on #2585; deferred from that PR to keep it scoped to selecting a remote project (non-severe edge case).