Commit Graph

17 Commits

Author SHA1 Message Date
Eugen Rochko
5b6db8a62a
Disable service worker media cache and IndexedDB storage ()
Fix 
Fix 
2018-07-03 19:50:18 +02:00
Hinaloe
c3b40a6950 Return collect response when fail put cache to storage ()
* return collect response when fail put cache to storage

* cleanup callback
2018-06-20 20:55:17 +02:00
Yamagishi Kazutoshi
bfa12239e8 Update ESLint for Code Climate ()
* Update babel-eslint to version 8.2.3

* Update eslint to version 4.19.1

* Update eslint-plugin-promise to version 3.8.0

* Update eslint-plugin-react to version 7.8.2

* Upgrade eslint-plugin-jsx-a11y to version 6.0.3

* yarn test:lint --fix
2018-06-01 14:03:19 +02:00
Akihiko Odaki
d95642f6d9 Cache attachments on external host with service worker () 2018-05-29 00:43:47 +02:00
Akihiko Odaki
4e1400cecb Cache media only when storage can be freed () 2018-05-19 19:22:11 +02:00
Akihiko Odaki
65d6b253fb Let navigator follow redirect instead that handling redirect in fetch ()
* Let navigator follow redirect instead that handling redirect in fetch

* Do not use cache when fetched resource is to redirect
2018-05-16 04:59:44 +02:00
Akihiko Odaki
17c1a62ec8 Consider only-if-cached in FetchEvent valid on non-Mozilla-Firefox browser () 2018-05-15 21:42:31 +02:00
Akihiko Odaki
918cfd3be6 Ignore only-if-cached cache mode on Mozilla Firefox prior to version 60 () 2018-05-15 20:14:30 +02:00
Akihiko Odaki
3705cd8322 Clone response before using when caching web page () 2018-05-15 14:24:50 +02:00
Akihiko Odaki
03b69ebc45 Disallow async function in service worker ()
offline-plugin depends on webpack.optimize.UglifyJsPlugin, which is an
alias of uglifyjs-webpack-plugin v0.4.6. uglifyjs-webpack-plugin v0.4.6
uses uglify-js 2.8.29, which is not compatible with async function.
2018-05-14 19:58:11 +02:00
Akihiko Odaki
1ed1014546 Free stroage if it is exceeding disk quota () 2018-04-08 13:32:39 +02:00
unarist
f5ed5f3860 Clone response before put it to the cache ()
`Response.prototype.clone()` must be called before the response used.

This fixes an error from ServiceWorker and failing to load image when the
image is not cached.
2018-03-27 15:18:35 +02:00
Akihiko Odaki
ca42f9b0eb Cache media () 2018-03-27 12:32:30 +02:00
Akihiko Odaki
721234230c Synchronize HTML page cache with sessions () 2018-03-18 15:14:38 +01:00
Akihiko Odaki
f0cd957c7a Cache HTML page with Service Worker ()
This is the first step to make Mastodon work offline. It is also required
by Chromium to trigger Web Manifest automated install prompt.
2018-03-17 12:35:13 +01:00
Sorin Davidoi
719ab720a7 feat(push-notifications): Open link in current tab if possible ()
* fix(push-notification): Open link in current tab if possible

* feat(sw): Skip waiting and claim clients
2017-07-18 00:19:17 +02:00
Sorin Davidoi
0c7c188c45 Web Push Notifications ()
* 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 

* 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