- install:
yarn bootstrap1
- run:
yarn start - watch events go by:
yarn ev
- Quickly leave a bunch of rooms and/or dms:
yarn leave
ctrl+d- exitctrl+n- go to the newest unread messagectrl+f f- find rooms to joinctrl+f /- find rooms/dms already joined
enter- select chatj/k/up/down/g/shift+g- navigatee- expand/collapse sectionctrl+r l- leave room- (todo)
ctrl+r s- star/unstar - (todo)
ctrl+r m- mute/unmute - (todo)
ctrl+r a- add user/bot
enter- select threadescape- exit to chatsj/k/up/down/g/shift+g- navigatectrl+t n- new thread
escape- exit to threads or chats (in case of dm)ctrl+p- toggle chat history
ctrl+j/ctrl+k/ctrl+g/ctrl+l- navitage (todo: update ctrl+l to ctrl+shift+g)ctrl+e- expand
- View Rooms, DMs
- Send messages
- Unread callouts
- manually refresh rooms/threads/messages with
C-r
- Event subscription (
api.js#eventsandunpack/events.js) - Room/DM search for exsting chats (
screens/search.js) - Create thread in a room (
api.js#newThread)
- Fetch more threads/messages
- scrolling messages
- User/Room search for new/non-joined (unknown)
- Mark As Read when joining a room/dm (probably either
/logor/eventsendpoints)
- C-escape to mark all chats read
- C-tab to switch between MRU chats
- basic configuration customization
- upgrade/improved rendering for neo-blessed. it's honestly kind crap.
- auth, grab cookies (
src/lib/api/auth.js#init) - register to listen to events (
src/lib/api/events.js) - bootstrap screen (
index.js,src/screen.js) - fetch all chats (
index.js,src/lib/model/chats.js#getAll,src/lib/api/get-chats.js) - when chat selected either:
- (
isDm) fetch chat messages (src/screens/messages.js,src/lib/api/get-chat-messages.js) - (
!isDm) fetch chat threads (src/screens/threads.js,src/lib/api/get-chat-threads.js)
- (
- listen for user input (
src/screens/input.js)
users are fetched/cached in lib/model/user.js
Footnotes
-
we can't use chrome because https://support.google.com/accounts/thread/22873505?msgid=24501976 ↩