Commit f3ce033
perf(connections): move the heavy map fetch off the critical connect path
GetMapDimensions and GetRigPositions (the two full-map downloads) ran on the
connect path before the heartbeat/marker loops started, so a slow or degraded
map endpoint delayed the whole connection going live — and its stalls were the
trigger for the drop that used to kill the loop.
Fetch dims + rig positions at the start of PollMarkersAsync instead. The
connection now goes live immediately (heartbeat + chat relay), and marker/rig
detection activates once the map resolves; a map timeout just disables rig
detection for that window (dims -> null, rigs -> empty) without blocking anything.
Verified live against a degraded map endpoint: clan probe now lands ~1s after
connect (was blocked ~15s behind the map fetch), and the monuments/marker
timeouts degrade in the background with the connection staying fully alive.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 4d8a5e1 commit f3ce033
1 file changed
Lines changed: 9 additions & 6 deletions
Lines changed: 9 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
558 | 558 | | |
559 | 559 | | |
560 | 560 | | |
561 | | - | |
562 | | - | |
563 | | - | |
564 | 561 | | |
565 | 562 | | |
566 | 563 | | |
| |||
607 | 604 | | |
608 | 605 | | |
609 | 606 | | |
610 | | - | |
| 607 | + | |
611 | 608 | | |
612 | 609 | | |
613 | 610 | | |
| |||
703 | 700 | | |
704 | 701 | | |
705 | 702 | | |
706 | | - | |
707 | | - | |
708 | 703 | | |
709 | 704 | | |
710 | 705 | | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
711 | 714 | | |
712 | 715 | | |
713 | 716 | | |
| |||
0 commit comments