Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
d2088ba
fix(integration): restore codex and memory pipeline contracts (#4474)
KooshaPari Jun 21, 2026
84626f6
perf(dashboard): shrink provider assets and fix usage rollup cutoff (…
KooshaPari Jun 21, 2026
ac65652
fix(antigravity): strip Claude/OpenAI thinking fields from Cloud Code…
diegosouzapw Jun 21, 2026
0299907
fix(auto): enforce quota cutoff before scoring (#4483)
megamen32 Jun 21, 2026
335df93
chore(release): open v3.8.33 development cycle
Jun 21, 2026
75a84b0
feat(mcp): add omniroute_web_fetch tool for URL content extraction (#…
ponkcore Jun 21, 2026
296b72d
feat(models): qualify duplicate model names with provider prefix (#4516)
Rahulsharma0810 Jun 21, 2026
3959242
chore(i18n): remove unused config helpers (#4482)
KooshaPari Jun 21, 2026
69f6389
chore(quality): reconcile file-size baseline for #4510 web_fetch tool…
diegosouzapw Jun 21, 2026
d3f1b23
feat(usage): API-key USD quota percent + reset hints, weekly window c…
Witroch4 Jun 21, 2026
694adf7
fix(combo): allow fallback on context-overflow & param-validation 400…
adivekar-utexas Jun 21, 2026
c5f3d5f
fix(db): scheduled VACUUM + persist lastVacuumAt (#4480, #4437)
KooshaPari Jun 21, 2026
cda5831
fix(command-code): cap max_tokens per model using registry maxOutputT…
adivekar-utexas Jun 21, 2026
5b15e01
chore(quality): reconcile file-size baseline for #4519 (#4528)
diegosouzapw Jun 21, 2026
bb4aa0d
chore(quality): rebaseline cognitiveComplexity 783->792 (#4529)
diegosouzapw Jun 21, 2026
f3253ee
fix(sse): crypto-secure RNG for combo/deck load-balancing selection (…
diegosouzapw Jun 21, 2026
185c474
feat(sse): route web_search requests to a configured model (#4509, #4…
diegosouzapw Jun 21, 2026
58d1cc8
feat(compression): Phase 2 — named profiles + active selector (#4521)
diegosouzapw Jun 21, 2026
aee1f74
feat(providers): expose gpt-4o on built-in GitHub Copilot (gh) provid…
diegosouzapw Jun 21, 2026
81016bd
feat(pricing): add default pricing for Qwen coder-model on qw provide…
diegosouzapw Jun 21, 2026
482433e
feat(translator): accept OpenAI audio input parts in Gemini translati…
diegosouzapw Jun 21, 2026
e1546c0
fix(api): dedupe exact-duplicate ids in /v1/models (#4506, #4424)
diegosouzapw Jun 21, 2026
4279751
fix(sse): skip disabled providers in combo fallback (#4500)
diegosouzapw Jun 21, 2026
cd45943
fix(usage): parse numeric-string quota reset timestamps as Unix sec/m…
diegosouzapw Jun 21, 2026
a37ee2f
feat(usage): surface Codex code-review weekly window + additional_rat…
diegosouzapw Jun 21, 2026
3a0c40b
fix(usage): clear auth-expired message for Kiro social-auth accounts …
diegosouzapw Jun 21, 2026
bb8104f
chore(quality): reconcile file-size baseline (owner batch1 #4488/#450…
diegosouzapw Jun 21, 2026
dac9f7d
feat(dashboard): per-provider dropdown filter on the quota dashboard …
diegosouzapw Jun 21, 2026
247e578
feat(dashboard): Done button in model picker for combo creation (#4496)
diegosouzapw Jun 21, 2026
89606a2
feat(dashboard): toggle-style model deselection in combo builder moda…
diegosouzapw Jun 21, 2026
4cf7342
fix(dashboard): migrate ManualConfigModal copy to shared useCopyToCli…
diegosouzapw Jun 21, 2026
d83e0a4
fix(dashboard): show API-Key-compatible providers in Antigravity CLI …
diegosouzapw Jun 21, 2026
bb16f88
fix(dashboard): enable Codex Apply/Reset buttons when the CLI is inst…
diegosouzapw Jun 21, 2026
840413f
feat(dashboard): inline show/hide toggle for API keys on API Manager …
diegosouzapw Jun 21, 2026
34d9335
fix(pricing): default cost rows for Antigravity Gemini 3.5 Flash tier…
diegosouzapw Jun 21, 2026
96d7f2a
fix(mitm): graceful sudo degradation in slim Docker / non-root contai…
diegosouzapw Jun 21, 2026
aa019bb
fix(mitm): gate sudo prompts on server platform, not browser UA (#4514)
diegosouzapw Jun 21, 2026
b28f6e9
refactor(chatCore): extract pure persistCodexQuotaState core (#4492, …
diegosouzapw Jun 21, 2026
2601a55
refactor(chatCore): extract Background Task Redirect decision (T41) (…
diegosouzapw Jun 21, 2026
9482138
chore(quality): reconcile file-size baseline (owner final) (#4535)
diegosouzapw Jun 21, 2026
9cf96d0
fix(combo): pass maxCooldownMs from settings to recordModelLockoutFai…
Chewji9875 Jun 21, 2026
9ade3e5
fix(no-think): normalize provider prefix to canonical in no-think var…
Rahulsharma0810 Jun 21, 2026
f91cf72
feat(bazaarlink): add authHint to existing APIKEY_PROVIDERS entry (#4…
adivekar-utexas Jun 21, 2026
2b21bb6
feat(webhooks): enrich telegram request notifications (#4524)
mppata-glitch Jun 21, 2026
4d3a9fd
fix(mcp): webFetchInput emits 'URL is required' for a missing url (#4…
diegosouzapw Jun 21, 2026
eb47b92
fix(compression): allow enginesExplicit through PUT validation schema…
DevEstacion Jun 21, 2026
059b7ef
chore(quality): reconcile file-size baseline (r3 #4522/#4530/#4524) (…
diegosouzapw Jun 21, 2026
8273dfd
chore(quality): rebaseline cognitiveComplexity 792->793 (r3) (#4543)
diegosouzapw Jun 21, 2026
0b402e9
refactor(chatCore): restore #4507 + #4511 leaves orphaned from releas…
diegosouzapw Jun 21, 2026
8fc3315
fix(dashboard): avoid overlapping provider health polls (#4557)
KooshaPari Jun 21, 2026
9447de0
fix(dashboard): make API Manager key table usable on mobile (#4556)
janeza2 Jun 21, 2026
448741f
feat(combos): provider-wildcard expansion in combo steps (#2562) (#4545)
Rahulsharma0810 Jun 21, 2026
cf6546e
perf(quota): skip redundant quota_snapshots from idle connections (#4…
diegosouzapw Jun 21, 2026
6b5590e
fix(auto-combo): respect model visibility (isHidden) in auto-combo ca…
herjarsa Jun 21, 2026
39b2bbf
feat(combo): add sticky weighted selection limit with exhaustion-awar…
adivekar-utexas Jun 21, 2026
6621803
chore(quality): reconcile complexity baseline 1906->1911 (review-prs …
diegosouzapw Jun 21, 2026
3ff08e2
fix(sse): RTK must preserve cache_control-marked tool_result blocks (…
diegosouzapw Jun 21, 2026
20099f7
fix(oauth): improve Cursor auto-import reliability on macOS (#4552)
diegosouzapw Jun 21, 2026
9746b20
fix(providers/test): probe real Codex /responses endpoint (#4551)
diegosouzapw Jun 21, 2026
3ffd6ff
fix(executors): decode Composer Cursor </think>-marked visible output…
diegosouzapw Jun 21, 2026
05c0c4e
refactor(chatCore): recupera os 4 leaves perdidos no churn de merge (…
diegosouzapw Jun 21, 2026
69c35bd
refactor(chatCore): extrai builder do usage-record de falha (#3501) (…
diegosouzapw Jun 21, 2026
4b34a75
refactor(chatCore): extrai extractSystemRoleMessages + buildUpstreamH…
diegosouzapw Jun 21, 2026
548f1fe
chore(quality): reconcile complexity baseline 1911->1913 (review-prs …
diegosouzapw Jun 21, 2026
09d8a4a
feat(combo): add nestedComboMode execute — black-box combo-ref execut…
adivekar-utexas Jun 21, 2026
7ef34c2
fix(combo): extract dynamic connection ID from headers on success pat…
diegosouzapw Jun 21, 2026
8737e16
Fix provider connection API key reveal display
rdself Jun 21, 2026
856c686
Merge remote-tracking branch 'origin/release/v3.8.34' into coder/conn…
rdself Jun 22, 2026
64d61d1
fix(ci): trim api key reveal PR merge noise
rdself Jun 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -683,9 +683,7 @@ export default function EditConnectionModal({
{showFreeModelsToggle && (
<Toggle
checked={formData.importFreeModelsOnly}
onChange={(checked) =>
setFormData({ ...formData, importFreeModelsOnly: checked })
}
onChange={(checked) => setFormData({ ...formData, importFreeModelsOnly: checked })}
label={t("importFreeModelsOnlyLabel")}
description={t("importFreeModelsOnlyHint")}
/>
Expand Down Expand Up @@ -1020,10 +1018,9 @@ export default function EditConnectionModal({
return (
<div className="flex items-center gap-2">
<span
className={`flex-1 font-mono text-xs bg-sidebar/50 px-3 py-2 rounded border border-border truncate ${statusColor}`}
className={`flex-1 min-w-0 break-all font-mono text-xs bg-sidebar/50 px-3 py-2 rounded border border-border ${statusColor}`}
>
{statusIcon} {t("primaryKey")}: {connection.apiKey.slice(0, 6)}...
{connection.apiKey.slice(-4)}
{statusIcon} {t("primaryKey")}: {connection.apiKey}
</span>
{health && (
<span
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,31 @@ describe("conn-modals (Phase 1c extraction)", () => {
expect(c.querySelector("*")).not.toBeNull();
});

it("EditConnectionModal renders the API key value returned by the provider connection API", () => {
const onSave = vi.fn().mockResolvedValue(undefined);
const fullApiKey = "test-provider-key-full-1234567890abcdef78b9";
const connection = {
id: "conn-full-key",
name: "Test Connection",
provider: "openai",
authType: "apikey",
priority: 1,
apiKey: fullApiKey,
};
const c = renderModal(
<EditConnectionModal
isOpen={true}
connection={connection}
providerId="openai"
onSave={onSave}
onClose={vi.fn()}
/>
);

expect(c.textContent).toContain(fullApiKey);
expect(c.textContent).not.toContain("test-p...78b9");
});

it("EditConnectionModal renders OpenRouter preset when provider comes from the page", () => {
const onSave = vi.fn().mockResolvedValue(undefined);
const connection = {
Expand Down
Loading