Here's my scenario:
A web site has an index page and a number of content pages (for the sake of argument these are called page1 through page100) all pointing to the same cache manifest URL.
The index page lists all the content pages and lets the user choose which ones he wants to view offline (For the sake of agrgument let's say he selects page 1, 2, and 3). He then clicks the "download" button which in turn posts back the same index page but this time the cache manifest is dynamically generated and includes the selected pages as explicit so they all get downloaded into the offline cache. He can then go offline and view all the pages, so far so good!
Now let's say before he goes offline he goes into page2 and hits the browser refresh button. This will cause the cache manifest to be re-fetched. At this point the cache manifest has no context so there's no way it can include any explicit entries for page 1 or 3. Hence he now has page2 as a master entry (and possibly explicit as well) but 1 and 3 have been removed from the offline cache.
Can anyone think of a sensible way round this? I've wondered about having a separate cache manifest URL for each page but that just feels wrong.