iobroker.eos-admin 7.10.4 → 7.10.6

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 (44) hide show
  1. package/INSTALL_TEST_V7.10.6.md +8 -0
  2. package/MERGE_UPDATE_README_V7.10.6.md +7 -0
  3. package/NEXOWATT_EOS_BUILD_INFO.json +19 -18
  4. package/NEXOWATT_EOS_PREBUILT_MANIFEST.json +40 -41
  5. package/PUBLISH_STABLE_V7.10.6.md +8 -0
  6. package/README_STABILITY_V7.10.6.md +5 -0
  7. package/RELEASE_ACCEPTANCE_V7.10.6.md +11 -0
  8. package/RELEASE_NOTES_V7.10.6.md +14 -0
  9. package/SECURITY_ROLE_MATRIX_V7.10.6.md +12 -0
  10. package/adminWww/assets/Intro-DkwRiz1n-v84.js +2 -2
  11. package/adminWww/assets/Objects-DPan0bzw-v84.js +1 -1
  12. package/adminWww/assets/bootstrap-COulQZax-v84.js +2 -2
  13. package/adminWww/css/nexowatt-native-shell.css +12 -1
  14. package/adminWww/index.html +14 -15
  15. package/adminWww/js/eos-role-bootstrap.js +5 -5
  16. package/adminWww/js/eos-role-ui.js +211 -17
  17. package/adminWww/js/nexowatt-native-shell.js +1 -1
  18. package/adminWww/static/js/{nexowatt-stable-v7101.js → nexowatt-stable-v7106.js} +1 -1
  19. package/build/lib/web.js +34 -0
  20. package/build/main.js +13 -15
  21. package/io-package.json +32 -5
  22. package/package.json +11 -10
  23. package/tools/nexowatt-account-password-flow-selftest.cjs +3 -3
  24. package/tools/nexowatt-clean-legacy-runtime.cjs +6 -0
  25. package/tools/nexowatt-internal-reserve-selftest.cjs +1 -1
  26. package/tools/nexowatt-login-layout-selftest.cjs +3 -3
  27. package/tools/nexowatt-merge-update-selftest.cjs +1 -1
  28. package/tools/nexowatt-modern-ui-selftest.cjs +2 -2
  29. package/tools/nexowatt-role-security-selftest.cjs +147 -41
  30. package/tools/nexowatt-runtime-cleanup-selftest.cjs +4 -0
  31. package/tools/nexowatt-stable-v7103-selftest.cjs +4 -4
  32. package/tools/nexowatt-ui-overview-runtime-selftest.cjs +2 -2
  33. package/tools/nexowatt-user-area-selftest.cjs +36 -0
  34. package/tools/nexowatt-validate-package.cjs +9 -8
  35. package/INSTALL_TEST_V7.10.4.md +0 -9
  36. package/MERGE_UPDATE_README_V7.10.4.md +0 -3
  37. package/PUBLISH_STABLE_V7.10.4.md +0 -10
  38. package/README_STABILITY_V7.10.4.md +0 -12
  39. package/RELEASE_ACCEPTANCE_V7.10.4.md +0 -3
  40. package/RELEASE_NOTES_V7.10.4.md +0 -11
  41. package/adminWww/nexowatt-role-security.js +0 -336
  42. package/build/lib/eosRoleSecurity.js +0 -310
  43. package/src-admin/README.md +0 -69
  44. package/src-admin/nexowatt-role-security.js +0 -336
@@ -0,0 +1,8 @@
1
+ # Installation test 7.10.6
2
+
3
+ - Install/update EOS Admin 7.10.6 and verify port 8081 remains reachable.
4
+ - Sign in as Admin: datapoints are writable; expert mode can be enabled and disabled; Admin and XTerm overview cards are visible.
5
+ - Sign in as Installer: no expert head, ioBroker Admin, XTerm, App Center, License, Simulation or Users/Rights page.
6
+ - Sign in as End User: Datapoints tab is visible but every write/edit/delete action is disabled; restricted tools are absent.
7
+ - Toggle a navigation item with the pencil: EOS Admin must not restart and `system.config` must remain untouched.
8
+ - Disable the backup adapter: its navigation item disappears; re-enable it and the item returns.
@@ -0,0 +1,7 @@
1
+ # Merge/update note 7.10.6
2
+
3
+ Always replace the previous repository with the complete 7.10.6 repository. Do not merge old `adminWww` bundles or deleted role-security files back into this release. In particular, `nexowatt-role-security.js` and `build/lib/eosRoleSecurity.js` are obsolete and must stay absent.
4
+
5
+ After a merge, run the package, stability, role-security and publish dry-run checks before publishing.
6
+
7
+ The 7.10.6 publish workflow now removes all three obsolete 7.10.4 role-security files automatically before sealing and packaging, including when the ZIP was extracted over an existing working directory.
@@ -1,28 +1,29 @@
1
1
  {
2
- "version": "7.10.4",
2
+ "version": "7.10.6",
3
3
  "channel": "stable-latest",
4
- "baseFrontend": "validated 7.10.2 stable runtime with automatic adapter updates relocated into System Settings",
4
+ "baseFrontend": "validated v84 runtime with authoritative RBAC and End User read-only UI correction",
5
5
  "runtimeEntry": "v84",
6
- "releaseType": "stable-system-settings-auto-update-placement",
7
- "release": "stable-system-settings-auto-update-placement",
8
- "label": "v7-10-4",
6
+ "releaseType": "stable-enduser-readonly-system-info",
7
+ "release": "stable-enduser-readonly-system-info",
8
+ "label": "v7-10-6",
9
9
  "notes": [
10
- "Retains the validated 7.10.2 restart-loop and package-completeness fixes.",
11
- "The automatic NexoWatt adapter update card is no longer mounted in the normal overview or module pages.",
12
- "The update control is mounted only inside the administrator System Settings dialog opened with the wrench button.",
13
- "A dedicated placement selftest prevents the card from returning to global page content."
10
+ "Administrator authority and all Admin controls remain unchanged.",
11
+ "End User datapoints remain visible but all edit, delete and settings actions are hidden.",
12
+ "End User datapoint writes remain denied by the backend role guard.",
13
+ "The End User system card receives read-only platform, RAM, Node.js and NPM information from an authenticated endpoint.",
14
+ "The restricted End User system-card info popup is removed to prevent permissionError dialogs."
14
15
  ],
15
16
  "changes": [
16
- "Moved Automatic Adapter Updates from the normal page content into System Settings.",
17
- "Added a dedicated auto-update cache key so browsers cannot keep the old global placement script.",
18
- "Kept backend update policy, state storage and delayed startup reconciliation unchanged.",
19
- "Added source/build drift and placement guards for the auto-update UI."
17
+ "Added an authenticated read-only system information endpoint for restricted roles.",
18
+ "Added End User-only action-column suppression in the ObjectBrowser.",
19
+ "Kept the system.user.admin full-rights bypass untouched.",
20
+ "Raised the release and browser cache identity to 7.10.6 / 7106."
20
21
  ],
21
- "brandingCacheVersion": 7101,
22
- "shellCacheVersion": 7101,
23
- "nativeShellVersion": 7101,
24
- "shellCacheTag": "7101",
25
- "repositoryEntry": "nexowatt-eos-admin-repository-entry-v7-10-4.json",
22
+ "brandingCacheVersion": 7106,
23
+ "shellCacheVersion": 7106,
24
+ "nativeShellVersion": 7106,
25
+ "shellCacheTag": "7106",
26
+ "repositoryEntry": "nexowatt-eos-admin-repository-entry-v7-10-6.json",
26
27
  "autoUpdateCacheVersion": 7103,
27
28
  "autoUpdateCacheTag": "7103"
28
29
  }
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "format": 1,
3
3
  "package": "iobroker.eos-admin",
