Commit graph

1542 commits

Author SHA1 Message Date
Matt Jankowski 8bac0350d1 Restful refactor of accounts/ routes (#2133)
* Add routing specs for accounts followers and following actions

* Use more restful route naming for public account follow pages

Moves two actions:
- accounts#followers to accounts/follower_accounts#index
- accounts#following to accounts/following_accounts#index

Adds routing spec to ensure prior URLs are preserved.
2017-04-19 13:52:37 +02:00
Kota Ouchi c0b30c56db Update ja.yml (follow for #2118) (#2137)
* Update ja.yml (follow for #2118)

* typo fix
2017-04-19 13:44:07 +02:00
Eugen c6a4ab3b92 Remove unused fonts (#2103) 2017-04-18 23:34:50 +02:00
Eugen e09ab2c0bd Fix #1642, fix #1912 - Dictate content-type file extension (#2078)
* 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-18 23:15:44 +02:00
Matt Jankowski 297c11dba2 Language detection refactor (#2099)
* Extract detect_language to separate class

* Use default locale, not just en

* Add spec to confirm that whatlanguage cant identify empty string

* Allow account locale to override default in language detector

* PostStatusService supplies an account to detect language
2017-04-18 22:20:12 +02:00
happycoloredbanana 0a7588282a Remove API authentication for public statuses (after review) (#1919) 2017-04-18 21:58:57 +02:00
Mingye Wang 3ed219f907 Polish zh-cn js translation (#2090)
* Polish zh-cn js translation

* fixes for problems pointed out by gumblex in #2044
* more effectively differentiate between following/follower

* Fix missing period (zh-cn js)

Maybe squash this commit?

* Fix duplicate word (zh-cn js)
2017-04-18 21:29:31 +02:00
Matt Jankowski 55e1503522 Instances list in admin (#2095)
* 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-18 21:09:07 +02:00
Matt Jankowski 66d8f99a30 Admin reports with accounts (#2092)
* 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-18 19:36:18 +02:00
Tomohiro Suwa f23281e31e Disable toot button when above 500 characters (#2088)
* Disable toot button when above 500 characters

* Consider multibyte characters

* Consider spoiler_text
2017-04-18 19:35:55 +02:00
spf 9783d8b6c0 fix admin input display (#1633) 2017-04-18 17:25:44 +02:00
JP DeVries 7525971561 Moving aria-label to div.column (#1769)
* Use landmark regions on columns

Closes mastodon#1720

* Moving aria-label to div.column
2017-04-18 17:21:25 +02:00
Matt Jankowski 84b5fae8e3 Simplify renders in views (#2084)
* Simplify render in mailer views

* Simplify render in about/more view

* Simplify render in accounts follow views

* Simplify render in recovery code views

* Simplify render in stream entry embed

* Simplify render in stream entries status partial

* Simplify render in authorize follow new view
2017-04-18 17:15:30 +02:00
ik-fib 23ecc681c4 Add "Mastodon" to user agent (#2073)
Remove non-const version string

Freeze option is unnecessary
2017-04-18 16:04:13 +02:00
Keiji, Yoshimi 82bbf57e7a Translate onboarding dialog to japanese (#2062)
* translate onboarding modal to japanese

* fixed translation by feedback
2017-04-18 16:03:27 +02:00
839 e2a1b574ab Avoid dynamic methods due to processing speed (#2080) 2017-04-18 15:57:46 +02:00
Andrey Blinov 880590ad0d Fix header icons in navigation bar (#2081) 2017-04-18 15:57:16 +02:00
Koala Yeung 0a1b024600 Add Occitan (oc) translation (#2077)
* Added oc.yml

* Added `config/locales/oc.yml`.
  Translated in General Occitan (Quent-in).

* Added oc.jsx (Occitan translation)

* Written in General Occitan (lengadocian)
* Added `app/assets/javascripts/components/locales/oc.js`

* Added doorkeeper.oc.yml

* Added `config/locales/doorkeeper.oc.yml` (Quent-in)

* Added simple_form.oc.yml

* Added `config/locales/simple_form.oc.yml` (Quent-in).

* Merge en.yml changes into oc.yml

Added new strings for translations

* Fix typo in oc.yml

* Update javascript locale support (oc)

* Update ruby locale list (oc)

* Fix oc.yml

* Remove obsoleted translations
* Moved old translation of `reports` to `admin.reports`
2017-04-18 15:21:16 +02:00
Ratmir Karabut 50ed72767d Update Russian translation (#1967)
* Add Russian translation (ru)

* Fix a missing comma

* Fix the wording for better consistency

* Update Russian translation

* Arrange Russian setting alphabetically

* Fix syntax error

* Update Russian translation

* Fix formatting error

* Update Russian translation

* Update Russian translation

* Update ru.jsx

* Fix syntax error

* Remove two_factor_auth.warning (appears obsolete)

* Add missing strings in ru.yml

A lot of new strings translated, especially for the newly added admin section

* Fix translation consistency
2017-04-18 15:20:37 +02:00
geta6 75910abd8f Add hasMore field to account timeline (#2066) 2017-04-18 13:10:49 +02:00
Eugen Rochko 42d54dc9ea Adjust visuals of non-autoplaying GIFV 2017-04-18 01:57:50 +02:00
Eugen Rochko 57d784f1e4 Merge branch 'pause-gif' of git://github.com/patf/mastodon into patf-pause-gif 2017-04-18 01:25:50 +02:00
Matt Jankowski 16d50f60d1 Remove unused methods (#1730)
* 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-18 01:21:55 +02:00
Eugen Rochko f5cd0b4956 Rename cache key to exclude_account_ids_for:id, adjust formatting 2017-04-18 01:14:02 +02:00
Eugen Rochko 2fd0473aa1 Merge branch 'fix/cache_blocking' of git://github.com/pixiv/mastodon into pixiv-fix/cache_blocking 2017-04-18 01:09:57 +02:00
Damien Erambert 9cefb5731d Add FR locales to the onboarding modal (#1976)
* Add FR locale for the onboarding modal component

* Slightly increase the max-width and max-height of the onboarding modal

This is done so it doesn't break with locales whose strings would be
too long

* Update FR locales for onboarding upon PR comments
2017-04-18 01:02:02 +02:00
Mingye Wang 00a85f31ca Add simplified Chinese js translation (#2044)
This single-file commit, heavily based on the zh-hk version as of
ec9999c, fixes the missing js locale. Intentional, significant
departures from current zh-cn yml localizations have been marked with
rationales given.
2017-04-18 01:01:32 +02:00
Matt Jankowski 389f8f8249 Instance helper to replace site title helper (#2038)
* Move site title helper to instance helper (name change only)

* Remove newline in <title> tag

* Add site_hostname helper method to wrap up local_domain value

* Use site_hostname helper in places that need local_domain value
2017-04-18 00:16:32 +02:00
jeroenpraat e1e15adf1d Updated, improved and fixed Dutch language strings (#2030)
* Fixed some words

* Improved and more consistent

* Fixes and a bit less 'je'

* Improved and more consistent

* Another round of improvements and consistency

* More improvements and less 'je'

* Update

* Updated with admin strings

* More improvements and additions - not complete yet, but most is there

* This is what we call in Dutch 'the English disease' :-)

* fix comma

* admin.reportsi

* not needed

* hopefully now fixed
2017-04-18 00:16:03 +02:00
Matt Jankowski f96f8d0176 Use .presence instead of ternary on site description for og: content (#2033) 2017-04-17 23:19:45 +02:00
Sam Hewitt a05e7582e4 optimized logo (#2020)
- adjusted elements to fit the pixel grid for better scaling
- optimized the PNG asset and the SVG asset
2017-04-17 21:49:51 +02:00
Andrey Blinov 7d1e653ec1 Fix import pt_br locale in mastodon.jsx (#2011) 2017-04-17 21:01:42 +02:00
Zac Anger 7b397b1452 Return early from submit if no text. (#1962) 2017-04-17 20:30:38 +02:00
Matt Jankowski cc1361c149 Media controller specs (#2022)
* Add spec for media controller

* Add MediaAttachment.attached scope

* Simplify methods in media controller
2017-04-17 20:02:00 +02:00
Eugen 15ec4ae07b Fix #1972, fix #1870 - Fix special characters in XML, add tests (#1988)
Also improve efficiency of the mastodon:maintenance:add_static_avatars task
2017-04-17 19:58:54 +02:00
Eugen e43071a2f9 Fix #1897 - Return reblogged: false on unreblog (was wrongly named variable) (#1989) 2017-04-17 19:58:38 +02:00
Matt Jankowski 21a767dcfa Improve handling of HTTP_ACCEPT for webfinger (#2008)
This change includes:

- Improve the spec coverage for incoming request to the webfinger action
- For requests without an accept header (ie, what a browser might look like),
  return a JSON response.
- For requests with an explicit format of xml or json, return that format.
- For requests using an accept header, return that format.

Also adds failing spec showing webfinger does not return xml, which covers the
issue described in: https://github.com/tootsuite/mastodon/issues/1983
2017-04-17 19:58:03 +02:00
Tomohiro Suwa 3399dd7a66 Fix nil query_username (#2013) 2017-04-17 19:57:02 +02:00
alpaca-tc 630de52fdd Required foreign keys (#2003)
* Add `required: true` option to foreign column

* Fixes NoMethodError

```
> Favourite.new.valid?
NoMethodError: undefined method `reblog?' for nil:NilClass
```
2017-04-17 15:54:33 +02:00
Christophe Gesché 4082e1ac7f Update fr.jsx "clear" (Nettoyer peut-être ambigu) (#1987)
Un utiliser mal expérimenté pourrait comprendre "retirer les erreurs".
Ici il s'agit d'une suppression pure et simple, pas une épuration/nettoyage.

clear would be translated "remove" instead of "cleaning" Cleaning can be unterstood "keep but clean"
2017-04-17 15:15:14 +02:00
tom 6b8e95ea00 Make contents of boost confirmation dialog scroll (#1710)
This is necessary for boosting long posts on small screens - see this post for video: https://slime.global/@masklayer/102308
2017-04-17 12:27:19 +02:00
Patrick Figel ffb99325ca Add gif auto-play/pause preference
This introduces a new per-user preference called
"Auto-play animated GIFs", which is enabled by default. When a
user disables this setting, gifs in toots become click-to-play.

Previews of animated gifs were changed to display the video play
button so that users can distinguish them from regular images.

This setting also affects account avatars in the detailed account
view, which was changed to use the same hover-to-play mechanism
that is used for animated avatars in timelines.

Fixes #1652
2017-04-17 12:14:03 +02:00
Dale Price f3b86c1bda Add mask-icon.svg (#1572) (#1585)
* Add mask-icon (#1572)

* use updated svg logo for mask-icon
2017-04-17 10:39:54 +02:00
Hugo Gameiro 6685106daa Add Brazilian Portuguese and fix European Portuguese (#1966)
* update portuguese translation

added the missing fields and improved the translation

* pt translations fix

* improve last translation commit

* fix damn quotes

* add pt_br to index.jsx

* add pt-BR to import index.jsx

* add pt-BR to mastodon.jsx

* add pt-BR to settings_helper.rb

* add pt-BR to application.rb

* order alphabetically pt.jsx

* create pt-BR.jsx

* Create devise.pt-BR.yml

* language improvements to devise.pt.yml

* created doorkeeper.pt-BR.yml

* fixes to doorkeeper.pt.yml

* create pt-BR.yml

* improvements to pt.yml

* Create simple_form.pt-BR.yml

* Improvements to simple_form.pt.yml

* improvements to pt.yml
2017-04-17 10:38:27 +02:00
May Kittens Devour Your Soul 8ad6722eea Create hr.jsx (#1945)
* Create hr.jsx

Start of Croatian translation

* Update settings_helper.rb

* Update application.rb

* Update application.rb

* Update index.jsx
2017-04-17 10:38:13 +02:00
Yuki Nakagawa 548ff54714 Optimize user setting page for mobile browser (#1924)
* Remove overflow because it blocks scrolling on mobile safari.

* Add “-webkit-overflow-scrolling: touch;” to enable smooth scroll on mobile safari and other webkit browsers.

* Use radio buttons in user setting page.

Because select tags with long text are not fit in the width of mobile devices.

* Add flex property to fit labels to devise width.

* Change font size of select.

It causes auto zooming on mobile safari.
2017-04-17 10:37:00 +02:00
Yamagishi Kazutoshi 6afe70db95 Add human locales for zh-tw (#1984) 2017-04-17 10:35:06 +02:00
usagi-f b87a08e160 Add function color remaining text (#1980) 2017-04-17 10:34:33 +02:00
anon f8ae12909c Fix tiny typo, and added link to terms and conditions in confirmation email for Japanese. (#1975) (#1975) 2017-04-17 10:32:09 +02:00
saturday06 d87ee1167e Assign user locale on signup (#1982) 2017-04-17 10:29:08 +02:00
Keiji, Yoshimi 7a5086729a reduce unneed query when post without attachements. (#1907)
* reduce unneed query when post without attachements.

This commit reduce following query:

```
 MediaAttachment Load (0.9ms)  SELECT "media_attachments".* FROM "media_attachments" WHERE "media_attachments"."status
_id" IS NULL AND 1=0 ORDER BY id asc
```

* fixed for more simple changes.
2017-04-17 04:23:13 +02:00
Eugen 1955a3f444 Do not display "reset password" in admin UI for remote accounts (#1960) 2017-04-16 23:15:58 +02:00
Eugen 8ebed7fc68 Fix #1957 - WhatLanguage can return null. Fallback to 'en' (#1959) 2017-04-16 23:12:19 +02:00
Eugen f902a335f9 Fix #1870 - Strip control characters out of strings in AtomSerializer (#1876)
* Fix #1870 - Strip control characters out of strings in AtomSerializer

* Adjust according to comment by @alpaca-tc
2017-04-16 20:32:27 +02:00
Eugen e4af4898de Add language detection (#1772)
* Add language detection via WhatLanguage and (de)serialization of it through Atom

* Fix default language in ProcessFeedService

* Re-add newline before 'react-rails' Gem to fix groupings

Fixes Code Climate issue
2017-04-16 20:32:17 +02:00
Eugen 6d70a80263 Onboarding modal (#1883)
* Basic onboarding modal that's shown to users once

* Lay out pages 2 through 5, add images, style modals (#1509)

* Lay out pages 2 through 5

Added images and laid out pages 2 through 5 in the jsx file. SCSS will
come, still working on just seeing if this works at all.

* Fix jsx errors, add images to modal pages, style modal pages

* Add animations to onboarding pager changes, improve wording and styling

* Finishing touches on the onboarding

* Add missing propTypes

* Update wording
2017-04-16 20:32:00 +02:00
Matt Jankowski f87b51fda8 I18n health warnings (#1949)
* Rename admin.domain_block to admin.domain_blocks in prep for i18n improvement

* Use implicit controller/action path for i18n in admin/domain_blocks

* Add DomainBlock#accounts has_many

* Avoid i18n health warning for `en` locale by using symbol scope with :count

* Remove unused i18n key: plaintext_secret_html

* Remove unused i18n key two_factor_auth.warning

* Remove final will_paginate i18n keys

* Remove unused key two_factor_auth.recovery_codes

* Remove unused key: admin.reports.comment.none

* Remove unused reports. i18n namespace (moved to admin.reports)

* Ignore keys from locales which override activemodel and activerecord errors

* Revert "Remove unused key: admin.reports.comment.none"

This reverts commit 350ef2685fadc069e619bb6d1066190de195d942.

* Update i18n key reference to match moved location

* Add missing `en` keys to i18n

* Tell i18n-tasks to ignore missing attributes that dont need overwriting

* Add i18n-tasks unused to travis
2017-04-16 19:37:01 +02:00
alpaca-tc 19f63ff801 Check @recipient.user at the first (#1939) 2017-04-16 18:04:05 +02:00
Eugen babbb2135e Fix #1813 - Alleviate extra requests when processing mentions (#1938)
The <link rel="mentioned" /> tag refers to accounts by href. So we were
matching the DB by the url attribute, and falling back to HTTP look-up.
However, GS and Mastodon use profile URLs as URIs, too, and the match
for that was missing. This could potentially alleviate some extra network
requests
2017-04-16 18:01:48 +02:00
Effy Elden acd33101c5 Merge branch 'master' into fix/cache_blocking 2017-04-17 01:41:33 +10:00
Matt Jankowski e0b5a94a4b Clean up check that account needs a webfinger update (#1932) 2017-04-16 16:38:29 +02:00
Matt Jankowski 26ec042f38 Remove trailing whitespace in terms.no.html (#1933) 2017-04-16 16:38:13 +02:00
Matt Jankowski 73b0af5c93 Simplify the og:image and og:description code in stream_entries/show (#1934) 2017-04-16 16:38:02 +02:00
Matt Jankowski 7efde22c3a Use local vars in partials (#1935)
* Use local vars in accounts/header partial

* Use local variable in 2fa recovery codes partial
2017-04-16 16:37:49 +02:00
abcang 90760eae4c fix regex filter (#1845)
* fix regex filter

* fixed br to linebreak and, stlip tags.

* change to send raw content

* changed to unescape in reducer
2017-04-16 16:33:38 +02:00
tackeyy fc34e0e191 Remove .keep in models (#1892) 2017-04-16 16:28:52 +02:00
alpaca-tc de72db99fa Add presence validation to Import (#1928)
```
*An* `ActiveRecord::StatementInvalid` *occurred while* `POST </settings/import>` *was processed by* `imports#create`
Exception
----------------
PG::NotNullViolation: ERROR:  null value in column "type" violates not-null constraint
```
2017-04-16 16:28:26 +02:00
mshrtkch 2c329f2b69 Fix translation related to "mute" (#1926) 2017-04-16 16:07:58 +02:00
alpaca-tc 8f8319852c Fixed NoMethodError in UnfollowService (#1918) 2017-04-16 14:55:43 +02:00
Matt Jankowski 75f416a492 Fix yaml issue in ja locale (#1916)
* Fix yaml parse issue in ja.yml locale

* Fix issue in locales/ja.jsx
2017-04-16 14:55:04 +02:00
Naouak 24baaa17e8 Syntax error in japanese localisation (#1920)
assets:precompile was failling because of this missing comma.
2017-04-16 14:54:09 +02:00
Erwan Leboucher c99fc08a0d Add missing french translation. (#1906)
* Add missing french translation.

Causing this error:
[React Intl] Missing message: "navigation_bar.mutes" for locale: "fr",

* Update fr.jsx
2017-04-16 14:15:03 +02:00
Yuki Nakagawa a8f45c0838 Enlarge font size to avoid autozooming of iPhone. (#1911) 2017-04-16 14:05:16 +02:00
新都心(Neet Shin) f2997c9715 Update Japanese Translate (#1903)
* [Update ja.jsx] Add Muted, Video_error and sorted

* [Update ja] Added Recovery code's translation

* [Update ja] Added Two-fact/Recovery's translation

* Update ja.jsx
2017-04-16 13:42:16 +02:00
Eugen 5d710b1139 Make file attachment on MediaAttachment optional (#1865)
Create MediaAttachment but without actual file download when domain is blocked with reject_media set to true
Clean up old media files when creating a new domain block with reject_media set to true
Return remote_url in media attachments API if local file is not present
Undo domain block action in admin UI
Ability to enable reject_media from admin UI
2017-04-16 12:51:30 +02:00
Keiji Yoshimi fd81916e86 cache blockings for reducing queries. 2017-04-16 12:20:38 +09:00
Eugen 8a58942c80 Fix up recovery codes design a little (#1866) 2017-04-16 04:32:57 +02:00
Matt Jankowski 3834e1e69b View spec fix (#1888)
* Add option to disable verify partial doubles

* Add show_landing_strip? helper method

* Use show_landing_strip? helper in accounts and stream entries views

* Fix naming in view specs
2017-04-16 03:40:33 +02:00
Eugen 95bcbaa434 Fix #1852 - Ensure feeds have valid <title> tags (#1875) 2017-04-16 02:40:36 +02:00
Isabelle Knott 911338bdcc Show error message if video cannot be loaded (#1879) 2017-04-16 01:12:47 +02:00
Eugen e332552816 Indicate when a toot is part of a chain with a "reply all" icon (#1869) 2017-04-15 22:48:41 +02:00
Eugen 0d83569899 Fix cross-origin integrity (#1871)
See <https://glitch.social/users/bea/updates/434>
2017-04-15 22:48:30 +02:00
Eugen 515434ed87 English localization for mention notification was missing (#1867) 2017-04-15 22:48:17 +02:00
Naouak 3d3e32befb Check for a custom css file to help customization of instances (#1368)
* User can create a custom.scss to customize their instance without modifying gitted files.

* Add documentation for customization.

* Forgot the helper file

* Fix Style to pass codeclimate

* Requests from maintainer.
2017-04-15 22:47:48 +02:00
alpaca-tc 00392d3c63 ActiveRecord::NotFound is not defined (#1864) 2017-04-15 21:17:59 +02:00
Marcin Cieślak 1c8477eab2 Give SINGLE_USER a chance to register (#1820)
An attempt to open a brand new Mastodon instance configured
as SINGLE_USER_MODE=true will cause an exception.

Enable temporary registration if we have no users in the database

Fixes #1817
2017-04-15 16:46:27 +02:00
Matt Jankowski 6670e6d33f Add password reset for users from admin accounts area (#1841) 2017-04-15 16:44:59 +02:00
Henry Smith 9d2f55ecc3 Remove isRequired from optional prop (#1843) 2017-04-15 16:44:28 +02:00
Henry Smith b7ec2fd492 Fix function call name typo (#1851) 2017-04-15 16:41:22 +02:00
Matt Jankowski 3b8908c114 About page contact email (#1839)
* Correct site_contact_email typo

* Separate about more page into partials, add specs
2017-04-15 13:33:25 +02:00
Alex Dunn 0f889523e4 views/about: use Setting.site_title instead of hardcoding (#1508) 2017-04-15 13:28:09 +02:00
Zac Anger f4045ba3d9 Add eslint-plugin-jsx-a11y (#1651)
* Add eslint-plugin-jsx-a11y.

* Fix npm script.

* Adjust npm scripts so test also runs lint.

* Fix existing lint errors.

* Don't break on a11y issues.

* Add role and tabIndex.

* Add vim and Mac files to .gitignore and .dockerignore.

* Handle htmlFor (partially), a that's actually a button.

* Fix missing tabIndex.

* Add cursor:pointer to load-more

* Revert change to load_more.

* Fixes based on review.

* Update yarn.lock.

* Don't try to install fsevents on Linux (hides warning noise).
2017-04-15 13:27:27 +02:00
Patrick Figel df4ff9a8e1 Add recovery code support for two-factor auth (#1773)
* Add recovery code support for two-factor auth

When users enable two-factor auth, the app now generates ten
single-use recovery codes. Users are encouraged to print the codes
and store them in a safe place.

The two-factor prompt during login now accepts both OTP codes and
recovery codes.

The two-factor settings UI allows users to regenerated lost
recovery codes. Users who have set up two-factor auth prior to
this feature being added can use it to generate recovery codes
for the first time.

Fixes #563 and fixes #987

* Set OTP_SECRET in test enviroment

* add missing .html to view file names
2017-04-15 13:26:03 +02:00
Amakasu Ryoma f0f6a3279a Update ja.jsx (#1822)
* Add getting_started.apps
* Add search_results.total
* Fix notifications.settings
2017-04-15 13:24:33 +02:00
Alda Marteau-Hardi bddd36f260 Add a classname to the loading bar (#1826) 2017-04-15 13:17:54 +02:00
Keiji, Yoshimi b857551617 fixed privacy mistake of japanese translation of privacy.change (#1832) 2017-04-15 13:17:20 +02:00
alpaca-tc f9d7ec8971 ActiveRecord::Relation does not respond to #id (#1834) 2017-04-15 13:16:24 +02:00
Matt Jankowski 40fd1de488 Account search service refactor (#1791)
* Begin coverage for account search service

* Coverage for hashtag query

* Coverage for calling local vs remote find based on domain presence

* Spec to check that exact matches are not duped

* Coverage of resolve option

* Coverage for account being provided

* Start to refactor account search service

* Isolate query username and domain methods

* Isolate exact_match method

* Extract methods for local and remote results

* Simplify local vs remote and account isoliation

* Extract methods for local and remote results

* Simplify de-dupe of exact match

* Simplify logic to check for non exact remotes

* Cache some methods

* Remove nil from exact_match from results array

* Return exact matches first

* Use find_remote even with no domain

Account.find_local is just an alias for Account.find_remote(user, nil) - so we
can not bother with the conditional here, and call find_remote directly.
2017-04-15 03:17:07 +02:00
ThibG 31f0bcf804 Refresh webfinger (#1323)
* Refresh local info for remote accounts when webfinger returns new values

It only refreshes account info if one of the URLs or the public-key changes,
in which cases it refreshes the full info, re-downloading the feeds from that
user.

Some special handling should probably be done when the public key changes,
but I have been unable to find any use for it in Mastodon yet.

* Re-fetch remote users we aren't subscribed to.

This might induce performance issues, we might want to only do that for users
we explicitly attempted to subscribe but failed to.

* Refactor changes

* Do not refresh existing remote account details more than once a day

* Avoid re-fetching webfinger info in tests unless otherwise specified
2017-04-15 03:16:05 +02:00
Matt Jankowski 09540192c9 Rename admin/accounts_helper to admin/filter_helper (#1816)
- Add some spec coverage for both methods
- Add explicit constant call-outs for where the params are from
2017-04-15 03:09:55 +02:00