Commit Graph

50 Commits

Author SHA1 Message Date
Andrew Ferrazzutti 9a82db2257 Backfill inbound read receipts
Also rename "chat" to "channel" for the Message DB, and make its primary
key include channel IDs
2022-05-05 03:05:19 -04:00
Andrew Ferrazzutti e44536f9f2 Allow login flow to be more like the official PC client 2022-05-05 03:04:03 -04:00
Andrew Ferrazzutti 32181e3257 Actually connect channel add listener
Also be less strict about needing channel_info on portal creation
2022-04-28 03:26:08 -04:00
Andrew Ferrazzutti cf4f40efa2 Command for outbound leaves 2022-04-28 03:26:08 -04:00
Andrew Ferrazzutti e952c05d35 Many fixes thanks to mypy
Also add some missing license headers
2022-04-28 03:26:08 -04:00
Andrew Ferrazzutti 2143282195 Actually check connection during ping command 2022-04-28 03:26:08 -04:00
Andrew Ferrazzutti 2602e58734 Inbound file messages 2022-04-28 03:26:08 -04:00
Andrew Ferrazzutti c9961d5078 Improve inbound joins, leaves, kicks, and power levels
TODO Channel leaves on backfill
2022-04-28 03:26:07 -04:00
Andrew Ferrazzutti db33378345 Support inbound channel adding, and log remaining events
Also use more consistent grammar for event log messages
2022-04-23 17:01:39 -04:00
Andrew Ferrazzutti 421bba7f1f Style updates & minor fixes 2022-04-23 16:48:23 -04:00
Andrew Ferrazzutti 51d02d3c34 Recreate ServiceApiClient on token refresh 2022-04-23 13:51:39 -04:00
Andrew Ferrazzutti eebcef6b08 Add config for custom device name 2022-04-20 23:47:02 -04:00
Andrew Ferrazzutti b85301d59f Don't log contents of RPC calls
It was asking for trouble
2022-04-14 04:27:23 -04:00
Andrew Ferrazzutti 770b0e447b Try outbound room title & description, and work on outbound room avatar
But they fail with -203 (invalid body)
2022-04-14 04:27:23 -04:00
Andrew Ferrazzutti a12efc92c4 Inbound channel photo & description 2022-04-14 04:27:23 -04:00
Andrew Ferrazzutti b29453a871 Awaitable / Promise cleanups 2022-04-13 05:19:33 -04:00
Andrew Ferrazzutti ecb04fc2f5 Inbound permissions & outbound power levels
Note that these only apply to OpenChannels
2022-04-13 05:19:32 -04:00
Andrew Ferrazzutti fe6df88a4b Return IDs of bridged outgoing messages instead of the chats themselves
And set an optional property in AudioAttachment to be safe
2022-04-12 04:42:26 -04:00
Andrew Ferrazzutti 587ec98f3e Handle serializer errors on connect 2022-04-12 04:42:26 -04:00
Andrew Ferrazzutti 9a33f3dcf2 Use More/LessSettings instead of profile on login; add whoami command 2022-04-11 00:02:12 -04:00
Andrew Ferrazzutti c9189d17cf Inbound channel/user join/leave 2022-04-10 04:57:50 -04:00
Andrew Ferrazzutti 4a68796fdf Outbound read receipts 2022-04-10 04:38:25 -04:00
Andrew Ferrazzutti 7b96687dae Inbound read receipts
But not while backfilling
2022-04-10 04:38:25 -04:00
Andrew Ferrazzutti 4c205104a9 Inbound profile changes 2022-04-10 02:23:50 -04:00
Andrew Ferrazzutti 2aace35962 Add listener for inbound client errors 2022-04-10 02:18:53 -04:00
Andrew Ferrazzutti 61d9a60704 Outgoing message redactions 2022-04-09 04:14:02 -04:00
Andrew Ferrazzutti 60b115bd38 Rename remote->kakaotalk and message->chat 2022-04-09 04:04:10 -04:00
Andrew Ferrazzutti f7d889486a Inbound message deletion/hiding
Treating hiding as equivalent to deletion
2022-04-09 04:04:10 -04:00
Andrew Ferrazzutti 075bf3e60f Better tracking of client event handlers 2022-04-09 04:04:10 -04:00
Andrew Ferrazzutti 8ac16e00fc Handle disconnections from the node module
Make the bridge module auto-reconnect to the node module in case the
latter ever crashes (or is started after the bridge module).

Also work towards more holistic auto-reconnect logic in general.
2022-04-08 05:04:46 -04:00
Andrew Ferrazzutti 84e6a5829d Outgoing mentions 2022-04-06 12:49:23 -04:00
Andrew Ferrazzutti 2b9c59a2af Outbound replies 2022-04-05 15:44:02 -04:00
Andrew Ferrazzutti 3dc1f2612e Minor improvements 2022-04-05 00:59:22 -04:00
Andrew Ferrazzutti a9633118c5 Allow syncing (existing) direct chat channel by inviting puppet to DM 2022-04-04 20:07:30 -04:00
Andrew Ferrazzutti 59ea91519a Split state into "logged in" and "connected"
Logged in = have (supposedly valid) session tokens
Connected = have an active TalkClient session
2022-04-01 05:11:46 -04:00
Andrew Ferrazzutti ace4eefec7 Outbound media messages 2022-03-26 03:37:53 -04:00
Andrew Ferrazzutti 256c4d429a Inbound message attachments, starting with images 2022-03-24 22:09:38 -04:00
Andrew Ferrazzutti e099886eb1 Minor style changes 2022-03-23 03:15:02 -04:00
Andrew Ferrazzutti 2d9ae53d89 Add command for listing friends 2022-03-23 03:09:30 -04:00
Andrew Ferrazzutti 66262caa63 Restore forgotten channels before sending something into them 2022-03-21 01:33:22 -04:00
Andrew Ferrazzutti ee3daab48d Rename some login data types & variables 2022-03-21 01:11:42 -04:00
Andrew Ferrazzutti b59b8a68c3 Sync receiver of DM channel at init time for existing portal 2022-03-20 03:12:17 -04:00
Andrew Ferrazzutti 60c47e5a20 Improved syncing, cleanups 2022-03-18 03:52:55 -04:00
Andrew Ferrazzutti 1a947a1999 Apply chat sync limit during RPC transfer 2022-03-12 23:26:23 -05:00
Andrew Ferrazzutti f5d16839a6 Minor cleanups 2022-03-11 20:40:33 -05:00
Andrew Ferrazzutti 66b66bd27b First crack at incoming messages 2022-03-10 02:46:24 -05:00
Andrew Ferrazzutti 6e6c6f5c48 Message sending 2022-03-09 20:26:39 -05:00
Andrew Ferrazzutti 0c9550841c Puppets and backfilling 2022-03-09 02:29:43 -05:00
Andrew Ferrazzutti db41292be7 Remove union operator for Python <3.10 compatibility 2022-02-26 04:06:26 -05:00
Andrew Ferrazzutti b57c74eeb6 Initial commit 2022-02-25 02:22:50 -05:00