Repository navigation
feat: add bounded local streaming chat - #1894
Merged
Merged
Conversation
15 of 21 tasks
inureyes
force-pushed
the
feature/issue-1845-streaming-chat
branch
2 times, most recently
from
September 15, 2026 01:36
132be64 to
ac93afd
Compare
Add the authenticated Chat workflow with frozen turn identities, partial cancellation, separate reasoning and inert tool inspection, bounded local image admission, safe lazy Markdown, and explicit IndexedDB history consent. Project actual resolved image and inference body limits through bootstrap and prevent aborted readers from resolving as successful EOF. Frontend unit/type/lint and targeted CPU media/whole-bootstrap tests pass. Shared Settings defaults and observation-only selection wiring are coordinated with #1846 and #1847 before final acceptance; hosted browser and real dense/hybrid/VLM checks remain pending. Refs #1845, #1834.
Preserve text-only chat when image admission is disabled, reject falsely completed imported turns, and validate current image limits across the whole replayed transcript. Fence late stop observations, use the actual shared theme tokens, and add regression evidence plus bilingual review reports. The independent review fixes pass targeted frontend tests. Settings defaults, observation-only selection integration, hosted browser evidence and isolated real-model acceptance remain explicit pre-merge gates owned by the epic integration sequence. Refs #1845, #1834.
Node's ESM loader requires explicit JSON import attributes in the Playwright fixture module. Add those attributes and provide a canonical model-scoped runtime response so model selection tests do not manufacture an unrelated observation failure. Playwright test discovery runs without launching a browser. The original hosted module-load failure is retained in the validation log; actual browser execution remains a hosted gate. Refs #1845.
Hosted browser checks reached both Chat workflows and found an undersized Settings link plus shrinking privacy checkboxes at 390 pixels. Give local navigation links an explicit target box and prevent checkbox flex shrink while keeping the shared semantic controls and screenshot thresholds unchanged. The original failure recorded 20 passing browser checks and two failing Chat target-size checks. Hosted browser validation will rerun on the corrected bundle; no local browser or GPU execution is claimed. Refs #1845.
Add explicit component fixtures for context rejection, authentication expiration, unavailable servers and empty completed transports. Each retains an error outcome without automatic retry or a false completed response. Refresh only the bundle source manifest; production asset bytes are unchanged. All 144 frontend unit tests, TypeScript and ESLint pass locally. Production-equivalent source 9e9f0cd passed 22 hosted browser checks and deterministic bundle verification. Shared Settings/Activity integration and real-model acceptance remain pending. Refs #1845.
Use canonical Settings validation and memory-only defaults while freezing each dispatched turn. Consume overrides only after local request admission, preserve rejected drafts, and extend real acceptance with served CSP, accessibility and observed Stop lease checks.
Embed the final Chat, Models, Settings and Activity union after their canonical schema and state integrations. Preserve deterministic assets and strict production acceptance gates.
inureyes
force-pushed
the
feature/issue-1845-streaming-chat
branch
from
September 15, 2026 02:35
ac93afd to
988493f
Compare
Ignore only trim-empty style attributes left by Playwright screenshot caret cleanup, retaining strict nonempty inline-style rejection. Persist private synthetic reply, screenshot and Stop evidence before later assertions so the list reporter does not discard it.
Record the measured source, real dense/hybrid/VLM semantic and Stop verification, exact checkpoint provenance and corrected screenshot instrumentation. Preserve deferred full Metal and native accessibility gates.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Verified acceptance
9385bcb7ef64386180ea62b3324540eef713a4e2, integrated on merged Settings, Activity and Models. Reports-only follow-up does not change the implementation.988493fc; Rust and served asset bytes remain identical at the measured source, except manifest metadata and test/harness changes.Remaining epic scope
Broad final workspace Metal verification belongs to #1848. GPU timeout root-cause investigation and Safari/VoiceOver/native 200% manual checks remain explicitly deferred, not passed. Bilingual reports include exact binary/checkpoint hashes and evidence boundaries.
Closes #1845. Refs #1834.