Commit Graph

524 Commits

Author SHA1 Message Date
Sumner Evans 81c913bdd3 client: better logging on connection state changes
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-25 13:58:03 -06:00
Sumner Evans c6e96682b6 treewide: separate user and channel namespaces
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-25 07:16:05 -06:00
Sumner Evans a73f9d1ec2 connector/tomatrix: fix replies
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-16 15:50:29 -06:00
Sumner Evans 7a02d6a35b client: use ping callback to determine if connection is still alive
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-16 14:20:36 -06:00
Tulir Asokan ff48398430 ids: add support for split portals 2024-09-14 12:50:31 +03:00
Sumner Evans 3acd95741f connector: check for nil on cancel
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-10 13:02:49 -06:00
Tulir Asokan 3f69f29d49 config: remove pointer 2024-09-10 21:24:28 +03:00
Sumner Evans fab98cfdea takeout: use takeout to list dialogs once permission granted
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-10 11:27:00 -06:00
Sumner Evans 4692d46305 client: use both reconnection detection methods
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-10 08:30:33 -06:00
Sumner Evans 87f9f008e6 formatting: fix username parsing and insertion
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-10 00:08:00 -06:00
Sumner Evans 50ab23423f client: update for better connection detection
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-09 21:50:41 -06:00
Sumner Evans cd0d940889 connector/login: normalize phone number on finalize
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-09 21:47:19 -06:00
Sumner Evans 89b1caadbf takeout: use takeout for backwards backfill
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-05 08:42:00 -06:00
Sumner Evans 75eea8e2cb reactions: fix double-puppeting
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-03 15:10:56 -06:00
Sumner Evans 3b6af95976 connector: support messages sent by a channel
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
Co-authored-by: Tulir Asokan <tulir@maunium.net>
2024-09-03 13:34:13 -06:00
Sumner Evans 088900aee1 connector: save channel access hashes in more places
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-09-02 11:52:31 -06:00
Sumner Evans 60fe2e07c2 bridge state: set remote name and profile
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-28 12:22:58 -06:00
Sumner Evans 4d9ad4f0af login: implement QR login
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-28 09:26:30 -06:00
Sumner Evans bbf53fb28b provisioning: implement legacy endpoints
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-28 09:26:30 -06:00
Tulir Asokan 3378467378 config: preserve spacing when rewriting config 2024-08-27 17:16:54 +03:00
Tulir Asokan f7be907633 matrix: fix making message ID 2024-08-27 16:51:57 +03:00
Tulir Asokan 1e39877af3 ids: remove emoji ID prefix 2024-08-27 16:45:55 +03:00
Tulir Asokan 68e835c658 legacymigrate: add support for migrating legacy database and config (#23) 2024-08-27 15:13:11 +03:00
Tulir Asokan e3e709eec6 ids: add channel ID to message ID to ensure uniqueness (#25) 2024-08-26 20:42:06 +03:00
Sumner Evans d8d4a60855 snc: implement creating normal groups
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 14:22:56 -06:00
Sumner Evans 196eaac917 snc: use local caches for resolving identifiers
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 13:47:55 -06:00
Sumner Evans 91ce540a66 contact list: implement fetching
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 13:47:55 -06:00
Sumner Evans dcf43ca9d9 search: implement searching by username
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 13:47:55 -06:00
Sumner Evans 15b0dc51b3 snc: implement resolving Telegram IDs, usernames, and phone numbers
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 12:18:21 -06:00
Tulir Asokan 9d8f162f41 chatinfo: override name for saved messages 2024-08-22 18:26:08 +03:00
Tulir Asokan eec5cbe447 login: fix bugs in refactor 2024-08-22 18:02:57 +03:00
Tulir Asokan b25c09fc53 store: refactor access hash and session tables
* Move sessions to user_login metadata, as that data rarely changes after login.
* Merge user and channel access hashes. Those IDs don't conflict.
* Split usernames into a new table to allow better `ON CONFLICT` updates
  (when a username moves to another entity, we want the old row to be replaced).
  Usernames also don't need to be scoped to a login.
2024-08-22 17:54:10 +03:00
Tulir Asokan e611c87342 all: add some todos and fix small issues 2024-08-22 17:53:50 +03:00
Sumner Evans a6946f8119 sync: skip deleted users and use messages from GetDialogs call
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 08:51:35 -06:00
Sumner Evans 5960a2307e sync: fix check for needing backfill
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 08:34:16 -06:00
Sumner Evans 6aaf786ea9 backfill: run on login
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 08:32:43 -06:00
Sumner Evans 8b8b689187 sync: add on-command sync
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 07:57:28 -06:00
Sumner Evans 24d0d4687a connector/tomatrix: fix NPE with unsupported media
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 07:57:28 -06:00
Sumner Evans 0670c2b2bc updates: add wrapper for API calls to update users
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 07:57:28 -06:00
Sumner Evans 284178df65 client: enqueue backfill if channel too long
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 07:57:28 -06:00
Sumner Evans 56f83315ed backfill: implement
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-22 07:57:28 -06:00
Sumner Evans 7e2d9bbc4e avatar: fix downloading avatars
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-20 14:13:50 -06:00
Sumner Evans d11af1a463 db: fix latest revision
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-20 14:12:42 -06:00
Sumner Evans dc4c3ee382 connector: fix NPE with read receipts
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-20 08:55:32 -06:00
Sumner Evans 0ef8581764 connector/client: cleanup
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-20 08:55:11 -06:00
Sumner Evans 6c4c0f4821 connector/chatinfo: use access hash for user
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-20 08:54:34 -06:00
Sumner Evans b11479e4e2 client: clean up connection code and add bad credentials handling
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-20 07:42:30 -06:00
Sumner Evans 3a11ac217e client: make ping interval and timeout configurable
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-15 17:36:47 -06:00
Sumner Evans d94dbe81dc bridge states: send CONNECTED/TRANSIENT_DISCONNECT
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-15 17:35:41 -06:00
Sumner Evans a86c2c2544 read receipts: bridges TG <-> Matrix
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-08 15:51:27 -06:00