elky
c7e403b410
fix: restore container logging compatibility and normalize legacy policies
2026-09-08 11:43:51 +08:00
elky
cf8ea19856
fix: harden OAuth identity and cookies and correct quota and JSON display
2026-09-08 10:51:25 +08:00
elky
7113d04f8a
fix(usage): preserve original captured HTTP headers
2026-09-08 08:49:35 +08:00
elky
099b810a2f
feat: optimize usage body viewing and provider card layout
2026-09-08 02:49:06 +08:00
elky
7aa0c89244
fix(gateway): restore HTTP and WS upstream support
2026-09-07 22:15:05 +08:00
elky
7847ae98c6
fix(gateway): reset stream first-byte timeout per candidate
2026-09-07 21:56:16 +08:00
elky
a90d564931
fix: restore security hardening compatibility and validation
...
Restore authorized rule reveal, explicit full HTTP capture and retention, video task business fields, and valid payment URLs. Add opt-in credential preservation for trusted recovery, fix frontend type contracts and async races, and eliminate PostgreSQL test fixture resource leaks. Document audit coverage and successful fmt and CI-scoped Clippy checks.
2026-09-07 21:14:27 +08:00
elky
7b8048c6ae
chore(tunnel): release v0.3.17
2026-09-07 15:57:39 +08:00
elky
ec95f2ca1f
fix(tunnel): prevent stream stalls and harden session cleanup
...
Reliably deliver flow-control credits and terminal states, isolate slow streams and heartbeats, negotiate stream windows, and clean up cancelled streams and session tasks.
Add regression coverage for queue pressure, early cancellation, small-window streaming, drain, and reconnect. Validate 185 agent tests, 88 gateway tunnel tests, and 21 protocol tests.
2026-09-07 15:39:40 +08:00
elky
aa7dbe67d3
feat(providers): add persistent card view and shared drag ordering
2026-09-07 14:13:59 +08:00
elky
a26680f460
fix(modules): restore legacy SMTP password migration
2026-09-07 12:07:53 +08:00
elky
522b979052
refactor(transport): remove provider DNS filtering and allowlist settings
2026-09-07 12:07:50 +08:00
elky
808946312a
fix(providers): retry initial empty quota before showing feedback
2026-09-07 11:18:31 +08:00
elky
741107bf71
fix(transport): make provider DNS address filtering opt-in
2026-09-07 11:18:31 +08:00
elky
6962731220
fix(antigravity): restore default OAuth client compatibility
2026-09-07 10:51:24 +08:00
elky
062e111c03
fix(observability): preserve admin upstream error diagnostics
2026-09-07 10:39:48 +08:00
fawney19
470c59e197
Merge pull request #804 from AAEE86/fix-frontend-eslint
...
Fix frontend ESLint issues
2026-09-07 10:06:40 +08:00
elky
2f929e74c7
fix(frontend): preserve session cleanup and Unicode navigation
2026-09-07 09:57:53 +08:00
elky
44174a31e0
chore: update architecture documentation ignore rules
2026-09-07 08:57:44 +08:00
elky
b599fb7354
fix(frontend): complete i18n coverage and responsive layouts
2026-09-07 08:54:19 +08:00
elky
14f96c9fa0
fix(providers): preserve health in redacted key summaries
2026-09-07 08:53:41 +08:00
elky
6948852992
fix(release): support atomic installation on musl Linux
2026-09-07 01:07:34 +08:00
elky
1b01b08c31
fix(testkit): disable Unix sockets for temporary PostgreSQL
...
Use loopback TCP to avoid unwritable default socket directories on Ubuntu CI.
2026-09-07 00:37:56 +08:00
elky
2281f2b754
refactor(data): remove MySQL and SQLite support
...
Use PostgreSQL as the only database backend across runtime, schema tooling, installation, Compose, and CI. Update regression tests and reject removed drivers explicitly.
2026-09-07 00:09:42 +08:00
elky
b5ed802277
chore(codex): bump default client version to 0.153.4
2026-09-06 19:58:35 +08:00
elky
d1b5eb08ee
fix(providers): correct endpoint health aggregation and display
2026-09-06 18:24:27 +08:00
elky
dba5e6e9e9
feat: expose remote control as admin module
2026-09-06 00:13:57 +08:00
elky
c125e78c5f
fix(frontend): correct provider key total
2026-09-06 00:10:27 +08:00
fawney19
d1cb0ebecf
Merge pull request #775 from fawney19/codex/provider-policy-hardening
...
feat(codex): add provider outbound policy boundary
2026-09-05 16:56:23 +08:00
elky
9d7a0665c0
Merge remote-tracking branch 'origin/main' into codex/provider-policy-hardening
2026-09-05 16:21:10 +08:00
fawney19
882bb43125
Merge pull request #732 from fawney19/subscription-usage-policies
...
feat(billing): add composable subscription usage policies
2026-09-05 15:35:57 +08:00
elky
db6c522d60
fix(admin): use typed DNS config normalization error
2026-09-05 15:04:00 +08:00
elky
e29442a06a
merge(main): resolve subscription usage policy conflicts
2026-09-05 14:21:16 +08:00
elky
e15ea0d5d3
fix(security): configure trusted Fake-IP DNS hosts
2026-09-05 14:05:07 +08:00
elky
f69b770f5e
fix(frontend): hide pricing source from model list
2026-09-05 09:56:34 +08:00
elky
856accdced
test(data): expect revoked API-key ciphertext on import
2026-09-05 05:07:55 +08:00
elky
92749b4d6e
fix(models): classify external catalog fetch failures
2026-09-05 04:56:29 +08:00
elky
f08c2e6729
test(data): expect anonymized deleted API key names
2026-09-05 04:56:14 +08:00
elky
e420bc6324
fix(ci): make postgres bootstrap tests apply pending migrations
2026-09-05 04:45:07 +08:00
elky
d723fb92d3
fix(image): validate signatures and preserve output mime
2026-09-05 04:08:20 +08:00
elky
5b1de5f921
fix(tunnel): allow exact private relay hosts
2026-09-05 03:57:02 +08:00
elky
7ed48e7b58
fix(data): make postgres snapshot migrations idempotent
2026-09-05 03:44:10 +08:00
elky
af712ebdbf
test(gateway): keep capture limit fixtures test-only
2026-09-05 03:35:56 +08:00
elky
33d5cd5993
fix(ci): align lint-safe security paths
2026-09-05 03:19:53 +08:00
elky
f5e1420ee6
fix(runtime): tolerate Linux socket device identity
2026-09-05 02:43:42 +08:00
elky
b37b252b14
fix(ci): satisfy protocol utility clippy checks
2026-09-05 02:37:41 +08:00
elky
0097ea89ad
fix(ci): document fixed tunnel auth transcripts
2026-09-05 02:31:57 +08:00
elky
10e63507f0
test(oauth): make antigravity exchange fixture deterministic
2026-09-05 01:48:12 +08:00
elky
9ff4d73d5c
fix(merge): align security contracts with latest main
2026-09-05 01:31:21 +08:00
elky
0e3bd7eff4
merge(main): sync latest main into security branch
2026-09-05 00:30:16 +08:00
elky
1c89b5f9ab
fix(models): allow manual entry during catalog load
2026-09-04 23:57:50 +08:00
elky
cdbbda40a6
fix(tunnel): guard private owner relay targets
2026-09-04 23:44:46 +08:00
elky
29a9d608d9
fix(models): keep manual creation available on catalog failure
2026-09-04 23:11:23 +08:00
elky
c6718754d3
fix(metrics): redact upstream admission target labels
2026-09-04 22:25:36 +08:00
elky
afdd033745
fix(admin): validate cyber failover setting
2026-09-04 21:47:24 +08:00
elky
d5f54ffe8b
fix(image): scope synthetic DNS to ChatGPT storage
2026-09-04 21:41:14 +08:00
elky
f5ec76c5c8
fix(models): isolate legacy catalog rows during fetch
2026-09-04 21:31:57 +08:00
elky
784a1e0611
test(oauth): make antigravity fixtures deterministic
2026-09-04 21:12:29 +08:00
elky
507cb33089
fix(workers): isolate malformed catalog proxy rows
2026-09-04 21:12:01 +08:00
elky
b08fa3bdb6
fix(network): preserve remote DNS semantics for SOCKS proxies
2026-09-04 21:10:55 +08:00
elky
018af84d7d
fix(usage): enforce canonical metadata projection
2026-09-04 20:42:24 +08:00
elky
36e9d21e3f
fix(logging): sanitize transport error display
2026-09-04 19:49:01 +08:00
elky
b72b6ab137
fix(workers): isolate legacy catalog credentials
2026-09-04 19:42:10 +08:00
elky
7c5cce4b3c
fix(logging): redact oauth retry transport errors
2026-09-04 19:10:03 +08:00
elky
9362c34fcd
fix(network): cover regional Kiro service origins
2026-09-04 19:09:46 +08:00
elky
e89c3aa674
fix(models): resolve external catalog through configured proxy
2026-09-04 18:56:34 +08:00
elky
d6894b5532
fix(oauth): tolerate synthetic DNS for trusted identity origins
2026-09-04 18:08:32 +08:00
elky
635c6765d9
fix(network): scope synthetic DNS exceptions for oauth and payments
2026-09-04 18:08:22 +08:00
elky
c005700a7e
fix(network): tolerate synthetic DNS for trusted origins
2026-09-04 17:25:53 +08:00
elky
c142d39951
feat(http): expose narrow benchmarking fake-ip predicate
2026-09-04 16:13:19 +08:00
elky
2d17d4b73f
refactor(models): clarify online pricing source label
2026-09-04 14:16:22 +08:00
elky
499942e3e7
fix(models): surface external catalog failures promptly
2026-09-04 14:00:59 +08:00
elky
12571764bc
fix(models): support fake-ip DNS for official catalog
2026-09-04 13:52:34 +08:00
elky
1e13fa032c
fix(frontend): fail fast on deterministic refresh errors
2026-09-04 13:24:17 +08:00
elky
47b21a25d3
chore(frontend): refresh browser compatibility data
2026-09-04 13:21:48 +08:00
elky
45a3ba8829
fix(frontend): avoid blocking public routes on invalid session
2026-09-04 13:14:16 +08:00
elky
4e47c00154
fix(dev): bootstrap embedded web dependencies
2026-09-04 12:03:57 +08:00
elky
313a637982
refactor(data): drop sqlite no-op migration
2026-09-04 11:47:05 +08:00
elky
bac6d6866a
refactor(data): remove unpublished legacy cleanup migrations
2026-09-04 11:26:59 +08:00
elky
579f2c7cc1
feat(security): harden gateway boundaries and usage policies
...
Consolidate subscription usage policy enforcement, privacy-safe persistence, and gateway security hardening into one reviewable change.
Includes bounded HTTP and execution envelopes, header and protocol guards, DNS and relay validation, authentication and secret projection hardening, secure backup/install paths, and regression coverage.
2026-09-04 03:45:52 +08:00
elky
ddcbeb3ae9
Merge remote-tracking branch 'origin/main' into worktree-linear-enchanting-bunny
2026-09-03 22:32:25 +08:00
elky
95cbd43097
test(gateway): align local execution fixtures with routing
2026-09-03 22:10:11 +08:00
elky
670d5e8d33
Merge remote-tracking branch 'origin/main' into worktree-linear-enchanting-bunny
2026-09-03 20:49:18 +08:00
elky
1de2e70d41
test(gateway): seed default routing strategy in request fixtures
2026-09-03 20:39:48 +08:00
elky
4291a91dc0
test(gateway): pass routing policy to affinity effects
2026-09-03 15:50:53 +08:00
elky
9309ad844f
test(gateway): align routing fixtures with strategy policies
2026-09-03 14:11:15 +08:00
elky
058660ec2e
fix(data): include routing order in postgres snapshot
2026-09-03 12:51:37 +08:00
elky
668bf5e40f
test(data): include latest migration snapshot
2026-09-03 12:27:12 +08:00
elky
77f93c638d
Merge codex/routing-strategy-consolidation into main
2026-09-03 12:00:51 +08:00
elky
d0c0996b9f
Merge origin/main into provider billing form fix
2026-09-03 11:36:49 +08:00
elky
214f3d6406
fix(providers): hide billing fields in provider form
2026-09-02 23:17:01 +08:00
fawney19
cae9aa4134
Merge pull request #784 from fawney19/worktree-linear-enchanting-bunny
...
feat(routing): move sticky-key retries into routing policy with lazy attempts
2026-09-02 20:56:03 +08:00
elky
7323d41fbe
feat(routing): move sticky-key retries into routing policy with lazy attempts
...
Replace the provider/endpoint max_retries fields as the source of same-key
retries with a routing policy setting, sticky_key_attempts (default 2). Only
the first-ranked candidate is retried on the same key; every failover
candidate gets a single attempt so failover keeps advancing instead of
retrying each fallback key.
Materialize exactly one attempt per candidate and derive same-key retries in
the attempt loop after a candidate-scoped failure, so the retry budget no
longer inflates up-front materialization and needs no upper bound. The budget
travels in the report context; retries reuse the plan with a fresh candidate
id and incremented retry index. Pool groups only retry their first key within
the retry-index stride.
Expose the setting in the routing profile editor and the set_scheduling rule
action, and drop the max_retries input from the provider form.
2026-09-02 20:48:40 +08:00
fawney19
e3644c6142
Merge pull request #779 from fawney19/worktree-linear-enchanting-bunny
...
feat(routing): make routing profiles the sole scheduler policy source
2026-09-02 17:16:57 +08:00
elky
415b2da81b
feat(routing): make routing profiles the sole scheduler policy source
...
Bootstrap an enabled system-default routing group from the legacy
scheduler config keys on startup, resolve the default ordering config
from that group before falling back to the legacy keys, and stop merging
keep_priority_on_conversion with the legacy flag when a policy is
resolved. Thread the policy-derived ordering config into candidate
preselection so it no longer reads system config independently.
Add per-API-format key priority overrides so a key serving several
formats keeps independent ordering, matching the legacy
global_priority_by_format semantics. Expose keep_priority_on_conversion
in the routing profile editor and read the effective policy in the
model routing preview, monitoring metrics and provider page badge.
2026-09-02 17:04:04 +08:00
elky
166236c2ee
Merge origin/main into CI dependency fix
2026-09-02 12:30:31 +08:00
elky
611c29f1f5
ci: install VSCodex web dependencies in nightly build
2026-09-02 11:17:06 +08:00
elky
d5f34b2ee2
feat(codex): add provider outbound policy boundary
2026-09-01 21:21:42 +08:00
fawney19
715f2773c3
Merge pull request #773 from fawney19/codex/codex-fingerprint-convergence
...
refactor(codex): generalize fingerprint convergence
2026-09-01 17:27:04 +08:00
elky
d07dc86376
refactor(codex): generalize fingerprint convergence
2026-09-01 17:05:54 +08:00