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

Update strings to mention space rather than room or be ambiguous when it's not possible to be certain #20243

Closed
kittykat opened this issue Dec 17, 2021 · 9 comments · Fixed by matrix-org/matrix-react-sdk#7722
Assignees
Labels
A-Invite A-Spaces Spaces, groups, communities O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect

Comments

@kittykat
Copy link
Contributor

kittykat commented Dec 17, 2021

Steps to reproduce

As an example:

  1. Receive link to space (specifically the one in this internal message)
  2. Click link
  3. See two strings about joining a room when in reality I'm joining a space.

Outcome

What did you expect?

Spaces and rooms have different strings, or where it's not possible to know what's on the other end, then be ambiguous

What happened instead?

Join space reuses join room strings

Screenshot from 2022-02-03 16-52-51

Screenshot from 2022-02-03 16-52-33

Other examples

As a space owner, I get mention of room when trying to re-invite a user to a space:
Screenshot from 2021-12-17 13-49-10

S-Major because current strings are actively misleading

URL for webapp

develop.element.io

Application version

Element version: 9e1f393-react-fb494a5098e6-js-36906e2ddb6d Olm version: 3.2.8

@kittykat kittykat added T-Defect S-Major Severely degrades major functionality or product features, with no satisfactory workaround A-Spaces Spaces, groups, communities A-Invite O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience good first issue Good for newcomers labels Dec 17, 2021
@t3chguy
Copy link
Member

t3chguy commented Dec 17, 2021

If the room is not peekable (federation, history visibility != world readable) then we don't know that its a space prior to joining it

@t3chguy
Copy link
Member

t3chguy commented Dec 17, 2021

@kittykat is that related to this issue about "join strings"?

@SimonBrandner SimonBrandner added X-Needs-Info This issue is blocked awaiting information from the reporter and removed good first issue Good for newcomers labels Dec 18, 2021
@kittykat kittykat changed the title Update join strings to mention space rather than room Update join strings to mention space rather than room or be ambiguous when it's not possible to be certain Feb 3, 2022
@kittykat kittykat changed the title Update join strings to mention space rather than room or be ambiguous when it's not possible to be certain Update strings to mention space rather than room or be ambiguous when it's not possible to be certain Feb 3, 2022
@t3chguy
Copy link
Member

t3chguy commented Feb 3, 2022

For the Some invites couldn't be sent we can differentiate between room & space no problem

but for all of the pre-join/invite failed to join states, we need ambiguous language as there's no way for the client to know due to permissions/lack of API support

@kittykat kittykat added X-Needs-Design X-Needs-Product More input needed from the Product team labels Feb 3, 2022
@kittykat
Copy link
Contributor Author

kittykat commented Feb 4, 2022

  • What about for the "Failed to join room":

Failed to join
You have not been invited

  • For "This room can't be previewed":

There's no preview, would you like to join?
Join the discussion

  • For "Some invites couldn't be sent", red line to:

User is already in the space

(It feels redundant to repeat the MXID twice over two lines there)

@t3chguy t3chguy removed the X-Needs-Info This issue is blocked awaiting information from the reporter label Feb 4, 2022
@t3chguy t3chguy self-assigned this Feb 4, 2022
@t3chguy
Copy link
Member

t3chguy commented Feb 4, 2022

Need ambiguous copy for

  • Sorry, your homeserver is too old to participate in this room. Please contact your homeserver administrator.
  • The person who invited you already left the room.
  • The person who invited you already left the room, or their server is offline.
  • This room does not exist.
  • This room is not accessible at this time.
  • Try again later, or ask a room admin to check if you have access.
  • %(errcode)s was returned while trying to access the room.
  • Join the discussion
  • You were removed from this room by %(memberName)s
  • You were banned from this room by %(memberName)s
  • Something went wrong with your invite to this room.
  • An error (%(errcode)s) was returned while trying to validate your " +
    "invite. You could try to pass this information on to a room admin.
  • You can still join it because this is a public room.

@t3chguy
Copy link
Member

t3chguy commented Feb 4, 2022

What about for the "Failed to join room":

This is a string from Synapse

It emits a similar one too

You do not belong to any of the required rooms/spaces to join this room.

We get an errcode of M_FORBIDDEN for both, so if you can think of an ambiguous message mixing "You have not been invited" and "You do not belong to any of the required rooms/spaces to join [this room/space]" then we can i18n it and replace the Synapse string in the UI

