Topic: [Feature] Stickied Comments

Posted under Site Bug Reports & Feature Requests

Requested feature overview description.

An option that allows an admin to stick a specific comment to the top of the comment section on any given post.

Why would it be useful?

Controversial posts often have a ridiculously large comment section where any sort of admin ruling is drowned out, making it badly visible to users. Allowing a comment to be sticked to the top would ensure that the admin ruling is visible first and to everyone who dares glance at the comments.

Hopefully this will cut down on times where a user changes a tag after an admin ruling simply because they couldn't see (or couldn't be bothered to search) the ruling an admin made in the comments.

What part(s) of the site page(s) are affected?

All submission pages.

Updated by Chaser

+1 I can think of many comment shitstorms that this would help sort out.

Updated by anonymous

1+ would also be good expanding this to forum threads as well to avoid unnecessary discussion on threads that are upwards of 10 pages long and the like....

Updated by anonymous

Definitely. As someone who's seen posts with shit-tonnes of drama on them and then an admin comment that are scrolls and scrolls down (if that makes sense), so having admins be able to sticky comments would be great.

Updated by anonymous

Should the comment be removed from the flow and placed at the top or be in both places?

Should the stickied comment have a different background color, spacing below it, or any other change that would make it stand out more?

Will there be support for multiple stickied comments on one image?

Updated by anonymous

Very easily implementable.
Best solution: A single uint8 Bitwise field, move all flags over to it(stickied, flagged, hidden, deleted, score locked, etc).

Hacky solution: Abuse an existing value, that being SCORE. That being, if create post stickied, then set SCORE to INT32_MAX, or 0x7FFFFFFF, or 2,147,483,647.
Why? Simple: Because the database already is using int32 for it's score value, and there is no way anyone will get 2 billion upvotes.

Hacky solution w/ score: If score would still be preferred, Bitwise score. basically the way int32 max is represented, is 01111111 11111111 11111111 11111111. Where 1 is the value, and 0 is the sign. If the sign is equal to 0, it's positive, if it is equal to 1, it is negative. So, simply use the bit next to the sign to determine stickiness. To do this:

//01000000 00000000 00000000 00000000 == 0x40000000 == 1073741824
//↑⬑ Sticky bit
//└─ Sign bit

int score = (~0x40000000)&query["score"]; //Will not affect existing scores
int stickied = (0x40000000&query["score"]) == 0x40000000; //Get the sticky bit, 1 if stickied, 0 if not.
int setSticky(int score){
    return 0x40000000|score;
}
int remSticky(int score){
    return (~0x40000000)&score;
}

Updated by anonymous

  • 1