Afonso Coutinho
f0b172020e
fix: require_privilege 500s on a non-dict privileges blob from auth.json ( #1693 )
2026-06-03 13:37:54 +09:00
Afonso Coutinho
02ff2e3cb0
fix: updating a calendar event ignores user timezone and shifts the time ( #1695 )
2026-06-03 13:37:39 +09:00
Afonso Coutinho
667b739af4
fix: reply-all Cc builder crashes on a non-string To or Cc field ( #1700 )
2026-06-03 13:37:22 +09:00
Afonso Coutinho
19e62208d2
fix: streaming drops providers that emit SSE data lines with no space ( #1701 )
2026-06-03 13:37:14 +09:00
Afonso Coutinho
3da4edb442
fix: token usage dropped when it rides on a non-empty finish delta ( #1703 )
2026-06-03 13:36:57 +09:00
Afonso Coutinho
9dd9bb8a3f
fix: memory recall crashes on a non-dict row from the vector store ( #1705 )
2026-06-03 13:35:09 +09:00
Afonso Coutinho
86d3af743a
fix: docs RAG query crashes on a non-dict row from the index ( #1706 )
2026-06-03 13:35:01 +09:00
Afonso Coutinho
076607c9b9
fix: archive browser model filter is suffix-only and drops matching models ( #1709 )
2026-06-03 13:34:54 +09:00
Afonso Coutinho
56123e052b
fix: compacting a chat with image attachments destroys the attachment ( #1710 )
2026-06-03 13:34:47 +09:00
Afonso Coutinho
f6f86c4b34
fix: research source extraction crashes on a non-dict finding ( #1714 )
2026-06-03 13:34:40 +09:00
Afonso Coutinho
29e19f326a
fix: _resolve_user_upload_path crashes on a non-dict resolve_upload result ( #1715 )
2026-06-03 13:34:33 +09:00
Afonso Coutinho
55c7a4a546
fix: computeSnap throws when ctx.otherLayers is not an array ( #1716 )
2026-06-03 13:34:25 +09:00
Afonso Coutinho
ada30aa039
fix: evaluate_turn_regex crashes on a non-string agent_reply ( #1723 )
2026-06-03 13:31:26 +09:00
Afonso Coutinho
290d398900
fix: rewriting a message is lost on reload due to a non-existent DB column ( #1729 )
2026-06-03 13:31:19 +09:00
Afonso Coutinho
d9e6071528
fix: odysseus-mail read crashes on an empty IMAP fetch payload ( #1730 )
2026-06-03 13:31:10 +09:00
Afonso Coutinho
c5bc39de88
fix: _extract_entities crashes on a non-string query ( #1724 )
2026-06-03 13:30:28 +09:00
Afonso Coutinho
0c37943267
fix: search service crashes on a non-dict result row ( #1725 )
2026-06-03 13:30:19 +09:00
Afonso Coutinho
96a874c604
fix: a non-dict finding silently drops all raw research findings ( #1739 )
2026-06-03 13:29:29 +09:00
Afonso Coutinho
7f94c43a45
fix: langIcon throws on an explicit null opts argument ( #1740 )
2026-06-03 13:29:21 +09:00
Afonso Coutinho
fc8efca49d
fix: backup import drops a user's memory when its text matches another user's ( #1743 )
2026-06-03 13:29:14 +09:00
Afonso Coutinho
063e7114e3
fix: youtube transcript formatter crashes on a non-dict segment ( #1745 )
2026-06-03 13:29:08 +09:00
Afonso Coutinho
6e38d3f2ef
fix: youtube (services) comment formatter crashes on a non-dict comment ( #1746 )
2026-06-03 13:29:01 +09:00
Afonso Coutinho
133948cc78
fix: uploads with _ or - in the extension become permanently unreadable ( #1756 )
2026-06-03 13:28:45 +09:00
Afonso Coutinho
992866e167
fix: document library language facet undercounts text documents ( #1758 )
2026-06-03 13:28:38 +09:00
Afonso Coutinho
51857c9008
fix: chat memory extraction crashes on a non-dict message ( #1749 )
2026-06-03 13:25:48 +09:00
Afonso Coutinho
a714915afe
fix: _derive_title crashes on non-string content instead of returning Untitled ( #1751 )
2026-06-03 13:25:41 +09:00
Afonso Coutinho
2fa4d50115
fix: is_youtube_url crashes on a non-string url ( #1752 )
2026-06-03 13:24:33 +09:00
Afonso Coutinho
d2f6e8068d
fix: is_youtube_url (services) crashes on a non-string url ( #1753 )
2026-06-03 13:24:24 +09:00
Afonso Coutinho
b3da01efd5
fix: ui_control rejects the advertised rag toggle ( #1763 )
2026-06-03 13:24:00 +09:00
Afonso Coutinho
c4fcebd9c7
fix: disabling auth wipes all users' preferences on next pref save ( #1764 )
2026-06-03 13:23:50 +09:00
Afonso Coutinho
bde5f6adb3
fix: gallery tag filters and tag-cleanup are empty in single-user mode ( #1771 )
2026-06-03 13:23:08 +09:00
Afonso Coutinho
d25a860f71
fix: document tidy crashes on a duplicate with NULL timestamps ( #1772 )
2026-06-03 13:23:01 +09:00
Afonso Coutinho
db1596f3b4
fix: signature learning never skips support@/info@/admin@ senders ( #1773 )
2026-06-03 13:22:52 +09:00
Afonso Coutinho
694647375c
fix: signature delimiter fold misses self-closing <br/> breaks ( #1774 )
2026-06-03 13:22:46 +09:00
Afonso Coutinho
aa5e3f6884
fix: is_markitdown_format crashes on a non-string path ( #1618 )
2026-06-03 09:00:10 +09:00
Afonso Coutinho
fc220f760f
fix: inside_base_dir raises TypeError on a non-string path instead of failing closed ( #1619 )
2026-06-03 09:00:04 +09:00
Afonso Coutinho
2d94e38d23
fix: document_actions title/content helpers crash on non-string input ( #1621 )
2026-06-03 08:59:55 +09:00
Afonso Coutinho
03ddc5d2c4
fix: check_outbound_url crashes on a truthy non-string URL ( #1623 )
2026-06-03 08:59:49 +09:00
Afonso Coutinho
3175d7ca21
fix: tool-block parsing crashes on a non-string input ( #1628 )
2026-06-03 08:59:42 +09:00
Afonso Coutinho
d818117d4c
fix: _extract_skill_json crashes on a truthy non-string teacher response ( #1630 )
2026-06-03 08:59:36 +09:00
Afonso Coutinho
6b2618dab4
fix: logs CLI _resolve crashes on a non-string name ( #1631 )
2026-06-03 08:59:30 +09:00
Afonso Coutinho
0051023056
fix: skill test-task / precision helpers crash on a non-dict skill ( #1638 )
2026-06-03 08:59:24 +09:00
Afonso Coutinho
8783f12c4c
fix: builtin_actions heuristics crash on a truthy non-string input ( #1639 )
2026-06-03 08:59:16 +09:00
Afonso Coutinho
82c09dd768
fix: split_chunks emits a duplicate trailing chunk for text over size-overlap ( #1573 )
2026-06-03 08:57:54 +09:00
Afonso Coutinho
c3bf32d1b1
fix: monthly schedule label shows 21th/22th/31th (ordinal suffix for days >20) ( #1577 )
2026-06-03 08:57:47 +09:00
Afonso Coutinho
19b6cbac12
fix: skills CLI summary crashes on a non-string description ( #1595 )
2026-06-03 08:37:05 +09:00
Afonso Coutinho
258fe455eb
fix: research CLI summary crashes on a non-string query ( #1596 )
2026-06-03 08:36:57 +09:00
Afonso Coutinho
667c663668
fix: gallery CLI image serialization crashes on a non-string prompt ( #1598 )
2026-06-03 08:36:51 +09:00
Afonso Coutinho
0283216e67
fix: rag_server add/remove_directory crashes on a non-string directory arg ( #1614 )
2026-06-03 08:36:45 +09:00
Afonso Coutinho
77313170c6
fix: search query helpers crash on a non-string query ( #1604 )
2026-06-03 08:36:01 +09:00
Afonso Coutinho
0d25dfb5f4
fix: shared MCP truncate() crashes on None/non-string tool output ( #1605 )
2026-06-03 08:35:54 +09:00
Afonso Coutinho
6df0f5e6df
fix: _sanitize_export_filename crashes on a non-string session name ( #1607 )
2026-06-03 08:35:47 +09:00
Afonso Coutinho
382d49d887
fix: validate_caldav_url crashes with TypeError on a non-string URL ( #1608 )
2026-06-03 08:35:16 +09:00
Afonso Coutinho
0d88c9989e
fix: mcp CLI _serialize crashes when stored env JSON is a list ( #1609 )
2026-06-03 08:35:09 +09:00
Afonso Coutinho
c9361262df
fix: APIKeyManager.load crashes app startup on a corrupt/wrong-shape api_keys.json ( #1565 )
2026-06-03 08:11:37 +09:00
Afonso Coutinho
7af168fa59
fix: rag add_directory records the dir so list/remove can see it ( #1369 )
2026-06-03 03:37:33 +09:00
Afonso Coutinho
dc6711b3c5
fix: systemd service should serve on port 7000 to match Docker/setup/README ( #1297 )
2026-06-03 02:04:37 +09:00
Afonso Coutinho
1a763b0539
fix: rag remove_directory expands ~ so it matches the indexed path ( #1305 )
2026-06-03 02:01:13 +09:00
Afonso Coutinho
a8395b4e4c
fix: agent_input_token_budget wrongly treated as a secret and unsettable from chat ( #1294 )
...
* fix: don't classify agent_input_token_budget as a secret (token must be a suffix)
* test: agent_input_token_budget is settable from chat
2026-06-03 01:53:47 +09:00
Afonso Coutinho
257f7ee7b2
fix: manage_tasks create handles an explicit null prompt without crashing ( #1290 )
2026-06-03 01:40:21 +09:00
Afonso Coutinho
8852c7ea4a
fix: claim_ownerless actually claims ownerless documents (was a no-op self-update) ( #1288 )
2026-06-03 01:38:38 +09:00
Afonso Coutinho
3505a5ff27
fix: list_emails honors unresponded_only without requiring unread_only ( #1287 )
2026-06-03 01:35:00 +09:00
Afonso Coutinho
926a4c59cb
fix: 2FA bypassed when enabled but TOTP secret is missing (fail-open) ( #1286 )
...
* fix: fail closed when 2FA is enabled but the TOTP secret is missing
* test: totp_verify fails closed when secret missing, passes when 2FA off
2026-06-03 01:26:47 +09:00
Afonso Coutinho
65751186bd
fix: merging consecutive user messages corrupts multimodal (image) content ( #1277 )
...
* fix: preserve multimodal content blocks when merging consecutive user messages
* test: consecutive user-message merge keeps multimodal image blocks
2026-06-03 01:21:57 +09:00
Afonso Coutinho
83aa35b83e
fix: owner-less document query passes bare False to SQLAlchemy filter() ( #1281 )
...
* fix: use SQL false() for owner-less document query (filter(False) raises in SQLAlchemy 2.x)
* test: owner-less document query doesn't pass a bare False to filter
2026-06-03 01:20:43 +09:00
Afonso Coutinho
a3b3dbafde
fix: uploaded files with no extension become permanently unresolvable ( #1275 )
...
* fix: accept extensionless upload ids so files like Dockerfile resolve
* test: upload id validation accepts extensionless ids
2026-06-03 01:16:30 +09:00
Afonso Coutinho
f62d6ea3d7
fix: research query misclassifies 'whatsapp'/'however' as questions ( #1247 )
...
* fix: detect question words as whole words, not prefixes
* fix: same question-word prefix bug in the services search copy
* test: question-word detection rejects prefix lookalikes
2026-06-03 01:10:06 +09:00
Afonso Coutinho
311f226d44
fix: calendar check-in digest drops events 7-8 days out ( #1249 )
...
* fix: close 1-day gap in calendar digest windows (events ~7-8 days out)
* test: calendar digest windows are contiguous and cover 7-8 day events
2026-06-03 01:03:58 +09:00
Afonso Coutinho
a04553013d
fix: Anthropic responses with multiple text blocks lose all but the first ( #1255 )
...
* fix: concatenate all Anthropic text blocks, not just the first
* test: Anthropic response parsing concatenates text blocks
2026-06-03 00:57:20 +09:00
Afonso Coutinho
35fa022e2e
fix: email pre-retrieval ignores contacts (reads non-existent email/phone keys) ( #1241 )
...
* fix: match known email senders against the contact 'emails' list
* fix: build contact-match snippets from emails/phones lists
2026-06-03 00:39:31 +09:00