* chore: upgrade many dependencies and restructure tsconfigs
Summary:
- upgrade many dependencies
- remove dev dependencies from test-serializer and uhk-common
- created root tsconfig.json and test-serializer and uhk-common
tsconfigs extends it
- fixed e2e test
* chore: upgrade more dependencies
* feat: make double tap to hold layer optional per key
* test: fix test serializer
* fix: remove "application start" text
* Add double-tap.svg
* Add closing dot at the end of the sentence.
* fead: add double-tap icon
* Bundle firmware version 8.3.0
* feat: 'layer-double-tap' feature flag
* feat: convert SwitchLayerMode to string enum
* feat: add clipboard copy icon to the x-term-component
* feat: start device poll after firmware upgrade
* feat: remove the OK button from the firmware upgrade page
* feat: read the firmware after firmware upgrade
* fix: scrolling of the x-term-component
* feat: refresh the firmware version after recovery device
* fix: remove the scrollbar styling
* fix: stay on device firmware upgrade screen
* feat: Make saving the configuration more robust
* parse backup user config before return
* fix some bug
* Add write-userconfig.js and invalid-config.bin
* throw exception if failed user config parsing
* Merge branch 'master' into feat-467-make-save-more-robust
* hide keymaps and macros if agent in restore mode
* fix Device name settings
* Add generate version module script
* Remove Fork me on GitHub banner
* Add app-version.ts
* Revert "Add app-version.ts"
This reverts commit fe1a37e631.
* Add app-version.ts
* Add agent icon class
* Move settings component under agent folder
* Add AboutComponent
* Add agent routes
* Add index.ts for agent folder
* Fix agent folder imports in shared module
* Add agent menu to side menu, with Settings and About pages under it
* Fix agent icon alignment in side menu
* Simplify About page
* Make Agent menu 0 level in side menu
* Remove bottom Settings menu
* Fix Agent menu closing if My UHK is closed in side menu
* Fix version text alignment in auto update settings
* Remove github fork ribbon styles
* use package.json instead of app-version.ts
* fix OpenUrlInNewWindow naming
* fix lint request
* fix: firmware download url calculation
* fix(device): check privilege on Linux
* device connected if also have permission
* fix rules sh path
* refactor permission detection
* fic hasPermission condition
* fix return value
* Change UsbCommandId_SetTestLed from 0x02 to 0x14
* Change UsbCommandId_JumpToModuleBootloader from 0x12 to 0x02.
* Change UsbCommandId_SendKbootCommandToModule from 0x13 to 0x03.
* Replace UsbCommandId_ReadHardwareConfig and UsbCommandId_ReadUserConfig with UsbCommandId_ReadConfig.
* Change UsbCommandId_WriteHardwareConfig and UsbCommandId_WriteUserConfig to 0x05 and 0x06.
* Change UsbCommandId_ApplyConfig to 0x07.
* Change the arguments of UsbCommandId_LaunchEepromTransfer and its id to 0x08.
* Change the value of UsbCommandId_{GetDeviceState,SetTestLed,GetDebugBuffer,GetAdcValue,SetLedPwmBrightness}.
* Use firmware 6.0.0
* Add a number of properties to the user config that are related to mouse movement, LED brightness, data model versioning, and double tap switch layer timeout. Update firmware related version numbers.
* use default config if parse loaded config from device failed
* add asserts to the new user config fields
* separate user and hardware config parser
* fix indent
* fix user-config size read
* fix(device): fix IpcRenderer empty data messages
If IpcRenderer send null / undefined data as argument then IpcMain parse
it as empty array and not a NULL object
* fix else line break
* feat(device): Save user configuration length
* feat(device): Read only filled user configuration from EEPROM
* fix(agent): Close device connections and quit from app on Mac
* add write-hca.js
* refactor: Move config serializer into the uhk-common package
* refactor: Move getTransferBuffers into the uhk-usb package
* refactor: delete obsoleted classes
* build: add uhk-usb build command
* refactor: move eeprom transfer to uhk-usb package
* fix: Fix write-hca.js
* feat: load hardware config from the device and
* style: fix ts lint errors
* build: fix rxjs dependency resolve
* test: Add jasmine unit test framework to the tet serializer
* fix(user-config): A "type": "basic", properties to the "keystroke" action types
* feat(usb): set chmod+x on write-hca.js
* feat(usb): Create USB logger
* style: Fix type
* build: Add chalk to dependencies.
Chalk will colorize the output
* feat(device): Read user config from eeprom
* read data from eeprom
* fix user config serialization
* fix device connected detection
* not allow override default config is eeprom is empty
* add error handling to eeprom parsing
* colorize log output
* add USB[T] feature
* add class name to USB[T] log
* remove redundant error log msg
* Add USB[T] to Apply user config