Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Support for specifying explicit away messages #426

Closed
ara4n opened this issue Dec 7, 2015 · 30 comments
Closed

Support for specifying explicit away messages #426

ara4n opened this issue Dec 7, 2015 · 30 comments
Labels
A-Custom-Status A-Presence A-User-Settings O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Enhancement

Comments

@ara4n
Copy link
Member

ara4n commented Dec 7, 2015

We don't have UX for setting this currently. Suggestion is:

  • Add a setting into user settings to set the state
  • If set, always show it for oneself in the memberslist to remind you that you've gone and set it.
  • Only show it for other people when you are hovered over them (alongside other presence data).
@christian-becker
Copy link

I think it is important that the users can set custom status messages.
For business users it is a must have - e.g. when in a meeting (dnd) or away (idle).

I would be happy if element could support it in near future.

(In combination with synapse server and presence support.)

@hrfriedlich
Copy link

6 Years later, pls add this :)

@mail-nextcloud
Copy link

@ara4n
What are the chances that this ticket will be resolved?
This feature is very important for business use so please add this.

@germain-gg germain-gg added A-User-Settings O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist and removed P2 labels Aug 9, 2021
@aaaaaaaaargh
Copy link

This should really be in here. As much as I appreciate the current state of Element compared to other clients, this is absolutely mandatory.

@victort
Copy link

victort commented Aug 27, 2021

/away i am afk.

🥺

@tommy2d
Copy link

tommy2d commented Oct 11, 2021

Please introduce something like this. It would really make Element a slack killer.

@WarriorXK
Copy link

Agreed, this is currently one of the few things preventing us from switching.

@markusneg
Copy link

Yes, this would be quite useful. In fact I was surprised not finding this feature in the UI.

@reicheltmediadesign
Copy link

Would really appreciate that. There are so many use-cases.

I'd like to see:

  • auto set "Away" status after [configurable] minutes
  • auto set "Away" when locking the workstation
  • manually set "Away" (yellow) and "DND" (red) and "Offline" (light gray)

@ptman
Copy link

ptman commented Feb 9, 2022

Element web has a lab setting for "Custom user status messages". It's shown in DM user lists.

@mail-nextcloud
Copy link

Element web has a lab setting for "Custom user status messages". It's shown in DM user lists.

That's the problem (no good UI):

  • only visible in lab web version (many people using app version instead)
  • not really intuitive setting custom user status
  • only visible in direct message user list (right hand side) and not within open direct chats or rooms (left hand side)

@turt2live
Copy link
Member

ftr the custom status labs flag has been removed for largely maintenance reasons. A proper implementation will be needed to support this issue's purpose.

@t3chguy t3chguy transferred this issue from element-hq/element-web Jun 13, 2022
@mdanovz
Copy link

mdanovz commented Aug 4, 2022

Still need a user custom status.
Any updates?

@Mauker1
Copy link

Mauker1 commented Aug 17, 2022

The company I work for has been using Element for a while, but we miss this feature. Are there any updates on this? Online/DND/Away/Offline status and custom messages would be a killer feature.

@Metal-Toilet
Copy link

Any updates? One of the few things keeping me from fully moving from discord.

@limdingwen
Copy link

Is there an MSC for this currently?

@8227846265
Copy link

Would love to have this so that the Space members especially on work environment can see the status (e.g. On Leave, Out of Office, On Meeting) without needing to message the member to confirm their status.

Reference UI/UX:

@rhizoet
Copy link

rhizoet commented Jun 15, 2023

@ara4n do you have a status of this feature? Do you work on this?

@RhinocerosUnicornis
Copy link

RhinocerosUnicornis commented Jul 20, 2023

What is ironic is that there are already HTTP calls for doing all this, and the desktop client seems to display these to the users, and yet there is no way in any of the clients to set them.

https://github.com/matrix-org/synapse/blob/fc1e534e411174d730ca3c0c7e4d2ef7fd8be56b/contrib/cmdclient/console.py#L680-L690

It seems like something straightforward to add to any client?

edit: OK here is how you set state with cURL, replace $USER_ID with your used ID and $MY_BEARER_TOKEN with your bearer token:

