Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Codidact Meta!

Codidact Meta is the meta-discussion site for the Codidact community network and the Codidact software. Whether you have bug reports or feature requests, support questions or rule discussions that touch the whole network – this is the site for you.

Comments on Indicate which posts in the category feed have unread updates

Post

Indicate which posts in the category feed have unread updates

+3
−0

Right now, if a category has new/updated posts, a small dot appears next to the category name.

Could this feature be extended to posts within the category as well? While it's not that hard to just manually see which posts have unread changes, it would be convenient to have an indicator.

History
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

General comments (9 comments)
General comments
manassehkatz‭ wrote over 3 years ago

I don't know how things are tracked right now. My gut feeling (sometimes wrong) is that there is a per-user-per-category timestamp which is used to generate these magic dots. If you want it per-post then that jumps from users x categories to users x posts - potentially a huge table.

Moshi‭ wrote over 3 years ago

@manassehkatz You wouldn't need to store timestamps, just read/unread status, so it would just be the table of users and the list of posts they've read. Updating the lists might be a pain though.

manassehkatz‭ wrote over 3 years ago

@Moshi Whether it is UserId + PostId + Boolean or UserId + PostId + Timestamp makes very little difference. Timestamp would make for slightly larger records. Boolean would make the update process more complicated (because you would have to update all the little records each time). There are some other variants I can think of. But end result is a ton of little records for relatively little benefit. MySQL (and PostgreSQL too) doesn't handle that all that well when you

manassehkatz‭ wrote over 3 years ago

scale from thousands up to millions. Been there, done that. Most of the actual disk spaces gets taken up by the indexes. No matter how you slice it, its a mess. Not worth doing IMHO. Personally, the way I read (here or SE) is I go to the relevant site/community/category and then start at the top and work my way down until I see stuff that I know I already read (based on displayed timestamps).

Moshi‭ wrote over 3 years ago

@manassehkatz I didn't mean UserID + PostID, I meant having one record per userID with a list of postIDs that correspond to which posts the user has read.

manassehkatz‭ wrote over 3 years ago

Typical databases don't have records like that - i.e., some fixed fields plus a variable number of additional fields (in this case, the PostIds could go into the thousands very quickly). What they instead have is two types of master records (User and Post) and a ManyToMany Table connecting them (UserId + PostId + whatever other necessary information, if any).

Moshi‭ wrote over 3 years ago

@manassehkatz Typical databases can't store arrays?

manassehkatz‭ wrote over 3 years ago

No. They fake it. Either for a small fixed size array by using a bunch of fields, or for a large variable size array by using another table.

Moshi‭ wrote over 3 years ago

@manassehkatz ah, I see. your comments make a lot more sense to me now