@underpostnet/cyberia 3.2.90 → 3.3.73
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.
- package/.dockerignore +1 -0
- package/.env.example +16 -0
- package/.github/workflows/coverall.cyberia.ci.yml +107 -0
- package/.github/workflows/cyberia-client.cd.yml +6 -18
- package/.github/workflows/cyberia-server.cd.yml +6 -18
- package/.github/workflows/docker-image.cyberia-client.ci.yml +8 -5
- package/.github/workflows/docker-image.cyberia-client.dev.ci.yml +8 -3
- package/.github/workflows/docker-image.cyberia-server.ci.yml +8 -5
- package/.github/workflows/docker-image.cyberia-server.dev.ci.yml +8 -5
- package/.github/workflows/docker-image.engine-cyberia.ci.yml +15 -1
- package/.github/workflows/docker-image.engine-cyberia.dev.ci.yml +15 -1
- package/.github/workflows/engine-cyberia.cd.yml +6 -78
- package/.github/workflows/engine-cyberia.ci.yml +4 -5
- package/.github/workflows/ghpkg.ci.yml +42 -21
- package/.github/workflows/hardhat.ci.yml +12 -11
- package/.github/workflows/npmpkg.ci.yml +17 -15
- package/.github/workflows/pwa-microservices-template-page.cd.yml +1 -16
- package/.github/workflows/pwa-microservices-template-test.ci.yml +2 -2
- package/.github/workflows/release.cd.yml +2 -9
- package/.prettierignore +1 -0
- package/AGENTS.md +47 -0
- package/CHANGELOG.md +581 -2417
- package/CLI-HELP.md +416 -127
- package/Dockerfile +25 -9
- package/Dockerfile.dev +25 -9
- package/Dockerfile.test +4 -4
- package/README.md +21 -1
- package/bin/build.js +70 -43
- package/bin/build.template.js +8 -3
- package/bin/cyberia.js +372 -135
- package/bin/deploy.js +18 -104
- package/bin/index.js +372 -135
- package/compose.env +16 -0
- package/conf.js +93 -4
- package/deploy/cyberia-client/deploy.sh +47 -0
- package/deploy/cyberia-client/package.sh +18 -0
- package/deploy/cyberia-client/state.sh +14 -0
- package/deploy/cyberia-server/deploy.sh +47 -0
- package/deploy/cyberia-server/package.sh +18 -0
- package/deploy/cyberia-server/state.sh +14 -0
- package/deploy/dd-cyberia/deploy.sh +22 -0
- package/deploy/dd-cyberia/init.sh +55 -0
- package/deploy/dd-cyberia/package.sh +17 -0
- package/deploy/dd-cyberia/state.sh +14 -0
- package/deploy/dd-cyberia/sync-deploy.sh +116 -0
- package/deploy/lib/github-actions-logging.sh +594 -0
- package/deploy/lib/host.sh +185 -0
- package/deploy/lib/state.sh +62 -0
- package/deploy/pwa-microservices-template/deploy.sh +45 -0
- package/deploy/release/deploy.sh +32 -0
- package/deployment.yaml +7 -2
- package/docker-compose.yml +31 -37
- package/examples/static-page/README.md +19 -19
- package/examples/static-page/ssr-components/CustomPage.js +2 -2
- package/hardhat/hardhat.config.js +1 -6
- package/hardhat/package-lock.json +104 -43
- package/hardhat/package.json +3 -3
- package/manifests/alertmanager/deployment.yaml +81 -0
- package/manifests/blackbox-exporter/deployment.yaml +75 -0
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +36 -7
- package/manifests/cronjobs/dd-cron/dd-cron-vultr.yaml +77 -0
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +7 -2
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
- package/manifests/grafana/deployment.yaml +26 -7
- package/manifests/grafana/kustomization.yaml +1 -0
- package/manifests/grafana/service.yaml +6 -1
- package/manifests/mariadb/pv.yaml +1 -0
- package/manifests/mongodb/statefulset.yaml +9 -2
- package/manifests/mysql/pv-pvc.yaml +14 -1
- package/manifests/postgresql/pv.yaml +12 -1
- package/manifests/postgresql/pvc.yaml +1 -0
- package/manifests/prometheus/deployment.yaml +18 -22
- package/package.json +83 -10
- package/scripts/audit-selinux.sh +64 -0
- package/scripts/event-monitor.sh +56 -0
- package/scripts/gpu-diag.sh +0 -0
- package/scripts/ip-info.sh +0 -0
- package/scripts/k3s-node-setup.sh +30 -14
- package/scripts/kubeadm-node-setup.sh +40 -31
- package/scripts/lxd-vm-setup.sh +0 -0
- package/scripts/maas-nat-firewalld.sh +0 -0
- package/scripts/maas-setup.sh +8 -8
- package/scripts/nat-iptables.sh +2 -0
- package/scripts/rhel-grpc-setup.sh +0 -0
- package/scripts/rocky-kickstart.sh +25 -9
- package/scripts/selinux-normalize.sh +907 -0
- package/scripts/shutdown-machine.sh +843 -0
- package/scripts/test-monitor.sh +3 -3
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +1 -1
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +2 -2
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +2 -2
- package/src/api/core/core.controller.js +1 -1
- package/src/api/core/core.router.js +2 -2
- package/src/api/core/core.service.js +2 -2
- package/src/api/crypto/crypto.controller.js +1 -1
- package/src/api/crypto/crypto.service.js +1 -1
- package/src/api/cyberia-action/cyberia-action.controller.js +1 -1
- package/src/api/cyberia-action/cyberia-action.router.js +1 -1
- package/src/api/cyberia-action/cyberia-action.service.js +2 -2
- package/src/api/cyberia-client-hints/cyberia-client-hints.controller.js +1 -1
- package/src/api/cyberia-client-hints/cyberia-client-hints.router.js +1 -1
- package/src/api/cyberia-client-hints/cyberia-client-hints.service.js +2 -2
- package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +1 -1
- package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +1 -1
- package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +2 -2
- package/src/api/cyberia-entity/cyberia-entity.controller.js +1 -1
- package/src/api/cyberia-entity/cyberia-entity.router.js +1 -1
- package/src/api/cyberia-entity/cyberia-entity.service.js +2 -2
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.controller.js +1 -1
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.router.js +1 -1
- package/src/api/cyberia-entity-type-default/cyberia-entity-type-default.service.js +2 -2
- package/src/api/cyberia-instance/cyberia-fallback-capture.js +466 -0
- package/src/api/cyberia-instance/cyberia-fallback-default-items.js +63 -0
- package/src/api/cyberia-instance/cyberia-fallback-world.js +16 -1
- package/src/api/cyberia-instance/cyberia-instance-map.service.js +1 -1
- package/src/api/cyberia-instance/cyberia-instance.controller.js +4 -1
- package/src/api/cyberia-instance/cyberia-instance.router.js +15 -2
- package/src/api/cyberia-instance/cyberia-instance.service.js +45 -2
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +1 -1
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +1 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +1 -1
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +2 -2
- package/src/api/cyberia-map/cyberia-map.controller.js +1 -1
- package/src/api/cyberia-map/cyberia-map.router.js +1 -1
- package/src/api/cyberia-map/cyberia-map.service.js +2 -2
- package/src/api/cyberia-quest/cyberia-quest.controller.js +1 -1
- package/src/api/cyberia-quest/cyberia-quest.router.js +1 -1
- package/src/api/cyberia-quest/cyberia-quest.service.js +2 -2
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +1 -1
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +1 -1
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +2 -2
- package/src/api/cyberia-saga/cyberia-saga.controller.js +1 -1
- package/src/api/cyberia-saga/cyberia-saga.router.js +1 -1
- package/src/api/cyberia-saga/cyberia-saga.service.js +2 -2
- package/src/api/cyberia-server-defaults/cyberia-server-defaults.js +16 -29
- package/src/api/cyberia-skill/cyberia-skill.controller.js +1 -1
- package/src/api/cyberia-skill/cyberia-skill.router.js +1 -1
- package/src/api/cyberia-skill/cyberia-skill.service.js +2 -2
- package/src/api/default/default.controller.js +1 -1
- package/src/api/default/default.router.js +1 -1
- package/src/api/default/default.service.js +2 -2
- package/src/api/document/document.controller.js +1 -1
- package/src/api/document/document.router.js +1 -1
- package/src/api/document/document.service.js +2 -2
- package/src/api/file/file.controller.js +1 -1
- package/src/api/file/file.router.js +1 -1
- package/src/api/file/file.service.js +2 -2
- package/src/api/instance/instance.controller.js +1 -1
- package/src/api/instance/instance.router.js +1 -1
- package/src/api/instance/instance.service.js +2 -2
- package/src/api/ipfs/ipfs.controller.js +1 -1
- package/src/api/ipfs/ipfs.router.js +2 -2
- package/src/api/ipfs/ipfs.service.js +2 -2
- package/src/api/object-layer/object-layer.controller.js +1 -1
- package/src/api/object-layer/object-layer.model.js +204 -3
- package/src/api/object-layer/object-layer.router.js +2 -2
- package/src/api/object-layer/object-layer.service.js +4 -17
- package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +1 -1
- package/src/api/object-layer-render-frames/object-layer-render-frames.router.js +1 -1
- package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +2 -2
- package/src/api/test/test.controller.js +1 -1
- package/src/api/test/test.service.js +1 -1
- package/src/api/user/guest.service.js +3 -3
- package/src/api/user/user.controller.js +1 -1
- package/src/api/user/user.router.js +2 -2
- package/src/api/user/user.service.js +4 -4
- package/src/api.js +5 -9
- package/src/cli/app.js +391 -0
- package/src/cli/baremetal.js +30 -36
- package/src/cli/client.js +306 -0
- package/src/cli/cloud-init.js +3 -3
- package/src/cli/cluster.js +242 -135
- package/src/cli/db.js +126 -67
- package/src/cli/deploy.js +158 -60
- package/src/cli/docker-compose.js +5 -5
- package/src/cli/domains.js +184 -0
- package/src/cli/dotenv-store.js +143 -0
- package/src/cli/event.js +2281 -0
- package/src/cli/fs.js +3 -3
- package/src/cli/host.js +672 -0
- package/src/cli/image.js +4 -7
- package/src/cli/index.js +426 -134
- package/src/cli/ipfs.js +34 -30
- package/src/cli/kickstart.js +1 -1
- package/src/cli/kubectl.js +218 -41
- package/src/cli/lxd.js +3 -3
- package/src/cli/monitor.js +1359 -26
- package/src/cli/package.js +90 -0
- package/src/cli/release.js +73 -34
- package/src/cli/repository.js +564 -367
- package/src/cli/run.js +362 -654
- package/src/cli/secrets.js +2158 -964
- package/src/cli/ssh.js +651 -331
- package/src/cli/state.js +394 -0
- package/src/cli/static.js +2 -2
- package/src/cli/system.js +26 -13
- package/src/cli/test.js +199 -125
- package/src/cli/vultr.js +623 -0
- package/src/cli/wireguard.js +2930 -0
- package/src/client/components/core/CalendarCore.js +53 -96
- package/src/client/components/core/Docs.js +258 -211
- package/src/client/components/core/FileExplorer.js +0 -21
- package/src/client/components/core/PanelForm.js +4 -4
- package/src/client/components/core/Repository.js +56 -0
- package/src/client/components/core/Translate.js +7 -0
- package/src/client/components/core/{FullScreen.js → ViewModeController.js} +42 -39
- package/src/client/components/core/Wallet.js +0 -11
- package/src/client/components/core/Worker.js +7 -1
- package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +2 -2
- package/src/client/components/cyberia/FallbackWorldEngineCyberia.js +368 -0
- package/src/client/components/cyberia-portal/AppShellCyberiaPortal.js +35 -1
- package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +4 -0
- package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +2 -2
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -0
- package/src/client/components/default/AppShellDefault.js +1 -1
- package/src/client/components/default/SettingsDefault.js +2 -2
- package/src/client/components/itemledger/SettingsItemledger.js +2 -2
- package/src/client/components/underpost/AppShellUnderpost.js +3 -2
- package/src/client/components/underpost/SettingsUnderpost.js +2 -2
- package/src/client/public/cyberia-docs/ARCHITECTURE.md +17 -3
- package/src/client/public/cyberia-docs/CYBERIA-CLI.md +32 -5
- package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +1 -1
- package/src/client/public/cyberia-docs/CYBERIA.md +21 -1
- package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +23 -6
- package/src/client/public/cyberia-docs/ROADMAP.md +1 -1
- package/src/client/public/cyberia-docs/WHITE-PAPER.md +1 -1
- package/src/client/public/default/android-chrome-144x144.png +0 -0
- package/src/client/public/default/android-chrome-192x192.png +0 -0
- package/src/client/public/default/android-chrome-256x256.png +0 -0
- package/src/client/public/default/android-chrome-36x36.png +0 -0
- package/src/client/public/default/android-chrome-384x384.png +0 -0
- package/src/client/public/default/android-chrome-48x48.png +0 -0
- package/src/client/public/default/android-chrome-512x512.png +0 -0
- package/src/client/public/default/android-chrome-72x72.png +0 -0
- package/src/client/public/default/android-chrome-96x96.png +0 -0
- package/src/client/public/default/apple-touch-icon-1024x1024.png +0 -0
- package/src/client/public/default/apple-touch-icon-114x114.png +0 -0
- package/src/client/public/default/apple-touch-icon-120x120.png +0 -0
- package/src/client/public/default/apple-touch-icon-144x144.png +0 -0
- package/src/client/public/default/apple-touch-icon-152x152.png +0 -0
- package/src/client/public/default/apple-touch-icon-167x167.png +0 -0
- package/src/client/public/default/apple-touch-icon-180x180.png +0 -0
- package/src/client/public/default/apple-touch-icon-57x57.png +0 -0
- package/src/client/public/default/apple-touch-icon-60x60.png +0 -0
- package/src/client/public/default/apple-touch-icon-72x72.png +0 -0
- package/src/client/public/default/apple-touch-icon-76x76.png +0 -0
- package/src/client/public/default/apple-touch-icon-precomposed.png +0 -0
- package/src/client/public/default/apple-touch-icon.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1125x2436.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1136x640.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1170x2532.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1179x2556.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1242x2208.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1242x2688.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1284x2778.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1290x2796.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1334x750.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1488x2266.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1536x2048.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1620x2160.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1640x2160.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1668x2224.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1668x2388.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-1792x828.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2048x1536.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2048x2732.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2160x1620.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2160x1640.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2208x1242.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2224x1668.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2266x1488.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2388x1668.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2436x1125.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2532x1170.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2556x1179.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2688x1242.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2732x2048.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2778x1284.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-2796x1290.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-640x1136.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-750x1334.png +0 -0
- package/src/client/public/default/apple-touch-startup-image-828x1792.png +0 -0
- package/src/client/public/default/assets/background/white.jpg +0 -0
- package/src/client/public/default/browserconfig.xml +1 -1
- package/src/client/public/default/favicon-16x16.png +0 -0
- package/src/client/public/default/favicon-32x32.png +0 -0
- package/src/client/public/default/favicon-48x48.png +0 -0
- package/src/client/public/default/favicon.ico +0 -0
- package/src/client/public/default/manifest.webmanifest +5 -5
- package/src/client/public/default/mstile-144x144.png +0 -0
- package/src/client/public/default/mstile-150x150.png +0 -0
- package/src/client/public/default/mstile-310x150.png +0 -0
- package/src/client/public/default/mstile-310x310.png +0 -0
- package/src/client/public/default/mstile-70x70.png +0 -0
- package/src/client/public/default/yandex-browser-50x50.png +0 -0
- package/src/client/public/default/yandex-browser-manifest.json +1 -1
- package/src/client/services/cyberia-instance/cyberia-instance.service.js +40 -0
- package/src/client/services/object-layer/object-layer.management.js +4 -4
- package/src/client/ssr/RootDocument.js +1 -1
- package/src/client/ssr/body/404.js +1 -1
- package/src/client/ssr/body/500.js +1 -1
- package/src/client/ssr/body/CacheControl.js +1 -1
- package/src/client/ssr/body/CyberiaDefaultSplashScreen.js +1 -1
- package/src/client/ssr/body/DefaultSplashScreen.js +1 -1
- package/src/client/ssr/body/SwaggerDarkMode.js +1 -1
- package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +1 -1
- package/src/client/ssr/head/CryptokoynScripts.js +1 -1
- package/src/client/ssr/head/Css.js +1 -1
- package/src/client/ssr/head/CyberiaPortalScripts.js +1 -1
- package/src/client/ssr/head/DefaultScripts.js +1 -1
- package/src/client/ssr/head/ItemledgerScripts.js +1 -1
- package/src/client/ssr/head/Microdata.js +1 -1
- package/src/client/ssr/head/Production.js +1 -1
- package/src/client/ssr/head/Pwa.js +1 -1
- package/src/client/ssr/head/PwaItemledger.js +1 -1
- package/src/client/ssr/head/Seo.js +1 -1
- package/src/client/ssr/head/UnderpostScripts.js +1 -1
- package/src/client/ssr/mailer/DefaultRecoverEmail.js +1 -1
- package/src/client/ssr/mailer/DefaultVerifyEmail.js +1 -1
- package/src/client/ssr/views/Cyberia404.js +7 -5
- package/src/client/ssr/views/CyberiaServerMetrics.js +1 -1
- package/src/client/ssr/views/Maintenance.js +1 -1
- package/src/client/ssr/views/NoNetworkConnection.js +1 -1
- package/src/client/ssr/views/Test.js +1 -1
- package/src/client/sw/core.sw.js +20 -14
- package/src/client-builder/client-build-docs.js +61 -46
- package/src/client-builder/client-build-live.js +2 -2
- package/src/client-builder/client-build.js +58 -44
- package/src/client-builder/client-dev-server.js +3 -3
- package/src/client-builder/client-icons.js +2 -2
- package/src/client-builder/ssr.js +3 -3
- package/src/client.build.js +3 -6
- package/src/client.dev.js +3 -6
- package/src/db/DataBaseProvider.js +186 -3
- package/src/db/mariadb/MariaDB.js +3 -2
- package/src/db/mongo/MongoBootstrap.js +273 -101
- package/src/db/mongo/MongooseDB.js +11 -8
- package/src/{server/valkey.js → db/valkey/Valkey.js} +5 -4
- package/src/grpc/cyberia/grpc-server.js +1 -1
- package/src/index.js +103 -23
- package/src/mailer/EmailRender.js +2 -2
- package/src/mailer/MailerInterceptor.js +87 -0
- package/src/mailer/MailerProvider.js +50 -6
- package/src/projects/cyberia/atlas-sprite-sheet-generator.js +1 -1
- package/src/projects/cyberia/besu-genesis-generator.js +3 -3
- package/src/projects/cyberia/catalog-cyberia.js +54 -6
- package/src/projects/cyberia/gemini-client.js +1 -1
- package/src/projects/cyberia/generate-saga.js +15 -24
- package/src/projects/cyberia/hot-reload-trigger.js +1 -1
- package/src/projects/cyberia/instance-data.js +22 -3
- package/src/projects/cyberia/ipfs-client.js +4 -4
- package/src/projects/cyberia/map-preview-generator.js +1 -1
- package/src/projects/cyberia/object-layer.js +12 -22
- package/src/projects/cyberia/semantic-layer-generator.js +1 -1
- package/src/projects/underpost/catalog-underpost.js +13 -2
- package/src/proxy.js +4 -7
- package/src/runtime/cyberia-client/Dockerfile +9 -4
- package/src/runtime/cyberia-client/Dockerfile.dev +8 -2
- package/src/runtime/cyberia-server/Dockerfile +9 -4
- package/src/runtime/cyberia-server/Dockerfile.dev +8 -2
- package/src/runtime/engine-cyberia/Dockerfile +25 -9
- package/src/runtime/engine-cyberia/Dockerfile.dev +25 -9
- package/src/runtime/engine-cyberia/Dockerfile.test +4 -4
- package/src/runtime/engine-cyberia/compose.env +16 -0
- package/src/runtime/engine-cyberia/docker-compose.yml +31 -37
- package/src/runtime/express/Express.js +32 -27
- package/src/runtime/lampp/Lampp.js +22 -70
- package/src/runtime/nginx/Nginx.js +1 -1
- package/src/runtime/wp/Wp.js +16 -48
- package/src/server/{catalog.js → build/catalog.js} +15 -5
- package/src/server/build/coverage.js +117 -0
- package/src/server/build/execution.js +402 -0
- package/src/server/build/package.js +465 -0
- package/src/server/build/testing.js +528 -0
- package/src/server/{dns.js → network/dns.js} +241 -14
- package/src/server/network/forward-proxy.js +541 -0
- package/src/server/{middlewares.js → network/middlewares.js} +59 -4
- package/src/server/network/node-capability.js +98 -0
- package/src/server/{peer.js → network/peer.js} +3 -3
- package/src/server/{proxy.js → network/proxy.js} +7 -13
- package/src/server/network/router.js +356 -0
- package/src/server/{tls.js → network/tls.js} +2 -2
- package/src/server/network/underpost-compression.js +186 -0
- package/src/server/{underpost-gateway.js → network/underpost-gateway.js} +26 -16
- package/src/server/{underpost-ingress.js → network/underpost-ingress.js} +19 -3
- package/src/server/{cri.js → ops/cri.js} +2 -2
- package/src/server/ops/cron.js +949 -0
- package/src/server/ops/event-notification.js +284 -0
- package/src/server/{logger.js → ops/logger.js} +108 -23
- package/src/server/ops/monitoring.js +1724 -0
- package/src/server/ops/systemd.js +259 -0
- package/src/server/{conf.js → runtime/conf.js} +521 -520
- package/src/server/runtime/config-scope.js +215 -0
- package/src/server/runtime/environment.js +149 -0
- package/src/server/{process.js → runtime/process.js} +153 -13
- package/src/server/{runtime-status.js → runtime/runtime-status.js} +155 -16
- package/src/server/{runtime.js → runtime/runtime.js} +12 -8
- package/src/server/{start.js → runtime/start.js} +128 -39
- package/src/server/{auth.js → security/auth.js} +7 -8
- package/src/server/security/container-storage.js +382 -0
- package/src/server/{crypto.js → security/crypto.js} +1 -1
- package/src/server/security/selinux.js +185 -0
- package/src/server/{backup.js → storage/backup.js} +17 -8
- package/src/server/{data-query.js → storage/data-query.js} +1 -1
- package/src/server/{downloader.js → storage/downloader.js} +2 -2
- package/src/server/storage/repository.js +68 -0
- package/src/server.js +4 -7
- package/src/ws/IoInterface.js +1 -1
- package/src/ws/IoServer.js +1 -1
- package/src/ws/core/core.ws.connection.js +1 -1
- package/src/ws/core/core.ws.emit.js +1 -1
- package/src/ws/core/core.ws.server.js +1 -1
- package/src/ws/default/default.ws.connection.js +1 -1
- package/src/ws/default/default.ws.emit.js +1 -1
- package/src/ws/default/default.ws.server.js +1 -1
- package/test/e2e/event-e2e-public-ingress-down.js +45 -0
- package/test/e2e/event-e2e-wireguard-server-down.js +38 -0
- package/test/e2e/event-e2e-wireguard-spoke-down.js +40 -0
- package/test/{api.test.js → integration/app/api.test.js} +33 -14
- package/test/integration/app/cyberia/cyberia-cli-plain-reads.test.js +30 -0
- package/test/{cyberia-instance-conf-defaults.test.js → integration/app/cyberia/cyberia-instance-conf-defaults.test.js} +2 -1
- package/test/integration/app/cyberia/cyberia-load.test.js +467 -0
- package/test/integration/app/cyberia/fallback-world-capture.test.js +253 -0
- package/test/integration/app/cyberia/object-layer-item-id.test.js +327 -0
- package/test/{shape-generator.test.js → integration/app/cyberia/shape-generator.test.js} +1 -1
- package/test/integration/infra/1-security/config-scope.test.js +305 -0
- package/test/integration/infra/1-security/container-storage.test.js +356 -0
- package/test/integration/infra/1-security/in-pod-cli-surface.test.js +86 -0
- package/test/integration/infra/1-security/secret-onboarding.test.js +930 -0
- package/test/integration/infra/1-security/selinux.test.js +69 -0
- package/test/{sops-secret-store.test.js → integration/infra/1-security/sops-secret-store.test.js} +415 -61
- package/test/integration/infra/1-security/systemd-service.test.js +70 -0
- package/test/integration/infra/1-security/underpost-config-secret.test.js +367 -0
- package/test/integration/infra/2-network/dns-firewall.test.js +566 -0
- package/test/integration/infra/2-network/node-capability.test.js +182 -0
- package/test/integration/infra/2-network/wireguard-cli.test.js +1163 -0
- package/test/integration/infra/2-network/wireguard-edge.test.js +1731 -0
- package/test/{cluster-instances.test.js → integration/infra/3-cluster/cluster-instances.test.js} +11 -15
- package/test/{deploy-node-placement.test.js → integration/infra/3-cluster/deploy-node-placement.test.js} +3 -3
- package/test/integration/infra/3-cluster/docker-compose-stack.test.js +313 -0
- package/test/integration/infra/4-ingress/deploy-routes.test.js +379 -0
- package/test/integration/infra/4-ingress/gateway-static-assets.test.js +453 -0
- package/test/{instance-traffic-plan.test.js → integration/infra/4-ingress/instance-traffic-plan.test.js} +10 -6
- package/test/{underpost-gateway.test.js → integration/infra/4-ingress/underpost-gateway.test.js} +47 -6
- package/test/{underpost-ingress.test.js → integration/infra/4-ingress/underpost-ingress.test.js} +56 -4
- package/test/integration/infra/5-observability/cron-jobs.test.js +652 -0
- package/test/{deploy-monitor.test.js → integration/infra/5-observability/deploy-monitor.test.js} +29 -31
- package/test/integration/infra/5-observability/event-notification.test.js +197 -0
- package/test/integration/infra/5-observability/event-remediation.test.js +502 -0
- package/test/integration/infra/5-observability/event-targets.test.js +1174 -0
- package/test/integration/infra/5-observability/monitoring-stack.test.js +902 -0
- package/test/support/shell-harness.js +73 -0
- package/test/unit/build-template.test.js +97 -0
- package/test/unit/build-workflow-offline.test.js +132 -0
- package/test/unit/catalog.test.js +71 -0
- package/test/unit/client-build-docs.test.js +334 -0
- package/test/unit/conf-loading.test.js +303 -0
- package/test/unit/conf-resolution.test.js +979 -0
- package/test/unit/coverage-artifact.test.js +130 -0
- package/test/{crypto.test.js → unit/crypto.test.js} +1 -1
- package/test/unit/deploy-env-resolution.test.js +38 -0
- package/test/unit/deploy-log-table.test.js +447 -0
- package/test/unit/execution-profiles.test.js +219 -0
- package/test/unit/fleet-sync-source.test.js +149 -0
- package/test/unit/logger-redaction.test.js +112 -0
- package/test/unit/package.test.js +403 -0
- package/test/unit/prepare-host.test.js +299 -0
- package/test/unit/process-environment.test.js +18 -0
- package/test/unit/propagation-message.test.js +78 -0
- package/test/unit/redeploy-plan.test.js +24 -0
- package/test/unit/release-bump.test.js +474 -0
- package/test/unit/ssh-output-redaction.test.js +28 -0
- package/test/unit/start-options.test.js +46 -0
- package/test/unit/test-tiers.test.js +193 -0
- package/vitest.config.js +58 -0
- package/.nycrc +0 -9
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +0 -48
- package/manifests/mongodb/pv-pvc.yaml +0 -59
- package/scripts/link-local-underpost-cli.sh +0 -6
- package/src/api/user/user.build.js +0 -16
- package/src/cli/env.js +0 -177
- package/src/client/components/core/Blockchain.js +0 -41
- package/src/client/components/core/Blog.js +0 -9
- package/src/client/components/core/KeyboardAvoidance.js +0 -145
- package/src/client/public/default/assets/background/dark.jpg +0 -0
- package/src/client/public/default/assets/background/white0-min.jpg +0 -0
- package/src/client/public/default/assets/background/white0.jpg +0 -0
- package/src/client/public/doc/favicon.ico +0 -0
- package/src/client/public/doc/sitemap +0 -148
- package/src/server/cron.js +0 -476
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repository identity on the client.
|
|
3
|
+
*
|
|
4
|
+
* The owner is resolved at build time by `src/server/storage/repository.js` and travels
|
|
5
|
+
* in `renderPayload.repository`. Composing every GitHub, Pages and Coveralls URL
|
|
6
|
+
* from it is what keeps a fork's links pointing at the fork instead of upstream.
|
|
7
|
+
*
|
|
8
|
+
* @module src/client/components/core/Repository.js
|
|
9
|
+
* @namespace PwaRepository
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Identity injected by the build.
|
|
14
|
+
* @returns {{owner: string, name: string, template: string, packageSuffix: string}}
|
|
15
|
+
* @memberof PwaRepository
|
|
16
|
+
*/
|
|
17
|
+
const repositoryIdentity = () => window.renderPayload.repository;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Repository holding the prebuilt package and its published demo.
|
|
21
|
+
* @returns {string}
|
|
22
|
+
* @memberof PwaRepository
|
|
23
|
+
*/
|
|
24
|
+
const packageRepository = () => {
|
|
25
|
+
const { template, packageSuffix } = repositoryIdentity();
|
|
26
|
+
return `${template}${packageSuffix}`;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Composes a github.com URL under the resolved owner.
|
|
31
|
+
* @param {...string} segments - Path segments after the owner.
|
|
32
|
+
* @returns {string}
|
|
33
|
+
* @memberof PwaRepository
|
|
34
|
+
*/
|
|
35
|
+
const githubUrl = (...segments) =>
|
|
36
|
+
`https://github.com/${[repositoryIdentity().owner, ...segments].filter(Boolean).join('/')}/`;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Composes a GitHub Pages URL under the resolved owner.
|
|
40
|
+
* @param {string} repository - Repository publishing the page.
|
|
41
|
+
* @returns {string}
|
|
42
|
+
* @memberof PwaRepository
|
|
43
|
+
*/
|
|
44
|
+
const githubPagesUrl = (repository) => `https://${repositoryIdentity().owner}.github.io/${repository}/`;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Coveralls report for the engine repository this build came from.
|
|
48
|
+
* @returns {string}
|
|
49
|
+
* @memberof PwaRepository
|
|
50
|
+
*/
|
|
51
|
+
const coverallsUrl = () => {
|
|
52
|
+
const { owner, name } = repositoryIdentity();
|
|
53
|
+
return `https://coveralls.io/github/${owner}/${name}`;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export { coverallsUrl, githubPagesUrl, githubUrl, packageRepository, repositoryIdentity };
|
|
@@ -42,6 +42,13 @@ class Translate {
|
|
|
42
42
|
static hasChangedListener(key) {
|
|
43
43
|
return translateEvents.has(key);
|
|
44
44
|
}
|
|
45
|
+
static text(keyLang, options = { disableTextFormat: false }) {
|
|
46
|
+
const translations = Translate.Data[keyLang];
|
|
47
|
+
if (!translations) return options.disableTextFormat ? keyLang : textFormatted(keyLang);
|
|
48
|
+
const lang = s('html')?.lang || 'en';
|
|
49
|
+
const value = translations[lang] ?? translations.en ?? keyLang;
|
|
50
|
+
return options.disableTextFormat ? value : textFormatted(value);
|
|
51
|
+
}
|
|
45
52
|
static async emitChanged(detail) {
|
|
46
53
|
await translateEvents.emit(TranslateEventType.changed, detail);
|
|
47
54
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Utility module for fullscreen mode management with cross-browser and PWA compatibility.
|
|
3
3
|
* Provides robust fullscreen detection, event handling, and UI synchronization.
|
|
4
|
-
* @module src/client/components/core/
|
|
5
|
-
* @namespace
|
|
4
|
+
* @module src/client/components/core/ViewModeController.js
|
|
5
|
+
* @namespace ViewModeControllerClient
|
|
6
6
|
*/
|
|
7
7
|
import { Responsive } from './Responsive.js';
|
|
8
8
|
import { ToggleSwitch } from './ToggleSwitch.js';
|
|
9
9
|
import { Translate } from './Translate.js';
|
|
10
|
-
import {
|
|
10
|
+
import { fullScreenIn, fullScreenOut, s } from './VanillaJs.js';
|
|
11
11
|
/**
|
|
12
12
|
* Manages fullscreen mode state, event handling, and UI synchronization.
|
|
13
13
|
* Supports all major browsers and PWA/Nativefier environments with comprehensive
|
|
14
14
|
* vendor-prefixed API detection.
|
|
15
|
-
* @memberof
|
|
15
|
+
* @memberof ViewModeControllerClient
|
|
16
16
|
*/
|
|
17
|
-
class
|
|
17
|
+
class ViewModeController {
|
|
18
18
|
/**
|
|
19
19
|
* Internal state flag tracking the intended fullscreen mode.
|
|
20
20
|
* @type {boolean}
|
|
@@ -43,7 +43,7 @@ class FullScreen {
|
|
|
43
43
|
* - Mozilla (Firefox)
|
|
44
44
|
* - Microsoft (IE/Edge)
|
|
45
45
|
* @private
|
|
46
|
-
* @memberof
|
|
46
|
+
* @memberof ViewModeControllerClient.ViewModeController
|
|
47
47
|
* @returns {boolean} True if currently in fullscreen mode, false otherwise.
|
|
48
48
|
*/
|
|
49
49
|
static _isFullScreen() {
|
|
@@ -62,16 +62,16 @@ class FullScreen {
|
|
|
62
62
|
* Prevents race conditions using the _syncInProgress flag.
|
|
63
63
|
* Updates the toggle switch only if there's a mismatch between UI and actual state.
|
|
64
64
|
* @private
|
|
65
|
-
* @memberof
|
|
65
|
+
* @memberof ViewModeControllerClient.ViewModeController
|
|
66
66
|
* @returns {void}
|
|
67
67
|
*/
|
|
68
68
|
static _syncToggleState() {
|
|
69
|
-
if (
|
|
70
|
-
|
|
71
|
-
const actualFullScreen =
|
|
69
|
+
if (ViewModeController._syncInProgress) return;
|
|
70
|
+
ViewModeController._syncInProgress = true;
|
|
71
|
+
const actualFullScreen = ViewModeController._isFullScreen();
|
|
72
72
|
// Only update if there's a mismatch
|
|
73
|
-
if (
|
|
74
|
-
|
|
73
|
+
if (ViewModeController._fullScreenSwitch !== actualFullScreen) {
|
|
74
|
+
ViewModeController._fullScreenSwitch = actualFullScreen;
|
|
75
75
|
// Update toggle switch UI if it exists
|
|
76
76
|
const toggle = s('.fullscreen');
|
|
77
77
|
if (toggle && ToggleSwitch.Tokens[`fullscreen`]) {
|
|
@@ -82,18 +82,18 @@ class FullScreen {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
setTimeout(() => {
|
|
85
|
-
|
|
85
|
+
ViewModeController._syncInProgress = false;
|
|
86
86
|
}, 100);
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* Event handler for fullscreen change events.
|
|
90
90
|
* Triggers UI state synchronization when fullscreen mode changes.
|
|
91
91
|
* @private
|
|
92
|
-
* @memberof
|
|
92
|
+
* @memberof ViewModeControllerClient.ViewModeController
|
|
93
93
|
* @returns {void}
|
|
94
94
|
*/
|
|
95
95
|
static _handleFullScreenChange() {
|
|
96
|
-
|
|
96
|
+
ViewModeController._syncToggleState();
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* Attaches all necessary event listeners for fullscreen mode detection.
|
|
@@ -103,20 +103,20 @@ class FullScreen {
|
|
|
103
103
|
* - ESC key detection (fallback for manual fullscreen exit)
|
|
104
104
|
* Only attaches listeners once to prevent duplicates.
|
|
105
105
|
* @private
|
|
106
|
-
* @memberof
|
|
106
|
+
* @memberof ViewModeControllerClient.ViewModeController
|
|
107
107
|
* @returns {void}
|
|
108
108
|
*/
|
|
109
109
|
static _addEventListeners() {
|
|
110
|
-
if (
|
|
110
|
+
if (ViewModeController._eventListenersAdded) return;
|
|
111
111
|
const events = ['fullscreenchange', 'webkitfullscreenchange', 'mozfullscreenchange', 'MSFullscreenChange'];
|
|
112
112
|
events.forEach((eventName) => {
|
|
113
|
-
document.addEventListener(eventName, () =>
|
|
113
|
+
document.addEventListener(eventName, () => ViewModeController._handleFullScreenChange(), false);
|
|
114
114
|
});
|
|
115
115
|
// Additional check for PWA/Nativefier window resize events
|
|
116
116
|
window.addEventListener(
|
|
117
117
|
'resize',
|
|
118
118
|
() => {
|
|
119
|
-
setTimeout(() =>
|
|
119
|
+
setTimeout(() => ViewModeController._syncToggleState(), 150);
|
|
120
120
|
},
|
|
121
121
|
false,
|
|
122
122
|
);
|
|
@@ -125,77 +125,80 @@ class FullScreen {
|
|
|
125
125
|
'keydown',
|
|
126
126
|
(e) => {
|
|
127
127
|
if (e.key === 'Escape' || e.keyCode === 27) {
|
|
128
|
-
setTimeout(() =>
|
|
128
|
+
setTimeout(() => ViewModeController._syncToggleState(), 100);
|
|
129
129
|
}
|
|
130
130
|
},
|
|
131
131
|
false,
|
|
132
132
|
);
|
|
133
|
-
|
|
133
|
+
ViewModeController._eventListenersAdded = true;
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
136
136
|
* Enters fullscreen mode if not already in fullscreen.
|
|
137
137
|
* Updates internal state and triggers fullscreen API.
|
|
138
138
|
* Verifies the state change after a delay to ensure synchronization.
|
|
139
139
|
* @private
|
|
140
|
-
* @memberof
|
|
140
|
+
* @memberof ViewModeControllerClient.ViewModeController
|
|
141
141
|
* @returns {void}
|
|
142
142
|
*/
|
|
143
143
|
static _enterFullScreen() {
|
|
144
|
-
if (
|
|
145
|
-
|
|
144
|
+
if (ViewModeController._isFullScreen()) return;
|
|
145
|
+
ViewModeController._fullScreenSwitch = true;
|
|
146
146
|
fullScreenIn();
|
|
147
147
|
// Verify after attempt
|
|
148
|
-
setTimeout(() =>
|
|
148
|
+
setTimeout(() => ViewModeController._syncToggleState(), 300);
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
151
|
* Exits fullscreen mode if currently in fullscreen.
|
|
152
152
|
* Updates internal state and triggers fullscreen exit API.
|
|
153
153
|
* Verifies the state change after a delay to ensure synchronization.
|
|
154
154
|
* @private
|
|
155
|
-
* @memberof
|
|
155
|
+
* @memberof ViewModeControllerClient.ViewModeController
|
|
156
156
|
* @returns {void}
|
|
157
157
|
*/
|
|
158
158
|
static _exitFullScreen() {
|
|
159
|
-
if (!
|
|
160
|
-
|
|
159
|
+
if (!ViewModeController._isFullScreen()) return;
|
|
160
|
+
ViewModeController._fullScreenSwitch = false;
|
|
161
161
|
fullScreenOut();
|
|
162
162
|
// Verify after attempt
|
|
163
|
-
setTimeout(() =>
|
|
163
|
+
setTimeout(() => ViewModeController._syncToggleState(), 300);
|
|
164
164
|
}
|
|
165
165
|
/**
|
|
166
166
|
* Renders the fullscreen toggle setting UI component.
|
|
167
167
|
* Initializes fullscreen state detection, sets up event listeners,
|
|
168
168
|
* and creates a toggle switch for user interaction.
|
|
169
169
|
* Integrates with the Responsive system for dynamic updates.
|
|
170
|
-
* @memberof
|
|
170
|
+
* @memberof ViewModeControllerClient.ViewModeController
|
|
171
171
|
* @returns {Promise<string>} A promise resolving to the HTML string for the fullscreen setting component.
|
|
172
172
|
*/
|
|
173
173
|
static async RenderSetting() {
|
|
174
174
|
// Initialize state from actual fullscreen status
|
|
175
|
-
|
|
175
|
+
ViewModeController._fullScreenSwitch = ViewModeController._isFullScreen();
|
|
176
176
|
// Setup event listeners once
|
|
177
|
-
|
|
177
|
+
ViewModeController._addEventListeners();
|
|
178
178
|
// Update responsive event
|
|
179
|
-
Responsive.onChanged(
|
|
180
|
-
|
|
181
|
-
|
|
179
|
+
Responsive.onChanged(
|
|
180
|
+
() => {
|
|
181
|
+
ViewModeController._syncToggleState();
|
|
182
|
+
},
|
|
183
|
+
{ key: 'full-screen-settings' },
|
|
184
|
+
);
|
|
182
185
|
return html`<div class="in section-mp">
|
|
183
186
|
${await ToggleSwitch.instance({
|
|
184
187
|
wrapper: true,
|
|
185
188
|
wrapperLabel: html`<i class="fa-solid fa-expand"></i> ${Translate.instance('fullscreen')}`,
|
|
186
189
|
id: 'fullscreen',
|
|
187
190
|
disabledOnClick: true,
|
|
188
|
-
checked:
|
|
191
|
+
checked: ViewModeController._fullScreenSwitch,
|
|
189
192
|
on: {
|
|
190
193
|
unchecked: () => {
|
|
191
|
-
|
|
194
|
+
ViewModeController._exitFullScreen();
|
|
192
195
|
},
|
|
193
196
|
checked: () => {
|
|
194
|
-
|
|
197
|
+
ViewModeController._enterFullScreen();
|
|
195
198
|
},
|
|
196
199
|
},
|
|
197
200
|
})}
|
|
198
201
|
</div>`;
|
|
199
202
|
}
|
|
200
203
|
}
|
|
201
|
-
export {
|
|
204
|
+
export { ViewModeController };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CryptoService } from '../../services/crypto/crypto.service.js';
|
|
2
|
-
import { UserService } from '../../services/user/user.service.js';
|
|
3
2
|
import { Auth } from './Auth.js';
|
|
4
3
|
import { BtnIcon } from './BtnIcon.js';
|
|
5
4
|
import { getId } from './CommonJs.js';
|
|
@@ -21,16 +20,6 @@ class Wallet {
|
|
|
21
20
|
hash: 'SHA-256',
|
|
22
21
|
};
|
|
23
22
|
const format = 'jwk';
|
|
24
|
-
(async () => {
|
|
25
|
-
return;
|
|
26
|
-
const { data: payload } = await UserService.get({ id: 'public-key-sign-token' });
|
|
27
|
-
const signature = await window.crypto.subtle.sign(
|
|
28
|
-
algorithm,
|
|
29
|
-
keyPair.privateKey,
|
|
30
|
-
new TextEncoder().encode(payload),
|
|
31
|
-
);
|
|
32
|
-
const base64Signature = btoa(String.fromCharCode(...new Uint8Array(signature)));
|
|
33
|
-
})();
|
|
34
23
|
const keyPair = await window.crypto.subtle.generateKey(algorithm, true, ['sign', 'verify']);
|
|
35
24
|
const privateKey = await window.crypto.subtle.exportKey(format, keyPair.privateKey);
|
|
36
25
|
const publicKey = await window.crypto.subtle.exportKey(format, keyPair.publicKey);
|
|
@@ -150,7 +150,13 @@ class PwaWorker {
|
|
|
150
150
|
}
|
|
151
151
|
const run = async () => {
|
|
152
152
|
const registration = await this.getRegistration();
|
|
153
|
-
if (
|
|
153
|
+
if (registration) {
|
|
154
|
+
try {
|
|
155
|
+
await registration.update();
|
|
156
|
+
} catch (error) {
|
|
157
|
+
logger.error('Error updating service worker:', error);
|
|
158
|
+
}
|
|
159
|
+
} else await this.register();
|
|
154
160
|
};
|
|
155
161
|
if (document.readyState === 'complete') run();
|
|
156
162
|
else window.addEventListener('load', run, { once: true });
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Css } from '../core/Css.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ViewModeController } from '../core/ViewModeController.js';
|
|
3
3
|
import { Translate } from '../core/Translate.js';
|
|
4
4
|
import { Worker } from '../core/Worker.js';
|
|
5
5
|
|
|
6
6
|
class SettingsCryptokoyn {
|
|
7
7
|
static async instance() {
|
|
8
|
-
let render = await
|
|
8
|
+
let render = await ViewModeController.RenderSetting();
|
|
9
9
|
render += await Css.RenderSetting();
|
|
10
10
|
render += await Translate.RenderSetting();
|
|
11
11
|
render += await Worker.RenderSetting();
|