Tags: status-im/status-go
Tags
fix(waku): set filter full-node rate limit to match the fleet (30/min)
status-go enables the go-waku filter server on full nodes but only set
WithMaxSubscribers, leaving the rate limiter at go-waku's default of
1 request/second, burst 1 — while the lightpush server right beside it
got an explicit limiter. A light client joining a community fans out to
many per-content-topic FilterSubscribeRequests at once, so a 1/s+burst-1
server rejects them with 429 ("filter request rejected due rate limit
exceeded") for ~60s+, longer than the functional tests' 60s wait, so
pushed community messages are dropped server-side ("no subscribed peers
found") and the light receiver times out (flaky full-light/light-light
compat cells).
Set the filter full-node limiter to 30 requests/minute per peer (burst
30), matching the logos-delivery (nwaku) fleet default
(FilterDefaultPerPeerRateLimit = (30, 1.minutes)).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
fix(waku): set filter full-node rate limit to match the fleet (30/min)
status-go enables the go-waku filter server on full nodes but only set
WithMaxSubscribers, leaving the rate limiter at go-waku's default of
1 request/second, burst 1 — while the lightpush server right beside it
got an explicit limiter. A light client joining a community fans out to
many per-content-topic FilterSubscribeRequests at once, so a 1/s+burst-1
server rejects them with 429 ("filter request rejected due rate limit
exceeded") for ~60s+, longer than the functional tests' 60s wait, so
pushed community messages are dropped server-side ("no subscribed peers
found") and the light receiver times out (flaky full-light/light-light
compat cells).
Set the filter full-node limiter to 30 requests/minute per peer (burst
30), matching the logos-delivery (nwaku) fleet default
(FilterDefaultPerPeerRateLimit = (30, 1.minutes)).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
fix: bump go-waku to v0.10.2 (prefer connected peers) [backport #6943] ( #7570) * fix: bump go-waku to v0.10.2 (prefer connected peers) Backport of the go-waku dependency bump from #6943 onto release/10.34.x. v0.10.2 makes light-client filter/lightpush peer-selection prefer already-connected peers instead of churning on stale/unreachable peers learned via peer-exchange. Without it, a v10.34.x node running as a light client is flaky in the cross-version compatibility matrix (full-light / light-light cells of test_chat_compatibility); see #7393. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(nix): update status-go library vendorHash for go-waku v0.10.2 The go-waku v0.10.2 bump changed the Go module set, so the pinned buildGoModule vendorHash no longer matches and the Nix build fails. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
fix: bump go-waku to v0.10.2 (prefer connected peers) [backport #6943] ( #7571) * fix: bump go-waku to v0.10.2 (prefer connected peers) Backport of the go-waku dependency bump from #6943 onto release/10.33.x (v0.10.1 -> v0.10.2). v0.10.2 makes light-client filter/lightpush peer-selection prefer already-connected peers instead of churning on stale/unreachable peers learned via peer-exchange. Without it, a v10.33.x node running as a light client is flaky in the cross-version compatibility matrix (full-light / light-light cells of test_chat_compatibility); see #7393. Build-verified (compiles on go1.24/CGO via the functional-test Dockerfile). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(nix): update status-go library vendorHash for go-waku v0.10.2 The go-waku v0.10.2 bump changed the Go module set, so the pinned buildGoModule vendorHash no longer matches and the Nix build fails. Hash computed via 'nix build .?submodules=1#status-go-library'. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore: go mod tidy (drop stale go-waku v0.10.1 go.sum entries) The go-waku bump was done with 'go get', which left the old v0.10.1 go.sum lines behind. 'go mod tidy' removes them; matches the CI 'go mod tidy && git diff --exit-code' lint check. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
build: install Nim from pre-built binaries across architectures (#7529) Cherry-picked Dockerfile changes from #7341: replace choosenim with pre-built Nim binaries selected per architecture (amd64/arm64), and add jq to the build dependencies. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fix_: nil pointer in keycard account backup
otherwise app crashes like this:
```
panic: runtime error: invalid memory address or nil pointer dereference
[recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0
pc=0x7146544240]
goroutine 519 [running, locked to thread]:
github.com/status-im/status-go/logutils/callog.Recover(0x4000b37800)
github.com/status-im/status-go/logutils/callog/status_request_log.go:176
+0x1a4
panic({0x7146a0ed00?, 0x71485f5b20?})
runtime/panic.go:770 +0x124
github.com/status-im/status-go/node/backup.(*Controller).PerformBackup(0x0?)
github.com/status-im/status-go/node/backup/controller.go:91 +0x30
github.com/status-im/status-go/node.(*StatusNode).PerformLocalBackup(0x0?)
github.com/status-im/status-go/node/get_status_node.go:309 +0x20
github.com/status-im/status-go/mobile.performLocalBackup()
github.com/status-im/status-go/mobile/status.go:2434 +0x28
reflect.Value.call(...)
reflect/value.go:596 +0x970
reflect.Value.Call(...)
reflect/value.go:380 +0x94
github.com/status-im/status-go/logutils/callog.Call(...)
github.com/status-im/status-go/logutils/callog/status_request_log.go:125
+0x240
github.com/status-im/status-go/logutils/callog.CallWithResponse(...)
github.com/status-im/status-go/logutils/callog/status_request_log.go:142
github.com/status-im/status-go/mobile.callWithResponse(...)
github.com/status-im/status-go/mobile/status.go:65 +0x50
github.com/status-im/status-go/mobile.PerformLocalBackup(...)
github.com/status-im/status-go/mobile/status.go:2450
main.proxystatusgo__PerformLocalBackup()
gobind/go_statusgomain.go:1537 +0x40
```
PreviousNext