* first part of chat refactor
remove per user chat zsets & store all mids in chat:room:<roomId>:mids
reverse uids in getUidsInRoom
* feat: create room button
public groups wip
* feat: public rooms
create chats:room zset
chat room deletion
* join socket.io room
* get rid of some calls that load all users in room
* dont load all users when loadRoom is called
* mange room users infinitescroll
dont load all members in api call
* IS for user list
ability to change groups field for public rooms
update groups field if group is renamed
* test: test fixes
* wip
* keep 150 messages
* fix extra awaits
fix dupe code in chat toggleReadState
* unread state for public rooms
* feat: faster push unread
* test: spec
* change base to harmony
* test: lint fixes
* fix language of chat with message
* add 2 methods for perf
messaging.getTeasers and getUsers(roomIds)
instead of loading one by one
* refactor: cleaner conditional
* test fix upgrade script fix
save timestamp of room creation in room object
* set progress.total
* don't check for guests/spiders
* public room unread fix
* add public unread counts
* mark read on send
* ignore instead of throwing
* doggy.gif
* fix: restore delete
* prevent entering chat rooms with
meta.enter
* fix self message causing mark unread
* ability to sort public rooms
* dont init sortable on mobile
* move chat-loaded class to core
* test: fix spec
* add missing keys
* use ajaxify
* refactor: store some refs
* fix: when user is deleted remove from public rooms as well
* feat: change how unread count is calculated
* get rid of cleaned content
get rid of mid
* add help text
* test: fix tests, add back mid
to prevent breaking change
* ability to search members of chat rooms
* remove
* derp
* perf: switch with partial data
fix tests
* more fixes
if user leaves a group leave public rooms is he is no longer part of any of the groups that have access
fix the cache key used to get all public room ids
dont allow joining chat socket.io room if user is no longer part of group
* fix: lint
* fix: js error when trying to delete room after switching
* add isRoomPublic
"chat.delete_message_confirm":"Are you sure you wish to delete this message?",
"chat.delete_message_confirm":"Are you sure you wish to delete this message?",
"chat.retrieving-users":"Retrieving users...",
"chat.retrieving-users":"Retrieving users...",
"chat.view-users-list":"View users list",
"chat.public-rooms":"Public Rooms (%1)",
"chat.private-rooms":"Private Rooms (%1)",
"chat.create-room":"Create Chat Room",
"chat.private.option":"Private (Only visible to users added to room)",
"chat.public.option":"Public (Visible to every user in selected groups)",
"chat.public.groups-help":"To create a chat room that is visible to all users select registered-users from the group list.",
"chat.manage-room":"Manage Chat Room",
"chat.manage-room":"Manage Chat Room",
"chat.add-user":"Add User",
"chat.select-groups":"Select Groups",
"chat.add-user-help":"Search for users here. When selected, the user will be added to the chat. The new user will not be able to see chat messages written before they were added to the conversation. Only room owners (<i class=\"fa fa-star text-warning\"></i>) may remove users from chat rooms.",
"chat.add-user-help":"Search for users here. When selected, the user will be added to the chat. The new user will not be able to see chat messages written before they were added to the conversation. Only room owners (<i class=\"fa fa-star text-warning\"></i>) may remove users from chat rooms.",
"chat.confirm-chat-with-dnd-user":"This user has set their status to DnD(Do not disturb). Do you still want to chat with them?",
"chat.confirm-chat-with-dnd-user":"This user has set their status to DnD(Do not disturb). Do you still want to chat with them?",
"chat.room-name-optional":"Room Name (Optional)",
"chat.rename-room":"Rename Room",
"chat.rename-room":"Rename Room",
"chat.rename-placeholder":"Enter your room name here",
"chat.rename-placeholder":"Enter your room name here",
"chat.rename-help":"The room name set here will be viewable by all participants in the room.",
"chat.rename-help":"The room name set here will be viewable by all participants in the room.",
"chat.leave":"Leave Chat",
"chat.leave":"Leave",
"chat.leave-room":"Leave Room",
"chat.leave-prompt":"Are you sure you wish to leave this chat?",
"chat.leave-prompt":"Are you sure you wish to leave this chat?",
"chat.leave-help":"Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.",
"chat.leave-help":"Leaving this chat will remove you from future correspondence in this chat. If you are re-added in the future, you will not see any chat history from prior to your re-joining.",
"chat.delete":"Delete",
"chat.delete-room":"Delete Room",
"chat.delete-prompt":"Are you sure you wish to delete this chat room?",
description:Whether the message is considered part of a new "set" of messages. It is used in the frontend UI for explicitly denoting that a time gap existed between messages.
description:Whether the message is considered part of a new "set" of messages. It is used in the frontend UI for explicitly denoting that a time gap existed between messages.