Repository navigation
Release/v3.7.6 - #1829
Release/v3.7.6#1829
Conversation
Add an editable key name field at the top of the permissions modal, allowing users to rename API keys alongside existing permission settings. The backend already supported name updates via PATCH /api/keys/:id — this wires the UI to send the name field and refreshes the key list on success. Changes: - Add keyName state and text input to PermissionsModal - Update handleUpdatePermissions to validate and send name in PATCH body - Add integration test for rename via PATCH (valid, empty, too-long names) - Update E2E mock to handle PATCH requests
…ject history - Expanded acknowledgment table from 29 to 53 contributors - Added 100+ previously uncredited PRs from project inception through v3.7.5 - Moved contributor credits section to v3.7.6 (current release) - Synced llm.txt version to 3.7.6
…d default region (#1823) Integrated into release/v3.7.6
Integrated into release/v3.7.6
…inking-capable models (#1821) Integrated into release/v3.7.6
Integrated into release/v3.7.6
…1802) Integrated into release/v3.7.6
…breaker, and fix broken unit tests
Integrated into release/v3.7.6
…shes on numeric fields in proxy modal (#1825)
Expand usage analytics to report total cost, per-series cost totals, API key counts, and current activity streaks using pricing-aware token calculations. Also make probe-failed database recovery choose the newest backup by its embedded timestamp instead of filesystem mtime so auto-restore selects the intended snapshot reliably.
Reject non-443 MITM port updates in the settings API and normalize stored configuration back to the required transparent interception port. Lock the dashboard port field to 443, update the validation copy, and add integration coverage to prevent stale custom ports from being accepted or surfaced.
Co-authored-by: rdself <rdself@users.noreply.github.com> Co-authored-by: oyi77 <oyi77@users.noreply.github.com> Co-authored-by: clousky2020 <clousky2020@users.noreply.github.com> Co-authored-by: benzntech <benzntech@users.noreply.github.com> Co-authored-by: kang-heewon <kang-heewon@users.noreply.github.com> Co-authored-by: herjarsa <herjarsa@users.noreply.github.com> Co-authored-by: backryun <backryun@users.noreply.github.com> Co-authored-by: tombii <tombii@users.noreply.github.com> Co-authored-by: christopher-s <christopher-s@users.noreply.github.com> Co-authored-by: zen0bit <zen0bit@users.noreply.github.com> Co-authored-by: k0valik <k0valik@users.noreply.github.com> Co-authored-by: zhangqiang8vip <zhangqiang8vip@users.noreply.github.com> Co-authored-by: wlfonseca <wlfonseca@users.noreply.github.com> Co-authored-by: RaviTharuma <RaviTharuma@users.noreply.github.com> Co-authored-by: prakersh <prakersh@users.noreply.github.com> Co-authored-by: payne0420 <payne0420@users.noreply.github.com> Co-authored-by: only4copilot <only4copilot@users.noreply.github.com> Co-authored-by: jay77721 <jay77721@users.noreply.github.com> Co-authored-by: hijak <hijak@users.noreply.github.com> Co-authored-by: hartmark <hartmark@users.noreply.github.com> Co-authored-by: defhouse <defhouse@users.noreply.github.com> Co-authored-by: xiaoge1688 <xiaoge1688@users.noreply.github.com> Co-authored-by: xandr0s <xandr0s@users.noreply.github.com> Co-authored-by: willbnu <willbnu@users.noreply.github.com> Co-authored-by: slewis3600 <slewis3600@users.noreply.github.com> Co-authored-by: sergey-v9 <sergey-v9@users.noreply.github.com> Co-authored-by: razllivan <razllivan@users.noreply.github.com> Co-authored-by: nmime <nmime@users.noreply.github.com> Co-authored-by: Moutia-Ben-Yahia <Moutia-Ben-Yahia@users.noreply.github.com> Co-authored-by: Mind-Dragon <Mind-Dragon@users.noreply.github.com> Co-authored-by: mercs2910 <mercs2910@users.noreply.github.com> Co-authored-by: MAINER4IK <MAINER4IK@users.noreply.github.com> Co-authored-by: luandiasrj <luandiasrj@users.noreply.github.com> Co-authored-by: knopki <knopki@users.noreply.github.com> Co-authored-by: kfiramar <kfiramar@users.noreply.github.com> Co-authored-by: ken2190 <ken2190@users.noreply.github.com> Co-authored-by: keith8496 <keith8496@users.noreply.github.com> Co-authored-by: jonesfernandess <jonesfernandess@users.noreply.github.com> Co-authored-by: JasonLandbridge <JasonLandbridge@users.noreply.github.com> Co-authored-by: i1hwan <i1hwan@users.noreply.github.com> Co-authored-by: Gorchakov-Pressure <Gorchakov-Pressure@users.noreply.github.com> Co-authored-by: foxy1402 <foxy1402@users.noreply.github.com> Co-authored-by: dt418 <dt418@users.noreply.github.com> Co-authored-by: dhaern <dhaern@users.noreply.github.com> Co-authored-by: DavyMassoneto <DavyMassoneto@users.noreply.github.com> Co-authored-by: dail45 <dail45@users.noreply.github.com> Co-authored-by: congvc-dev <congvc-dev@users.noreply.github.com> Co-authored-by: be0hhh <be0hhh@users.noreply.github.com> Co-authored-by: andruwa13 <andruwa13@users.noreply.github.com> Co-authored-by: AndrewDragonIV <AndrewDragonIV@users.noreply.github.com> Co-authored-by: AndersonFirmino <AndersonFirmino@users.noreply.github.com> Co-authored-by: alexsvdk <alexsvdk@users.noreply.github.com> Co-authored-by: abhinavjnu <abhinavjnu@users.noreply.github.com>
There was a problem hiding this comment.
Code Review
This pull request updates OmniRoute to version 3.7.6, introducing a MITM Proxy, enhanced SQL-based analytics, and significant improvements to the evaluation suite and translator playground. It also includes stability fixes like auto-restoring databases after probe failures and removing prop-types in favor of TypeScript. Feedback identifies a hardcoded NVM path in the VS Code launch configuration that hinders portability and a violation of the repository's style guide regarding test file placement, requiring new tests to be moved to the tests/ directory.
| "name": "Debug Dev Server", | ||
| "type": "node", | ||
| "request": "launch", | ||
| "runtimeExecutable": "${env:HOME}/.nvm/versions/node/v22.22.2/bin/node", |
There was a problem hiding this comment.
The runtimeExecutable path is hardcoded to a specific user's NVM installation and Node.js version. This will not work for other developers with different setups and breaks the portability of this shared configuration.
It's better to remove this line entirely and let VS Code's debugger find the node executable in the system's PATH. Developers can manage their Node.js version using .nvmrc and their shell configuration, which VS Code will respect.
| @@ -0,0 +1,107 @@ | |||
| // @vitest-environment jsdom | |||
There was a problem hiding this comment.
This new test file is located within the src/app directory, which violates the repository's style guide. All test files must be placed within the tests/ directory.
Please move this file to an appropriate location, for example: tests/unit/app/dashboard/endpoint/ApiEndpointsTab.test.tsx.
References
- The repository style guide (line 5) requires all test files to be placed strictly within the
tests/directory. (link)
CI Coverage Report
Coverage artifact was not available for this run. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f9e1e7f296
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| function toCostEntries(value: unknown): CostEntry[] { | ||
| if (!value || typeof value !== "object" || Array.isArray(value)) return []; |
There was a problem hiding this comment.
Accept array analytics payloads in cost-analysis skill
executeCostAnalysis() consumes /api/usage/analytics, which returns byProvider and byModel as arrays, but toCostEntries() immediately returns [] whenever the input is an array. As a result, providerCosts/modelCosts are always empty, so the skill cannot identify top spenders or generate concrete savings suggestions even when analytics data is present.
Useful? React with 👍 / 👎.
* feat(api-keys): add rename support in permissions modal Add an editable key name field at the top of the permissions modal, allowing users to rename API keys alongside existing permission settings. The backend already supported name updates via PATCH /api/keys/:id — this wires the UI to send the name field and refreshes the key list on success. Changes: - Add keyName state and text input to PermissionsModal - Update handleUpdatePermissions to validate and send name in PATCH body - Add integration test for rename via PATCH (valid, empty, too-long names) - Update E2E mock to handle PATCH requests * chore(release): bump version to 3.7.6 * chore(release): v3.7.6 — merge API key rename feature and sync docs * chore(release): expand contributor credits to 155 PRs across full project history - Expanded acknowledgment table from 29 to 53 contributors - Added 100+ previously uncredited PRs from project inception through v3.7.5 - Moved contributor credits section to v3.7.6 (current release) - Synced llm.txt version to 3.7.6 * fix: resolve security ReDoS in codex and bugs diegosouzapw#1797 diegosouzapw#1789 * feat(dashboard): implement remaining v3.7.6 dashboard features and fixes * fix(xiaomi-mimo): update models to V2.5, fix Token Plan validation and default region (diegosouzapw#1823) Integrated into release/v3.7.6 * fix(dashboard): correct loadPresets ReferenceError in CostOverviewTab * fix(codex): omit compact client metadata (diegosouzapw#1822) Integrated into release/v3.7.6 * feat(chatgpt-web): support thinking_effort (Standard/Extended) for thinking-capable models (diegosouzapw#1821) Integrated into release/v3.7.6 * Fix endpoint visibility, A2A status, and API catalog (diegosouzapw#1806) Integrated into release/v3.7.6 * fix(analytics): use pure SQL aggregations — no history rows loaded (diegosouzapw#1802) Integrated into release/v3.7.6 * fix(stability): resolve codex input validation, enable combo circuit breaker, and fix broken unit tests * docs(changelog): update for stability bug fixes diegosouzapw#1804 diegosouzapw#1805 * fix: clear active requests and recover providers (diegosouzapw#1824) Integrated into release/v3.7.6 * feat: inject fallback tool names to prevent upstream 400 errors (diegosouzapw#1775) * feat: auto-restore probe-failed database to prevent data loss (diegosouzapw#1810) * fix: safely cast inputs to strings before calling trim() to avoid crashes on numeric fields in proxy modal (diegosouzapw#1825) * chore(release): v3.7.6 — final stability patches for production * test: update expected db probe-failure error message for auto-restore feature * chore(workflow): mandate implementation plan generation in resolve-issues * docs(changelog): rewrite v3.7.6 with complete commit-accurate entries * feat(analytics): add cost-based usage insights and activity streaks Expand usage analytics to report total cost, per-series cost totals, API key counts, and current activity streaks using pricing-aware token calculations. Also make probe-failed database recovery choose the newest backup by its embedded timestamp instead of filesystem mtime so auto-restore selects the intended snapshot reliably. * fix(mitm): enforce transparent interception on port 443 only Reject non-443 MITM port updates in the settings API and normalize stored configuration back to the required transparent interception port. Lock the dashboard port field to 443, update the validation copy, and add integration coverage to prevent stale custom ports from being accepted or surfaced. * docs(changelog): update for analytics and mitm features * chore(release): attribute community contributors Co-authored-by: rdself <rdself@users.noreply.github.com> Co-authored-by: oyi77 <oyi77@users.noreply.github.com> Co-authored-by: clousky2020 <clousky2020@users.noreply.github.com> Co-authored-by: benzntech <benzntech@users.noreply.github.com> Co-authored-by: kang-heewon <kang-heewon@users.noreply.github.com> Co-authored-by: herjarsa <herjarsa@users.noreply.github.com> Co-authored-by: backryun <backryun@users.noreply.github.com> Co-authored-by: tombii <tombii@users.noreply.github.com> Co-authored-by: christopher-s <christopher-s@users.noreply.github.com> Co-authored-by: zen0bit <zen0bit@users.noreply.github.com> Co-authored-by: k0valik <k0valik@users.noreply.github.com> Co-authored-by: zhangqiang8vip <zhangqiang8vip@users.noreply.github.com> Co-authored-by: wlfonseca <wlfonseca@users.noreply.github.com> Co-authored-by: RaviTharuma <RaviTharuma@users.noreply.github.com> Co-authored-by: prakersh <prakersh@users.noreply.github.com> Co-authored-by: payne0420 <payne0420@users.noreply.github.com> Co-authored-by: only4copilot <only4copilot@users.noreply.github.com> Co-authored-by: jay77721 <jay77721@users.noreply.github.com> Co-authored-by: hijak <hijak@users.noreply.github.com> Co-authored-by: hartmark <hartmark@users.noreply.github.com> Co-authored-by: defhouse <defhouse@users.noreply.github.com> Co-authored-by: xiaoge1688 <xiaoge1688@users.noreply.github.com> Co-authored-by: xandr0s <xandr0s@users.noreply.github.com> Co-authored-by: willbnu <willbnu@users.noreply.github.com> Co-authored-by: slewis3600 <slewis3600@users.noreply.github.com> Co-authored-by: sergey-v9 <sergey-v9@users.noreply.github.com> Co-authored-by: razllivan <razllivan@users.noreply.github.com> Co-authored-by: nmime <nmime@users.noreply.github.com> Co-authored-by: Moutia-Ben-Yahia <Moutia-Ben-Yahia@users.noreply.github.com> Co-authored-by: Mind-Dragon <Mind-Dragon@users.noreply.github.com> Co-authored-by: mercs2910 <mercs2910@users.noreply.github.com> Co-authored-by: MAINER4IK <MAINER4IK@users.noreply.github.com> Co-authored-by: luandiasrj <luandiasrj@users.noreply.github.com> Co-authored-by: knopki <knopki@users.noreply.github.com> Co-authored-by: kfiramar <kfiramar@users.noreply.github.com> Co-authored-by: ken2190 <ken2190@users.noreply.github.com> Co-authored-by: keith8496 <keith8496@users.noreply.github.com> Co-authored-by: jonesfernandess <jonesfernandess@users.noreply.github.com> Co-authored-by: JasonLandbridge <JasonLandbridge@users.noreply.github.com> Co-authored-by: i1hwan <i1hwan@users.noreply.github.com> Co-authored-by: Gorchakov-Pressure <Gorchakov-Pressure@users.noreply.github.com> Co-authored-by: foxy1402 <foxy1402@users.noreply.github.com> Co-authored-by: dt418 <dt418@users.noreply.github.com> Co-authored-by: dhaern <dhaern@users.noreply.github.com> Co-authored-by: DavyMassoneto <DavyMassoneto@users.noreply.github.com> Co-authored-by: dail45 <dail45@users.noreply.github.com> Co-authored-by: congvc-dev <congvc-dev@users.noreply.github.com> Co-authored-by: be0hhh <be0hhh@users.noreply.github.com> Co-authored-by: andruwa13 <andruwa13@users.noreply.github.com> Co-authored-by: AndrewDragonIV <AndrewDragonIV@users.noreply.github.com> Co-authored-by: AndersonFirmino <AndersonFirmino@users.noreply.github.com> Co-authored-by: alexsvdk <alexsvdk@users.noreply.github.com> Co-authored-by: abhinavjnu <abhinavjnu@users.noreply.github.com> --------- Co-authored-by: Andrew Munsell <andrew@wizardapps.net> Co-authored-by: Antigravity Assistant <bot@antigravity.local> Co-authored-by: Gi99lin <74502520+Gi99lin@users.noreply.github.com> Co-authored-by: Sergey Morozov <tr0st@bk.ru> Co-authored-by: payne <baboialex95@gmail.com> Co-authored-by: Randi <55005611+rdself@users.noreply.github.com> Co-authored-by: Paijo <14921983+oyi77@users.noreply.github.com> Co-authored-by: ipanghu <bypanghu@163.com> Co-authored-by: rdself <rdself@users.noreply.github.com> Co-authored-by: oyi77 <oyi77@users.noreply.github.com> Co-authored-by: clousky2020 <clousky2020@users.noreply.github.com> Co-authored-by: benzntech <benzntech@users.noreply.github.com> Co-authored-by: kang-heewon <kang-heewon@users.noreply.github.com> Co-authored-by: herjarsa <herjarsa@users.noreply.github.com> Co-authored-by: backryun <backryun@users.noreply.github.com> Co-authored-by: tombii <tombii@users.noreply.github.com> Co-authored-by: christopher-s <christopher-s@users.noreply.github.com> Co-authored-by: zen0bit <zen0bit@users.noreply.github.com> Co-authored-by: k0valik <k0valik@users.noreply.github.com> Co-authored-by: zhangqiang8vip <zhangqiang8vip@users.noreply.github.com> Co-authored-by: wlfonseca <wlfonseca@users.noreply.github.com> Co-authored-by: RaviTharuma <RaviTharuma@users.noreply.github.com> Co-authored-by: prakersh <prakersh@users.noreply.github.com> Co-authored-by: payne0420 <payne0420@users.noreply.github.com> Co-authored-by: only4copilot <only4copilot@users.noreply.github.com> Co-authored-by: jay77721 <jay77721@users.noreply.github.com> Co-authored-by: hijak <hijak@users.noreply.github.com> Co-authored-by: hartmark <hartmark@users.noreply.github.com> Co-authored-by: defhouse <defhouse@users.noreply.github.com> Co-authored-by: xiaoge1688 <xiaoge1688@users.noreply.github.com> Co-authored-by: xandr0s <xandr0s@users.noreply.github.com> Co-authored-by: willbnu <willbnu@users.noreply.github.com> Co-authored-by: slewis3600 <slewis3600@users.noreply.github.com> Co-authored-by: sergey-v9 <sergey-v9@users.noreply.github.com> Co-authored-by: razllivan <razllivan@users.noreply.github.com> Co-authored-by: nmime <nmime@users.noreply.github.com> Co-authored-by: Moutia-Ben-Yahia <Moutia-Ben-Yahia@users.noreply.github.com> Co-authored-by: Mind-Dragon <Mind-Dragon@users.noreply.github.com> Co-authored-by: mercs2910 <mercs2910@users.noreply.github.com> Co-authored-by: MAINER4IK <MAINER4IK@users.noreply.github.com> Co-authored-by: luandiasrj <luandiasrj@users.noreply.github.com> Co-authored-by: knopki <knopki@users.noreply.github.com> Co-authored-by: kfiramar <kfiramar@users.noreply.github.com> Co-authored-by: ken2190 <ken2190@users.noreply.github.com> Co-authored-by: keith8496 <keith8496@users.noreply.github.com> Co-authored-by: jonesfernandess <jonesfernandess@users.noreply.github.com> Co-authored-by: JasonLandbridge <JasonLandbridge@users.noreply.github.com> Co-authored-by: i1hwan <i1hwan@users.noreply.github.com> Co-authored-by: Gorchakov-Pressure <Gorchakov-Pressure@users.noreply.github.com> Co-authored-by: foxy1402 <foxy1402@users.noreply.github.com> Co-authored-by: dt418 <dt418@users.noreply.github.com> Co-authored-by: dhaern <dhaern@users.noreply.github.com> Co-authored-by: DavyMassoneto <DavyMassoneto@users.noreply.github.com> Co-authored-by: dail45 <dail45@users.noreply.github.com> Co-authored-by: congvc-dev <congvc-dev@users.noreply.github.com> Co-authored-by: be0hhh <be0hhh@users.noreply.github.com> Co-authored-by: andruwa13 <andruwa13@users.noreply.github.com> Co-authored-by: AndrewDragonIV <AndrewDragonIV@users.noreply.github.com> Co-authored-by: AndersonFirmino <AndersonFirmino@users.noreply.github.com> Co-authored-by: alexsvdk <alexsvdk@users.noreply.github.com> Co-authored-by: abhinavjnu <abhinavjnu@users.noreply.github.com>
* feat(api-keys): add rename support in permissions modal Add an editable key name field at the top of the permissions modal, allowing users to rename API keys alongside existing permission settings. The backend already supported name updates via PATCH /api/keys/:id — this wires the UI to send the name field and refreshes the key list on success. Changes: - Add keyName state and text input to PermissionsModal - Update handleUpdatePermissions to validate and send name in PATCH body - Add integration test for rename via PATCH (valid, empty, too-long names) - Update E2E mock to handle PATCH requests * chore(release): bump version to 3.7.6 * chore(release): v3.7.6 — merge API key rename feature and sync docs * chore(release): expand contributor credits to 155 PRs across full project history - Expanded acknowledgment table from 29 to 53 contributors - Added 100+ previously uncredited PRs from project inception through v3.7.5 - Moved contributor credits section to v3.7.6 (current release) - Synced llm.txt version to 3.7.6 * fix: resolve security ReDoS in codex and bugs diegosouzapw#1797 diegosouzapw#1789 * feat(dashboard): implement remaining v3.7.6 dashboard features and fixes * fix(xiaomi-mimo): update models to V2.5, fix Token Plan validation and default region (diegosouzapw#1823) Integrated into release/v3.7.6 * fix(dashboard): correct loadPresets ReferenceError in CostOverviewTab * fix(codex): omit compact client metadata (diegosouzapw#1822) Integrated into release/v3.7.6 * feat(chatgpt-web): support thinking_effort (Standard/Extended) for thinking-capable models (diegosouzapw#1821) Integrated into release/v3.7.6 * Fix endpoint visibility, A2A status, and API catalog (diegosouzapw#1806) Integrated into release/v3.7.6 * fix(analytics): use pure SQL aggregations — no history rows loaded (diegosouzapw#1802) Integrated into release/v3.7.6 * fix(stability): resolve codex input validation, enable combo circuit breaker, and fix broken unit tests * docs(changelog): update for stability bug fixes diegosouzapw#1804 diegosouzapw#1805 * fix: clear active requests and recover providers (diegosouzapw#1824) Integrated into release/v3.7.6 * feat: inject fallback tool names to prevent upstream 400 errors (diegosouzapw#1775) * feat: auto-restore probe-failed database to prevent data loss (diegosouzapw#1810) * fix: safely cast inputs to strings before calling trim() to avoid crashes on numeric fields in proxy modal (diegosouzapw#1825) * chore(release): v3.7.6 — final stability patches for production * test: update expected db probe-failure error message for auto-restore feature * chore(workflow): mandate implementation plan generation in resolve-issues * docs(changelog): rewrite v3.7.6 with complete commit-accurate entries * feat(analytics): add cost-based usage insights and activity streaks Expand usage analytics to report total cost, per-series cost totals, API key counts, and current activity streaks using pricing-aware token calculations. Also make probe-failed database recovery choose the newest backup by its embedded timestamp instead of filesystem mtime so auto-restore selects the intended snapshot reliably. * fix(mitm): enforce transparent interception on port 443 only Reject non-443 MITM port updates in the settings API and normalize stored configuration back to the required transparent interception port. Lock the dashboard port field to 443, update the validation copy, and add integration coverage to prevent stale custom ports from being accepted or surfaced. * docs(changelog): update for analytics and mitm features * chore(release): attribute community contributors Co-authored-by: rdself <rdself@users.noreply.github.com> Co-authored-by: oyi77 <oyi77@users.noreply.github.com> Co-authored-by: clousky2020 <clousky2020@users.noreply.github.com> Co-authored-by: benzntech <benzntech@users.noreply.github.com> Co-authored-by: kang-heewon <kang-heewon@users.noreply.github.com> Co-authored-by: herjarsa <herjarsa@users.noreply.github.com> Co-authored-by: backryun <backryun@users.noreply.github.com> Co-authored-by: tombii <tombii@users.noreply.github.com> Co-authored-by: christopher-s <christopher-s@users.noreply.github.com> Co-authored-by: zen0bit <zen0bit@users.noreply.github.com> Co-authored-by: k0valik <k0valik@users.noreply.github.com> Co-authored-by: zhangqiang8vip <zhangqiang8vip@users.noreply.github.com> Co-authored-by: wlfonseca <wlfonseca@users.noreply.github.com> Co-authored-by: RaviTharuma <RaviTharuma@users.noreply.github.com> Co-authored-by: prakersh <prakersh@users.noreply.github.com> Co-authored-by: payne0420 <payne0420@users.noreply.github.com> Co-authored-by: only4copilot <only4copilot@users.noreply.github.com> Co-authored-by: jay77721 <jay77721@users.noreply.github.com> Co-authored-by: hijak <hijak@users.noreply.github.com> Co-authored-by: hartmark <hartmark@users.noreply.github.com> Co-authored-by: defhouse <defhouse@users.noreply.github.com> Co-authored-by: xiaoge1688 <xiaoge1688@users.noreply.github.com> Co-authored-by: xandr0s <xandr0s@users.noreply.github.com> Co-authored-by: willbnu <willbnu@users.noreply.github.com> Co-authored-by: slewis3600 <slewis3600@users.noreply.github.com> Co-authored-by: sergey-v9 <sergey-v9@users.noreply.github.com> Co-authored-by: razllivan <razllivan@users.noreply.github.com> Co-authored-by: nmime <nmime@users.noreply.github.com> Co-authored-by: Moutia-Ben-Yahia <Moutia-Ben-Yahia@users.noreply.github.com> Co-authored-by: Mind-Dragon <Mind-Dragon@users.noreply.github.com> Co-authored-by: mercs2910 <mercs2910@users.noreply.github.com> Co-authored-by: MAINER4IK <MAINER4IK@users.noreply.github.com> Co-authored-by: luandiasrj <luandiasrj@users.noreply.github.com> Co-authored-by: knopki <knopki@users.noreply.github.com> Co-authored-by: kfiramar <kfiramar@users.noreply.github.com> Co-authored-by: ken2190 <ken2190@users.noreply.github.com> Co-authored-by: keith8496 <keith8496@users.noreply.github.com> Co-authored-by: jonesfernandess <jonesfernandess@users.noreply.github.com> Co-authored-by: JasonLandbridge <JasonLandbridge@users.noreply.github.com> Co-authored-by: i1hwan <i1hwan@users.noreply.github.com> Co-authored-by: Gorchakov-Pressure <Gorchakov-Pressure@users.noreply.github.com> Co-authored-by: foxy1402 <foxy1402@users.noreply.github.com> Co-authored-by: dt418 <dt418@users.noreply.github.com> Co-authored-by: dhaern <dhaern@users.noreply.github.com> Co-authored-by: DavyMassoneto <DavyMassoneto@users.noreply.github.com> Co-authored-by: dail45 <dail45@users.noreply.github.com> Co-authored-by: congvc-dev <congvc-dev@users.noreply.github.com> Co-authored-by: be0hhh <be0hhh@users.noreply.github.com> Co-authored-by: andruwa13 <andruwa13@users.noreply.github.com> Co-authored-by: AndrewDragonIV <AndrewDragonIV@users.noreply.github.com> Co-authored-by: AndersonFirmino <AndersonFirmino@users.noreply.github.com> Co-authored-by: alexsvdk <alexsvdk@users.noreply.github.com> Co-authored-by: abhinavjnu <abhinavjnu@users.noreply.github.com> --------- Co-authored-by: Andrew Munsell <andrew@wizardapps.net> Co-authored-by: Antigravity Assistant <bot@antigravity.local> Co-authored-by: Gi99lin <74502520+Gi99lin@users.noreply.github.com> Co-authored-by: Sergey Morozov <tr0st@bk.ru> Co-authored-by: payne <baboialex95@gmail.com> Co-authored-by: Randi <55005611+rdself@users.noreply.github.com> Co-authored-by: Paijo <14921983+oyi77@users.noreply.github.com> Co-authored-by: ipanghu <bypanghu@163.com> Co-authored-by: rdself <rdself@users.noreply.github.com> Co-authored-by: oyi77 <oyi77@users.noreply.github.com> Co-authored-by: clousky2020 <clousky2020@users.noreply.github.com> Co-authored-by: benzntech <benzntech@users.noreply.github.com> Co-authored-by: kang-heewon <kang-heewon@users.noreply.github.com> Co-authored-by: herjarsa <herjarsa@users.noreply.github.com> Co-authored-by: backryun <backryun@users.noreply.github.com> Co-authored-by: tombii <tombii@users.noreply.github.com> Co-authored-by: christopher-s <christopher-s@users.noreply.github.com> Co-authored-by: zen0bit <zen0bit@users.noreply.github.com> Co-authored-by: k0valik <k0valik@users.noreply.github.com> Co-authored-by: zhangqiang8vip <zhangqiang8vip@users.noreply.github.com> Co-authored-by: wlfonseca <wlfonseca@users.noreply.github.com> Co-authored-by: RaviTharuma <RaviTharuma@users.noreply.github.com> Co-authored-by: prakersh <prakersh@users.noreply.github.com> Co-authored-by: payne0420 <payne0420@users.noreply.github.com> Co-authored-by: only4copilot <only4copilot@users.noreply.github.com> Co-authored-by: jay77721 <jay77721@users.noreply.github.com> Co-authored-by: hijak <hijak@users.noreply.github.com> Co-authored-by: hartmark <hartmark@users.noreply.github.com> Co-authored-by: defhouse <defhouse@users.noreply.github.com> Co-authored-by: xiaoge1688 <xiaoge1688@users.noreply.github.com> Co-authored-by: xandr0s <xandr0s@users.noreply.github.com> Co-authored-by: willbnu <willbnu@users.noreply.github.com> Co-authored-by: slewis3600 <slewis3600@users.noreply.github.com> Co-authored-by: sergey-v9 <sergey-v9@users.noreply.github.com> Co-authored-by: razllivan <razllivan@users.noreply.github.com> Co-authored-by: nmime <nmime@users.noreply.github.com> Co-authored-by: Moutia-Ben-Yahia <Moutia-Ben-Yahia@users.noreply.github.com> Co-authored-by: Mind-Dragon <Mind-Dragon@users.noreply.github.com> Co-authored-by: mercs2910 <mercs2910@users.noreply.github.com> Co-authored-by: MAINER4IK <MAINER4IK@users.noreply.github.com> Co-authored-by: luandiasrj <luandiasrj@users.noreply.github.com> Co-authored-by: knopki <knopki@users.noreply.github.com> Co-authored-by: kfiramar <kfiramar@users.noreply.github.com> Co-authored-by: ken2190 <ken2190@users.noreply.github.com> Co-authored-by: keith8496 <keith8496@users.noreply.github.com> Co-authored-by: jonesfernandess <jonesfernandess@users.noreply.github.com> Co-authored-by: JasonLandbridge <JasonLandbridge@users.noreply.github.com> Co-authored-by: i1hwan <i1hwan@users.noreply.github.com> Co-authored-by: Gorchakov-Pressure <Gorchakov-Pressure@users.noreply.github.com> Co-authored-by: foxy1402 <foxy1402@users.noreply.github.com> Co-authored-by: dt418 <dt418@users.noreply.github.com> Co-authored-by: dhaern <dhaern@users.noreply.github.com> Co-authored-by: DavyMassoneto <DavyMassoneto@users.noreply.github.com> Co-authored-by: dail45 <dail45@users.noreply.github.com> Co-authored-by: congvc-dev <congvc-dev@users.noreply.github.com> Co-authored-by: be0hhh <be0hhh@users.noreply.github.com> Co-authored-by: andruwa13 <andruwa13@users.noreply.github.com> Co-authored-by: AndrewDragonIV <AndrewDragonIV@users.noreply.github.com> Co-authored-by: AndersonFirmino <AndersonFirmino@users.noreply.github.com> Co-authored-by: alexsvdk <alexsvdk@users.noreply.github.com> Co-authored-by: abhinavjnu <abhinavjnu@users.noreply.github.com>
* feat(api-keys): add rename support in permissions modal Add an editable key name field at the top of the permissions modal, allowing users to rename API keys alongside existing permission settings. The backend already supported name updates via PATCH /api/keys/:id — this wires the UI to send the name field and refreshes the key list on success. Changes: - Add keyName state and text input to PermissionsModal - Update handleUpdatePermissions to validate and send name in PATCH body - Add integration test for rename via PATCH (valid, empty, too-long names) - Update E2E mock to handle PATCH requests * chore(release): bump version to 3.7.6 * chore(release): v3.7.6 — merge API key rename feature and sync docs * chore(release): expand contributor credits to 155 PRs across full project history - Expanded acknowledgment table from 29 to 53 contributors - Added 100+ previously uncredited PRs from project inception through v3.7.5 - Moved contributor credits section to v3.7.6 (current release) - Synced llm.txt version to 3.7.6 * fix: resolve security ReDoS in codex and bugs diegosouzapw#1797 diegosouzapw#1789 * feat(dashboard): implement remaining v3.7.6 dashboard features and fixes * fix(xiaomi-mimo): update models to V2.5, fix Token Plan validation and default region (diegosouzapw#1823) Integrated into release/v3.7.6 * fix(dashboard): correct loadPresets ReferenceError in CostOverviewTab * fix(codex): omit compact client metadata (diegosouzapw#1822) Integrated into release/v3.7.6 * feat(chatgpt-web): support thinking_effort (Standard/Extended) for thinking-capable models (diegosouzapw#1821) Integrated into release/v3.7.6 * Fix endpoint visibility, A2A status, and API catalog (diegosouzapw#1806) Integrated into release/v3.7.6 * fix(analytics): use pure SQL aggregations — no history rows loaded (diegosouzapw#1802) Integrated into release/v3.7.6 * fix(stability): resolve codex input validation, enable combo circuit breaker, and fix broken unit tests * docs(changelog): update for stability bug fixes diegosouzapw#1804 diegosouzapw#1805 * fix: clear active requests and recover providers (diegosouzapw#1824) Integrated into release/v3.7.6 * feat: inject fallback tool names to prevent upstream 400 errors (diegosouzapw#1775) * feat: auto-restore probe-failed database to prevent data loss (diegosouzapw#1810) * fix: safely cast inputs to strings before calling trim() to avoid crashes on numeric fields in proxy modal (diegosouzapw#1825) * chore(release): v3.7.6 — final stability patches for production * test: update expected db probe-failure error message for auto-restore feature * chore(workflow): mandate implementation plan generation in resolve-issues * docs(changelog): rewrite v3.7.6 with complete commit-accurate entries * feat(analytics): add cost-based usage insights and activity streaks Expand usage analytics to report total cost, per-series cost totals, API key counts, and current activity streaks using pricing-aware token calculations. Also make probe-failed database recovery choose the newest backup by its embedded timestamp instead of filesystem mtime so auto-restore selects the intended snapshot reliably. * fix(mitm): enforce transparent interception on port 443 only Reject non-443 MITM port updates in the settings API and normalize stored configuration back to the required transparent interception port. Lock the dashboard port field to 443, update the validation copy, and add integration coverage to prevent stale custom ports from being accepted or surfaced. * docs(changelog): update for analytics and mitm features * chore(release): attribute community contributors Co-authored-by: rdself <rdself@users.noreply.github.com> Co-authored-by: oyi77 <oyi77@users.noreply.github.com> Co-authored-by: clousky2020 <clousky2020@users.noreply.github.com> Co-authored-by: benzntech <benzntech@users.noreply.github.com> Co-authored-by: kang-heewon <kang-heewon@users.noreply.github.com> Co-authored-by: herjarsa <herjarsa@users.noreply.github.com> Co-authored-by: backryun <backryun@users.noreply.github.com> Co-authored-by: tombii <tombii@users.noreply.github.com> Co-authored-by: christopher-s <christopher-s@users.noreply.github.com> Co-authored-by: zen0bit <zen0bit@users.noreply.github.com> Co-authored-by: k0valik <k0valik@users.noreply.github.com> Co-authored-by: zhangqiang8vip <zhangqiang8vip@users.noreply.github.com> Co-authored-by: wlfonseca <wlfonseca@users.noreply.github.com> Co-authored-by: RaviTharuma <RaviTharuma@users.noreply.github.com> Co-authored-by: prakersh <prakersh@users.noreply.github.com> Co-authored-by: payne0420 <payne0420@users.noreply.github.com> Co-authored-by: only4copilot <only4copilot@users.noreply.github.com> Co-authored-by: jay77721 <jay77721@users.noreply.github.com> Co-authored-by: hijak <hijak@users.noreply.github.com> Co-authored-by: hartmark <hartmark@users.noreply.github.com> Co-authored-by: defhouse <defhouse@users.noreply.github.com> Co-authored-by: xiaoge1688 <xiaoge1688@users.noreply.github.com> Co-authored-by: xandr0s <xandr0s@users.noreply.github.com> Co-authored-by: willbnu <willbnu@users.noreply.github.com> Co-authored-by: slewis3600 <slewis3600@users.noreply.github.com> Co-authored-by: sergey-v9 <sergey-v9@users.noreply.github.com> Co-authored-by: razllivan <razllivan@users.noreply.github.com> Co-authored-by: nmime <nmime@users.noreply.github.com> Co-authored-by: Moutia-Ben-Yahia <Moutia-Ben-Yahia@users.noreply.github.com> Co-authored-by: Mind-Dragon <Mind-Dragon@users.noreply.github.com> Co-authored-by: mercs2910 <mercs2910@users.noreply.github.com> Co-authored-by: MAINER4IK <MAINER4IK@users.noreply.github.com> Co-authored-by: luandiasrj <luandiasrj@users.noreply.github.com> Co-authored-by: knopki <knopki@users.noreply.github.com> Co-authored-by: kfiramar <kfiramar@users.noreply.github.com> Co-authored-by: ken2190 <ken2190@users.noreply.github.com> Co-authored-by: keith8496 <keith8496@users.noreply.github.com> Co-authored-by: jonesfernandess <jonesfernandess@users.noreply.github.com> Co-authored-by: JasonLandbridge <JasonLandbridge@users.noreply.github.com> Co-authored-by: i1hwan <i1hwan@users.noreply.github.com> Co-authored-by: Gorchakov-Pressure <Gorchakov-Pressure@users.noreply.github.com> Co-authored-by: foxy1402 <foxy1402@users.noreply.github.com> Co-authored-by: dt418 <dt418@users.noreply.github.com> Co-authored-by: dhaern <dhaern@users.noreply.github.com> Co-authored-by: DavyMassoneto <DavyMassoneto@users.noreply.github.com> Co-authored-by: dail45 <dail45@users.noreply.github.com> Co-authored-by: congvc-dev <congvc-dev@users.noreply.github.com> Co-authored-by: be0hhh <be0hhh@users.noreply.github.com> Co-authored-by: andruwa13 <andruwa13@users.noreply.github.com> Co-authored-by: AndrewDragonIV <AndrewDragonIV@users.noreply.github.com> Co-authored-by: AndersonFirmino <AndersonFirmino@users.noreply.github.com> Co-authored-by: alexsvdk <alexsvdk@users.noreply.github.com> Co-authored-by: abhinavjnu <abhinavjnu@users.noreply.github.com> --------- Co-authored-by: Andrew Munsell <andrew@wizardapps.net> Co-authored-by: Antigravity Assistant <bot@antigravity.local> Co-authored-by: Gi99lin <74502520+Gi99lin@users.noreply.github.com> Co-authored-by: Sergey Morozov <tr0st@bk.ru> Co-authored-by: payne <baboialex95@gmail.com> Co-authored-by: Randi <55005611+rdself@users.noreply.github.com> Co-authored-by: Paijo <14921983+oyi77@users.noreply.github.com> Co-authored-by: ipanghu <bypanghu@163.com> Co-authored-by: rdself <rdself@users.noreply.github.com> Co-authored-by: oyi77 <oyi77@users.noreply.github.com> Co-authored-by: clousky2020 <clousky2020@users.noreply.github.com> Co-authored-by: benzntech <benzntech@users.noreply.github.com> Co-authored-by: kang-heewon <kang-heewon@users.noreply.github.com> Co-authored-by: herjarsa <herjarsa@users.noreply.github.com> Co-authored-by: backryun <backryun@users.noreply.github.com> Co-authored-by: tombii <tombii@users.noreply.github.com> Co-authored-by: christopher-s <christopher-s@users.noreply.github.com> Co-authored-by: zen0bit <zen0bit@users.noreply.github.com> Co-authored-by: k0valik <k0valik@users.noreply.github.com> Co-authored-by: zhangqiang8vip <zhangqiang8vip@users.noreply.github.com> Co-authored-by: wlfonseca <wlfonseca@users.noreply.github.com> Co-authored-by: RaviTharuma <RaviTharuma@users.noreply.github.com> Co-authored-by: prakersh <prakersh@users.noreply.github.com> Co-authored-by: payne0420 <payne0420@users.noreply.github.com> Co-authored-by: only4copilot <only4copilot@users.noreply.github.com> Co-authored-by: jay77721 <jay77721@users.noreply.github.com> Co-authored-by: hijak <hijak@users.noreply.github.com> Co-authored-by: hartmark <hartmark@users.noreply.github.com> Co-authored-by: defhouse <defhouse@users.noreply.github.com> Co-authored-by: xiaoge1688 <xiaoge1688@users.noreply.github.com> Co-authored-by: xandr0s <xandr0s@users.noreply.github.com> Co-authored-by: willbnu <willbnu@users.noreply.github.com> Co-authored-by: slewis3600 <slewis3600@users.noreply.github.com> Co-authored-by: sergey-v9 <sergey-v9@users.noreply.github.com> Co-authored-by: razllivan <razllivan@users.noreply.github.com> Co-authored-by: nmime <nmime@users.noreply.github.com> Co-authored-by: Moutia-Ben-Yahia <Moutia-Ben-Yahia@users.noreply.github.com> Co-authored-by: Mind-Dragon <Mind-Dragon@users.noreply.github.com> Co-authored-by: mercs2910 <mercs2910@users.noreply.github.com> Co-authored-by: MAINER4IK <MAINER4IK@users.noreply.github.com> Co-authored-by: luandiasrj <luandiasrj@users.noreply.github.com> Co-authored-by: knopki <knopki@users.noreply.github.com> Co-authored-by: kfiramar <kfiramar@users.noreply.github.com> Co-authored-by: ken2190 <ken2190@users.noreply.github.com> Co-authored-by: keith8496 <keith8496@users.noreply.github.com> Co-authored-by: jonesfernandess <jonesfernandess@users.noreply.github.com> Co-authored-by: JasonLandbridge <JasonLandbridge@users.noreply.github.com> Co-authored-by: i1hwan <i1hwan@users.noreply.github.com> Co-authored-by: Gorchakov-Pressure <Gorchakov-Pressure@users.noreply.github.com> Co-authored-by: foxy1402 <foxy1402@users.noreply.github.com> Co-authored-by: dt418 <dt418@users.noreply.github.com> Co-authored-by: dhaern <dhaern@users.noreply.github.com> Co-authored-by: DavyMassoneto <DavyMassoneto@users.noreply.github.com> Co-authored-by: dail45 <dail45@users.noreply.github.com> Co-authored-by: congvc-dev <congvc-dev@users.noreply.github.com> Co-authored-by: be0hhh <be0hhh@users.noreply.github.com> Co-authored-by: andruwa13 <andruwa13@users.noreply.github.com> Co-authored-by: AndrewDragonIV <AndrewDragonIV@users.noreply.github.com> Co-authored-by: AndersonFirmino <AndersonFirmino@users.noreply.github.com> Co-authored-by: alexsvdk <alexsvdk@users.noreply.github.com> Co-authored-by: abhinavjnu <abhinavjnu@users.noreply.github.com>
Summary
Related Issues
Validation
npm run lintnpm run test:unitnpm run test:coverage>= 60%for statements, lines, functions, and branchesTests Added Or Updated
Coverage Notes
src/,open-sse/,electron/, orbin/, explain which tests cover the change.Reviewer Notes