Custom status message expiry
This is a stub to propose adding custom status expiry.
What problem does this solve?
When setting a status that should expire some specific day in the future, there are only certain options today:
- 30 minutes
- 3 hours
- 8 hours
- 1 day
- 3 days
- 7 days
- 30 days
These options do not work well for the following common scenarios:
- I am taking the next 2 days off. I can only set a self-exipring status for 1 or 3 days.
- I am about to take a vacation that is not 7 days long.
- I am about to take parental leave. I want to set an away status that expires in 4 months. The maximum I can set is a 30 day self-expiring status.
- I normally work with Group A but I am on a borrow with Group B until a fixed date. I want to set a status that reflects that up until that fixed date.
Proposed functionality
- Add a
Custom...
item to the "Clear after" dropdown - When the
Custom...
option is selected, show a date input - The user can choose any date that is today or later
- If the user tries to set their status when
Custom...
is set but they do not have a date selected, show a validation error on the date input
Considerations
- This requires changes to the users api; currently, only the fixed options listed under the "What problem does this solve?" section above are accepted on the clear_at field. The validation needs to be widened to accept one of those fixed options or a string that contains an integer number of seconds.
- The user can set their status via the "set status" item in the user menu and on the user profile page.