Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Support setting notification "interruptionLevel" #478

Open
npars opened this issue Jul 25, 2023 · 3 comments
Open

Feature Request: Support setting notification "interruptionLevel" #478

npars opened this issue Jul 25, 2023 · 3 comments
Assignees

Comments

@npars
Copy link

npars commented Jul 25, 2023

I'm in a fairly large Github org and sometimes miss @mention notifications that are directed at me. It would be nice if trailer supported setting a different interruptionLevel for notifications based on some criteria (contains an @mention, your PR, etc.).

I poked around the codebase and noticed that Trailer is using NSUserNotification which is now marked deprecated and does not support setting the interruptionLevel like the newer UNNotification API. So unfortunately I think this would be a non-trivial change.

@ptsochantaris
Copy link
Owner

Hi @npars and thank you for this suggestion - it totally makes sense. You are totally correct about the UNNotification framework issue, that's because Trailer on the Mac before UNNotification showed up about 3 iOS versions later :D

However this is a good opportunity to modernise that aspect of it I think. I've mostly demurred from it because it involves migrating existing notifications to action categories instead of the "old" method of simply attaching actions to notifications, but the more I think about things like this and things like App Intent support for automation and so forth, the more I think it's better to start moving towards cleaning that stuff up.

TL;DR (whoops, too late) though, I think this makes total sense as a feature, and I'll put it on the TODO list.

@ptsochantaris
Copy link
Owner

ptsochantaris commented Aug 23, 2023

Hi @npars - So, it's taken a few weeks of cleaning up various things, and part of that was moving to UNNotification and some good cleanup to integrate the Mac and iOS code paths there. Felt good 😄

And now we can build this feature. Since the "critical" level of the notification isn't accessible by mere mortals and meant for specific apps like emergency or government notifications, I assume what we want is to be able to chose between the thee levels:

  • High (aka "time sensitive")
  • Default (current - aka "active")
  • Low (aka "passive")

The question now is more about forming the set of criteria, I think. I can imagine a few workflows:

Repo

I'd definitely want a criterion to set notification levels based on the related repo, for example I'd want to promote notifications related to issues in Trailer no matter what, and demote all issues created in the Swift language repo (as I'm not an active participant there).

Section

I imagine I'd want to promote and demote a notification based on the section of the related item is. e.g. In my case I'd want to always promote notifications for items in "mine" and always demote notifications about items in "all".

Notification subject

I'd also want notifications to be "promoted" or "demoted" based on their type. For instance in my case I'd "promote" ones related to review approvals and demote ones about CI statuses.

Free-text?

Does it make sense to promote or demote a notification based on some text? I'm inclined to say yes - I'm thinking in some particular context I may want to immediately know about any notification about some arbitrary subject or project mentioned in the item related to the notification. This criterion would search the same data that the menu filters would search (e.g. title, body, labels, etc)

Those are the things that immediately spring to mind, but do let me know your thoughts as well. Can't promise I'll implement everything, but definitely worth starting off from a position of more choices than fewer!

@npars
Copy link
Author

npars commented Sep 13, 2023

The big one for me would be Free-text / Keyword based (much like Slack). That way I could add my user @npars and have those notifications "promoted".

After that I think threaded replies would be very useful. If someone replies to a comment I've made (or replies in a thread I've participated in) I want to respond to those as fast as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants