The chat took half the screen, and the status control was unfindable
**Three panels became a menu.** Disappearing messages, snooze, remind-me and send-later were four blocks of chips stacked above the messages — in a conversation you had opened to read, they took half the screen. The controls are behind ⋯ now. 🔴 **What stays on the thread is the STATE, in one line.** A timer both people are deleting on, a snooze, a pending reminder, a queued message — those are facts about the conversation, and a fact you must open a menu to discover is one you will not rely on. Absent entirely when nothing is set, so an ordinary chat carries no chrome at all. ⚠️ "Send later" only appears when the composer has something in it. Offered against an empty box it is a control whose only possible effect is nothing. **Status was at the bottom of Account, under the address card, as four unlabelled chips.** It is directly under the profile picture now, with a heading and a line saying what each state does to other people. The person who asked for the feature could not find it, which is the same as it not being there. 🔴 **And it showed a guess.** The state defaulted to "online" and nothing ever read the real value, so the screen showed the default rather than what contacts could see. It loads from the relay now — an empty body on that route is a read, so no new endpoint was needed. engine 177, client 96, app 46. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
96b43f4e43
commit
0e89003cc0
@@ -122,6 +122,16 @@ class MessengerApi(
|
||||
* ⚠️ The answer is not always the word sent: `offline` is stored as
|
||||
* `invisible`, which is what "appear offline" has always meant.
|
||||
*/
|
||||
/**
|
||||
* Read the status the relay currently holds for us, without changing it.
|
||||
*
|
||||
* ⚠️ An empty body is a READ. The route only writes when `status` is
|
||||
* present, and answers with the stored value either way — so this needs no
|
||||
* route of its own, and cannot accidentally set something.
|
||||
*/
|
||||
fun currentStatus(): String =
|
||||
post("status", JSONObject()).optString("status").ifEmpty { "online" }
|
||||
|
||||
fun setStatus(status: String): String {
|
||||
val reply = post("status", JSONObject().put("status", status))
|
||||
return reply.optString("status").ifEmpty { status }
|
||||
|
||||
Reference in New Issue
Block a user