Sorin Davidoi
0c7c188c45
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
7 years ago
Eugen Rochko
056b5ed72f
Improve UI of admin site settings ( #4163 )
7 years ago
STJrInuyasha
7a889a8e12
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)
7 years ago
Eugen Rochko
864e3f8d9c
Replace OEmbed and initial state Rabl templates with serializers ( #4110 )
* Replace OEmbed Rabl template with serializer
* Replace initial state rabl with serializer
7 years ago
beatrix-bitrot
7dd4d9de96
try fix failing controller spec caused by long bios
7 years ago
Matt Jankowski
6dd5eac7fc
Add controller spec for manifests controller ( #4003 )
7 years ago
Akihiko Odaki (@fn_aki@pawoo.net)
0a53ca444a
Cover Admin::AccountsController more ( #3327 )
7 years ago
Eugen Rochko
42b8220632
Fix #1624 - Send e-mail notifications to admins about new reports ( #3949 )
7 years ago
Eugen Rochko
5e8d037e27
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
7 years ago
Akihiko Odaki (@fn_aki@pawoo.net)
67243bda31
Cover Auth::RegistrationsController more ( #3353 )
7 years ago
Akihiko Odaki (@fn_aki@pawoo.net)
8f991831b8
Cover Admin::DomainBlocksController more ( #3329 )
Also domain_block fabricator now sets unique domains
7 years ago
masarakki
ff142eb64d
setting-for-account-deletable ( #3852 )
7 years ago
Eugen Rochko
f3be605286
Rename FollowRemoteAccountService to ResolveRemoteAccountService ( #3847 )
Rename Activitypub to ActivityPub
7 years ago
Eugen Rochko
91c71471ab
Fix account delete form not accepting password, update suspended ( #3745 )
account before removing content for quicker feedback to end-users
7 years ago
Eugen Rochko
4a618908e8
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
7 years ago
unarist
abbdacedc5
Fix locale related specs ( #3707 )
* Use I18n.locale instead of ":en"
* Reset I18n.locale value after locale changing tests
7 years ago
René Klačan
dcf0530218
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
7 years ago
Akihiko Odaki (@fn_aki@pawoo.net)
4919b89ab8
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
7 years ago
Matt Jankowski
2925372ff4
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
7 years ago
Matt Jankowski
5282ba862a
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
7 years ago
Matt Jankowski
73540ffe6b
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
7 years ago
unarist
0f1b1d78b1
Use "match_array" only for order independent assertions ( #3626 )
7 years ago
Matt Jankowski
f0634ba876
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
7 years ago
Daigo 3 Dango
2985d08951
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
7 years ago
Yamagishi Kazutoshi
e878ddb7c0
Fix spec for #2388 ( #3526 )
7 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.
7 years ago
Matt Jankowski
5c63523972
Spec coverage and refactor for the api/v1/accounts controllers ( #3451 )
7 years ago
Matt Jankowski
de4681b2be
Move admin/pubsubhubbub controller to admin/subscriptions ( #3442 )
7 years ago
Matt Jankowski
5236a62861
Improve spec coverage and clean up api/v1/blocks controller ( #3464 )
7 years ago
Matt Jankowski
0f155829b7
Improve spec coverage and clean up api/v1/follow_requests controller ( #3465 )
7 years ago
Matt Jankowski
84dda45df9
Improve spec coverage and clean up api/v1/domain_blocks controller ( #3466 )
7 years ago
Matt Jankowski
75cad1d9d6
Improve spec coverage and clean up api/v1/favourites controller ( #3472 )
7 years ago
Matt Jankowski
bf811e4d4a
Improve spec coverage and clean up api/v1/mutes controller ( #3481 )
7 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
7 years ago
Matt Jankowski
8235623362
Improve spec coverage and clean up api/v1/media controller ( #3467 )
7 years ago
Matt Jankowski
83435c49ea
Clean up api/subscriptions controller ( #3448 )
7 years ago
Matt Jankowski
3576fa0d59
Improve api oembed controller ( #3450 )
* Add StreamEntryFinder class to parse URLs
* Use StreamEntryFinder and clean up api/oembed controller
7 years ago
Matt Jankowski
1dcfb90202
Clean up api/salmon controller ( #3449 )
7 years ago
Matt Jankowski
0ebe7d6d23
Remove exports/base controller in favor of shared concern ( #3444 )
7 years ago
Akihiko Odaki
67bc58dd60
Use around hook to restore context in Admin::SettingsController spec ( #3428 )
7 years ago
Jack Jennings
3a2003ba86
Extract authorization policy for viewing statuses ( #3150 )
7 years ago
Akihiko Odaki
922fb74197
Remove methods from ObfuscateFilename and spec ( #3347 )
* Remove methods from ObfuscateFilename
* Spec ObfuscateFilename
7 years ago
Akihiko Odaki
7bf2d6cb06
Spec Auth::ConfirmationsController ( #3348 )
7 years ago
Akihiko Odaki
11e5c965c3
Spec AccountControllerConcern ( #3349 )
7 years ago
Akihiko Odaki
34157d118c
Cover Admin::ReportsController more ( #3346 )
7 years ago
Akihiko Odaki
7b92950f1c
Cover InstancesController more ( #3342 )
7 years ago
Akihiko Odaki
97d7028c31
Cover Admin::SuspensionsController more ( #3350 )
7 years ago
Akihiko Odaki
a7f2961621
Spec Auth::PasswordsController ( #3352 )
7 years ago
Akihiko Odaki
00dda99789
Spec Admin::ResetsController calls send_reset_password_instructions ( #3354 )
7 years ago
Akihiko Odaki
2e27ce3b61
Spec #destroy feature of Admin::TwoFactorAuthenticationsController ( #3355 )
7 years ago