Replying to a message
Until today a chat line could be reacted to, edited and deleted, but it could not be answered. If two conversations were running at once you had to retype enough of the earlier line to make it obvious which one you meant, and in a room where a dozen messages arrive between your question and somebody's answer, that never quite worked.
There is now a ↩ on every line. Tapping it puts a quote of that message above the composer, you type your answer as usual, and the reply carries the quote with it. It works in the room chat on both layouts, in the shell's chat panel and on /chat, and in direct messages. Radio chat has had this since August and is unchanged.
Four things behave in ways you would not guess from the button.
The quote is a snapshot, but a delete still wins. When you answer a line, its text is copied onto your reply, so the quote keeps rendering after the original has scrolled out of the loaded window. That alone would have created a hole: deleting a message would leave its words visible in every reply to it, forever. So the server checks the parent when it serves a page, and a quote of a deleted line prints "message deleted" and nothing else. An edit does not propagate. The quote is what was on screen when you answered.
You can only quote a line you could see. A reply target has to be in the same room, and for a city room in the same world too, since one city name exists in both. Without that, a reply would be a way to lift a line out of a room you are not in and republish it in one you are.
A bad target costs the quote, not the message. If the line you tapped reply on has been removed by the time you hit send, your words go out plain rather than being refused.
The person you answered gets a bell. A reply is aimed at one person, and the chat itself only reaches somebody who is already watching it. If your reply also names them with an @handle, that is one event and one row, not two.
Only lines written after 13 September can be answered. Older history carries no id on the wire, so there is nothing to point at, and the ↩ is simply not drawn on it.