sillsdev / sillsdev/languageforge-lexbox

[claude] Lexicon selector: restored tab with no project shows an unfiltered list after resolveProject

Open
#2,646 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
9
Forks
8
Avg merge
2d 13h
Merged PRs (30d)
49

Description

[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).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in platform.bible-extension/src/web-views/select-lexicon.web-view.tsx and trace fetchLexicons, the lexicon.resolveProject action, and loading of the current lexicon code. Verify a restored tab with no or stale projectId refetches using the resolved project, filters by its language, and pre-selects or badges its current lexicon.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.