4
- "version": "7.10.4",
4
+ "version": "7.10.6",
5
5
  "algorithm": "sha256",
6
- "fileCount": 1391,
6
+ "fileCount": 1390,
7
7
  "trackedRoots": [
8
8
  "src",
9
9
  "build",
@@ -309,7 +309,7 @@
309
309
  "adminWww/assets/Humidity-Ck1f_Evq.svg": "c5a88ade9eafa8e5fd714838acff869fa561d33a5f230019f5baa289243539d9",
310
310
  "adminWww/assets/Instances-YdaGnS5a-v84.js": "de9672fd123e971461d5ced6cc6172d5df262e3d59419e309c2a780d9a5aa5e6",
311
311
  "adminWww/assets/Instances-YdaGnS5a.js": "fb6664cc29046169ce0a152c74017d4f9b57099f12cf0b96a3653afd03fed888",
312
- "adminWww/assets/Intro-DkwRiz1n-v84.js": "fbe23c0c8d28be7b8f1ef1db6a1a97ad237858213dbd4011bce0a9ca4327d99f",
312
+ "adminWww/assets/Intro-DkwRiz1n-v84.js": "b35253da6aad0428f8f8aebaba7803e82665f955fcbfe3d0a7a649af24a53cbe",
313
313
  "adminWww/assets/Intro-DkwRiz1n.js": "b1d3030eef7bc26940993111f6491b64899bd5b795c5172e2d1555f7c414c1e8",
314
314
  "adminWww/assets/Iron-BmVcdQDM.js": "3f1e4786741e2458b55419b510dac343b9ea3d5f7c1c257e7ab52d3e7bf04cff",
315
315
  "adminWww/assets/Irrigation-BhJPKg6k.js": "a05cf0b525776278d45f92f3dc0717284eeaf0b0b18fbc0ac8afad77e11a1e0c",
@@ -334,7 +334,7 @@
334
334
  "adminWww/assets/Music-GTFyD3_A.js": "e0d865d23f9d2154ea63cee857891ffc025a1d0ca40ab6d0378241a7f6186012",
335
335
  "adminWww/assets/Nursery-Cxrv-xmv.js": "67b5c31a1dabc2a5a6373324536cf4e08aca0438e90cc58ed356d4472ad51c0e",
336
336
  "adminWww/assets/Objects-BwKcXIZw.css": "ad89e8d571596f24906a0bf5effbce3b727c3e6fc7ee667f0f0eab3bc3dc04a4",
337
- "adminWww/assets/Objects-DPan0bzw-v84.js": "eec8436fad385413b7a6922551625c1435fba8e0b2722a55b5bc04ffb2d0f433",
337
+ "adminWww/assets/Objects-DPan0bzw-v84.js": "46afe78c843ffa1849f15fd4c92c89ca7bd349c1a6927906a5f38e2178d07ee4",
338
338
  "adminWww/assets/Objects-DPan0bzw.js": "7609b95949b9937d447f1e051b208d2421d1cd3e56c7349e92b9d29118e68c81",
339
339
  "adminWww/assets/Office-CIXVNXkh.js": "41cde64ea9cad1025ee6aeccf3da952c8f64581fb0197e2a613548371ff8a9ba",
340
340
  "adminWww/assets/Outdoor Blinds-CXkkQc7j.js": "30b7682eefc3a48a62fe889258fc9814353ac8b4c6ff0c7bb49220a150567174",
@@ -404,7 +404,7 @@
404
404
  "adminWww/assets/amber-D7aVlNg3.js": "2687f459888dec42499d3e0330166b9c99add16240e35961b6123edf91c085b2",
405
405
  "adminWww/assets/assertThisInitialized-B0aQ9eG_.js": "c7e3cc4cebe056e53eb01bc7ccb6974268d61c020fa837b64c800f907f8ac2f8",
406
406
  "adminWww/assets/blue-CagzI6CQ.js": "fce7875a21a574fd80daa5d1bab96f545ff2d65cb1a29f7e02c7541332a25616",
407
- "adminWww/assets/bootstrap-COulQZax-v84.js": "14e8d7bbe05e150313cfef7a7c473481e02dc2e02c94f3731509de60a8255627",
407
+ "adminWww/assets/bootstrap-COulQZax-v84.js": "74e59fbdc557f5cab2b43a3d400cb121f685f8fc673be9449c45961d9be7ebc0",
408
408
  "adminWww/assets/bootstrap-COulQZax.js": "120310000083365306f6ebbd7a46f8937aa7d83639504214c5dabc252fa180b3",
409
409
  "adminWww/assets/bootstrap-D57bMhRi.css": "7e2acc4fbe77d10ef06c155f74a0b5c37790b29c104eb23c5e7bd84bff3ed049",
410
410
  "adminWww/assets/createSvgIcon-CfRgdNUH.js": "1a911b7e4ae00c2b99cadc89b2b32a4ad69e6e5ac7b3e0ec6e07f87f6e46956e",
@@ -527,7 +527,7 @@
527
527
  "adminWww/css/images/marker-icon.png": "574c3a5cca85f4114085b6841596d62f00d7c892c7b03f28cbfa301deb1dc437",
528
528
  "adminWww/css/images/marker-shadow.png": "264f5c640339f042dd729062cfc04c17f8ea0f29882b538e3848ed8f10edb4da",
529
529
  "adminWww/css/leaflet.css": "7a30116fa3852c0ff7e556bb2e80b0dc89c5bca8e725bbe3948af1746ca55103",
530
- "adminWww/css/nexowatt-native-shell.css": "101acbbe594b1f40cced188fc6208cd0ce2a503ce3592c6ff034ca0605ecf84c",
530
+ "adminWww/css/nexowatt-native-shell.css": "cd55f82f7e1de5041058213dda973226c8ea188de554511b9c9fffaf1ed12d0c",
531
531
  "adminWww/favicon.ico": "3a357e949ab04b9f7bb1539764419ade50d1b4fc7caa51b8f33202a3f57a1f74",
532
532
  "adminWww/img/admin.png": "7f93d65d9e1d795bf127e1af31d88d7468ccb70b026f98351d0abbc3f3bd4df6",
533
533
  "adminWww/img/admin.svg": "1167118074ff84d8cef82ad80c38609719dacfde9417126e46966c1ec986534b",
@@ -552,7 +552,7 @@
552
552
  "adminWww/img/le.png": "ef5ebb7112926f646e781a326b639f56888fafe0891b9b000178091b4f8ed9dd",
553
553
  "adminWww/img/logo.svg": "1167118074ff84d8cef82ad80c38609719dacfde9417126e46966c1ec986534b",
554
554
  "adminWww/img/no-image.svg": "25fc382f4ad3a36f8a637cd966b9107368e1f11906d706102ad5f37db6f57f34",
555
- "adminWww/index.html": "9dcbe4023a66ececd427066d57811c8610d2eb95e4d0a64aab4800a832563f7e",
555
+ "adminWww/index.html": "d0346434c12041cd85b105ef70afb347a2e4913ca116ce46551dd36ad319767a",
556
556
  "adminWww/js/adapter-settings.js": "fb2e538a3385899f7fd47275ec588051c735d8f778a44b89f40f5eb820a31dbc",
557
557
  "adminWww/js/eos-account-management.js": "dbba398605b2391ac1a7ec97cf7eb84da7f929ea16bfb6761750cd700a687fbe",
558
558
  "adminWww/js/eos-assistant.js": "be43f49fd5310d2962365035556c37109d4868856e874e1f964c4b2f05bb6beb",
@@ -563,11 +563,11 @@
563
563
  "adminWww/js/eos-manual-write-policy.js": "3c93487146b4fd5f681aa45a6bb137d9a91c3fa145ebfa94ec5ccb6b15498e8b",
564
564
  "adminWww/js/eos-native-security.js": "33098b98164623fc133314658bca2f622d19971795dd8bd3c90aca68598aab90",
565
565
  "adminWww/js/eos-policy-client.js": "5ffd32270307137fbec69a9b9bea57ca1d2e27ede987ce1eb37ff1df6677d8d2",
566
- "adminWww/js/eos-role-bootstrap.js": "62058487c81c807083cf1a9d43f34ee7a70bb3eb67cb6bed816ab8cfb10d4a46",
567
- "adminWww/js/eos-role-ui.js": "322405543ae423febfa4d1e23b390c287f9959f305d07d396a306db1c88dc9e6",
566
+ "adminWww/js/eos-role-bootstrap.js": "4cc1da40837606c0176c50c2bb4561bae8e6733b7561e00e9b19ac10111463f2",
567
+ "adminWww/js/eos-role-ui.js": "d31b2ffbd6367bb8837ef139d44fb4091d644d2d18191ad3b28a17fbbadf7739",
568
568
  "adminWww/js/license.js": "13798e577c82d7a5549b07a244b8b8453ef43e53fc7789f565c35b56e6654007",
569
569
  "adminWww/js/listHeader.js": "ed336a68a64e16a062d1af2269428fd20a08a4b695f17635f55a18bc1ef693a4",
570
- "adminWww/js/nexowatt-native-shell.js": "c5a8ae55675aa4af92d1fdcdaae8554eff3cb16eb8d64873f1402e3869907f1d",
570
+ "adminWww/js/nexowatt-native-shell.js": "5ebd9504d08764f48e926790fc1f187a45bf70b9cd8686897a53a1c3721e834f",
571
571
  "adminWww/js/tableEditor.js": "5508044619fec70071895d0ae3ab6ff75dd03bd936e7b133f98d098d4245ec20",
572
572
  "adminWww/js/translate.js": "264442c0f42a10148057125532bf55b7672c4cc051c28e7cbb922984a558f8d3",
573
573
  "adminWww/js/treeTable.js": "8abde0b7880a89f6f927a87bb041945dea1502f51bc9870d8ba0be9d3dd9eed8",
@@ -740,7 +740,6 @@
740
740
  "adminWww/logo512.png": "a7e6375e6f4e1f5e09f167af81eca69626e4baf4762a07e41b838bc4786f0519",
741
741
  "adminWww/manifest.json": "bfa868e65ffed57405e0091cdb3250a6b9265ba3b0831ca3f14e77acb9f255d7",
742
742
  "adminWww/mf-manifest.json": "737e829bad795bdc781cd820ea513d3e09345e23762e4054e1ece0c003160d3c",
743
- "adminWww/nexowatt-role-security.js": "920868a8dd283b485f90c0946a4ded9cb9fbd1a4f95c5429fea9b1436feb74e1",
744
743
  "adminWww/remoteEntry-v84.js": "3836e43036d446c7c549ca1e5b1211a452b50a2206bc197746840cc95e71f95d",
745
744
  "adminWww/remoteEntry.js": "9e3c715c9adb33c77f0eeefbd80510f97ebe1b18d8f11d43a2332ce89cd35e20",
746
745
  "adminWww/robots.txt": "90d24bc3bf698ac1e173739502298ccca72adf1f564fab05f484b8c48d1cadd2",
@@ -748,7 +747,7 @@
748
747
  "adminWww/static/js/html.js": "159b7192459d73d92761dab8c4d48e138e94e4d8e7bf99004bac257e403a0c3b",
749
748
  "adminWww/static/js/javascript.js": "6287a6b820c8707a0cd7b9e4545bcb023a8b9228569cfd21be6635d1409aabf4",
750
749
  "adminWww/static/js/nexowatt-stable-login.js": "ff0c6d4dc2086f3ab4be8ef455e5891a2ccb5f534bddfacbef2f5cd6ce65489e",
751
- "adminWww/static/js/nexowatt-stable-v7101.js": "ac3f3cbac8075b78807be9207a5bae295fa5a03da2df116e753be06232eff1b0",
750
+ "adminWww/static/js/nexowatt-stable-v7106.js": "a4a3e460cac1e028cc6a6a889e0a56c303df98cfa556a427cb5b47e0e3794496",
752
751
  "adminWww/static/js/worker-css.js": "83c767cacd6b190e2f083b139cb3f124d1b560afbd7a6dbb74bf5539aa4cadee",
753
752
  "adminWww/static/js/worker-html.js": "661d2448443c0089fba31d2829d77761a5fc042035c38433eff0e20707f17457",
754
753
  "adminWww/static/js/worker-javascript.js": "73fcf007e2d19eacba8f365719ee92d14345505b03f9cf66e6338aef02fccd21",
@@ -786,7 +785,6 @@
786
785
  "build/lib/eosAutoUpdate.js.map": "d5ad4227eb6433921938c97b64ca781cde4c42a77682c1046dea9fda4d77b266",
787
786
  "build/lib/eosRequestSecurity.js": "c9193759d0ca2f5221d31688b4ab3b0ec21aa2f4862443c0171e608adb9858a0",
788
787
  "build/lib/eosRequestSecurity.js.map": "3e6512682f0d7a1169fcab9d3d167f95e02e38774f7e47688ce0320e1509c4d5",
789
- "build/lib/eosRoleSecurity.js": "6e5e223c40b43d3eee003f4ab150099babd04f01b9629ccdf9d4d121a7e4f4f7",
790
788
  "build/lib/objectFixes.js": "ce095d293991b45bd4bfdb4a256e33a2ba74556868f07040e04b666b0757016d",
791
789
  "build/lib/objectFixes.js.map": "27f9d305b48ebc92e3ccd1b7a944bccec366a7a38c63e003bf164f03fe898790",
792
790
  "build/lib/testPassword.js": "9d2d4fcbd892db0864fb09db2c2142e3743908d70c53fc644826f4a8f492cd93",
@@ -795,9 +793,9 @@
795
793
  "build/lib/translations.js.map": "c74bcf48d2dd6ec58c48d48a7fb39c59a84fd58c25095bc0cb5bb46c88cfe24f",
796
794
  "build/lib/utils.js": "b013a5df06f95ed5bfcb851bb87c0617f61f70e6fe7f1fbf2402fd4d0aadec9b",
797
795
  "build/lib/utils.js.map": "74238d0d82cc28d41c4f627b73793f6cda26b338ef1bd97916b6417783949e29",
798
- "build/lib/web.js": "8de94dffdd7c70be6b537c111691c831116338b311f7569739de57f9a32e071f",
796
+ "build/lib/web.js": "172f19ea7ccffada720f03271ff52d00457aaa44cbd7ce4dfe924013535a9ae6",
799
797
  "build/lib/web.js.map": "5fb9f337f3a27c04bb4303cb61ffa5f0da857299a7d2890609eb5f55f24f1789",
800
- "build/main.js": "ed9f996f6240d2663a2b641e8965d42aeab75403efe2c2b0a772885f28b6c0b5",
798
+ "build/main.js": "7578ee14ea840950ad5164b0063c091c983528ebc32689dec5dc499062fbc92e",
801
799
  "build/main.js.map": "1cd3887da9b3d4061c59b6ad497c536c6c9a79938b10bbddf7128a1e7930dfbd",
802
800
  "public/404.html": "6c6458ba2bc49b0c27973293e461262bf697607a8e71ab716227553f6d7005eb",
803
801
  "public/logTemplate.html": "fc371fc8e4d7ef57c0ca76a405508eced038523464ff65b6cae04dae6144fd54",
@@ -819,7 +817,7 @@
819
817
  "src-admin/public/css/images/marker-icon.png": "574c3a5cca85f4114085b6841596d62f00d7c892c7b03f28cbfa301deb1dc437",
820
818
  "src-admin/public/css/images/marker-shadow.png": "264f5c640339f042dd729062cfc04c17f8ea0f29882b538e3848ed8f10edb4da",
821
819
  "src-admin/public/css/leaflet.css": "7a30116fa3852c0ff7e556bb2e80b0dc89c5bca8e725bbe3948af1746ca55103",
822
- "src-admin/public/css/nexowatt-native-shell.css": "101acbbe594b1f40cced188fc6208cd0ce2a503ce3592c6ff034ca0605ecf84c",
820
+ "src-admin/public/css/nexowatt-native-shell.css": "cd55f82f7e1de5041058213dda973226c8ea188de554511b9c9fffaf1ed12d0c",
823
821
  "src-admin/public/favicon.ico": "3a357e949ab04b9f7bb1539764419ade50d1b4fc7caa51b8f33202a3f57a1f74",
824
822
  "src-admin/public/img/admin.png": "f4c004482fa2623bea6f7e83df40fdda2e07334f61d5ae27eb0aba186c10ca97",
825
823
  "src-admin/public/img/admin.svg": "1167118074ff84d8cef82ad80c38609719dacfde9417126e46966c1ec986534b",
@@ -852,11 +850,11 @@
852
850
  "src-admin/public/js/eos-manual-write-policy.js": "3c93487146b4fd5f681aa45a6bb137d9a91c3fa145ebfa94ec5ccb6b15498e8b",
853
851
  "src-admin/public/js/eos-native-security.js": "33098b98164623fc133314658bca2f622d19971795dd8bd3c90aca68598aab90",
854
852
  "src-admin/public/js/eos-policy-client.js": "5ffd32270307137fbec69a9b9bea57ca1d2e27ede987ce1eb37ff1df6677d8d2",
855
- "src-admin/public/js/eos-role-bootstrap.js": "62058487c81c807083cf1a9d43f34ee7a70bb3eb67cb6bed816ab8cfb10d4a46",
856
- "src-admin/public/js/eos-role-ui.js": "322405543ae423febfa4d1e23b390c287f9959f305d07d396a306db1c88dc9e6",
853
+ "src-admin/public/js/eos-role-bootstrap.js": "4cc1da40837606c0176c50c2bb4561bae8e6733b7561e00e9b19ac10111463f2",
854
+ "src-admin/public/js/eos-role-ui.js": "d31b2ffbd6367bb8837ef139d44fb4091d644d2d18191ad3b28a17fbbadf7739",
857
855
  "src-admin/public/js/license.js": "13798e577c82d7a5549b07a244b8b8453ef43e53fc7789f565c35b56e6654007",
858
856
  "src-admin/public/js/listHeader.js": "ed336a68a64e16a062d1af2269428fd20a08a4b695f17635f55a18bc1ef693a4",
859
- "src-admin/public/js/nexowatt-native-shell.js": "c5a8ae55675aa4af92d1fdcdaae8554eff3cb16eb8d64873f1402e3869907f1d",
857
+ "src-admin/public/js/nexowatt-native-shell.js": "5ebd9504d08764f48e926790fc1f187a45bf70b9cd8686897a53a1c3721e834f",
860
858
  "src-admin/public/js/tableEditor.js": "5508044619fec70071895d0ae3ab6ff75dd03bd936e7b133f98d098d4245ec20",
861
859
  "src-admin/public/js/translate.js": "264442c0f42a10148057125532bf55b7672c4cc051c28e7cbb922984a558f8d3",
862
860
  "src-admin/public/js/treeTable.js": "8abde0b7880a89f6f927a87bb041945dea1502f51bc9870d8ba0be9d3dd9eed8",
@@ -977,8 +975,8 @@
977
975
  "src-admin/public/manifest.json": "15244d5d50f08420fc5d4793e5699e99c7b900b6908cfbc00a7182f4d4db55bd",
978
976
  "src-admin/public/robots.txt": "90d24bc3bf698ac1e173739502298ccca72adf1f564fab05f484b8c48d1cadd2",
979
977
  "src-admin/public/static/js/nexowatt-stable-login.js": "ff0c6d4dc2086f3ab4be8ef455e5891a2ccb5f534bddfacbef2f5cd6ce65489e",
980
- "src-admin/public/static/js/nexowatt-stable-v7101.js": "ac3f3cbac8075b78807be9207a5bae295fa5a03da2df116e753be06232eff1b0",
981
- "src-admin/src/App.tsx": "b3fe82b78352c745a31bb283f92fe80b015a4e6d558c3b7f1737e1b0e1377f1a",
978
+ "src-admin/public/static/js/nexowatt-stable-v7106.js": "a4a3e460cac1e028cc6a6a889e0a56c303df98cfa556a427cb5b47e0e3794496",
979
+ "src-admin/src/App.tsx": "8ab367389c604d5face72cc71da49b08021ffa2e566db4d32df9ad98f9fe762a",
982
980
  "src-admin/src/Workers/AdaptersWorker.tsx": "3a2cdeb8010598c901df0e3cffcdae913e62e7ac7c84fcadf15cb7f961dc6ed9",
983
981
  "src-admin/src/Workers/GenericWorker.tsx": "3b3c6e7856602477c54d1dc085aa23b5cfcac7784cc73710b00622ac04ed5a97",
984
982
  "src-admin/src/Workers/HostAdapterWorker.tsx": "e0b87c063fd0fca9ea9afc26a0a82f807a3f650e7459e78add197de4edaa9ff5",
@@ -1193,7 +1191,7 @@
1193
1191
  "src-admin/src/components/CustomPopper.tsx": "07f924ece634d54f1bc5c3d41ffb2702ea89d289c28d98221a5617eaba7cae3d",
1194
1192
  "src-admin/src/components/CustomSelectButton.tsx": "1547393f97fba81b13331a3df4457509f239735bad9d17713eeecd48acd420db",
1195
1193
  "src-admin/src/components/DragWrapper.tsx": "c417b1cc7786398c1d467d98db10d49e5b81d28ba9a6b0a55f6d9f5b6ad9a035",
1196
- "src-admin/src/components/Drawer.tsx": "0e6987ccdfe3f2c1c1368ea5543034e3713ed68162b0f36e69e44bbb2f6d7002",
1194
+ "src-admin/src/components/Drawer.tsx": "1c8969bb2f97d8ab66bf8be4d2989bc598d0b7397d5a99ff846aa42ceeb7618f",
1197
1195
  "src-admin/src/components/DrawerItem.tsx": "41a011ccfb84258b7e113d0ff2c8f3f12f12cc555eb34e5decd474c71f70453a",
1198
1196
  "src-admin/src/components/EasyModeCard.tsx": "403e8f47532cf469f42f91a7c40c8f9d9c09f66cc4486177ac49fc5aa230b80c",
1199
1197
  "src-admin/src/components/Editor.tsx": "47bc1dd26ab86317d7f65560b10e9611b138be8b0f13c90d78166debcd2ed4ee",
@@ -1320,12 +1318,12 @@
1320
1318
  "src-admin/src/tabs/Files.tsx": "996e7a56d34af41c495bca7c271060b88b0ddd0008d7e52fe099baf64894236c",
1321
1319
  "src-admin/src/tabs/Hosts.tsx": "c4ed6a1a03db8f02492730e6c336a8834b4f85f8054975f9601c74fb59a50973",
1322
1320
  "src-admin/src/tabs/Instances.tsx": "439ad5955bf9122e5827828d45514e0579080b30c5f1af636d997d15758c52fb",
1323
- "src-admin/src/tabs/Intro.tsx": "be90c125311fb6d10945ef0e1df28311756628fa44c7a044df9970b15300d0ac",
1321
+ "src-admin/src/tabs/Intro.tsx": "7bc7c1ab3df651959046ac1ad23f09fa9d2c1567a0225236eada2c0da5c55d9a",
1324
1322
  "src-admin/src/tabs/Logs.tsx": "51d24880c8a702629e49f3d92edfc23d94778c7d9fa79f5aca1233977166105d",
1325
- "src-admin/src/tabs/Objects.tsx": "834773b07b613b96f58d053496ed1de0e0b8cbf987a3b33314c85e8495a836f6",
1323
+ "src-admin/src/tabs/Objects.tsx": "2b87a8a7e771e10e1cce49019c4be62578f10096eee5abd17d2685f5f41cc67c",
1326
1324
  "src-admin/src/tabs/Users.tsx": "45ed37e57b66f7e23eb465aef9ad9db55613b40bf44530ab81d6206806de102d",
1327
1325
  "src-admin/src/types.d.ts": "3cfac48af5f8416b55b89c0daca78499dbbd402c0b44cc661112b76953ba3344",
1328
- "src-admin/src/version.json": "47f62d99d6da117043311a6484e38f40fbfb096eb192478c618c0a3035df8cde",
1326
+ "src-admin/src/version.json": "8333ad3db33a8616fc0d4e5990a1a4fd0b1504868d5ec252550520ed5e5001b1",
1329
1327
  "src/i18n/de.json": "85d4ecfedf15d78984922b05377063b808ae8c5a75944af323e72a2c3a483d50",
1330
1328
  "src/i18n/en.json": "6a0156a1b026903821d395ef2ceef845e90531f323a218f97f5abefaabb46a23",
1331
1329
  "src/i18n/es.json": "54369f8044dfa222779849d2f158eb100188a43816d6c42a64575122cb528a30",
@@ -1352,19 +1350,19 @@
1352
1350
  "src/lib/testPassword.ts": "c627432e64b6ed40081e2828af207238bc9e9e1f8b823eaf20c7d3e059c5e938",
1353
1351
  "src/lib/translations.ts": "8fdb51d81c3f98e17e0231f6773381886eb1c68068a3f53dd5e32bf6b58f9d16",
1354
1352
  "src/lib/utils.ts": "5398da6c6a660c4300e2679aa5e001e05297d684cc39bdfab091375768169f30",
1355
- "src/lib/web.ts": "8eae6cc8dc6eb42bc7be5498f91e4064f35564355d7538cfa4d791e7b323ca5e",
1356
- "src/main.ts": "202cb15def5968cc96a7aabec7cc273c2c0eb9d9fcfc294bb6517dee5ffc9546",
1353
+ "src/lib/web.ts": "ca2a04d1bb1e2cd51bea6fc0f70355c963b9251121cfca539be97068b9f94187",
1354
+ "src/main.ts": "e9eb8013a229d9616be923850075e8cb5475bde32c882008721225ed37a85a8c",
1357
1355
  "src/types.d.ts": "12117a644a45cb0b551555184126563e80bf909726aa378c7d72327a30c61054",
1358
1356
  "tasks.mts": "84a396f8581e7e3ca499a1c4ce01d22ea29f81700520f804b48a95fb54d72408",
1359
1357
  "tools/nexowatt-account-management-selftest.cjs": "fb3f2f132407707a0f3b960c74b4b1f3861db499783508b2d7d42b31a2729d94",
1360
- "tools/nexowatt-account-password-flow-selftest.cjs": "8794de7a6743f83e9fbf22c71c3c0434211b4a6944068c6ecd57a6f119bedc4a",
1358
+ "tools/nexowatt-account-password-flow-selftest.cjs": "4ee01c749391cc562223abd134191464d80077d795e54378b893c6d351fcd981",
1361
1359
  "tools/nexowatt-apply-ems-overview.cjs": "520d84ce95b3e99f1f559728799f1d412d84e30c441283aa42fd188b17fd242e",
1362
1360
  "tools/nexowatt-assistant-separation-selftest.cjs": "f7cd60b831e6e19f6c2381ac0996807001dcc3247dbe7dcc30d010498b5e82c3",
1363
1361
  "tools/nexowatt-auto-update-placement-selftest.cjs": "f9fb5e1b2065a70660bffdc62829210a2388259e4c0f32c77acf7ecfa1606110",
1364
1362
  "tools/nexowatt-auto-update-selftest.cjs": "1c7500ca3f0264658aa778758dc14d10353dc3857ef7c9803591654cba9b13d5",
1365
1363
  "tools/nexowatt-backend-runtime-selftest.cjs": "22eaeef2fe80c71af7e86db66e049612faf6285b47c69d9d446e2d1231d2c21f",
1366
1364
  "tools/nexowatt-branding-selftest.cjs": "3aa00be3716fb5349c45ef761ddab639c51381a265ec086ddda45ecee89d39d5",
1367
- "tools/nexowatt-clean-legacy-runtime.cjs": "ae9727e772dd7edc7d1979636cc7ba0beea43f9306b35b7dcbca816df8eb869e",
1365
+ "tools/nexowatt-clean-legacy-runtime.cjs": "a413e9b72c5d1aefc626950dfed68254789b3ea807eeea75cd06c304c9a557ab",
1368
1366
  "tools/nexowatt-datapoint-interaction-selftest.cjs": "3931d59d8a116c791096a5d1f5b36ab4c343b7ba8587f59ac4d46fadb24efa1c",
1369
1367
  "tools/nexowatt-datapoint-selftest.cjs": "357db8a875fb24fd0050c9bd9dbba17d3f330b67a1b50ba72f8d9fc5fe7fb0c5",
1370
1368
  "tools/nexowatt-default-port-selftest.cjs": "0e555a1e6cd8e05c7df7fcc482964310f86feb6ad4aa88e98a2e487975688411",
@@ -1377,15 +1375,15 @@
1377
1375
  "tools/nexowatt-generate-eos-admin-repo-entry.cjs": "a8b55d6001b0ed6d97221448b194748945f2e8382cdaf0b11ea91c63fb517139",
1378
1376
  "tools/nexowatt-generate-repo-entry.cjs": "4e98acc7db74546bd942cfa36d57015673c6f1514758494753e7339068f7eb68",
1379
1377
  "tools/nexowatt-import-integrity-selftest.cjs": "f46951126a237a6010c3c0949c25e2415ebe9af568d29411d10691951cb3ed87",
1380
- "tools/nexowatt-internal-reserve-selftest.cjs": "5d90e42b2f1d4aac1039fce14bf18a952e9c5665203e8caae112737c5dcd265e",
1381
- "tools/nexowatt-login-layout-selftest.cjs": "4d1aa1f58a8f117ab7485d883c75603df277043b838dcaa0de3143acb6d885ab",
1378
+ "tools/nexowatt-internal-reserve-selftest.cjs": "f027a2272a4277d65167d68d4ca4428cd0c28a6c6c2b610eda575abd3f2bc90a",
1379
+ "tools/nexowatt-login-layout-selftest.cjs": "7d4baae82f1d53fc14446b8ef80aaffa39b0b3529821599f4a6e2c27fbc7a7f2",
1382
1380
  "tools/nexowatt-manual-write-policy-selftest.cjs": "a41057610972d681120bf35e0321029facc08b098c79da9b131980f80bd3fdce",
1383
- "tools/nexowatt-merge-update-selftest.cjs": "46d269abc9cfc64299823088824bde1739829d05aa2fdd21cd1528e499bb2381",
1384
- "tools/nexowatt-modern-ui-selftest.cjs": "e0caf8244ff5e3431052f9cb5e2b59a64a50c92ca37ec51e286200e1ed37edc0",
1381
+ "tools/nexowatt-merge-update-selftest.cjs": "a029a368a8d1363b3a9a120ac19105ac28986d159fce93e6ebc1c3deb0ee18ac",
1382
+ "tools/nexowatt-modern-ui-selftest.cjs": "0145adc4b7d84e996f227dee02c09f767ab9a29bb2151041a50b88bb27a5b93a",
1385
1383
  "tools/nexowatt-module-popup-selftest.cjs": "31f02e8cf0bfd61d7769e1095c93887a34cfbbd76a9805ef4931cea6dff53ddf",
1386
1384
  "tools/nexowatt-native-shell-selftest.cjs": "13aabd3a19f0c0422bbc1c676718685b77c88a526167a7b511fa6c9ab2ac860c",
1387
1385
  "tools/nexowatt-password-write-selftest.cjs": "0f5cb8e7bd0d7b67f1d533f6a722429572199f05eda964634d2f0be367f46902",
1388
- "tools/nexowatt-patch-built-frontend.cjs": "fda302f382ae0d8ad021595b16438d861f2897e38f23ba548f16bf242a0aa636",
1386
+ "tools/nexowatt-patch-built-frontend.cjs": "6d66dafa002c005ab441552d0703ce619629582bbf3cd4fa56bdaa10fe1c9beb",
1389
1387
  "tools/nexowatt-patch-repo.cjs": "14cd12c23cd85bc8eeca738d459b9ba8bab3fc5fb3eadc3c6ce4a636cd36e7a1",
1390
1388
  "tools/nexowatt-policy-selftest.cjs": "a7daeca13ea7f05a5b09ee1f52ab35db7d21c8395bcaf93e537a85fe87580146",
1391
1389
  "tools/nexowatt-prebuilt-release-selftest.cjs": "ed7d10788bcfee32d9fb9a93a5ade7b1a107a24026d7e6c4cb19cf99761f5401",
@@ -1393,20 +1391,21 @@
1393
1391
  "tools/nexowatt-publish-channel-selftest.cjs": "c4efd1104ebe471ce1dc63195f322cffe760af295bf60f13b9766491acd0280e",
1394
1392
  "tools/nexowatt-release-defaults-selftest.cjs": "3e3c96ca774200461978c546d1a937cbae18d7f11497ed84dda639c2358f6e16",
1395
1393
  "tools/nexowatt-repair-eos-admin-update.cjs": "f28c1999b0f75139e582770ad649d17d11f9e909ac49d13c31be5fa5b36253e3",
1396
- "tools/nexowatt-role-access-selftest.cjs": "5d88eaeac77ff1460f28caca68a197b4cd820fbc3cf5194ff3bff036d4b20814",
1397
- "tools/nexowatt-role-security-selftest.cjs": "d98b1eef1bbe7259a9015bcc7bca1b296a1fe4bb8df1a930e2e3f71c2665ddff",
1398
- "tools/nexowatt-runtime-cleanup-selftest.cjs": "8c5a5aaf51290436ceef40f7c5a28e602a428558582ee54bb94d57ed70cc3662",
1399
- "tools/nexowatt-stability-check.cjs": "fb968bcaf388cbf2b8a61b7b4cf7b251970e97f914db6f2c90a74d73aa7ce18b",
1394
+ "tools/nexowatt-role-access-selftest.cjs": "51a25973a41d066f421c9517515db4eb9abf737a5da6ee839089ae3e59688bb7",
1395
+ "tools/nexowatt-role-security-selftest.cjs": "a7ab0513d8d7fc232561962554db27ce00e32d4a6b04af088ba5baef6d2f6dd5",
1396
+ "tools/nexowatt-runtime-cleanup-selftest.cjs": "f317b09aa0c51ffe7e1b5eaf10c52c886804ec6e8084967cd88e4ebece6ecfb5",
1397
+ "tools/nexowatt-stability-check.cjs": "2df8d43fa2b5b78b72c71781a85bfc2583e716654b7f23c985dae238dcc04092",
1400
1398
  "tools/nexowatt-stable-v7101-selftest.cjs": "817d09861ef29c52a67f64ec5b8f4ad4654ce7e6486eded786bb16f3c773eaf8",
1401
1399
  "tools/nexowatt-stable-v7102-selftest.cjs": "75baab5f8069569ad4896e5018f3c5ccbbda2c2297aca5c5146bce94f9cf795d",
1402
- "tools/nexowatt-stable-v7103-selftest.cjs": "db438580a443547ff7ceba821df940e59ba1e10105248653414a94a81fe3642e",
1400
+ "tools/nexowatt-stable-v7103-selftest.cjs": "20e0be31811dfa61772a2438085ae1a83d6e009330b01fcea5a4320f15586406",
1403
1401
  "tools/nexowatt-stable-v94-selftest.cjs": "5226881b3ad8918c67921ffb37716490f053ec88e7c0f24827a5eda7c75d4019",
1404
1402
  "tools/nexowatt-stable-v95-selftest.cjs": "0b15fcd329eb2994e64c407ab04eaafab7c38c4688136c197bf9601e1c35ee07",
1405
1403
  "tools/nexowatt-stable-v97-selftest.cjs": "4f50ad6e53b8de7eb045d56657cccd846883eacd8a877d51240d78153ba53d80",
1406
1404
  "tools/nexowatt-sync-release-version.cjs": "2478d714533ece21a275071ef6e5467f73c2fa33d0a63d76f408dc048a86c6f6",
1407
- "tools/nexowatt-ui-overview-runtime-selftest.cjs": "838a8f44f4ba322424e35ebbb01e4a55bb9cc90b8625033086969114744386b4",
1405
+ "tools/nexowatt-ui-overview-runtime-selftest.cjs": "83255e5d3c9a548013f6e9a74706644d15d98450d0bfa2eb3da83c740d8618ea",
1408
1406
  "tools/nexowatt-update-selftest.cjs": "c38c454135f98de683de8fa15fc4b9032063823f0f55fcfc8b675f551fd342f5",
1409
- "tools/nexowatt-validate-package.cjs": "f918335d1add07777ee8998a66f207df7c30479aceec6c401ec10a72a59a98fe",
1407
+ "tools/nexowatt-user-area-selftest.cjs": "8c1c86c0b3de59f09ad866bbda0e2d8702896f56a4593bbbdb540d3eceef673b",
1408
+ "tools/nexowatt-validate-package.cjs": "97de7ed0308d88d9db0401136acde98136907fb2ae4481a5e08ed57dbb6b6a34",
1410
1409
  "tools/nexowatt-value-column-selftest.cjs": "29d0a9bbea05a87dcf8ee09c86cc81acb6c59e1e34801890768f5e342083871a",
1411
1410
  "tools/nexowatt-version-sync-selftest.cjs": "65d7c8634b6d5581f337365e13a1a9432c7d47dbf5aebc237886730c32ba5e94",
1412
1411
  "tsconfig.build.json": "d3a31263975a13de77b97af9ff246d89931f3abb594047be2739cf11378b97f5",
@@ -0,0 +1,8 @@
1
+ # NPM publication 7.10.6
2
+
3
+ 1. Use a freshly extracted repository ZIP.
4
+ 2. Run `npm publish --dry-run`.
5
+ 3. Confirm version `7.10.6`, complete `build/` runtime and all active `adminWww/assets/*-v84.js` files.
6
+ 4. Publish with `npm publish` only after the dry run succeeds.
7
+
8
+ No `npm install`, `npm ci`, `tsc` or `tsx` is required for the sealed prebuilt release.
@@ -0,0 +1,5 @@
1
+ # NexoWatt EOS Admin 7.10.6 – stability and RBAC baseline
2
+
3
+ This release retains the validated 7.10.2–7.10.4 crash, package and update-placement fixes. Role decisions now come exclusively from the authenticated `/nexowatt/security/context` response. The removed heuristic must never be restored.
4
+
5
+ Administrator is an unconditional full-rights path. End User datapoints are read-only in both frontend and backend. Menu edits are persisted in an adapter state and must never write `system.config`.
@@ -0,0 +1,11 @@
1
+ # Release Acceptance 7.10.6
2
+
3
+ - [ ] Admin can write every normally writable datapoint.
4
+ - [ ] Admin can enable and disable expert mode repeatedly.
5
+ - [ ] Admin sees ioBroker Admin and XTerm overview cards.
6
+ - [ ] Installer and End User never see expert mode, ioBroker Admin or XTerm.
7
+ - [ ] App Center, License, Simulation and account administration are unavailable to Installer/End User.
8
+ - [ ] End User sees Datapoints but cannot write, edit, create or delete.
9
+ - [ ] Pencil navigation edits do not restart EOS Admin.
10
+ - [ ] Backup navigation follows the enabled state of the backup instance.
11
+ - [ ] `npm publish --dry-run` succeeds from a fresh extraction.
@@ -0,0 +1,14 @@
1
+ # NexoWatt EOS Admin 7.10.6
2
+
3
+ ## Endkundenbereich
4
+
5
+ - Die Datenpunktansicht bleibt für Endkunden lesbar, blendet aber Bearbeiten-, Löschen- und Einstellungsaktionen vollständig aus.
6
+ - Schreibbefehle bleiben zusätzlich serverseitig gesperrt.
7
+ - Die Systeminformationskarte erhält Plattform, RAM, Node.js und NPM über einen authentifizierten Nur-Lese-Endpunkt.
8
+ - Der fehlerhafte Info-Dialog mit `permissionError` wird für Endkunden nicht mehr angeboten.
9
+ - Administratorrechte und die bestehende Admin-Oberfläche bleiben unverändert und vollständig verfügbar.
10
+
11
+ ## Veröffentlichung
12
+
13
+ - Neue npm-Version 7.10.6, da 7.10.5 bereits veröffentlicht wurde.
14
+ - Release-Dateien, Cache-Tags, Repository-Eintrag und versiegeltes Prebuilt-Artefakt sind auf 7.10.6 synchronisiert.
@@ -0,0 +1,12 @@
1
+ # NexoWatt EOS role matrix 7.10.6
2
+
3
+ | Capability | Admin | Installer | End User |
4
+ |---|---:|---:|---:|
5
+ | Datapoints read | Yes | Yes | Yes |
6
+ | Datapoints write/edit | Yes | Yes | No |
7
+ | Expert mode | Yes | No | No |
8
+ | ioBroker Admin / XTerm | Yes | No | No |
9
+ | App Center / License / Simulation | Yes | No | No |
10
+ | Users, groups, passwords | Yes | No | No |
11
+ | Smart Home structure | Yes | Yes | Yes |
12
+ | Navigation layout editing | Yes | No | No |