From e9f2f56634f050fc6065171ca9ca6a24b1f66f9a Mon Sep 17 00:00:00 2001 From: Lorenzo Breda Date: Thu, 9 Sep 2021 00:47:10 +0200 Subject: [PATCH 01/13] Add maskable icons (and some PWA-related settings) --- public/manifest.webmanifest | 72 +++++++++++++++++- public/maskable-icon.svg | 1 + public/maskable120.png | Bin 0 -> 3300 bytes public/maskable128.png | Bin 0 -> 3551 bytes public/maskable144.png | Bin 0 -> 3951 bytes public/maskable152.png | Bin 0 -> 4242 bytes public/maskable180.png | Bin 0 -> 4957 bytes public/maskable192.png | Bin 0 -> 5299 bytes public/maskable384.png | Bin 0 -> 11034 bytes public/maskable512.png | Bin 0 -> 15101 bytes public/maskable72.png | Bin 0 -> 2014 bytes public/maskable76.png | Bin 0 -> 2107 bytes public/maskable96.png | Bin 0 -> 2670 bytes .../views/v2/partials/layout/favicons.twig | 28 ++++++- 14 files changed, 95 insertions(+), 6 deletions(-) create mode 100644 public/maskable-icon.svg create mode 100644 public/maskable120.png create mode 100644 public/maskable128.png create mode 100644 public/maskable144.png create mode 100644 public/maskable152.png create mode 100644 public/maskable180.png create mode 100644 public/maskable192.png create mode 100644 public/maskable384.png create mode 100644 public/maskable512.png create mode 100644 public/maskable72.png create mode 100644 public/maskable76.png create mode 100644 public/maskable96.png diff --git a/public/manifest.webmanifest b/public/manifest.webmanifest index cb44fea0e3..cf49fb98e2 100644 --- a/public/manifest.webmanifest +++ b/public/manifest.webmanifest @@ -3,15 +3,83 @@ "short_name": "Firefly III", "start_url": "/", "icons": [ + { + "src": "/maskable72.png", + "sizes": "72x72", + "type": "image/png", + "scope": "maskable" + }, + { + "src": "/maskable76.png", + "sizes": "76x76", + "type": "image/png", + "scope": "maskable" + }, + { + "src": "/maskable96.png", + "sizes": "96x96", + "type": "image/png", + "scope": "maskable" + }, + { + "src": "/maskable120.png", + "sizes": "120x120", + "type": "image/png", + "scope": "maskable" + }, + { + "src": "/maskable128.png", + "sizes": "128x128", + "type": "image/png", + "scope": "maskable" + }, + { + "src": "/maskable144.png", + "sizes": "144x144", + "type": "image/png", + "scope": "maskable" + }, + { + "src": "/maskable152.png", + "sizes": "152x152", + "type": "image/png", + "scope": "maskable" + }, + { + "src": "/maskable180.png", + "sizes": "180x180", + "type": "image/png", + "scope": "maskable" + }, { "src": "/android-chrome-192x192.png", "sizes": "192x192", - "type": "image/png" + "type": "image/png", + "scope": "any" + }, + { + "src": "/maskable192.png", + "sizes": "192x192", + "type": "image/png", + "scope": "maskable" + }, + { + "src": "/maskable384.png", + "sizes": "384x384", + "type": "image/png", + "scope": "maskable" }, { "src": "/android-chrome-512x512.png", "sizes": "512x512", - "type": "image/png" + "type": "image/png", + "scope": "any" + }, + { + "src": "/maskable512.png", + "sizes": "512x512", + "type": "image/png", + "scope": "maskable" } ], "theme_color": "#1e6581", diff --git a/public/maskable-icon.svg b/public/maskable-icon.svg new file mode 100644 index 0000000000..6eb3ecc6f5 --- /dev/null +++ b/public/maskable-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/maskable120.png b/public/maskable120.png new file mode 100644 index 0000000000000000000000000000000000000000..28472c71b9df4919726ca018bc60bf065628f3d4 GIT binary patch literal 3300 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 literal 0 HcmV?d00001 diff --git a/public/maskable128.png b/public/maskable128.png new file mode 100644 index 0000000000000000000000000000000000000000..6a29bd5dedcac45688679c2291ab0fdb5ddf06c0 GIT binary patch literal 3551 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 literal 0 HcmV?d00001 diff --git a/public/maskable180.png b/public/maskable180.png new file mode 100644 index 0000000000000000000000000000000000000000..a3eb3f2127bc0245fbf1f9f4a4d6a500a2a76102 GIT binary patch literal 4957 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 Hwy*vVpCDId literal 0 HcmV?d00001 diff --git a/public/maskable192.png b/public/maskable192.png new file mode 100644 index 0000000000000000000000000000000000000000..f280d1d2b2718c35d54fe03464bc04324887f0c5 GIT binary patch literal 5299 zcmc&&`8$;F_kRXsLiQ1|leLT`CHu%ug+W3?vZV}S?AyqiBx{z$*bUJl`!d>$?8}s$ z3E9nzy%67d{{!D&KR?{heO>2%p6fdIIp=wu*Lgj)xMjr3e4ZHq09F%YeFSaq{BNCM zq&*SSUJ%;GA6NB%C(zHTrd zKaW>r&GP^Ng`4Q>S_kKE&V&R*-3lO7pS{=U7JrdNIxey=^BHkEIpN@Fg5X+7>l@6` zrOWE-)t}`CE|cosz-9@R3vV>e)}=ty#gifIbbiLEdZMvnIUE@r>8YioM(Q)GCHpVP zicArutyVv5W+;>$%@E95j{{zMR~1PJ^G(Q3Ue-NR0!8q`6EkIiSWhVMS%n#JJ`cty zKBt4{7=lD^lmHy%mcW_O|J5_s_i6$EZDB{W-J6r?sHtwtB~}rUh_({~yDO zd6C(t#Dr6pZ)PHpYlp*9bcascJL*DD>a&8TbX*oo2BWP;0-~oafn!a!R_vzRKs%E} zq=8tf1~aD6mIMIsrD+4clc7*`p>(Cg!Y%G?XeItlNF$b7;FL6Sm0z9q8VB#EBItB8 zU9P_mS4{-he_!%dz!}}A4mC1G%{Fft~Rwqt$E*DvNUXR3&P0%;iv%vfznlE8Z@=|lz^(<`! z`Otsg6E)ggH5CFl{jdWAgwmkEq$ttZi+_+}vkTF6WuTP!%f2c8ufSf1ZYLYGTeb>Z_G;wG^if@jMrN_xd3C-rH)!1DwRWf@8LZsu=1x>WPR>+ORZ6 zqyphGnLsFo=~=fCSRMA9bJ#Zx$4(T6re?(hOwvn$-OHOL3#82CaG7n#@v0YCm$3@P z%?YW)n?Q3h?a<9iGBY%W==SwB!Cm(#rT@W^mxTWp?bWLfbRM^|rSiMwasGXleSe

