Skip to content

[MISC] Remove the dead ListOfItems adapter card - #2337

Closed
vishnuszipstack wants to merge 1 commit into
mainfrom
chore/remove-dead-list-of-items
Closed

vishnuszipstack wants to merge 1 commit into
mainfrom
chore/remove-dead-list-of-items

Conversation

@vishnuszipstack

Copy link
Copy Markdown
Contributor

What

  • Deletes frontend/src/components/tool-settings/list-of-items/ListOfItems.jsx and its ListOfItems.css. Nothing else changes.

Why

Nothing imports it. Every adapter screen — Settings → LLMs, Vector DBs, Embeddings, Text Extractor, OCR — renders ToolSettings, which uses ResourceTable. ListOfItems is a card component with working Edit and Delete handlers that reads exactly like the adapter list and is reachable from nowhere.

The resemblance is the reason to remove it rather than leave it lying there. On #2317 a "Copy ID" action was added to this file in good faith, with a unit test that mounted the component directly, passed, and survived two mutations. The button shipped unreachable; review caught it, the suite could not — a component test cannot tell you its component is rendered. The next person looking for "the adapter list" will land here too.

How

git rm on the two files. No other file is touched, because no other file refers to them.

Verified unreferenced before deleting, and not only by grepping the name:

  • no import of ListOfItems or list-of-items anywhere under frontend/, in this repo or in unstract-cloud, whose frontend plugins overlay onto this same src tree;
  • no computed module loading anywhere in the frontend — no import.meta.glob, no require.context, no template-literal import() — so there is no path a literal grep would miss;
  • ListOfItems.css is imported only by the file being deleted alongside it.

Can this PR break any existing features. If yes, please list possible items. If no, please explain why. (PS: Admins do not merge the PR without this section filled)

No, and this is checked by building rather than argued. vite build resolves every import in the application and succeeds: a dangling reference to a deleted module fails that build, so a green build is positive evidence, not an absence of evidence. tsc --noEmit is clean and all 625 frontend tests pass.

The only residual risk would be a consumer outside both repos importing this path. There is no such consumer — the frontend is not published as a package.

Database Migrations

None.

Env Config

None.

Relevant Docs

N/A

Related Issues or PRs

  • Found while reviewing Zipstack/unstract#2317. Deliberately kept out of that PR, which is large and about something else.

Dependencies Versions

None.

Notes on Testing

  • cd frontend && bun install --frozen-lockfile --ignore-scripts && ./node_modules/.bin/vitest run → 625 passed, 38 files
  • ./node_modules/.bin/tsc --noEmit → clean
  • ./node_modules/.bin/vite build → builds, which is what proves no import resolves to the deleted module
  • biome (pinned 2.3.13) clean on src/components/tool-settings/
  • Open Settings → LLMs and Text Extractor and confirm the adapter list still renders, with Edit / Share / Delete working

Screenshots

N/A

Checklist

I have read and understood the Contribution Guidelines.

🤖 Generated with Claude Code

Nothing imports it. Every adapter screen — Settings → LLMs, Vector DBs,
Embeddings, Text Extractor, OCR — renders `ToolSettings`, which has used
`ResourceTable` since before this commit's parent. `ListOfItems` is a card
component with working Edit and Delete handlers that reads exactly like the
adapter list and is reachable from nowhere.

That resemblance is the reason to delete it rather than leave it. On #2317 a
"Copy ID" action was added to this file in good faith, with a unit test that
mounted the component directly, passed, and survived two mutations. The button
shipped unreachable; review caught it, the suite could not. The next person
looking for "the adapter list" will find this file first too.

Verified unreferenced before deleting, not just by grepping the name:

* no import of `ListOfItems` or `list-of-items` anywhere under `frontend/`,
  in this repo or in `unstract-cloud`, whose frontend plugins overlay onto
  this same `src` tree;
* no computed module loading anywhere in the frontend — no
  `import.meta.glob`, no `require.context`, no template-literal `import()` —
  so there is no path a literal grep would miss;
* `ListOfItems.css` is imported only by the file being deleted with it.

