- install:
yarn bootstrap
1 - run:
yarn start
- watch events go by:
yarn ev
enter
- select a chat or threadescape
- exit a thread (blur focus on input) or exit a chath
/j
/up
/down
- navigate chats/threadsctrl+e
- expand thread messagesctrl+r
- refresh chats + threads + messagesctrl+d
- exit
- 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-u to jump to latest unread across all chats
- 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 ↩