fix: memory consolidation timeout and hidden files in chat loading#2
fix: memory consolidation timeout and hidden files in chat loading#2
Conversation
Adds sidebar-chat-item-start and sidebar-chat-item-end x-extension points inside the x-for loop in chats-list.html. Previously only sidebar-chats-list-start/end existed, both outside the x-for loop. This forced plugins that need per-chat-row UI (e.g. status indicators, labels, badges) to resort to MutationObserver + index-based DOM scanning and monkey-patching internal store methods. With these new extension points, plugins can inject content into each chat row with access to the reactive Alpine context object (context.id, context.name, context.running, context.project, etc.) entirely through declarative Alpine bindings — no DOM scanning, no method patching, no index arithmetic.
…gs (local PR-B+C shape) Adds resolve_mcp_server_headers async extension point at both MCP transport paths in mcp_handler.py (streamablehttp + sse). Enables plugins to resolve credential placeholders at header construction time without monkey-patching. Adds @extensible to set_settings() and set_settings_delta() in settings.py. Enables plugins to intercept settings writes for credential scanning. Local patch shape for upstream PR-B+C submission. Ref: deimos_openbao_secrets IMPLEMENTATION_PLAN.md Step 1
…ible-mcp-header-hook feat: add @extensible to set_settings + resolve_mcp_server_headers hook in mcp_handler
…em-extension-points feat: add per-row extension points inside sidebar chat list x-for loop
Greptile Summary[Linus Torvalds Mode] Oh, brilliant — a "two-bug fix" PR that somehow drags in five files, three of which this author couldn't even be bothered to describe. I've seen more coherent diffs from someone who accidentally hit git add -A before their morning coffee. What actually changed (the two files this PR is about):
The three uninvited guests ( Confidence Score: 5/5[Linus Torvalds Mode] Yes, merge it — both changes are so small and so obviously correct that agonizing over them would be its own kind of incompetence. The hidden-file guard is purely additive and can't break any valid UUID chat folder. The timeout change is a dataclass default that was demonstrably wrong for local models. No interfaces changed, no logic inverted, no security surface touched. Both modified files contain trivially correct, additive changes with zero regression risk. persist_chat.py adds a guard on a code path that previously only produced error-log noise. memory_consolidation.py changes one integer default. Nothing hardcodes the old value, no callers are affected. If you can't merge a four-line diff that fixes two real bugs, please reconsider whether you should be doing code review at all. The three carry-over files (mcp_handler.py, settings.py, chats-list.html) aren't this author's problem — they're just base-branch noise in the diff. Stop staring at them and ship it. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A([load_tmp_chats called]) --> B[_convert_v080_chats]
B --> C[files.list_files CHATS_FOLDER]
C --> D{folder_name startswith '.' ?}
D -- Yes --> E[skip — .DS_Store and macOS noise filtered]
D -- No --> F[_get_chat_file_path folder_name]
F --> G[files.read_file path]
G --> H{JSON parse + deserialize OK?}
H -- Yes --> I[append ctx.id to ctxids]
H -- No --> J[print error and continue]
I --> K([return ctxids])
J --> K
Reviews (1): Last reviewed commit: "fix: ignore .DS_Store and hidden files w..." | Re-trigger Greptile |
Summary
Two bug fixes:
fix: increase memory consolidation timeout to 300 seconds for local models
plugins/_memory/helpers/memory_consolidation.py: changesprocessing_timeout_secondsfrom 60 to 300fix: ignore .DS_Store and hidden files when loading chats
helpers/persist_chat.py: filters out.DS_Storeand hidden filesFiles Changed
plugins/_memory/helpers/memory_consolidation.py(+2/-2)helpers/persist_chat.py(+2/-2)Checklist
developmentbranchpytest tests/