about summary refs log tree commit diff
path: root/app/services/fan_out_on_write_service.rb
AgeCommit message (Collapse)Author
2020-03-02clean up timeline scoping & drop timeline options no longer used by monsterforkmultiple creatures
2020-02-16make sure hidden posts are not streamed into timelines other than the author'smultiple creatures
2019-12-05avoid resurfacing old posts that are being streamed into the world timelinemultiple creatures
2019-07-29optional delayed publishing of roars for proofreadingmultiple creatures
2019-07-24revert the current unfinished chat implementationmultiple creatures
2019-07-20stop putting boosts in the local timeline when the booster's visibility is ↵multiple creatures
`local`
2019-07-15local visibility scope, chat scope+tags, unlisted tagsmultiple creatures
2019-05-21Implement scoped tags; use `local:` and `self:` scopes for community and ↵multiple creatures
personal tags, respectively.
2019-05-21Allow own roars to be included in lists.multiple creatures
2019-05-21Make sure that replies that are not sections of a root thread get filtered ↵multiple creatures
out of the world timeline.
2019-05-21Refactored community-curated world timeline code; **privacy**: remove ↵multiple creatures
support for packmate-visible hashtags until we resolve federation caveats.
2019-05-21curated world: also consider public favsmultiple creatures
2019-05-21community world tl + networked home tlmultiple creatures
2019-05-01Add site-wide options to show reblogs and replies in local/public timelinesThibaut Girka
Fixes #1021
2018-10-30Merge branch 'master' into glitch-soc/merge-upstreamThibaut Girka
Conflicts: - app/controllers/auth/sessions_controller.rb Upstream reverted something we partially reverted already. Reverted the rest to match upstream.
2018-10-30Accept the same payload in multiple inboxes and deliver (#9150)Eugen Rochko
2018-10-23Keep back own DMs in Home timelineThibaut Girka
Follow-up to e45a6edd6574c86409333cc64f9fb87e1b0a196e, fixes inconsistencies in glitch-soc behavior.
2018-10-22Keep new DMs in home feeds and in the old DM timelineThibaut Girka
Revert server-side part of 87fdd139b890e60f752bf71e3b09d79eaefcf7b5
2018-10-17Improve support for aspects/circles (#8950)Eugen Rochko
* Add silent column to mentions * Save silent mentions in ActivityPub Create handler and optimize it Move networking calls out of the database transaction * Add "limited" visibility level masked as "private" in the API Unlike DMs, limited statuses are pushed into home feeds. The access control rules between direct and limited statuses is almost the same, except for counter and conversation logic * Ensure silent column is non-null, add spec * Ensure filters don't check silent mentions for blocks/mutes As those are "this person is also allowed to see" rather than "this person is involved", therefore does not warrant filtering * Clean up code * Use Status#active_mentions to limit returned mentions * Fix code style issues * Use Status#active_mentions in Notification And remove stream_entry eager-loading from Notification
2018-10-11Do not push DMs into the home feed (#8940)Eugen Rochko
* Do not push DMs into the home feed * Show DMs column after sending a DM, if DMs column is not already shown
2018-10-07Add conversations API (#8832)Eugen Rochko
* Add conversations API * Add web UI for conversations * Add test for conversations API * Add tests for ConversationAccount * Improve web UI * Rename ConversationAccount to AccountConversation * Remove conversations on block and mute * Change last_status_id to be a denormalization of status_ids * Add optimistic locking
2018-05-29Reduce wasted work in RemoveStatusService due to inactive followers (#7672)Eugen Rochko
2018-05-21Use #any? instead of #exists? when checking media attachments (#7570)Eugen Rochko
If media_attachments are not loaded, SQL query is the same, but the #exists? method performs SQL query even if preloaded
2018-05-21Add media timeline (#6631)Yamagishi Kazutoshi
2018-05-05Store home feeds for 7 days instead of 14 (#7354)Eugen Rochko
* Store home feeds for 7 days instead of 14 Reduces workload for status fan-out to active followers * Fix test for user model
2018-05-02Slightly reduce RAM usage (#7301)Eugen Rochko
* 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
2018-04-18Direct messages column (#4514)Kaito Sinclaire
* 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
2017-11-18Lists (#5703)Eugen Rochko
* 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
2017-07-07Refactor JSON templates to be generated with ActiveModelSerializers instead ↵Eugen Rochko
of Rabl (#4090)
2017-06-04change sidekiq queueing to bulk push (#3536)takayamaki
2017-04-12Silence more scope order warnings (#1604)Matt Jankowski
2017-04-06Fix wrong pubsub channel on public timelinesEugen Rochko
2017-04-06Fix notifications delivered to wrong pubsub channel, optimized ↵Eugen Rochko
RemoveStatusService, slightly optimized FanOutOnWriteService again
2017-04-05Replace calls to FeedManager#inline_render and #broadcastEugen Rochko
2017-04-05Only render public payload once in FanOutOnWriteEugen Rochko
2017-04-04Spawn FeedInsertWorker to deliver status into personal feedEugen Rochko
2017-04-03Add check for visibility.nil? even though it can't ever be, to check for ↵Eugen Rochko
race conditions
2017-04-02Fix feed regeneration bugEugen Rochko
2017-03-15Add "direct" visibility level in the backend. Web UI is not yetEugen Rochko
adjusted to allow choosing it, yet
2017-02-06Add streaming API channels for local-only statusesEugen Rochko
2017-02-02Move rendering of JSON payloads for public/hashtag timelines toEugen Rochko
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
2017-02-02Cleaning up format of broadcast real-time messages, removingEugen Rochko
redis-backed "mentions" timeline as redundant (given notifications)
2017-01-31Fix #529 - Make hashtag timelines show conversations, fix hashtag loading in ↵Eugen Rochko
the UI
2016-12-02Fix #323 - self-replies to appear in public timelines againEugen Rochko
2016-11-30Per-status control for unlisted mode, also federation for unlisted modeEugen Rochko
Fix #233, fix #268
2016-11-26Public and hashtag timelines now exclude reblogs and repliesEugen Rochko
Fix #289 - don't download avatar unless the URL is http/https Fix #293 - reblog/reblogged is now boost/boosted
2016-11-24Only distribute statuses to followers who signed in in the last 2 weeks, add ↵Eugen Rochko
rake task for clearing feeds of inactive users
2016-11-21Adding option to specify asset server, filter followers query by local accountsEugen Rochko
during Fan Out On Write to load less stuff into memory
2016-11-15Fix rubocop issues, introduce usage of frozen literal to improve performanceEugen Rochko
2016-11-10Fix live status removal from public/hashtag channelsEugen Rochko