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

[Epic] Custom notification sounds feature #9687

Open
1 of 8 tasks
Half-Shot opened this issue May 12, 2019 · 1 comment
Open
1 of 8 tasks

[Epic] Custom notification sounds feature #9687

Half-Shot opened this issue May 12, 2019 · 1 comment

Comments

@Half-Shot
Copy link
Member

Half-Shot commented May 12, 2019

At the request of the team, this is an epic to track the missing things from the custom notif sounds feature. This will be a copy paste from the PR (matrix-org/matrix-react-sdk#2928). Currently the feature is in review.

Issues:

  • Sounds are NOT preloaded, so the first usage of a notification sound is the first time it is loaded which may lead to delays.
    • This might not be too bad, and could be a feature in terms of not loading all your 1k sound at startup. However may piss off people on bad internet connections as sounds will come in seconds late. The solution may be to not play a sound if it loads too late. I feel like this will be a case of sticking the feature in as a labs thing to see if it's a problem in reality.
  • This uses a single url, so we can't multi-source for a single sound file.
    • Potentially problematic when shifting between browsers, and we could either look for what would be the most likely to be supported by all (ogg?), or create some (convoulted) UI for uploading them.
  • Using SettingsStore means using im.vector.* event types for storing settings and precludes being able to make this work cross protocol.
    • Use m.notification.sound instead as originally intended to prevent lock-in?
  • Each notification sound uses a new <audio> tag, which could quickly become bloaty
    • Could use a single audio and lots of AudioBuffers, but using a non-dom approach makes this a little harder to debug, and I don't think lots of invisible nodes causes any tangible problems.
  • Removing a sound from a room doesn't remove the tag.
    • An edge case, and iterating over all the rooms to check if any room is using them is a little complicated.
  • No way to "reuse" sounds from other rooms.
  • No way to change the default sound for the client, even though setting a default sound is supported.
    • Needs a UI
  • @nadonomy doesn't have a design for this?
    • I don't know how much this will block the whole PR, given it's in labs.
@turt2live
Copy link
Member

This is the "out of labs" issue, ftr. Prior art is also available here: #2105

@SimonBrandner SimonBrandner removed Help Wanted Extra attention is needed Z-Community-PR Issue is solved by a community member's PR labels Aug 27, 2021
@Johennes Johennes added T-Epic Issue is at Epic level and removed Meta labels Oct 5, 2023
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

6 participants