We discussed problems with the implementation:
- I could set pretty large time to live times for the cache, upwards to a week.
- With regards to users with many favorites I could fetch content from the 3 first favorites and fetch the contents for the rest of the favorites in the background.
- A better option would be to require the user to provide his username when the userscript is downloaded. A small check for the validity of the user could be performed before a background process fetches favorite activities in the background which are cached. I would need to provide a disclaimer for doing so and provide a notice that it could take some time before the data is available.