| 7 Feb 2022 |
Dandellion | it's a lot of connections, since federation is per room and fully meshed | 20:05:49 |
| 6 Feb 2022 |
hexa | also … wondering how you handle the worker_shared_secret | 22:03:13 |
| 7 Feb 2022 |
Ralith | I'll muck with dendrite when it's mature and has a migration story and not before | 20:06:18 |
| 6 Feb 2022 |
hexa | * also … wondering how you handle the worker_replication_secret | 22:03:22 |
hexa |
Extracting a user ID from the access token or Authorization header is currently left as an exercise for the reader.
| 22:14:03 |
hexa | awesome, so from university I know that this is trivial. | 22:14:22 |
hexa | hm ok, feels much snappier | 23:24:41 |
hexa | still having issues with the client endpoints sadly | 23:24:52 |
hexa | the requests correctly got forward to the client workers | 23:28:02 |
hexa | but resulted in http 400s | 23:28:29 |
hexa |
SynapseError: 400 - Unrecognized request
| 23:28:34 |
hexa | # cat /nix/store/0mi0bv1r1gnxa53k3ljhcfk4jzlx1vcf-matrix-synapse-worker-client1-config.yaml
worker_app: synapse.app.generic_worker
worker_listeners:
- bind_addresses:
- localhost
port: 8010
resources:
- compress: false
names:
- client
tls: false
type: http
x_forwarded: true
worker_name: client1
worker_replication_host: 127.0.0.1
worker_replication_http_port: 8009
| 23:29:12 |
hexa | not sure why a generic_worker with a client resource would not be able to handle that request | 23:29:35 |
hexa | it also intermittently errors out on PUT requests
Traceback (most recent call last):
File "/nix/store/si27f6ipgvymxxkxmw117d4nnp603fvv-matrix-synapse-1.51.0/lib/python3.9/site-packages/synapse/http/server.py", line 269, in _async_render_wrapper
callback_return = await self._async_render(request)
File "/nix/store/si27f6ipgvymxxkxmw117d4nnp603fvv-matrix-synapse-1.51.0/lib/python3.9/site-packages/synapse/http/server.py", line 471, in _async_render
callback_return = await raw_callback_return
File "/nix/store/bm9ravdndw17dzdy963a164sgnhwzqy4-python3.9-Twisted-21.7.0/lib/python3.9/site-packages/twisted/internet/defer.py", line 1661, in _inlineCallbacks
result = current_context.run(gen.send, result)
File "/nix/store/si27f6ipgvymxxkxmw117d4nnp603fvv-matrix-synapse-1.51.0/lib/python3.9/site-packages/synapse/rest/client/sendtodevice.py", line 64, in _put
await self.device_message_handler.send_device_message(
File "/nix/store/si27f6ipgvymxxkxmw117d4nnp603fvv-matrix-synapse-1.51.0/lib/python3.9/site-packages/synapse/handlers/devicemessage.py", line 281, in send_device_message
last_stream_id = await self.store.add_messages_to_device_inbox(
File "/nix/store/si27f6ipgvymxxkxmw117d4nnp603fvv-matrix-synapse-1.51.0/lib/python3.9/site-packages/synapse/storage/databases/main/deviceinbox.py", line 421, in add_messages_to_device_inbox
assert self._can_write_to_device
AssertionError
| 23:32:40 |
hexa | * # cat /nix/store/0mi0bv1r1gnxa53k3ljhcfk4jzlx1vcf-matrix-synapse-worker-client1-config.yaml
worker_app: synapse.app.generic_worker
worker_listeners:
- bind_addresses:
- localhost
port: 8010
resources:
- compress: true
names:
- client
tls: false
type: http
x_forwarded: true
worker_name: client1
worker_replication_host: 127.0.0.1
worker_replication_http_port: 8009
| 23:33:10 |
| 7 Feb 2022 |
hexa | unmarshalling lots of json all day | 19:21:11 |
hexa | * unmarshalling loads of json all day | 19:21:29 |
hexa | hrm, so my worker setup worked so well that it didn't send out lots of messages | 20:07:16 |
hexa | that was fun | 20:07:19 |
hexa | test | 20:08:26 |
hexa | so, as everyone can see my matrix-worker experience is awesome | 20:08:47 |
hexa | sorry for the spam. | 20:08:51 |
Dandellion | lmao welcome to the federation | 20:08:56 |
hexa | reverted to the default module and I'm back ☹️ | 20:09:24 |
hexa | but I don't want back! | 20:09:27 |
Dandellion | In reply to @hexa:lossy.network awesome, so from university I know that this is trivial. it actualy is surprisingly simple. I dont do it but the access token is just base64 encoded json lol | 20:09:40 |
Dandellion | In reply to @hexa:lossy.network awesome, so from university I know that this is trivial. * it actually is surprisingly simple. I dont do it but the access token is just base64 encoded json lol | 20:09:49 |
hexa | yeah, but I'm not sure how to tell nginx to look at that, so I went with upstreams that use ip_hash | 20:10:10 |
hexa | * yeah, but I'm not sure how to tell nginx to look at that, so I went with upstreams that use ip_hash instead | 20:10:14 |
hexa | looked also at hash, but didn't see how it could look at the Authorization header | 20:10:47 |