Skip to content

Comments

feat(git): select commit email from git provider per repo [INS-1474]#9593

Merged
ryan-willis merged 2 commits intodevelopfrom
feat/git-credential-email-select
Jan 27, 2026
Merged

feat(git): select commit email from git provider per repo [INS-1474]#9593
ryan-willis merged 2 commits intodevelopfrom
feat/git-credential-email-select

Conversation

@ryan-willis
Copy link
Contributor

@ryan-willis ryan-willis commented Jan 21, 2026

  • Adds the ability to override the default author email address used in commits provided by GitHub/GitLab on the project setup/settings modal
    • It does not change the default email address on the credential itself, as users may want/need to use different email addresses for commits on different projects/repos
    • Doesn't apply to custom credentials
  • Updates styles on the credential list in preferences to clearly distinguish credential rows
  • Only fetches from the provider when changing the author email

@ryan-willis ryan-willis requested a review from a team January 21, 2026 23:07
@ryan-willis ryan-willis self-assigned this Jan 21, 2026
@github-actions
Copy link

github-actions bot commented Jan 21, 2026

✅ Circular References Report

Generated at: 2026-01-27T01:07:49.462Z
Status: ✅ NO CHANGE

Summary

Metric Base (develop) PR Change
Total Circular References 85 85 0 (0.00%)
Click to view all circular references in PR (85)
insomnia-inso/src/cli.ts -> insomnia-inso/src/commands/export-specification.ts
insomnia-inso/src/cli.ts -> insomnia-inso/src/commands/lint-specification.ts
insomnia-inso/src/cli.ts -> insomnia-inso/src/db/adapters/insomnia-adapter.ts
insomnia-inso/src/cli.ts -> insomnia-inso/src/db/models/api-spec.ts -> insomnia-inso/src/db/models/util.ts
insomnia-inso/src/db/adapters/insomnia-adapter.ts -> insomnia-inso/src/db/index.ts
insomnia-inso/src/db/index.ts -> insomnia-inso/src/db/adapters/git-adapter.ts
insomnia-inso/src/db/index.ts -> insomnia-inso/src/db/adapters/ne-db-adapter.ts
insomnia-inso/src/db/index.ts -> insomnia-inso/src/db/adapters/ne-db-adapter.ts -> insomnia-inso/src/db/models/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/ui/context/app/insomnia-tab-context.tsx -> insomnia/src/ui/components/tabs/tab-list.tsx
insomnia/src/ui/context/app/insomnia-tab-context.tsx -> insomnia/src/ui/components/tabs/tab-list.tsx -> insomnia/src/ui/components/tabs/tab.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 (85)
insomnia-inso/src/cli.ts -> insomnia-inso/src/commands/export-specification.ts
insomnia-inso/src/cli.ts -> insomnia-inso/src/commands/lint-specification.ts
insomnia-inso/src/cli.ts -> insomnia-inso/src/db/adapters/insomnia-adapter.ts
insomnia-inso/src/cli.ts -> insomnia-inso/src/db/models/api-spec.ts -> insomnia-inso/src/db/models/util.ts
insomnia-inso/src/db/adapters/insomnia-adapter.ts -> insomnia-inso/src/db/index.ts
insomnia-inso/src/db/index.ts -> insomnia-inso/src/db/adapters/git-adapter.ts
insomnia-inso/src/db/index.ts -> insomnia-inso/src/db/adapters/ne-db-adapter.ts
insomnia-inso/src/db/index.ts -> insomnia-inso/src/db/adapters/ne-db-adapter.ts -> insomnia-inso/src/db/models/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/ui/context/app/insomnia-tab-context.tsx -> insomnia/src/ui/components/tabs/tab-list.tsx
insomnia/src/ui/context/app/insomnia-tab-context.tsx -> insomnia/src/ui/components/tabs/tab-list.tsx -> insomnia/src/ui/components/tabs/tab.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 adds the ability for users to override the default author email address used in Git commits on a per-repository basis, allowing different email addresses for different projects while using the same Git provider credential. Additionally, it updates the credential list UI in preferences to improve visual distinction between credential rows.

