Skip to content

refactor: clean up project route - [INS-2051]#9635

Merged
CurryYangxx merged 6 commits intodevelopfrom
refactor/clean-up-project-route
Feb 12, 2026
Merged

refactor: clean up project route - [INS-2051]#9635
CurryYangxx merged 6 commits intodevelopfrom
refactor/clean-up-project-route

Conversation

@CurryYangxx
Copy link
Member

This pull request refactors the organization and project sidebar in the main organization/project index route. The sidebar logic and UI for organization selection and project listing/filtering have been extracted into new dedicated components, improving code modularity and maintainability. Filtering logic has been moved, and related imports have been updated to reflect these changes.

Sidebar refactor and component extraction:

  • Extracted the organization selection UI into a new reusable OrganizationSelect component (organization-select.tsx), replacing the previous inline implementation in the main route file. [1] [2]
  • Moved the project list sidebar UI and filtering logic into a new ProjectListSidebar component (project-list-sidebar.tsx), removing the inline project filter and project list code from the main route file. [1] [2] [3] [4]

Code cleanup and import updates:

  • Removed unused imports and updated import statements in organization.$organizationId.project.$projectId._index.tsx to reflect the new component structure. [1] [2] [3] [4]
  • Removed the duplicate definition of getProjectsWithGitRepositories from the main route file, keeping only the correct version. [1] [2]

@CurryYangxx CurryYangxx requested review from a team and ZxBing0066 February 4, 2026 05:21
@github-actions
Copy link

github-actions bot commented Feb 4, 2026

✅ Circular References Report

Generated at: 2026-02-12T08:34:41.989Z
Status: ✅ NO CHANGE

Summary

Metric Base (develop) PR Change
Total Circular References 76 76 0 (0.00%)
Click to view all circular references in PR (76)
insomnia-inso/src/db/models/types.ts -> insomnia-inso/src/db/types.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/response.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/runner-test-result.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/cancellation.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/cancellation.ts -> insomnia/src/script-executor.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/cancellation.ts -> insomnia/src/script-executor.ts -> insomnia/src/require-interceptor.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/concurrency.ts
insomnia/src/common/constants.ts -> insomnia/src/models/mock-server.ts -> insomnia/src/models/workspace.ts -> insomnia/src/models/project.ts -> insomnia/src/common/misc.ts
insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts
insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-request.ts
insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/request-group.ts
insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts
insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/helpers/request-operations.ts
insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/response.ts
insomnia/src/models/index.ts -> insomnia/src/models/socket-io-response.ts
insomnia/src/models/index.ts -> insomnia/src/models/stats.ts
insomnia/src/models/index.ts -> insomnia/src/models/websocket-response.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-request.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/helpers/request-operations.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/helpers/request-operations.ts -> insomnia/src/models/socket-io-request.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/helpers/request-operations.ts -> insomnia/src/models/websocket-request.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mock-route.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/request-group.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/request-version.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/stats.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/main/network/libcurl-promise.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/main/network/libcurl-promise.ts -> insomnia/src/main/network/multipart.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/common-headers.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/plugins/index.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/sorting.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/basic-auth/get-header.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/bearer-auth/get-header.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/o-auth-1/get-token.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/o-auth-2/get-token.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/concurrency.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts -> insomnia/src/plugins/context/request.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/import.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/import.ts -> insomnia/src/common/insomnia-v5.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/import.ts -> insomnia/src/main/importers/convert.ts -> insomnia/src/main/importers/importers/index.ts -> insomnia/src/main/importers/importers/postman.ts
insomnia/src/network/authentication.ts -> insomnia/src/network/o-auth-2/get-token.ts
insomnia/src/network/network.ts -> insomnia/src/common/render.ts
insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/o-auth-2/get-token.ts
insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts
insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/plugins/index.ts
insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts
insomnia/src/plugins/index.ts -> insomnia/src/plugins/context/store.ts
insomnia/src/plugins/index.ts -> insomnia/src/plugins/misc.ts
insomnia/src/templating/base-extension-worker.ts -> insomnia/src/templating/worker.ts
insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/plugins/index.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/plugins/index.ts -> insomnia/src/plugins/context/app.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts -> insomnia/src/templating/utils.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/local-template-tags.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/ui/worker/templating-handler.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts -> insomnia/src/plugins/context/request.ts
insomnia/src/ui/components/settings/import-export.tsx -> insomnia/src/ui/components/modals/export-requests-modal.tsx
insomnia/src/ui/components/tabs/tab-list.tsx -> insomnia/src/ui/components/tabs/tab.tsx
insomnia/src/ui/components/templating/tag-editor-arg-sub-form.tsx -> insomnia/src/ui/components/templating/external-vault/external-vault-form.tsx
insomnia/src/ui/components/viewers/response-viewer.tsx -> insomnia/src/ui/components/viewers/response-multipart-viewer.tsx
insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts
Click to view all circular references in base branch (76)
insomnia-inso/src/db/models/types.ts -> insomnia-inso/src/db/types.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/response.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/runner-test-result.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/cancellation.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/cancellation.ts -> insomnia/src/script-executor.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/cancellation.ts -> insomnia/src/script-executor.ts -> insomnia/src/require-interceptor.ts
insomnia-scripting-environment/src/objects/index.ts -> insomnia-scripting-environment/src/objects/collection.ts -> insomnia-scripting-environment/src/objects/auth.ts -> insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/concurrency.ts
insomnia/src/common/constants.ts -> insomnia/src/models/mock-server.ts -> insomnia/src/models/workspace.ts -> insomnia/src/models/project.ts -> insomnia/src/common/misc.ts
insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts
insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-request.ts
insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/request-group.ts
insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts
insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/helpers/request-operations.ts
insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/response.ts
insomnia/src/models/index.ts -> insomnia/src/models/socket-io-response.ts
insomnia/src/models/index.ts -> insomnia/src/models/stats.ts
insomnia/src/models/index.ts -> insomnia/src/models/websocket-response.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-request.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/helpers/request-operations.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/helpers/request-operations.ts -> insomnia/src/models/socket-io-request.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mcp-response.ts -> insomnia/src/models/helpers/request-operations.ts -> insomnia/src/models/websocket-request.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/mock-route.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/request-group.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/request-version.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/models/environment.ts -> insomnia/src/utils/vault.ts -> insomnia/src/models/index.ts -> insomnia/src/models/stats.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/main/network/libcurl-promise.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/main/network/libcurl-promise.ts -> insomnia/src/main/network/multipart.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/common-headers.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/plugins/index.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/sorting.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/basic-auth/get-header.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/bearer-auth/get-header.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/o-auth-1/get-token.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/o-auth-2/get-token.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/concurrency.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts -> insomnia/src/plugins/context/request.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/import.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/import.ts -> insomnia/src/common/insomnia-v5.ts
insomnia/src/models/request.ts -> insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/import.ts -> insomnia/src/main/importers/convert.ts -> insomnia/src/main/importers/importers/index.ts -> insomnia/src/main/importers/importers/postman.ts
insomnia/src/network/authentication.ts -> insomnia/src/network/o-auth-2/get-token.ts
insomnia/src/network/network.ts -> insomnia/src/common/render.ts
insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts -> insomnia/src/network/o-auth-2/get-token.ts
insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts
insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/plugins/index.ts
insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts
insomnia/src/plugins/index.ts -> insomnia/src/plugins/context/store.ts
insomnia/src/plugins/index.ts -> insomnia/src/plugins/misc.ts
insomnia/src/templating/base-extension-worker.ts -> insomnia/src/templating/worker.ts
insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/plugins/index.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/plugins/index.ts -> insomnia/src/plugins/context/app.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/base-extension.ts -> insomnia/src/templating/utils.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/templating/index.ts -> insomnia/src/templating/local-template-tags.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/common/render.ts -> insomnia/src/ui/worker/templating-handler.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/network/authentication.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts
insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts -> insomnia/src/plugins/context/request.ts
insomnia/src/ui/components/settings/import-export.tsx -> insomnia/src/ui/components/modals/export-requests-modal.tsx
insomnia/src/ui/components/tabs/tab-list.tsx -> insomnia/src/ui/components/tabs/tab.tsx
insomnia/src/ui/components/templating/tag-editor-arg-sub-form.tsx -> insomnia/src/ui/components/templating/external-vault/external-vault-form.tsx
insomnia/src/ui/components/viewers/response-viewer.tsx -> insomnia/src/ui/components/viewers/response-multipart-viewer.tsx
insomnia/src/utils/graph-ql.ts -> insomnia/src/templating/types.ts -> insomnia/src/plugins/context/network.ts -> insomnia/src/network/network.ts -> insomnia/src/plugins/context/data.ts -> insomnia/src/common/har.ts

