about summary refs log tree commit diff
path: root/app/models/account.rb
AgeCommit message (Collapse)Author
2017-05-05Move account header and avatar methods to a concern (#2825)Matt Jankowski
2017-05-05More robust PuSH subscription refreshes (#2799)Eugen Rochko
* Fix #2473 - Use sidekiq scheduler to refresh PuSH subscriptions instead of cron Fix an issue where / in domain would raise exception in TagManager#normalize_domain PuSH subscriptions refresh done in a round-robin way to avoid hammering a single server's hub in sequence. Correct handling of failures/retries through Sidekiq (see also #2613). Optimize Account#with_followers scope. Also, since subscriptions are now delegated to Sidekiq jobs, an uncaught exception will not stop the entire refreshing operation halfway through Fix #2702 - Correct user agent header on outgoing http requests * Add test for SubscribeService * Extract #expiring_accounts into method * Make mastodon:push:refresh no-op * Queues are now defined in sidekiq.yml * Queues are now in sidekiq.yml
2017-05-03Correct Account model for rubocop (#2587)Tomohiro Suwa
* Correct Account model for rubocop * Undo these changes
2017-05-02annotate models (#2697)yhirano
* add annotate to Gemfile * rails g annotate:install * configure annotate_models * add schema info to models * fix rubocop to add frozen_string_literal
2017-05-01Filter on allowed user language preferences (#2361)Matt Jankowski
* Naive approached to timeline filtering * Convert allowed_languages into a db column * Allow users to choose languages to see statuses in * Style list items as two columns * Add a hint to explain language filtering preference
2017-05-01Fix Rubocop offences (#2630)yhirano
* disable Bundler/OrderedGems * fix rubocop Lint/UselessAssignment * fix rubocop Style/BlockDelimiters * fix rubocop Style/AlignHash * fix rubocop Style/AlignParameters, Style/EachWithObject * fix rubocop Style/SpaceInLambdaLiteral
2017-05-01Detect extension for preview card (#2679)Yamagishi Kazutoshi
* Detect extension for preview card * next
2017-04-30Revert "Use PostgreSQL inheritance for blocks and mutes (#2520)" (#2634)Akihiko Odaki
This reverts commit 5135d609b774b177d3d3894b176a822d86b73d3c.
2017-04-30Use PostgreSQL inheritance for blocks and mutes (#2520)Akihiko Odaki
2017-04-28More controller specs (#2561)Matt Jankowski
* Add render_views in more places * Delegate methods from account to user with allow nil true, so that admin accounts show view renders when missing a user * Use actual account instances in authorize follow controller spec
2017-04-28More status specs (#2564)Matt Jankowski
* Add rough outline of coverage needed for public timeline * Specs for visibility, replies, boosts * Specs for silenced account * Specs for local_only option * Specs for blocks and mutes * Add tentative spec around including other silenced account statuses * Add with_public_visibility scope * Add simple coverage for tag_timeline * Tag timeline includes replies * Replace tag.statuses with a tagged_with scope in tag timeline method * Use with_public_visibility in tag timeline * Extract common scope between public and tag timelines to method * Extract local domain check to local_only scope * Extract local_only check to starting scope method * Move list of excluded from timeline account ids to account model * Simplify excluded accounts list on account model * Only join accounts when needed * Rename method for account specific filtering * Extract method for account exclusions * Fix bug where silenced accounts were not including statuses from other silenced accounts * DRY up filter application from account or no account * timeline_scope can be private * Add spec showing that account can find its excluded accounts ids * Add spec which fails if local_only does not have a left outer join * rubocop
2017-04-25Punycode URI normalization (#2370)Eugen
* Fix #2119 - Whenever about to send a HTTP request, normalize the URI * Add test for IDN request in FetchLinkCardService * Perform IDN normalization on domains before they are stored in the DB
2017-04-24Followers-only post federation (#2111)Eugen
* Make private toots get PuSHed to subscription URLs that belong to domains where you have approved followers * Authorized followers controller, stub for bulk action * Soft block in the background * Add simple test for new controller * Rename Settings::FollowersController to Settings::FollowerDomainsController, paginate results, rename "private" post setting to "followers-only", fix pagination style, improve post privacy preferences style, improve warning style * Extract compose form warnings into own container, show warning when posting to followers-only with unlocked account
2017-04-19Extract error messages to locale file (#2162)alpaca-tc
2017-04-18Fix #1642, fix #1912 - Dictate content-type file extension (#2078)Eugen
* Fix #1642, fix #1912 - Previous change (#1718) did not modify how original file was saved on upload * Fix for when file is missing
2017-04-18Instances list in admin (#2095)Matt Jankowski
* Add admin/instances index action * Add link to instances admin page * View lists instances * Instances, grouped by domain, ordered by count * Use Account.remote scope * Extract method: Account.by_domain_accounts
2017-04-18Admin reports with accounts (#2092)Matt Jankowski
* Add a ReportFilter class * Add reports and targeted_reports relationships to Account * Use ReportFilter from admin/reports controller * Link to admin/reports filtered views from admin account show view * Add indexes to reports.account_id and reports.target_account_id
2017-04-18Remove unused methods (#1730)Matt Jankowski
* Remove unused method #set_counters_maps from api controller * Remove unused method #set_account_counters_maps from api controller * Remove unused method Account#followers_domains * Remove unused User.prolific scope * Add mastodon:users:admins task to list all admin emails * Use interpolated query style in Account.triadic_closures * Coverage for Account.triadic_closures
2017-04-11When avatar/header are GIF, generate static versions (#1428)Eugen
* When avatar/header are GIF, generate static versions. Account API returns "avatar"/"avatar_static", "header"/"header_static" Static version is the same as original for other cases Web UI de-animates avatars in toots, lists of users Fix #441, fix #596, prerequisite for #1064 * Fix JS test * Add rake task to generate static avatars/headers from GIF ones, add test
2017-04-10Clean up generation of account webfinger string (#1477)Matt Jankowski
* Consolidate webfinger string creation under Account#to_webfinger_s * Introduce Account#local_username_and_domain for consolidation
2017-04-09Search cleanup (#1333)Matt Jankowski
* Clean up SQL output in Tag and Account search methods * Add basic coverage for Tag.search_for * Add coverage for Account.search_for * Add coverage for Account.advanced_search_for
2017-04-07DRY up reblog vs original status checkJoël Quenneville
Checking reblog vs original status was happening in multiple places across the app. For views, this logic was encapsulated in a helper method named `proper_status` but in the other layers of the app, the logic was duplicated. Because the logic is used at all layers of the app, we extracted it into a `Status#proper` method on the model and changed all uses of the logic to use this method. There is now a single source of truth for this condition. We added test coverage to untested methods that got refactored.
2017-03-22Fix full-text search query quotation, improve tag search performance with an ↵Eugen Rochko
index, add ability to open status by URL from search (fix #53)
2017-03-22More efficient single account retrieval (0.9ms vs 50ms before)Eugen Rochko
2017-03-18Federate header images, fix open-uri http->https redirection errorEugen Rochko
2017-03-17Make account search blazing fast and rank followers/followees higher in the ↵Eugen Rochko
results
2017-03-16Add method for retrieving triadic closuresEugen Rochko
2017-03-05Fix wrongful matching of last period in extended usernamesEugen Rochko
Fix anchor tags in some wikipedia URLs being matches as a hashtag
2017-03-01Mute button progress so far. WIP, doesn't entirely work correctly.Kit Redgrave
2017-02-27Fix #104 - Style OAuth authorized applications pageEugen Rochko
Add ability to search accounts by display name
2017-02-22Skip remote media URLs that don't have a hostnameEugen Rochko
2017-02-11Make PuSH only distribute to subscriptions that match follower domainsEugen Rochko
Allow PuSH to distribute private toots with that condition
2017-01-19Fix statsd null backend not being initialized properlyEugen Rochko
2017-01-19Try to avoid any potential loopsEugen
2017-01-16Improve how the list entry Account component looks when target is ↵Eugen Rochko
blocked/follow is requested
2017-01-13Add extended about page stubEugen Rochko
2017-01-09Persist UI settings, add missing localizations for GermanEugen Rochko
2017-01-08Fix Paperclip timeout setting. Fix bug introduced in #437Eugen Rochko
2017-01-08Merge pull request #437 from krainboltgreene/patch-1Eugen
Simplifying followers mappings
2017-01-07Simplifying followers mappingsKurtis Rainbolt-Greene
Deduplicating some logic and switching to pluck, to avoid pulling the entire model in memory.
2017-01-07Less complicated determinationKurtis Rainbolt-Greene
2017-01-07Using "rails style" order argumentsKurtis Rainbolt-Greene
2016-12-22Hide follow/unfollow button from public page if follow already requestedEugen Rochko
2016-12-22Follow call on locked account creates follow request insteadEugen Rochko
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-06Add suspend account functionality to admin UIEugen Rochko
2016-12-04Do not autoplay videos, display play button instead. Use expiring links when ↵Eugen Rochko
using S3. Do not keep originals for avatars/headers, resize avatars down to 120x120 instead of 300x300. Set cache headers on S3 stuff, also make it private (aka only accessible via expiring links to prevent hotlinking)
2016-12-02Fix #329 - avatar errors no longer prevent remote accounts from being savedEugen Rochko
(without avatar). Also improved search position of exact matches
2016-11-29Upgrade Paperclip to 5, AWS-SDK to 2, do not generate medium/small versions ↵Eugen Rochko
of avatars
2016-11-28Adding embedded PuSH serverEugen Rochko
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