Implement smart notification system with intelligent content analysis

Major improvements to notification handling:
- Replace blanket skip_notifications with content source analysis
- Immediate notifications for external mentions, DMs, and posts from others
- Smart sound selection based on content type (mention/DM/timeline_update)
- Remove focus-based auto-refresh blocking for seamless background updates
- Fix notifications timeline AttributeError from removed skip_notifications
- Track user actions to prevent sound spam from own expected content
- Context-aware suppression only for user's own posts, not external content

User experience improvements:
- Never miss external mentions or DMs due to timing issues
- Auto-refresh works regardless of timeline focus
- Appropriate sounds play immediately for genuine external notifications
- No redundant sounds from user's own post actions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Storm Dragon
2025-07-23 15:38:39 -04:00
parent cd535aebdf
commit 65f59533cf
4 changed files with 243 additions and 57 deletions

View File

@ -14,12 +14,12 @@ This project was created through "vibe coding" - a collaborative development app
- **Screen Reader Optimized**: Designed from the ground up for excellent accessibility
- **Threaded Conversations**: Navigate complex conversation trees with keyboard shortcuts
- **Timeline Switching**: Easy navigation between Home, Messages, Mentions, Local, Federated, Bookmarks, Followers, and Following timelines
- **Desktop Notifications**: Cross-platform notifications for mentions, direct messages, and timeline updates
- **Smart Notifications**: Intelligent sound system that distinguishes your own content from external mentions, DMs, and updates
- **Customizable Audio Feedback**: Rich sound pack system with themed audio notifications
- **Soundpack Manager**: Secure repository-based soundpack discovery and installation
- **Smart Autocomplete**: Mention completion with full fediverse handles (@user@instance.com)
- **Comprehensive Emoji Support**: 5,000+ Unicode emojis with keyword search
- **Auto-refresh**: Intelligent timeline updates based on user activity
- **Auto-refresh**: Intelligent timeline updates with smart notification system
- **Clean Interface**: Focused on functionality over visual design
- **Keyboard Navigation**: Complete keyboard control with intuitive shortcuts
- **Direct Message Interface**: Dedicated conversation view with threading support
@ -35,7 +35,11 @@ This project was created through "vibe coding" - a collaborative development app
## Audio System
Bifrost includes a sophisticated sound system with:
Bifrost includes a sophisticated sound system with intelligent notification handling:
- **Smart Notification System**: Distinguishes between your own content and external notifications
- **Immediate External Alerts**: Never miss mentions, DMs, or replies from others, even during your own actions
- **Context-Aware Sounds**: Different sounds for mentions, direct messages, boosts, and timeline updates
- **No Sound Spam**: Prevents redundant sounds from your own posts while preserving important notifications
- **Soundpack Manager**: Secure HTTPS-based repository system
- **Repository Management**: Add/remove soundpack repositories with validation
- **One-click Installation**: Download, validate, and install soundpacks securely
@ -231,9 +235,9 @@ python bifrost.py -d debug.log
**New Content Detection:**
```bash
python bifrost.py -d | grep -i "new content"
python bifrost.py -d | grep -i "new content\|external content\|user.*own content"
```
See when new posts are detected and why sounds might not play.
See when new posts are detected, whether they're from you or others, and why specific sounds are played.
### Log Levels