v0.2.2-alpha: Unified Task Controls & Notification Polish
Pre-releaseAlpha Release (v0.2.2-alpha)
This release consolidates task editing into a unified draft experience, eliminates duplicate activity logs and error notifications, and polishes interaction feedback.
🌟 Key Features & Improvements
1. Unified Task Controls & Draft UX (#50)
• Consolidated Task Action Bar: Replaced separate "Edit Details" and "Quick Controls" buttons with a single, streamlined "Edit Task" button (task:edit:{task_id}), maintaining backward compatibility for existing Discord action cards.
• In-Line Title & Description Staging: Introduced TaskQuickEditTitleModal, enabling users to edit both task title and body text directly within the staged draft panel.
• Description Clearing Support: Supports clearing existing task descriptions (clear_body=True) via empty modal submissions.
• Draft UX Polish: Styled draft embeds in gold/amber with a single clear footer status (⚠️ Unsaved Draft • Click 'Save Changes' to apply or 'Discard Changes' to cancel) and clean button grouping (Save Changes, Discard Changes, Edit Title / Body).
• Rate-Limit Aware Thread Sync: Thread renames are selectively triggered only when the title has actually changed, preventing Discord API rate limit penalties.
2. Ephemeral Note Modal Acknowledgments (#49)
• Clean Activity Stream: Submitting notes via TaskNoteModal now acknowledges ephemerally with a 6-second auto-dismissing toast instead of a public thread message, preventing duplicate note announcements in the thread.
3. Error Notification & Toast Dismissal Polish (#47)
• Duplicate Notification Prevention: Enhanced DggPmBot.on_app_command_error to respect command- and cog-level error handlers via _has_any_error_handlers(), preventing dual error alerts on command check failures.
• Followup Toast Auto-Dismissal: Configured deferred interaction error responses with wait=True to track and auto-dismiss followup WebhookMessage toasts cleanly.
Full Changelog: v0.2.1-alpha...v0.2.2-alpha