Eugen Rochko
620d0d8029
Account domain blocks ( #2381 )
...
* Add <ostatus:conversation /> tag to Atom input/output
Only uses ref attribute (not href) because href would be
the alternate link that's always included also.
Creates new conversation for every non-reply status. Carries
over conversation for every reply. Keeps remote URIs verbatim,
generates local URIs on the fly like the rest of them.
* Conversation muting - prevents notifications that reference a conversation
(including replies, favourites, reblogs) from being created. API endpoints
/api/v1/statuses/:id/mute and /api/v1/statuses/:id/unmute
Currently no way to tell when a status/conversation is muted, so the web UI
only has a "disable notifications" button, doesn't work as a toggle
* Display "Dismiss notifications" on all statuses in notifications column, not just own
* Add "muted" as a boolean attribute on statuses JSON
For now always false on contained reblogs, since it's only relevant for
statuses returned from the notifications endpoint, which are not nested
Remove "Disable notifications" from detailed status view, since it's
only relevant in the notifications column
* Up max class length
* Remove pending test for conversation mute
* Add tests, clean up
* Rename to "mute conversation" and "unmute conversation"
* Raise validation error when trying to mute/unmute status without conversation
* Adding account domain blocks that filter notifications and public timelines
* Add tests for domain blocks in notifications, public timelines
Filter reblogs of blocked domains from home
* Add API for listing and creating account domain blocks
* API for creating/deleting domain blocks, tests for Status#ancestors
and Status#descendants, filter domain blocks from them
* Filter domains in streaming API
* Update account_domain_block_spec.rb
2017-05-19 01:14:30 +02:00
alpaca-tc
59804abc3d
Optimize MuteService and AfterBlockService ( #2836 )
2017-05-06 16:31:07 +02:00
Matt Jankowski
b57eed4584
Remove order prior to .find_in_batches ( #1470 )
...
The `Status` class has a default order on it, so when this query gets built and
gets all the way to `find_in_batches` there is an order already there.
When `find_in_batches` is run it discards any existing order on the query, and
emits a warning to the logs if there is one there.
This change removes the order prior calling `find_in_batches`, which will stop
the logged warning from occurring as well.
2017-04-11 00:38:34 +02:00
Eugen Rochko
5b95be1c42
Replace calls to FeedManager#inline_render and #broadcast
2017-04-05 19:45:18 +02:00
Kurtis Rainbolt-Greene
7bed4e51db
Moved to the worker
2017-04-04 20:51:44 -07:00
Kurtis Rainbolt-Greene
dc5704b0b0
This method isn't used anymore
2017-04-04 20:38:07 -07:00
Kurtis Rainbolt-Greene
1e96ce378e
By pushing this into a worker we can reduce the amount of time the feed manager using workers eat up a connection
2017-04-04 20:23:40 -07:00
Eugen
2edeb3fe1c
Merge pull request #858 from krainboltgreene/patch-6
...
Use active record shorthand
2017-04-05 02:53:39 +02:00
Eugen Rochko
6fd865c000
Spawn FeedInsertWorker to deliver status into personal feed
2017-04-04 19:21:37 +02:00
Kurtis Rainbolt-Greene
731e650681
Use active record shorthand
2017-04-04 09:04:07 -07:00
Eugen Rochko
82aaedec46
Reduce number of items in feeds, optimize regeneration worker slightly,
...
make regeneration worker unique, (only schedule/execute once at a time)
2017-04-04 13:58:34 +02:00
Eugen Rochko
b1f3499c38
Optimize FeedManager#unmerge, and slightly optimize FeedManager#merge
2017-04-04 13:43:36 +02:00
Eugen Rochko
ce9df2fa82
Optimize filter methods in FeedManager a bit, use redis pipelining on merge/unmerge feed methods,
...
do not re-create a dynamic class on each feed push call, make sure redis-rb uses hiredis
2017-04-04 13:01:14 +02:00
Eugen Rochko
d6b965cf08
Fix issue with feed merge-in code as well
2017-04-02 15:58:25 +02:00
Eugen Rochko
74ae158c2f
Add "direct" visibility level in the backend. Web UI is not yet
...
adjusted to allow choosing it, yet
2017-03-15 22:55:45 +01:00
Eugen Rochko
c64a1c25c4
Fix #231 - Muting
2017-03-02 18:49:32 +01:00
Kit Redgrave
442fdbfc53
Mute button progress so far. WIP, doesn't entirely work correctly.
2017-03-01 22:31:21 -06:00
Eugen Rochko
7f0d1b8cc0
If a status is within 40 statuses from the top of a home feed, do not
...
reinsert it when someone boosts it
2017-03-01 01:07:11 +01:00
Eugen Rochko
dc851c922e
Mentions in private statuses allow mentioned people to see them
2017-02-11 15:10:22 +01:00
Eugen Rochko
6331ed16e5
Fix #614 - extra reply-boolean on statuses to account for cases when replied-to
...
status is not in the system at time of distribution; fix #607 - reset privacy
settings to defaults when cancelling replies
2017-02-09 20:25:39 +01:00
Eugen Rochko
fb6aa7ad5c
Add tracking of delay to streaming API
2017-02-05 03:19:04 +01:00
Eugen Rochko
d9ca46b464
Cleaning up format of broadcast real-time messages, removing
...
redis-backed "mentions" timeline as redundant (given notifications)
2017-02-02 00:03:31 +01:00
Eugen Rochko
cca82bf0a2
Move merging/unmerging of timelines into background. Move blocking into
...
background as well since it's a computationally expensive
2017-01-23 21:29:34 +01:00
Eugen Rochko
f392030ab8
Add /api/v1/notifications/clear, non-existing link cards for statuses will
...
now return empty hash instead of throwing a 404 error. When following,
merge into timeline will filter statuses
2017-01-23 21:09:27 +01:00
Eugen Rochko
8d44281677
Set in_reply_to_account on statuses to non-self value when possible, thus
...
resolving the confusion from self-chain replies ultimately linking to a
non-self status. Adjust filters
2016-12-31 14:36:25 +01:00
Eugen Rochko
f729cfc881
Private posts mentioning non-followers should not notify them, neither locally nor via Salmon
2016-12-22 23:14:24 +01:00
Eugen Rochko
b891a81008
Follow call on locked account creates follow request instead
...
Reflect "requested" relationship in API and UI
Reflect inability of private posts to be reblogged in the UI
Disable Webfinger for locked accounts
2016-12-22 23:03:57 +01:00
Eugen Rochko
00e9dac1d3
Automatically block outgoing notifications from silenced accounts to users
...
who don't follow them
2016-12-04 16:51:49 +01:00
Eugen Rochko
71401659b8
Fix #65 - Options to block notifications from people you don't follow/who don't follow you
2016-11-25 13:13:16 +01:00
Eugen Rochko
e3ed212b85
Filter statuses that mention blocked users
2016-11-25 12:35:52 +01:00
Eugen Rochko
da2ef4d676
Adding unified streamable notifications
2016-11-20 19:39:58 +01:00
Eugen Rochko
fdc17bea58
Fix rubocop issues, introduce usage of frozen literal to improve performance
2016-11-15 16:56:29 +01:00
Eugen Rochko
f8f15e5697
Fix #63 - Filter mentions that reply to blocked users
2016-11-13 21:11:45 +01:00
Eugen Rochko
17903c6dae
Improve filtering of public/hashtag timelines, both in backlog and real-time
2016-11-10 00:03:33 +01:00
Eugen Rochko
bb4d1eb2e8
Improve feed regeneration
2016-11-08 02:08:32 +01:00
Eugen Rochko
dbe00a4156
Improved configuration from ENV, cleaned up timeline filter methods
...
to be more readable, add extra logging to process feed service
2016-11-07 23:20:52 +01:00
Eugen Rochko
48b9619439
Adding hashtags
2016-11-05 17:13:14 +01:00
Eugen Rochko
4b357ecf98
Fix subtle bugs, new icon button
2016-11-02 22:29:19 +01:00
Eugen Rochko
1f650d327d
Adding public timeline
2016-10-07 16:00:11 +02:00
Eugen Rochko
9d59d7b463
Adding a block model and filter mentions from blocked users ( fix #60 )
2016-10-03 17:12:13 +02:00
Eugen Rochko
be86d4e0a3
Preparing feeds for better filtering
2016-10-02 15:28:47 +02:00
Eugen Rochko
a4f7eca5fa
Fix #25 - Only latest reblog of status kept on feed as zset value is set to "true" status ID
2016-09-29 21:40:37 +02:00
Eugen Rochko
4f9b7432dd
Fix #52 - Add API versioning (v1)
2016-09-27 16:59:08 +02:00
Eugen
3f75f52285
Fix subtle home feed filtering bug
2016-09-27 10:52:37 +02:00
Eugen Rochko
ce29624c6d
Fixing image upload limits, allowing webm, merge/unmerge events trigger
...
timeline reload in UI, other small fixes
2016-09-12 18:22:43 +02:00
Eugen Rochko
0077fc26df
Merge and unmerge timelines on follow/unfollow, solves #21 , #22
2016-09-10 18:36:48 +02:00
Eugen Rochko
3cc47beb6e
Refactored generation of unique tags, URIs and object URLs into own classes,
...
as well as formatting of content
2016-09-09 20:04:34 +02:00
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
2016-03-25 14:12:24 +01:00
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
2016-03-25 02:13:30 +01:00