#
0c1dcc96 |
| 19-Nov-2024 |
Huy Le Anh <hule@amperecomputing.com> |
Use the createWebHashHistory method to avoid 404 errors
When using createWebHistory method in Vue 3, we may encounter a 404 error when reloading a page or accessing a specific URL directly due to a
Use the createWebHashHistory method to avoid 404 errors
When using createWebHistory method in Vue 3, we may encounter a 404 error when reloading a page or accessing a specific URL directly due to a server configuration that does not properly support HTML5 history, references at [1] and [2]. Switching to createWebHashHistory method avoids a 404 error when reloading a page, as it doesn't require a server configuration to handle navigation. By using the # sign in the URL, the browser processes everything after the # sign without sending it to the server, which helps maintain the application state smoothly when reloading the page.
Tested: 1. Go to the Obmc web page. 2. Switch between different pages. 3. Reload the website by pressing the reload button on the web browser. 4. The Obmc web page reloads normally, without any errors 5. Go to the KVM page and press "Open In New Tab"; the new KVM screen window displays normally, without 404 error. 6. Go to the SOL page and press "Open In New Tab"; the new SOL screen window displays normally, without 404 error.
[1]: https://router.vuejs.org/guide/essentials/history-mode.html [2]: https://stackoverflow.com/questions/66514813/error-404-on-page-reload-with-vue3-routing
Change-Id: I6f4dbd2b27888c852b627d74471671352ee43a39 Signed-off-by: Huy Le Anh <hule@amperecomputing.com>
show more ...
|
#
ce7db82c |
| 05-Jul-2024 |
Paul Fertser <fercerpav@gmail.com> |
Retrieve role information the Redfish standard way
Currently webui-vue has a hardcoded list of pages and sidebar menu items restricted to a specific Redfish role (from a predefined default set). To
Retrieve role information the Redfish standard way
Currently webui-vue has a hardcoded list of pages and sidebar menu items restricted to a specific Redfish role (from a predefined default set). To disallow navigating to restricted pages and to hide disallowed menu items the application needs to know the roles assigned to the session.
bmcweb only implements a single role identity per session so the Roles array returned within a Session object always has just one element.
This patch changes the mechanism used to retrieve the current role from buggy direct query to AccountService (which can only return information about BMC local users) to extracting it from standard Redfish Session object.
In case the role is not available (e.g. when backend implementation predates #Session.v1_7_0.Session) the application assumes Administrator role which is meant as a best effort to continue working given the circumstances. This doesn't pose a security risk because all validation is always performed by the backend itself, so the worst that can happen is end user getting error messages trying to access something without enough privileges.
Tested: logging in and out of accounts with different roles without reloading the page, observing the list of queries made, the role variable assignments and presence of the menu items depending on account, navigating to different pages. Also tested reloading the page and confirmed the correct role was retrieved without going through login again. Also tested deleting and mangling localStorage variable sessionURI prior to doing page reload, in those cases redirect to login page was observed.
Change-Id: I8b6c84060a987489cc1d35c46c1b00618a88b607 Signed-off-by: Paul Fertser <fercerpav@gmail.com>
show more ...
|
#
883a0d59 |
| 23-Mar-2024 |
Ed Tanous <ed@tanous.net> |
i18n, vue-router and vuex upgrade
1. Configuration of i18n legacy as false. 2. Translation function t is called using the useI18n. 3. Used the i18n.global.t() function from i18n instead of this.$t()
i18n, vue-router and vuex upgrade
1. Configuration of i18n legacy as false. 2. Translation function t is called using the useI18n. 3. Used the i18n.global.t() function from i18n instead of this.$t() 4. Event bus error that occurred during logout. 5. Implemented vue-router 4.4.0 and vuex upgrade to 4.1.0
Change-Id: I9464d82c76dcc1445ce271983ea3ab9d7b03d265 Signed-off-by: Surya Venkatesan <suryav@ami.com>
show more ...
|
#
b325541c |
| 22-May-2024 |
aravinths1 <aravinths@ami.com> |
Fixed Scroll top issue between page navigation
After scrolling down a page and navigating from that page to other pages, the page still shows the bottom of the page and does not display the top of t
Fixed Scroll top issue between page navigation
After scrolling down a page and navigating from that page to other pages, the page still shows the bottom of the page and does not display the top of the page.
Scroll behavior added in the router, So when navigating from one page to another page the top of the page will always display.
Change-Id: I883e8a9f6ae3f98846996883cac0961b4c24c62b Signed-off-by: aravinths1 <aravinths@ami.com>
show more ...
|
#
bceaffac |
| 10-Apr-2024 |
Paul Fertser <fercerpav@gmail.com> |
Deduplicate and simplify RoleId handling
To improve UX for users of accounts with restricted permissions the frontend determines the current RoleId. Knowing that it can hide menus and inhibit transi
Deduplicate and simplify RoleId handling
To improve UX for users of accounts with restricted permissions the frontend determines the current RoleId. Knowing that it can hide menus and inhibit transitions that are not allowed by the backend in any case.
This patch unifies the handling by moving processing of the API reply containing RoleId in the single place, right where `authentication/getUserInfo` store gets it. This makes the program flow easier to understand and change if needed without worrying of where another copy of the code might be and how it would need to be amended.
No functional change.
Tested: logging in and out, navigating the pages, getting an error message when wrong credentials are used, reloading the page with an established session. All while observing Network and Console tabs in Web Developer tools, no unexpected API requests are made and no unexpected errors reported. Confirmed in debugger that the retrieved role gets stored and used for routing restrictions.
Change-Id: Ia8782f44cb6bf813954d30b8bf3a620a626ad455 Signed-off-by: Paul Fertser <fercerpav@gmail.com>
show more ...
|
#
aeb19816 |
| 23-Nov-2022 |
Damian Celico <damianx.celico@intel.com> |
Added route restrictions based on user privilege
This commit allows us to add 'exclusiveToRoles' field to route config files, with the list of roles that can access this resource, if needed. In this
Added route restrictions based on user privilege
This commit allows us to add 'exclusiveToRoles' field to route config files, with the list of roles that can access this resource, if needed. In this case, only Administrator can access Virtual-Media page and SOL console, and it is blocked for other users.
Signed-off-by: Sivaprabu Ganesan <sivaprabug@ami.com> Change-Id: Ibcee18bd92d97c34414ecaf2caf6af28070c5538
show more ...
|
#
602e98aa |
| 21-Oct-2020 |
Derick Montague <derick.montague@ibm.com> |
Update linting packages to use latest
- 99% of changes were small syntax changes that were changed by the lint command. There were a couple of small manual changes to meet the property order pattern
Update linting packages to use latest
- 99% of changes were small syntax changes that were changed by the lint command. There were a couple of small manual changes to meet the property order patterns established as part of the vue:recommended guidelines.
There are rules that were set from errors to warnings and new stories are being opened to address those issues.
Testing: - Successfully ran npm run serve - Successfully ran npm run lint - Verified functionality works as expected, e.g. success and failure use cases - Resolved any JavaScript errors thrown to the console
Signed-off-by: Derick Montague <derick.montague@ibm.com> Change-Id: Ie082f31c73ccbe8a60afa8f88a9ef6dbf33d9fd2
show more ...
|
#
0a5b9c6d |
| 20-Oct-2020 |
Dixsie Wolmers <dixsie@ibm.com> |
Fix imports on router index
UI failed to load when routes were imported before store in router index. Store should be imported before routes for UI to load correctly.
Signed-off-by: Dixsie Wolmers
Fix imports on router index
UI failed to load when routes were imported before store in router index. Store should be imported before routes for UI to load correctly.
Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I1ba02cf567babc67c7a5b1c5148d49ae19108faa
show more ...
|
#
8263d85c |
| 16-Oct-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Add comments for imports that support dotenv
We have set up exact match resolve aliases to support different dotenv build customizations. Added comments to the imports that should not be changed.
S
Add comments for imports that support dotenv
We have set up exact match resolve aliases to support different dotenv build customizations. Added comments to the imports that should not be changed.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ie371b42ec35f876ccb89ef976f7126d5234a1b47
show more ...
|
#
816d947e |
| 03-Sep-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Create separate file for Vue Router routes
Separating routes into its own JS file to allow for easier env customizations. Update store resolve path to make sure right env stores modules are imported
Create separate file for Vue Router routes
Separating routes into its own JS file to allow for easier env customizations. Update store resolve path to make sure right env stores modules are imported in every file.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I5c646c81fab54085198b2e179be80c954258f51c
show more ...
|
#
11e655ca |
| 26-Aug-2020 |
Dixsie Wolmers <dixsie@ibm.com> |
Add 404 page
- User will be redirected to 404 page when navigating to undefined routes
Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I5d7bbcfdd279b6f6c993370e3adb39a516dbb1ba
|
#
fac3fbbb |
| 31-Aug-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Update router to static Virtual media component import
We have moved away from dynamic imports (lazy loading routes) to static imports to improve build size and create fewer bundles.
Virtual media
Update router to static Virtual media component import
We have moved away from dynamic imports (lazy loading routes) to static imports to improve build size and create fewer bundles.
Virtual media page was done before the decision to update router imports.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I87a0aa7a17c1f4cb6186eefe38bbdbe6c00b0485
show more ...
|
#
75100469 |
| 30-Jul-2020 |
Mateusz Gapski <mateuszx.gapski@intel.com> |
Add VirtualMedia page
More info: https://github.com/openbmc/webui-vue/issues/7
Signed-off-by: Mateusz Gapski <mateuszx.gapski@intel.com> Change-Id: I68f2074e77301c68c425f1e661988c751224b713
|
#
2a7b5aca |
| 17-Aug-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Remove Vue Router dynamic import
Current implementation uses Vue Router lazy loading routes. https://router.vuejs.org/guide/advanced/lazy-loading.html
Lazy loading creates separate js chunks and ad
Remove Vue Router dynamic import
Current implementation uses Vue Router lazy loading routes. https://router.vuejs.org/guide/advanced/lazy-loading.html
Lazy loading creates separate js chunks and adds to the total size of the built application. Switching to static imports cuts the total size down and creates fewer js bundles.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I5f53daf120cb1e3c4bb182e631ec3cbc8238c4b2
show more ...
|
#
92a0a4ac |
| 15-Jul-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Add Firmware page
Adds ability to upload a fimware image by local workstation or TFTP. Also adds ability to reboot BMC from the backup image.
- Add route definition, component view, and store for
Add Firmware page
Adds ability to upload a fimware image by local workstation or TFTP. Also adds ability to reboot BMC from the backup image.
- Add route definition, component view, and store for Firmware page - Get ActiveSoftwareImage location at /redfish/v1/Managers/bmc - Get backup by checking for an image id that is not the same as the active image /redfish/v1/UpdateService/FirmwareInventory - Switch running firmware image by making PATCH request to /redfish/v1/Managers/bmc
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I04450e5a170d374122908c4c0349ba3b6e93ed2c
show more ...
|
#
632de22a |
| 09-Jul-2020 |
Mateusz Gapski <mateuszx.gapski@intel.com> |
KVM console
- The kvm console with using novnc library
Signed-off-by: Mateusz Gapski <mateuszx.gapski@intel.com> Change-Id: Icfb7643595d8c17231ca3671753d6de971525bd3
|
#
2c98b095 |
| 22-Jun-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Add check if password change required at Login
After successfully authenticating on the Login page, check /redfish/v1/AccountService/Accounts/${username} endpoint for the PasswordChangeRequired prop
Add check if password change required at Login
After successfully authenticating on the Login page, check /redfish/v1/AccountService/Accounts/${username} endpoint for the PasswordChangeRequired property to see whether or not the password is expired. If the password is expired, then navigate to the Change password page, if the password isn't expired navigate to the Overview page. After successfully changing an expired password, navigate to the Overview page.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I32de5f71bcfcbe4099c2953a31c05ba0ebe670bc
show more ...
|
#
33058576 |
| 16-Jun-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Add ChangePassword component
Add non-functional Change password page and router definition. The page has a form and some frontend validations but backend functionality and api requests are not tied
Add ChangePassword component
Add non-functional Change password page and router definition. The page has a form and some frontend validations but backend functionality and api requests are not tied in yet. Page can be viewed by manually navigating to /change-password.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: If5e6c6a5120b86fc457d8cab4c82333c33ef745f
show more ...
|
#
739e4596 |
| 05-Jun-2020 |
Dixsie Wolmers <dixsie@ibm.com> |
Add date and time settings
Adds ablity to change date and time manually, or configure using NTP servers.
- If NTP is selected, user is required to enter at least one NTP address - Date and time a
Add date and time settings
Adds ablity to change date and time manually, or configure using NTP servers.
- If NTP is selected, user is required to enter at least one NTP address - Date and time are ISO formatted
Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I0d67c80487fdd815eacc3539ccd702b23618260e
show more ...
|
#
96f69ca9 |
| 20-May-2020 |
Sukanya Pandey <sukapan1@in.ibm.com> |
Add code for Serial Over LAN
- The output of serial connection of the hosts on the workstation terminal. - The library used is xterm which will provide the terminal to show the data.
Signed-off-by:
Add code for Serial Over LAN
- The output of serial connection of the hosts on the workstation terminal. - The library used is xterm which will provide the terminal to show the data.
Signed-off-by: Sukanya Pandey <sukapan1@in.ibm.com> Change-Id: I6000cae42f237fffe216e2079cf2a6c39db236fd
show more ...
|
#
6173bc61 |
| 16-Jun-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Create separate LoginLayout component
Create a separate layout for the login page so it can be reused for first time password reset form.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> C
Create separate LoginLayout component
Create a separate layout for the login page so it can be reused for first time password reset form.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ia2da0e8d29f7d6ad77c5277193c7535f2d00a97d
show more ...
|
#
b1f559f0 |
| 28-Apr-2020 |
Sukanya Pandey <sukapan1@in.ibm.com> |
Profile settings page
-To set the profile by setting password. -This commit adds a profile page which allows the user to change their password. In the future, the profile page will also contain user
Profile settings page
-To set the profile by setting password. -This commit adds a profile page which allows the user to change their password. In the future, the profile page will also contain user settings like language and timezone.
The API called to change the user's password is '/redfish/v1/AccountService/Accounts/<userName>'
Signed-off-by: Sukanya Pandey <sukapan1@in.ibm.com> Change-Id: Ie54a54beff8c85bc9ac5af21c35edc481b34cf44
show more ...
|
#
56ee769f |
| 28-May-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Add Hardware status page and system table
Adds ability to see system information in table format with a row expansion details view. Modified tables styles to add table borders.
Created global mixin
Add Hardware status page and system table
Adds ability to see system information in table format with a row expansion details view. Modified tables styles to add table borders.
Created global mixin for table data formatting: - Show '--' for undefined or empty string values - Map Redfish health status options to status-icon values
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: I5b45c37997647f5a265c1e84eb53f0b51699ee20
show more ...
|
#
bb81d55c |
| 26-Feb-2020 |
Dixsie Wolmers <dixsie@ibm.com> |
Add network settings page
- Adds ability to configure newtowrk settings by selected ethernet interface - Default gateway is currently unavailable in redfish, to work around, grabbed gateway from f
Add network settings page
- Adds ability to configure newtowrk settings by selected ethernet interface - Default gateway is currently unavailable in redfish, to work around, grabbed gateway from first static ipv4 configuration and assigned to new static ipv4 configurations - Adds ability to add, modify and delete static ipv4 configs - Adds ability to add, modify and delete static dns - Adds ability to edit gateway, hostname and mac address - Form validations include regex for ip, mac address, and hostname
- Language translations to be addressed in separate commit - Enabling DHCP and configuring DHCP settings to be addressed in separate commit
Signed-off-by: Dixsie Wolmers <dixsie@ibm.com> Change-Id: I122034ae0ef3a8c08e5599ee3eca66e8d0d59f67
show more ...
|
#
6f102346 |
| 05-May-2020 |
Yoshie Muranaka <yoshiemuranaka@gmail.com> |
Add Event log page
Add basic event log table with the ability to sort by column (ID, Severity, Type, Date) and filter by severity.
- Updated existing translation for eventLog to eventLogs
Signed-o
Add Event log page
Add basic event log table with the ability to sort by column (ID, Severity, Type, Date) and filter by severity.
- Updated existing translation for eventLog to eventLogs
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com> Change-Id: Ic233593cc8804d9dcefb2b5740dfac3d52899b02
show more ...
|