Commit Graph

129 Commits

Author SHA1 Message Date
Toni Spets 7e75c8ef83 media: make all media direct downloadable
The only exception is emojis.

Also changed direct download encoding field names to be more generic
when used in mixed manner depending on peer type.

Direct downloads are still somewhat inefficient as they require an API
round trip to succeed but we can cache things in the database if needed.
2025-05-07 06:43:51 +03:00
Toni Spets 7c13481ede client: Handle connect/disconnect/auth races properly
When logging out, we should first handle network level logout and after
that ensure the client is disconnected before removing state to avoid
having event handling during disconnect from touching anything anymore.

I don't know why we nilled the client but since so many places use it
we'd rather get errors rather than panics if it's being used after
logging out but previous lifecycle fixes should avoid that.
2025-04-26 08:19:33 +03:00
Toni Spets 224b01e7a4 client: Wait for updates manager to finish on disconnect 2025-04-15 12:19:28 +03:00
Toni Spets a64a178dc3 client: Don't try to reconnect with canceled context 2025-04-10 10:13:02 +03:00
Toni Spets 538f2a2ec0 client: Wait before returning from disconnect 2025-04-09 10:49:45 +03:00
Tulir Asokan 28d8276554 dependencies: update mautrix-go 2025-03-25 17:00:55 +02:00
Sumner Evans 1bc3a2538e treewide: add copyright/license notices
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2025-03-05 10:16:50 -07:00
Sumner Evans 0712ca5d0c dependencies: update go
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2025-02-17 14:13:12 -07:00
Tulir Asokan 386cfa4cfb capabilities: update to new format 2025-01-10 21:17:10 +02:00
Sumner Evans 9e868e4614 connector: fix linking to premium messages
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2025-01-09 17:46:36 -07:00
Sumner Evans ee0c2e4f68 connector/client: don't call disconnect on pipe error
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-09 16:17:06 -07:00
Sumner Evans c8590ca402 connector/client: add more logging on Connect
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-09 15:12:15 -07:00
Sumner Evans 964ea69de7 connector/client: check for client context nil on logged in check
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-09 15:11:49 -07:00
Sumner Evans 2a7146d987 client: improve disconnection detection
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-06 14:20:45 -07:00
Sumner Evans dc2216e60b client: let connect send the bridge state on updates manager fail
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-05 13:09:48 -07:00
Sumner Evans 73934a0594 client: try reconnecting on update manager run error
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-05 13:07:01 -07:00
Sumner Evans 4d33af7f81 client: fix detection of bad credentials on connect
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-05 08:58:09 -07:00
Sumner Evans 80f17d5fbd connector: send BAD_CREDENTIALS if error is an auth error
Previously, we were going into UNKNOWN_ERROR too aggressively

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-04 23:49:49 -07:00
Sumner Evans 83acac5175 connector/client: handle updates manager errors
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-04 15:21:55 -07:00
Sumner Evans a1f58cad11 connector/client: ignore messages in more situations
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-03 09:01:41 -07:00
Sumner Evans bf3e0ec8ab connector: simplify some of the dispatcher handlers
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-02 15:53:43 -07:00
Nick Mills-Barrett 16040adc53 dependencies: update mautrix-go 2024-12-02 13:56:25 -07:00
Sumner Evans 8e994edbde connector: only send UNKNOWN_ERROR if not pipe error
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-02 13:12:38 -07:00
Sumner Evans 54157de58f connector: reconnect on broken pipe error
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-02 12:57:53 -07:00
Sumner Evans 7ce3dacf00 metadata: clear more things from user login metadata on auth error
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-12-02 12:24:49 -07:00
Sumner Evans 7bda4f7855 connector: humanise connection errors
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-25 17:22:11 -07:00
Sumner Evans 844f31827c connector/client: don't explode if client not available on connection state change
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-20 15:33:55 -07:00
Sumner Evans 21ef73d69c connector/client: add more logging to IsLoggedIn
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-20 14:39:12 -07:00
Sumner Evans 1f22aa2072 connector/client: make NormalizeURL not panic if message not found
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-18 08:39:08 -07:00
Sumner Evans 40f259da5e directdownload: don't panic if user not logged in
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-08 02:34:52 -07:00
Sumner Evans d1d3c18670 connector/client: update IsLoggedIn check
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-08 02:13:48 -07:00
Sumner Evans 22c3938b52 connector/client: fix IsLoggedIn check
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-04 10:05:48 -07:00
Sumner Evans 5adb2a6572 connector/client: early return on logout remote
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-04 07:40:24 -07:00
Sumner Evans 69e3a183c7 connector/client: init scoped store earlier
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-04 07:35:15 -07:00
Sumner Evans 52c39eefe0 legacyprovisioning: add check for auth key on logout
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-04 07:28:59 -07:00
Sumner Evans 8025404958 connector/client: don't unset auth key on unknown error
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-11-04 03:00:29 -07:00
Sumner Evans 07a8553b22 connector: fix chat info for Saved Messages chat
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-31 14:23:18 -06:00
Sumner Evans 15fdd89e3d connector/client: convert some bad credentials to unknown errors
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-30 14:27:28 -06:00
Sumner Evans bda33687af connector/client: send bad credentials in the correct places
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-30 14:08:10 -06:00
Sumner Evans 0046975aa5 treewide: ban global zerolog
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-30 09:27:58 -06:00
Sumner Evans aa7a2d186b connector/client: check for auth key on login check
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-29 14:28:03 -06:00
Sumner Evans 3498ed8dc1 calls: fix notifications
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-28 13:06:37 -06:00
Sumner Evans 7cb70d9753 connector: only save access hash if not a min entity
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-26 22:48:54 -06:00
Sumner Evans e266d1ac80 reactions: poll for reactions on read receipt
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-24 12:57:43 -06:00
Sumner Evans 0f933f691b typing: support typing as a channel user
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-24 11:15:48 -06:00
Sumner Evans a573740b9a media/transfer: add function to directly download bytes
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-22 09:21:56 -06:00
Sumner Evans f91b429c47 connector: notify when call starts/ends
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-15 08:26:05 -06:00
Sumner Evans 132585de34 user info: handle deleted users
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-14 14:09:08 -06:00
Sumner Evans 73d0b189bb scoped store: implement new AccessHasher interface
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-11 08:52:26 -06:00
Sumner Evans 48059a3a51 logout: delete user-specific state
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-10-10 10:07:26 -06:00