Commit Graph

132 Commits

Author SHA1 Message Date
Andrew Ferrazzutti a49e2768a3 Don't send outbound mentions for direct chats
because KT doesn't allow them, and errors when the bridge sends them
2022-05-09 03:31:14 -04:00
Andrew Ferrazzutti 128979e06b Add missing await 2022-05-09 03:31:14 -04:00
Andrew Ferrazzutti 095641fe08 Fix forced login 2022-05-06 18:28:22 -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 c3726220de Actually skip channel syncing when bridge.sync_on_startup is false 2022-05-06 03:51:20 -04:00
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 dcf17fd40a Awaitable and mark_read for account/friend management commands 2022-05-06 02:49:49 -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 faf174c226 Move "whoami" command to Account Management section 2022-05-06 02:47:42 -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 5ae5970ef0 Let "sync" command override resync_max_disconnected_time 2022-05-05 03:28:44 -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 6a828eb0b3 Clarify that --save stores passwords 2022-05-05 03:04:03 -04:00
Andrew Ferrazzutti 3b40d6971f Remove unimplemented settings that (likely) won't be needed 2022-05-05 03:04:03 -04:00
Andrew Ferrazzutti a7cafbf367 Implement resync_max_disconnected_time 2022-05-05 03:04:03 -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 6623dd46c0 Assorted minor fixes 2022-05-02 03:13:18 -04:00
Andrew Ferrazzutti e35082bbea Improve "whoami", especially for users with no KakaoTalk ID
Also show whether the KakaoTalk ID is searchable or not
2022-05-02 02:52:55 -04:00
Andrew Ferrazzutti d0dc921fd4 Add missing return on "whoami" error 2022-05-02 02:23:15 -04:00
Andrew Ferrazzutti 4c0f2346d8 Update version 2022-04-29 09:55:53 -04:00
Andrew Ferrazzutti b7df79e65d Copy PL state events with evolve 2022-04-28 22:28:39 -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 ee8b0a2fca Improve room creation
Handle topics, and use arguments instead of initial_state objects
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 283ff43769 Don't monitor outbound state events for non-open channel portals
They can never be bridged, so allow them as Matrix-only customizations
2022-04-28 03:26:07 -04:00
Andrew Ferrazzutti eed3baa981 Fix misnaming of called function
It was public, not private
2022-04-23 17:02:53 -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 91af7890ac For DM checks, use ID of sender instead of channel
This is more migration away from FB's usage of user IDs as DM IDs
2022-04-23 16:51:48 -04:00
Andrew Ferrazzutti 421bba7f1f Style updates & minor fixes 2022-04-23 16:48:23 -04:00
Andrew Ferrazzutti 13cb5f87ff Fix inbound blank channel descriptions 2022-04-23 13:56:44 -04:00
Andrew Ferrazzutti 9dd11efc2d Actually apply displayname_template
Also get rid of displayname_preference until it's implemented
2022-04-23 13:55:55 -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 0a0812515c Fix replies to relayed users' messages 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 abf3114203 Better error handling for permission setting and privileged actions 2022-04-14 04:27:23 -04:00
Andrew Ferrazzutti 746756cc3f Improved power level bridging 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 d843fcf5d2 Reset RPC min broadcast ID when node module resets
Otherwise, bridge module will ignore events until new broadcast ID
catches up to the old one
2022-04-13 05:19:33 -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 aa5c066552 Prepend relayed media messages with a new message of who sent it
And keep its body text unchanged from its original
2022-04-12 04:42:26 -04:00