@kittykat
Copy link
Contributor Author

Sorry, your homeserver is too old to participate in this room. Please contact your homeserver administrator.

Sorry, your homeserver is too old to participate here. Please contact your homeserver administrator.

The person who invited you already left the room.

The person who invited you has already left.

The person who invited you already left the room, or their server is offline.

The person who invited you has already left, or their server is offline.

This room does not exist.

This room or Space does not exist.

This room is not accessible at this time.

This room or Space is not accessible right now.

Try again later, or ask a room admin to check if you have access.

Try again later, or ask a room or Space admin to check if you have access.

%(errcode)s was returned while trying to access the room.

%(errcode)s was returned while trying to access the room or Space.

Join the discussion

Where does this one appear?

You were removed from this room by %(memberName)s

You were removed from here by %(memberName)s

You were banned from this room by %(memberName)s

You were banned from here by %(memberName)s

Something went wrong with your invite to this room.

Something went wrong with your invite.

Is the context enough here to not mention room/Space?

An error (%(errcode)s) was returned while trying to validate your " +
"invite. You could try to pass this information on to a room admin.

When is this error seen? Is it useful to pass on this information to a room/space admin?

You can still join it because this is a public room.

You can still join because the is a public place.

@t3chguy
Copy link
Member

t3chguy commented Feb 28, 2022

This room does not exist.

This room or Space is not accessible right now.

Try again later, or ask a room or Space admin to check if you have access.

%(errcode)s was returned while trying to access the room or Space.

What's with the inconsistent capitalisation between room and Space here?

Join the discussion

When previewing (peeking) into a room, on the CTA (primary) join button in the preview bar

You were removed from here by %(memberName)s

You were banned from here by %(memberName)s

IMO it reads better without from here

Is the context enough here to not mention room/Space?

Well the client has no way of knowing if its a room or a space, so presumably neither would the user.

When is this error seen? Is it useful to pass on this information to a room/space admin?

Yeah, they'd need to re-issue the 3pid invite

You can still join because the is a public place.

We never use the term place elsewhere

@kittykat
Copy link
Contributor Author

This room does not exist.

This room or Space is not accessible right now.

Try again later, or ask a room or Space admin to check if you have access.

%(errcode)s was returned while trying to access the room or Space.

What's with the inconsistent capitalisation between room and Space here?

Lets go with "space". When spaces was released, it was considered a proper noun so was capitalised. We went with lower case on Android and iOS now.

Join the discussion

When previewing (peeking) into a room, on the CTA (primary) join button in the preview bar

I think we can keep this one as it doesn't mention room specifically and technically spaces have discussions in them (in the rooms).

You were removed from here by %(memberName)s

You were banned from here by %(memberName)s

IMO it reads better without from here

Agreed, lets go with:
"You were removed by %(memberName)s"
"You were banned by %(memberName)s"

Is the context enough here to not mention room/Space?

Well the client has no way of knowing if its a room or a space, so presumably neither would the user.

Ok, lets keep it as "Something went wrong with your invite." then

When is this error seen? Is it useful to pass on this information to a room/space admin?

Yeah, they'd need to re-issue the 3pid invite

What about:
"An error (%(errcode)s) was returned while trying to validate your " +
"invite. You could try to pass this information on to the person who invited you."

You can still join because the is a public place.

We never use the term place elsewhere

Would just You can still join here. work?

