Eugen Rochko
461542784b
Reduce wasted work in RemoveStatusService due to inactive followers ( #7672 )
6 years ago
Eugen Rochko
32d4372381
Use #any? instead of #exists? when checking media attachments ( #7570 )
If media_attachments are not loaded, SQL query is the same, but
the #exists? method performs SQL query even if preloaded
6 years ago
Yamagishi Kazutoshi
7403e5d306
Add media timeline ( #6631 )
6 years ago
Eugen Rochko
c73ce7b695
Store home feeds for 7 days instead of 14 ( #7354 )
* Store home feeds for 7 days instead of 14
Reduces workload for status fan-out to active followers
* Fix test for user model
6 years ago
Eugen Rochko
cb5b5cb5f7
Slightly reduce RAM usage ( #7301 )
* No need to re-require sidekiq plugins, they are required via Gemfile
* Add derailed_benchmarks tool, no need to require TTY gems in Gemfile
* Replace ruby-oembed with FetchOEmbedService
Reduce startup by 45382 allocated objects
* Remove preloaded JSON-LD in favour of caching HTTP responses
Reduce boot RAM by about 6 MiB
* Fix tests
* Fix test suite by stubbing out JSON-LD contexts
6 years ago
Kaito Sinclaire
156b916caf
Direct messages column ( #4514 )
* Added a timeline for Direct statuses
* Lists all Direct statuses you've sent and received
* Displayed in Getting Started
* Streaming server support for direct TL
* Changes to match other timelines in 2.0
6 years ago
Eugen Rochko
24cafd73a2
Lists ( #5703 )
* Add structure for lists
* Add list timeline streaming API
* Add list APIs, bind list-account relation to follow relation
* Add API for adding/removing accounts from lists
* Add pagination to lists API
* Add pagination to list accounts API
* Adjust scopes for new APIs
- Creating and modifying lists merely requires "write" scope
- Fetching information about lists merely requires "read" scope
* Add test for wrong user context on list timeline
* Clean up tests
7 years ago
Matthew Walsh
3db80f75a6
Added a timeline for Direct statuses
* Lists all Direct statuses you've sent and received
* Displayed in Getting Started
* Streaming server support for direct TL
7 years ago
Eugen Rochko
8b2cad5637
Refactor JSON templates to be generated with ActiveModelSerializers instead of Rabl ( #4090 )
7 years ago
takayamaki
3eedad2737
change sidekiq queueing to bulk push ( #3536 )
7 years ago
Matt Jankowski
323671a653
Silence more scope order warnings ( #1604 )
7 years ago
Eugen Rochko
51d7caaf19
Fix wrong pubsub channel on public timelines
7 years ago
Eugen Rochko
dbd529109e
Fix notifications delivered to wrong pubsub channel, optimized RemoveStatusService,
slightly optimized FanOutOnWriteService again
7 years ago
Eugen Rochko
5b95be1c42
Replace calls to FeedManager#inline_render and #broadcast
7 years ago
Eugen Rochko
220bc48e8e
Only render public payload once in FanOutOnWrite
7 years ago
Eugen Rochko
6fd865c000
Spawn FeedInsertWorker to deliver status into personal feed
7 years ago
Eugen Rochko
8232f76c48
Add check for visibility.nil? even though it can't ever be, to check for race conditions
7 years ago
Eugen Rochko
e809caa0e1
Fix feed regeneration bug
7 years ago
Eugen Rochko
74ae158c2f
Add "direct" visibility level in the backend. Web UI is not yet
adjusted to allow choosing it, yet
7 years ago
Eugen Rochko
c8252759df
Add streaming API channels for local-only statuses
7 years ago
Eugen Rochko
ede04cdb24
Move rendering of JSON payloads for public/hashtag timelines to
FanOutOnWriteService. The only recipient-specific part on them
is reblogged/favourited. But since only newly created statuses
appear on them, it is safe to assume that both attributes would
be false
7 years ago
Eugen Rochko
d9ca46b464
Cleaning up format of broadcast real-time messages, removing
redis-backed "mentions" timeline as redundant (given notifications)
7 years ago
Eugen Rochko
bf60f2898d
Fix #529 - Make hashtag timelines show conversations, fix hashtag loading in the UI
7 years ago
Eugen Rochko
3114e55c7a
Fix #323 - self-replies to appear in public timelines again
8 years ago
Eugen Rochko
14bd46946d
Per-status control for unlisted mode, also federation for unlisted mode
Fix #233 , fix #268
8 years ago
Eugen Rochko
8a4913fde0
Public and hashtag timelines now exclude reblogs and replies
Fix #289 - don't download avatar unless the URL is http/https
Fix #293 - reblog/reblogged is now boost/boosted
8 years ago
Eugen Rochko
4f1d863615
Only distribute statuses to followers who signed in in the last 2 weeks, add rake task for clearing feeds of inactive users
8 years ago
Eugen Rochko
7944ed6fe5
Adding option to specify asset server, filter followers query by local accounts
during Fan Out On Write to load less stuff into memory
8 years ago
Eugen Rochko
fdc17bea58
Fix rubocop issues, introduce usage of frozen literal to improve performance
8 years ago
Eugen Rochko
bf5f55a6bb
Fix live status removal from public/hashtag channels
8 years ago
Eugen Rochko
bb4d1eb2e8
Improve feed regeneration
8 years ago
Eugen Rochko
93212bc2c4
Add test for FanOutOnWriteService
8 years ago
Eugen Rochko
48b9619439
Adding hashtags
8 years ago
Eugen Rochko
909d0d5e88
Adding public timeline silencing
8 years ago
Eugen Rochko
1f650d327d
Adding public timeline
8 years ago
Eugen Rochko
be86d4e0a3
Preparing feeds for better filtering
8 years ago
Eugen Rochko
c6b0311b86
Fix #54 - Fetch remote accounts by URL from mentions
Fetching atom extracted from FetchRemoteAccountService and FetchRemoteStatusService
into FetchAtomService. Mentions of the constant "http://activityschema.org/collection/public "
skipped as it's not a real URL/user.
8 years ago
Eugen Rochko
0077fc26df
Merge and unmerge timelines on follow/unfollow, solves #21 , #22
8 years ago
Eugen Rochko
3cc47beb6e
Refactored generation of unique tags, URIs and object URLs into own classes,
as well as formatting of content
8 years ago
Eugen Rochko
926eea89b5
RemoveStatusService fleshed out, still doesn't send Salmon slaps though
8 years ago
Eugen Rochko
49520d6e62
Adding React.js, Redux, revamping dashboard
8 years ago
Eugen Rochko
6426819b6f
Fix tests
8 years ago
Eugen Rochko
6deb9f966e
Live timelines using ActionCable
8 years ago
Eugen Rochko
e24bfbde1a
Fixing FanOutOnWriteService, fixing Sidekiq not having enough DB connections
in the pool, adding a throttle of 60rpm per IP, adding mini profiler, adding
admin status to users
8 years ago
Eugen Rochko
a08e724476
Fix subscriptions:clear task, refactor feeds, refactor streamable activites
and atom feed generation to some extent, as well as the way mentions are
stored
8 years ago
Eugen Rochko
12559b01ea
Add pagination by max_id instead of offset/limit
8 years ago
Eugen Rochko
9d55529318
Fix text color in dashboard inputs, sanitize remote status content in UI,
simplify FanOutOnWriteService, add /api/accounts/lookup method
8 years ago
Eugen Rochko
46cbb9c551
Increase note truncation length on account grids, improve FanOutOnWrite a bit,
fix tests (the recorded Salmon fixture expects LOCAL_DOMAIN to be something
specific unfortunately)
8 years ago
Eugen Rochko
2b116131d7
Adding e-mail notifications about mentions, follows, favourites and reblogs. Fixing another mention recording bug
8 years ago
Eugen Rochko
6c4c84b161
Distrubute statuses as a fan-out-on-write system, with optional precomputing
8 years ago