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