Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collecting Likers hangs indefinitely #73

Closed
andreas-wolf opened this issue Mar 7, 2022 · 5 comments
Closed

Collecting Likers hangs indefinitely #73

andreas-wolf opened this issue Mar 7, 2022 · 5 comments
Assignees

Comments

@andreas-wolf
Copy link

On Linux Chromium Version 99.0.4844.51

Most of the time users are collected the collection hangs at the end of the scroll window. There are only the three dots moving. Same for retweet list.

image

@andreas-wolf
Copy link
Author

I think it's related to

const scrolledToBottom =
scrolly.scrollTop >= scrolly.scrollHeight - scrolly.clientHeight;

I see

t.scrollTop
15128.7998046875
t.scrollHeight - t.clientHeight
15129

If I set a breakpoint and scrolledToBottom=true it continues normally.

@dmstern dmstern self-assigned this Mar 10, 2022
@dmstern
Copy link
Owner

dmstern commented Mar 11, 2022

Hey @andreas-wolf,

kannst du es mal mit der neuen version 3.0 ausprobieren, ob das Problem behoben ist? https://github.com/dmstern/likers-blocker/releases/tag/v3.0.0

Es gibt jetzt für derartige "Verhakungen" zur Not einen "Vorspulen"-Button, vielleicht hilft das ja. ;)

Bisher hat nur Firefox die neue Version akzeptiert, aber du kannst über die Extensions-Seite in deinem Chromium die im Release angehängte .zip-Datei lokal laden. Am besten vorher die Original-Extension deinstallieren.

Falls es das Problem nicht behebt, machen wir den Bug hier gern wieder auf.

@andreas-wolf
Copy link
Author

Hi @dmstern,

ja das geht.
Danke für das prompte fixen.

Ich möchte gerne einen kleinen Verbesserungsvorschlag machen.

Ich sehe im Diff, dass da jetzt ein allowanceOffset hinzukam:
3fb76f8#diff-02d804992621ce9b75bcb3ff8e887d20c5ee3facfa047979c1ead7731610ea21R522

		scrolly.scrollTop >=
			scrolly.scrollHeight - scrolly.clientHeight - allowanceOffset;

Ich habe versucht den Fehler einzugrenzen und herausgefunden, dass der Fehler dann auftritt, wenn die Webseite gezoomt ist (z.B. 150%).
Es gibt auch ein entsprechendes Warning in der Doku von scrollTop:

Warning: On systems using display scaling, scrollTop may give you a decimal value.

Daher mein Vorschlag:

Math.ceil(scrolly.scrollTop) >= scrolly.scrollHeight - scrolly.clientHeight;

Ich glaube das ist besser als der (willkürliche) Offset.
Das Match.ceil() funktioniert bei mir genauso gut.

@dmstern
Copy link
Owner

dmstern commented Mar 12, 2022

Oha genial, danke! :) Möchtest du einen Pull Request stellen und damit in der Contributors-Liste auftauchen? ;)

Das allowanceOffset hatte ich eingebaut, weil ich einen Fall beobachtet hatte, wo die eine Seite der Bedinung gerade um einen Pixel zu niedrig war um erfüllt zu werden. Hab dann sicherheitshalber noch ein bisschen mehr drauf geschlagen. Aber wenn das Math.ceil das auch mit abdeckt, umso besser, da gebe ich dir vollkommen recht. :)

@dmstern
Copy link
Owner

dmstern commented Mar 13, 2022

Danke @andreas-wolf, habe deinen Vorschlag in den master-branch übernommen. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants