Skip to content

Feat/tool info popup only#213

Open
zippy wants to merge 3 commits into
main-0.6from
feat/tool-info-popup-only
Open

Feat/tool info popup only#213
zippy wants to merge 3 commits into
main-0.6from
feat/tool-info-popup-only

Conversation

@zippy
Copy link
Copy Markdown
Member

@zippy zippy commented May 13, 2026

Adds right-click to tool to show the tool's library details dialog.

This is in prep of that or something similar showing up when you first click on a tool to activate it.

zippy added 3 commits May 13, 2026 10:54
…opup

Right-clicking a tool in the new-design group sidebar opens an informational
variant of the existing library tool-details dialog (no install controls), in
place over the current view.

- library-tool-details: readonly mode skips install buttons + version-tab
  install controls + "older versions available" hint
- tool-info-dialog: app-root–mounted host listening for bubbling
  open-tool-info events; ToolInfoInput is a discriminated union with an
  "available-tool" variant reserved for the upcoming first-run flow
- fetch-unified-tools: extracted from tool-library-web2 so the dialog and
  library page share the same fetch implementation; tool-library-web2 now
  consumes it (~100 lines removed)
- contextmenu wired on group-area-sidebar applet-sidebar-button (the
  new-design sidebar)

Does NOT include: the three Vitest unit specs and the smoke #10 e2e spec
called out in plans/tool-info-popup.md "TDD plan". Neither renderer-side
Vitest nor the Playwright harness exists in this branch's base (main-0.6),
so the tests are TODO-marked at each surface and land with the testing
infra on a follow-up branch. Spec sources: this branch's plan doc for the
unit tests; PR #210 (feat/tool-info-popup) for the e2e harness + smoke #10.
… refs

- resolver: replace manual JSON.parse + ad-hoc type guard with
  toolCompatibilityIdFromDistInfoString from @theweave/utils. Validation now
  shares the same TypeBox schema as the rest of the codebase, so a future
  shape change to DistributionInfo can't drift apart. Extracted a sister
  findUnifiedToolByCompatibilityId helper that the dialog's 'available-tool'
  path also uses (was a duplicated inline scan).
- rename property: library-tool-details.readonly → .informational.
  'readonly' shadows the TS modifier and the HTML reserved attribute name;
  'informational' reads better at call sites.
- inline style="…" strings in tool-info-dialog moved to a static styles
  block with semantic class names. Matches the rest of the renderer's Lit
  components.
- cache invalidation in tool-info-dialog: keyed by a JSON.stringify
  signature of the active curation configs. Mid-session changes to
  mossCurationConfig (via the URL list manager) now invalidate automatically
  instead of being stale until reload.
- TODO comment in library-tool-details: dropped the stale "~L227 / ~L64"
  line references that the cherry-pick made wrong.
- plan doc: marked the per-step "Unit test #N" / "E2E spec #10" lines as
  deferred (the new "Status on this branch" section already says so up top,
  but the bottom of the doc still read as if those tests shipped here).
  Synced the readonly → informational rename in the doc too.
…ocale list

Seven new msg() strings shipped with the tool-info popup. Four are new in
tool-info-dialog itself:
  - "Tool info"
  - "(installed as: {0})"
  - "Loading…"
  - "Limited info available — this tool is not in any active curation list."

Three more in library-tool-details that the popup re-uses in informational
mode — these had been bare literals on main-0.6, so a popup in a non-English
locale was showing English mixed with translated chrome:
  - "(latest)"
  - "Released:"
  - "Change Log: {0}"

Ran lit-localize extract; filled <target> tags for all 8 target locales
(de, fr, es, tr, it, pt, ja, nl); ran lit-localize build to regenerate
src/renderer/src/locales/generated/. yarn typecheck:web passes.

CLAUDE.md's "Supported languages" list was four languages behind the
lit-localize.json config (missing it, pt, ja, nl). Updated and added a
pointer back to the config as the source of truth, so this section
doesn't drift again.
@zippy zippy requested a review from ddd-mtl May 13, 2026 15:59
@zippy zippy changed the base branch from main to main-0.6 May 13, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant