Afonso Coutinho
df8ce5a63b
fix: youtube (services) comment formatter crashes on a non-dict comment ( #1746 )
2026-06-03 13:29:01 +09:00
Afonso Coutinho
ad0cd0898c
fix: uploads with _ or - in the extension become permanently unreadable ( #1756 )
2026-06-03 13:28:45 +09:00
Afonso Coutinho
4b7e31a2c8
fix: document library language facet undercounts text documents ( #1758 )
2026-06-03 13:28:38 +09:00
Afonso Coutinho
099498c028
fix: chat memory extraction crashes on a non-dict message ( #1749 )
2026-06-03 13:25:48 +09:00
Afonso Coutinho
ed0f1869a1
fix: _derive_title crashes on non-string content instead of returning Untitled ( #1751 )
2026-06-03 13:25:41 +09:00
Afonso Coutinho
0d5250b861
fix: is_youtube_url crashes on a non-string url ( #1752 )
2026-06-03 13:24:33 +09:00
Afonso Coutinho
71f35f2595
fix: is_youtube_url (services) crashes on a non-string url ( #1753 )
2026-06-03 13:24:24 +09:00
Afonso Coutinho
913dc67384
fix: ui_control rejects the advertised rag toggle ( #1763 )
2026-06-03 13:24:00 +09:00
Afonso Coutinho
f332b8ea99
fix: disabling auth wipes all users' preferences on next pref save ( #1764 )
2026-06-03 13:23:50 +09:00
Afonso Coutinho
c375f83c44
fix: gallery tag filters and tag-cleanup are empty in single-user mode ( #1771 )
2026-06-03 13:23:08 +09:00
Afonso Coutinho
039095d748
fix: document tidy crashes on a duplicate with NULL timestamps ( #1772 )
2026-06-03 13:23:01 +09:00
Afonso Coutinho
d23fdb32ea
fix: signature learning never skips support@/info@/admin@ senders ( #1773 )
2026-06-03 13:22:52 +09:00
Afonso Coutinho
7c1a6bf02a
fix: signature delimiter fold misses self-closing <br/> breaks ( #1774 )
2026-06-03 13:22:46 +09:00
Afonso Coutinho
8bcb3c61f5
fix: is_markitdown_format crashes on a non-string path ( #1618 )
2026-06-03 09:00:10 +09:00
Afonso Coutinho
fcb1884154
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
987fe6c0ee
fix: document_actions title/content helpers crash on non-string input ( #1621 )
2026-06-03 08:59:55 +09:00
Afonso Coutinho
b50a1bf0c7
fix: check_outbound_url crashes on a truthy non-string URL ( #1623 )
2026-06-03 08:59:49 +09:00
Afonso Coutinho
4b65376944
fix: tool-block parsing crashes on a non-string input ( #1628 )
2026-06-03 08:59:42 +09:00
Afonso Coutinho
88fd0f7e68
fix: _extract_skill_json crashes on a truthy non-string teacher response ( #1630 )
2026-06-03 08:59:36 +09:00
Afonso Coutinho
f588be4e73
fix: logs CLI _resolve crashes on a non-string name ( #1631 )
2026-06-03 08:59:30 +09:00
Afonso Coutinho
aa5462a4b6
fix: skill test-task / precision helpers crash on a non-dict skill ( #1638 )
2026-06-03 08:59:24 +09:00
Afonso Coutinho
9cd4778b65
fix: builtin_actions heuristics crash on a truthy non-string input ( #1639 )
2026-06-03 08:59:16 +09:00
Afonso Coutinho
51a53426e4
fix: split_chunks emits a duplicate trailing chunk for text over size-overlap ( #1573 )
2026-06-03 08:57:54 +09:00
Afonso Coutinho
fcb82dd7f6
fix: monthly schedule label shows 21th/22th/31th (ordinal suffix for days >20) ( #1577 )
2026-06-03 08:57:47 +09:00
Afonso Coutinho
dfdb8958b5
fix: skills CLI summary crashes on a non-string description ( #1595 )
2026-06-03 08:37:05 +09:00
Afonso Coutinho
4e4a9b0c22
fix: research CLI summary crashes on a non-string query ( #1596 )
2026-06-03 08:36:57 +09:00
Afonso Coutinho
cb7f381884
fix: gallery CLI image serialization crashes on a non-string prompt ( #1598 )
2026-06-03 08:36:51 +09:00
Afonso Coutinho
a8853cb8b1
fix: rag_server add/remove_directory crashes on a non-string directory arg ( #1614 )
2026-06-03 08:36:45 +09:00
Afonso Coutinho
b7d17d9beb
fix: search query helpers crash on a non-string query ( #1604 )
2026-06-03 08:36:01 +09:00
Afonso Coutinho
1a3179c0a2
fix: shared MCP truncate() crashes on None/non-string tool output ( #1605 )
2026-06-03 08:35:54 +09:00
Afonso Coutinho
158ebb6984
fix: _sanitize_export_filename crashes on a non-string session name ( #1607 )
2026-06-03 08:35:47 +09:00
Afonso Coutinho
7ad44a7731
fix: validate_caldav_url crashes with TypeError on a non-string URL ( #1608 )
2026-06-03 08:35:16 +09:00
Afonso Coutinho
6d2cb99f6f
fix: mcp CLI _serialize crashes when stored env JSON is a list ( #1609 )
2026-06-03 08:35:09 +09:00
Afonso Coutinho
7f88baee9a
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
c495ec31f6
fix: rag add_directory records the dir so list/remove can see it ( #1369 )
2026-06-03 03:37:33 +09:00
Afonso Coutinho
48578fd05c
fix: systemd service should serve on port 7000 to match Docker/setup/README ( #1297 )
2026-06-03 02:04:37 +09:00
Afonso Coutinho
094f8198e5
fix: rag remove_directory expands ~ so it matches the indexed path ( #1305 )
2026-06-03 02:01:13 +09:00
Afonso Coutinho
ff2372f0f7
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
b281e0a681
fix: manage_tasks create handles an explicit null prompt without crashing ( #1290 )
2026-06-03 01:40:21 +09:00
Afonso Coutinho
e213aba2df
fix: claim_ownerless actually claims ownerless documents (was a no-op self-update) ( #1288 )
2026-06-03 01:38:38 +09:00
Afonso Coutinho
62d4ddf9be
fix: list_emails honors unresponded_only without requiring unread_only ( #1287 )
2026-06-03 01:35:00 +09:00
Afonso Coutinho
a571d1a834
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
4751e14e0e
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
88c45dc197
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
6854bc1a64
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
e863f21d98
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
86bc5d698b
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
336a468035
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
a266935591
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