Skip to content

Dev#1205

Merged
Classic298 merged 7 commits intomainfrom
dev
Apr 21, 2026
Merged

Dev#1205
Classic298 merged 7 commits intomainfrom
dev

Conversation

@Classic298
Copy link
Copy Markdown
Collaborator

No description provided.

claude and others added 7 commits April 21, 2026 14:54
- outlet() for /api/chat/completions runs inline only for non-streaming
  API requests today; streaming support is not yet there. Update the
  filter reference, filter tutorial, and API endpoints page to reflect
  this and stop over-promising inline outlet for all API traffic.
- Expand the Disk I/O Latency section with concrete NFS/SMB/Azure Files
  guidance: recommend moving webui.db to local disk, migrating to
  PostgreSQL, or (as a workaround) DATABASE_POOL_SIZE=1 plus
  DATABASE_SQLITE_PRAGMA_BUSY_TIMEOUT=30000.

https://claude.ai/code/session_01K54Vwr1NMczgh9vmQkWe17
Strengthen the NFS/SQLite guidance to state plainly that the only
officially supported configurations are PostgreSQL or SQLite on
directly-attached SSD/NVMe. NFS, SMB, Azure Files, CephFS, network PVCs,
and any other remote / low-IOPS storage are explicitly not recommended
for SQLite. Anything other than local SSD should use PostgreSQL.

https://claude.ai/code/session_01K54Vwr1NMczgh9vmQkWe17
Make it explicit that SQLite over NFS/SMB/network filesystems being
unsupported is a stance from the SQLite project itself (SQLite FAQ #5),
not an Open WebUI policy. Open WebUI inherits the constraint because it
uses SQLite — and database corruption risk on those filesystems is also
called out by SQLite upstream.

https://claude.ai/code/session_01K54Vwr1NMczgh9vmQkWe17
…vior

Previous revisions of the outlet documentation overstated inline
execution during /api/chat/completions. Based on a line-level audit of
backend/open_webui/utils/middleware.py (dev 493f2384 and main 9bd84258):

- On main (and any release cut from it), /api/chat/completions does not
  invoke outlet() at all. /api/chat/completed remains the only path.
- On dev, outlet() can fire inline but only when chat_id AND id are both
  present, the chat is owned by the caller, and the request is
  non-streaming. Even then, the inline handler updates the DB row and
  emits a chat:outlet WS event but does not rewrite the HTTP response
  body, so pure API consumers don't see the filtered output over HTTP.
- Streaming requests that satisfy the event_emitter gate are designed
  for WebUI-style clients: the server consumes the stream itself and
  routes via the user's WebSocket, leaving the HTTP streaming caller
  with an effectively empty body.

Docs now explicitly split the matrix by release, drop the
local:<uuid> "synthesize IDs in inlet()" workaround (the ownership
check and the unchanged HTTP response body mean it was never the
reliable escape hatch it looked like), and point API integrations at
/api/chat/completed as the supported surface today.

https://claude.ai/code/session_01K54Vwr1NMczgh9vmQkWe17
@Classic298 Classic298 merged commit b564b3e into main Apr 21, 2026
1 check failed
@pr-validator-bot
Copy link
Copy Markdown

ℹ️ Documentation PR Guidelines

👋 Welcome! This is an automated message posted on all new documentation PRs to help guide our contributors. Just because this comment appeared doesn't mean you have done anything wrong!

Please ensure you're using the correct branches:

Target branch (where you're merging TO):

  • dev branch: For documentation related to upcoming Open WebUI releases (new features, new environment variables, anything dependent on unreleased versions and unreleased features/fixes/changes)
  • main branch: For content that can go live immediately (fixes, tutorials, documentation not dependent on unreleased features)

Source branch (where you're merging FROM):

  • If targeting dev, create your branch from your fork's dev branch
  • If targeting main, create your branch from your fork's main branch
  • ⚠️ Mismatched branches can and will result in unwanted file changes being included in your PR!

If your docs PR depends on a pending PR in open-webui/open-webui:

  • Convert this PR to DRAFT mode!
  • Link to the related main repo PR in your description for clarity
  • We'll review both together once the PR on the main repo is merged

Please adjust your PR target branch, source branch, and/or draft status accordingly if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants