* feat(settings): expand settings api payload * feat(webui): build app-style settings center * feat(webui): add centered chat search dialog * fix(webui): shorten chat search label * fix(webui): center dialog entrance animation * fix(webui): simplify chat search results * fix(webui): tighten mobile settings navigation * feat(webui): persist sidebar state * feat(webui): add sidebar organization controls * refactor(webui): organize backend helpers * refactor(webui): remove utils compatibility shims * refactor(session): move shared webui helpers out of webui package * feat(webui): add image generation settings * style(webui): refine settings overview layout * fix(webui): localize settings zh-CN copy * style(webui): add settings status indicators * feat(webui): show sidebar run indicators * fix(webui): persist sidebar run indicators * fix(webui): highlight settings pending status * fix(webui): align settings test with provider update * fix(utils): preserve legacy webui helper imports
32 lines
980 B
Python
32 lines
980 B
Python
"""Legacy WebUI JSON snapshot path helpers (JSON file); transcripts use transcript."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
from loguru import logger
|
|
|
|
from nanobot.config.paths import get_webui_dir
|
|
from nanobot.session.manager import SessionManager
|
|
from nanobot.webui.transcript import delete_webui_transcript
|
|
|
|
|
|
def webui_thread_file_path(session_key: str) -> Path:
|
|
stem = SessionManager.safe_key(session_key)
|
|
return get_webui_dir() / f"{stem}.json"
|
|
|
|
|
|
def delete_webui_thread(session_key: str) -> bool:
|
|
"""Remove legacy WebUI JSON snapshot and append-only transcript for *session_key*."""
|
|
removed = False
|
|
path = webui_thread_file_path(session_key)
|
|
if path.is_file():
|
|
try:
|
|
path.unlink()
|
|
removed = True
|
|
except OSError as e:
|
|
logger.warning("Failed to delete webui thread file {}: {}", path, e)
|
|
if delete_webui_transcript(session_key):
|
|
removed = True
|
|
return removed
|