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

Make hot rank not crash on future #3517

Merged
merged 2 commits into from
Jul 7, 2023
Merged

Conversation

phiresky
Copy link
Collaborator

@phiresky phiresky commented Jul 6, 2023

This fixes #3494 by making hot_rank() return 0 if published is in the future

hours_diff numeric := EXTRACT(EPOCH FROM (timezone('utc', now()) - published)) / 3600;
BEGIN
IF (hours_diff > 0) THEN
RETURN floor(10000 * log(greatest(1, score + 3)) / power((hours_diff + 2), 1.8))::integer;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than the if statement, it'd probable be better to do greatest(0, hours_diff) + 2

Copy link
Collaborator Author

@phiresky phiresky Jul 6, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah i thought so too. i tried it, but the issue is that then those future posts stay at the top of hot as if they were posted 0 seconds ago (so they get an extremely high hot score if they get any upvotes at all). so instead i set to zero completely until they are not in the future anymore.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, makes sense.

@Nutomic Nutomic merged commit aa70325 into LemmyNet:main Jul 7, 2023
@phiresky phiresky mentioned this pull request Aug 18, 2023
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

Successfully merging this pull request may close these issues.

[Bug]: Posts / Comments from the future make hot_rank function crash.
3 participants