Changes:

  • Adds selectedAuthorEmail field to git repository model and project data interfaces to store per-repo email overrides
  • Implements email selector UI in project settings and git repo forms for OAuth credentials (GitHub/GitLab) with multiple emails
  • Updates GitLab provider to enable email fetching (changed supportsFetchEmails to true) with caching support for repositories
  • Creates new route and IPC handler for fetching provider emails dynamically

Reviewed changes

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

Show a summary per file
File Description
packages/insomnia/src/models/git-repository.ts Adds selectedAuthorEmail field to git repository model
packages/insomnia/src/ui/components/project/utils.tsx Adds selectedAuthorEmail to ProjectData interface
packages/insomnia/src/ui/components/project/project-settings-form.tsx Implements email selector dropdown for OAuth credentials with dynamic fetching and loading states
packages/insomnia/src/ui/components/project/git-repo-form.tsx Adds email selector to git repo setup form and removes email display from credential selector
packages/insomnia/src/ui/components/modals/git-repository-settings-modal/git-repository-settings-modal.tsx Displays selected or default author email in repository settings modal
packages/insomnia/src/ui/components/settings/credentials.tsx Updates credential list layout from grid to flex with bordered cards for better visual separation
packages/insomnia/src/ui/components/git-credentials/git-repository-select.tsx Adds ref-based caching to prevent unnecessary re-fetching of repositories
packages/insomnia/src/sync/git/utils.ts Updates author retrieval to use selectedAuthorEmail override when available
packages/insomnia/src/sync/git/providers/types.ts Adds supportsFetchEmails field to GitProviderOption interface
packages/insomnia/src/sync/git/providers/registry.ts Propagates supportsFetchEmails from providers to registry
packages/insomnia/src/sync/git/providers/gitlab.ts Enables email fetching, refactors email methods, adds repository caching, and stores emails during OAuth
packages/insomnia/src/sync/git/providers/github.ts Stores emails in credentials during OAuth completion
packages/insomnia/src/main/git-service.ts Implements email fetching endpoint, updates clone/update actions to handle selectedAuthorEmail, adds setAuthor calls before commits
packages/insomnia/src/routes/git-provider.emails.tsx New route for fetching available emails from git providers
packages/insomnia/src/routes/organization.$organizationId.project.new.tsx Passes selectedAuthorEmail when creating new projects
packages/insomnia/src/routes/organization.$organizationId.project.$projectId.update.tsx Adds logic to update git repository settings including email override
packages/insomnia/src/routes/git.update.tsx Adds selectedAuthorEmail to UpdateGitRepoData interface
packages/insomnia/src/routes/git.clone.tsx Adds selectedAuthorEmail to CloneGitRepoData interface
packages/insomnia/src/main/ipc/electron.ts Registers new IPC channel for fetching provider emails
packages/insomnia/src/entry.preload.ts Exposes getGitProviderEmails API to renderer process

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

},
});
const userData = await this.fetchUserWithToken(credential.credentials?.token);

Copy link
Contributor

Choose a reason for hiding this comment

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

The token for Gitlab may have expired when this function is called.
Github does not have same issue because Github token does not expire.

@ryan-willis ryan-willis force-pushed the feat/git-credential-email-select branch 4 times, most recently from 2442242 to b300588 Compare January 27, 2026 01:03
@ryan-willis ryan-willis force-pushed the feat/git-credential-email-select branch from b300588 to 31cea55 Compare January 27, 2026 01:03
Copy link
Contributor

@yaoweiprc yaoweiprc left a comment

Choose a reason for hiding this comment

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

👍

@ryan-willis ryan-willis merged commit 9e74b54 into develop Jan 27, 2026
14 checks passed
@ryan-willis ryan-willis deleted the feat/git-credential-email-select branch January 27, 2026 15:15
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.

2 participants