One Check every feed button: the top bar's (#416)
All Subscriptions' header had its own, beside Mark everything read, doing what the top bar's Refresh does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RqkrVDqdiQEMWAkNGQ2tYA
This commit is contained in:
@@ -17,6 +17,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- iPX opens and reads without a connection: the lists it has fetched (All Subscriptions, Unread and the feeds it preloads or you opened) are kept on the device with the pictures in their unread items, up to 200 MB of them, and items read or flagged and places in an episode while offline are sent when the connection is back. Signing out clears it all (#389).
|
||||
- An open page, or the home-screen app, takes up a new version of iPX by itself once it reconnects after a deploy, back on the item you had open; while something is playing, a dialog is open or a search is typed, it offers a reload instead (#388).
|
||||
|
||||
### Removed
|
||||
|
||||
- The Check every feed button in All Subscriptions' header, which did what the top bar's does (#416).
|
||||
|
||||
### Fixed
|
||||
- Swiping, or j, through more than 50 items no longer stops at the 50th until a reload: the next ones are fetched as you near the end, and Load more on the Unread tab no longer skips as many unread items as you had read (#383).
|
||||
- On the Unread tab, a short list read through no longer asks the server for more that is not there, or shows a count of 0 items beside the items still on screen (#385).
|
||||
|
||||
@@ -62,7 +62,6 @@ function renderFeed(){
|
||||
subscribe to, newest first · ${unreadAll} unread</div>
|
||||
</div>
|
||||
<div class="acts">
|
||||
<button class="btn ico" data-a="scanall" title="Check every feed now" aria-label="Check every feed now">${ICON.scan}</button>
|
||||
<button class="btn ico" data-a="readall" title="Mark everything read" aria-label="Mark everything read">${ICON.checks}</button>
|
||||
</div>
|
||||
</div>`) + `
|
||||
@@ -182,7 +181,6 @@ async function feedAction(a: string,f: Feed){
|
||||
}
|
||||
/// All Subscriptions' own buttons: a feed's, across every feed you read.
|
||||
async function allAction(a: string){
|
||||
if(a==='scanall') return scanAll();
|
||||
if(a==='readall'){
|
||||
const n=S.feeds.reduce((k,x)=>k+(x.unread||0),0);
|
||||
if(!n){ toast('Nothing unread'); return; }
|
||||
|
||||
@@ -64,7 +64,7 @@ function paintScanning(){
|
||||
const self=spinFeed!==null&&spinFeed===S.feed, any=document.body.classList.contains('scan-any');
|
||||
document.body.classList.toggle('scan-this',self);
|
||||
// Turning was all that said a check was running, and with motion reduced nothing turns (#310).
|
||||
for(const b of $$('#scanAll,.fhead [data-a=scanall],.fhead [data-a=scan]')){
|
||||
for(const b of $$('#scanAll,.fhead [data-a=scan]')){
|
||||
const on=b.dataset.a==='scan'?self:any;
|
||||
b.dataset.label??=b.getAttribute('aria-label')!;
|
||||
if(on) b.setAttribute('aria-busy','true'); else b.removeAttribute('aria-busy');
|
||||
|
||||
Reference in New Issue
Block a user