Commit Graph

1556 Commits

Author SHA1 Message Date
Bernd Schoolmann 2f0c1610d9
Implement rust fido2 for desktop mac and linux 2024-11-29 16:44:42 +01:00
Oscar Hinton 59686346d4
[PM-15444] Increase WASM timeout to 10s (#12158)
* Increase WASM timeout to 10s

* Change time to 3s, add logService with debug log
2024-11-28 11:58:09 +01:00
Will Martin 178ef353d4
[CL-269] extension router transitions (#11989) 2024-11-27 15:33:37 -05:00
Merissa Weinstein 2767851925
PM-15390 | update margin top in the filter list component (#12157)
* update margin top in the filter list component

* remove surrounding padding and increase margin
2024-11-27 10:29:17 -06:00
Will Martin d448db5ed7
[PM-15410][PM-15410] add nullish check when referencing `document` in `BrowserPopupUtils` (#12162)
* check if document is undefined before accessing `body`
2024-11-27 09:14:03 -05:00
Nick Krantz 1229d25fec
[PM-15065] Extension not loading when accessed via URL (#12160)
* add check for extension prefixes in the three major browsers.

- Firefox does not throw an error or receive the message. Adding checks for Safari and Chrome for safety if this functionality were to change.

* remove unneeded mock rejection

* move prefixes to dedicated array

* refactor protocol check to its own variable
2024-11-26 21:24:31 -06:00
Victoria League 347d6fc718
[PM-15021] Improve in-tab experience for extension (#12155) 2024-11-26 14:15:46 -05:00
cyprain-okeke c52eeb1cb3
[PM-13348] Browser Extension impacts on Free Bitwarden Family Policy (#12073)
* Add changes for enabled policy

* Remove unused property

* Refactor the changes

* remove duplicated across multiple components

* Add some test and documentations to service

* Correct the comment free family sponsorship for isExemptFromPolicy
2024-11-25 22:37:24 +01:00
Will Martin bb0912154d
[CL-508] extension width setting (#12040) 2024-11-25 14:43:31 -05:00
Nick Krantz d52da5869b
[PM-15065] Vault Loading on empty tabs (#12059)
* catch errors from `tabSendMessage`

- Removes the need for a timeout when fetching page details

* Add parameter to reject on error

- allows each implementation to decide if they want to handle the error or not
2024-11-25 08:37:01 -06:00
Daniel James Smith 2ee14ba5ce
Add translation to navButton.title (#12110)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-11-22 14:59:05 -05:00
Jonathan Prusik 04caec6f69
[PM-15187] Do not use innerHTML (#12108)
* do not use innerHTML

* remove unused catalog message
2024-11-22 14:07:13 -05:00
rr-bw 13d4b6f2a6
fix(biometrics): [PM-14593] Bugfix for "Cannot disable biometrics on extension" (ExtensionRefresh) (#12099)
In the legacy `AccountSercurityV1Component` the `updateBiometric(enabled: boolean)` method had an `else` block to handle an `enabled` value of `false`. The new `AccountSecurityComponent` is missing this block, which makes it so the user cannot disable biometrics because we aren't handling the case where they uncheck the biometrics checkbox. This PR just adds the `else` block in the new component so we handle a `false` value.

Feature Flag: ExtensionRefresh ON
2024-11-22 10:31:09 -08:00
bw-ghapp[bot] 41f656650c
Autosync the updated translations (#12093)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-11-22 12:19:01 +01:00
rr-bw 9f99454b37
feat(auth): [PM-9693] Refresh LoginDecryptionOptionsComponent (#11782)
Creates a refreshed and consolidated `LoginDecryptionOptionsComponent` for use on all visual clients, which will be used when the `UnauthenticatedExtensionUIRefresh` feature flag is on.
2024-11-21 13:31:20 -08:00
Daniel James Smith 228817b85f
Ensure labels on nav-buttons can be translated (#12084)
- Introduce using i18n by importing JslibModule
- Use i18n within markup
- Ensure navButtons.labels is a key that is present in the en/messages.json

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-11-21 16:16:49 -05:00
Github Actions 5873f0e89d Bumped client version(s) 2024-11-21 16:14:06 +00:00
Bernd Schoolmann 38c4eeb27d
[PM-14542] Move kdf to km ownership (#11877)
* Move kdf to km ownership

* Fix duplicate import

* Remove whitespace

* Fix double imports

* Fix desktop build

* Fix test error

* Fix imports

* Move ownership of kdftype to km

* Fix imports

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-11-21 13:45:28 +01:00
Bernd Schoolmann eea460e397
Fix missing i18n (#12083) 2024-11-21 07:16:44 -05:00
Jared Snider d1499da793
Auth/PM-12077 - Web Process Reload (#11781)
* PM-12077 - Initial work on web process reload - more testing required.

* PM-12077 - Clarify comment

* PM-12077 - Improving UX of logout with process reload.

* PM-12077 - Final tweaks for process reload

* PM-12077 - Remove no longer accurate comment.

* PM-12077 - Per PR feedback, clean up logout reason

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-11-20 13:54:27 -05:00
Alec Rippberger e073c47c17
Remove `startWith` to prevent log out toast warning from showing on page init (#12044) 2024-11-20 09:56:40 -06:00
rr-bw 9429ae1d06
feat(auth): [PM-9723] Refresh LoginViaAuthRequestComponent (#11545)
Creates a refreshed and consolidated LoginViaAuthRequestComponent for use on all visual clients, which will be used when the UnauthenticatedExtensionUIRefresh feature flag is on.
2024-11-19 14:53:01 -08:00
Nick Krantz ca839b3d80
[PM-14019] Toggle Vault Filters (#11929)
* move vault headings to their own component

* update aria-label to bind to the data attribute

* move vault headings to the vault-v2 folder

* integrate disclosure trigger to hide vault filters

* remove built in margin on search component

- spacing will be managed by the parent component

* add event emitter so consuming components can know when disclosure status has changed

* add filter badge when filters are selected and the filters are hidden

* persist filter visibility state to disk

* add supporting text for the filter button

* remove extra file

* only read from stored state on component launch.

- I noticed delays when trying to use stored state as the source of truth

* use two-way data binding for change event

* update vault headers to use two way data binds from disclosure component

- also adjust consuming changes

* add border thickness

* add ticket to the FIXME

* move number of filters observable into service

* move state coordination into filter service

* only expose state and update methods from filter service

* simplify observables to avoid needed state lifecycle methods

* remove comment

* fix test imports

* update badge colors

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-11-19 11:49:42 -06:00
Oscar Hinton 0386b7f068
Switch to using PowerShell for compressing (#12052) 2024-11-19 17:25:35 +01: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
Will Martin a07b072196
[CL-499][PM-14020] compact mode (#11796) 2024-11-18 16:35:49 -05:00
✨ Audrey ✨ 3521c54672
[PM-14964] revert passphrase minimum (#12019)
* revert passphrase minimum
* add recommendation text to browser refresh;  hide hint text when value exceeds recommendation
* migrate validators to generator configuration
2024-11-18 13:43:03 -06:00
bw-ghapp[bot] 8ce9d7571c
Autosync the updated translations (#12043)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-11-18 18:07:23 +01: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
Alec Rippberger be61d5d325
Convert select to bit-select (#12008) 2024-11-17 20:24:12 -06:00
Todd Martin 0308e6e180
Remove showPasswordless conditionals (#11928)
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-11-15 12:34:02 -05: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
Evan Bassler c1302a3604
reorder address field identification (#11824)
Co-authored-by: Evan Bassler <evanbassler@Evans-MBP.attlocal.net>
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-11-14 13:29:30 -05:00
Oscar Hinton ef127fd26e
Ensure we await for the wasm module to load (#11995)
Webpack seems to always convert imports to be async. This causes a issue where
init_sdk is not always initialized before we call it. To resolve this I added
a promise we can await in MV3 mode, and also defined a timeout which throws an
error we can use to identify if we have issues loading the module.
2024-11-14 17:29:56 +01:00
Jonathan Prusik 3a293bbf1f
[PM-12399] Show card and identity ciphers in the autofill suggestions only if the active tab appears to have fields for that type of cipher (#11913)
* show card and identity ciphers in the autofill suggestions only if the active tab appears to have fields for that type of cipher

* handle cases where collectPageDetailsFromTab$ does not emit

* update tests
2024-11-13 14:08:32 -05:00
rr-bw 204eb3105b
update anon-layout and extension-anon-layout spacing (#11869) 2024-11-13 10:17:23 -08:00
Nick Krantz 251213b69c
remove check for `SHOW_AUTOFILL_BUTTON` (#11971) 2024-11-13 10:58:34 -06:00
Kyle Spearrin 379efb1326
Update the publisher name for Bitwarden (#11846) 2024-11-13 11:05:19 -05:00
Daniel James Smith e341a66a2e
Add autofocus to search field on Send page (#11979)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-11-13 15:15:48 +01:00
Michał Chęciński 031a9bcae8
Bump browser version (#11980) 2024-11-13 12:02:34 +00:00
Jason Ng 40f2e15cec
[PM-13895] Autofocus on Vault Search Browser (#11888)
* use appAutoFocus directive for browser vault v2 search
2024-11-12 10:38:48 -05:00
Brandon ed3ec8ef39
[PM-11332] Prevent dead object error in Firefox due to timing issue (#10720)
* Prevent dead object error from race condition when closing the popup in Firefox

* Add await to async call to resolve timing issue

* Remove comment
2024-11-11 11:56:14 -08:00
Shane Melton e91741b146
[PM-13892] Update item more options component to react to changes to the cipher input (#11914) 2024-11-08 11:43: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
github-actions[bot] b4428160ca
Autosync the updated translations (#11916)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-11-08 00:32:02 +00:00
Daniel James Smith ec92f82501
Fix wrong import of SendFormModule (#11893)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-11-07 15:28:40 -05:00
Jonathan Prusik 05a79d58bb
do not do browser extension permission check if the Show autofill suggestions setting is being turned off (#11889) 2024-11-07 10:38:49 -05:00
Jordan Aasen 4cc562c228
[PM-12971] - close safari default extension on pop out (#11391)
* fix safari extension opening

* Update apps/browser/src/platform/browser/browser-api.ts

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* remove whitespace

* remove check for id

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2024-11-06 10:53:15 -08:00