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

[Feat] Companion Notification Service #2896

Open
2 tasks done
thedist opened this issue Jun 4, 2024 · 6 comments
Open
2 tasks done

[Feat] Companion Notification Service #2896

thedist opened this issue Jun 4, 2024 · 6 comments
Labels
area/backend Something in the core of companion Enhancement New feature or request Idea

Comments

@thedist
Copy link
Member

thedist commented Jun 4, 2024

Is this a feature relevant to companion itself, and not a module?

  • I believe this to be a feature for companion, not a module

Is there an existing issue for this?

  • I have searched the existing issues

Describe the feature

Similar to how Companion can make a request to check for version updates, I would like for some capability for Companion to check to see if there are any notifications either for Companion itself, or notifications submitted by module developers that would show to those who have connections for those modules.

If a module developer needs to let users know that there's an important change that requires them to update, there's currently no easy way to do that. We can alert users to changes with logging but that only helps after they update, it doesn't help communicate changes that need them to update.

The notifications should also be able to have some metadata to allow for targeting. For example if a module updates to support some new hardware, a notification could be submitted that's set to be visible to all users of that module prior to the update (users already on the update wouldn't need to see it, as they are up to date).

This may have an added benefit of encouraging users to stay up to date with future releases and not just stick to old versions if they see notifications of what has improved specifically with the modules they use.

Usecases

An example of where this would be beneficial is the Twitch module, which I'm doing a significant rewrite and changing to the Device Code Flow which was recently rolled out by Twitch. Such a change would require letting users know they would need to reauth, and also in the future I do plan to shut down my servers that have been handling the OAuth Authorization Code Flow process so far (the shutdown wont happen until plenty of time for migration has been given).

By having some sort of notification service I could submit a notification that will be shown to users of my module who haven't updated Companion that they would need to update Companion to use the new version of the module before some date.

@Julusian
Copy link
Member

Julusian commented Jun 4, 2024

I am open to this, and I think this would be a portion of what would likely be done as part of having the module 'store' proposed in #1002.
So I think this is very tied to and perhaps dependent on that

@Julusian Julusian added Enhancement New feature or request Idea area/backend Something in the core of companion labels Jun 4, 2024
@bryce-seifert
Copy link
Member

I feel like there might also be some overlap with #2319

@thedist
Copy link
Member Author

thedist commented Jun 5, 2024

#2319 focuses on Change Logs, where as what I was suggesting could be used to deliver change logs it would not be limited to them and could be used for anything else, for example a simple notification that some online service the module is reliant on will be down for maintenance for x period of time, which may have nothing to do with change logs.

@dnmeid
Copy link
Member

dnmeid commented Jun 6, 2024

I would focus on the "update available" aspect and see this as a part of the module store.
In the store I'm all open for some user communication, like module reviews and comments, developer notes, whatsoever. But nothing pushed to the application GUI. In my opinion as a user I want my software to be as silent as possible and I would definitely not want any notifications pushed at me. I can imagine a small icon at the connection like a "!" if it is outdated and maybe a " 📣 " if there has been some activitiy on the store for this module in the past week.

But the user would have to actively look for it himself.

@thedist
Copy link
Member Author

thedist commented Jun 6, 2024

I was envisioning this as some sort of notification icon in some corner of the UI that would indicate that there's a notification (potentially a number of unread notification). When clicked it'd go to a page that has a list of notifications, and when read the notification icon would no longer be set to active.

It should require user interaction to go to the notifications page, there shouldn't be any popup modal in the middle of the screen or anything of that nature, but I also think hiding notifications through a store (which doesn't yet exist) and potentially multiple clicks for users to get to information about things such as service outages that would impact their use of a module or even Companion itself if it is an outage with Companion Cloud or some other Bitfocus service current or future, would be terrible user experience, and unacceptable design.

For example if you go to AWS and there's a service issue, the bell icon lights up users can click it to see notifications, if it's an issue, click it for more info etc... It doesn't take you away from the page you're on unless you want to, it doesn't make you have to go to a AWS product page and scroll through to get to updates or what may be the thing the notification is alerting you to.

@theoneandonlyzako

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/backend Something in the core of companion Enhancement New feature or request Idea
Projects
None yet
Development

No branches or pull requests

5 participants