Open jonatkins opened 11 years ago
If you refresh map data only every 60 seconds and show messages that are directed at the user like "your level 8 resonator on portal xy was destroyed by user a" faster, then what the map shows is already out of date and will still show a destroyed resonator. I think we already have that problem right now, not sure if we can solve it.
There's no real solution to the chat/portal inconsistency issues, especially as the portal data returned from the servers is not 100% up to date in the first place. Niantic have stated multiple times the portal data is cached in their backend, and this matches my own experience. The new portal data cache code adds to this too - #394
@jonatkins Any chance of merging this? It's the only reason I'm maintaining my own branch, and it's pretty obvious the chat code changes aren't happening any time soon. ;)
The chat system could do with some improvements.
The stock intel page
The stock page has two tabs - All and Faction. The API available returns chat messages for one of these two tabs. Some messages appear in both streams, others in one. At this time, at least, the All stream includes everything also included in the Faction stream - but this may not be the case in the future.
IITC Chat
IITC filters the chat messages, splitting some into separate tabs. IITC retrieves both streams, but as the messages seen in Faction are also in All, things are filtered to prevent showing duplicates.
Also, as it's not unusual to get a large batch of messages directed to one of our filtered tabs, if the user is viewing a different tab, and scrolls the map to a different location, IITC makes repeated requests for chat data until the viewed tab is full. Much of the time the user isn't looking at chat, so these requests are wasted.
Message types
Chat messages come in a few different types
Most message types are restricted to the specified bounds, but some messages are not restricted:
Improvements