!*RQ$2V%V;ZH8O#I?1%S0=!DPE57||{S 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 literal 0 HcmV?d00001 diff --git a/public/maskable512.png b/public/maskable512.png new file mode 100644 index 0000000000000000000000000000000000000000..311b9015b128f5ce53871697699e46f29935e37f GIT binary patch literal 15101 zcmeHu@cgTNnnAZUm$o z2Ik!JJn!%P1?PNwKPdCtv-cfquY0X)UF(_;s>(8?#5BYZ1d+jq-R?8tSF7N8^;e;Sl%8WIzGWvaH@W1YRu#uq9|NZ#CcKCnb1o#L7$cZ>!i$zx} zN76PFe_4w-Ub{<2x1oQmt(81Hii|~=C-=`z=40Op{vkBN`;h}PKV(5m2&E@Vm?y4F zoDeRL4Ql@QsJBOz^w=xgTajEWjmFvUh53dF>d%A@f8CZ=sDN|K0=Et?fuukt)Pf30 zKxulMbQflH?XoyexGyWEAcymMs{)02M#{31(uaRV^zt8ITqC`{BLX>~E_@2eTc4dT zadiKxJe#J^&Tf(DiMO13fk)|CdW}Iq^mN{@6%X4+0Vp@FV&QwJ3+h3T1tnkKPyOW~_ znU;Shx~8IV%n;PQLzPf)v{do^1in2~Qg*2t+RuStz-w{Bjqq(ZX6>4RP+)TrnS>q* zcB3pg;KyLRi3H015j4(142g2wq16$+!w)kzh*C+oN>?U@-M`77zTdx;{}^AA1`Ofz zd*`mH%ze0IB~w~qyUuLhdd@7HP}G_%^pz5rmnx+zy%Q3-&0IFz=f;J?Y-6=gQ7MX@ zc#s?gv=rpfNU)>KNOFV@$-wBLqRxZXm?25Lpkp6fvZm&Om;D)7sil&>eYWeG1xC_kYkKE7K9N75rSt#RV47e!zATu^*Jx|SQBB6!o)%MW$=PleLVh| z8+iIdw7+StSukq6q#b?}aLqZ|=&|vQ=Fp{f(VEU&Y%B zBJV?`l3)!^d9A)g;kPW}_GGXHH885GBYkFTrGv{^!TsKM!TYl|z>CSn)IIJ$?HF9X zvJY%Crv`SEt^`btv=|DsI~$Qgm_s|vxb<~_Ilp*fu4)C0tl=)w<1UVZi?(M|UYdN? zpVsa|qVK@!B096fLpzl^pL9_5js4w+KQwuk1>U^qTl}EZ7*sEw%JaYrMgBm{25yvp zh#}XI&1k$wwi7ONs;7ZrDN%SW49rm1_1YT79q?9@n@_|D<=GUO@aFJOa|3F5a@sfRcqdNF9BvU4p5m|>^b#6CEQ!4>Ne5EtT5d_jgYUt zY;4YTs5f7j|KKRE=k6{W-cF7cApTBGJMia!hbTg7#
Tp>J^{EZ*Q-%`T>({-gG_Ncl$(4PmkU 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 uj1xNb(hTYK% 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 S>`Cm$4}e(Mnd3}-lKumBjt(IJ literal 0 HcmV?d00001 diff --git a/public/maskable96.png b/public/maskable96.png new file mode 100644 index 0000000000000000000000000000000000000000..5a02b5acf1b110154d5718efefaa9b1586fef570 GIT binary patch literal 2670 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 literal 0 HcmV?d00001 diff --git a/resources/views/v2/partials/layout/favicons.twig b/resources/views/v2/partials/layout/favicons.twig index 826e2d5dc8..17199c3a97 100644 --- a/resources/views/v2/partials/layout/favicons.twig +++ b/resources/views/v2/partials/layout/favicons.twig @@ -1,8 +1,28 @@ - - +{# main icons #} - + +{# iOS icons #} + + + + + +{# Pinned tab #} - + +{# Android #} + + + +{# Manifest #} + + +{# Android colors #} + +{# Microsoft meta #} + + + + From 16d39ff9d084b1db7f7695d197ca3baf9b40f59d Mon Sep 17 00:00:00 2001 From: Lorenzo Breda Date: Fri, 10 Sep 2021 22:35:59 +0200 Subject: [PATCH 02/13] Add service worker and offline page (needed to install the webapp on mobile devices) --- .gitignore | 1 + frontend/src/serviceworker.js | 58 ++++++++++++++++++++++++++ public/serviceworker.js | 58 ++++++++++++++++++++++++++ resources/lang/en_GB/errors.php | 3 ++ resources/lang/en_US/errors.php | 3 ++ resources/lang/it_IT/errors.php | 3 ++ resources/views/errors/Offline.twig | 41 ++++++++++++++++++ resources/views/v1/layout/default.twig | 12 ++++++ resources/views/v1/layout/empty.twig | 12 ++++++ resources/views/v1/layout/guest.twig | 12 ++++++ resources/views/v1/layout/install.twig | 12 ++++++ resources/views/v2/layout/auth.twig | 12 ++++++ resources/views/v2/layout/default.twig | 18 +++++++- routes/web.php | 7 ++++ 14 files changed, 250 insertions(+), 2 deletions(-) create mode 100644 frontend/src/serviceworker.js create mode 100644 public/serviceworker.js create mode 100644 resources/views/errors/Offline.twig diff --git a/.gitignore b/.gitignore index 789f14aecd..1ecebf0dac 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ public/google*.html report.html composer.phar app.js.map +.idea \ No newline at end of file diff --git a/frontend/src/serviceworker.js b/frontend/src/serviceworker.js new file mode 100644 index 0000000000..1eb9b19f82 --- /dev/null +++ b/frontend/src/serviceworker.js @@ -0,0 +1,58 @@ +/* + * serviceworker.js + * Copyright (c) 2021 james@firefly-iii.org + * + * This file is part of Firefly III (https://github.com/firefly-iii). + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +let staticCachePrefix = "firefly-III-" +let staticCacheName = staticCachePrefix + new Date().getTime(); +let cachedFiles = [ + '/offline', + '/v2/plugins/local-fonts/gf-source.css', + '/v2/css/app.css', +]; + +// Create cache on install +self.addEventListener("install", event => { + this.skipWaiting(); + event.waitUntil( + caches.open(staticCacheName).then(cache => cache.addAll(cachedFiles)) + ) +}); + +// Clear cache on activate +self.addEventListener('activate', event => { + event.waitUntil( + caches.keys().then(cacheNames => { + return Promise.all( + cacheNames + .filter(cacheName => (cacheName.startsWith(staticCachePrefix))) + .filter(cacheName => (cacheName !== staticCacheName)) + .map(cacheName => caches.delete(cacheName)) + ); + }) + ); +}); + +// Serve from Cache or return the offline page +self.addEventListener("fetch", event => { + event.respondWith( + caches.match(event.request) + .then(response => (response || fetch(event.request))) + .catch(() => caches.match('offline')) + ) +}); diff --git a/public/serviceworker.js b/public/serviceworker.js new file mode 100644 index 0000000000..1eb9b19f82 --- /dev/null +++ b/public/serviceworker.js @@ -0,0 +1,58 @@ +/* + * serviceworker.js + * Copyright (c) 2021 james@firefly-iii.org + * + * This file is part of Firefly III (https://github.com/firefly-iii). + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +let staticCachePrefix = "firefly-III-" +let staticCacheName = staticCachePrefix + new Date().getTime(); +let cachedFiles = [ + '/offline', + '/v2/plugins/local-fonts/gf-source.css', + '/v2/css/app.css', +]; + +// Create cache on install +self.addEventListener("install", event => { + this.skipWaiting(); + event.waitUntil( + caches.open(staticCacheName).then(cache => cache.addAll(cachedFiles)) + ) +}); + +// Clear cache on activate +self.addEventListener('activate', event => { + event.waitUntil( + caches.keys().then(cacheNames => { + return Promise.all( + cacheNames + .filter(cacheName => (cacheName.startsWith(staticCachePrefix))) + .filter(cacheName => (cacheName !== staticCacheName)) + .map(cacheName => caches.delete(cacheName)) + ); + }) + ); +}); + +// Serve from Cache or return the offline page +self.addEventListener("fetch", event => { + event.respondWith( + caches.match(event.request) + .then(response => (response || fetch(event.request))) + .catch(() => caches.match('offline')) + ) +}); diff --git a/resources/lang/en_GB/errors.php b/resources/lang/en_GB/errors.php index 1818adc8c6..b63c231504 100644 --- a/resources/lang/en_GB/errors.php +++ b/resources/lang/en_GB/errors.php @@ -47,5 +47,8 @@ return [ 'tell_more' => 'Tell us more than "it says Whoops!"', 'include_logs' => 'Include error logs (see above).', 'what_did_you_do' => 'Tell us what you were doing.', + 'offline_header' => 'You are probably offline', + 'offline_unreachable' => 'Firefly III is unreachable. Your device is currently offline or the server is not working.', + 'offline_github' => 'If you are sure both your device and the server are online, please open a ticket on GitHub.', ]; diff --git a/resources/lang/en_US/errors.php b/resources/lang/en_US/errors.php index 1818adc8c6..b63c231504 100644 --- a/resources/lang/en_US/errors.php +++ b/resources/lang/en_US/errors.php @@ -47,5 +47,8 @@ return [ 'tell_more' => 'Tell us more than "it says Whoops!"', 'include_logs' => 'Include error logs (see above).', 'what_did_you_do' => 'Tell us what you were doing.', + 'offline_header' => 'You are probably offline', + 'offline_unreachable' => 'Firefly III is unreachable. Your device is currently offline or the server is not working.', + 'offline_github' => 'If you are sure both your device and the server are online, please open a ticket on GitHub.', ]; diff --git a/resources/lang/it_IT/errors.php b/resources/lang/it_IT/errors.php index bdd4fe0a54..d95331ced9 100644 --- a/resources/lang/it_IT/errors.php +++ b/resources/lang/it_IT/errors.php @@ -47,5 +47,8 @@ return [ 'tell_more' => 'Dicci di più di "dice Oops!"', 'include_logs' => 'Includi i log degli errori (vedi sopra).', 'what_did_you_do' => 'Dicci cosa stavi facendo.', + 'offline_header' => 'Sembreresti essere offline', + 'offline_unreachable' => 'Firefly III non è raggiungibile. Il tuo dispositivo sembrerebbe offline, o il server non sta funzionando.', + 'offline_github' => 'Se si è certi che sia il server che il dispositivo siano correttamente funzionanti, si può aprire un ticket GitHub.', ]; diff --git a/resources/views/errors/Offline.twig b/resources/views/errors/Offline.twig new file mode 100644 index 0000000000..b1130978ee --- /dev/null +++ b/resources/views/errors/Offline.twig @@ -0,0 +1,41 @@ + + + + + + + Firefly III | Offline + + + + + + + + + +

+
+
+
+

+ +
+

Offline

+

+ {{ trans('errors.offline_header') }} +

+

+ {{ trans('errors.offline_unreachable') }} +

+

+ {{ trans('errors.offline_github')|raw }} +

+
+
+
+
+
+ + + diff --git a/resources/views/v1/layout/default.twig b/resources/views/v1/layout/default.twig index 29956298df..cf02557e28 100644 --- a/resources/views/v1/layout/default.twig +++ b/resources/views/v1/layout/default.twig @@ -228,5 +228,17 @@ {% endif %} + + diff --git a/resources/views/v1/layout/empty.twig b/resources/views/v1/layout/empty.twig index 25fad9fe06..8cf3ac77f5 100644 --- a/resources/views/v1/layout/empty.twig +++ b/resources/views/v1/layout/empty.twig @@ -61,5 +61,17 @@ {% endif %} + + diff --git a/resources/views/v1/layout/guest.twig b/resources/views/v1/layout/guest.twig index c7e01b512e..f406a12376 100644 --- a/resources/views/v1/layout/guest.twig +++ b/resources/views/v1/layout/guest.twig @@ -76,5 +76,17 @@ {% endif %} + + diff --git a/resources/views/v1/layout/install.twig b/resources/views/v1/layout/install.twig index f2086d5cc3..d8ff303d88 100644 --- a/resources/views/v1/layout/install.twig +++ b/resources/views/v1/layout/install.twig @@ -36,5 +36,17 @@ {% block scripts %}{% endblock %} + + diff --git a/resources/views/v2/layout/auth.twig b/resources/views/v2/layout/auth.twig index 9cfe20eba1..01a74ef422 100644 --- a/resources/views/v2/layout/auth.twig +++ b/resources/views/v2/layout/auth.twig @@ -19,5 +19,17 @@ {% block content %}{% endblock %} {% block scripts %}{% endblock %} + + diff --git a/resources/views/v2/layout/default.twig b/resources/views/v2/layout/default.twig index b6b7147c01..21cb1f65da 100644 --- a/resources/views/v2/layout/default.twig +++ b/resources/views/v2/layout/default.twig @@ -46,9 +46,11 @@

- {% if mainTitleIcon|default(false) %}{% endif %} + {% if mainTitleIcon|default(false) %}{% endif %} {{ title }} - {% if subTitleIcon|default(false) %}{% endif %} + {% if subTitleIcon|default(false) %}{% endif %} {{ subTitle|default('') }}

@@ -91,6 +93,18 @@ {% block scripts %}{% endblock %} + + diff --git a/routes/web.php b/routes/web.php index 0a0599c8db..cdf8a51a0c 100644 --- a/routes/web.php +++ b/routes/web.php @@ -37,6 +37,13 @@ Route::group( } ); +Route::group( + ['middleware' => 'binders-only'], + static function () { + Route::get('offline', fn () => view('errors.Offline')); + } +); + /** * These routes only work when the user is NOT logged in. */ From 947336b578638a48990d68d06a76c7e62032d60d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 03:02:18 +0000 Subject: [PATCH 03/13] Bump laravel-mix from 6.0.29 to 6.0.31 Bumps [laravel-mix](https://github.com/JeffreyWay/laravel-mix) from 6.0.29 to 6.0.31. - [Release notes](https://github.com/JeffreyWay/laravel-mix/releases) - [Changelog](https://github.com/laravel-mix/laravel-mix/blob/master/CHANGELOG.md) - [Commits](https://github.com/JeffreyWay/laravel-mix/commits) --- updated-dependencies: - dependency-name: laravel-mix dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/yarn.lock b/yarn.lock index 08f80d7492..3b0c1cf2bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1350,10 +1350,10 @@ ansi-escapes@^4.3.1: dependencies: type-fest "^0.21.3" -ansi-html@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^5.0.0: version "5.0.0" @@ -3387,9 +3387,9 @@ klona@^2.0.4: integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== laravel-mix@^6.0: - version "6.0.29" - resolved "https://registry.yarnpkg.com/laravel-mix/-/laravel-mix-6.0.29.tgz#4b07b731f3d3de624d19e392a2bd93ca741a5b69" - integrity sha512-GGDpeicvHYh6J6uickr1ZiDtJdNuKsQUjWrthB4MTaN0ZzxL0kLxpNXIRHGhpoEHM+2Tl/tA40ATIDAAumCyow== + version "6.0.31" + resolved "https://registry.yarnpkg.com/laravel-mix/-/laravel-mix-6.0.31.tgz#c33b869d11549e781484c52f11b12405cecc72a1" + integrity sha512-T9uFNNARS5hXl5JggCkLKybwAnyYEHBXzPseC0yJ/6EVK7eyvPOq2UAGDVqhfYTZKxrMd5B5ww1kEooDRoH+OA== dependencies: "@babel/core" "^7.14.5" "@babel/plugin-proposal-object-rest-spread" "^7.14.5" @@ -3436,7 +3436,7 @@ laravel-mix@^6.0: vue-style-loader "^4.1.3" webpack "^5.38.1" webpack-cli "^4.7.2" - webpack-dev-server "4.0.0-rc.1" + webpack-dev-server "4.1.1" webpack-merge "^5.8.0" webpack-notifier "^1.13.0" webpackbar "^5.0.0-3" @@ -5384,12 +5384,12 @@ webpack-dev-middleware@^5.0.0: range-parser "^1.2.1" schema-utils "^3.0.0" -webpack-dev-server@4.0.0-rc.1: - version "4.0.0-rc.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.0.0-rc.1.tgz#4826530cdff3ebe56d3a5e0fa3e7d1e006b40d33" - integrity sha512-gZlGe0CMA0YZ5bIXFbtSegd33tYsUujYv+rgJu9Y75xHvXBSXFJiBvakMV7yTkBE+k8dgz4VsBzl7J5I5xatyg== +webpack-dev-server@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.1.1.tgz#e8eb8f0ce1a0e1fa65e234641763c97735398bed" + integrity sha512-Kl1mnCEw8Cy1Kw173gCxLIB242LfPKEOj9WoKhKz/MbryZTNrILzOJTk8kiczw/YUEPzn3gcltCQv6hDsLudRg== dependencies: - ansi-html "^0.0.7" + ansi-html-community "^0.0.8" bonjour "^3.5.0" chokidar "^3.5.1" colorette "^1.2.2" From 244428929f4ca70c43d5957fb4de4874c9ba9c5a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 03:02:26 +0000 Subject: [PATCH 04/13] Bump axios from 0.21.3 to 0.21.4 Bumps [axios](https://github.com/axios/axios) from 0.21.3 to 0.21.4. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/0.21.3...v0.21.4) --- updated-dependencies: - dependency-name: axios dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 08f80d7492..86088d9cdf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1440,9 +1440,9 @@ autoprefixer@^10.2.6: postcss-value-parser "^4.1.0" axios@^0.21: - version "0.21.3" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.3.tgz#f85d9b747f9b66d59ca463605cedf1844872b82e" - integrity sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA== + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: follow-redirects "^1.14.0" From fff9676811aa481a763adfeda0639f779fb704d8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 03:02:37 +0000 Subject: [PATCH 05/13] Bump @vue/compiler-sfc from 3.2.9 to 3.2.11 Bumps [@vue/compiler-sfc](https://github.com/vuejs/vue-next/tree/HEAD/packages/compiler-sfc) from 3.2.9 to 3.2.11. - [Release notes](https://github.com/vuejs/vue-next/releases) - [Changelog](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) - [Commits](https://github.com/vuejs/vue-next/commits/v3.2.11/packages/compiler-sfc) --- updated-dependencies: - dependency-name: "@vue/compiler-sfc" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 72 ++++++++++++++++++++++++++-------------------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 95b9c0e1e4..2f25de1d18 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@johmun/vue-tags-input": "^2", - "@vue/compiler-sfc": "^3.2.9", + "@vue/compiler-sfc": "^3.2.11", "axios": "^0.21", "bootstrap-sass": "^3", "cross-env": "^7.0", diff --git a/yarn.lock b/yarn.lock index 08f80d7492..08e40bec24 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1066,38 +1066,38 @@ resolved "https://registry.yarnpkg.com/@types/svgo/-/svgo-1.3.6.tgz#9db00a7ddf9b26ad2feb6b834bef1818677845e1" integrity sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug== -"@vue/compiler-core@3.2.9": - version "3.2.9" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.9.tgz#874d04d3e4de98f3a60769db7fa47e041bfca490" - integrity sha512-smi76K+pg1LeltWSLoOI9GqXdH1oK13sd+SrO/XTdyfvf2dOQn5zE0o+C4B4Wj9M8Jd66Z5dEfGEldvcOutixQ== +"@vue/compiler-core@3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.11.tgz#10af3777dba303ee7aae668029f131cb90391bee" + integrity sha512-bcbsLx5XyQg8WDDEGwmpX0BfEfv82wIs9fWFelpyVhNRGMaABvUTalYINyfhVT+jOqNaD4JBhJiVKd/8TmsHWg== dependencies: "@babel/parser" "^7.15.0" "@babel/types" "^7.15.0" - "@vue/shared" "3.2.9" + "@vue/shared" "3.2.11" estree-walker "^2.0.2" source-map "^0.6.1" -"@vue/compiler-dom@3.2.9": - version "3.2.9" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.9.tgz#e42b2bc285366224a1738f7ed6648d4260cbbbef" - integrity sha512-7GAMoCyBGMzMsbzxxFFCQMdblg10NRXkgFFhkjLJ4djItL0hyeO8t9wSLmaDaJejo1xjK8lm+4xPAUwvHuC8cA== +"@vue/compiler-dom@3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.11.tgz#d066f8e1f1812b4e881593819ade0fe6d654c776" + integrity sha512-DNvhUHI/1Hn0/+ZYDYGAuDGasUm+XHKC3FE4GqkNCTO/fcLaJMRg/7eT1m1lkc7jPffUwwfh1rZru5mwzOjrNw== dependencies: - "@vue/compiler-core" "3.2.9" - "@vue/shared" "3.2.9" + "@vue/compiler-core" "3.2.11" + "@vue/shared" "3.2.11" -"@vue/compiler-sfc@^3.2.9": - version "3.2.9" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.9.tgz#82c0cae99625a4e5b9d998cc9ef5e0c26df2a8e9" - integrity sha512-egQCUOvb+3fz7sNx5F85ysPslbbtHiw0l2hOlqSGx5S7vQ8nzPvhxjy/VATYbd4lHZGQltA/3U090ncZu8M6hQ== +"@vue/compiler-sfc@^3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.11.tgz#628fa12238760d9b9b339ac2e125a759224fadbf" + integrity sha512-cUIaS8mgJrQ6yucj2AupWAwBRITK3W/a8wCOn9g5fJGtOl8h4APY8vN3lzP8HIJDyEeRF3I8SfRhL+oX97kSnw== dependencies: "@babel/parser" "^7.15.0" "@babel/types" "^7.15.0" "@types/estree" "^0.0.48" - "@vue/compiler-core" "3.2.9" - "@vue/compiler-dom" "3.2.9" - "@vue/compiler-ssr" "3.2.9" - "@vue/ref-transform" "3.2.9" - "@vue/shared" "3.2.9" + "@vue/compiler-core" "3.2.11" + "@vue/compiler-dom" "3.2.11" + "@vue/compiler-ssr" "3.2.11" + "@vue/ref-transform" "3.2.11" + "@vue/shared" "3.2.11" consolidate "^0.16.0" estree-walker "^2.0.2" hash-sum "^2.0.0" @@ -1109,13 +1109,13 @@ postcss-selector-parser "^6.0.4" source-map "^0.6.1" -"@vue/compiler-ssr@3.2.9": - version "3.2.9" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.9.tgz#067a9e5ee381c6561d72663c4a1ce42afe33b9bd" - integrity sha512-3QhSnpmMKvM67VQeUttDVy6+BeWlpo1mTqSnEl2x1bIEXNfZ6aIWeV42YmItXfiJ0j+JZI/29sDiEl3QLhAHow== +"@vue/compiler-ssr@3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.11.tgz#702cef3429651645bdbe09fe5962803b5a621abb" + integrity sha512-+ptAdUlFDij+Z0VGCbRRkxQlNev5LkbZAntvkxrFjc08CTMhZmiV4Js48n2hAmuSXaKNEpmGkDGU26c/vf1+xw== dependencies: - "@vue/compiler-dom" "3.2.9" - "@vue/shared" "3.2.9" + "@vue/compiler-dom" "3.2.11" + "@vue/shared" "3.2.11" "@vue/component-compiler-utils@^3.1.0": version "3.2.2" @@ -1133,21 +1133,21 @@ optionalDependencies: prettier "^1.18.2" -"@vue/ref-transform@3.2.9": - version "3.2.9" - resolved "https://registry.yarnpkg.com/@vue/ref-transform/-/ref-transform-3.2.9.tgz#23af9e2955a6faef7f46bb367494181ad42d1948" - integrity sha512-sKNJZlVWW9s0+Xy8WVaGZTX8jVXvkY85ooDTv21ryAS0gzQ4PzHUvqQFQSgtZSbszU2/Qpi13u2h5oZBBYFm8g== +"@vue/ref-transform@3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@vue/ref-transform/-/ref-transform-3.2.11.tgz#4d282b9570d1485a73e7bf5d57cce27b4a7aa690" + integrity sha512-7rX0YsfYb7+1PeKPME1tQyUQcQgt0sIXRRnPD1Vw8Zs2KIo90YLy9CrvwalcRCxGw0ScsjBEhVjJtWIT79TElg== dependencies: "@babel/parser" "^7.15.0" - "@vue/compiler-core" "3.2.9" - "@vue/shared" "3.2.9" + "@vue/compiler-core" "3.2.11" + "@vue/shared" "3.2.11" estree-walker "^2.0.2" magic-string "^0.25.7" -"@vue/shared@3.2.9": - version "3.2.9" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.9.tgz#44e44dbd82819997f192fb7dbdb90af5715dbf52" - integrity sha512-+CifxkLVhjKT14g/LMZil8//SdCzkMkS8VfRX0cqNJiFKK4AWvxj0KV1dhbr8czikY0DZUGQew3tRMRRChMGtA== +"@vue/shared@3.2.11": + version "3.2.11" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.11.tgz#01899f54949caf1ac241de397bd17069632574de" + integrity sha512-ovfXAsSsCvV9JVceWjkqC/7OF5HbgLOtCWjCIosmPGG8lxbPuavhIxRH1dTx4Dg9xLgRTNLvI3pVxG4ItQZekg== "@webassemblyjs/ast@1.11.1": version "1.11.1" From 1d325c3433203858055d90dec21c9f7dd8a3c273 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 03:02:40 +0000 Subject: [PATCH 06/13] Bump sass from 1.39.0 to 1.39.2 in /frontend Bumps [sass](https://github.com/sass/dart-sass) from 1.39.0 to 1.39.2. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.39.0...1.39.2) --- updated-dependencies: - dependency-name: sass dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- frontend/package.json | 2 +- frontend/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index ed40078817..486c05c7c9 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -17,7 +17,7 @@ "lodash.clonedeep": "^4.5.0", "postcss": "^8.1.14", "resolve-url-loader": "^4.0.0", - "sass": "^1.39.0", + "sass": "^1.39.2", "sass-loader": "^12.0.0", "vue-i18n": "^8.24.2", "vue-loader": "^15", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index e8498e320d..e62a547e05 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -5698,10 +5698,10 @@ sass-loader@^12.0.0: klona "^2.0.4" neo-async "^2.6.2" -sass@^1.39.0: - version "1.39.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.39.0.tgz#6c64695d1c437767c8f1a4e471288e831f81d035" - integrity sha512-F4o+RhJkNOIG0b6QudYU8c78ZADKZjKDk5cyrf8XTKWfrgbtyVVXImFstJrc+1pkQDCggyidIOytq6gS4gCCZg== +sass@^1.39.2: + version "1.39.2" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.39.2.tgz#1681964378f58d76fc64a6a502619bd5ac99f660" + integrity sha512-4/6Vn2RPc+qNwSclUSKvssh7dqK1Ih3FfHBW16I/GfH47b3scbYeOw65UIrYG7PkweFiKbpJjgkf5CV8EMmvzw== dependencies: chokidar ">=3.0.0 <4.0.0" From 12535706d080b31212e84f341a404ffc71b1f854 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 03:02:51 +0000 Subject: [PATCH 07/13] Bump axios from 0.21.3 to 0.21.4 in /frontend Bumps [axios](https://github.com/axios/axios) from 0.21.3 to 0.21.4. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/0.21.3...v0.21.4) --- updated-dependencies: - dependency-name: axios dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- frontend/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index e8498e320d..8dfeef627a 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1528,9 +1528,9 @@ axios-cache-adapter@^2.7.3: md5 "^2.2.1" axios@^0.21: - version "0.21.3" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.3.tgz#f85d9b747f9b66d59ca463605cedf1844872b82e" - integrity sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA== + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: follow-redirects "^1.14.0" From d1033251ff6b34e06d2463d7015f58ddce67c204 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 10:00:07 +0000 Subject: [PATCH 08/13] Bump webpack from 5.52.0 to 5.52.1 in /frontend Bumps [webpack](https://github.com/webpack/webpack) from 5.52.0 to 5.52.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.52.0...v5.52.1) --- updated-dependencies: - dependency-name: webpack dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- frontend/package.json | 2 +- frontend/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index ed40078817..8106d20c6e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -23,7 +23,7 @@ "vue-loader": "^15", "vue-template-compiler": "^2.6.12", "vuex": "^3.6.2", - "webpack": "^5.52.0" + "webpack": "^5.52.1" }, "dependencies": { "@fortawesome/fontawesome-free": "^5.15.3", diff --git a/frontend/yarn.lock b/frontend/yarn.lock index e8498e320d..6c7adc736a 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -6656,10 +6656,10 @@ webpack-sources@^3.2.0: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.0.tgz#b16973bcf844ebcdb3afde32eda1c04d0b90f89d" integrity sha512-fahN08Et7P9trej8xz/Z7eRu8ltyiygEo/hnRi9KqBUs80KeDcnf96ZJo++ewWd84fEf3xSX9bp4ZS9hbw0OBw== -webpack@^5.38.1, webpack@^5.52.0: - version "5.52.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.52.0.tgz#88d997c2c3ebb62abcaa453d2a26e0fd917c71a3" - integrity sha512-yRZOat8jWGwBwHpco3uKQhVU7HYaNunZiJ4AkAVQkPCUGoZk/tiIXiwG+8HIy/F+qsiZvSOa+GLQOj3q5RKRYg== +webpack@^5.38.1, webpack@^5.52.1: + version "5.52.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.52.1.tgz#2dc1d9029ecb7acfb80da7bf67baab67baa517a7" + integrity sha512-wkGb0hLfrS7ML3n2xIKfUIwHbjB6gxwQHyLmVHoAqEQBw+nWo+G6LoHL098FEXqahqximsntjBLuewStrnJk0g== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" From f230aba392d1ff8eb2e9b54d58adb337fc57e7a5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Sep 2021 10:00:35 +0000 Subject: [PATCH 09/13] Bump laravel-mix from 6.0.29 to 6.0.31 in /frontend Bumps [laravel-mix](https://github.com/JeffreyWay/laravel-mix) from 6.0.29 to 6.0.31. - [Release notes](https://github.com/JeffreyWay/laravel-mix/releases) - [Changelog](https://github.com/laravel-mix/laravel-mix/blob/master/CHANGELOG.md) - [Commits](https://github.com/JeffreyWay/laravel-mix/commits) --- updated-dependencies: - dependency-name: laravel-mix dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- frontend/yarn.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/frontend/yarn.lock b/frontend/yarn.lock index e8498e320d..3978ffebe9 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1406,10 +1406,10 @@ ansi-escapes@^4.3.1: dependencies: type-fest "^0.21.3" -ansi-html@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^5.0.0: version "5.0.0" @@ -4196,9 +4196,9 @@ klona@^2.0.4: integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== laravel-mix@^6: - version "6.0.29" - resolved "https://registry.yarnpkg.com/laravel-mix/-/laravel-mix-6.0.29.tgz#4b07b731f3d3de624d19e392a2bd93ca741a5b69" - integrity sha512-GGDpeicvHYh6J6uickr1ZiDtJdNuKsQUjWrthB4MTaN0ZzxL0kLxpNXIRHGhpoEHM+2Tl/tA40ATIDAAumCyow== + version "6.0.31" + resolved "https://registry.yarnpkg.com/laravel-mix/-/laravel-mix-6.0.31.tgz#c33b869d11549e781484c52f11b12405cecc72a1" + integrity sha512-T9uFNNARS5hXl5JggCkLKybwAnyYEHBXzPseC0yJ/6EVK7eyvPOq2UAGDVqhfYTZKxrMd5B5ww1kEooDRoH+OA== dependencies: "@babel/core" "^7.14.5" "@babel/plugin-proposal-object-rest-spread" "^7.14.5" @@ -4245,7 +4245,7 @@ laravel-mix@^6: vue-style-loader "^4.1.3" webpack "^5.38.1" webpack-cli "^4.7.2" - webpack-dev-server "4.0.0-rc.1" + webpack-dev-server "4.1.1" webpack-merge "^5.8.0" webpack-notifier "^1.13.0" webpackbar "^5.0.0-3" @@ -6596,12 +6596,12 @@ webpack-dev-middleware@^5.0.0: range-parser "^1.2.1" schema-utils "^3.0.0" -webpack-dev-server@4.0.0-rc.1: - version "4.0.0-rc.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.0.0-rc.1.tgz#4826530cdff3ebe56d3a5e0fa3e7d1e006b40d33" - integrity sha512-gZlGe0CMA0YZ5bIXFbtSegd33tYsUujYv+rgJu9Y75xHvXBSXFJiBvakMV7yTkBE+k8dgz4VsBzl7J5I5xatyg== +webpack-dev-server@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.1.1.tgz#e8eb8f0ce1a0e1fa65e234641763c97735398bed" + integrity sha512-Kl1mnCEw8Cy1Kw173gCxLIB242LfPKEOj9WoKhKz/MbryZTNrILzOJTk8kiczw/YUEPzn3gcltCQv6hDsLudRg== dependencies: - ansi-html "^0.0.7" + ansi-html-community "^0.0.8" bonjour "^3.5.0" chokidar "^3.5.1" colorette "^1.2.2" From d7a5da0fc9624c1e7c6b863fa765f09751ab25cc Mon Sep 17 00:00:00 2001 From: Lorenzo Breda Date: Mon, 13 Sep 2021 21:02:42 +0200 Subject: [PATCH 10/13] Remove .idea from .gitignore --- .gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 1ecebf0dac..e833f8dbd2 100644 --- a/.gitignore +++ b/.gitignore @@ -15,5 +15,4 @@ yarn-error.log public/google*.html report.html composer.phar -app.js.map -.idea \ No newline at end of file +app.js.map \ No newline at end of file From 91b1a8933467a4ddf877b56664d7ec52a94a826b Mon Sep 17 00:00:00 2001 From: Lorenzo Breda Date: Mon, 13 Sep 2021 21:04:55 +0200 Subject: [PATCH 11/13] Change serviceworker.js license holder --- frontend/src/serviceworker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/serviceworker.js b/frontend/src/serviceworker.js index 1eb9b19f82..dda3b1111b 100644 --- a/frontend/src/serviceworker.js +++ b/frontend/src/serviceworker.js @@ -1,6 +1,6 @@ /* * serviceworker.js - * Copyright (c) 2021 james@firefly-iii.org + * Copyright (c) 2021 Lorenzo Breda (https://github.com/lbreda) * * This file is part of Firefly III (https://github.com/firefly-iii). * From a815d7b3e28fb110de1e726aa51acf8cfcd615f6 Mon Sep 17 00:00:00 2001 From: Lorenzo Breda Date: Mon, 13 Sep 2021 21:06:24 +0200 Subject: [PATCH 12/13] Delete the offline page translations --- resources/lang/en_GB/errors.php | 4 ---- resources/lang/it_IT/errors.php | 4 ---- 2 files changed, 8 deletions(-) diff --git a/resources/lang/en_GB/errors.php b/resources/lang/en_GB/errors.php index b63c231504..4dac63fc73 100644 --- a/resources/lang/en_GB/errors.php +++ b/resources/lang/en_GB/errors.php @@ -47,8 +47,4 @@ return [ 'tell_more' => 'Tell us more than "it says Whoops!"', 'include_logs' => 'Include error logs (see above).', 'what_did_you_do' => 'Tell us what you were doing.', - 'offline_header' => 'You are probably offline', - 'offline_unreachable' => 'Firefly III is unreachable. Your device is currently offline or the server is not working.', - 'offline_github' => 'If you are sure both your device and the server are online, please open a ticket on GitHub.', - ]; diff --git a/resources/lang/it_IT/errors.php b/resources/lang/it_IT/errors.php index d95331ced9..5bb4f6a123 100644 --- a/resources/lang/it_IT/errors.php +++ b/resources/lang/it_IT/errors.php @@ -47,8 +47,4 @@ return [ 'tell_more' => 'Dicci di più di "dice Oops!"', 'include_logs' => 'Includi i log degli errori (vedi sopra).', 'what_did_you_do' => 'Dicci cosa stavi facendo.', - 'offline_header' => 'Sembreresti essere offline', - 'offline_unreachable' => 'Firefly III non è raggiungibile. Il tuo dispositivo sembrerebbe offline, o il server non sta funzionando.', - 'offline_github' => 'Se si è certi che sia il server che il dispositivo siano correttamente funzionanti, si può aprire un ticket GitHub.', - ]; From 232cdd69012e687a15c6bc781a1109745746af13 Mon Sep 17 00:00:00 2001 From: Lorenzo Breda Date: Mon, 13 Sep 2021 21:07:54 +0200 Subject: [PATCH 13/13] Rename `Offline.twig` -> `offline.twig` --- resources/views/errors/{Offline.twig => offline.twig} | 0 routes/web.php | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename resources/views/errors/{Offline.twig => offline.twig} (100%) diff --git a/resources/views/errors/Offline.twig b/resources/views/errors/offline.twig similarity index 100% rename from resources/views/errors/Offline.twig rename to resources/views/errors/offline.twig diff --git a/routes/web.php b/routes/web.php index cdf8a51a0c..d9b42c4b44 100644 --- a/routes/web.php +++ b/routes/web.php @@ -40,7 +40,7 @@ Route::group( Route::group( ['middleware' => 'binders-only'], static function () { - Route::get('offline', fn () => view('errors.Offline')); + Route::get('offline', fn () => view('errors.offline')); } );