Handling LastSeenAt/LastSeenUrl
LastSeenAt is a value that's constantly updating and as such it seems too expensive and probably not worth it to store that in the event store.
What do people really want
- Know where the widget is installed
- Know if the widget is installed
- Know if the widget has broken (kind of a late indicator)
- Know if the widget is installed in multiple places & they aren't paying for that.
Short-term solution
The only use case right now is number 1 (and kind of 2, although not in a very convenient format)
So to maintain this functionality we just store it outside of the event store in Redis. This is ok because this data is also stored in Kafka/S3 in our analytic data and even then it's not that hard to get it back because HTTP requests are constantly flowing into MindFlayer.
Long-term solution: Idea 1
It would be awesome to have reports of a widget being installed on multiple websites and compare that to the webchat_limit
(not yet a thing) to let throw up flags in Skyhook to ask people for more money..
This also would be nice to know all the places a config change will affect.
Idea 2
Save "Installed on", a list of unique domains it's installed on.
Also if we were able to scope by domain name that would also help us out.