Commit Graph

57 Commits

Author SHA1 Message Date
Andrew Ferrazzutti adb7453e1a Actually make compatible with Python 3.8
- Replace builtin generic type annotations with classes from Typing
- Replace union type expressions with Union and Optional
2022-07-14 01:41:24 -04:00
Andrew Ferrazzutti 1897c1e494 Try to catch unexpected TalkClient disconnects 2022-05-16 00:08:00 -04:00
Andrew Ferrazzutti 454d1b72cc Don't document that outbound portal avatars are supported
Also comment-out its unused code
2022-05-12 03:50:58 -04:00
Andrew Ferrazzutti 8da7f1efbd Wait for RPC connection before sending notice to log back in 2022-05-10 01:17:05 -04:00
Andrew Ferrazzutti 4e6498f777 Create new direct chat if necessary when creating new DM portal
Might fail on first attempt, though
2022-05-06 04:25:08 -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 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