And confirmed by building: `vite build` resolves every import in the app and
succeeds, which a dangling reference would not. `tsc --noEmit` clean, 625
frontend tests pass, biome clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Frontend Lint Report (Biome)

✅ All checks passed! No linting or formatting issues found.

@sonarqubecloud

Copy link
Copy Markdown

@greptile-apps

greptile-apps Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

via Greptile

RetriggerConfidence Score: 5/5

[Low impact] This PR appears safe to merge; it removes unused files without changing the adapter screens.

Summary

Removes the unused ListOfItems component and its stylesheet.

  • The unused adapter card view and its styles are removed.

Reviews (1) · Last reviewed commit: "[MISC] Remove the dead ListOfItems adapt..." · Reviewed by Greptile

@github-actions

Copy link
Copy Markdown
Contributor

Unstract test results

Per-group results

Status Group Tier Passed Failed Errors Skipped Duration (s)
✅ e2e-api-deployment e2e 3 0 0 0 14.8
✅ e2e-coowners e2e 1 0 0 0 1.4
✅ e2e-etl e2e 1 0 0 0 14.5
✅ e2e-login e2e 2 0 0 0 1.3
✅ e2e-prompt-studio e2e 1 0 0 0 10.6
✅ e2e-smoke e2e 2 0 0 0 2.4
✅ e2e-workflow e2e 1 0 0 0 12.5
❌ ui e2e 0 1 0 0 0.0
TOTAL 11 1 0 0 57.5

Critical paths

⚠️ Critical paths not yet covered

  • workflow-execution-fan-out — Multi-file workflow execution fans out to file-processing workers and rejoins. (declared coverage: no groups declared)
💤 Covered, but not exercised in this build
  • adapter-register-llm — Register and validate an LLM adapter. (covered by integration-backend; no result reported in this build)
  • workflow-author — Create a workflow; its source+destination endpoints materialise and are configurable. (covered by integration-backend; no result reported in this build)
  • api-deployment-provision — Deploying a workflow as an API mints a usable key and a resolvable endpoint. (covered by integration-backend; no result reported in this build)
  • api-deployment-auth — Unauthenticated or mis-scoped API-deployment calls are rejected before dispatch. (covered by integration-backend; no result reported in this build)
  • mcp-server-auth — Unauthenticated or mis-scoped hosted-MCP calls are rejected before any tool runs. (covered by integration-backend; no result reported in this build)
  • mcp-platform-auth — The org-scoped MCP endpoint stays behind the platform-API-key middleware; unauthenticated or mis-scoped calls reach no tool. (covered by integration-backend; no result reported in this build)
  • platform-key-whoami — A platform API key resolves its own organisation over the org-less whoami endpoint; the org comes from the key row, not the URL. (covered by integration-backend; no result reported in this build)
  • prompt-studio-author — Create a Prompt Studio project and add a prompt to it. (covered by integration-backend; no result reported in this build)
  • connector-register-test — Connector credentials are validated against the live system and stored encrypted. (covered by integration-backend; no result reported in this build)
  • usage-aggregate-read — Per-run token usage aggregates correctly and stays scoped to its organization. (covered by integration-backend; no result reported in this build)
✅ Covered critical paths
  • auth-login — covered by e2e-login
  • co-owner-manage — covered by e2e-coowners
  • workflow-create-execute — covered by e2e-workflow
  • api-deployment-run — covered by e2e-api-deployment
  • prompt-studio-fetch-response — covered by e2e-prompt-studio
  • pipeline-etl-execute — covered by e2e-etl
  • usage-token-tracking — covered by e2e-api-deployment
  • callback-result-delivery — covered by e2e-api-deployment

@vishnuszipstack

Copy link
Copy Markdown
Contributor Author

Closing: folded into #2317 as 985ee80c5, same commit cherry-picked, at the author's request.

The deletion itself is unchanged and still verified the same way there — vite build resolves every import and succeeds, which is what proves nothing reaches the deleted module. 629 frontend tests pass on that branch.

Nothing is lost by closing this; the branch chore/remove-dead-list-of-items can be deleted.

@vishnuszipstack
vishnuszipstack deleted the chore/remove-dead-list-of-items branch October 14, 2026 06:21
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