mirror of
https://github.com/cogwheel0/conduit.git
synced 2026-08-29 21:41:45 +00:00
Brings the chat streaming experience closer to upstream Open WebUI. - Model name: extract/display Open WebUI modelName (camel+snake), thread through the durable payload, preserve across streaming-error handling and server-snapshot adoption (incl. empty placeholders and empty-server-value edges). - Optimistic state: preserve locally-streamed assistant content/follow-ups when adopting a server snapshot, scoped to the streaming tail; metadata-union keeps local-only fields; consolidated streaming-error teardown (fail-by-message-id). - Fade caching: cache the opacity-1 span tree per content change and fade only the suffix via AnimatedBuilder (no per-frame markdown rebuild); widget spans only fade when fully past the boundary; surrogate/LaTeX/code offset alignment preserved. - Sidebar indicator: socket-driven active-chat set, optimistic setActive on task_ids with last-task-aware + token-guarded setInactive (incl. delayed done-recovery path), clear on logout. - Socket resume: reopening an in-flight chat streams token-by-token over the shared Socket.IO events envelope (REPLACE/APPEND, foreign message_id binding, nested-id extraction, chat-scope guard), with the 1s task poll demoted to a fallback that resolves the server message by the bound foreign id. Verification: build_runner + flutter analyze clean; affected suites green (new coverage for fade caching, active-chats sync, resume binding/finalize races, metadata preservation). Reviewed via Greptile (iterated) and CodeRabbit; Macroscope correctness check passing. |
||
|---|---|---|
| .. | ||
| markdown | ||
| adaptive_route_shell.dart | ||
| adaptive_toolbar_components.dart | ||
| assistant_detail_header.dart | ||
| chat_action_button.dart | ||
| chrome_gradient_fade.dart | ||
| conduit_components.dart | ||
| conduit_loading.dart | ||
| drawer_shell_page.dart | ||
| drawer_slot.dart | ||
| jovial_svg_image.dart | ||
| measure_size.dart | ||
| middle_ellipsis_text.dart | ||
| modal_safe_area.dart | ||
| model_avatar.dart | ||
| model_list_tile.dart | ||
| native_dropdown_button.dart | ||
| optimized_list.dart | ||
| responsive_drawer_layout.dart | ||
| sheet_handle.dart | ||
| sidebar_ios26_scaffold.dart | ||
| skeleton_loader.dart | ||
| themed_dialogs.dart | ||
| themed_sheets.dart | ||
| user_avatar.dart | ||
| web_content_embed.dart | ||
| webview_content_height.dart | ||