Commit Graph

552 Commits

Author SHA1 Message Date
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
Sumner Evans 838f291220 store: move the access_hash and username to separate per-user table
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-08 12:12:17 -06:00
Sumner Evans aeb8fba288 msgconv: annotate GIFs bridged as videos with correct flags
Closes PLAT-25993

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-08 11:36:37 -06:00
Sumner Evans 497bfb152e media: bridge GIFs as documents rather than images
This allows them to be animated.

Closes PLAT-25990

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-07 16:25:22 -06:00
Sumner Evans 83695b4336 directdownload: include receiver in media ID
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-07 11:18:59 -06:00
Sumner Evans e0194f7621 typing: support TG <-> Matrix
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-07 11:01:24 -06:00
Sumner Evans 7fd280ea10 chat metadata: bridge join/leave events TG -> Matrix
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-06 14:39:20 -06:00
Sumner Evans ca4d566490 chat metadata: bridge title/avatar edits TG -> Matrix
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-06 12:57:32 -06:00
Sumner Evans 54f971f578 connector: convert to simplevent
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-06 10:24:23 -06:00
Sumner Evans 18337c6941 reactions: use ReactionSync event
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-06 10:24:23 -06:00
Sumner Evans f56f520308 (telegram|matrix)fmt: mention formatting
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-05 15:19:53 -06:00
Sumner Evans b539e5d63d ghost: improve metadata handling
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-05 15:19:53 -06:00
Sumner Evans e8b5d286dc matrixfmt: text formatting Matrix -> TG
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-05 15:19:53 -06:00
Sumner Evans 882582456e telegramfmt: text formatting TG -> Matrix
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-05 15:19:39 -06:00
Sumner Evans e7522be252 reactions: handle async
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-07-19 14:49:49 -06:00
Sumner Evans 5ea342e788 edits: bridge Matrix -> TG
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-07-19 14:33:52 -06:00
Sumner Evans 314b2da99f edits: bridge TG -> Matrix
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-07-19 14:33:52 -06:00
Sumner Evans 5a3b52dff2 reactions: remove as the correct user
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-07-19 12:34:28 -06:00
Sumner Evans 29c3c4009a client: improve logging on getEventSender
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-07-18 17:40:21 -06:00
Sumner Evans fe550da243 metadata: allow disabling channel memebr sync
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-07-18 08:50:35 -06:00
Sumner Evans a0d88da480 metadata: add pagination config for members initial sync
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-07-17 16:44:53 -06:00
Sumner Evans ec56fb6b28 metadata: refactor getting chat info
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-07-17 15:26:34 -06:00
Sumner Evans 9d77bebe3e config: remove set_private_chat_portal_meta option
It's handled by bridgev2

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-07-17 12:34:28 -06:00