1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-12-11 14:48:46 +01:00
Commit Graph

660 Commits

Author SHA1 Message Date
Andreas Coroiu
9188a31b4a
fix: group zbus dependencies (#12165) 2024-12-03 16:04:51 +00:00
Will Martin
178ef353d4
[CL-269] extension router transitions (#11989) 2024-11-27 15:33:37 -05:00
Daniel James Smith
cf52c6030e
Cleaning up after removing gulp from codebase (#12117)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-11-25 17:51:24 +01:00
Bernd Schoolmann
341a93aa47
[Pm-9823] Extract biometric messaging service (#10862) 2024-11-22 17:41:14 -08:00
Opeyemi
9e15f7dc29
[BRE-443] - Fix Linting pre bwwl Deployment (#12066) 2024-11-20 15:05:46 +00:00
Oscar Hinton
e43a204ab2
Fix broken browser build (#12050) 2024-11-19 13:43:19 +00:00
Oscar Hinton
b55a28f755
[PM-14485] Remove manifest and index.html logic from gulp (#12033)
Refactor the remaining logic from gulp.  Part of the browser build script
refactor effort.

Webpack is now responsible for performing most of the operations previously
done by gulp. This includes: - Setting browser specific class - Building the
manifest file  The `package.json` is modified to include browser specific
commands for `build`, `build:prod`, `build:watch` and `dist`.

# Manifests

Manifests now uses the `copy-webpack-plugin` `transform` feature. The logic is
located in `apps/browser/webpack/manifest.js`. It reads a template, which
supports some basic operations primarily overriding with browser specific
fields using `__browser__`.  The `manifest.json` for both regular and mv3
builds are identical to our existing manifests except:
- `applications` renamed to `browser_specific_settings`.
- `permissions` sorted alphabetically.

# Safari build

Safari requires additional packaging commands. This is implemented as a
powershell script due to the cross-platform nature, and since we generally
require powershell in our distribution pipelines. An alternative would be to
write it in bash, but bash is less powerful and would require some additional
commands like `jq`. Another alternative is to write it using js, but that would
require additional dependencies.
2024-11-19 13:25:30 +00:00
Andreas Coroiu
33f7643e15
[PM-12989] Create process for qa to build client with particular sdk version (#11601)
* feat: update sdk service abstraction with documentation and new `userClient$` function

* feat: add uninitialized user client with cache

* feat: initialize user crypto

* feat: initialize org keys

* fix: org crypto not initializing properly

* feat: avoid creating clients unnecessarily

* chore: remove dev print/subscription

* fix: clean up cache

* chore: update sdk version

* feat: implement clean-up logic (#11504)

* chore: bump sdk version to fix build issues

* chore: bump sdk version to fix build issues

* fix: missing constructor parameters

* refactor: simplify free() and delete() calls

* refactor: use a named function for client creation

* fix: client never freeing after refactor

* fix: broken impl and race condition in tests

* feat: add sdk override to desktop build

* feat: add SDK version to browser about dialog

* feat: add sdk override to browser build

* fix: `npm ci` overriding the override

* fix: artifacts not properly downloaded

* fix: switch to new repository

* feat: add debug version function to web

* feat: add sdk-version to CLI

* feat: add version to desktop

* feat: add override to cli

* feat: add override to web

* fix: cli version acting as default command

* fix: consistent workflow input name

* feat: add error handling

* feat: upgrade sdk-internal

* fix: forgot to update package lock

* fix: broken CI build

move sdk version to a regular command

* chore: revert version changes

* refactor: move error handling code

* chore: bump SDK to 0.2.0.main-1

* fix: clean up references to inputs.sdk_commit

* refactor: rename `init` to `applyVersionToWindow`
2024-11-19 13:59:59 +01:00
Vince Grassia
4d9dc9a839
BRE-438 - Update Crowdin workflow (#12038) 2024-11-18 16:15:58 +00:00
Oscar Hinton
d875ded8fa
Revert "[PM-14485] Remove manifest and index.html logic from gulp" (#12032)
This reverts commit c388697fdf.
2024-11-18 15:38:53 +01:00
Oscar Hinton
c388697fdf
[PM-14485] Remove manifest and index.html logic from gulp (#11861)
Refactor the remaining logic from gulp.  Part of the browser build script
refactor effort.

Webpack is now responsible for performing most of the operations previously
done by gulp. This includes: - Setting browser specific class - Building the
manifest file  The `package.json` is modified to include browser specific
commands for `build`, `build:prod`, `build:watch` and `dist`.

# Manifests

Manifests now uses the `copy-webpack-plugin` `transform` feature. The logic is
located in `apps/browser/webpack/manifest.js`. It reads a template, which
supports some basic operations primarily overriding with browser specific
fields using `__browser__`.  The `manifest.json` for both regular and mv3
builds are identical to our existing manifests except:
- `applications` renamed to `browser_specific_settings`.
- `permissions` sorted alphabetically.

# Safari build

Safari requires additional packaging commands. This is implemented as a
powershell script due to the cross-platform nature, and since we generally
require powershell in our distribution pipelines. An alternative would be to
write it in bash, but bash is less powerful and would require some additional
commands like `jq`. Another alternative is to write it using js, but that would
require additional dependencies.
2024-11-18 11:50:24 +01:00
Victoria League
3b5b2d6bd6
[CL-265] CL/extension refresh feature branch (#8696)
* [CL-245] Update palette to new light and dark theme colors (#8633)

* [CL-245] Add new color swatches to storybook (#8697)

* [CL-238] update typography (#8997)

* [CL-230] [CL-296] Update button styles (#9345)

* [CL-237] Update menu styles for extension refresh (#9525)

* [CL-267] Add 100-level color variants and update primary-600 (#9550)

* [CL-286] Update badge to use focus-visible instead of focus (#9551)

* [CL-250] Update badge styles for extension refresh (#9572)

* [CL-234] callout style refresh (#9920)

* [CL-233] Update form field styles (#9776)

* [CL-239][CL-251][CL-342] dialog style refresh (#10096)

* [CL-239] simple dialog style refresh

* [CL-342] fix text overflow in dialog; add story

* [CL-244] readonly fields (#10164)

* [CL-352] Fix Angular errors related to form element changes (#10211)

* [CL-273] Update styles for checkbox and form control (#10146)

* [CL-274] Update styling for radio button (#10333)

* [CL-338] Remove extra space in item content when end slot is empty (#10350)

* [CL-377] Fix extension style conflict for input background (#10351)

* [CL-271] Update styles for toggle (#10377)

* [CL-381] Update spacing around form elements (#10432)

* [CL-229] Update icon button styles (#10405)

* [CL-380] Remove hover state from disabled form fields (#10639)

* [CL-405] Allow toggle group input to be full width (#10658)

* [CL-389] Exclude end slot label content from truncation (#10508)

* [CL-383] Remove manual focus when password toggle is clicked (#10749)

* [CL-278][CL-391] misc bit-item style fixes (#10758)

* [CL-391] use pointer cursor on hover when link or button

* [CL-210] Change base font size from 14px to 16px (#10779)

* [CL-291] Finalize styling for chip select (#10771)

* [CL-257] update banner component styles (#10766)

* [CL-443] Fix sizing issues (#10893)

* [CL-445] Fix small sizing and spacing issues (#10962)

* [CL-382] Reduce element shifting on readonly hover (#10956)

* [CL-396] Update theme colors to new hexes (#10968)

* [CL-395] Remove text headers color (#10997)

* [CL-404] Switch to primary-600 for all focus indicators (#11015)

* [CL-397] Remove primary-500 (#11036)

* [CL-447] Ensure DM Sans displays correctly at all font weights (#11041)

* [CL-448] Scrollbar Styles (#11111)

* CL-252/update toast (#10996)

* [CL-275] Update link styles (#11174)

* [CL-446] Update hover state for unselected chip selects (#11172)

* [CL-454] Improve color a11y for toast and banner interactive elements (#11200)

* [CL-457] Center input text for select and multiselect (#11239)

* [CL-455] Do not use responsive margin for sections in dialogs or extension (#11243)

* [CL-459] Fix chip behavior when opening menu while item is selected (#11227)

* [CL-388] Update vertical nav colors for new palette (#11226)

* scope styled scrollbar to only select elements (#11247)

* edit radio buttons to be block inputs and update spacing (#11291)

* [CL-453] Fix multiselect chip spacing and truncation (#11300)

* [PM-11131] Prevent duplicated sr labels on form field icon buttons (#11383)

* [CL-303] Prevent chip menu from running offscreen (#11348)

* [CL-476] Fix DM Sans font on Windows (#11409)

* implements scrollbar styles for firefox/chrome and safari (#11447)

* [CL-472] Fix search background color in extension (#11466)

* [CL-481] Style updates for bit-item, bit-card, and primary-100 (#11473)

* [CL-478] Remove underline on hover for most components (#11477)

* [CL-477] Remove focus styles for readonly input (#11510)

* [CL-487] Fix vault items virtual scroll height (#11581)

* [PM-8625] Increase popup width (#11686)

* [CL-494] Wrap long words in toggle group (#11659)

* [CL-13820] Add class to remove link underline (#11762)

* [CL-435] Prevent Windows extension from shifting (#11851)

* [CL-503] Add notification color variables (#11802)

* [PM-14043] Update size of toggle group label to fit more content (#11881)

* [CL-498] Set chip menu width minimum to chip select width (#11905)

---------

Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
Co-authored-by: Merissa Weinstein <merissa.k.weinstein@gmail.com>
Co-authored-by: Danielle Flinn <43477473+danielleflinn@users.noreply.github.com>
2024-11-15 09:21:17 -05:00
Andreas Coroiu
b4aea05169
revert: recent changes to build-desktop.yml and entitlements (#11991)
* Revert workflow changes in "[PM-9022] scaffold the extension and build pipeline (#9948)"

This reverts commit 62112b99a9.

* fix: comment out autofill entitlement
2024-11-14 11:42:10 +01:00
Bernd Schoolmann
a75c2118ec
[PM-14850] Flatpak development & qa artifacts (#11925)
* Add flatpak development manifest

* Undo removal of libsecret

* Update .github/workflows/build-desktop.yml

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>

---------

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
2024-11-13 17:41:47 +01:00
Michał Chęciński
63a71981fb
Fix github token generating in repository-management.yml workflow (#11983)
* Skip token revoke in repository-management.yml workflow

* GEt gh token in every job
2024-11-13 16:58:43 +01:00
Vince Grassia
334b82764c
Change Docker image tag logic to support pull_request_target trigger (#11984) 2024-11-13 16:19:38 +01:00
Andreas Coroiu
62112b99a9
[PM-9022] scaffold the extension and build pipeline (#9948)
* feat: add macos xcode project

* feat: add extension to mas build

* feat: use `after-sign` to avoid issues

Electron builder modifies the .plist in the extension which causes issues with the signing process. Copying and re-signing manually avoids this because it bypasses the electron builder for the extension

* feat: always clean build and add better error handling

* chore: add some logging to after-sign

* feat: automatically cleanup xcode build to avoid duplicate extensions

* docs: add information about managing extensions

* feat: add missing safari extension logging

* lint: allow macos filenames

* chore: add macos to platform ownership

* lint: add some additional allowed files

* feat: don't build autofill extension for MAS

* chore: ignore capital letters linting for all macos files

* chore: replace gulpfile with regular node script

* chore: add lint rules to script

* lint: fix remaining lint issues in script

* chore: tweak lint rule

* feat: remove desktop target

* fix: use new provisioning profile for dev extension

* Update to unblock CI builds

* chore: remove extension from masdev pack

This way we don't include the extension in any build and can avoid the signing issues it brings

* chore: add autofill as codeowner

* chore: remove xcuserdata

* chore: ignore xcuserdata

---------

Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
Co-authored-by: Michał Chęciński <mchecinski@bitwarden.com>
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-11-13 15:54:35 +01:00
Matt Bishop
5755d4b3a8
Use correct event and branch targets for some workflow steps (#11961) 2024-11-11 16:38:03 -05:00
Matt Bishop
80c71c191b
Check run earlier during setup (#11958) 2024-11-11 13:19:33 -05:00
Bernd Schoolmann
081fe83d83
PM-10393 SSH keys (#10825)
* [PM-10395] Add new item type ssh key (#10360)

* Implement ssh-key cipher type

* Fix linting

* Fix edit and view components for ssh-keys on desktop

* Fix tests

* Remove ssh key type references

* Remove add ssh key option

* Fix typo

* Add tests

* [PM-10399] Add ssh key import export for bitwarden json (#10529)

* Add ssh key import export for bitwarden json

* Remove key type from ssh key export

* [PM-10406] Add privatekey publickey and fingerprint to both add-edit and view co… (#11046)

* Add privatekey publickey and fingerprint to both add-edit and view components

* Remove wrong a11y title

* Fix testid

* [PM-10098] SSH Agent & SSH Key creation for Bitwarden Desktop (#10293)

* Add ssh agent, generator & import

* Move ssh agent code to bitwarden-russh crate

* Remove generator component

* Cleanup

* Cleanup

* Remove left over sshGenerator reference

* Cleanup

* Add documentation to sshkeyimportstatus

* Fix outdated variable name

* Update apps/desktop/src/platform/preload.ts

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Rename renderersshagent

* Rename MainSshAgentService

* Improve clarity of 'id' variables being used

* Improve clarity of 'id' variables being used

* Update apps/desktop/src/vault/app/vault/add-edit.component.html

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Fix outdated cipher/messageid names

* Rename SSH to Ssh

* Make agent syncing more reactive

* Move constants to top of class

* Make sshkey cipher filtering clearer

* Add stricter equality check on ssh key unlock

* Fix build and messages

* Fix incorrect featureflag name

* Replace anonymous async function with switchmap pipe

* Fix build

* Update apps/desktop/desktop_native/napi/src/lib.rs

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Revert incorrectly renamed 'Ssh' usages to SSH

* Run cargo fmt

* Clean up ssh agent sock path logic

* Cleanup and split to platform specific files

* Small cleanup

* Pull out generator and importer into core

* Rename renderersshagentservice to sshagentservice

* Rename cipheruuid to cipher_id

* Drop ssh dependencies from napi crate

* Clean up windows build

* Small cleanup

* Small cleanup

* Cleanup

* Add rxjs pipeline for agent services

* [PM-12555] Pkcs8 sshkey import & general ssh key import tests (#11048)

* Add pkcs8 import and tests

* Add key type unsupported error

* Remove unsupported formats

* Remove code for unsupported formats

* Fix encrypted pkcs8 import

* Add ed25519 pkcs8 unencrypted test file

* SSH agent rxjs tweaks (#11148)

* feat: rewrite sshagent.signrequest as purely observable

* feat: fail the request when unlock times out

* chore: clean up, add some clarifying comments

* chore: remove unused dependency

* fix: result `undefined` crashing in NAPI -> Rust

* Allow concurrent SSH requests in rust

* Remove unwraps

* Cleanup and add init service init call

* Fix windows

* Fix timeout behavior on locked vault

---------

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>

* Fix libc dependency being duplicated

* fix SSH casing (#11840)

* Move ssh agent behind feature flag (#11841)

* Move ssh agent behind feature flag

* Add separate flag for ssh agent

* [PM-14215] fix unsupported key type error message (#11788)

* Fix error message for import of unsupported ssh keys

* Use triple equals in add-edit component for ssh keys

---------

Co-authored-by: Andreas Coroiu <acoroiu@bitwarden.com>
Co-authored-by: aj-bw <81774843+aj-bw@users.noreply.github.com>
2024-11-08 11:01:31 +01:00
Justin Baur
f206e0f817
Move Packages to Platform & KM (#11907) 2024-11-07 16:41:47 -05:00
Vince Grassia
e95af8269f
Add check for trigger event (#11904) 2024-11-07 15:15:44 -05:00
Vince Grassia
771bfdaccd
Fix quotes (#11902) 2024-11-07 19:42:10 +00:00
Vince Grassia
668ede2dfb
Add event_name check to Deploy Web trigger job (#11901) 2024-11-07 14:38:05 -05:00
Matt Bishop
db40f20160
Check run permissions for build artifact generation secrets usage (#11897) 2024-11-07 13:01:54 -05:00
Vince Grassia
9d2c57d3d9
BRE-344 - Add Repository Management workflow (#11855) 2024-11-05 11:48:03 -05:00
Daniel James Smith
8bee0ada2f
Move ownership of electron-dependencies to platform (#11862)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-11-05 14:23:20 +01:00
Oscar Hinton
af6a2f5553
[PM-13375] Gulp: Remove beta builds (#11482)
Part of the browser build script refactor effort. bitwarden.atlassian.net/browse/PM-6683

The beta logic adds a fair bit of complexity and is currently unused. Let’s remove it and we can look into re-add it after migrating to our new build system.
2024-11-05 10:54:38 +01:00
Daniel García
2e6ed4a4fc
[PM-14270] Use rust to access windows registry (#11413) 2024-11-04 14:50:05 +01:00
renovate[bot]
dd6def2f52
[deps] DevOps: Update gh minor (#11730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-30 11:29:15 -04:00
Andreas Coroiu
7ce26f7aea
Group macOS bindings (#11785)
* fix: group `security-framework` and `security-framework-sys` dependency in renovate

* reactor: rename to macOS/iOS bindings
2024-10-30 14:00:08 +01:00
Bernd Schoolmann
e83dca529b
[PM-12607] Move key rotation to km ownership (#11709)
* Move key rotation to km ownership

* Fix build

* Move userkey rotation data provider abstraction to km ownership

* Move userkey rotation data provider abstraction to km ownership

* Fix linting

* Fix CODEOWNERS for key-management web

* Remove incorrect export

* Fix import error
2024-10-26 13:47:40 +02:00
Tom
947e4154a4
Tools team code ownership for license lib files (#11664) 2024-10-23 10:25:29 -04:00
Oscar Hinton
173a5e2574
[PM-13277] Gulp: Remove unnecessary filtering (#11456)
Part of the browser build script refactor effort. bitwarden.atlassian.net/browse/PM-6683

We seem to have some very old filters related to fonts and safari build files. These predates our modern usage of webpack for bundling only used assets.

I've run diff -qr on Chrome, Firefox and Safari builds and the only difference is that we now include a bwi-font.svg resource. bwi-font.svg is referenced in our css files and "should" be included.
2024-10-22 18:53:30 +02:00
Opeyemi
133257f60e
clean up document start (#11607) 2024-10-17 18:40:42 +00:00
renovate[bot]
f6f487bdce
[deps] DevOps: Update gh minor (#11537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-17 10:45:49 -04:00
Michał Chęciński
80e6b1afd1
[BRE-101] Remove dept-devops from CODEOWNERS (#9564)
* BRE-101: Remove dept-devops from CODEOWNERS

* Fix

* Update codeowners
2024-10-17 11:32:08 +02:00
Jordan Aasen
fa41f29fc4
[CL-425] - add tools card component (#11375)
* add tools card component

* rename to tools-card

* whitelist readme

* fix tw classes in card component

* add RTL support.

* add documentation. revert changes to settings

* Revert vscode settings

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-10-11 23:00:45 +02:00
Oscar Hinton
844d2298e9
[PM-13271] Remove unused ci:coverage from gulpfile (#11455)
Remove the gulp coverage report since we now use jest, and coverage is handled through the root coverage report which is done in a different script.
2024-10-08 16:33:27 +02:00
Maciej Zieniuk
df14e3f030
[PM-13207] Detect incompatible locale changes (#11425)
* detecting unsupported modifications in locales

* typo fix

* limit to english locales, increased verbosity

* increased verbosity
2024-10-08 14:02:58 +02:00
Daniel García
9aeb412404
[PM-7646][PM-5506] Rust IPC changes: Episode 2 (#11122)
* Revert "[PM-7646][PM-5506] Revert IPC changes (#10946)"

This reverts commit ed4d481e4d.

* Ensure tmp dir gets created on MacOS

* Remove client reconnections

* Improve client error handling and process exiting
2024-10-01 16:28:56 +02:00
Bernd Schoolmann
19f547e638
[PM-8836] Move ownership of biometrics to key-management (#10818)
* Move ownership of biometrics to key-management

* Move biometrics ipc ownership to km

* Move further files to km; split off preload / ipc to km

* Fix linting

* Fix linting

* Fix tests

* Fix tests

* Update .github/CODEOWNERS

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update .github/CODEOWNERS

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Change ownership of native messaging to key-management

* Move biometrics to libs/key-management

* Add README to capital whitelist

* Update package-lock.json

* Move km to key-management

* Move km to key-management

* Fix build for cli

* Import fixes

* Apply prettier fix

* Fix test

* Import fixes

* Import fixes

* Update libs/key-management/README.md

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update libs/key-management/package.json

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Update lock file

* Change imports to top level km package

---------

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
2024-09-30 18:14:32 +02:00
Michał Chęciński
cc9a72616a
Differenciate slack chanel by environment in deploy-web.yml workflow (#11255) 2024-09-30 09:18:37 -04:00
renovate[bot]
0cd2b4aae5
[deps] DevOps: Update gh minor (#11320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-30 11:46:20 +02:00
renovate[bot]
0089ae0886
[deps] DevOps: Update gh minor (#11064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 11:35:01 -04:00
Vince Grassia
64844600dc
Fix alert message for Desktop builds (#11139) 2024-09-19 10:40:55 +02:00
Vince Grassia
f2142e318e
BRE-315 - Update workflow to push to TestFlight on protected branches (#11082) 2024-09-16 11:15:34 -06:00
Opeyemi
d34b40797e
[BRE-246] - Use GH-App for Version Bump Workflow (#10986)
* Use GH-App for version bump workflow

* update secret
2024-09-16 16:36:53 +01:00
Matt Gibson
3be5c4800b
Do not test napi crate on windows (#11003)
* Do not test napi crate on windows

possibly related to https://github.com/napi-rs/napi-rs/issues/1405. We are seeing buffer overflows in ci due to repeated Node-API GetProcAddress failures.

We don't have any tests in the napi crate, so there's no harm in removing those tests right now. If we have tests there in the future, we'll need to actually fix this. However, the napi crate is just a wiring crate, so maybe we won't ever have any unit tests there.

* include crate in name

* Remove crate axis
2024-09-12 11:21:23 -06:00
Bernd Schoolmann
aa2a2d3ed0
Add initial km CODEOWERSHIP (#10988) 2024-09-11 14:04:01 +02:00