From 0ff5d47a8cfbb6dd6242b686bf60ac0ee7dc0566 Mon Sep 17 00:00:00 2001 From: red person Date: Wed, 28 Oct 2026 12:03:20 +0300 Subject: [PATCH 1/2] fix(chat): size user-message editors from wrapped content --- static/app.js | 2 +- static/css/01-agent-chat.css | 4 ++- static/index.html | 46 +++++++++++++++++----------------- static/sw.js | 48 ++++++++++++++++++------------------ 4 files changed, 51 insertions(+), 49 deletions(-) diff --git a/static/app.js b/static/app.js index e14121adb..b526d72d7 100644 --- a/static/app.js +++ b/static/app.js @@ -37,7 +37,7 @@ import { UI_VIS_DEFAULT_OFF, resolveVisibility } from './js/ui_visibility.js?v=2 import tasksModule from './js/tasks.js?v=20260914taskmodel1'; import calendarModule from './js/calendar.js?v=20260914emailsource11'; import notesModule from './js/notes.js?v=20260911notesselectioncancel1'; -import adminModule from './js/admin.js?v=20260929csssplit'; +import adminModule from './js/admin.js?v=20261028chateditsize1'; import settingsModule from './js/settings.js?v=20260912writingstyle3'; // Eagerly bind unified minimize/restore behavior across all tool modals. import './js/modalManager.js'; diff --git a/static/css/01-agent-chat.css b/static/css/01-agent-chat.css index 506d04e81..51d28da12 100644 --- a/static/css/01-agent-chat.css +++ b/static/css/01-agent-chat.css @@ -4567,7 +4567,9 @@ body.bg-pattern-ascii-fireflies { width:100%; background:var(--bg); color:var(--fg); border:1px solid var(--border); border-radius:6px; padding:8px; font-family:inherit; font-size:0.95rem; - resize:vertical; outline:none; + resize:both; outline:none; + field-sizing:content; + max-width:100%; box-sizing:border-box; min-height:80px; } .edit-textarea:focus { border-color:var(--red); } diff --git a/static/index.html b/static/index.html index 901b42510..1166a45d3 100644 --- a/static/index.html +++ b/static/index.html @@ -254,32 +254,32 @@ real request is discarded and the font fetched a second time. --> - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - + + + + @@ -2695,7 +2695,7 @@ - + diff --git a/static/sw.js b/static/sw.js index 44cf2e2a1..fd443eb2e 100644 --- a/static/sw.js +++ b/static/sw.js @@ -7,7 +7,7 @@ // - Other static assets (images/fonts/libs): cache-first with bg refresh. // - API / non-GET: never cached. // Bump CACHE_NAME whenever the precache list or SW logic changes. -const CACHE_NAME = 'odysseus-v659-notes-reference'; +const CACHE_NAME = 'odysseus-v660-chat-edit-size'; // KaTeX resolves these from its own stylesheet, so caching the CSS without them // gives offline math fallback glyphs instead of proper typesetting. @@ -39,28 +39,28 @@ const KATEX_FONTS = [ // exact URL the browser requests, query string included. const PRECACHE = [ '/', - '/static/css/00-tokens.css?v=20260929csssplit', - '/static/css/01-agent-chat.css?v=20260929csssplit', - '/static/css/02-compare.css?v=20260929csssplit', - '/static/css/03-agent-chat.css?v=20260929csssplit', - '/static/css/04-memory.css?v=20260929csssplit', - '/static/css/05-documents.css?v=20260929csssplit', - '/static/css/06-admin-settings.css?v=20260929csssplit', - '/static/css/07-documents.css?v=20260929csssplit', - '/static/css/08-skills.css?v=20260929csssplit', - '/static/css/09-gallery.css?v=20260929csssplit', - '/static/css/10-cookbook.css?v=20260929csssplit', - '/static/css/11-tasks.css?v=20260929csssplit', - '/static/css/12-gallery.css?v=20260929csssplit', - '/static/css/13-image-editor.css?v=20260929csssplit', - '/static/css/14-email.css?v=20260929csssplit', - '/static/css/15-notes.css?v=20260929csssplit', - '/static/css/16-calendar.css?v=20260929csssplit', - '/static/css/17-research.css?v=20260929csssplit', - '/static/css/documents-gallery-editor.css?v=20260929csssplit', - '/static/css/email-calendar-notes-tasks.css?v=20260929csssplit', - '/static/css/cookbook-research-memory-settings.css?v=20260929csssplit', - '/static/app.js?v=20260929csssplit', + '/static/css/00-tokens.css?v=20261028chateditsize1', + '/static/css/01-agent-chat.css?v=20261028chateditsize1', + '/static/css/02-compare.css?v=20261028chateditsize1', + '/static/css/03-agent-chat.css?v=20261028chateditsize1', + '/static/css/04-memory.css?v=20261028chateditsize1', + '/static/css/05-documents.css?v=20261028chateditsize1', + '/static/css/06-admin-settings.css?v=20261028chateditsize1', + '/static/css/07-documents.css?v=20261028chateditsize1', + '/static/css/08-skills.css?v=20261028chateditsize1', + '/static/css/09-gallery.css?v=20261028chateditsize1', + '/static/css/10-cookbook.css?v=20261028chateditsize1', + '/static/css/11-tasks.css?v=20261028chateditsize1', + '/static/css/12-gallery.css?v=20261028chateditsize1', + '/static/css/13-image-editor.css?v=20261028chateditsize1', + '/static/css/14-email.css?v=20261028chateditsize1', + '/static/css/15-notes.css?v=20261028chateditsize1', + '/static/css/16-calendar.css?v=20261028chateditsize1', + '/static/css/17-research.css?v=20261028chateditsize1', + '/static/css/documents-gallery-editor.css?v=20261028chateditsize1', + '/static/css/email-calendar-notes-tasks.css?v=20261028chateditsize1', + '/static/css/cookbook-research-memory-settings.css?v=20261028chateditsize1', + '/static/app.js?v=20261028chateditsize1', '/static/js/storage.js', '/static/js/appConfig.js', '/static/js/ui.js?v=20260916largetoolscroll1', @@ -95,7 +95,7 @@ const PRECACHE = [ '/static/js/theme.js?v=20260911organsrain1', '/static/js/censor.js', '/static/js/settings.js?v=20260912writingstyle3', - '/static/js/admin.js?v=20260929csssplit', + '/static/js/admin.js?v=20261028chateditsize1', '/static/js/chatgptSubscriptionUsage.js', '/static/js/init.js?v=20260829chatstyle12', '/static/js/slashCommands.js?v=20260921chatgptusage1', From 4fe8fb28e57a401c2df9517278af050a885e4138 Mon Sep 17 00:00:00 2001 From: red person Date: Thu, 29 Oct 2026 23:37:24 +0300 Subject: [PATCH 2/2] test: isolate photo routing from external MCP registry state --- tests/test_photo_editor_family.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test_photo_editor_family.py b/tests/test_photo_editor_family.py index ce3caa456..56bac0ab0 100644 --- a/tests/test_photo_editor_family.py +++ b/tests/test_photo_editor_family.py @@ -144,10 +144,12 @@ def test_editor_agent_endpoint_reports_scoped_tools(): async def _route_contract(monkeypatch, message, *, attachment_meta=(), form=None, messages_out=None): from routes import chat_routes - from src import tool_security + from src import tool_security, tool_utils from tests.test_foreground_model_routing import _RouteRequest, _chat_stream_endpoint with monkeypatch.context() as route_patch: + # This built-in catalog fixture has no configured external MCP servers. + route_patch.setattr(tool_utils, "get_mcp_manager", lambda: None) endpoint = _chat_stream_endpoint( route_patch, "agent", {}, session_model="odysseus-qwen3.5-tools-pre-heretic",