fawney19
1be445423c
Merge remote-tracking branch 'origin/pr/558'
2026-05-25 01:22:03 +08:00
fawney19
cc3ce8b5d7
Merge remote-tracking branch 'origin/pr/557'
2026-05-25 01:08:22 +08:00
fawney19
d4ae6e0e64
fix: read imported usage aggregates in dashboards
2026-05-25 00:51:46 +08:00
MMEXA
480579a0d5
fix(gateway): expire provider key circuit cooldowns
2026-05-25 00:40:38 +08:00
fawney19
e2d5fc9dfb
Preserve usage data in system imports
2026-05-24 21:40:48 +08:00
Codex
3bf7469d30
修复 ChatGPT Web 生图 usage 估算
2026-05-24 18:50:14 +08:00
Codex
66837b7d7f
修复 ChatGPT Web 生图发起即扣额度
2026-05-24 18:50:14 +08:00
Codex
14b182d09b
修复 ChatGPT Web 生图调用起始预扣额度
2026-05-24 18:50:14 +08:00
Codex
9dba6ec1d9
修复 ChatGPT Web 生图预扣与 Free 限额继承
2026-05-24 18:50:14 +08:00
Codex
218ca8e6eb
修复 ChatGPT Web 生图额度递减显示
2026-05-24 18:50:14 +08:00
fawney19
576918daa5
Optimize provider scheduler database hotspots
2026-05-24 15:47:56 +08:00
fawney19
db32b1d982
fix(usage): ignore truncated stream captures for terminal inference
2026-05-23 22:16:02 +08:00
fawney19
6b1c1e4f50
Merge remote-tracking branch 'origin/pr/547'
2026-05-23 22:03:17 +08:00
fawney19
8087a98c9d
Merge remote-tracking branch 'origin/pr/475'
...
# Conflicts:
# apps/aether-gateway/src/handlers/admin/provider/oauth/dispatch/refresh/execution.rs
# apps/aether-gateway/src/handlers/admin/provider/oauth/dispatch/refresh/response.rs
# apps/aether-gateway/src/handlers/admin/provider/oauth/errors.rs
# apps/aether-gateway/src/handlers/admin/provider/oauth/quota/shared.rs
# apps/aether-gateway/src/state/oauth.rs
# apps/aether-gateway/src/tests/control/admin/oauth.rs
# crates/aether-admin/src/provider/quota.rs
2026-05-23 21:26:22 +08:00
ZheFox
0f2a96554f
Merge branch 'fawney19:main' into main
2026-05-23 19:54:24 +08:00
fawney19
4b66cadf15
Merge remote-tracking branch 'origin/pr/544'
2026-05-23 18:41:52 +08:00
fawney19
6447fda852
fix: harden tunnel security and timeout handling
2026-05-23 14:17:04 +08:00
fawney19
74f7348529
Merge remote-tracking branch 'origin/pr/535'
2026-05-23 13:00:18 +08:00
zhefox
91cb2bbbcc
fix(usage): refine stream terminal capture gating for OpenAI responses
2026-05-23 03:31:15 +08:00
zhefox
bd1e155332
fix(provider): normalize OpenAI chat tool history for Claude messages
2026-05-23 02:45:04 +08:00
fawney19
ab048b8a03
fix monitoring trace lookup fallback
2026-05-23 01:22:24 +08:00
zhefox
e5ce2ac7a4
fix(usage): detect missing terminal events in stream reporting
2026-05-23 00:47:36 +08:00
fawney19
74c82d9948
Merge remote-tracking branch 'origin/main'
2026-05-22 23:59:05 +08:00
fawney19
d18b13a91a
fix: harden frontdoor and usage ingestion
2026-05-22 23:57:38 +08:00
fawney19
9af1507238
Merge pull request #545 from RWDai/feat/expand-client-types
...
feat: expand client type recognition
2026-05-22 18:36:53 +08:00
fawney19
6ef6cbade2
Fallback dashboard aggregate reads on schema mismatch
2026-05-22 17:52:36 +08:00
zhiqicloud
a4a5f70a10
Merge upstream/main into feat/one-click-update
2026-05-22 15:28:27 +08:00
RWDai
ca341703bc
feat(usage): infer additional client families
2026-05-22 15:27:39 +08:00
zhiqicloud
b59c3a9e3b
feat: support admin online update and deploy flow
2026-05-22 15:15:17 +08:00
fawney19
ecf6019ccb
Merge pull request #543 from zhefox/main
...
Accept Claude message bodies in OpenAI chat endpoints
2026-05-22 14:53:25 +08:00
zhefox
2a298de971
fix(provider): serialize Claude tool results as JSON strings
2026-05-22 14:41:27 +08:00
RWDai
33633637e5
Fix secure tunnel session handling
2026-05-22 14:35:43 +08:00
fawney19
8ede01ad4e
Merge remote-tracking branch 'origin/main'
2026-05-22 14:16:07 +08:00
zhefox
97de4ff8a3
fix(gateway): accept Claude Messages bodies on OpenAI chat endpoints
2026-05-22 14:09:51 +08:00
ZheFox
56abfdf39d
Merge branch 'fawney19:main' into main
2026-05-22 11:51:53 +08:00
zhefox
9b95fa4d95
fix(gateway): handle responses-shaped OpenAI chat bodies and SSE passthrough
2026-05-22 11:39:38 +08:00
fawney19
f341c573eb
Merge pull request #541 from AAEE86/main
...
feat(notification): add Bark push support
2026-05-22 11:24:11 +08:00
AAEE86
ce44d35eb6
feat(notification): add Bark push support
...
Add Bark as a notification-service delivery channel, including encrypted Device Key configuration, server URL/template settings, module status integration, and admin UI support.
2026-05-22 11:08:00 +08:00
RWDai
2e701a90c9
Complete secure tunnel encryption support
2026-05-22 09:47:28 +08:00
zhefox
507f2f8250
fix(usage): treat stream terminal failures as failures on HTTP 200
2026-05-22 09:34:22 +08:00
fawney19
2b32b9a445
Fix system data import export flows
2026-05-22 02:46:49 +08:00
fawney19
504c1ccb37
feat: restructure notification services
2026-05-22 01:45:46 +08:00
fawney19
d5e64d6ad9
Merge branch 'pr-503'
...
# Conflicts:
# apps/aether-gateway/src/handlers/admin/provider/summary/value.rs
# apps/aether-gateway/src/lib.rs
# apps/aether-gateway/src/maintenance/mod.rs
# apps/aether-gateway/src/maintenance/runtime/workers.rs
# frontend/src/api/endpoints/types/provider.ts
2026-05-22 00:19:23 +08:00
fawney19
0e6d7539ad
Merge remote-tracking branch 'origin/pr/538'
2026-05-21 23:12:42 +08:00
fawney19
d6eb41aa78
Merge remote-tracking branch 'origin/pr/536'
...
# Conflicts:
# apps/aether-gateway/src/execution_runtime/stream/execution.rs
2026-05-21 23:03:14 +08:00
fawney19
97997685b5
Merge remote-tracking branch 'origin/pr/498'
2026-05-21 22:56:43 +08:00
fawney19
ab0a90de97
fix(runtime-state): govern redis connections
2026-05-21 22:53:37 +08:00
zhefox
68d8f86dc6
fix(gateway): stop stream polling on downstream disconnect and preserve Codex cache keys
2026-05-21 22:26:14 +08:00
zhefox
77c2d91eb0
fix(gateway): drain downstream-disconnected streams and stop inferring cancelled usage
2026-05-21 20:30:44 +08:00
stabey and Claude Opus 4.7
cadc45c5b8
fix(data): cleanup uses failed candidate status instead of 504
...
The stale-pending cleanup task previously hardcoded status_code=504 and a
generic timeout message for every usage row it finalized. When a request
had already been observed as failing — e.g. upstream Connection reset by
peer, watchdog 504, or an authenticated 4xx — the cleanup overwrote that
context with a misleading "服务器超时" outcome and 504 status, hiding the
real cause from the dashboards and customer.
Pull the most recent failed/cancelled candidate per stale request_id and,
if present, finalize the usage row with the candidate's status_code
(defaulting to 502 when none was recorded) and error_message. Requests
that have no terminal candidate (truly stuck pending/streaming) keep the
existing 504 + timeout-message behavior, since they really are timeouts
from the cleanup's perspective. Applied to all three SQL backends with
parameterized UPDATE statements.
The Postgres failed-candidate lookup orders by
COALESCE(finished_at, started_at, created_at) DESC, matching the MySQL
and SQLite ORDER BY clauses so the three backends pick the same
"most recent terminal candidate" under every NULL combination of timing
columns.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-21 16:56:56 +08:00