Sorin Davidoi
ecab38fd66
Web Push Notifications ( #3243 )
...
* feat: Register push subscription
* feat: Notify when mentioned
* feat: Boost, favourite, reply, follow, follow request
* feat: Notification interaction
* feat: Handle change of public key
* feat: Unsubscribe if things go wrong
* feat: Do not send normal notifications if push is enabled
* feat: Focus client if open
* refactor: Move push logic to WebPushSubscription
* feat: Better title and body
* feat: Localize messages
* chore: Fix lint errors
* feat: Settings
* refactor: Lazy load
* fix: Check if push settings exist
* feat: Device-based preferences
* refactor: Simplify logic
* refactor: Pull request feedback
* refactor: Pull request feedback
* refactor: Create /api/web/push_subscriptions endpoint
* feat: Spec PushSubscriptionController
* refactor: WebPushSubscription => Web::PushSubscription
* feat: Spec Web::PushSubscription
* feat: Display first media attachment
* feat: Support direction
* fix: Stuff broken while rebasing
* refactor: Integration with session activations
* refactor: Cleanup
* refactor: Simplify implementation
* feat: Set VAPID keys via environment
* chore: Comments
* fix: Crash when no alerts
* fix: Set VAPID keys in testing environment
* fix: Follow link
* feat: Notification actions
* fix: Delete previous subscription
* chore: Temporary logs
* refactor: Move migration to a later date
* fix: Fetch the correct session activation and misc bugs
* refactor: Move migration to a later date
* fix: Remove follow request (no notifications)
* feat: Send administrator contact to push service
* feat: Set time-to-live
* fix: Do not show sensitive images
* fix: Reducer crash in error handling
* feat: Add badge
* chore: Fix lint error
* fix: Checkbox label overlap
* fix: Check for payload support
* fix: Rename action "type" (crash in latest Chrome)
* feat: Action to expand notification
* fix: Lint errors
* fix: Unescape notification body
* fix: Do not allow boosting if the status is hidden
* feat: Add VAPID keys to the production sample environment
* fix: Strip HTML tags from status
* refactor: Better error messages
* refactor: Handle browser not implementing the VAPID protocol (Samsung Internet)
* fix: Error when target_status is nil
* fix: Handle lack of image
* fix: Delete reference to invalid subscriptions
* feat: Better error handling
* fix: Unescape HTML characters after tags are striped
* refactor: Simpify code
* fix: Modify to work with #4091
* Sort strings alphabetically
* i18n: Updated Polish translation
it annoys me that it's not fully localized :P
* refactor: Use current_session in PushSubscriptionController
* fix: Rebase mistake
* fix: Set cacheName to mastodon
* refactor: Pull request feedback
* refactor: Remove logging statements
* chore(yarn): Fix conflicts with master
* chore(yarn): Copy latest from master
* chore(yarn): Readd offline-plugin
* refactor: Use save! and update!
* refactor: Send notifications async
* fix: Allow retry when push fails
* fix: Save track for failed pushes
* fix: Minify sw.js
* fix: Remove account_id from fabricator
2017-07-13 22:15:32 +02:00
Eugen Rochko
8abeec1f4f
Improve UI of admin site settings ( #4163 )
2017-07-12 03:24:04 +02:00
STJrInuyasha
098eef3211
Remote following success page ( #4129 )
...
* Added a success page to remote following
Includes follow-through links to web (the old redirect target) and back to the remote user's profile
* Use Account.new in spec instead of a fake with only id
(fixes spec)
* Fabricate(:account) over Account.new
* Remove self from the success text
(and all HTML with it)
2017-07-10 18:05:06 +02:00
Eugen Rochko
0d54e620d9
Replace OEmbed and initial state Rabl templates with serializers ( #4110 )
...
* Replace OEmbed Rabl template with serializer
* Replace initial state rabl with serializer
2017-07-08 14:51:05 +02:00
Matt Jankowski
eb39fb7211
Add controller spec for manifests controller ( #4003 )
2017-06-30 13:43:34 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
4be3cf318d
Cover Admin::AccountsController more ( #3327 )
2017-06-29 01:43:10 +02:00
Eugen Rochko
d0221b05bc
Fix #1624 - Send e-mail notifications to admins about new reports ( #3949 )
2017-06-27 00:04:00 +02:00
Eugen Rochko
b90a44b6d0
Fix #3910 - Require OTP authentication to disable 2FA ( #3935 )
...
* Fix #3910 - Require OTP authentication to disable 2FA. Also, remove ability
to generate new OTP backup codes *after* initial backup codes were handed
out during activation
* Restore recovery code re-generation
* Improve display of some 2FA elements
2017-06-25 23:51:46 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
4ca14209d1
Cover Auth::RegistrationsController more ( #3353 )
2017-06-25 21:42:55 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
071c6f392e
Cover Admin::DomainBlocksController more ( #3329 )
...
Also domain_block fabricator now sets unique domains
2017-06-25 21:42:36 +02:00
masarakki
d947978192
setting-for-account-deletable ( #3852 )
2017-06-19 15:12:31 +02:00
Eugen Rochko
8bed91d94c
Rename FollowRemoteAccountService to ResolveRemoteAccountService ( #3847 )
...
Rename Activitypub to ActivityPub
2017-06-19 01:51:04 +02:00
Eugen Rochko
c883e96d95
Fix account delete form not accepting password, update suspended ( #3745 )
...
account before removing content for quicker feedback to end-users
2017-06-14 20:30:12 +02:00
Eugen Rochko
1c7e2ddd65
Account deletion ( #3728 )
...
* Add form for account deletion
* If avatar or header are gone from source, remove them
* Add option to have SuspendAccountService remove user record, add tests
* Exclude suspended accounts from search
2017-06-14 18:01:27 +02:00
unarist
1ce6a20bde
Fix locale related specs ( #3707 )
...
* Use I18n.locale instead of ":en"
* Reset I18n.locale value after locale changing tests
2017-06-12 10:58:03 +02:00
René Klačan
ecdf17a2d7
Make sure email is case insensitive on all places ( #3688 )
...
When case insensitivity is enabled via devise's `config.case_insensitive_keys` then `.find_for_authentication` method needs to be used instead of `.find_by` because second mentioned returns `nil` when valid email with different cases is passed.
More info https://github.com/plataformatec/devise/wiki/How-To:-Use-case-insensitive-emails
2017-06-11 02:29:08 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
a5729feb11
Improve default language decision and spec ( #3351 )
...
* Improve default language decision
This change allows to takes account of accepted language determined by
the user agent even if the custom default locale of the instance is
configured.
* Cover Localized more
* Fix code style
2017-06-10 09:44:02 +02:00
Matt Jankowski
e31cd944c2
Move create/destroy actions for api/v1/statuses to namespace ( #3678 )
...
Each of mute, favourite, reblog has been updated to:
- Have a separate controller with just a create and destroy action
- Preserve historical route names to not break the API
- Mild refactoring to break up long methods
2017-06-10 09:39:26 +02:00
Matt Jankowski
dc717cf425
Move reblogged_by and favourited_by actions out of api/v1/statuses and into unique controllers ( #3646 )
...
* Add specs for api statuses routes
* Update favourited_by and reblogged_by api routes
* Move methods into new controllers
* Use load_accounts methods to simplify index actions
* Clean up load_accounts methods
* Clean up link header generation
* Check for link headers in specs
* Remove unused actions from api/v1/statuses controller
* Remove specs for moved actions
2017-06-09 14:12:40 -04:00
Matt Jankowski
76f986d07b
Clean up for api/base controller ( #3629 )
...
* Move ApiController to Api/BaseController
* API controllers inherit from Api::BaseController
* Add coverage for various error cases in api/base controller
2017-06-07 20:09:25 +02:00
unarist
c40e5aea44
Use "match_array" only for order independent assertions ( #3626 )
2017-06-07 12:59:28 -04:00
Matt Jankowski
9a43a1051a
Coverage improvement and concern extraction for rate limit headers in API controller ( #3625 )
...
* Coverage for rate limit headers
* Move rate limit headers methods to concern
* Move throttle check to condition on before_action
* Move match_data variable into method
* Move utc timestamp to separate method
* Move header setting into smaller methods
* specs cleanup
2017-06-07 17:23:26 +02:00
Daigo 3 Dango
e1142e190b
Redirect to streaming_api_base_url ( #3579 )
...
* Redirect to streaming_api_base_url
When Rails receives a request to streaming API, it most likely
means that there is another host which is configured to respond
to it. This is to redirect clients to that host if
`STREAMING_API_BASE_URL` is set as another host.
* Use the new Ruby 1.9 hash syntax
2017-06-05 12:09:29 +02:00
Yamagishi Kazutoshi
9df077e370
Fix spec for #2388 ( #3526 )
2017-06-03 14:40:55 +02:00
Akihiko Odaki (@fn_aki@pawoo.net)
2c511bbad4
Spec response for forgery ( #3248 )
...
Remove protect_from_forgery in ApiController, which is disabled by the
following skip_before_action, as well.
2017-06-01 20:56:55 +02:00
Matt Jankowski
1066fd1ab5
Spec coverage and refactor for the api/v1/accounts controllers ( #3451 )
2017-05-31 21:36:24 +02:00
Matt Jankowski
81ce4e4318
Move admin/pubsubhubbub controller to admin/subscriptions ( #3442 )
2017-05-31 20:39:35 +02:00
Matt Jankowski
0985a9ff7d
Improve spec coverage and clean up api/v1/blocks controller ( #3464 )
2017-05-31 20:34:51 +02:00
Matt Jankowski
ae721f376a
Improve spec coverage and clean up api/v1/follow_requests controller ( #3465 )
2017-05-31 20:32:11 +02:00
Matt Jankowski
e32b9ecbf6
Improve spec coverage and clean up api/v1/domain_blocks controller ( #3466 )
2017-05-31 20:31:14 +02:00
Matt Jankowski
6237abaaa3
Improve spec coverage and clean up api/v1/favourites controller ( #3472 )
2017-05-31 20:30:39 +02:00
Matt Jankowski
3e95a6c9b7
Improve spec coverage and clean up api/v1/mutes controller ( #3481 )
2017-05-31 20:27:34 +02:00
Yamagishi Kazutoshi
b652c52992
Keep ENV['LOCAL_HTTPS'] with ApplicationControllerSpec (fix random fail) ( #3479 )
...
* Keep ENV['LOCAL_HTTPS'] with ApplicationControllerSpec (fix random fail)
* use climate_control
2017-05-31 17:09:17 +02:00
Matt Jankowski
8b69d8d46d
Improve spec coverage and clean up api/v1/media controller ( #3467 )
2017-05-30 21:11:29 -04:00
Matt Jankowski
5a54a5ba69
Clean up api/subscriptions controller ( #3448 )
2017-05-31 02:15:09 +02:00
Matt Jankowski
4e89226243
Improve api oembed controller ( #3450 )
...
* Add StreamEntryFinder class to parse URLs
* Use StreamEntryFinder and clean up api/oembed controller
2017-05-30 16:30:06 -04:00
Matt Jankowski
0ee8f559ec
Clean up api/salmon controller ( #3449 )
2017-05-30 16:28:58 -04:00
Matt Jankowski
18c81c74e5
Remove exports/base controller in favor of shared concern ( #3444 )
2017-05-30 19:06:01 +02:00
Akihiko Odaki
6f064d0e65
Use around hook to restore context in Admin::SettingsController spec ( #3428 )
2017-05-30 06:32:09 -04:00
Jack Jennings
faf53a5a3e
Extract authorization policy for viewing statuses ( #3150 )
2017-05-29 18:22:22 +02:00
Akihiko Odaki
ff2bfea0b3
Remove methods from ObfuscateFilename and spec ( #3347 )
...
* Remove methods from ObfuscateFilename
* Spec ObfuscateFilename
2017-05-29 18:14:16 +02:00
Akihiko Odaki
587f2d0b1f
Spec Auth::ConfirmationsController ( #3348 )
2017-05-29 18:13:11 +02:00
Akihiko Odaki
a111604729
Spec AccountControllerConcern ( #3349 )
2017-05-29 18:12:54 +02:00
Akihiko Odaki
e41d7875d7
Cover Admin::ReportsController more ( #3346 )
2017-05-29 18:12:34 +02:00
Akihiko Odaki
9481b20b23
Cover InstancesController more ( #3342 )
2017-05-29 18:12:17 +02:00
Akihiko Odaki
46a60e19ef
Cover Admin::SuspensionsController more ( #3350 )
2017-05-29 18:11:16 +02:00
Akihiko Odaki
503298d89b
Spec Auth::PasswordsController ( #3352 )
2017-05-29 18:10:50 +02:00
Akihiko Odaki
1cb145578b
Spec Admin::ResetsController calls send_reset_password_instructions ( #3354 )
2017-05-29 18:09:17 +02:00
Akihiko Odaki
2b299efbbc
Spec #destroy feature of Admin::TwoFactorAuthenticationsController ( #3355 )
2017-05-29 18:08:58 +02:00
Akihiko Odaki
07c90d0b0d
Coever Admin::SilencesController more ( #3356 )
2017-05-29 18:08:42 +02:00