This commit is contained in:
Timothy Jaeryang Baek
2026-08-31 10:37:46 -04:00
parent cbcbf7e326
commit 59d3c5b064
2 changed files with 40 additions and 2 deletions

View File

@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.11.3] - 2026-08-31
### Fixed
- 💥 **Chat branches stay connected after reloads.** Replies saved under a previous message now stay listed under that previous message too, so branch arrows, exports, reloads, and later edits keep the full conversation visible. Chats already saved with the missing branch link are repaired when opened. [#29299](https://github.com/open-webui/open-webui/issues/29299)
- 🧱 **Upgrades fail clearly instead of starting half-updated.** If a database migration fails, Open WebUI now stops at the real migration error instead of continuing to start and then throwing confusing missing table or missing column errors such as `chat.timer_at`. This fixes the upgrade failure reported after moving from 0.11.0, 0.11.1, or 0.11.2. [#29280](https://github.com/open-webui/open-webui/issues/29280)
- 🔌 **Disconnect OAuth only appears when there is OAuth to disconnect.** MCP tool servers that use no authentication no longer show the Disconnect OAuth button. The button now appears only for an OAuth MCP server with a connected account. [#29296](https://github.com/open-webui/open-webui/issues/29296)
- 🔤 **Custom interface fonts reach more of the app.** The font chosen in Interface settings now applies through the main, primary, and secondary font paths, so dropdowns and other interface text do not randomly fall back to the default font.
### Changed
- 🌐 **Indonesian translation coverage was expanded.** More Indonesian text is now filled in for file counts, selected items, groups, filters, schedules, terminal refresh messages, stale file cleanup, and retrieved sources. [#29294](https://github.com/open-webui/open-webui/pull/29294)
## [0.11.2] - 2026-08-31
### Added

View File

@@ -456,6 +456,23 @@ class ChatTable:
message_id = next_id
return message_id
@staticmethod
def _add_child_id_to_parent(messages: dict, parent_id: str | None, child_id: str) -> bool:
parent = messages.get(parent_id) if parent_id else None
if not isinstance(parent, dict):
return False
child_ids = parent.get('childrenIds')
if not isinstance(child_ids, list):
child_ids = []
parent['childrenIds'] = child_ids
if child_id in child_ids:
return False
child_ids.append(child_id)
return True
def _repair_chat_current_id(self, chat: dict) -> bool:
history = chat.get('history')
if not isinstance(history, dict):
@@ -465,6 +482,12 @@ class ChatTable:
if not isinstance(messages, dict):
return False
changed = False
for message_id, message in messages.items():
if not isinstance(message, dict):
continue
changed = self._add_child_id_to_parent(messages, message.get('parentId'), message_id) or changed
current_id = history.get('currentId')
current_message = messages.get(current_id)
output = []
@@ -494,7 +517,7 @@ class ChatTable:
history['currentId'] = last_descendant_id
return True
return False
return changed
latest_leaf_id = None
latest_timestamp = -1
@@ -509,7 +532,7 @@ class ChatTable:
latest_timestamp = timestamp
if not latest_leaf_id or latest_leaf_id == current_id:
return False
return changed
history['currentId'] = latest_leaf_id
return True
@@ -998,6 +1021,8 @@ class ChatTable:
'timestamp': message.get('timestamp') or int(time.time()),
}
history['currentId'] = message_id
ChatTable._add_child_id_to_parent(messages, messages[message_id].get('parentId'), message_id)
return messages[message_id]
async def backfill_messages_by_chat_id(self, chat_id: str, user_id: str, messages: dict[str, dict]) -> None: