add a hack (Headlines.unpackVisible) to workaround against unpack observer sometimes missing articles

This commit is contained in:
Andrew Dolgov 2021-01-19 11:54:13 +03:00
parent 41bde84a92
commit 2933483393
1 changed files with 18 additions and 0 deletions

View File

@ -300,6 +300,16 @@ const Headlines = {
} }
} }
}, },
unpackVisible: function(container) {
const rows = $$("#headlines-frame > div[id*=RROW][data-content].cdm");
for (let i = 0; i < rows.length; i++) {
if (App.Scrollable.isChildVisible(rows[i], container)) {
console.log('force unpacking:', rows[i].getAttribute('id'));
Article.unpack(rows[i]);
}
}
},
scrollHandler: function (/*event*/) { scrollHandler: function (/*event*/) {
try { try {
if (!Feeds.infscroll_disabled && !Feeds.infscroll_in_progress) { if (!Feeds.infscroll_disabled && !Feeds.infscroll_in_progress) {
@ -320,6 +330,14 @@ const Headlines = {
} }
} }
if (App.isCombinedMode() && App.getInitParam("cdm_expanded")) {
const container = $("headlines-frame")
/* don't do anything until there was some scrolling */
if (container.scrollTop > 0)
Headlines.unpackVisible(container);
}
if (App.getInitParam("cdm_auto_catchup")) { if (App.getInitParam("cdm_auto_catchup")) {
const rows = $$("#headlines-frame > div[id*=RROW][class*=Unread]"); const rows = $$("#headlines-frame > div[id*=RROW][class*=Unread]");