about summary refs log tree commit diff
path: root/app/lib
AgeCommit message (Collapse)Author
2017-12-06Merge pull request #229 from glitch-soc/glitch-themebeatrix
Advanced Next-Level Flavours And Skins For Mastodon™
2017-12-06Merge remote-tracking branch 'tootsuite/master' into glitchsoc/masterJenkins
2017-12-06Using double splat operator (#5859)Yamagishi Kazutoshi
2017-12-04Various fixeskibigo!
2017-12-04Merge branch 'gs-master' into glitch-themeDavid Yip
2017-12-03Rename themes -> flavours ? ?kibigo!
2017-12-03Fixed typoskibigo!
2017-11-30Skins supportkibigo!
2017-11-30Merge remote-tracking branch 'tootsuite/master' into glitchsoc/masterJenkins
2017-11-30Add semi-support for Video/Image objects in ActivityPub (#5848)Eugen Rochko
* Add semi-support for Video/Image objects in ActivityPub Video and Image objects will create corresponding status records with manually crafted text contents (title + URL) * Extract html-url-finding logic into JsonLdHelper * Fallback to id when url missing, extract supported object types
2017-11-30Fix too many forwards (#5854)Eugen Rochko
* Avoid sending explicit Undo->Announce when original deleted * Do not forward a reply back to the server that sent it * Deduplicate inboxes of rebloggers' followers for delete forwarding * Adjust test * Fix wrong class, bad SQL, wrong variable, outdated comment
2017-11-28Merge remote-tracking branch 'origin/master' into gs-masterDavid Yip
2017-11-28Allow hiding of reblogs from followed users (#5762)aschmitz
* Allow hiding of reblogs from followed users This adds a new entry to the account menu to allow users to hide future reblogs from a user (and then if they've done that, to show future reblogs instead). This does not remove or add historical reblogs from/to the user's timeline; it only affects new statuses. The API for this operates by sending a "reblogs" key to the follow endpoint. If this is sent when starting a new follow, it will be respected from the beginning of the follow relationship (even if the follow request must be approved by the followee). If this is sent when a follow relationship already exists, it will simply update the existing follow relationship. As with the notification muting, this will now return an object ({reblogs: [true|false]}) or false for each follow relationship when requesting relationship information for an account. This should cause few issues due to an object being truthy in many languages, but some modifications may need to be made in pickier languages. Database changes: adds a show_reblogs column (default true, non-nullable) to the follows and follow_requests tables. Because these are non-nullable, we use the existing MigrationHelpers to perform this change without locking those tables, although the tables are likely to be small anyway. Tests included. See also <https://github.com/glitch-soc/mastodon/pull/212>. * Rubocop fixes * Code review changes * Test fixes This patchset closes #648 and resolves #3271. * Rubocop fix * Revert reblogs defaulting in argument, fix tests It turns out we needed this for the same reason we needed it in muting: if nil gets passed in somehow (most usually by an API client not passing any value), we need to detect and handle it. We could specify a default in the parameter and then also catch nil, but there's no great reason to duplicate the default value.
2017-11-20Finalized theme loading and stuffkibigo!
2017-11-19Merge remote-tracking branch 'tootsuite/master'David Yip
2017-11-18Profile redirect notes (#5746)Eugen Rochko
* Serialize moved accounts into REST and ActivityPub APIs * Parse federated moved accounts from ActivityPub * Add note about moved accounts to public profiles * Add moved account message to web UI * Fix code style issues
2017-11-18Merge pull request #208 from yipdw/keyword-mutebeatrix
Run keyword mutes on hashtags
2017-11-17Merge remote-tracking branch 'origin/master' into merge-upstreamDavid Yip
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-11-16Themed prefetchingkibigo!
2017-11-16Merge remote-tracking branch 'origin/master' into gs-masterDavid Yip
2017-11-17Fix some rubocop style issues (#5730)Eugen Rochko
2017-11-16Improve language filter (#5724)Renato "Lond" Cerqueira
* Scrub text of html before detecting language. * Detect language on statuses coming from activitypub. * Fix rubocop comments. * Remove custom emoji from text before language detection
2017-11-16Merge tootsuite/master at 30237259367a0ef2b20908518b86bbeb358999b5Surinna Curtis
2017-11-15Replace =~ with #matches?. #208.David Yip
=~ made sense when we were passing it through to a regex, but we're no longer doing that: TagMatcher looks at individual tags and returns a value that *looks* like what you get out of #=~ but really isn't that meaningful. Probably a good idea to not subvert convention like this and instead use a name with guessable intent.
2017-11-15Match keyword mute filter on hashtags. #208.David Yip
It is reasonable to expect someone to enter #foo to mute hashtag #foo. However, tags are recorded on statuses without the preceding #. To adjust for this, we build a separate tag matcher and use Tag::HASHTAG_RE to extract a hashtag from the hashtag syntax.
2017-11-15Also run the keyword matcher on a status' tags. #208.David Yip
2017-11-11Actually filter blocked reblogs from feedaschmitz
And even a relevant test. Whoops.
2017-11-07Avoid emojifying on invisible text (#5558)MIYAGI Hikaru
2017-10-27Merge branch 'master' into gs-masterDavid Yip
2017-10-27Allow ActivityPub Note's tag and attachment to be single objects (#5534)puckipedia
2017-10-24Also filter notifications containing muted keywords.David Yip
2017-10-22keyword mutes: also check spoiler (CW) text and reblogged statuses.David Yip
2017-10-21Apply keyword mutes to reblogs.David Yip
2017-10-21Move KeywordMute into Glitch namespace.David Yip
There are two motivations for this: 1. It looks like we're going to add other features that require server-side storage (e.g. user notes). 2. Namespacing glitchsoc modifications is a good idea anyway: even if we do not end up doing (1), if upstream introduces a keyword-mute feature that also uses a "KeywordMute" model, we can avoid some merge conflicts this way and work on the more interesting task of choosing which implementation to use.
2017-10-21Rework KeywordMute interface to use a matcher object; spec out matcher. #164.David Yip
A matcher object that builds a match from KeywordMute data and runs it over text is, in my view, one of the easier ways to write examples for this sort of thing.
2017-10-21Spec out KeywordMute interface. #164.David Yip
2017-10-20hide mentions of muted accounts (in home col) (#190)beatrix
* hide mentions of muted accounts (in home col) also cleans up some old crap * add test
2017-10-18Merge tag 'v2.0.0' into gs-masterDavid Yip
2017-10-17When status is fetched instead of delivered, do not stream it (#5437)Eugen Rochko
2017-10-17Clean up reblog tracking keys, related improvements (#5428)aschmitz
* Clean up reblog-tracking sets from FeedManager Builds on #5419, with a few minor optimizations and cleanup of sets after they are no longer needed. * Update tests, fix multiply-reblogged case Previously, we would have lost the fact that a given status was reblogged if the displayed reblog of it was removed, now we don't. Also added tests to make sure FeedManager#trim cleans up our reblog tracking keys, fixed up FeedCleanupScheduler to use the right loop, and fixed the test for it.
2017-10-16Merge remote-tracking branch 'upstream/master' into upstream-merge-againOndřej Hruška
2017-10-16Keep references to all reblogs of a status on home feed (#5419)Eugen Rochko
* Keep references to all reblogs of a status on home feed When inserting reblog: Add to set of reblogs of this status on the feed, if original status was present in the feed, add it to that set as well. When removing a reblog: Remove it from that set. Take random remaining item from the set. If one exists, re-insert it into feed, otherwise do not re-insert anything. Fix #4210 * When original is removed, toss out reblog references
2017-10-16Merge remote-tracking branch 'upstream/master' into gs-masterDavid Yip
2017-10-16Merge remote-tracking branch 'upstream/master' into gs-masterDavid Yip
2017-10-16Ensure that feed renegeration restores non-zero items (#5409)Eugen Rochko
Fix #5398 Ordering the home timeline query by account_id meant that the first 100 items belonged to a single account. There was also no reason to reverse-iterate over the statuses. Assuming the user accesses the feed halfway-through, it's better to have recent statuses already available at the top. Therefore working from newer->older is ideal. If the algorithm ends up filtering all items out during last-mile filtering, repeat again a page further. The algorithm terminates when either at least one item has been added, or if the database query returns nothing (end of data reached)
2017-10-16Fix un-reblogged status being at wrong position in the home timeline (#5418)unarist
We've changed un-reblogging behavior when we implement Snowflake, to insert un-reblogged status at the position reblogging status existed. However, our API expects home timeline is ordered by status ids, and max_id/since_id filters by zset score. Due to this, un-reblogged status appears as a last item of result set, and timeline expansion may skips many statuses. So this reverts that change...reblogged status inserted at corresponding position to its id.
2017-10-16Add option to reduce motion (#5393)Nolan Lawson
* Add option to reduce motion * Use HOC to wrap all Motion calls * fix case-sensitive issue * Avoid updating too frequently * Get rid of unnecessary change to _simple_status.html.haml
2017-10-16Merge remote-tracking branch 'origin/master' into gs-masterDavid Yip
2017-10-14Use atomUri in Undo activity of Announce (#5376)unarist
This allows deletion of reblogs which delivered before with OStatus URI.