underpost 2.7.83 → 2.7.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/.github/workflows/ghpkg.yml +41 -1
  2. package/.github/workflows/pwa-microservices-template.page.yml +54 -0
  3. package/.vscode/settings.json +7 -0
  4. package/CHANGELOG.md +64 -16
  5. package/bin/cron.js +47 -0
  6. package/bin/db.js +60 -7
  7. package/bin/deploy.js +345 -15
  8. package/bin/file.js +17 -1
  9. package/bin/index.js +1 -1
  10. package/bin/util.js +31 -1
  11. package/conf.js +18 -4
  12. package/docker-compose.yml +1 -1
  13. package/package.json +3 -3
  14. package/src/api/core/core.router.js +9 -9
  15. package/src/api/core/core.service.js +12 -4
  16. package/src/api/default/default.service.js +4 -4
  17. package/src/api/file/file.service.js +3 -3
  18. package/src/api/user/user.service.js +10 -8
  19. package/src/client/components/core/CommonJs.js +3 -0
  20. package/src/client/components/core/CssCore.js +30 -3
  21. package/src/client/components/core/Docs.js +110 -10
  22. package/src/client/components/core/LoadingAnimation.js +4 -2
  23. package/src/client/components/core/Modal.js +224 -22
  24. package/src/client/components/core/Panel.js +1 -1
  25. package/src/client/components/core/PanelForm.js +2 -1
  26. package/src/client/components/core/Responsive.js +34 -5
  27. package/src/client/components/core/RichText.js +4 -2
  28. package/src/client/components/core/WebComponent.js +44 -0
  29. package/src/client/components/core/Worker.js +13 -15
  30. package/src/client/public/default/plantuml/client-conf.svg +1 -1
  31. package/src/client/public/default/plantuml/client-schema.svg +1 -1
  32. package/src/client/public/default/plantuml/cron-conf.svg +1 -1
  33. package/src/client/public/default/plantuml/cron-schema.svg +1 -1
  34. package/src/client/public/default/plantuml/server-conf.svg +1 -1
  35. package/src/client/public/default/plantuml/server-schema.svg +1 -1
  36. package/src/client/public/default/plantuml/ssr-conf.svg +1 -1
  37. package/src/client/public/default/plantuml/ssr-schema.svg +1 -1
  38. package/src/client/public/default/site.webmanifest +69 -0
  39. package/src/client/ssr/components/body/CacheControl.js +1 -1
  40. package/src/client/ssr/components/head/Production.js +1 -0
  41. package/src/client/ssr/components/head/Pwa.js +146 -0
  42. package/src/client/ssr/components/head/Seo.js +14 -0
  43. package/src/client/ssr/pages/maintenance.js +14 -0
  44. package/src/client/ssr/pages/offline.js +21 -0
  45. package/src/client/sw/default.sw.js +4 -2
  46. package/src/db/DataBaseProvider.js +12 -1
  47. package/src/db/mongo/MongooseDB.js +0 -1
  48. package/src/runtime/lampp/Lampp.js +9 -9
  49. package/src/server/backup.js +82 -70
  50. package/src/server/client-build.js +46 -94
  51. package/src/server/conf.js +82 -18
  52. package/src/server/crypto.js +91 -0
  53. package/src/server/dns.js +48 -16
  54. package/src/server/network.js +94 -7
  55. package/src/server/proxy.js +27 -27
  56. package/src/server/runtime.js +4 -2
  57. package/src/server/ssl.js +2 -2
  58. package/src/client/ssr/offline/default.index.js +0 -31
  59. package/src/cron.js +0 -30
  60. package/src/server/cron.js +0 -35
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="148px" preserveAspectRatio="none" style="width:387px;height:148px;background:#FFFFFF;" version="1.1" viewBox="0 0 387 148" width="387px" zoomAndPan="magnify"><defs/><g><rect fill="#F1F1F1" height="21.6094" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="81" x="10" y="67.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="49" x="15" y="84.0332">Default</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="74" y="84.0332">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="69" x2="69" y1="67.5" y2="89.1094"/><rect fill="none" height="21.6094" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="81" x="10" y="67.5"/><rect fill="#F1F1F1" height="43.2188" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="67" x="128" y="57"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="34" x="133" y="73.5332">head</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="178" y="73.5332">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="173" x2="173" y1="57" y2="78.6094"/><line style="stroke:#000000;stroke-width:1.0;" x1="128" x2="195" y1="78.6094" y2="78.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="133" y="95.1426">body</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="178" y="95.1426">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="173" x2="173" y1="78.6094" y2="100.2188"/><rect fill="none" height="43.2188" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="67" x="128" y="57"/><rect fill="#F1F1F1" height="64.8281" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="98" x="254.5" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="259.5" y="26.5332">PwaDefault</text><line style="stroke:#000000;stroke-width:1.0;" x1="254.5" x2="352.5" y1="31.6094" y2="31.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="24" x="259.5" y="48.1426">Css</text><line style="stroke:#000000;stroke-width:1.0;" x1="254.5" x2="352.5" y1="53.2188" y2="53.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="259.5" y="69.752">DefaultScripts</text><rect fill="none" height="64.8281" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="98" x="254.5" y="10"/><rect fill="#F1F1F1" height="43.2188" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="143" x="232" y="93"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="237" y="109.5332">CacheControl</text><line style="stroke:#000000;stroke-width:1.0;" x1="232" x2="375" y1="114.6094" y2="114.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="237" y="131.1426">DefaultSplashScreen</text><rect fill="none" height="43.2188" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="143" x="232" y="93"/><path d="M183,67.5 L196,67.5 C212.9566,67.5 231.0378,64.4861 247.4183,60.5512 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M248.1643,63.5097 L249.6372,59.9916 L246.6722,57.5926 L254.8146,58.6859 L248.1643,63.5097 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="183" cy="67.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M183,89.5 L196,89.5 C205.4079,89.5 215.162,90.4278 224.7798,91.9259 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M224.253,94.9958 L227.0822,92.3209 L225.3065,88.856 L232.4545,93.2428 L224.253,94.9958 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="183" cy="89.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M79,78.5 L92,78.5 C101.2651,78.5 111.2301,78.5 120.6263,78.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M120.6263,81.5925 L122.9456,78.5 L120.6263,75.4075 L128.3574,78.5 L120.6263,81.5925 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="79" cy="78.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/></g></svg>
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="181px" preserveAspectRatio="none" style="width:409px;height:181px;background:#FFFFFF;" version="1.1" viewBox="0 0 409 181" width="409px" zoomAndPan="magnify"><defs/><g><rect fill="#F1F1F1" height="20.2969" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="88" x="10" y="95.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="56" x="15" y="110.4951">Default</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="81" y="110.4951">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="76" x2="76" y1="95.5" y2="115.7969"/><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="88" x="10" y="95.5"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="71" x="135" y="85"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="39" x="140" y="99.9951">head</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="189" y="99.9951">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="184" x2="184" y1="85" y2="105.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="135" x2="206" y1="105.2969" y2="105.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="39" x="140" y="120.292">body</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="189" y="120.292">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="184" x2="184" y1="105.2969" y2="125.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="71" x="135" y="85"/><rect fill="#F1F1F1" height="101.4844" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="106" x="267" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="27" x="272" y="24.9951">Seo</text><line style="stroke:#000000;stroke-width:1.0;" x1="267" x2="373" y1="30.2969" y2="30.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="272" y="45.292">Pwa</text><line style="stroke:#000000;stroke-width:1.0;" x1="267" x2="373" y1="50.5938" y2="50.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="26" x="272" y="65.5889">Css</text><line style="stroke:#000000;stroke-width:1.0;" x1="267" x2="373" y1="70.8906" y2="70.8906"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="96" x="272" y="85.8857">DefaultScripts</text><line style="stroke:#000000;stroke-width:1.0;" x1="267" x2="373" y1="91.1875" y2="91.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="272" y="106.1826">Production</text><rect fill="none" height="101.4844" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="106" x="267" y="10"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="154" x="243" y="129"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="248" y="143.9951">CacheControl</text><line style="stroke:#000000;stroke-width:1.0;" x1="243" x2="397" y1="149.2969" y2="149.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="144" x="248" y="164.292">DefaultSplashScreen</text><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="154" x="243" y="129"/><path d="M194,94.5 L207,94.5 C224.5169,94.5 242.9373,90.6762 259.6851,85.5933 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M260.651,88.6205 L261.9554,84.8688 L258.7191,82.5661 L267.253,83.1785 L260.651,88.6205 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="194" cy="94.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M194,115.5 L207,115.5 C216.9946,115.5 235.8154,120.4794 255.2433,126.627 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M254.319,129.4949 L257.3942,127.3202 L256.1675,123.759 L262.4131,128.9377 L254.319,129.4949 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="194" cy="115.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M86,105.5 L99,105.5 C108.2448,105.5 118.1667,105.5 127.5755,105.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M127.5755,108.6026 L129.9024,105.5 L127.5755,102.3974 L135.332,105.5 L127.5755,108.6026 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="86" cy="105.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/></g></svg>
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="126px" preserveAspectRatio="none" style="width:786px;height:126px;background:#FFFFFF;" version="1.1" viewBox="0 0 786 126" width="786px" zoomAndPan="magnify"><defs/><g><rect fill="#F1F1F1" height="43.2188" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="128" x="10" y="18"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="15" y="34.5332">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="95" y="34.5332">object</text><line style="stroke:#000000;stroke-width:1.0;" x1="90" x2="90" y1="18" y2="39.6094"/><line style="stroke:#000000;stroke-width:1.0;" x1="10" x2="138" y1="39.6094" y2="39.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="70" x="15" y="56.1426">properties</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="95" y="56.1426">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="90" x2="90" y1="39.6094" y2="61.2188"/><rect fill="none" height="43.2188" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="128" x="10" y="18"/><rect fill="#F1F1F1" height="21.6094" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="81" x="175" y="39.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="49" x="180" y="56.0332">Default</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="239" y="56.0332">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="234" x2="234" y1="39.5" y2="61.1094"/><rect fill="none" height="21.6094" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="81" x="175" y="39.5"/><rect fill="#F1F1F1" height="43.2188" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="128" x="293" y="29"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="298" y="45.5332">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="378" y="45.5332">object</text><line style="stroke:#000000;stroke-width:1.0;" x1="373" x2="373" y1="29" y2="50.6094"/><line style="stroke:#000000;stroke-width:1.0;" x1="293" x2="421" y1="50.6094" y2="50.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="70" x="298" y="67.1426">properties</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="378" y="67.1426">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="373" x2="373" y1="50.6094" y2="72.2188"/><rect fill="none" height="43.2188" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="128" x="293" y="29"/><rect fill="#F1F1F1" height="43.2188" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="67" x="458" y="40"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="34" x="463" y="56.5332">head</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="508" y="56.5332">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="503" x2="503" y1="40" y2="61.6094"/><line style="stroke:#000000;stroke-width:1.0;" x1="458" x2="525" y1="61.6094" y2="61.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="463" y="78.1426">body</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="508" y="78.1426">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="503" x2="503" y1="61.6094" y2="83.2188"/><rect fill="none" height="43.2188" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="67" x="458" y="40"/><rect fill="#F1F1F1" height="43.2188" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="90" x="562" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="567" y="26.5332">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="614" y="26.5332">array</text><line style="stroke:#000000;stroke-width:1.0;" x1="609" x2="609" y1="10" y2="31.6094"/><line style="stroke:#000000;stroke-width:1.0;" x1="562" x2="652" y1="31.6094" y2="31.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="37" x="567" y="48.1426">items</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="614" y="48.1426">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="609" x2="609" y1="31.6094" y2="53.2188"/><rect fill="none" height="43.2188" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="90" x="562" y="10"/><rect fill="#F1F1F1" height="21.6094" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="85" x="689" y="31.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="694" y="48.0332">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="734" y="48.0332">string</text><line style="stroke:#000000;stroke-width:1.0;" x1="729" x2="729" y1="31.5" y2="53.1094"/><rect fill="none" height="21.6094" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="85" x="689" y="31.5"/><rect fill="#F1F1F1" height="43.2188" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="90" x="562" y="71"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="567" y="87.5332">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="614" y="87.5332">array</text><line style="stroke:#000000;stroke-width:1.0;" x1="609" x2="609" y1="71" y2="92.6094"/><line style="stroke:#000000;stroke-width:1.0;" x1="562" x2="652" y1="92.6094" y2="92.6094"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="37" x="567" y="109.1426">items</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="614" y="109.1426">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="609" x2="609" y1="92.6094" y2="114.2188"/><rect fill="none" height="43.2188" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="90" x="562" y="71"/><rect fill="#F1F1F1" height="21.6094" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="85" x="689" y="92.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="30" x="694" y="109.0332">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="35" x="734" y="109.0332">string</text><line style="stroke:#000000;stroke-width:1.0;" x1="729" x2="729" y1="92.5" y2="114.1094"/><rect fill="none" height="21.6094" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="85" x="689" y="92.5"/><path d="M640,42.5 L653,42.5 C662.2961,42.5 672.2155,42.5 681.7553,42.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M681.7553,45.5201 L684.0204,42.5 L681.7553,39.4799 L689.3056,42.5 L681.7553,45.5201 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="640" cy="42.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M513,50.5 L526,50.5 C535.4045,50.5 545.2657,49.2565 554.7344,47.4057 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M555.3753,50.403 L556.9824,46.925 L554.0935,44.4083 L562.2278,45.8034 L555.3753,50.403 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="513" cy="50.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M640,103.5 L653,103.5 C662.2961,103.5 672.2155,103.5 681.7553,103.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M681.7553,106.5201 L684.0204,103.5 L681.7553,100.4799 L689.3056,103.5 L681.7553,106.5201 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="640" cy="103.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M513,72.5 L526,72.5 C535.4312,72.5 545.3055,73.809 554.7789,75.7572 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M554.1042,78.7553 L557.0275,76.2632 L555.4535,72.759 L562.2743,77.4438 L554.1042,78.7553 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="513" cy="72.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M409,61.5 L422,61.5 C431.2651,61.5 441.2301,61.5 450.6263,61.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M450.6263,64.5925 L452.9456,61.5 L450.6263,58.4075 L458.3574,61.5 L450.6263,64.5925 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="409" cy="61.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M244,50.5 L257,50.5 C266.2687,50.5 276.0232,50.5 285.6525,50.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M285.6525,53.5736 L287.9577,50.5 L285.6525,47.4264 L293.3365,50.5 L285.6525,53.5736 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="244" cy="50.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M126,50.5 L139,50.5 C148.266,50.5 158.1675,50.5 167.6585,50.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M167.6585,53.5014 L169.9096,50.5 L167.6585,47.4986 L175.1621,50.5 L167.6585,53.5014 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="126" cy="50.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/></g></svg>
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="121px" preserveAspectRatio="none" style="width:848px;height:121px;background:#FFFFFF;" version="1.1" viewBox="0 0 848 121" width="848px" zoomAndPan="magnify"><defs/><g><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="146" x="10" y="20"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="15" y="34.9951">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="108" y="34.9951">object</text><line style="stroke:#000000;stroke-width:1.0;" x1="103" x2="103" y1="20" y2="40.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="10" x2="156" y1="40.2969" y2="40.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="83" x="15" y="55.292">properties</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="108" y="55.292">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="103" x2="103" y1="40.2969" y2="60.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="146" x="10" y="20"/><rect fill="#F1F1F1" height="20.2969" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="88" x="193" y="40.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="56" x="198" y="55.4951">Default</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="264" y="55.4951">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="259" x2="259" y1="40.5" y2="60.7969"/><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="88" x="193" y="40.5"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="146" x="318" y="30"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="323" y="44.9951">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="416" y="44.9951">object</text><line style="stroke:#000000;stroke-width:1.0;" x1="411" x2="411" y1="30" y2="50.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="318" x2="464" y1="50.2969" y2="50.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="83" x="323" y="65.292">properties</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="416" y="65.292">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="411" x2="411" y1="50.2969" y2="70.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="146" x="318" y="30"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="71" x="501" y="40"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="39" x="506" y="54.9951">head</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="555" y="54.9951">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="550" x2="550" y1="40" y2="60.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="501" x2="572" y1="60.2969" y2="60.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="39" x="506" y="75.292">body</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="555" y="75.292">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="550" x2="550" y1="60.2969" y2="80.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="71" x="501" y="40"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="96" x="609" y="10"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="614" y="24.9951">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="667" y="24.9951">array</text><line style="stroke:#000000;stroke-width:1.0;" x1="662" x2="662" y1="10" y2="30.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="609" x2="705" y1="30.2969" y2="30.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="614" y="45.292">items</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="667" y="45.292">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="662" x2="662" y1="30.2969" y2="50.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="96" x="609" y="10"/><rect fill="#F1F1F1" height="20.2969" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="94" x="742" y="30.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="747" y="45.4951">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="39" x="792" y="45.4951">string</text><line style="stroke:#000000;stroke-width:1.0;" x1="787" x2="787" y1="30.5" y2="50.7969"/><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="94" x="742" y="30.5"/><rect fill="#F1F1F1" height="40.5938" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="96" x="609" y="69"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="614" y="83.9951">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33" x="667" y="83.9951">array</text><line style="stroke:#000000;stroke-width:1.0;" x1="662" x2="662" y1="69" y2="89.2969"/><line style="stroke:#000000;stroke-width:1.0;" x1="609" x2="705" y1="89.2969" y2="89.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="43" x="614" y="104.292">items</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="12" x="667" y="104.292">   </text><line style="stroke:#000000;stroke-width:1.0;" x1="662" x2="662" y1="89.2969" y2="109.5938"/><rect fill="none" height="40.5938" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="96" x="609" y="69"/><rect fill="#F1F1F1" height="20.2969" rx="5" ry="5" style="stroke:#F1F1F1;stroke-width:1.5;" width="94" x="742" y="89.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="35" x="747" y="104.4951">type</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="39" x="792" y="104.4951">string</text><line style="stroke:#000000;stroke-width:1.0;" x1="787" x2="787" y1="89.5" y2="109.7969"/><rect fill="none" height="20.2969" rx="5" ry="5" style="stroke:#000000;stroke-width:1.5;" width="94" x="742" y="89.5"/><path d="M693,40.5 L706,40.5 C715.2674,40.5 725.1203,40.5 734.6708,40.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M734.6708,43.531 L736.9441,40.5 L734.6708,37.469 L742.2484,40.5 L734.6708,43.531 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="693" cy="40.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M560,49.5 L573,49.5 C582.3848,49.5 592.2184,48.3447 601.7089,46.604 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M602.3132,49.6129 L603.9656,46.1508 L601.1046,43.595 L609.2313,45.0933 L602.3132,49.6129 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="560" cy="49.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M693,99.5 L706,99.5 C715.2674,99.5 725.1203,99.5 734.6708,99.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M734.6708,102.531 L736.9441,99.5 L734.6708,96.469 L742.2484,99.5 L734.6708,102.531 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="693" cy="99.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M560,70.5 L573,70.5 C582.3848,70.5 592.2184,71.6553 601.7089,73.396 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M601.1046,76.405 L603.9656,73.8492 L602.3132,70.3871 L609.2313,74.9067 L601.1046,76.405 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="560" cy="70.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M452,60.5 L465,60.5 C474.2448,60.5 484.1667,60.5 493.5755,60.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M493.5755,63.6026 L495.9024,60.5 L493.5755,57.3974 L501.332,60.5 L493.5755,63.6026 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="452" cy="60.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M269,50.5 L282,50.5 C291.2896,50.5 301.0267,50.5 310.694,50.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M310.694,53.5913 L313.0124,50.5 L310.694,47.4087 L318.4221,50.5 L310.694,53.5913 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="269" cy="50.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/><path d="M144,50.5 L157,50.5 C166.2571,50.5 176.1205,50.5 185.6372,50.5 " fill="none" style="stroke:#000000;stroke-width:1.0;stroke-dasharray:3.0,3.0;"/><path d="M185.6372,53.5158 L187.899,50.5 L185.6372,47.4842 L193.1767,50.5 L185.6372,53.5158 " fill="#000000" style="stroke:#000000;stroke-width:1.0;"/><ellipse cx="144" cy="50.5" fill="#000000" rx="3" ry="3" style="stroke:#000000;stroke-width:1.0;"/></g></svg>
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "Default",
3
+ "short_name": "Default",
4
+ "description": null,
5
+ "dir": "auto",
6
+ "lang": "en-US",
7
+ "display": "standalone",
8
+ "orientation": "any",
9
+ "scope": "/",
10
+ "start_url": "/?homescreen=1",
11
+ "background_color": "#fff",
12
+ "theme_color": "#fff",
13
+ "icons": [
14
+ {
15
+ "src": "/android-chrome-36x36.png",
16
+ "sizes": "36x36",
17
+ "type": "image/png",
18
+ "purpose": "any maskable"
19
+ },
20
+ {
21
+ "src": "/android-chrome-48x48.png",
22
+ "sizes": "48x48",
23
+ "type": "image/png",
24
+ "purpose": "any maskable"
25
+ },
26
+ {
27
+ "src": "/android-chrome-72x72.png",
28
+ "sizes": "72x72",
29
+ "type": "image/png",
30
+ "purpose": "any maskable"
31
+ },
32
+ {
33
+ "src": "/android-chrome-96x96.png",
34
+ "sizes": "96x96",
35
+ "type": "image/png",
36
+ "purpose": "any maskable"
37
+ },
38
+ {
39
+ "src": "/android-chrome-144x144.png",
40
+ "sizes": "144x144",
41
+ "type": "image/png",
42
+ "purpose": "any maskable"
43
+ },
44
+ {
45
+ "src": "/android-chrome-192x192.png",
46
+ "sizes": "192x192",
47
+ "type": "image/png",
48
+ "purpose": "any maskable"
49
+ },
50
+ {
51
+ "src": "/android-chrome-256x256.png",
52
+ "sizes": "256x256",
53
+ "type": "image/png",
54
+ "purpose": "any maskable"
55
+ },
56
+ {
57
+ "src": "/android-chrome-384x384.png",
58
+ "sizes": "384x384",
59
+ "type": "image/png",
60
+ "purpose": "any maskable"
61
+ },
62
+ {
63
+ "src": "/android-chrome-512x512.png",
64
+ "sizes": "512x512",
65
+ "type": "image/png",
66
+ "purpose": "any maskable"
67
+ }
68
+ ]
69
+ }
@@ -109,6 +109,6 @@ SrrComponent = ({ ttiLoadTimeLimit }) => {
109
109
  const CacheControl = ${CacheControl};
110
110
  CacheControl({ ttiLoadTimeLimit: ${ttiLoadTimeLimit ? ttiLoadTimeLimit : 1000 * 70 * 1} });
111
111
  </script>
112
- <div class="clean-cache-container">v2.7.83</div>
112
+ <div class="clean-cache-container">v2.7.91</div>
113
113
  `;
114
114
  };
@@ -0,0 +1 @@
1
+ SrrComponent = () => html``;
@@ -0,0 +1,146 @@
1
+ SrrComponent = ({
2
+ title,
3
+ author,
4
+ keywords,
5
+ description,
6
+ themeColor,
7
+ canonicalURL,
8
+ ssrPath,
9
+ thumbnail,
10
+ pwaAssetsPath,
11
+ }) => html`
12
+ <link rel="manifest" href="${ssrPath}site.webmanifest" />
13
+ <link
14
+ rel="icon"
15
+ type="image/png"
16
+ sizes="16x16"
17
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}favicon-16x16.png"
18
+ />
19
+ <link
20
+ rel="icon"
21
+ type="image/png"
22
+ sizes="32x32"
23
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}favicon-32x32.png"
24
+ />
25
+ <!-- <link rel="icon" type="image/png" sizes="194x194" href="${ssrPath}${pwaAssetsPath !== undefined
26
+ ? pwaAssetsPath
27
+ : 'assets/splash/'}favicon-194x194.png" /> -->
28
+ <!-- chrome -->
29
+ <link
30
+ rel="icon"
31
+ type="image/png"
32
+ sizes="36x36"
33
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-36x36.png"
34
+ />
35
+ <link
36
+ rel="icon"
37
+ type="image/png"
38
+ sizes="48x48"
39
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-48x48.png"
40
+ />
41
+ <link
42
+ rel="icon"
43
+ type="image/png"
44
+ sizes="72x72"
45
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-72x72.png"
46
+ />
47
+ <link
48
+ rel="icon"
49
+ type="image/png"
50
+ sizes="96x96"
51
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-96x96.png"
52
+ />
53
+ <link
54
+ rel="icon"
55
+ type="image/png"
56
+ sizes="144x144"
57
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-144x144.png"
58
+ />
59
+ <link
60
+ rel="icon"
61
+ type="image/png"
62
+ sizes="256x256"
63
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-256x256.png"
64
+ />
65
+ <link
66
+ rel="icon"
67
+ type="image/png"
68
+ sizes="384x384"
69
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-384x384.png"
70
+ />
71
+ <link
72
+ rel="icon"
73
+ type="image/png"
74
+ sizes="512x512"
75
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-512x512.png"
76
+ />
77
+ <!-- apple -->
78
+ <link
79
+ rel="apple-touch-icon"
80
+ sizes="180x180"
81
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}apple-touch-icon.png"
82
+ />
83
+ <link
84
+ rel="mask-icon"
85
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}safari-pinned-tab.svg"
86
+ color="${themeColor}"
87
+ />
88
+ <meta name="apple-mobile-web-app-title" content="${title}" />
89
+ <link
90
+ rel="apple-touch-icon"
91
+ type="image/png"
92
+ sizes="36x36"
93
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-36x36.png"
94
+ />
95
+ <link
96
+ rel="apple-touch-icon"
97
+ type="image/png"
98
+ sizes="48x48"
99
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-48x48.png"
100
+ />
101
+ <link
102
+ rel="apple-touch-icon"
103
+ type="image/png"
104
+ sizes="72x72"
105
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-72x72.png"
106
+ />
107
+ <link
108
+ rel="apple-touch-icon"
109
+ type="image/png"
110
+ sizes="96x96"
111
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-96x96.png"
112
+ />
113
+ <link
114
+ rel="apple-touch-icon"
115
+ type="image/png"
116
+ sizes="144x144"
117
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-144x144.png"
118
+ />
119
+ <link
120
+ rel="apple-touch-icon"
121
+ type="image/png"
122
+ sizes="256x256"
123
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-256x256.png"
124
+ />
125
+ <link
126
+ rel="apple-touch-icon"
127
+ type="image/png"
128
+ sizes="384x384"
129
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-384x384.png"
130
+ />
131
+ <link
132
+ rel="apple-touch-icon"
133
+ type="image/png"
134
+ sizes="512x512"
135
+ href="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}android-chrome-512x512.png"
136
+ />
137
+ <!-- microsoft -->
138
+ <meta name="msapplication-config" content="${ssrPath}browserconfig.xml" />
139
+ <meta name="application-name" content="${title}" />
140
+ <meta name="msapplication-TileColor" content="${themeColor}" />
141
+ <meta
142
+ name="msapplication-TileImage"
143
+ content="${ssrPath}${pwaAssetsPath !== undefined ? pwaAssetsPath : 'assets/splash/'}mstile-144x144.png"
144
+ />
145
+ <meta name="theme-color" content="${themeColor}" />
146
+ `;
@@ -0,0 +1,14 @@
1
+ SrrComponent = ({ title, author, keywords, description, themeColor, ssrPath, canonicalURL, thumbnail }) => html`
2
+ <link rel="canonical" href="${canonicalURL}" />
3
+
4
+ <meta name="author" content="${author}" />
5
+ <meta name="keywords" content="${keywords.join(',')}" />
6
+ <meta name="description" content="${description}" />
7
+ <meta name="theme-color" content="${themeColor}" />
8
+
9
+ <meta property="og:title" content="${title}" />
10
+ <meta property="og:description" content="${description}" />
11
+ <meta property="og:image" content="${thumbnail}" />
12
+ <meta property="og:url" content="${canonicalURL}" />
13
+ <meta name="twitter:card" content="summary_large_image" />
14
+ `;
@@ -0,0 +1,14 @@
1
+ import { htmls, loggerFactory } from '../common/SsrCore.js';
2
+ import { Alert } from '../common/Alert.js';
3
+ import { Translate } from '../common/Translate.js';
4
+ import { Worker } from '../common/Worker.js';
5
+ /*imports*/
6
+
7
+ const logger = loggerFactory({ url: location.toString() });
8
+
9
+ window.onload = () =>
10
+ Worker.instance({
11
+ render: async () => {
12
+ htmls(`.page-render`, html`${await Alert.maintenance({ Translate })}`);
13
+ },
14
+ });
@@ -0,0 +1,21 @@
1
+ import { htmls, loggerFactory } from '../common/SsrCore.js';
2
+ import { Alert } from '../common/Alert.js';
3
+ import { Translate } from '../common/Translate.js';
4
+ import { Worker } from '../common/Worker.js';
5
+ /*imports*/
6
+
7
+ const logger = loggerFactory({ url: location.toString() });
8
+
9
+ window.onload = () =>
10
+ Worker.instance({
11
+ render: async () => {
12
+ window.ononline = async () => {
13
+ location.href = location.pathname.split('/')[1] ? `/${location.pathname.split('/')[1].split('.')[0]}` : '/';
14
+ };
15
+ window.onoffline = async () => {
16
+ htmls(`.page-render`, html`${await Alert.noInternet({ Translate })}`);
17
+ };
18
+ if (navigator.onLine && !location.hostname.match('localhost')) window.ononline();
19
+ else window.onoffline();
20
+ },
21
+ });
@@ -37,6 +37,8 @@ even while offline, can asynchronously save files and many other things)
37
37
 
38
38
  const logger = loggerFactory(import.meta);
39
39
 
40
+ const PROXY_PATH = '/';
41
+
40
42
  self.addEventListener('install', (event) => {
41
43
  // Activate right away
42
44
  self.skipWaiting();
@@ -180,8 +182,8 @@ self.addEventListener('fetch', (event) => {
180
182
 
181
183
  logger.error('Fetch failed; returning offline page instead.', { error, path });
182
184
  try {
183
- const cache = await caches.open('/offline.html');
184
- const cachedResponse = await cache.match('/offline.html');
185
+ const cache = await caches.open(`${PROXY_PATH}offline.html`);
186
+ const cachedResponse = await cache.match(`${PROXY_PATH}offline.html`);
185
187
  return cachedResponse;
186
188
  } catch (error) {
187
189
  logger.error('Error opening cache for offline page', { error, path });
@@ -18,7 +18,18 @@ const DataBaseProvider = {
18
18
  case 'mongoose':
19
19
  {
20
20
  const conn = await MongooseDB.connect(db.host, db.name);
21
- this.instance[`${host}${path}`][db.provider] = await MongooseDB.loadModels({ conn, apis });
21
+ this.instance[`${host}${path}`][db.provider] = {
22
+ models: await MongooseDB.loadModels({ conn, apis }),
23
+ connection: conn,
24
+ close: async () => {
25
+ return await new Promise((resolve) => {
26
+ DataBaseProvider.instance[`${host}${path}`][db.provider].connection.close().then(() => {
27
+ // logger.info('Mongoose connection is disconnected', db);
28
+ return resolve();
29
+ });
30
+ });
31
+ },
32
+ };
22
33
  }
23
34
  break;
24
35
  default:
@@ -1,5 +1,4 @@
1
1
  import mongoose from 'mongoose';
2
- import cron from 'node-cron';
3
2
  import { loggerFactory } from '../../server/logger.js';
4
3
  import { getCapVariableName } from '../../client/components/core/CommonJs.js';
5
4
  import { shellCd, shellExec } from '../../server/process.js';
@@ -90,17 +90,17 @@ const Lampp = {
90
90
  `mkdir /www && \\` +
91
91
  `ln -s /www /opt/lampp/htdocs`,
92
92
  );
93
-
94
- if (fs.existsSync(`/opt/lampp/logs/access_log`))
95
- fs.copySync(`/opt/lampp/logs/access_log`, `/opt/lampp/logs/access.log`);
96
- if (fs.existsSync(`/opt/lampp/logs/error_log`))
97
- fs.copySync(`/opt/lampp/logs/error_log`, `/opt/lampp/logs/error.log`);
98
- if (fs.existsSync(`/opt/lampp/logs/php_error_log`))
99
- fs.copySync(`/opt/lampp/logs/php_error_log`, `/opt/lampp/logs/php_error.log`);
100
- if (fs.existsSync(`/opt/lampp/logs/ssl_request_log`))
101
- fs.copySync(`/opt/lampp/logs/ssl_request_log`, `/opt/lampp/logs/ssl_request.log`);
102
93
  }
103
94
 
95
+ if (fs.existsSync(`/opt/lampp/logs/access_log`))
96
+ fs.copySync(`/opt/lampp/logs/access_log`, `/opt/lampp/logs/access.log`);
97
+ if (fs.existsSync(`/opt/lampp/logs/error_log`))
98
+ fs.copySync(`/opt/lampp/logs/error_log`, `/opt/lampp/logs/error.log`);
99
+ if (fs.existsSync(`/opt/lampp/logs/php_error_log`))
100
+ fs.copySync(`/opt/lampp/logs/php_error_log`, `/opt/lampp/logs/php_error.log`);
101
+ if (fs.existsSync(`/opt/lampp/logs/ssl_request_log`))
102
+ fs.copySync(`/opt/lampp/logs/ssl_request_log`, `/opt/lampp/logs/ssl_request.log`);
103
+
104
104
  await Lampp.initService({ daemon: true });
105
105
  }
106
106