iitc-project / ingress-intel-total-conversion

ingress.com/intel total conversion user script with some new features. Should allow easier extension of the intel map.
http://iitc.jonatkins.com/
ISC License
989 stars 552 forks source link

Chat code - improvement/rewrite discussion #360

Open jonatkins opened 11 years ago

jonatkins commented 11 years ago

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:

yoshimo commented 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.

jonatkins commented 11 years ago

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

hastarin commented 10 years ago

@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. ;)