Commit Graph

8 Commits

Author SHA1 Message Date
ThibG
7786e1357b Only display web push notifications after API call (fixes ) ()
* Only display web push notifications after API call (fixes )

* Decode then truncate instead of truncating then decoding in webpush serializer
2018-08-23 21:44:27 +02:00
Eugen Rochko
1a564df586
Do not encode HTML entities in initial Web Push payload body () 2018-05-22 18:12:45 +02:00
Eugen Rochko
4b94e9c65e
Improve payload format of Web Push API now that it's open ()
> 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
b4fb766b23
Add REST API for Web Push Notifications subscriptions ()
- 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
unarist
bfa7f9ebf2 Fix WebPush (regression from ) ()
* 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
Yamagishi Kazutoshi
b767eb7ff8 Add RoutingHelper () 2017-09-02 03:03:20 +02:00
Eugen Rochko
921cf3e9c8 Fix NoMethodError () 2017-09-01 20:50:42 +02:00
Eugen Rochko
74437c6bff Refactor Web::PushSubscription, remove welcome message ()
* Refactor Web::PushSubscription, remove welcome message

* Add missing helper

* Use locale of the receiver on push notifications ()

* Remove unused translations

* Fix dir on notifications
2017-09-01 13:35:23 +02:00