Skip to content

feat: implement hotkey conflict detection and display warnings by toast notification on startup#9700

Open
ZxBing0066 wants to merge 3 commits intodevelopfrom
feat/detect-hotkey-conflicts
Open

feat: implement hotkey conflict detection and display warnings by toast notification on startup#9700
ZxBing0066 wants to merge 3 commits intodevelopfrom
feat/detect-hotkey-conflicts

Conversation

@ZxBing0066
Copy link
Member

@ZxBing0066 ZxBing0066 commented Mar 6, 2026

Background

INS-2184

  • When users customize the shortcut in an old version, and that shortcut is used as the default value of a new shortcut, it causes a conflict.
  • The sidebar_focusFilter is not used anywhere

Changes

  • Detect hotkey conflict on app startup
  • Remove sidebar_focusFilter
  • Supports in the toast line breaks via \n

UI

image

@ZxBing0066 ZxBing0066 requested a review from a team March 6, 2026 06:38
@ZxBing0066 ZxBing0066 self-assigned this Mar 6, 2026
Copilot AI review requested due to automatic review settings March 6, 2026 06:38
@github-actions
Copy link

github-actions bot commented Mar 6, 2026

✅ Circular References Report

Generated at: 2026-03-06T06:43:39.567Z
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.

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 implements three related improvements: hotkey conflict detection displayed via toast notification on app startup, removal of the unused sidebar_focusFilter shortcut, and support for line breaks in toast notifications.

Changes:

  • Added detectHotKeyConflicts function in hotkeys.ts that detects when multiple shortcuts share the same key combination on the current platform, and wired it into the app startup flow in root.tsx using once from es-toolkit to run the detection exactly once per app session
  • Removed sidebar_focusFilter from the KeyboardShortcut type, keyboardShortcutDescriptions, and defaultRegistry (confirmed no remaining usages)
  • Added whitespace-pre-line Tailwind class to the toast description element to support \n line breaks in toast strings

Reviewed changes

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

File Description
packages/insomnia/src/common/hotkeys.ts Adds serializeKeyCombination, flattenPlatformKeyCombinations, detectHotKeyConflicts, and HotKeyConflict interface; removes sidebar_focusFilter entries
packages/insomnia/src/common/settings.ts Removes sidebar_focusFilter from KeyboardShortcut union type
packages/insomnia/src/root.tsx Wires conflict detection with once on startup; imports es-toolkit/function
packages/insomnia/src/ui/components/toast-notification.tsx Adds whitespace-pre-line class to support multiline toast descriptions

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

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.

3 participants