chat-ui
8d849a08 - Collapse Slack framing on user turns in HuggingChat (#2715)

Commit
16 days ago
Collapse Slack framing on user turns in HuggingChat (#2715) * Collapse Slack framing on user turns in HuggingChat Slack turns store the harness framing (instructions and quoted thread context) ahead of the request, so HuggingChat showed it as the message. Slack-managed conversations now show only the request, with the framing behind a collapsed "Slack context" toggle. The model input is unchanged. A shared splitter folds every framing block, so queued follow-ups joined into one turn render cleanly, and splits on each block's own marker so a request quoting the marker phrase stays intact. The Slack viewer uses the same splitter. Removing the bot mention no longer leaves a double space, and the read-only Slack notice gets an opaque background. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Trim Slack framing tests to one splitter test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Drop inline comments Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Keep Slack request whitespace when removing the bot mention Collapsing every run of spaces also flattened indentation in pasted code before it reached the model. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Let Slack ML Intern sessions be shared from HuggingChat (#2717) The share button was hidden for Slack-managed conversations, and the read-only guard rejected POST /conversation/[id]/share, so their owners could not create a link or download the trace. A share link is a snapshot and cannot steer the Slack run, so it is exempt from the guard; every other Slack conversation mutation is still rejected. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> * Anchor Slack framing to block boundaries and collapse it on queued follow-ups The framing regex could start inside a request that quoted the framing text and swallow user text up to the next follow-up's marker. Only match at the start of a message or after the blank-line join, and require a Slack user id. Queued Slack follow-ups (live bubbles and pending chips) now show just the request too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Slack: show only chosen answers and skip replies that tag someone else (#2718) * chore: upgrade mongodb driver to 6.x (#2716) * chore: upgrade mongodb driver to 6.x Bump the Node.js MongoDB driver from ^5.8.0 (5.9.2 installed) to ^6.21.0. Driver 6.x changed the default of `includeResultMetadata` to `false`, so `findOneAndUpdate` now returns the document itself instead of a `ModifyResult`. Every call site that read `result.value` is updated to use the returned document directly; otherwise lease/claim logic (queued inputs, Slack leases, ML registry pollers, parked calls) would silently stop matching rows. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * fix: write a Buffer to the GridFS upload stream Driver 6.x GridFSBucketWriteStream no longer accepts an ArrayBuffer chunk (ERR_INVALID_ARG_TYPE). Reuse the already-read ArrayBuffer and wrap it in Buffer.from instead of casting it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> * Let Slack ML Intern sessions be shared from HuggingChat The share button was hidden for Slack-managed conversations, and the read-only guard rejected POST /conversation/[id]/share, so their owners could not create a link or download the trace. A share link is a snapshot and cannot steer the Slack run, so it is exempt from the guard; every other Slack conversation mutation is still rejected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Slack: show only chosen answers and skip replies that tag someone else Answered question cards drop the options nobody picked and show each question with a ✅ line for its answer. A message that opens by tagging another user, without tagging ML Intern, is not sent to the harness; the sender gets a private note instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Switch Omni to DeepSeek-V4.1-Flash-1017 and sync models from router (#2719) * feat: sync models from router (+4 added, 2 reasoning-capable, 4 artifacts, -4 removed) Added: - MiniMaxAI/MiniMax-M3.1-Flash (reasoning, artifacts): model card documents reasoning_effort, served by novita which documents interleaved thinking. - zai-org/GLM-4.7-FP8 (reasoning, artifacts): back on the router, restored with the same entry it had before #2710. - Qwen/Qwen3.8-Flash-Next-FP8 (artifacts): not flagged for reasoning. Its only provider (nscale) does not document reasoning_effort, and a router probe showed only a small low vs xhigh difference on a single sample with intermittent 503s. Worth revisiting once another provider serves it. - BSC-LT/ALIA-40b-instruct-2606 (artifacts): no thinking mode. Removed (no longer served by the router): - aisingapore/Nemotron-SEA-LION-v4.8-120B-A12B - CohereLabs/c4ai-command-r7b-arabic-02-2025 - zai-org/GLM-4.5 - Qwen/Qwen2.5-VL-72B-Instruct * chore(router): switch Omni to deepseek-ai/DeepSeek-V4.1-Flash-1017 DeepSeek-V4.1-Flash-1017 is a minor update to V4.1-Flash with better reasoning, coding, agentic, and vision scores and shorter outputs. It becomes the primary model on the default, multimodal, and agentic routes, and the multimodal and tools bypass env vars point at it in prod and dev. V4.1-Flash moves to first fallback on every route ahead of the existing chain. The router docs sample is refreshed to match. Checked through the router before switching: text with reasoning_effort, image input, and tool calls on auto routing, novita, and baseten. * Slack: keep DMs and blank answers clear; skip group-tagged replies - DMs skip the "tagged someone else" rule: only the bot reads them. - A reply that opens with a user group, @here, @channel or @everyone is held back like one that opens with a user tag. - Answered cards show "_No answer_" for blank optional questions; skipped cards keep the bare question. - Docs: a leading tag is how to keep a channel message out of the run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Arek Borucki <68437078+arekborucki@users.noreply.github.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: Victor Muštar <victor.mustar@gmail.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Arek Borucki <68437078+arekborucki@users.noreply.github.com> Co-authored-by: Victor Muštar <victor.mustar@gmail.com>
Author
Parents
Loading