Comments (1)
Suggestion:
Home timelines are sorted sets in Redis, with a score and a value. Right now, both the score and the value are the same thing (the status ID). Since IDs increment over time, it's essentially like using a sort by created_at (with the exception that in some cases, an older status from a remote instance may come in later and get a later ID than some other status). The status ID stored is always of the wrapper statuses, even if it's a reblog. This could be changed easily:
Leave the wrapper status ID as the score, ensuring (mostly) correct causal sorting. But as the value, store the original status ID, so for reblogs it would be the ID of the reblogged status, for original statuses just the normal ID. When a newer reblog would be inserted into the set, the score of the old one would be updated, but a double entry would be avoided.
from mastodon.
Related Issues (20)
- add theme switcher when not logged in HOT 2
- webpack-cli throws an error on fresh new install on Docker/MacOS HOT 2
- Postgres BIND waiting when tootctl statuses remove is running
- Regarding the Filtered Post in the Timeline Apis
- Buttons and icons for adjusting a post fail contrast
- #30040 Introduced a lot of database queries to initial page loads HOT 1
- Docker overlays are large due to node_module cache and other finds HOT 1
- False negative of a filter on a hashtag HOT 6
- Feature Request: Add support for AVIF images HOT 2
- Mark as AI-generated HOT 1
- Bad text recognition because language in "detect text from picture" is hard-coded english (tesseract ocr)
- Favicon is considered orphaned media
- searching "activitypub" on mastodon will return irrelevant message results from flipboard.com HOT 2
- Invalid token HOT 7
- Feature request: show why a message is shown in web UI HOT 2
- Expose report categories via API HOT 5
- Improve Streaming's Server Sent Events code HOT 1
- tootctl domains purge fails when an account has notifications allowed
- Advertise deprecated endpoints via Deprecation headers ( draft-ietf-httpapi-deprecation-header-03 ) HOT 3
- Adjust Development > Applications form to more clearly support multiple redirect_uris
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mastodon.