@t3chguy t3chguy removed X-Needs-Design X-Needs-Product More input needed from the Product team labels Mar 29, 2022
kegsay added a commit to matrix-org/matrix-react-sdk that referenced this issue Apr 14, 2022
* Release threads as a beta feature ([\#8081](#8081)). Fixes element-hq/element-web#21351.
* More video rooms design updates ([\#8222](#8222)).
* Update video rooms to new design specs ([\#8207](#8207)). Fixes element-hq/element-web#21515, element-hq/element-web#21516 element-hq/element-web#21519 and element-hq/element-web#21526.
* Live Location Sharing - left panel warning with error ([\#8201](#8201)).
* Live location sharing - Stop publishing location to beacons with consecutive errors ([\#8194](#8194)).
* Live location sharing: allow retry when stop sharing fails ([\#8193](#8193)).
* Allow voice messages to be scrubbed in the timeline ([\#8079](#8079)). Fixes element-hq/element-web#18713.
* Live location sharing - stop sharing to beacons in rooms you left ([\#8187](#8187)).
* Allow sending and thumbnailing AVIF images ([\#8172](#8172)).
* Live location sharing - handle geolocation errors ([\#8179](#8179)).
* Show voice room participants when not connected ([\#8136](#8136)). Fixes element-hq/element-web#21513.
* Add margins between labs sections ([\#8169](#8169)).
* Live location sharing - send geolocation beacon events - happy path ([\#8127](#8127)).
* Add support for Animated (A)PNG ([\#8158](#8158)). Fixes element-hq/element-web#12967.
* Don't form continuations from thread roots ([\#8166](#8166)). Fixes element-hq/element-web#20908.
* Improve handling of animated GIF and WEBP images ([\#8153](#8153)). Fixes element-hq/element-web#16193 and element-hq/element-web#6684.
* Wire up file preview for video files ([\#8140](#8140)). Fixes element-hq/element-web#21539.
* When showing thread, always auto-focus its composer ([\#8115](#8115)). Fixes element-hq/element-web#21438.
* Live location sharing - refresh beacon expiry in room ([\#8116](#8116)).
* Use styled mxids in member list v2 ([\#8110](#8110)). Fixes element-hq/element-web#14825. Contributed by @SimonBrandner.
* Delete groups (legacy communities system) ([\#8027](#8027)). Fixes element-hq/element-web#17532.
* Add a prototype of voice rooms in labs ([\#8084](#8084)). Fixes element-hq/element-web#3546.
* Fix editing `<ol>` tags with a non-1 start attribute ([\#8211](#8211)). Fixes element-hq/element-web#21625.
* Fix URL previews being enabled when room first created ([\#8227](#8227)). Fixes element-hq/element-web#21659.
* Don't use m.call for Jitsi video rooms ([\#8223](#8223)).
* Scale emoji with size of surrounding text ([\#8224](#8224)).
* Make "Jump to date" translatable ([\#8218](#8218)).
* Normalize call buttons ([\#8129](#8129)). Fixes element-hq/element-web#21493. Contributed by @luixxiul.
* Show room preview bar with maximised widgets ([\#8180](#8180)). Fixes element-hq/element-web#21542.
* Update more strings to not wrongly mention room when it is/could be a space ([\#7722](#7722)). Fixes element-hq/element-web#20243 and element-hq/element-web#20910.
* Fix issue with redacting via edit composer flow causing stuck editStates ([\#8184](#8184)).
* Fix some image/video scroll jumps ([\#8182](#8182)).
* Fix "react error on share dialog" ([\#8170](#8170)). Contributed by @yaya-usman.
* Fix disambiguated profile in threads in bubble layout ([\#8168](#8168)). Fixes element-hq/element-web#21570. Contributed by @SimonBrandner.
* Responsive BetaCard on Labs ([\#8154](#8154)). Fixes element-hq/element-web#21554. Contributed by @luixxiul.
* Display button as inline in room directory dialog ([\#8164](#8164)). Fixes element-hq/element-web#21567. Contributed by @luixxiul.
* Null guard TimelinePanel unmount edge ([\#8171](#8171)).
* Fix beta pill label breaking ([\#8162](#8162)). Fixes element-hq/element-web#21566. Contributed by @luixxiul.
* Strip relations when forwarding ([\#7929](#7929)). Fixes element-hq/element-web#19769, element-hq/element-web#18067 element-hq/element-web#21015 and element-hq/element-web#10924.
* Don't try (and fail) to show replies for redacted events ([\#8141](#8141)). Fixes element-hq/element-web#21435.
* Fix 3pid member info for space member list ([\#8128](#8128)). Fixes element-hq/element-web#21534.
* Set max-width to user context menu ([\#8089](#8089)). Fixes element-hq/element-web#21486. Contributed by @luixxiul.
* Fix issue with falsey hrefs being sent in events ([\#8113](#8113)). Fixes element-hq/element-web#21417.
* Make video sizing consistent with images ([\#8102](#8102)). Fixes element-hq/element-web#20072.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Invite A-Spaces Spaces, groups, communities O-Frequent Affects or can be seen by most users regularly or impacts most users' first experience S-Major Severely degrades major functionality or product features, with no satisfactory workaround T-Defect
Projects
None yet
3 participants