mirror of
https://github.com/BigBodyCobain/Shadowbroker.git
synced 2026-07-19 02:07:21 +02:00
fix: cross-node gate decryption, UI text scaling, aircraft zoom
- Derive gate envelope AES key from gate ID via HKDF so all nodes sharing a gate can decrypt each other's messages (was node-local) - Preserve gate_envelope/reply_to in chain payload normalization - Bump Wormhole modal text from 9-10px to 12-13px - Add aircraft icon zoom interpolation (0.8→2.0 across zoom 5-12) - Reduce Mesh Chat panel text sizes for tighter layout
This commit is contained in:
+4
-5
@@ -3825,11 +3825,10 @@ def _submit_gate_message_envelope(request: Request, gate_id: str, body: dict[str
|
||||
# — doing so would pre-advance the counter and cause append() to reject
|
||||
# the event as a replay, silently dropping the message.
|
||||
#
|
||||
# The chain payload must match the signed payload exactly. The message
|
||||
# was signed WITHOUT the `epoch` field (compose_encrypted_gate_message
|
||||
# excludes it from the signing payload), so we must strip it here too —
|
||||
# otherwise infonet.append() re-verifies the signature against a payload
|
||||
# that includes epoch and gets a mismatch → "invalid signature".
|
||||
# Strip `epoch` — the message was signed without it so including it
|
||||
# would cause a signature mismatch. `gate_envelope` and `reply_to`
|
||||
# are kept in the payload for cross-node decryption; signature
|
||||
# verification in build_signature_payload() strips them automatically.
|
||||
chain_payload = {k: v for k, v in gate_payload.items() if k != "epoch"}
|
||||
chain_event_id = ""
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user