1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-14 02:08:50 +02:00
The browser extension vault (Chrome, Firefox, Opera, Edge, Safari, & more).
Go to file
Addison Beck 57351d29a2
[bug] Migrate state even if there is not a user logged in (#615)
Currently the StateMigrationService depends on a userId key for running migrations, but if there is not an authenticated user saved to storage that userId is not present.
These changes allow for migrating state data even without an active user. For account specific settings like clearClipboard we now temporarily store those values together in disk state until an account is authed that they can be added to. Temp account state is then cleared.

Some notes:
* In order for this to work we need GlobalState.stateVersion to have a default value of StateVersion.One instead of StateVersion.Latest. Defaulting it to latest was causing migrations to not run on some clients (like desktop) that try to access storage before migrations have been run but save a version as if migrations did run.
* I also noticed we aren't clearing old state items from before migrating, and added a case for this to the migrator.
* I extracted a few bits of reused code into private methods in the stateMigration service. Things like get/set from storage, default options, etc.
2022-01-20 08:30:00 -05:00
.github Apply Prettier (#581) 2021-12-16 13:36:21 +01:00
.husky Add Prettier configuration (#574) 2021-12-16 12:45:01 +01:00
.vscode Apply Prettier (#581) 2021-12-16 13:36:21 +01:00
angular [Bug] [Account Switching] Improve State Management Performance (#611) 2022-01-19 10:51:10 -05:00
common [bug] Migrate state even if there is not a user logged in (#615) 2022-01-20 08:30:00 -05:00
electron Bump electron from 16.0.2 to 16.0.7 (#613) 2022-01-17 17:27:14 +01:00
node Fix migration to Key Connector in cli commands (#616) 2022-01-20 19:28:48 +10:00
shared Add a shared tsconfig file (#609) 2022-01-17 13:21:20 +01:00
spec Fix for issue #1287 in bitwarden/web (#569) 2021-12-16 18:46:33 +01:00
.editorconfig Add Prettier configuration (#574) 2021-12-16 12:45:01 +01:00
.git-blame-ignore-revs Add .git-blame-ignore-revs and prettier instructions (#585) 2021-12-16 14:10:11 +01:00
.gitattributes Apply Prettier (#581) 2021-12-16 13:36:21 +01:00
.gitignore setup karma testing 2018-04-17 16:15:19 -04:00
.prettierignore Fix prettier (#598) 2022-01-07 14:23:42 +01:00
.prettierrc.json Add Prettier configuration (#574) 2021-12-16 12:45:01 +01:00
CONTRIBUTING.md Apply Prettier (#581) 2021-12-16 13:36:21 +01:00
LICENSE.txt license and contrib 2018-01-26 16:07:38 -05:00
package-lock.json Bump electron from 16.0.2 to 16.0.7 (#613) 2022-01-17 17:27:14 +01:00
package.json Fix prettier (#598) 2022-01-07 14:23:42 +01:00
README.md Update README.md (#586) 2021-12-16 14:38:11 +01:00
SECURITY.md Apply Prettier (#581) 2021-12-16 13:36:21 +01:00
tsconfig.json Apply Prettier (#581) 2021-12-16 13:36:21 +01:00
tslint.json Apply Prettier (#581) 2021-12-16 13:36:21 +01:00

Github Workflow build on master

Bitwarden JavaScript Library

Common code referenced across Bitwarden JavaScript projects.

Requirements

  • Node.js v16.13.1 or greater
  • NPM v8
  • Git
  • node-gyp

Windows

  • Microsoft Build Tools 2015 in Visual Studio Installer
  • Windows 10 SDK 17134 either by downloading it seperately or through the Visual Studio Installer.

Prettier

We recently migrated to using Prettier as code formatter. All previous branches will need to updated to avoid large merge conflicts using the following steps:

  1. Check out your local Branch
  2. Run git merge 8b2dfc6cdcb8ff5b604364c2ea6d343473aee7cd
  3. Resolve any merge conflicts, commit.
  4. Run npm run prettier
  5. Commit
  6. Run git merge -Xours 193434461dbd9c48fe5dcbad95693470aec422ac
  7. Push

Git blame

We also recommend that you configure git to ignore the prettier revision using:

git config blame.ignoreRevsFile .git-blame-ignore-revs