A settled turn that recorded no live duration fell back to (Date.now()/1000) - session.pending_started_at. But pending_started_at is the start of an IN-FLIGHT turn, so for a settled turn it is either stale (a session that sat idle) or about a different pending turn — rendering a bogus 'Processed 15h 32m' on fresh conversations (#4930). Gate the fallback on a turn actually being in flight (active_stream_id || pending_user_message); otherwise return undefined (no duration shown) rather than a fabricated one. The recorded live duration (_turnDuration / base.turn_duration) still takes priority, so this only removes bogus durations, never a correct one. |
||
|---|---|---|
| .. | ||
| vendor | ||
| apple-touch-icon.png | ||
| assistant_turn_anchors.js | ||
| boot.js | ||
| commands.js | ||
| favicon-32.png | ||
| favicon-192.png | ||
| favicon-512.png | ||
| favicon-512.svg | ||
| favicon.ico | ||
| favicon.svg | ||
| i18n.js | ||
| icons.js | ||
| index.html | ||
| login.js | ||
| manifest.json | ||
| messages.js | ||
| onboarding.js | ||
| outline.js | ||
| panels.js | ||
| pwa-startup.js | ||
| sessions.js | ||
| style.css | ||
| sw.js | ||
| terminal.js | ||
| ui.js | ||
| workspace.js | ||