Analysis

No Change: This PR does not introduce or remove any circular references.


This report was generated automatically by comparing against the develop branch.

@CurryYangxx CurryYangxx changed the title refactor: clean up project route refactor: clean up project route - [INS-2051] Feb 9, 2026
@CurryYangxx CurryYangxx marked this pull request as ready for review February 9, 2026 02:41
Copilot AI review requested due to automatic review settings February 9, 2026 02:41
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the organization/project sidebar UI by extracting the organization picker and project list/filter UI into dedicated reusable components, simplifying the organization/project index route and reusing the same sidebar implementation in both the project index and project detail routes.

Changes:

  • Added reusable OrganizationSelect component for organization switching.
  • Added reusable ProjectListSidebar component for project filtering/list + navigation.
  • Simplified organization.$organizationId.project._index.tsx loader/UI and centralized getProjectsWithGitRepositories in organization.$organizationId.project.$projectId._index.tsx.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
packages/insomnia/src/ui/components/project/project-list-sidebar.tsx New extracted sidebar project list/filter component used by multiple routes.
packages/insomnia/src/ui/components/project/organization-select.tsx New extracted organization selection component used by multiple routes.
packages/insomnia/src/routes/organization.$organizationId.project._index.tsx Refactored org/project index route to use extracted sidebar components and simplified loader.
packages/insomnia/src/routes/organization.$organizationId.project.$projectId._index.tsx Reuses extracted sidebar components and exports getProjectsWithGitRepositories for sharing.
Comments suppressed due to low confidence (1)

packages/insomnia/src/routes/organization.$organizationId.project.$projectId._index.tsx:625

  • projectsWithPresence is mapped for all projects and filtering now happens inside ProjectListSidebar. When a user types a filter, this still recomputes presence for every project (each one filtering presence), which can be noticeably more work than the previous filter(...).map(...) approach. Consider lifting the filter state up so you can filter before computing presence, or moving the presence mapping into the sidebar so it can operate on the already-filtered list.
  const projectsWithPresence = projects.map(project => {
      const projectPresence = presence
        .filter(p => p.project === project.remoteId)
        .filter(p => p.acct !== userSession.accountId)
        .map(user => {

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

jackkav
jackkav previously approved these changes Feb 12, 2026
@CurryYangxx CurryYangxx merged commit a077ff1 into develop Feb 12, 2026
14 checks passed
@CurryYangxx CurryYangxx deleted the refactor/clean-up-project-route branch February 12, 2026 08:55
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.

4 participants