hermes
|
39df85b51c
|
fix: архивация/вложения больше не помечают письма прочитанными (Seen)
Причина: himalaya message read и attachment download используют IMAP BODY[],
который по RFC 3501 выставляет \Seen на сервере (Microsoft Exchange).
Пользователь: письма в ящике после скачивания становятся прочитанными.
Фикс:
- чтение тела: himalaya message read --preview (не ставит Seen)
- вложения: fetch_attachments_imaplib() — сырой IMAP stdlib (socket+ssl),
UID FETCH (BODY.PEEK[]), папки в modified UTF-7, литералы до 1.5МБ,
MIME-encoded words, фолбэк himalaya + flag remove seen
Проверено живьём: UID 14200 (INBOX, docx 1.1МБ) флаги ()->() — Seen не выставлен.
Openspec: change no-mark-seen-on-archive заархивирован (2026-09-14-no-mark-seen-on-archive), 7/7 validate OK
|
2026-09-14 08:08:48 +00:00 |
|
hermes
|
8bff6f9aa4
|
Задача 8: классификация и обработчики — живой прогон, cron, archive change
|
2026-09-14 04:50:50 +00:00 |
|
hermes
|
7550aff102
|
feat: классификация писем Qwen3:8b + обработчики (urgent→TG, task→VTODO, meeting→VEVENT)
- mail_archive.py: фикс вложений himalaya --dir → --downloads-dir; attachments/ только при has_attachment; идемпотентно
- email_classifier.py: Qwen3:8b (Ollama) → теги info/urgent/task/meeting в frontmatter email.md
- email_handlers.py: urgent→Telegram (Bot API+SOCKS5), task→Radicale VTODO, meeting→Radicale VEVENT; handled_* идемпотентность; --dry-run
- .gitignore: игнор *.env.bak*
- openspec: чейндж email-classification-handlers (в работе)
- STATUS/TODO/WALKTHROUGH: прогресс сессии, подводные камни Radicale (http.client, Depth:1, формат дат)
|
2026-09-13 20:35:58 +00:00 |
|
hermes
|
8ea022f5c0
|
CardDAV: двусторонний синк контактов с Radicale (push+pull) + docs DAVx5/Caddy
- scripts/contacts_caldav_sync.py: push 81 контакт → vCard (Radicale :5232),
pull правок/создания/удаления с телефона → contacts.json (ETag сверка,
soft-delete, конфликты 412 → приоритет телефону, лог caldav-sync.log)
- fix(contacts_extractor): перестройка by_email-индексов после sort()
- STATUS.md: раздел DAVx5 + Caddy (Authorization/handle_path/X-Script-Name),
Задача 3 (синхронизация с телефоном) = следующая сессия
- tasks.md: отмечены 1.x-3.x/V (реализовано и протестировано), добавлен
раздел 5 (Caddy + DAVx5 + jtx board) для следующей сессии
|
2026-09-13 17:21:51 +00:00 |
|
hermes
|
17252ebfa9
|
openspec: contacts-caldav-server — двусторонний синк (правки с телефона → в базу)
|
2026-09-13 16:07:27 +00:00 |
|
hermes
|
de07fae246
|
openspec: change contacts-caldav-server (CardDAV sync для контактов из почты)
|
2026-09-13 15:59:49 +00:00 |
|
hermes
|
868f85b686
|
docs: пути Radicale/Vikunja обновлены на /opt/hermes/email-assistant/, отмечены выполненные задачи (R1-R3, V1, O1)
|
2026-09-12 16:18:45 +00:00 |
|
hermes
|
f44bc27ce1
|
OpenSpec: разнести openspec по проектам
|
2026-09-11 17:30:17 +00:00 |
|