element-hq / element-meta

Shared/meta documentation and project artefacts for Element clients
75 stars 12 forks source link

Being able to set account data through /commands is confusing #1376

Open jplatte opened 3 years ago

jplatte commented 3 years ago

Description

I just wanted to change my IRC nick and despite being a Matrix user for years and an IRC user before that for quite a while too, I made two mistakes before getting it to work:

Steps to reproduce

I would have expected an error, or at least a confirmation prompt. Changing the display name feels too disruptive to be so easy to do. If there was a prompt, it could also offer the option to change the display name for just the current room, making room-specific display names a tad easier to discover (if you deem that useful).

Version information

Seems irrelevant but

t3chguy commented 3 years ago

Having prompts on slash commands is a bad smell IMO, slash commands are power user features and are very intentional, confirming them should be reserved to only destructive ones

jplatte commented 3 years ago

Do you disagree that this is an issue? I don't really care how, but IMHO this should to be fixed somehow (otherwise I wouldn't have created this issue report, of course).

t3chguy commented 3 years ago

Its akin to expecting Linux commands like rm always asking for your confirmation, its an explicit action with a purpose, it doesn't need an additional prompt in my opinion

jplatte commented 3 years ago

Its akin to expecting Linux commands like rm always asking for your confirmation

It is. And I'm pretty sure the majority of people who semi-regularily use rm (without having it aliased to rm -i / rm -I) has deleted something they shouldn't have before. It's not at all the kind of tool I would expect in a modern software that has a ui/ux GitHub issue label.

t3chguy commented 3 years ago

Actually poor example as I said

confirming them should be reserved to only destructive ones

Its more akin to mv which doesn't even have an optional prompt except in the case of conflicts.

jplatte commented 3 years ago

Well yeah, /nick is not destructive (unless it also overrides room display names, in which case this would be even more problematic), but doing it accidentally is still very much annoying.

Anyways, it doesn't seem like we'll find an agreement among the two of us. I am curious what others think.

t3chguy commented 3 years ago

Indeed, for people with opinions, best to leave up/down votes on the top of this issue to convey them

HarHarLinks commented 3 years ago

(unless it also overrides room display names, in which case this would be even more problematic)

afaik, exactly this is the case, I had to deal with this myself yesterday. display names including room display names need a complete revamp (or rather design at all?), but that is not exactly the issue here so let's disregard this for the time being:

slash commands fall into several categories, including but not limited to: bad/missing other UI (/rainbow, /confetti), IRC/power user (/invite and other room management), debug stuff (/devtools), misc (/ddg which is only not a command, but also an ad?). In addition there is account data (/nick, /myavatar) which you (could) argue falls in the IRC/power user category, but all other commands in that category apply to the current room with exception of those that explicitly take a room id as argument.

thus I agree with jplatte that it is too easy to do accidentally and should get a warning popup (checkbox to never show again?) or be renamed /myglobalnick. Maybe commands should be reworked a bit regarding such categories 🤷

t3chguy commented 3 years ago

(unless it also overrides room display names, in which case this would be even more problematic)

That's Synapse behaviour, not Element. Element just updates your default displayname and Synapse feels appropriate to copy that to all rooms, including those you have a different name in.

HarHarLinks commented 3 years ago

In fact the spec feels that is appropriate and required, and I did bring this up on matrix-doc recently. The /nick command triggers exactly that at this point and thus should be assessed in relation to current spec, no? It is not even possible to work around that from just Element side.

jryans commented 3 years ago

Observe your global display name changing, generating visible state events in every joined room

Personally, I'd suggest instead fixing this symptom so that it doesn't generate "annoying" events, via changes like https://github.com/vector-im/element-meta/issues/1088 and similar.

jplatte commented 3 years ago

Personally, I would find this annoying even without it adding an unread marker for others.

I think the best suggestion so far was to rename this specific command, which I think is the only one I'd run accidentally.