Age | Commit message (Collapse) | Author | Files | Lines |
|
Bmcweb supports the If-None-Match and etag headers on responses. While
for static files, we can do a direct set, for responses, there's no way
to cache values.
Add caching support by adding what seems to be a well supported axios
package. Note the intent is that the cache expires immediately, such
that the bmc will always be polled for results, and return 304 when not
modified. Additionally, we currently cache these values in the session
context, such that they can be reused on refresh.
Tested: webui loads properly. Upon navigating to a logs page, and back,
the network console shows the bmc returning nearly all redfish responses
with 304, not modified.
Change-Id: I2e8067a88a0352226db9f987d1508ab5bf266b92
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
Having the SVG files loaded as a separate package significantly
increases the load time of the UI, as it forces the images to be
downloaded AFTER the page has loaded.
This commit adds the vue-svg-inline-loader, and appropriate config such
that the styles can be inlined, and a second trip to the BMC is not
required to load the login screen. This improves the "time to glass" of
the webui quite a bit.
Tested: Webui loads. Network tab shows svg files are not loaded. Webui
login page looks correct.
First load of the webui renders 500ms faster (1.9s vs 1.4s)
Change-Id: Iebcd9ab5df6edad0a1a5c53c028eccd2fda8f63c
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
Current Axios version was 0.21.4, this version has a CSRF vulnerability.
https://github.com/axios/axios/issues/6022.
v1.6.0 has fixed this problem, upgrade Axios to that version.
Reference: https://github.com/axios/axios/pull/6028
The package-lock.json was generated by pointing bitbake at my local repo
and building the image. devtool modify -n webui-vue <local repo>
This uses the npm version in yocto 10.4.0.
Tested: Loaded this on a p10bmc and GUI looked good.
Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>
Change-Id: Ifb0d64c7d4d15d2396ee6d83d609ab8522d9e247
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Building the webui returns a warning that browserlist is out of date.
Do as the command asks, and run.
npx browserslist@latest --update-db
To update the package-lock.json to the latest.
Change-Id: Iffb9553e68be5a14e36e358a3c695e43048ff82e
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
NPM warns that this package lock was built with an old version of npm.
So rebuild it with the version in yocto, 10.4.0
```
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
npm WARN old lockfile vue-loader-v16: No matching version found for vue-loader-v16@16.1.2.
npm WARN old lockfile at module.exports (/home/ed/openbmc/build/tmp/work/all-openbmc-linux/webui-vue/1.0+git/recipe-sysroot-native/usr/lib/node_modules/npm/node_modules/npm-pick-manifest/lib/index.js:209:23)
npm WARN old lockfile at RegistryFetcher.manifest (/home/ed/openbmc/build/tmp/work/all-openbmc-linux/webui-vue/1.0+git/recipe-sysroot-native/usr/lib/node_modules/npm/node_modules/pacote/lib/registry.js:119:22)
npm WARN old lockfile at async Array.<anonymous> (/home/ed/openbmc/build/tmp/work/all-openbmc-linux/webui-vue/1.0+git/recipe-sysroot-native/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:727:24)
npm WARN old lockfile Could not fetch metadata for vue-loader-v16@16.1.2 vue-loader-v16: No matching version found for vue-loader-v16@16.1.2.
npm WARN old lockfile at module.exports (/home/ed/openbmc/build/tmp/work/all-openbmc-linux/webui-vue/1.0+git/recipe-sysroot-native/usr/lib/node_modules/npm/node_modules/npm-pick-manifest/lib/index.js:209:23)
npm WARN old lockfile at RegistryFetcher.manifest (/home/ed/openbmc/build/tmp/work/all-openbmc-linux/webui-vue/1.0+git/recipe-sysroot-native/usr/lib/node_modules/npm/node_modules/pacote/lib/registry.js:119:22)
npm WARN old lockfile at async Array.<anonymous> (/home/ed/openbmc/build/tmp/work/all-openbmc-linux/webui-vue/1.0+git/recipe-sysroot-native/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:727:24) {
npm WARN old lockfile code: 'ETARGET',
npm WARN old lockfile type: 'version',
npm WARN old lockfile wanted: '16.1.2',
npm WARN old lockfile versions: [
npm WARN old lockfile '16.0.0-beta.5',
npm WARN old lockfile '16.0.0-beta.5.1',
npm WARN old lockfile '16.0.0-beta.5.2',
npm WARN old lockfile '16.0.0-beta.5.3',
npm WARN old lockfile '16.0.0-beta.5.4'
npm WARN old lockfile ],
npm WARN old lockfile distTags: { latest: '16.0.0-beta.5.4' },
npm WARN old lockfile defaultTag: 'latest'
npm WARN old lockfile }
```
Change-Id: I5b630ddf809ccc5c3cd014c668b6a827136835bf
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
Being on an old version of eslint is causing conflicts in our builds,
but because we pull in the @vue/cli-plugin-eslint plugin, we can't
upgrade. @vue is non trial to update, because webui-vue is on vue 4.X,
while the latest is 5.X.
This commit upgrades eslint to the latest version, and at the same time
disables @vue/cli-plugin-eslint. Not having a cli plugin doesn't seem
like it would be any amount of impact, as devs can just run eslint
manually.
At the same time, to fix a minor issue, update all of @vue to the latest
minor revision 4.5.12->4.5.19
Change-Id: I3ca9c7bbee5bdf9046d86e25e7130808b9caaa2b
Signed-off-by: Ed Tanous <ed@tanous.net>
|
|
For https://nvd.nist.gov/vuln/detail/CVE-2022-0235, update node-fetch to
2.6.7.
For https://nvd.nist.gov/vuln/detail/CVE-2022-0536 and
https://nvd.nist.gov/vuln/detail/CVE-2022-0155, update follow-redirects
to 1.14.8.
Tested:
Confirmed that I can still log into the web UI.
Change-Id: I044014ac07ce3c88f63b1a66d8677cf80617cd5a
Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
|
|
Prettier is enabled in openbmc-build-scripts on Markdown, JSON, and YAML
files to have consistent formatting for these file types. Re-run the
formatter on the whole repository.
Change-Id: I2804ee3ab5ff6bcbf986b028db2fafec8e616779
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
|
When I pushed the update to axios, the npm commands changed other
packages as well. I assumed this was expected but have since been
seeing issues with nlf able to get license information.
This reverts the non-axios changes from the previous update.
Tested:
Built and logged into the web UI successfully. Also successfully
ran nlf a few times to get node license info.
Change-Id: Idc03c1154861ccd493322e226814b20cc988bb00
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
|
|
Update axios to the latest to include the fix for this CVE:
https://nvd.nist.gov/vuln/detail/CVE-2021-3749
Tested:
Built and logged into the web UI successfully.
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
Change-Id: I40e858ac244179bf90e3314726e67db35e8ebef3
|
|
Updated NPM packages with minor and patch releases only.
Tested the UI locally and by building copying to the BMC and running in
an overlay and did not observe breaking changes.
Major releases are not updated in this commit as they require
additional testing and code updates to address breaking changes and will
be updated separately once those updates are stable.
Signed-off-by: Dixsie Wolmers <dixsie@ibm.com>
Change-Id: I73c952a75a1148c5852a18d73b9065083fd8e94c
|
|
- Updated eslint, eslint-plugin-prettier, eslint-plugin-vue, lint-staged and prettier packages.
Signed-off-by: Suren Neware <sneware9@in.ibm.com>
Change-Id: Iaf80c39a90506a820957c5531054ea96d4a3f458
|
|
- Updated babel, eslint, router, unit-jest, vuex plugins to the latest
release.
- Updated latest release is 4.5.10
Signed-off-by: Suren Neware <sneware9@in.ibm.com>
Change-Id: Ie9c69bab10542ae9242f2a190dec1b3919a67ede
|
|
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I145192b4fc6f72c8ed4742c4d3c019c35da0ce6f
|
|
- Add babel plugin to handle Jest import of SVG. Without plugin the
test fails with a require.context() is undefined
- Update snapshot tests that have changed
- Removed globals from .eslintrc.js that were needed prior to
migrating from Mocha and Chai to Jest
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: Ibd01d2e629b5ecb47d072e277e4e9b5ae5c5f001
|
|
- 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
|
|
- Update to latest major release, 6.0.3
- Resolve one of two existing npm security vulnerabilities
This plugin is only used for production builds to delete any assets
created by the plugin. This will remove any of the non-compressed files
from the dist folder.
Testing:
- Ran build and deployed to a BMC
- Verified all views functional and spot tested functionality
- Successfully added and deleted a user
- Successfully changed date and time settings and date and time display
- Successfully power cycled the system
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I86b06f30928fc33d189e24281c516ad39628b764
|
|
Ran npm outdated to determine what packages had updates and updated
all packages with a patch or minor release. This will resolve all but
two errors. The remaining errors are in modules used for the
development process only. To see these two vulnerabilities run the
npm audit command.
- Update vue-i18n-loader to use new library as the previous has been
migrated
Testing:
- Ran application locally and tested every page
- Ran documentation and tested locally
- Ran build script and tested on the BMC
- Ran the docs build without any errors
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I7603588bd732167749a403b9f6279a0ad50ccc12
|
|
In Firefox there was an no unsafe eval error which was caused when
users had the vue dev tools extenstion installed and enabled. The other
issue was the loading of a resrouce at inline (style-src) which was
caused by the SVG icons coming from the Carbon icons vue library.
- Updated the Carbon icons to the latest version to resolve
the CSP issue.
- Remove chainwebpack option only used for prefecth as this is not
needed. Originally this was an issue when using code splitting.
Changing how we import views for routes and creating a single bundle
removes the need for this option.
- Update how fill color is applied to StatusIcon component. The Carbon
icons update results in adding the fill property to the svg container
does not cascade resulting in all icons rendering as their default
fill color.
GitHub Issue: https://github.com/openbmc/webui-vue/issues/32
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I4846f80c993c129d5e88fceda13d53fab51d7c8a
|
|
- Version 1.5 had an issue with hot reloading that was resolved in
version 1.5.1
- Update vue and vue-template-compiler to vue@2.6.12 to resolve
vuepress dependencies
Testing:
- Ran docs locally (npm run docs:serve) and verified all pages
- Ran app locally (npm run serve) and spot tested several pages
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: Iec3494e00756040d9ce2f9ae6d1475f37dba0032
|
|
New hasModule method was added in v3.2.0. This new feature is needed
with env specific work being done for the two image firmware update
work.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: Ia2a9168f76eb36a586913bd6371533eea0981b1c
|
|
- Lock file not updated when I removed the chai library
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I7bb47b3b29154765bd8296e18ed6b29b7508117b
|
|
Vue recommends using dart-sass as it implements updates before
node-sass. This should also resolve a dependency that node-sass has on
Python that is causing issues with the build process.
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I71bf86f6f6ea15b866183bc0c00fabc72021238f
|
|
Running vuepress locally was failing due to a missing module. This
issue was created by a recent upgrade made using npm audit fix to
resolve some npm module security issues. The issue was resolved by
deleting the package-lock.json and rebuilding on an npm install. I
updated vuepress since there was a minor version change.
TESTING
I was able to run the docs locally and docs are rendering as expected.
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: If59c52a7a13b03e910c7c2b9969bef43d5808de8
|
|
- Users will have two options to select a timezone.
- UTC and browser offset timezone are the two options for the application.
- date-fns and date-fns-tz is used for date and time manipulations because:-
- The package size of library is smaller.
- It allows for importing functions to work with the native date object
rather than having to create a moment instance that carries a larger payload.
Signed-off-by: Sukanya Pandey <sukapan1@in.ibm.com>
Change-Id: I581803f230f501c0d34d0b53e7c2d89e8466ee60
|
|
- Ran npm audit fix and resolved all high priority security
vulnerabilities.
- One low risk vulnerability remains. This is a yargs package that may
require updating other packages.
- Lodash required an update since it was a high servirity issue that
was exposed in the application's functionality beyond the build script
and tools
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: If67fe5939c6ab69767bdc046168985078a19aa30
|
|
- The kvm console with using novnc library
Signed-off-by: Mateusz Gapski <mateuszx.gapski@intel.com>
Change-Id: Icfb7643595d8c17231ca3671753d6de971525bd3
|
|
- 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
|
|
- Remove mocha, chai, sinon and setup.js
- Add snapshot test to ApplicationHeader spec and remove skip nav link
test
- Add an update snapshot test that can be run if a page changes and the
snapshot needs to be updated
- Remove tight coupling of application structure and test in
ApplicationHeader spec
We are changing to Jest for a few reasons:
1. Jest is the testing framework used by most Vue applications and
has robust documentation
2. It requires less configuration and works out of the box
3. It includes the ability to perform snapshot testing of rendered
UI, which is much easier to maintain than trying to test specific UI
elements.
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I7bca3613991ebae1fd464fa3a60f079d044ed7b4
|
|
Update packages to bootstrap v4.4.1 and bootstrap-vue v2.12.0
to take advantage of latest features–including responsive
fluid container layout.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: Icba887feee6d79f4b63993e5328e89a4cbf5b87a
|
|
- Add node-check-version to be called on serve and build scripts to
warn user that the correct version of node is not running
- Run npm audit fix to resolve 1532 vulnerabilities
- Add .npmrc file that will adds new npm packages as the exact version.
This settings assures that the ^ is not used when adding the package to
the packacge.json file.
This is to assure that we are running the correct version of node
that will not update the package-lock.json file when installing new
packages. We are using lts/erbium version of node that is 12.16.1
allowing any patch version beyond .1.
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I564527c4d9a3946f4c7f08338f1d7ec111d9eb20
|
|
- AppHeader.js
- AppNavigation.js
Signed-off-by: Sukanya Pandey <sukapan1@in.ibm.com>
Change-Id: I55bbd16349dcf134b68fe33ba7cc26f29a98cfc7
|
|
- Mocha/Chai/Sinon test frameowrk because it has 100% feature parity with vue-loader.
- Code for making 'expect' function accessible globally.
Signed-off-by: Sukanya Pandey <sukapan1@in.ibm.com>
Change-Id: Idf809cb08d8c1ef177ff92f0ee1be04ac74059a3
|
|
- Update api calls to use Redfish
- Add column sort to name and status columns
- Set default table sort to status column
- Added lodash package
Github story: https://github.com/openbmc/webui-vue/issues/4
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: Ic6e76107475fbf5fb34deb01a4de4a4a9ccfeabf
|
|
Uninstalls vue-date-fns and uses toLocaleDateString() method to
return formatted date and time.
Date language is set by i18n and time/timezone is formatted by
browser locale.
Uses vue filter to format date and time as:
- short month, day, year, time and timezone
- 'en' example: Feb 23, 2020, 3:40:25 PM CST
- 'es' example: 25 feb 2020 14:23:36 GMT-6
- hour12 value is determined by browser default
Signed-off-by: Dixsie Wolmers <dixsie@ibm.com>
Change-Id: I4fe8c51f5437cef263f1e0ea4184c0b552c85f4d
|
|
Updating package to resolve errors while using
<b-form-select-option> component.
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: I96f4fb48329b2a21959e3d5893903a21059a16e7
|
|
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I58e738329eca42e65c4ebd71d9986df51e3450cc
|
|
- Create TableToolbar component for table batch actions
- Added Toast warning type and toast title message translations
- Update vue-i18n package to latest v8.15.3 to use improved
pluarlization features
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: I455beba4f56b8209b1201bbc5ff3f616e960d189
|
|
- Add i18n internationalization plugin
- Create json files for group 0 English and Spanish
- Uses $t method to set up initial translations on login page
- Meta title is translated using i18n in App.vue and PageTitle.Vue
Signed-off-by: Dixsie Wolmers <dixsie@ibm.com>
Change-Id: Ifce9f5e54d96f8b2a13239ad6178892f99fc4537
|
|
Resubmitting after reverted–original commit here
https://gerrit.openbmc-project.xyz/c/openbmc/webui-vue/+/28760
- Update README to include instructions on documentation development
- Update vue and vue-template-compiler to be compatible with vuepress
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I72049a5888ef6bea6621d0b7948f57a8e4177666
|
|
Resubmitting after reverted–original commit here
https://gerrit.openbmc-project.xyz/c/openbmc/webui-vue/+/28790
- Add BVConfig plugin to modify boostrap component
defaults
- Add vuelidate
- Add package and basic validations to user form
- Add all user form validations
- Add checks for edit user
- Create VuelidateMixin for shared methods
- Update Login to use Vuelidate
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: Ib50ee4d1fb5f14637c9460e77f0682869a86ac8a
|
|
Merged accidentally. Did not have proper +1s/+2s. The author will
resubmit. Apologies for the noise.
This reverts commit aae4312c3c535253b2d5db7a75503f0237ae423e.
Change-Id: I110dd4e12286836aedf84dfba2c4ef07cac08b46
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
Merged accidentally. Did not have proper +1s/+2s. The author
will resubmit. Apologies for the noise.
This reverts commit 5fa09a25c207d13ec1c9a8df92fc058f15a872e1.
Change-Id: I59a792193f94f51c6f499c385305db919cf43927
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
|
|
- Add BVConfig plugin to modify boostrap component
defaults
- Add vuelidate
- Add package and basic validations to user form
- Add all user form validations
- Add checks for edit user
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I301a65071c5cdbe16f10ce6a2a6bfa1b2516dc3d
|
|
- Add deploy script to create and deploy dist file to gh-pages branch
- Update README to include instructions on documentation development
and deployment
- Update vue and vue-template-compiler to be compatible with vuepress
- Set vue-date-fns to use specific version
- Add shell pages to be completed later
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I2fdae06d53c298d45f7a638e8875717a47050dbf
|
|
- Add gzip file compression
- Prefetch and preload plugins that add web loading primitives that are
not compatible with our server settings
- Move port to run dev from script flag to vue config file
- Remove sourcemap files from production build
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I8df6ef7a73ad687dc2c7f5db810a221668a1dd01
|
|
- Changed POST request data structure to match
backend requirements for set-cookie in response
header
- Added withCredentials property to default
axios config
- Modifying proxied response to remove 'Secure' flag
so browser can create Cookie while running locally
- Add logout api request
- Add js-cookie package to manage browser cookies
- Update the babel preset config to include useBuiltIns,
which resolves MIME type errors when overlaying
- Disable vue-router history mode to use routher hash mode
to resolves 404 errors when refreshing certain pages. This
is expected behavior with history mode enabled. Server
configuration changes are required to support HTML5
history mode: https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations
Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I5d43f36ef546962474b6cc8fff89564f29048fde
|
|
- Sets up system overview layout with out of the box Bootstrap
- Creates overview quick links and overview events
- Add Date-FNS
Signed-off-by: Dixsie Wolmers <dixsie@ibm.com>
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: Id0a3d4d3b82ef2e1a4f838b3c7e725558e602504
|
|
- Create vue app
- Add AppHeader and AppNavigation
- Set up routes for server overview and local user management
- Add themes and set to gray-10 theme
- Add active class for current navigation
- Add a prototype method named $http to vue prototype
- The UI uses console logs in production to communicate to users
- Add boostrap vue component library
Change-Id: Ib6618e6357ca01bdac6de4ed031a15c8552226f3
Signed-off-by: Derick Montague <derick.montague@ibm.com>
|