Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
11 changes: 11 additions & 0 deletions changelog/unreleased/inflight-flyghost-shrink-outcome.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
### English

- 1. Overview InflightLiveCard slot→Done/Failed fly-out now scales down toward the outcome control (shrink in flight) instead of staying near full slot size; after the hairline flash the Done/Failed pill does a short left-right wiggle + scale (stuffed-in feel).
- 2. Overview InflightLiveCard waiting rail keeps a selecting (选号) request visible on `/api/live` `queue` for at least 500ms after Start even after Bind — display-only; Acquire / pickNext are not delayed.
- 3. Overview InflightLiveCard Done/Failed are session counters while the card is expanded (bumped from live completions), not historical totals; rate-limit remaining chips, depth band labels, and cooldown pause styling are removed so the card stays in-progress only. Outcome sinks use a clearer icon chip + label.

### 中文

- 1. Overview「实时进行中」槽位→完成/失败飞出动画改为飞行中缩小落向结局按钮;落地描边闪一下后,完成/失败块再左右轻晃并缩放一点,像被塞进去。
- 2. Overview「实时进行中」等待队列在 Start 后至少保留 500ms 选号投影(即使已 Bind),仅影响 `/api/live` `queue` 展示,不拖延 Acquire / pickNext。
- 3. Overview「实时进行中」完成/失败改为展开会话内计数(随 live 完成事件累加),不是历史总量;去掉顶部限流剩余、深度图限流色带标签与冷却暂停样式,卡片只展示进行中;结局块图标与标签更清晰。
28 changes: 27 additions & 1 deletion frontend/scripts/mockInflight.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ run('applyLiveProjection routes fail via recent_completions', () => {
})
assert.equal(idleFail.jobs.length, 0)
assert.equal(idleFail.totals.done, 0)
assert.equal(idleFail.totals.failed, 0)
assert.equal(idleFail.totals.failed, 1)
assert.ok(idleFail.completions && idleFail.completions.length === 1)
assert.equal(idleFail.completions[0].ok, false)
assert.equal(idleFail.completions[0].id, 'live-acc-1')
Expand Down Expand Up @@ -189,6 +189,8 @@ run('applyLiveProjection last_error_kind fallback without completions', () => {
})
assert.ok(idle.completions && idle.completions.length === 1)
assert.equal(idle.completions[0].ok, false)
assert.equal(idle.totals.failed, 1)
assert.equal(idle.totals.done, 0)
})

run('applyLiveProjection success completion flies ok', () => {
Expand Down Expand Up @@ -226,6 +228,30 @@ run('applyLiveProjection success completion flies ok', () => {
recent_completions: [{ account_id: 'acc-ok', status: 'ok' }],
})
assert.ok(idle.completions && idle.completions[0].ok === true)
assert.equal(idle.totals.done, 1)
assert.equal(idle.totals.failed, 0)
const again = applyLiveProjection(idle, {
in_flight: 0,
rpm: 3,
workers: [
{
id: 'acc-ok',
name: 'ok',
provider: 'qoder',
busy: false,
progress: 0,
rate_limited: false,
},
],
rate_limits: [],
sticky: { bindings: 0, hits: 0, misses: 0, capacity: 64, ttl_seconds: 600 },
recent_completions: [
{ account_id: 'acc-ok', status: 'ok' },
{ account_id: 'acc-ok', status: 'error' },
],
})
assert.equal(again.totals.done, 2)
assert.equal(again.totals.failed, 1)
})


Expand Down
Loading
Loading