Open
Conversation
3ec040b to
73c2a57
Compare
bff3ef3 to
9702c97
Compare
86f2069 to
810dc79
Compare
3aa5e14 to
7cedb44
Compare
e35e4ed to
3216b5c
Compare
3216b5c to
52002ef
Compare
Contributor
Author
|
@copilot
|
There was a problem hiding this comment.
Pull request overview
Adds user-management support across openWB themes and backend by introducing security topics/ACL roles, UI login/logout indicators, and updated broker/proxy configuration for authenticated websocket access.
Changes:
- Add UI login/logout indicators and access-gated navigation/rendering in Koala web theme and Cards display theme.
- Introduce Mosquitto dynamic-security ACL role management (templates + runtime syncing) and new security-related retained topics/defaults.
- Update Mosquitto/Apache configs and dev proxies (move local WS proxy to
:9003, introduce:1884local bridge listener).
Reviewed changes
Copilot reviewed 128 out of 803 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/modules/web_themes/koala/web/assets/ErrorNotFound-tIOuIigQ.js | Built asset removed (hash update). |
| packages/modules/web_themes/koala/web/assets/ErrorNotFound-BDu5JtXR.js | Built asset added (hash update). |
| packages/modules/web_themes/koala/source/src/stores/mqtt-store-model.ts | Adds SystemCommandEvent; loosens ValueObject.value typing. |
| packages/modules/web_themes/koala/source/src/stores/index.ts | Adds Pinia router plugin hook. |
| packages/modules/web_themes/koala/source/src/pages/IndexPage.vue | Gates battery tab by access/availability. |
| packages/modules/web_themes/koala/source/src/layouts/MainLayout.vue | Adds user indicator + access-gated drawer items. |
| packages/modules/web_themes/koala/source/src/components/models/daily-totals-model.ts | Makes multiple daily-totals fields optional. |
| packages/modules/web_themes/koala/source/src/components/charts/historyChart/history-chart-model.ts | Formatting/type layout change for dataset type. |
| packages/modules/web_themes/koala/source/src/components/charts/historyChart/HistoryChart.vue | Filters datasets when labels/values missing. |
| packages/modules/web_themes/koala/source/src/components/charts/energyFlowChart/EnergyFlowChart.vue | Avoids rendering grid/home components when values missing. |
| packages/modules/web_themes/koala/source/src/components/charts/dailyTotals/DailyTotalsRow.vue | Guards rendering against missing power/today data; renames props. |
| packages/modules/web_themes/koala/source/src/components/charts/dailyTotals/DailyTotals.vue | Adds conditional grid/home/chargepoint rendering + expanded state map. |
| packages/modules/web_themes/koala/source/src/components/UserIndicator.vue | New Koala login/logout + password reset UI using cookies/system commands. |
| packages/modules/web_themes/koala/source/src/components/ManualSocDialog.vue | Adjusts prop typing + manual SoC access. |
| packages/modules/web_themes/koala/source/quasar.config.ts | Updates WS proxy and enables Cookies plugin. |
| packages/modules/web_themes/koala/source/package.json | Script ordering change. |
| packages/modules/web_themes/koala/config.py | Adds userManagementSupported flag. |
| packages/modules/web_themes/colors/config.py | Adds official + userManagementSupported. |
| packages/modules/display_themes/colors/config.py | Adds userManagementSupported. |
| packages/modules/display_themes/cards/web/index.html | Updates built asset references. |
| packages/modules/display_themes/cards/web/assets/index-CSPDhfRG.css | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/index-BPh4QbTl.css | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/StatusView-DyRCMuMa.js | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/StatusView-BCJE8foI.js | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/EnergyFlowView-eMIuzBHg.js | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/EnergyFlowView-Bts5x4gm.js | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/EnergyFlowView-DxoXneQ5.css | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/EnergyFlowView-DZYEiDRA.css | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/DashboardView-QM7fZc3o.js | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/DashboardView-DyLnJEUu.js | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/DashboardView-BY6vqdxu.css | Built CSS scope-id update. |
| packages/modules/display_themes/cards/web/assets/DashboardCard-DS7AgUYm.js | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/DashboardCard-DLhWU61X.js | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/DashboardCard-Cy_vzq6d.css | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/DashboardCard-B-II5etE.css | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/ChargePointsView-C87pv3AK.css | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/ChargePointsView-3NMKIbkE.css | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-HkTln673.js | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-BWqpAuQc.js | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-HWp2u3dG.css | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-C9uUTXDh.css | Built asset added (hash update). |
| packages/modules/display_themes/cards/web/assets/ChargeModeModal-DQYfhprg.js | Built asset removed (hash update). |
| packages/modules/display_themes/cards/web/assets/ChargeModeModal-Dw7cgLgR.js | Built asset added (hash update). |
| packages/modules/display_themes/cards/source/vite.config.js | Updates dev WS proxy port. |
| packages/modules/display_themes/cards/source/src/views/WelcomeView.vue | Prevents auto-redirect when access is denied; shows “Bitte anmelden.” |
| packages/modules/display_themes/cards/source/src/stores/mqtt.js | Adds access_allowed getter + filters chargepoints by accessible config. |
| packages/modules/display_themes/cards/source/src/main.scss | Adjusts Inkline import paths. |
| packages/modules/display_themes/cards/source/src/main.js | Adds vue-cookies plugin configuration. |
| packages/modules/display_themes/cards/source/src/components/UserIndicator.vue | New Cards user indicator (cookie-based login/logout). |
| packages/modules/display_themes/cards/source/src/components/NavBar.vue | Hides navbar when access denied. |
| packages/modules/display_themes/cards/source/src/components/DashboardCard.vue | Adjusts Inkline import paths. |
| packages/modules/display_themes/cards/source/src/components/Dashboard/HomeCard.vue | Hides card if home power value missing. |
| packages/modules/display_themes/cards/source/src/components/Dashboard/GridCard.vue | Hides card if grid power value missing. |
| packages/modules/display_themes/cards/source/src/components/Dashboard/FlowCard.vue | Avoids rendering grid/home and chargepoint-sum when values missing. |
| packages/modules/display_themes/cards/source/src/components/Dashboard/ChargePointsCard.vue | Shows single CP or sum if available; uses object power text. |
| packages/modules/display_themes/cards/source/src/components/ChargePoints/VehicleSelectModal.vue | Refactors vehicle list building based on vehicle info topics. |
| packages/modules/display_themes/cards/source/src/App.vue | Adds MQTT v5 connection props + cookie-based mqtt credentials; adds indicator. |
| packages/modules/display_themes/cards/source/package.json | Dependency updates incl. router/cookies. |
| packages/modules/display_themes/cards/config.py | Adds userManagementSupported flag. |
| packages/main.py | Runs ACL role verification at start when user management enabled. |
| packages/helpermodules/update_config.py | Bumps datastore + adds security/access topics + migration for theme flags. |
| packages/helpermodules/system.py | Adds security.user_management_active default in system data. |
| packages/helpermodules/subdata.py | Subscribes to security topics; updates ACL roles/users based on config changes. |
| packages/helpermodules/setdata.py | Validates new topics + enforces command/topic alignment under user management. |
| packages/helpermodules/mosquitto_dynsec/user_handler.py | New dynamic-security user management utilities (display users, creds files). |
| packages/helpermodules/mosquitto_dynsec/role_handler.py | New dynamic-security role template + ACL update logic. |
| packages/helpermodules/mosquitto_dynsec/mosquitto_dynsec.py | New user-management bootstrap + password reset token flow. |
| packages/helpermodules/command.py | Adds ACL role maintenance on entity add/remove + password reset commands. |
| packages/control/general.py | Adds allow_unencrypted_access configuration field. |
| packages/auth_service/auth-frontend/tsconfig.json | New Quasar auth-frontend tsconfig. |
| packages/auth_service/auth-frontend/src/router/routes.ts | New auth-frontend routes (login/logout). |
| packages/auth_service/auth-frontend/src/router/index.ts | New auth-frontend router bootstrap. |
| packages/auth_service/auth-frontend/src/pages/LogoutPage.vue | New logout view (clears cookie client-side). |
| packages/auth_service/auth-frontend/src/pages/LoginPage.vue | New login view (POST /auth/login). |
| packages/auth_service/auth-frontend/src/pages/IndexPage.vue | New placeholder home page. |
| packages/auth_service/auth-frontend/src/pages/ErrorNotFound.vue | New 404 page. |
| packages/auth_service/auth-frontend/src/layouts/MainLayout.vue | New layout with theme toggle. |
| packages/auth_service/auth-frontend/src/css/quasar.variables.scss | New Quasar variables. |
| packages/auth_service/auth-frontend/src/css/app.scss | New global SCSS. |
| packages/auth_service/auth-frontend/src/components/models.ts | New example typings. |
| packages/auth_service/auth-frontend/src/components/EssentialLink.vue | New component template. |
| packages/auth_service/auth-frontend/src/boot/axios.ts | New axios boot with /auth baseURL. |
| packages/auth_service/auth-frontend/src/App.vue | New root with router-view. |
| packages/auth_service/auth-frontend/quasar.config.ts | New Quasar app config. |
| packages/auth_service/auth-frontend/postcss.config.js | New PostCSS config. |
| packages/auth_service/auth-frontend/package.json | New auth-frontend package manifest. |
| packages/auth_service/auth-frontend/index.html | New Quasar index.html. |
| packages/auth_service/auth-frontend/eslint.config.js | New ESLint flat config. |
| packages/auth_service/auth-frontend/README.md | New auth-frontend README. |
| packages/auth_service/auth-frontend/.vscode/settings.json | New editor settings. |
| packages/auth_service/auth-frontend/.vscode/extensions.json | New extension recommendations. |
| packages/auth_service/auth-frontend/.prettierrc.json | New Prettier configuration. |
| packages/auth_service/auth-frontend/.npmrc | New npm config. |
| packages/auth_service/auth-frontend/.gitignore | New gitignore. |
| packages/auth_service/auth-frontend/.editorconfig | New editorconfig. |
| openwb-install.sh | Installs new Mosquitto public/local config layout + updated service messaging. |
| data/config/simpleAPI_mqtt_config.json | Switches simpleAPI to port 1884 + adds validate_cert. |
| data/config/openwbAuthServer.service | New (commented) systemd service for auth server. |
| data/config/mosquitto/public/role-templates.json | New role templates for per-entity ACLs. |
| data/config/mosquitto/public/openwb.conf | New local bridge listener config (1884). |
| data/config/mosquitto/public/openwb-user-management.conf | New dynsec-enabled listener set. |
| data/config/mosquitto/public/openwb-unsecure-acl.conf | New unsecure listeners separate config. |
| data/config/mosquitto/public/openwb-default-acl.conf | New secure listeners separate config. |
| data/config/mosquitto/public/mosquitto_ctrl | New mosquitto_ctrl config (admin creds). |
| data/config/mosquitto/public/mosquitto.conf | New Mosquitto base config (per-listener settings). |
| data/config/mosquitto/public/mosquitto.acl | Updates ACL rules (simpleAPI read/write split). |
| data/config/mosquitto/openwb.conf | Removes old combined listener config. |
| data/config/mosquitto/mosquitto.conf | Removes old base mosquitto.conf. |
| data/config/mosquitto/local/mosquitto_local.conf | Removes obsolete comments. |
| data/config/display/lxdeautostart | Updates kiosk URL + allows insecure localhost + ignores cert errors. |
| data/config/apache/localhost.conf | New local-only Apache vhost proxying WS to 9003. |
| data/config/apache/apache-redirect-ssl.conf | New HTTP->HTTPS redirect vhost. |
| data/config/apache/apache-openwb-ssl.conf | Updates WS proxying to 9003 and adds placeholder auth proxy block. |
| data/config/apache/000-default.conf | Updates WS proxying to 9003. |
| data/clients/.htaccess | Denies access to stored client credential JSON files. |
| data/clients/.gitignore | Ignores generated credential JSON files. |
| .htaccess | Blocks serving .sh files via Apache. |
Files not reviewed (1)
- packages/modules/web_themes/koala/source/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/modules/web_themes/koala/source/src/components/UserIndicator.vue
Show resolved
Hide resolved
ec27783 to
d8a0efe
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 128 out of 803 changed files in this pull request and generated 11 comments.
Files not reviewed (1)
- packages/modules/web_themes/koala/source/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/modules/web_themes/koala/source/src/components/UserIndicator.vue
Show resolved
Hide resolved
a94dacb to
041498b
Compare
041498b to
e6a50ab
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.