curl 'https://synapse.qreserve.com/_matrix/client/r0/presence/$USER_ID/status' \
  -X 'PUT' \
  -H 'Accept: application/json' \
  -H 'Accept-Language: en-GB' \
  -H 'Authorization: Bearer $MY_BEARER_TOKEN \
  -H 'Access-Control-Request-Headers: authorization' \
  -H 'Access-Control-Request-Method: GET' \
  -H 'Cache-Control: max-age=0' \
  -H 'Connection: keep-alive' \
  -H 'Origin: vector://vector' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Site: cross-site' \
  -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Element/1.11.35 Chrome/114.0.5735.106 Electron/25.1.0 Safari/537.36' \
  --data-raw '{"presence":"unavailable","status_msg":"foo"}' \
  --compressed

Here are the list of string constants for your presence:

https://github.com/matrix-org/synapse/blob/fc1e534e411174d730ca3c0c7e4d2ef7fd8be56b/synapse/api/constants.py#L52-L58

@t3chguy
Copy link
Member

t3chguy commented Jul 20, 2023

What is ironic is that there are already HTTP calls for doing all this

Nothing ironic about that, there's multiple features in Matrix which Element clients don't support. Just like there's multiple features in the Web which Chrome/Firefox/(especially)Safari don't support.

It seems like something straightforward to add to any client?

Nothing is straight forward when product & design have to sign off on it.

@RhinocerosUnicornis
Copy link

RhinocerosUnicornis commented Jul 20, 2023

there's multiple features in Matrix which Element clients don't support.

Element does support it and continuously alters the presence status. If I exit Element desktop client, fire that PUT, my coworkers see the altered status by my user icon. Unfortunately I can not use the PUT while logged in due to Element aggressively changing the presence.

It also sometimes sets the status to away/unavailable randomly if I am AFK.

@t3chguy
Copy link
Member

t3chguy commented Jul 20, 2023

That's fixed now. It no longer clobbers your presence. It no longer calls that PUT API. It uses the set_presence param on /sync so it's up to your server to mix your presence between multiple devices and decide what your overall presence is.

@RhinocerosUnicornis
Copy link

Okay -- could we just get a drop-down for a global in the configuration like "presence_override" that overrides what the client wants to set for the availability and sets it to that instead? And maybe a text box beneath it to set status_msg?

@t3chguy
Copy link
Member

t3chguy commented Jul 20, 2023

Once product & design agree on it, that's the only difficult part of this

@SleepingGuy
Copy link

I would suggest the feature again. It is currently very important for us as we are in the process of selecting a new chat system. Matrix with Element has made it to the final selection. Unfortunately, we received some resistance and complaints as there is no personalizable indicator that can be set to indicate whether a user is reachable or not. In a business context, being able to communicate that you are online but in a meeting or otherwise occupied is a key feature. The current status system is not really sufficient for business use, as the online status as it exists right now doesn't accurately indicate if a user is actually going to reply in a reasonable amount of time. Additionally, automatic absence detection as it currently exists doesn't work in the browser. Implementing user-set status (which Matrix already supports) would solve that issue as well.

Is there any reason why this feature request has been left open for such a long time?

TLDR: User-defined presence with a status notification is essential for a modern chat client. For us, unfortunately, it's a showstopper right now.

@t3chguy
Copy link
Member

t3chguy commented Sep 7, 2023

@SleepingGuy Presence on the backend scales really poorly O(n^2) so most large servers have it disabled entirely. Building a feature which would be inaccessible to most users is simply not high on the roadmap.

@heiko73
Copy link

heiko73 commented Sep 7, 2023

I think @SleepingGuy did not mean presence (in a sense where the system automatically detects activity and changes the status itself) but a personal status (message that can be set by a user (just like the nick name). We are actually using the /nick command to add a status indicator. But the fact that updates to the nick are propagated in every room is a drawback and we sometimes experience problems with the (delayed) upating of the nick in clients.

Regarding presence I would assume that this is something that should be handled by the client, not the backend, but maybe I am missing something here.

@t3chguy
Copy link
Member

t3chguy commented Sep 7, 2023

@heiko73 that is implemented in Presence in Matrix though. https://spec.matrix.org/v1.8/client-server-api/#events-7 status_msg

@heiko73
Copy link

heiko73 commented Sep 7, 2023

@heiko73 that is implemented in Presence in Matrix though. https://spec.matrix.org/v1.8/client-server-api/#events-7 status_msg

OK, and if I understand correctly, this can be enabled / disabled on each server? I.e. we could enable it and use it? I guess in that case Element is not supporting this, correct?

@t3chguy
Copy link
Member

t3chguy commented Sep 7, 2023

Correct

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
A-Custom-Status A-Presence A-User-Settings O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Impairs non-critical functionality or suitable workarounds exist T-Enhancement
Projects
None yet
Development

No branches or pull requests