1
0
Fork 0
mirror of https://github.com/mautrix/signal.git synced 2026-05-15 21:56:53 -04:00
Commit graph

106 commits

Author SHA1 Message Date
Tulir Asokan
e2d8a24c99 Refactor group and user info updating 2024-01-05 22:10:59 +02:00
Tulir Asokan
ed7daa088b Split signalmeow store and client 2024-01-05 14:14:56 +02:00
Tulir Asokan
9722361288 Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
Tulir Asokan
0829e48069 Use uuid type everywhere in signalmeow 2024-01-03 23:14:54 +02:00
Tulir Asokan
b47620f6dd More debugging things 2024-01-03 17:58:21 +02:00
Tulir Asokan
c03b0f84f5 Handle read receipts properly 2024-01-03 17:02:15 +02:00
Tulir Asokan
c2a7b6aa01 Check sender certificate expiry 2024-01-03 12:48:31 +02:00
Sumner Evans
59e4efd598
signalmeow: use structured logging
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-01-02 21:45:06 -07:00
Sumner Evans
5558469743
http: use http.Method* instead of hard-coded methods
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2024-01-02 21:35:42 -07:00
Tulir Asokan
9b459150c4 Refactor Matrix -> Signal message handling 2024-01-03 00:16:19 +02:00
Tulir Asokan
9efe31d789 Refactor Signal -> Matrix message handling
Also add support for edits
2024-01-02 19:04:45 +02:00
Tulir Asokan
35db0abe8b
Refactor database tables and query wrappers (#402)
* Change most columns to `NOT NULL`, including primary keys
  (because SQLite).
* Change columns only storing signal user IDs (portal receiver, message
  sender, user uuid) to use the `uuid` type instead of `TEXT`.
* Drop chat ID from message table primary key.
* Add part index to message table to replace timestamp hack for storing
  multiple parts of the same message.
* Change query wrappers to use new QureyHelper struct in dbutil, and 
  pass contexts and errors everywhere.

As a part of changing the portal receiver from phone number to uuid,
old portals whose receiver isn't logged in anymore may be discarded.
The discarded portals will be stored in the lost_portals table for
cleanup or recovery.
2023-12-31 16:12:58 +02:00
Tulir Asokan
38e0c5fca6 Partially fix replying to files 2023-12-26 19:53:49 +01:00
Tulir Asokan
c6d22f403b Fix sending captions. Fixes #393 2023-12-26 17:56:43 +01:00
Tulir Asokan
ae60c41282 Actually update protobufs 2023-12-21 18:06:58 +02:00
Tulir Asokan
8260ba1559 Add support for Matrix -> Signal formatting 2023-12-21 16:57:21 +02:00
Tulir Asokan
49ce1f530c Add copyright headers 2023-12-17 15:54:35 +02:00
Tulir Asokan
61841ca4f1 Organize imports 2023-12-17 15:21:21 +02:00
Scott Weber
ae8de47390 Serialize access to encryption per bridge user
To prevent races in incrementing ratchets and such
2023-11-15 13:41:11 -05:00
Scott Weber
d308f27e61 Request contacts from Signal device when creating new Matrix room 2023-11-15 10:58:42 -05:00
Scott Weber
aee115d81f Add "contacts", and layer on top of profiles 2023-11-07 23:08:31 -05:00
Scott Weber
870e776422 Don't crash when sending in a group by myself 2023-11-01 11:57:16 -04:00
Scott Weber
4966bda94a Disappearing messages! 2023-10-22 23:39:59 -04:00
Scott Weber
cb905c07c4 Send read syncs to other signal devices 2023-10-01 23:06:27 -04:00
Scott Weber
48f48ab02b Bridge read receipts matrix -> signal 2023-10-01 22:34:12 -04:00
Scott Weber
d22ffc00f6 Send delivery receipts 2023-09-28 00:19:22 -04:00
Scott Weber
4f4aa4810b Bridge typing notification for matrix -> signal (DMs only)
Not supporting groups at the moment because that will require the
ability to send using SenderKey for the experience to not be horrible
2023-09-27 16:01:55 -04:00
Scott Weber
dad2211541 Refactor sending to pass around Content instead of DataMessage
No functional changes intended
2023-09-27 15:46:32 -04:00
Scott Weber
7985b8ea81 Mentions from matrix -> signal 2023-09-27 14:06:27 -04:00
Scott Weber
03780d9761 Initial stab at provisioning API 2023-09-19 23:41:32 -04:00
Scott Weber
697cf63df1 Get contacts (for profile keys) on connect!
Send a contact sync request on initial websocket connection, then parse
the response, grab profile keys and store them (not doing anything with
other contact info and avatars yet).

Also fix attachment decryption - was ignoring extra padding at the end
of the buffer, which image formats were fine with but unmarshalling a
protobuf was not..
2023-09-19 19:06:41 -04:00
Scott Weber
9b18117029 Replace "master key" group identfiers with actual GroupIdentifier
Everywhere.

And save them in the DB so we can still look up master keys when needed
2023-09-14 16:33:40 -04:00
Scott Weber
12f7bb9df1 Make message sending more robust, particularly in the face of bad networking 2023-09-06 00:47:08 -04:00
Scott Weber
e5d58bc4ce replies from matrix -> signal (except replies to images only work on signal android :S) 2023-09-04 23:20:23 -04:00
Scott Weber
f52f236780 Sending images! 2023-08-31 12:58:18 -04:00
Scott Weber
d5359f9e53 When sending sync messages to myself, don't send to my device, and use auth websocket 2023-08-29 13:34:55 -04:00
Scott Weber
33ec5cc7ac Bridge redactions matrix -> signal 2023-08-28 21:24:01 -04:00
Scott Weber
ae46b7aee2 Bridge reaction redactions from matrix -> signal 2023-08-28 21:10:19 -04:00
Scott Weber
9122c32e66 Bridge reactions (but not reaction redactions) from matrix -> signal
Also some substantial message sending refactoring
2023-08-28 17:15:25 -04:00
Scott Weber
0bf1cff531 Handle 410 GONE when sending a message 2023-08-16 19:18:11 -04:00
Scott Weber
b5dc4c8a9d Don't send multiple sync messages on group message send 2023-08-15 21:20:38 -04:00
Scott Weber
00195615da Major logging cleanup and full move to zerolog 2023-07-27 18:13:33 -04:00
Scott Weber
41223f504d Cache group data and set portals with name and topic 2023-07-21 16:18:32 -04:00
Scott Weber
6ea41df16f Group send should send to more people now 2023-07-19 17:48:59 -04:00
Scott Weber
6057cf5300 I think this handles send message results better 2023-07-19 17:17:06 -04:00
Scott Weber
e5bca2463d Signal sync messages mostly working 2023-07-19 15:49:34 -04:00
Scott Weber
df8b0db093 Double puppet is working! 2023-07-19 14:54:16 -04:00
Scott Weber
196516a7a6 Send SealedSender via unauthed WS when possible
Seems to get around 428 problems and now group sends work!?
2023-07-19 01:01:28 -04:00
Scott Weber
6cd64a86d2 428 message send response handler that doesn't work 2023-07-19 00:17:08 -04:00
Scott Weber
b9b021a90b I think this sends to a group, but i got spam blocked
(rate limited with 428 "pushChallenge")
2023-07-18 23:45:42 -04:00