Scott Weber
c2460ead6b
Fix out-of-bounds in web.go path check
2023-09-05 11:41:35 -04:00
Scott Weber
2007559b64
Bridge mentions from signal -> matrix (no HTML formatting yet)
2023-09-05 09:11:29 -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
df9dc128f4
Bridge replies signal -> matrix
2023-09-04 22:00:03 -04:00
Scott Weber
fdccca610b
Only fetch new profile avatar if it has changed
2023-09-04 08:12:08 -04:00
Scott Weber
a12c5bb5d1
Download, decrypt, upload user profile avatar. But need to figure out caching
2023-08-31 20:17: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
e70c6f038a
Bridge redactions signal -> matrix
2023-08-28 21:39:26 -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
1c50f8c1e1
Bridging reactions Signal -> Matrix (but not redacting them)
2023-08-27 16:05:05 -04:00
Scott Weber
bcb0041004
Bridge image size and filename (to make captions work)
2023-08-25 13:53:37 -04:00
Scott Weber
eb3ebdd8ff
Can receive a message! (But lots to tidy up here)
2023-08-25 12:56:39 -04:00
Scott Weber
f3fad459f7
More robust bridge states, partial logout support, hopefully more robust mautrix interface code
2023-08-24 15:06:39 -04:00
Scott Weber
2cb24d197b
Overhaul SignalWebsocket error handling and hook up to BridgeState
2023-08-22 11:54:35 -04:00
Scott Weber
0aa0072869
Strip non-printable characters from group titles
2023-08-18 14:20:23 -04:00
Scott Weber
30aa6b41c0
Fix deadlock in websocket code
...
- Readloop goroutine gets a new request (incoming message), sends to
incoming loop
- Incoming request loop goroutine calls incoming message handler
- Incoming message handler needs group info, sends a WS request
- Sendloop goroutine gets request, sends on WS, stores response channel
in map
- Incoming message handler is blocked waiting on response on it's
response channel
- Readloop gets some other request, tries to send to incoming loop, but
gets blocked on sending to incoming request channel because it's
unbuffered and that goroutine is still blocked waiting on group info
- Server responds with response to group info request, but readloop is
blocked now forever
The fix: give the incomingRequestChan a large (10000) buffer. Now:
- Readloop goroutine gets a new request (incoming message), sends to
incoming loop
- Incoming request loop goroutine calls incoming message handler
- Incoming message handler needs group info, sends a WS request
- Sendloop goroutine gets request, sends on WS, stores response channel
in map
- Incoming message handler is blocked waiting on response on it's
response channel
- Readloop gets some other request and successfully buffers it in the
incoming request channel
- Server responds with response to group info request, readloop is *not*
blocked, and can pass the response down the response channel that the
incoming message handler is blocked on, and it can finish up
- Incoming request loop is free to continue processing incoming requests
2023-08-18 12:41:21 -04:00
Scott Weber
c6586f614a
String extraneous whitespace from group titles
2023-08-17 13:45:19 -04:00
Scott Weber
0b40b6ed8d
Change check for nil puppet
2023-08-17 13:32:51 -04:00
Scott Weber
3410938890
Fix warning
2023-08-17 12:34:10 -04:00
Scott Weber
ec994fe4c5
Undo part of double puppet fix
2023-08-17 01:42:00 -04:00
Scott Weber
dc317afe48
Fix double puppetting (at least partially)
2023-08-17 00:58:58 -04:00
Scott Weber
d8913fd523
Gotta unpad decrypted ProvisionMessage with PKCS7
2023-08-16 23:55:17 -04:00
Scott Weber
0bf1cff531
Handle 410 GONE when sending a message
2023-08-16 19:18:11 -04:00
Scott Weber
5b102b6480
Prevent panic if we can't find profileKey
2023-08-16 15:28:47 -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
7a35632eed
Fix test
2023-08-15 21:20:21 -04:00
Scott Weber
1157766d10
Add stub for kyber prekey store to fix tests
2023-07-31 21:25:45 -07:00
Scott Weber
85e378eb9f
Move printing content fields to separate goroutine
2023-07-31 17:43:22 -07:00
Scott Weber
f60b7dc431
Stub KyberPreKeyStore implementation to hopefully fix prekey decrypt null pointer error
2023-07-28 14:21:14 -04:00
Scott Weber
00195615da
Major logging cleanup and full move to zerolog
2023-07-27 18:13:33 -04:00
Scott Weber
d1a21462ce
Fix tests (note: tests are still failing due to prekey null thing)
2023-07-26 11:12:12 -04:00
Scott Weber
b0bd6e8e9f
I think this fixes the prekey null pointer problem
...
Well enough anyway. When the old prekeyDecrypt fails due to null
pointer, fall through to sealedSenderDecrypt, which usually seems to be
able to decrypt it fine
2023-07-26 10:11:31 -04:00
Scott Weber
099a58a31b
Fixes: FFI problems, logging, profile fetch error caching
2023-07-26 10:03:28 -04:00
Scott Weber
8294eedbe3
Disable routing through mitm-proxy
2023-07-24 10:49:32 -04:00
Scott Weber
d111086d44
Add puppets to portal on room creation
...
Also replace /0 with space in profile names
2023-07-23 16:32:17 -04:00
Scott Weber
862a875cbf
Populate group chat rooms with members
2023-07-23 15:34:09 -04:00
Scott Weber
5f9c802d13
Set profile names when a message comes in
2023-07-21 16:56:42 -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
e5db9a0be2
Docker build!
2023-07-21 14:06:41 -04:00
Scott Weber
b65d275495
Update update-ffi.sh and replace build.sh with Makefile
2023-07-21 11:17:23 -04:00
Scott Weber
a0fc08db7d
Added libsignal as a submodule
2023-07-21 10:45:59 -04:00
Scott Weber
105a081a1b
Make linting pass
2023-07-20 13:05:26 -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
c56a3508c3
Group double puppetting is working
2023-07-19 15:23:01 -04:00
Scott Weber
df8b0db093
Double puppet is working!
2023-07-19 14:54:16 -04:00