Commit Graph

473 Commits (6fbb3841a6dd4ec3d84b098437e35f41d41e8407)

Author SHA1 Message Date
Akihiko Odaki (@fn_aki@pawoo.net) ce7c0def88 Remove redundant code in AtomSerializer and spec (#3528)
* Remove redundant status.reply? in AtomSerializer#object

* Cover AtomSerializer more
8 years ago
Yamagishi Kazutoshi e878ddb7c0 Fix spec for #2388 (#3526) 8 years ago
Akihiko Odaki (@fn_aki@pawoo.net) 10768aa204 Spec response for forgery (#3248)
Remove protect_from_forgery in ApiController, which is disabled by the
following skip_before_action, as well.
8 years ago
Yamagishi Kazutoshi 39ea5c0e2e Improve tests for JavaScript (#3496)
- Upgrade dependencies
    - chai (3.5.0 -> 4.0.1)
    - chai-enzyme (0.6.1 -> 0.7.1)
    - sinon (2.2.0 -> 2.3.2)
- Change extensions from .jsx to .js
- Don't assign `React` to `global`
- Check code format using ESLint
8 years ago
Yamagishi Kazutoshi 509b0cfafc Add scenarios for log in (#3497) 8 years ago
Matt Jankowski d010e270e6 Remove usernames and hashtags from language detection (#3503)
* Add failing specs for hashtag and username extraction in language detector

* Remove usernames and hashtags from text before language detection

* Handle multiple instances of special case, and reduce whitespace
8 years ago
Matt Jankowski d1e08bd38c Handle nil and blank cases in Account finders (#3500) 8 years ago
Matt Jankowski 5c63523972 Spec coverage and refactor for the api/v1/accounts controllers (#3451) 8 years ago
Matt Jankowski de4681b2be Move admin/pubsubhubbub controller to admin/subscriptions (#3442) 8 years ago
Matt Jankowski 5236a62861 Improve spec coverage and clean up api/v1/blocks controller (#3464) 8 years ago
Matt Jankowski 0f155829b7 Improve spec coverage and clean up api/v1/follow_requests controller (#3465) 8 years ago
Matt Jankowski 84dda45df9 Improve spec coverage and clean up api/v1/domain_blocks controller (#3466) 8 years ago
Matt Jankowski 75cad1d9d6 Improve spec coverage and clean up api/v1/favourites controller (#3472) 8 years ago
Matt Jankowski 2cc3111a77 Expand spec coverage and refactor the `Account.find_` methods (#3485)
* Move specs for account finder methods to concern spec

* Move account finder methods to concern

* Improve spec wording

* Use more explicit comparison to ensure correct return value

* Add coverage for .find_local! and .find_remote!

* Add some methods to the finder

* Use arel on matching_username method

* Avoid ternary in matching domain method

* Simplify finder methods

* Use an AccountFinder class to simplify lookup
8 years ago
Matt Jankowski bf811e4d4a Improve spec coverage and clean up api/v1/mutes controller (#3481) 8 years ago
Matt Jankowski d6774d2ca3 Refactor and spec coverage for api/v1/timelines actions (#3482) 8 years ago
Yamagishi Kazutoshi 1a4860a57a Hold value of I18n.locale with ApplicationHelperSpec (#3474) 8 years ago
Yamagishi Kazutoshi 41fa53253c Keep ENV['LOCAL_HTTPS'] with ApplicationControllerSpec (fix random fail) (#3479)
* Keep ENV['LOCAL_HTTPS'] with ApplicationControllerSpec (fix random fail)

* use climate_control
8 years ago
Matt Jankowski 8235623362 Improve spec coverage and clean up api/v1/media controller (#3467) 8 years ago
Matt Jankowski 83435c49ea Clean up api/subscriptions controller (#3448) 8 years ago
Jack Jennings 33f669a5f8 Add status destroy authorization to policy (#3453)
* Add status destroy authorization to policy

* Create explicit unreblog status authorization
8 years ago
Matt Jankowski 3576fa0d59 Improve api oembed controller (#3450)
* Add StreamEntryFinder class to parse URLs

* Use StreamEntryFinder and clean up api/oembed controller
8 years ago
Matt Jankowski 1dcfb90202 Clean up api/salmon controller (#3449) 8 years ago
Jack Jennings 22cf18e16f Fix incorrect visibility setter in StatusPolicySpec (#3456) 8 years ago
Matt Jankowski 0ebe7d6d23 Remove exports/base controller in favor of shared concern (#3444) 8 years ago
Akihiko Odaki 7db98aa70e Refactor User and spec (#3431)
* Protect send_devise_notification of User

* Improve spec for User
8 years ago
Jack Jennings e031fd60ad Move status reblog authorization into policy (#3425) 8 years ago
Akihiko Odaki 76fa9d2488 Use around hook to restore context in InstancePresenter spec (#3430) 8 years ago
Akihiko Odaki dfc43a6d3d Use around hook to restore context in InstanceHelper spec (#3429) 8 years ago
Akihiko Odaki 67bc58dd60 Use around hook to restore context in Admin::SettingsController spec (#3428) 8 years ago
Akihiko Odaki 2d39560dc1 Use around hook to restore context in ApplicationHelper spec (#3432) 8 years ago
Yamagishi Kazutoshi e0ada97770 Update dependencies of Node.js (#3067)
* Update autoprefixer to version 7.1.0

* Update axios to version 0.16.1

* Update babel-cli to version 6.24.1

* Update babel-eslint to version 7.2.3

* Update babel-preset-react to version 6.24.1

* Update coffee-script to version 1.12.6

* Update css-loader to version 0.28.1

* Update express to version 4.15.2

* Update js-yaml to version 3.8.4

* Update mocha to version 3.4.1

* Update jsdom to version 10.1.0

* Update npmlog to version 4.1.0

* Update postcss-smart-import to version 0.7.0

* Update postcss-loader to version 2.0.5

* Update pg to version 6.1.5

* Update prop-types to version 15.5.10

* Update rails-ujs to version 5.1.1

* Update redis to version 2.7.1

* Update sass-loader to version 6.0.5

* Update stringz to version 0.2.0

* Update webpack to version 2.5.1

* Update style-loader to version 0.17.0

* Update sinon to version 2.2.0

* Update react-motion to version 0.5.0

* Update react-notification to version 6.7.0

* Update react-redux-loading-bar to version 2.9.0

* Update react-intl to version 2.3.0

* Update redux-immutable to version 4.0.0

* Update reselect to version 3.0.1

* Update react-toggle to version 3.0.1

* Update react-simple-dropdown to version 3.0.0

* Update react-router to version 3.0.5

* Update react-router-scroll to version 0.4.2

* Update react-toggle to version 4.0.1

* yarn upgrade
8 years ago
Jack Jennings 3a2003ba86 Extract authorization policy for viewing statuses (#3150) 8 years ago
Akihiko Odaki 922fb74197 Remove methods from ObfuscateFilename and spec (#3347)
* Remove methods from ObfuscateFilename

* Spec ObfuscateFilename
8 years ago
Akihiko Odaki 7bf2d6cb06 Spec Auth::ConfirmationsController (#3348) 8 years ago
Akihiko Odaki 11e5c965c3 Spec AccountControllerConcern (#3349) 8 years ago
Akihiko Odaki 34157d118c Cover Admin::ReportsController more (#3346) 8 years ago
Akihiko Odaki 7b92950f1c Cover InstancesController more (#3342) 8 years ago
Akihiko Odaki 97d7028c31 Cover Admin::SuspensionsController more (#3350) 8 years ago
Akihiko Odaki a7f2961621 Spec Auth::PasswordsController (#3352) 8 years ago
Akihiko Odaki 00dda99789 Spec Admin::ResetsController calls send_reset_password_instructions (#3354) 8 years ago
Akihiko Odaki 2e27ce3b61 Spec #destroy feature of Admin::TwoFactorAuthenticationsController (#3355) 8 years ago
Akihiko Odaki 2c10c5a069 Coever Admin::SilencesController more (#3356) 8 years ago
Akihiko Odaki bd4dd4c4a0 Cover Settings::ExportsController more (#3358) 8 years ago
Akihiko Odaki 7d33b60f3f Cover Oauth::AuthorizedApplicationsController (#3359) 8 years ago
Akihiko Odaki aecce5694b Cover Oauth::AuthorizationsController more (#3361) 8 years ago
Akihiko Odaki 0e4ca51951 Cover Settings::TwoFactorAuthenticationsController more (#3376) 8 years ago
Akihiko Odaki dde043f6cd Cover WellKnown::HostMetaController more (#3382) 8 years ago
Akihiko Odaki c778a60e4f Cover Settings::TwoFactorAuthentication::RecoveryCodesController more (#3383) 8 years ago
Akihiko Odaki c347327d54 Spec Settings::Exports (#3384)
* Spec output of Settings::Exports::BlockedAccountsController

* Spec output of Settings::Exports::FollowingAccountsController

* Spec output of Settings::Exports::MutedAccountsController

* Spec Settings::Exports::BaseController

This commit removes duplicate specs in classes inheriting
Settings::Exports::BaseController as well.
8 years ago
Akihiko Odaki fd328cf6e8 Cover WellKnown::WebfingerController more (#3385) 8 years ago
Akihiko Odaki 7b473d7514 Cover Settings::TwoFactorAuthentication::ConfirmationsController more (#3386) 8 years ago
Akihiko Odaki dff576b75d Cover ApplicationHelper more (#3412) 8 years ago
Akihiko Odaki 52ae83d008 Spec Activitystreams2BuilderHelper (#3413) 8 years ago
Akihiko Odaki 5aacd9d4c7 Spec FlashesHelper (#3414) 8 years ago
Akihiko Odaki d24d3fa283 Spec HomeHelper (#3415) 8 years ago
Akihiko Odaki c8a226f61c Spec HttpHelper (#3416) 8 years ago
Akihiko Odaki 7a281c477a Cover Admin::PubSubHubHubController more (#3343) 8 years ago
Atsushi Yamamoto 402c19a924 Add preference setting for delete toot modal (#3368)
* Set delete_modal preference to true by default
* Does not show confirmation modal if delete_modal is false
* Add ja translation for preference setting page
8 years ago
happycoloredbanana 9642601126 Avoid comparing domains when looking for an exact match of a local account (#3336) 8 years ago
Akinori MUSHA f6a93fc150 Go to root after login in single user mode (#3289)
In single user mode, visitors are redirected to the single user's
profile page.  So, if you are the owner without a session, you start
from that page, click the login button and authenticate yourself
expecting you'll soon get started with the home page, but in reality
you'll get redirected back to where you started from -- your own
profile page.

This fixes the behavior by redirecting you home after login if you
have started from your own profile page.
8 years ago
Akihiko Odaki 019f3377bb Spec Admin::BaseController (#3328) 8 years ago
Akihiko Odaki a8736aab7a Cover TagsController more (#3306) 8 years ago
abcang bbc3db8b20 Add test when hashtag and URL are concatenated (#3279) 8 years ago
Yamagishi Kazutoshi f937cad68f Skip formatting for cashtag in status text (#3275)
Resolve #3270
8 years ago
Akihiko Odaki 5d9f479538 Cover HomeController more (#3258) 8 years ago
Eugen Rochko 2ca1f0737a Fix Devise destroy method being available to delete user record (#3266)
(You may think that we need account deletions, but this way would've just orphaned the db records)
8 years ago
alpaca-tc 7ee5fc5d68 Toggle sensitive from admin page (#3261) 8 years ago
Matt Jankowski 4289ed1d13 Refactor of API timeline actions (#3263)
- Increase coverage to exercise all parts of each action
- Move into namespace to share common code
- Misc refactor of each action for smaller methods, simpler code
8 years ago
Akihiko Odaki 152b4d54e8 Cover StatusesController more (#3259) 8 years ago
Akihiko Odaki ea2ef16ea4 Cover StreamEntriesController more and remove redundant instructions (#3257)
* Cover StreamEntriesController more

* Remove redundant instructions in StreamEntriesController
8 years ago
Akihiko Odaki 1d3e0a5060 Spec AuthorizeFollowsController assigns @account (#3246)
@account is used by the view.
8 years ago
Akihiko Odaki bf575a1f5e Introduce recent to Follow (#3247)
Introduce recent to Follow, as Account and other models have.
This change also adds specs for the scope and the dependents.
8 years ago
Akihiko Odaki 8fd174298d Cover AccountsController more in spec (#3229)
* Introduce recent scope to Status and StreamEntry

Introduce recent scope to Status and StreamEntry as Account has.

* Cover AccountsController more in AccountsController
8 years ago
Matt Jankowski a28ce13b3e Coverage for api/web/settings controller (#3238) 8 years ago
Matt Jankowski e1b42e9aa0 Add coverage for ReportFilter and AccountFilter (#3236) 8 years ago
Matt Jankowski ec34ec63b1 Specs for cleanup workers (#3235)
* Add spec files for feed and media cleanup workers

* Add coverage for feed and media cleanup schedulers

* Clean up feed and media cleanup workers
8 years ago
Akihiko Odaki bda7391221 Cover ApplicationController more in spec (#3230) 8 years ago
Akihiko Odaki b9e8ffbd12 Cover AccountUnfollowController more in spec (#3228) 8 years ago
Akihiko Odaki 422e4d897b Cover AccountFollowController more in spec (#3227) 8 years ago
Akihiko Odaki cb2707776f Cover AboutController more in spec (#3226) 8 years ago
Immae a94c152fd3 Allow alternate domains for mastodon handlers (#3187) 8 years ago
Akihiko Odaki aa662cecad single_user_mode? always returns boolean (#3215)
This change also adds a specification for the method.
8 years ago
Matt Jankowski 8f4b7c1820 Filter languages with opt out (#3175)
* Remove allowed_languages and add filtered_languages

* Use filtered_languages instead of allowed_languages
8 years ago
Eugen Rochko 812fe90eca Ensure unique identifiers in fabricated objects in tests (#3173) 8 years ago
Eugen Rochko d3be2b582a More tests for public timeline method (#3171) 8 years ago
Sorin Davidoi 2c405aed55 Performance improvements (#3168)
* refactor(components/status_list): Avoid quering scrollTop if not necessary

* refactor(components/dropdown_menu): Do not render items if not expanded

* refactor: Cherry-pick react-motion imports

* refactor(compose/privacy_dropdown): Do not render options if not open

* refactor(components/column_collapsable): Do not render children if collapsed
8 years ago
Jack Jennings 8c5eaf7ae9 Enable and fill in JSON response test in API::AccountsController (#3157) 8 years ago
Matt Jankowski b6f6152e26 Add coverage for api/v1 controllers (#3155) 8 years ago
Eugen Rochko f1ab70649b Add buttons to block and unblock domain (#3127)
* Add buttons to block and unblock domain

* Relationship API now returns "domain_blocking" status for accounts,
rename "block entire domain" to "hide entire domain", fix unblocking domain,
do not block notifications from domain-blocked-but-followed people, do
not send Salmons to domain blocked users

* Add test

* Personal domain blocks shouldn't affect Salmon after all, since in this
direction of communication the control is very thin when it comes to
public stuff. Best stay consistent and not affect federation in this way

* Ignore followers and follow request from domain blocked folks,
ensure account domain blocks are not created for empty domain,
and avoid duplicates in validation

* Purge followers when blocking domain (without soft-blocks, since they
are useless here)

* Add tests, fix local timeline being empty when having any domain blocks
8 years ago
Matt Jankowski d2e0edd721 Add spec coverage for regeneration worker (#3143) 8 years ago
Matt Jankowski db4119f971 Specs for precompute feed service (#3142)
* Add spec for precompute feed service

* Refactor PrecomputeFeedService

* spec wip
8 years ago
Yamagishi Kazutoshi b8b7b506a2 Replace inline styles with stylesheet (#3115) 8 years ago
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
8 years ago
Matt Jankowski 8ec8410651 After remote follow worker specs (#3098)
* Add specs for the after remote follow workers

* Refactor the after remote follow workers
8 years ago
Eugen Rochko 1efda1c453 Fix #2572 - Resolve preview cards for remote statuses as well as local ones (#3088) 8 years ago
alpaca-tc 682b68438e Improve Account#triadic_closures (#3079) 8 years ago
alpaca-tc a2a2af244c Optimize Status#permitted_for 24x (#3069)
* Build query with arel node

* Add spec for current Status#permitted_for implementation

* Refactor status.rb

* Order by visibility to optimize query
8 years ago
Eugen Rochko af706583bd Fix change of status callbacks not setting in_reply_to_account_id and (#3072)
possibly others when expected. Add some tests for it
8 years ago
Eugen Rochko d0dd9eb5b5 Feature conversations muting (#3017)
* 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
8 years ago