- install:
yarn bootstrap
1
- 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#events
andunpack/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
/log
or/events
endpoints)
- 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 ↩