The page tells two feeds' items with one guid apart (#361)
Rows, the selection, the items turned past and the player were matched by guid alone, so in All Subscriptions two feeds giving a post the same guid (a blog's RSS and Atom) were one item to the page: clicking the second selected and marked the first, and the second never read. They are matched by feed and guid now (entryKey, the key readWrites already used); data-guid stays on the row for the tests, data-key is matched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -88,7 +88,7 @@ document.addEventListener('touchmove', ev => {
|
||||
}else if(Math.abs(touch.dx) > 10){
|
||||
// The reader follows the finger, so it is plain before letting go whether this will move on;
|
||||
// with nothing that way it only gives a little.
|
||||
const i = S.entries.findIndex(x => x.guid === S.sel);
|
||||
const i = S.entries.findIndex(x => entryKey(x) === S.sel);
|
||||
const end = touch.dx < 0 && i >= S.entries.length - 1;
|
||||
slide(end ? touch.dx / 3 : touch.dx, 0);
|
||||
}
|
||||
@@ -100,7 +100,7 @@ document.addEventListener('touchmove', ev => {
|
||||
/// (issue #52). Kept outside #content, which every feed render rebuilds, and inert, since its
|
||||
/// copy of the reader's markup repeats the reader's ids.
|
||||
function beside(dx: number){
|
||||
const i = S.entries.findIndex(x => x.guid === S.sel), e = S.entries[i + (dx < 0 ? 1 : -1)];
|
||||
const i = S.entries.findIndex(x => entryKey(x) === S.sel), e = S.entries[i + (dx < 0 ? 1 : -1)];
|
||||
const kind = dx < 0 ? (e ? 'next' : 'end') : (e ? 'prev' : 'dim');
|
||||
let p = $('#dpeek');
|
||||
if(!p){
|
||||
@@ -160,7 +160,7 @@ document.addEventListener('touchend', () => {
|
||||
return;
|
||||
}
|
||||
// Across, mostly sideways, and not a slow drag while selecting text.
|
||||
const i = S.entries.findIndex(x => x.guid === S.sel);
|
||||
const i = S.entries.findIndex(x => entryKey(x) === S.sel);
|
||||
if(Math.abs(g.dx) < swipeMin() || Math.abs(g.dx) < 2 * Math.abs(g.dy) || Date.now() - g.t > 800
|
||||
|| (g.dx < 0 && i >= S.entries.length - 1)) return slide(0);
|
||||
if(g.dx < 0) return slideOn(g.dx, () => stepEntry(1));
|
||||
|
||||
Reference in New Issue
Block a user