LibreChat/e2e/specs/mock
Danny Avila e0d5e11cdf
⏱️ feat: Show Elapsed Time Under the Streaming Response (#15167)
* ⏱️ feat: Show Elapsed Time Under the Streaming Response

A minimalist elapsed-time indicator (5s, then 1m 5s) occupies the footer
slot the hover actions vacate while a response generates, anchored to a
per-index submission-start timestamp so remounts (new-conversation id
hydration, navigation) never reset it. The once-per-second tick is
component-local state, so streaming rows never re-render on its account.

* 🧭 fix: Keep the Original Elapsed Baseline When Reattaching a Stream

Codex round 1: resume-on-load restamped the anchor at reattach time, so
navigating away from a still-streaming conversation and back restarted
the reading at 0s — the exact reset the atom exists to prevent. Resume
paths now leave the anchor alone: a same-session return keeps its ask
baseline, and a reload (atom empty) falls back to the indicator's mount
time, which is what the stamp produced anyway.

* 🪗 fix: Scope the Elapsed Timer to Its Own Generation, Localized and Spoken

Codex round 2, all four findings:

- The anchor is cleared on every terminal path (final, error, abort
  fallback), and resume-on-load only fills an empty one — so a run another
  client started never inherits a stale baseline, while a same-session
  reattach still keeps its original start.
- The indicator additionally requires the newest sibling position:
  latestMessageId follows the selected branch, so a settled older sibling
  paged to mid-regeneration satisfied the latest+submitting gate and got a
  counting timer under settled content.
- Visible digits now come from the shared run-step duration formatter
  (Intl.NumberFormat per locale), replacing the raw-number interpolations.
- The compact reading is aria-hidden with a spoken 'N seconds elapsed'
  equivalent beside it, per the house duration-label pattern; still no
  aria-live, so the tick never announces.
2026-08-24 11:36:36 -04:00
..
activity-labels.spec.ts 🧭 fix: Re-Anchor Parent Activity Phase Bounds (#14741) 2026-08-11 10:16:57 -04:00
activity-phases.spec.ts 🪄 feat: Smooth Activity Phase Transitions (#14832) 2026-08-14 11:57:48 -04:00
agent-file-ownership.spec.ts 🧷 fix: Align Agent File Attachment Ownership (#14149) 2026-07-07 16:23:48 -04:00
agent-handoffs.spec.ts 🧷 ci: Enforce Durable Agent Finalization for E2E tests (#14740) 2026-08-11 08:27:50 -04:00
agent-skills-added.spec.ts 🧩 fix: Harden Agent Skill Lifecycles End to End (#14429) 2026-07-25 08:19:12 -04:00
agent-skills.spec.ts 🧩 fix: Harden Agent Skill Lifecycles End to End (#14429) 2026-07-25 08:19:12 -04:00
agents.helpers.ts 🛰️ chore: bump @librechat/agents to v3.4.0, cover streamed subagent results e2e (#14647) 2026-08-05 22:25:03 -04:00
agents.spec.ts 🧲 refactor: Consolidate Claude Prompt Cache and Context Checks (#15008) 2026-08-20 12:18:50 -04:00
app-load.spec.ts ci: Add mock e2e coverage for agents, prompts, MCP, and chat flows (#13589) 2026-06-10 09:06:52 -04:00
attachment-preview-loop.spec.ts 🐛 fix: Prevent Infinite Render Loop on Code-Execution File Preview (#13922) 2026-06-23 16:34:43 -04:00
auth.spec.ts 🛬 fix: Coalesce Auth Recovery into a Single Refresh Flight (#13618) 2026-06-09 12:04:12 -04:00
background-tools.spec.ts 🧵 feat: Background Tool Calls for Agents & Model Specs (#14197) 2026-07-13 12:51:36 -04:00
bookmarks.spec.ts 🔖 fix: Decrement Bookmark Counts When Deleting Conversations (#13830) 2026-06-18 08:37:08 -04:00
chat.spec.ts 🧷 ci: Enforce Durable Agent Finalization for E2E tests (#14740) 2026-08-11 08:27:50 -04:00
completion.spec.ts 🧷 ci: Enforce Durable Agent Finalization for E2E tests (#14740) 2026-08-11 08:27:50 -04:00
content-filters.helpers.ts 🛂 feat: Filter Model-Bound Content by Source (#14425) 2026-08-21 22:43:32 -04:00
content-filters.persisted.spec.ts 🛂 feat: Filter Model-Bound Content by Source (#14425) 2026-08-21 22:43:32 -04:00
content-filters.submissions.spec.ts 🛂 feat: Filter Model-Bound Content by Source (#14425) 2026-08-21 22:43:32 -04:00
conversation-management.spec.ts 🧽 fix: Clear Deleted Chats From Message Cache (#14270) 2026-07-14 18:05:16 -04:00
db.ts 📸 fix: Guard Screenshot Export Against Main-Thread Freezes (#14733) 2026-08-10 22:47:50 -04:00
deferred-tools-hitl.spec.ts 🍡 feat: Batched User Questions With A Single Bounded Answer Form (#14737) 2026-08-11 01:06:16 -04:00
deployment-skills.spec.ts 🗂️ feat: Add Deployment Skill Directory (#13523) 2026-06-05 10:24:28 -04:00
enforced-model-specs.spec.ts 🪃 fix: Restore Raw Spec Fallback for Enforced Presets (#13804) 2026-06-16 21:10:22 -04:00
export.spec.ts perf: Optimize First Load of Large Conversations (#14901) 2026-08-16 19:45:21 -04:00
helpers.ts 💬 style: Unify Message Row Layout and Edit Surfaces (#14770) 2026-08-13 19:30:39 -04:00
hover-actions.spec.ts ⏱️ feat: Show Elapsed Time Under the Streaming Response (#15167) 2026-08-24 11:36:36 -04:00
isolation.spec.ts 🎭 feat: Add Credential-Free Playwright Smoke Suite with a Local Mock LLM (#13472) 2026-06-02 16:36:39 -04:00
mcp-allowlist-override.spec.ts 🔐 fix: Honor Admin-Panel MCP Allowlist Overrides Without Restart (#13814) 2026-06-17 20:14:53 -04:00
mcp-ephemeral.spec.ts 🔌 fix: Preserve Ephemeral MCP Selections Across Model Switches (#13697) 2026-06-11 18:13:41 -04:00
mcp-fixture-isolation.spec.ts 📡 fix: Refresh MCP Tools After List-Changed Notifications (#14686) 2026-08-08 13:50:21 -04:00
mcp-oauth-readiness.spec.ts 🎟️ fix: Reconcile MCP OAuth Readiness Across Pods (#14629) 2026-08-05 19:42:26 -04:00
mcp-tool-list-changed.spec.ts 📡 fix: Refresh MCP Tools After List-Changed Notifications (#14686) 2026-08-08 13:50:21 -04:00
mcp.spec.ts 🧷 ci: Enforce Durable Agent Finalization for E2E tests (#14740) 2026-08-11 08:27:50 -04:00
memory.spec.ts 🧠 feat: Add Memory as an Agent Capability with Inline Tools and Ephemeral Badge (#13869) 2026-06-24 17:14:13 -04:00
mermaid-artifacts.spec.ts 🧜 feat: Open Mermaid Diagrams as Artifacts with SVG/PNG Export (#14713) 2026-08-09 09:02:42 -04:00
message-edit-layout.spec.ts 💬 style: Unify Message Row Layout and Edit Surfaces (#14770) 2026-08-13 19:30:39 -04:00
message-tree.spec.ts 💬 style: Unify Message Row Layout and Edit Surfaces (#14770) 2026-08-13 19:30:39 -04:00
message-visual.spec.ts 💬 style: Unify Message Row Layout and Edit Surfaces (#14770) 2026-08-13 19:30:39 -04:00
model-spec-branding.spec.ts feat: Surface Model Spec Branding on Landing and Selector (#13662) 2026-06-10 21:02:22 -04:00
model-spec-icons.spec.ts 🪞 fix: Preserve Model Spec Icons Across Stream Resume and Abort (#13603) 2026-06-08 17:14:21 -04:00
model-spec-skills.spec.ts 🧩 fix: Harden Agent Skill Lifecycles End to End (#14429) 2026-07-25 08:19:12 -04:00
model-spec-starters.spec.ts 💬 feat: Conversation Starters for Model Specs (#13710) 2026-06-13 11:38:49 -04:00
model-switching.spec.ts 🧷 ci: Enforce Durable Agent Finalization for E2E tests (#14740) 2026-08-11 08:27:50 -04:00
permissions.spec.ts 🪪 fix: Filter ACL Principal Details (#13524) 2026-06-05 19:06:41 -04:00
projects.spec.ts 📌 fix: Preserve Project Scope Through Enforced Model Specs (#13586) 2026-06-08 08:41:27 -04:00
prompts.spec.ts 🧭 refactor: make the side panels behave the same way (#14695) 2026-08-08 23:15:46 -04:00
quotes.spec.ts ci: Settle the E2E Reply Before the Double-Click Quote (#14840) 2026-08-15 10:48:11 -04:00
schedules-execution.spec.ts 🗂️ feat: Scope Scheduled Chats to Chat Projects (#15056) 2026-08-21 11:09:04 -04:00
schedules.spec.ts ⏱️ feat: Run Scheduled Chats Through Durable Agent Triggers (#14939) 2026-08-20 11:51:30 -04:00
shared-links.spec.ts 🔗 feat: Shared Conversation Badge and Stable Share Links (#14712) 2026-08-09 08:14:54 -04:00
shortcuts.spec.ts ⌨️ fix: Honor defaultPrevented in Global Shortcut Dispatch (#14570) 2026-08-02 08:08:12 -04:00
sidebar.spec.ts 🐛 fix: Give the Header's Sidebar Toggle Its Own Test Id (#14850) 2026-08-14 20:34:03 -04:00
skill-file-authoring.spec.ts 📌 fix: Preserve Project Scope Through Enforced Model Specs (#13586) 2026-06-08 08:41:27 -04:00
soft-default.spec.ts 🏷️ fix: Persist the Ephemeral Agent's Display Label as Sender (#14899) 2026-08-16 19:50:30 -04:00
steering-escalation.spec.ts feat: Reliable Interrupt & Steer Escalation and Recovery (#14558) 2026-07-31 20:07:56 -04:00
steering.spec.ts feat: Reliable Interrupt & Steer Escalation and Recovery (#14558) 2026-07-31 20:07:56 -04:00
streaming.spec.ts 🧷 ci: Enforce Durable Agent Finalization for E2E tests (#14740) 2026-08-11 08:27:50 -04:00
subagent-activity.spec.ts 🫂 fix: Route Subagent Activity Through the Chat Renderer (#15137) 2026-08-23 15:20:28 -04:00
subagent-results.spec.ts 🧷 ci: Enforce Durable Agent Finalization for E2E tests (#14740) 2026-08-11 08:27:50 -04:00
thread-fold.spec.ts 🎨 refactor: adopt the @librechat/client design system (semantic color tokens + component migration) (#13879) 2026-08-06 09:15:17 -04:00
tool-approvals.spec.ts perf: Warm Feature Catalogs in the Background After First Paint (#15047) 2026-08-21 20:33:29 -04:00
two-factor.spec.ts 🧪 test: Add E2E Regression For 2FA framer-motion Crash (#13513) 2026-06-04 13:25:02 -04:00
usage.spec.ts feat: Context Gauge Hover Reveal and Breakdown Motion Polish (#15038) 2026-08-21 11:34:36 -04:00