mastodon / mastodon

Your self-hosted, globally interconnected microblogging community
https://joinmastodon.org
GNU Affero General Public License v3.0
46.97k stars 6.95k forks source link

Cannot dismiss large missing notification permission banner without clicking "Enable…" #15029

Open digitalf0x opened 3 years ago

digitalf0x commented 3 years ago

Expected behaviour

When showing the notification column prompt to enable desktop notifications, Mastodon provides a clear way to disable desktop notifications or otherwise permanently dismiss the large prompt without first requiring tapping on the Enable desktop notifications button.

Given the frequency with which other websites misuse the notification permission and the hassle of adjusting every single toggle, someone who does not wish to receive notifications at all might not trust or want to deal with Mastodon's in-page notification toggles.

Consider the × close button provided by Twitter on their notification prompt.

(That said, please don't copy Twitter's hostile behavior of randomly sprinkling the notification request prompt in no matter how many times I dismiss it - it should not show again until a Desktop notifications toggle is turned on in the notification column settings or some other clear, less space-consuming option is triggered.)

Actual behaviour

After logging into Mastodon, the Notifications column features a banner prompting to "Enable desktop notifications" due to the default notification settings including desktop notifications. However, there's no immediately obvious way to dismiss this prompt as the Desktop notifications toggles are disabled when missing the permission, and it can be non-obvious that to disable the space-consuming banner you must first click Enable to receive the browser level prompt (which can then be denied, though that will leave a smaller banner around as the notification toggles are not disabled).

Steps to reproduce the problem

  1. If notification permissions have been granted to your Mastodon instance, remove them.

  2. Clear local storage (to ensure the default Desktop notifications toggles are enabled)

  3. Log into the Mastodon instance and open the notifications column

  4. Observe the banner prompt to enable notifications

  5. Attempt to disable or dismiss this banner without first clicking the Enable desktop notifications button (e.g. if one already knows they do not want any desktop notifications for privacy or attention/focus management reasons)

Specifications

Mastodon commit hash: Glitchsoc port of the Mastodon commit for changing the missing desktop notifications banner.

Firefox Nightly 201022 17:03 (Build #2015771211) on Android 11 October 2020 security patch (Pixel 4 XL).


Filing this from my mobile device; if I'm missing information let me know and I can add it soon-ish!

Gargron commented 3 years ago

(which can then be denied, though that will leave a smaller banner around as the notification toggles are not disabled).

Can you please clarify? If you deny browser permissions, the banner is no longer displayed. On the column settings area which is not open by default, a warning is displayed telling you that desktop notifications won't work because of the denied permission, but nothing else.

digitalf0x commented 3 years ago

Can you please clarify? If you deny browser permissions, the banner is no longer displayed. On the column settings area which is not open by default, a warning is displayed telling you that desktop notifications won't work because of the denied permission, but nothing else.

Ack, I apologize, I hadn't tested all of this at the time and assumed incorrectly. What you've said is correct, and feels like an unobtrusive, good way of handling this.

However, in testing this issue on my desktop (rather than fumbling with my phone), I uncovered another issue - in Private Browsing mode on Firefox, denying the permission never results in the Enable desktop notifications banner going away. I've screenrecorded this and the original issue:

Non-private browsing: non-obvious need to click Enable … to dismiss banner

Click the GIF for a higher-quality WebM video - GitHub does not allow uploading the latter. mastodon-notify-banner-normal-browsing

This demonstrates…

  1. :x: There is no way to dismiss the prompt without first clicking Enable desktop notifications

    • The toggles for Desktop notifications cannot be turned off
  2. :heavy_check_mark: Clicking Never Allow on Firefox's resulting prompt does properly dismiss the banner

  3. :heavy_check_mark: The small message in the notification settings looks good!

Private browsing: dismissing banner does not work without granting permission

Click the GIF for a higher-quality WebM video - GitHub does not allow uploading the latter. mastodon-notify-banner-private-browsing

This demonstrates…

  1. In private browsing mode…

  2. :x: There is no way to dismiss the prompt without first clicking Enable desktop notifications

  3. :x: Clicking Never Allow on Firefox's resulting prompt does not dismiss the banner

  4. :x: Clicking Enable desktop notifications after clicking Never Allow does nothing

  5. :checkered_flag: Clearing the denied permission, clicking Enable desktop notifications, and granting permission does clear the banner, where the individual toggles can now be disabled

EDIT: GitHub's parsing accidentally added a ) to the video URLs, fixed.

EDIT 2: This is using Firefox release version (82) on Kubuntu 20.04.

EDIT 3: And now I find the Mouse Click Animation plugin in KWin effects. Whoops. If it's not clear when I'm clicking, I can re-record with this effect enabled.

digitalf0x commented 3 years ago

Aside, this seems to be generating some understandable upset on the fediverse (my reason for filing this issue) - due to the lack of a clear, permanent dismiss option and the relatively large amount of space occupied within the notification column on smaller screens, alongside how many other websites abuse the notification permission, this can come across as a dark pattern of trying to annoy folks into enabling desktop notifications. There's no indication before clicking Enable … that Mastodon will respect the browser's Never Allow setting by hiding all prompting UI (overlooking that dismissing is entirely broken in Private Browsing).

A clear Never, Disable, or Don't ask again or similar phrasing on this banner would be a refreshing change from the weasel-wording of other modern websites where they use Not now or Later as implicit permission to ask again, eroding trust.