fix: Improve Confluence/Jira detection precision

- Add domain-specific matching for Atlassian services
- Fix Confluence being misclassified as Jira
- Add comprehensive test coverage for notification detection
- Add example configuration file with new options
- All 13 tests now passing

Files modified:
- src/mail/notification_detector.py: Better atlassian.net handling
- tests/test_notification_detector.py: Full test suite
- mail.toml.example: Config documentation with examples
This commit is contained in:
Bendt
2025-12-28 10:51:45 -05:00
parent 1c1b86b96b
commit 78ab945a4d
4 changed files with 264 additions and 3 deletions

82
mail.toml.example Normal file
View File

@@ -0,0 +1,82 @@
# LUK Mail Configuration Example
# Copy this file to ~/.config/luk/mail.toml and customize
# [task]
# # Task management backend (taskwarrior or dstask)
# backend = "taskwarrior"
# taskwarrior_path = "task"
# dstask_path = "~/.local/bin/dstask"
[envelope_display]
# Sender name maximum length before truncation
max_sender_length = 25
# Date/time formatting
date_format = "%m/%d"
time_format = "%H:%M"
show_date = true
show_time = true
# Group envelopes by date
# "relative" = Today, Yesterday, This Week, etc.
# "absolute" = December 2025, November 2025, etc.
group_by = "relative"
# Layout: 2-line or 3-line (3-line shows preview)
lines = 2
show_checkbox = true
show_preview = false
# NerdFont icons
icon_unread = "\uf0e0" # nf-fa-envelope (filled)
icon_read = "\uf2b6" # nf-fa-envelope_open (open)
icon_flagged = "\uf024" # nf-fa-flag
icon_attachment = "\uf0c6" # nf-fa-paperclip
[content_display]
# Default view mode: "markdown" or "html"
default_view_mode = "markdown"
# URL compression settings
compress_urls = true
max_url_length = 50
# Notification email compression
# "summary" - Brief one-page summary
# "detailed" - More details in structured format
# "off" - Disable notification compression
compress_notifications = true
notification_compression_mode = "summary"
[link_panel]
# Close link panel after opening a link
close_on_open = false
[mail]
# Default folder to archive messages to
archive_folder = "Archive"
[keybindings]
# Custom keybindings (leave blank to use defaults)
# next_message = "j"
# prev_message = "k"
# delete = "#"
# archive = "e"
# open_by_id = "o"
# quit = "q"
# toggle_header = "h"
# create_task = "t"
# reload = "%"
# toggle_sort = "s"
# toggle_selection = "space"
# clear_selection = "escape"
# scroll_page_down = "pagedown"
# scroll_page_up = "b"
# toggle_main_content = "w"
# open_links = "l"
# toggle_view_mode = "m"
[theme]
# Textual theme name
# Available themes: monokai, dracula, gruvbox, nord, etc.
theme_name = "monokai"