### Current iteration - [x] 1. Chat room link copy - [x] 2. Use font that supports Cyrillic - [x] 3. Self messages should have unique style. Display own messages on the right. The rest on the left. - [x] 4. Combine messages from the same user into one if they are next to each other - [x] 5. Send data package to room - [x] 6. Join chat button with a manual room name input - [x] 7. New line breaks - [x] 8. Link parser - [x] 9. Messages encryption\decryption - [x] 10. Display room events in chat log (`room.join`, `room.leave`, etc.) - [x] 11. Scroll down chat log on changes. Ability to omit this behaviour. - [x] 12. Drop user from chat on websocket lost connection - [x] 13. Roster should stick to the top and be expandable - [x] 14. Responsive layout - [x] 15. Exit chat button - [x] 16. Add Icons ### Future iteration - [ ] 1. Messages timestamps - [x] 2. After leaving chat room tab or unfocusing browser window visually mark as new missed messages & events. - [x] 3. Notify user of events if the window not focused. - [x] 4. Ability to scroll down to first unread message in one click - [ ] 5. After leaving chat room tab remember scroll position and scroll down after returning back to it - [ ] 6. Clear chat log button - [ ] 7. Show a modal window on internet connection interruption. Give ability either to reconnect or to close the session. - [ ] 8. Redo chat creation interface - [ ] 9. Add notification that message has not been delivered yet - [ ] 10. Start notification hide countdown only when the window is focused ### Won't implement - [ ] 1. Chat commands in IRC style `/me`, `/ping` and etc. - [ ] 2. Markdown parser - [ ] 3. Ability to rename (set alias for) any user locally (visible only for self) - [ ] 4. Image links parser - [ ] 5. Video links parser (Youtube, Vimeo) - [ ] 6. Download chat log command\button - [ ] 7. `@mention` username - [ ] 8. Unread messages counter on the bottom in case of receive new messages after scroll up - [ ] 9. Display count of unread messages & events in navigation menu
Current iteration
room.join,room.leave, etc.)Future iteration
Won't implement
/me,/pingand etc.@mentionusername