Commit graph

5 commits

Author SHA1 Message Date
e8efb6566f feat: link the Chorus item in the bot's post-ingest reply 2026-07-14 11:07:09 -07:00
68d5cc91ab feat: wire direction through manual_share, thread_ingest, backend_client 2026-07-13 18:57:44 -07:00
240279f95b refactor: eliminate redundant truncation in email_ingest and fix em dash
- Replace em dash with hyphen in thread_ingest.py user message (feedback_no_emdash.md)
- Remove duplicate truncation logic in email_ingest.py (lines 12-17 and _truncate_for_embed method)
- Consolidate truncation responsibility to ping.py's _safe_field_value as single source of truth
- This prevents email_ingest's marker from being re-truncated by ping.py's defensive catch-all
2026-07-13 15:08:35 -07:00
73fb67b3bf fix: cog re-registration, thread NotFound, follow-up date, and error/empty states
I1: move cog registration + tree.sync into ChorusBot.setup_hook (called once
before gateway connect) instead of on_ready (fires on every reconnect),
preventing duplicate cogs/listeners/poll loops after a gateway RESUME.

I2 (email_ingest.py, addressed alongside I1 for IMAP stability): none here,
handled separately.

I3/I4: TriageList.vue now renders a follow_up_date column so it actually
surfaces back to Donna. App.vue adds a "Show completed" checkbox bound to
includeDone, matching what docs/smoke-test.md step 7 already describes.

I5: add frontend/tests/ItemModal.spec.js covering stagesForType() options
for donation/other/unset types and the type-change stage reset regression.

I6: App.vue wraps loadItems/openItem in try/catch with a calm (no-panic)
error message, and shows calm empty-state copy when there are zero items.

Also fixes thread_ingest.py: standalone threads not started from a message
raise discord.NotFound on fetch_message; now caught and returns early.
2026-07-13 15:01:32 -07:00
f4b57238d2 feat(bot): add email ingestion polling and thread-open triage creation 2026-07-13 14:07:53 -07:00