Nick Schonning
e6312104c7
Autofix Rubocop remaining Layout rules ( #23679 )
2023-02-20 06:58:28 +01:00
Nick Schonning
49f1168050
Autofix Rubocop Style/RedundantBegin ( #23703 )
2023-02-19 07:09:40 +09:00
Eugen Rochko
2cab9c9f06
Add `policy` param to `POST /api/v1/push/subscriptions` ( #16040 )
...
With possible values `all`, `followed`, `follower`, and `none`,
control from whom notifications will generate a Web Push alert
2021-04-15 05:00:25 +02:00
Eugen Rochko
a8bf951926
Change Web Push API deliveries to use request pooling ( #16014 )
2021-04-12 14:25:34 +02:00
dependabot-preview[bot]
e7e09d3b7b
Bump doorkeeper from 5.3.3 to 5.4.0 ( #13733 )
...
* Bump doorkeeper from 5.3.3 to 5.4.0
Bumps [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper ) from 5.3.3 to 5.4.0.
- [Release notes](https://github.com/doorkeeper-gem/doorkeeper/releases )
- [Changelog](https://github.com/doorkeeper-gem/doorkeeper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/doorkeeper-gem/doorkeeper/compare/v5.3.3...v5.4.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* Fix tests
* Fix use of Doorkeeper::AccessToken.find_or_create_for
* Fix tests?
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Thibaut Girka <thib@sitedethib.com>
2020-05-12 15:25:33 +02:00
abcang
2c43d538dc
Validate Web::PushSubscription ( #11971 )
2019-09-27 15:24:13 +02:00
Eugen Rochko
26140838c4
Do no retry web push workers if the server returns a 4xx response ( #9434 )
...
Add timeout of 10s to web push requests
2018-12-17 03:14:13 +01:00
Eugen Rochko
39930a8432
Fix has_one association on Web::PushSubscription ( #7767 )
...
* Fix has_one association on Web::PushSubscription
* Fix code style issues
2018-06-09 21:11:14 +02:00
Eugen Rochko
7eaa12c83a
Ensure push subscription is immediately removed when application is revoked ( #7548 )
...
* Ensure push subscription is immediately removed when application is revoked
* When token is revoked from app, unsubscribe too
2018-05-19 21:05:08 +02:00
Eugen Rochko
70e678da43
Improve payload format of Web Push API now that it's open ( #7521 )
...
> Good lord what is happening in there
Previously the contents of the Web Push API payloads closely resembled the structure of JavaScript's [Notification](https://developer.mozilla.org/en-US/docs/Web/API/Notification ). But now that the API is open to non-browser apps, and given that there is no required coupling between contents of the payload and a Notification object, here is how I changed the payload:
```json
{
"access_token": "...",
"preferred_locale": "en",
"notification_id": "12345",
"notification_type": "follow",
"title": "So and so followed you",
"body": "This is my bio",
"icon": "https://example.com/avatar.png "
}
```
The title, body and icon attributes are included as a fallback so you can construct a minimal notification if you cannot perform a network request to the API to get more data.
2018-05-19 14:46:47 +02:00
Eugen Rochko
e86a4fe36b
Add REST API for Web Push Notifications subscriptions ( #7445 )
...
- POST /api/v1/push/subscription
- PUT /api/v1/push/subscription
- DELETE /api/v1/push/subscription
- New OAuth scope: "push" (required for the above methods)
2018-05-11 11:49:12 +02:00
Yamagishi Kazutoshi
e83e74f36d
Update dependencies for Ruby (2018-04-23) ( #7237 )
...
* Update annotate to version 2.7.3
* Update aws-sdk-s3 to version 1.9.2
* Update browser to version 2.5.3
* Update capistrano to version 3.10.2
* Update domain_name to version 0.5.20180417
* Update http to version 3.2.0
* Update lograge to version 0.10.0
* Update oj to version 3.5.1
* Update parallel_tests to version 2.21.3
* Update puma to version 3.11.4
* Update rubocop to version 0.55.0
* Update scss_lint to version 0.57.0
* Update simplecov to version 0.16.1
* Update tty-command to version 0.8.0
* Update tty-prompt to version 0.16.0
* Update pkg-config to version 1.3.0
* Update fog-local to version 0.5.0
* Update fog-openstack to version 0.1.25
* Update devise-two-factor to version 3.0.3
* bundle update
2018-04-23 11:29:17 +02:00
Eugen Rochko
e149067561
Lists ( #5703 )
...
* Add structure for lists
* Add list timeline streaming API
* Add list APIs, bind list-account relation to follow relation
* Add API for adding/removing accounts from lists
* Add pagination to lists API
* Add pagination to list accounts API
* Adjust scopes for new APIs
- Creating and modifying lists merely requires "write" scope
- Fetching information about lists merely requires "read" scope
* Add test for wrong user context on list timeline
* Clean up tests
2017-11-18 00:16:48 +01:00
Eugen Rochko
3df46ce5a8
Fix some rubocop style issues ( #5730 )
2017-11-17 10:06:26 +09:00
Daniel Hunsaker
96504fd1ec
Update model annotations to use BIGINT for IDs ( #5461 )
...
All the migrations have been updated to use BIGINTs for ID fields in the DB, but ActiveRecord needs to be told to treat those values as BIGINT as well. This PR does that.
2017-11-12 16:18:50 +01:00
unarist
11a09cdc59
Fix WebPush (regression from #4524 ) ( #4778 )
...
* Fix NoMethodError in Web::PushSubscription
```
undefined method `site_contact_email' for #<Class:0x00005976d13c40>
/usr/local/bundle/gems/activerecord-5.1.3/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/usr/local/bundle/gems/attr_encrypted-3.0.3/lib/attr_encrypted.rb:295:in `method_missing'
/usr/local/bundle/gems/attr_encrypted-3.0.3/lib/attr_encrypted/adapters/active_record.rb:129:in `method_missing_with_attr_encrypted'
/mastodon/app/models/web/push_subscription.rb:53:in `push_payload'
```
* Specify serializer in Web::NotificationSerializer
2017-09-02 16:50:42 +02:00
Eugen Rochko
2bbb10a186
Refactor Web::PushSubscription, remove welcome message ( #4524 )
...
* Refactor Web::PushSubscription, remove welcome message
* Add missing helper
* Use locale of the receiver on push notifications (#4519 )
* Remove unused translations
* Fix dir on notifications
2017-09-01 13:35:23 +02:00
Sorin Davidoi
d8f78827a4
fix(web_push_notifications): Send message with welcome notifications ( #4471 )
...
* fix(web_push_notifications): Send grouping title in welcome notification
* fix(web_push_notifications): Read message from last notification
2017-08-01 06:00:13 +02:00
Eugen Rochko
ed3d301791
Fix web push notifications "boost" icon not being loaded (regression from #4426 ) ( #4431 )
2017-07-28 20:26:54 +02:00
Eugen Rochko
2e32794a12
Use consistent icons for web push notifications, same as web UI ( #4426 )
2017-07-28 18:13:42 +02:00
Sorin Davidoi
56c021c349
feat(web_push_notifications): Group notifications ( #4388 )
2017-07-28 05:06:22 +02:00
Sorin Davidoi
097fb21522
fix(push_subscription): Use star icon for favourite action ( #4396 )
2017-07-27 15:46:33 +02:00
Sorin Davidoi
04ec8a8f38
fix(push_subscription): Guard against malformed favourite notification ( #4271 )
2017-07-19 22:37:52 +02:00
Eugen Rochko
7b610bea1b
Fix deprecation warning for non-pipeline assets ( #4267 )
2017-07-19 12:00:05 +02:00
Sorin Davidoi
3d4ae604b8
fix(push-subscriptions): Refactor how Sidekiq jobs are handled ( #4226 )
2017-07-18 16:25:40 +02:00
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