v1.1.18
Upload system
- Fight uploads now retry automatically (3 attempts via backend, then fallback through WebView2 browser stack to bypass firewalls, then background retries at 1/2/5 min)
- Failed uploads from previous session are retried on next app launch (up to 3 fights within 24h)
- Upload status badges in fight history: ✓ for uploaded, ! for failed
Combat Power (CP)
- CP is now detected from party roster (0297), LiveStatus broadcasts, and gear-score packets (0x3692)
- CP displayed per player alongside Gear Score
Party & player detection
- Rewritten LiveStatus parser with server-anchored name scanning — works reliably for both KR and TW
- New compact roster parser for the variable-length 0297 format (extracts names, class, CP)
- Self-proxy merge is now deferred until class confirmation from the roster — prevents wrong-class party members from being merged as the owner
- Wrong self-proxy merges are auto-undone when the real player spawn arrives
Bug fixes
- Skill-based class detection now takes priority over roster jobCode (roster can be stale)
- Removed owner_hint redirect for DOT damage — fixes phantom attribution (matches Flow/fundps/Kuroukihime behavior)
- Player deaths now counted from both 0x3641 and 0x8D21 packets (TW only sends 0x8D21 for players)
- known_player_ids preserved across fights — fixes DOT mis-attribution after combat reset
- Owner Gear Score correctly read as u16 (was u32)
- CP/GS entity caches cleared on zone change; name caches preserved for cross-fight continuity