campyre icon indicating copy to clipboard operation
campyre copied to clipboard

Handle locked rooms that you are in

Open konklone opened this issue 14 years ago • 0 comments

Keep a "locked" flag in RoomView, and an array of seenLockedIds. If the room is locked upon entry (for admins), set this flag to true immediately. If a LockedMessage is received (and has not been seen before), set this flag to true.

While the flag is true, immediately after polling (but before updating the MessageAdapter), do another call to the room details endpoint to see whether the room is locked.

If it is, add (or refresh) a fixed header view beneath the tabs (but within the RoomView tab) that says the room is locked.

If it is not, set "locked" to false, and remove the header view.

RoomView "auto-joins" periodically; investigate if /join is rejected when the room is locked, when one has already joined the room. If it is rejected, then disable auto-join altogether while the "locked" flag is true.

konklone avatar Jan 06 '11 02:01 konklone