Comments (1)
I've been attempting to wrap my head around this and leaning pretty hard on your "it should do something smart with inboxes" comment... so here's a thought dump so far. (Also, I'm totally punting on the specifics of the current Activity model for now.)
The spec says that a user's inbox "contains all activities received by the actor", and it should be filterable. It seems fine to assume that the home page feed is derived from this inbox thing. Where do these activities come from? They're either generated locally (I haven't looked into this implementation) or POSTed to the user/shared inbox.
So this leads me to think that every user's inbox is a collection of references to activities -- literally a many-to-many field in the user model? And that gets populated by receiving activities. i.e., if an activity is POSTed to a user's inbox, that activity is... added to their inbox collection. If an activity goes to the shared inbox, then the server checks to see who's following the sender (actor, I guess) and adds it to each of their inbox collections. Home page activity feed is essentially a fancy filtered version of this.
Maybe this was all a really long way of saying "instead of filtering by 'following' at GET time, filter by 'following' at POST time so we've already sorted what to GET". And maybe some of this is a lot more dependent on how Activities are modeled and stored than I've even gotten to thinking about. idk!!
from bookwyrm.
Related Issues (20)
- module 'PIL.Image' has no attribute 'ANTIALIAS' HOT 7
- Notitications was not showing followers, now it's not showing anything and the notification page shows "System error" HOT 6
- Summary of the year is showing all the time after being dismissed HOT 3
- Who to follow showing people I already follow HOT 2
- Privacy for All Books and old posts (Followers only or fully private) HOT 2
- bw-dev is probably not idempotent or fauilt-tolerant HOT 2
- S3 toolkit
- Export tasks run for a long time HOT 2
- Exports use a lot of disc space, and don't use S3 HOT 10
- add flag for linode object storage in `copy_media_to_s3` and matching env value
- filesize not shown for user export downloads when using s3
- default `DATA_UPLOAD_MAX_MEMORY_SIZE` is too small for user imports
- Using pre-commit framework
- Unescaped &endash; in German localisation of books view HOT 1
- Support commas in page count when manually adding a book HOT 3
- All RSS feeds should be Atom-compliant.
- account migration HOT 2
- fix localization in #3224
- add `ttf` and `svg` to file extensions served at `/static/` in nginx config
- Add link for admins to turn on user exports from user exports page HOT 1
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 bookwyrm.