Skip to content

Comments

Revert post privacy selection from modal to dropdown and add separate quote policy dropdown#37346

Open
ronilaukkarinen wants to merge 3 commits intomastodon:mainfrom
mementomori-social:fixes/setting-post-privacy-requires-six-clicks
Open

Revert post privacy selection from modal to dropdown and add separate quote policy dropdown#37346
ronilaukkarinen wants to merge 3 commits intomastodon:mainfrom
mementomori-social:fixes/setting-post-privacy-requires-six-clicks

Conversation

@ronilaukkarinen
Copy link
Contributor

Summary

Reverts the post privacy selection from a full-screen modal back to a simple dropdown, addressing the UX regression introduced in #35835. I think it's an anti pattern with the modal.

Fixes #36742

Problem

The modal-based privacy selector introduced in #35835 significantly increased the interaction burden for changing post privacy settings. Users reported needing up to 6 clicks to change privacy and quote settings, compared to just 2 clicks with the previous dropdown design. This is a pain accessibility wise, especially for our users that rely on on-screen keyboards.

We received feedback from users on our instance after deploying the original change, with complaints about the disruptive workflow when frequently changing post privacy. As noted in #36742, this particularly affects users with disabilities, where every additional click represents considerable extra effort.

Changes

  • Replaced the modal-based visibility selector with the existing PrivacyDropdown component (same one used in boost modal)
  • Added a separate dropdown for quote policy selection, preserving per-post quote control
  • Both dropdowns now appear side-by-side in the compose form
  • Added max-width constraint (250px) to dropdowns for consistent positioning
image

Note

This PR modifies React/TypeScript components and SCSS styles. I'm not yet a Mastodon React expert possibly in the scope needed here, so please review the code thoroughly before considering it for merge, or cherry pick changes. The implementation works in our instance but may benefit from improvements by more experienced contributors.

@Shanesan
Copy link

Great fix - lots of clicks and clunky feeling with the current version of things.

@ClearlyClaire ClearlyClaire added the ui Front-end, design label Jan 2, 2026
@ClearlyClaire
Copy link
Contributor

Hi, and thank you for your contribution!
However, as described in https://github.com/mastodon/.github/blob/main/CONTRIBUTING.md#project-specific-considerations, we have internal design processes and generally do not accept external contributions without prior discussion on the design.

I will forward this to our designer, but one reason we used a modal is that it can efficiently convey a lot of explanations and information about possible combinations and side effects, which is not possible with the dropdowns.

@nanos
Copy link

nanos commented Jan 2, 2026

I also am not a fan of the modal. So many clicks …

if you really want ti keep the modal may I suggest you take some inspiration from this article? It might offer some compromise:

https://thatshubham.com/blog/mastodon

@Shanesan
Copy link

Shanesan commented Jan 2, 2026

@ClearlyClaire I can understand the reasoning to use a model the first time as some sort of explainer pop-up, but I'm sure the friction to do this process multiple times (every post?) is obvious.

I hope the UI design team sees it as such!

@ClearlyClaire
Copy link
Contributor

We know about and acknowledge the additional friction, but have yet to find out a proper solution to it.

@ronilaukkarinen
Copy link
Contributor Author

we have internal design processes and generally do not accept external contributions without prior discussion on the design.

I understand. I could have opened a discussion first, but since I tested this on our instance and confirmed it's working, I figured I might as well send a PR anyway with the side note.

We know about and acknowledge the additional friction, but have yet to find out a proper solution to it.

I fail to understand why the simple dropdown isn't considered a valid solution. What technical or UX constraints prevent it from being kept as an inline component? From a usability standpoint it feels smoother, it saves several clicks and avoids interrupting the writing flow, so I'm curious to understand the reasoning behind moving away from it.

I've read the other discussions you've had in the PR about Redux, React state handling, and the ongoing refactor, so I understand part of the rationale. Still, I find it hard to see why standardizing on the modal is necessary when the cost in friction is this high.

I can of course continue using the dropdown approach on my own instance, but I really wish this feature to remain as usable as possible for people on other instances too. That's why I decided to open this as a nod, suggestion (despite your guidelines) and out of genuine interest in improving the UX. Not my intention to go against Mastodon team design decisions in any way. Keep up the good work. 👍

@github-actions
Copy link
Contributor

This pull request has merge conflicts that must be resolved before it can be merged.

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

Labels

rebase needed 🚧 ui Front-end, design

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Setting post privacy requires six clicks

4 participants