Upgrade Electron to version 24, node to 18 and npm to 9. Electron changed to using node 18 in 23, with node 18 using npm 9 as default.
There doesn't seem to be any breaking changes except the deprecation of Windows 7, 8.1, and Server 2012. A somewhat undocumented breaking change was that elements in the title bar are now draggable which broke the account switching selector. Resolved by adding a no-drag css rule.
- electronjs.org/blog/electron-22-0
- electronjs.org/blog/electron-23-0
- electronjs.org/blog/electron-24-0
* Create and register new libs/exporter
Create package.json
Create tsconfig
Create jest.config
Extend shared and root tsconfig and jest.configs
Register with eslint
* Migrate exportService to libs/exporter
Move exportService (abstraction and impl) into libs/exporter
Refactored exportService to be split into vault-export and event-export
Created barrel-files for both exports
Moved export.service.spec.ts into vault-export
Created an export-helper, which helps build the filename (extract method refactor from ExportService)
* Move components in libs/angular into tools-subfolder
Moved components
Updated imports in jslib-services.module and jslib.module
* Register libs/exporter with browser and fix imports
Move export.component into tools-subfolder
* Register libs/exporter with cli and fix imports
Move export.command into tools-subfolder
* Register libs/exporter with desktop and fix imports
Move export.component into tools-subfolder
* Move export models to libs/exporter
* Update web imports
* Update package-lock.json
* Move export models back as it would create circular dependency
Reponse models in common rely on export models which are in libs/exporter, which relies on common
* Fix up web for event-export
* Update CODEOWNERS
* Add export-models to team-tools-dev
* Simplify domain import
* Moving EventExport into web
* Split out api methods into sendApiService
* Move SendService and abstraction
* Libs updates
* Web updates
* CLI updates
* Desktop updates
* libs send service fixes
* browser factory additions
* Browser updates
* Fix service injection for CLI SendReceiveCommand
* Deprecate directly calling send state service methods
* SendService observables updates
* Update components to use new observables
* Modify CLI to use state service instead of observables
* Remove unnecessary await on get()
* Move delete() to InternalSendService
* SendService unit tests
* Split fileUploadService by send and cipher
* send and cipher service factory updates
* Add file upload methods to get around circular dependency issues
* Move api methods from sendService to sendApiService
* Update cipherService to use fileApi methods
* libs service injection and component changes
* browser service injection and component changes
* Desktop component changes
* Web component changes
* cipher service test fix
* Fix file capitalization
* CLI service import and command updates
* Remove extra abstract fileUploadService
* WIP: Condense callbacks for file upload
Co-authored-by: Robyn MacCallum <robyntmaccallum@gmail.com>
* Send callbacks for file upload
* Fix circular service dependencies
* Fix response return on upload
* Fix function definitions
* Service injection fixes and bug fixes
* Fix folder casing
* Service injection cleanup
* Remove deleted file from capital letters whitelist
* Create new SendApiService for popup
* Move cipherFileUploadService to vault
* Move SendFileUploadService methods into SendApiService
* Rename methods to remove 'WithServer'
* Properly subscribe to sendViews
* Fix Send serialization
* Implement fromJSON on sendFile and sendText
* [PM-1347] Fix send key serialization (#4989)
* Properly serialize key on send fromJSON
* Remove call that nulled out decrypted sends
* Fix null checks in fromJSON methods for models
* lint fixes
---------
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
The importers recently got extracted from libs/common. As the import functionality is currently limited to the web and cli, there is no need to build browser and desktop as there won't be any changes.
This will free up some runners for other workflows (GH actions) to get faster builds that actually impact browser and desktop.
Another benefit is faster feedback on the PR-checks for those two
* Create and register new libs/importer
Create package.json
Create tsconfig
Create jest.config
Extend shared and root tsconfig and jest.configs
Register with eslint
* Move importer-related files to libs/importer
* Move importer-spec-related files to libs/importer
Move import.service.spec
* Update package-lock.json
* Set CODEOWNERS for new libs/importer
* Register libs/importer with cli and fix imports
* Register libs/importer with web and fix imports
* Move importOption into models
Rename importOptions to import-options
* Fix linting issues after updating prettier
* Only expose necessary files from libs/importer
Fix tsconfig files
- Removes the trailing /index on imports in web/cli
As the spec-files no longer can access the internals via @bitwarden/importer they import by path (../src/importers)
* Add barrel files to vendors with more than one importer
* Added new workflow
* Fixed quotes.
* Added step to job.
* Added check for PR destination branch.
* Changed criteria.
* Added fork check for community PRs.
* Removed space
* Changed name.
* Updated with more filters.
* Changed to target approval for adding the label.
* Lint
* Refactored to use pull_request_target instead.
* Fixed comment
* pull_request_target isn't supported, so pull_request instead
* Added comment about target branch.
* Move autofillConstants to autofill folder
* Remove autofillConstants from whitelist capital
* Add vault team as code owners for autofill folder
* Update codeowners for web
* Remove cloud web container build. Add QA ACR back in temporarily
* Move selfhost build job into the matrix
* bypassing correct image generation
* fixing linting issues
* Fix output name
* Patch DockerHub upload from server to clients
* Move auth service factories to Auth team
* Move authentication componenets to Auth team
* Move auth guard services to Auth team
* Move Duo content script to Auth team
* Move auth CLI commands to Auth team
* Move Desktop Account components to Auth Team
* Move Desktop guards to Auth team
* Move two-factor provider images to Auth team
* Move web Accounts components to Auth Team
* Move web settings components to Auth Team
* Move web two factor images to Auth Team
* Fix missed import changes for Auth Team
* Fix Linting errors
* Fix missed CLI imports
* Fix missed Desktop imports
* Revert images move
* Fix missed imports in Web
* Move angular lib components to Auth Team
* Move angular auth guards to Auth team
* Move strategy specs to Auth team
* Update .eslintignore for new paths
* Move lib common abstractions to Auth team
* Move services to Auth team
* Move common lib enums to Auth team
* Move webauthn iframe to Auth team
* Move lib common domain models to Auth team
* Move common lib requests to Auth team
* Move response models to Auth team
* Clean up whitelist
* Move bit web components to Auth team
* Move SSO and SCIM files to Auth team
* Revert move SCIM to Auth team
SCIM belongs to Admin Console team
* Move captcha to Auth team
* Move key connector to Auth team
* Move emergency access to auth team
* Delete extra file
* linter fixes
* Move kdf config to auth team
* Fix whitelist
* Fix duo autoformat
* Complete two factor provider request move
* Fix whitelist names
* Fix login capitalization
* Revert hint dependency reordering
* Revert hint dependency reordering
* Revert hint component
This components is being picked up as a move between clients
* Move web hint component to Auth team
* Move new files to auth team
* Fix desktop build
* Fix browser build
* Add script to export sha from latest.yaml to files
* Comment out for testing
* Comment out
* Fix
* Remove test comments
* Use new gh action
* Change get checksums action reference to commit hash from master
* Comment out for testing
* Change get-checksum version to branch fix-get-checksum-action
* Comment out gh release if
* Restore if in create release step
* TEst
* Remove comments
* Change path
* Remove unused script
* Add commit SHA for get checksum action
* Update .github/workflows/release-desktop.yml
Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
---------
Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
* Update the QA deploy workflow to deploy to multiple non-prod environments
* Fix linter issues
* Update with testing code if run with QA
* Fix bash typo
* revert name
* Fix name
* Adding some logging
* Fix environment branch typo
* Add QA configuration and renable
* Rename workflow file
* Update .github/workflows/deploy-non-prod-web.yml
Switch config logic to a more extensible one.
Co-authored-by: mimartin12 <77340197+mimartin12@users.noreply.github.com>
* Fix a typo
* Add the original workflow in for QA for no disruptions
* Add line
---------
Co-authored-by: mimartin12 <77340197+mimartin12@users.noreply.github.com>
* pkg ref argon2
* add argon to cli package.json
* argon2 assets
* ci matrix for cli
* simplify builds for testing
* fix env
* zip for each os
* add os prefix back to zip
* create checksums
* make sums 256
* fix shasum command
* combine some steps for unix
* LOWER_RUNNER_OS
* SHORT_RUNNER_OS
* SHORT_RUNNER_OS on dist
* upload unix assets
* restore old build files
* fix formatting
* fix zip folder structure
* fix condition on upload unix zip asset
* compute shasum like other parts of build
* change matrix os targets