Commit Graph

149 Commits

Author SHA1 Message Date
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
421bba7f1f Style updates & minor fixes 2022-04-23 16:48:23 -04:00
13cb5f87ff Fix inbound blank channel descriptions 2022-04-23 13:56:44 -04:00
9dd11efc2d Actually apply displayname_template
Also get rid of displayname_preference until it's implemented
2022-04-23 13:55:55 -04:00
51d02d3c34 Recreate ServiceApiClient on token refresh 2022-04-23 13:51:39 -04:00
eebcef6b08 Add config for custom device name 2022-04-20 23:47:02 -04:00
b85301d59f Don't log contents of RPC calls
It was asking for trouble
2022-04-14 04:27:23 -04:00
0a0812515c Fix replies to relayed users' messages 2022-04-14 04:27:23 -04:00
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
abf3114203 Better error handling for permission setting and privileged actions 2022-04-14 04:27:23 -04:00
746756cc3f Improved power level bridging 2022-04-14 04:27:23 -04:00
a12efc92c4 Inbound channel photo & description 2022-04-14 04:27:23 -04:00
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
b29453a871 Awaitable / Promise cleanups 2022-04-13 05:19:33 -04:00
ecb04fc2f5 Inbound permissions & outbound power levels
Note that these only apply to OpenChannels
2022-04-13 05:19:32 -04:00
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
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
587ec98f3e Handle serializer errors on connect 2022-04-12 04:42:26 -04:00
33a8218eee Add missing None check for outbound read receipts 2022-04-12 04:42:26 -04:00
af296510aa Reinstate outbound formatting 2022-04-12 04:42:26 -04:00
b2f9298817 Remove some apparently unused inbound formatting 2022-04-12 04:42:26 -04:00
38d307c684 Fix sometimes-broken inbound mentions 2022-04-12 04:42:26 -04:00
b9cf30e9e6 Don't log contents of what look to be inbound deleted chats 2022-04-12 04:42:26 -04:00
73f8792b75 Set history & join rules to match KakaoTalk behaviour 2022-04-12 04:42:26 -04:00
2be6a761b6 Don't bridge what look to be inbound deleted chats 2022-04-12 04:42:26 -04:00
164bb7ce10 Make emoticon alt-text property optional 2022-04-12 04:42:26 -04:00
3bf49123f5 Better node disconnect handling 2022-04-11 14:50:20 -04:00
383ea05432 Add read receipt handler that I forgot about 2022-04-11 04:50:39 -04:00
09e8ceb96c Update version
And from now on, DB table updates require a new revision!
2022-04-11 00:40:10 -04:00
0b23efd43a Remove incomplete web-based login for now 2022-04-11 00:02:12 -04:00
68e2f70371 Remove incomplete inbound reaction handlers for now 2022-04-11 00:02:12 -04:00
9a33f3dcf2 Use More/LessSettings instead of profile on login; add whoami command 2022-04-11 00:02:12 -04:00
370865c2c1 Silently handle inbound "feed" messages
They seem to be pure metadata, so don't post them as messages
2022-04-10 05:07:41 -04:00
87b41fbdcc Make another missing inbound property optional 2022-04-10 04:57:50 -04:00
e2c24c3ac5 Add missing parameter 2022-04-10 04:57:50 -04:00
c9189d17cf Inbound channel/user join/leave 2022-04-10 04:57:50 -04:00
4a68796fdf Outbound read receipts 2022-04-10 04:38:25 -04:00
109e9bcc67 For outgoing messages, raise error if disconnected 2022-04-10 04:38:25 -04:00
7b96687dae Inbound read receipts
But not while backfilling
2022-04-10 04:38:25 -04:00
4c205104a9 Inbound profile changes 2022-04-10 02:23:50 -04:00
cf83e86e78 Check that relay users are connected 2022-04-10 02:21:00 -04:00
a7a3ab694e Semicolons & commas 2022-04-10 02:19:59 -04:00
2aace35962 Add listener for inbound client errors 2022-04-10 02:18:53 -04:00
297697973f Catch a possible non-cancel exception when terminating Node module 2022-04-09 04:14:02 -04:00
61d9a60704 Outgoing message redactions 2022-04-09 04:14:02 -04:00
01a89508f6 Remove outbound typing listeners
Since KakaoTalk doesn't support typing notifications
2022-04-09 04:14:02 -04:00
60b115bd38 Rename remote->kakaotalk and message->chat 2022-04-09 04:04:10 -04:00
f7d889486a Inbound message deletion/hiding
Treating hiding as equivalent to deletion
2022-04-09 04:04:10 -04:00
075bf3e60f Better tracking of client event handlers 2022-04-09 04:04:10 -04:00
e94c598e3b Force-disable web-based login until it is implemented 2022-04-08 05:16:12 -04:00
3abb296109 Sync channels from most to least recently updated 2022-04-08 05:06:09 -04:00
cf9fbc6d57 Make some more missing inbound properties optional 2022-04-08 05:05:39 -04:00
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
d452735691 Set body of media replies to what official client sets them to 2022-04-06 14:57:06 -04:00
ae9fd46bc8 Outgoing replies to replies 2022-04-06 14:33:01 -04:00
f682edb719 Add missing argument 2022-04-06 14:16:12 -04:00
26d212fd45 Format & put mentions in reply targets 2022-04-06 14:11:15 -04:00
84e6a5829d Outgoing mentions 2022-04-06 12:49:23 -04:00
6867e6b349 Incoming mentions 2022-04-05 18:21:35 -04:00
2b9c59a2af Outbound replies 2022-04-05 15:44:02 -04:00
3ced968494 Inbound replies (and some kwarg cleanup) 2022-04-05 02:44:03 -04:00
ce5006269f Make some missing inbound properties optional 2022-04-05 02:12:51 -04:00
ada6a56135 Add missing __init__.py 2022-04-05 01:09:28 -04:00
3dc1f2612e Minor improvements 2022-04-05 00:59:22 -04:00
d9adfe1550 Send fallback warning message for unsupported inbound message types 2022-04-05 00:54:21 -04:00
cc5f3f13c3 Fix uploading portal avatars 2022-04-04 20:13:20 -04:00
a9633118c5 Allow syncing (existing) direct chat channel by inviting puppet to DM 2022-04-04 20:07:30 -04:00
3900e666ff Update mautrix-python & copy latest goodies from mautrix-facebook 2022-04-02 23:16:53 -04:00
c8803bc8cc Minor cleanups 2022-04-01 05:11:47 -04:00
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
15415a5eec Send multiphoto messages in order 2022-03-29 03:25:38 -04:00
d116ebefc7 Async function -> return awaitable 2022-03-29 03:25:06 -04:00
48ff7b3ceb Inbound multiphoto, video, audio 2022-03-28 03:36:16 -04:00
ace4eefec7 Outbound media messages 2022-03-26 03:37:53 -04:00
256c4d429a Inbound message attachments, starting with images 2022-03-24 22:09:38 -04:00
e099886eb1 Minor style changes 2022-03-23 03:15:02 -04:00
2d9ae53d89 Add command for listing friends 2022-03-23 03:09:30 -04:00
66262caa63 Restore forgotten channels before sending something into them 2022-03-21 01:33:22 -04:00
b9eb4ce0ac Prevent crash when quitting Python module after Node module 2022-03-21 01:14:52 -04:00
ee3daab48d Rename some login data types & variables 2022-03-21 01:11:42 -04:00
b59b8a68c3 Sync receiver of DM channel at init time for existing portal 2022-03-20 03:12:17 -04:00
60c47e5a20 Improved syncing, cleanups 2022-03-18 03:52:55 -04:00
491cdca7b6 Fix how DirectChat and MemoChat channels are handled 2022-03-13 00:30:29 -05:00
c7df4b1e65 Fix channel sync debug message 2022-03-12 23:27:28 -05:00
1a947a1999 Apply chat sync limit during RPC transfer 2022-03-12 23:26:23 -05:00
4158788496 Clean up Long
Keep it as an int in Python, and do all fancy conversions in Node
2022-03-11 20:40:33 -05:00
f5d16839a6 Minor cleanups 2022-03-11 20:40:33 -05:00
c48952a9fa Show error on startup/sync failure 2022-03-11 03:40:20 -05:00
66b66bd27b First crack at incoming messages 2022-03-10 02:46:24 -05:00
6e6c6f5c48 Message sending 2022-03-09 20:26:39 -05:00
00c0090c19 Enforce non-optional ktid and kt_receiver for portal DB objects 2022-03-09 02:29:43 -05:00
f8a50f1201 Mark long commands as read 2022-03-09 02:29:43 -05:00
0c9550841c Puppets and backfilling 2022-03-09 02:29:43 -05:00
e28694c987 Remove union operator from more dataclass fields 2022-03-09 02:29:43 -05:00
8c2775056d Set logged-in flag after manual login
Not just after loading a session
2022-03-06 03:23:05 -05:00
bb3d7057b3 Implement logging out from the bridge
But there is no API for logging out of KakaoTalk
2022-03-06 03:23:05 -05:00
db41292be7 Remove union operator for Python <3.10 compatibility 2022-02-26 04:06:26 -05:00
b1e922a0fd Fix NormalChannelData deserialization 2022-02-26 02:21:05 -05:00
b57c74eeb6 Initial commit 2022-02-25 02:22:50 -05:00