eb310f7821
* feat(reader): swipe down to re-fetch a chapter, never cache empty responses - pull down at the top of a chapter to re-fetch it, recovering from transient empty responses without leaving the reader - empty responses are evicted from the chapter cache so a refresh re-fetches instead of replaying the empty message - add a refresh button to the reader's bottom bar and a 'Refresh chapter' link on the empty-chapter message - register the typescript-eslint plugin and ignore assets/ in the eslint flat config so lint-staged can lint core.js * feat(reader): move refresh option to appbar menu