Commit Graph

67 Commits

Author SHA1 Message Date
Andrew Ferrazzutti a817049e12 Document that error responses can have a result object after all
Also document some custom result types
2022-05-06 02:50:55 -04:00
Andrew Ferrazzutti c3b299d26c Make LoginResult.lastChannelId optional
Needed for backfilling users who have not joined any channels
2022-05-06 02:48:58 -04:00
Andrew Ferrazzutti dfdd98da96 KakaoTalk ID management from Matrix
Add commands to set ID and make it searchable/hidden.
Also don't print stack traces of ProtocolErrors.
2022-05-06 02:47:42 -04:00
Andrew Ferrazzutti b994ca65ee Allow adding/removing KakaoTalk friends from Matrix 2022-05-06 00:57:01 -04:00
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 1a7a11eaf3 Optional instead of | union 2022-04-28 03:45:56 -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 73f8792b75 Set history & join rules to match KakaoTalk behaviour 2022-04-12 04:42:26 -04:00
Andrew Ferrazzutti 164bb7ce10 Make emoticon alt-text property optional 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 87b41fbdcc Make another missing inbound property optional 2022-04-10 04:57:50 -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 cf9fbc6d57 Make some more missing inbound properties optional 2022-04-08 05:05:39 -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 ce5006269f Make some missing inbound properties optional 2022-04-05 02:12:51 -04:00
Andrew Ferrazzutti ada6a56135 Add missing __init__.py 2022-04-05 01:09:28 -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 c8803bc8cc Minor cleanups 2022-04-01 05:11:47 -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 48ff7b3ceb Inbound multiphoto, video, audio 2022-03-28 03:36:16 -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