1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-12-24 16:49:26 +01:00
Commit Graph

1110 Commits

Author SHA1 Message Date
Alec Rippberger
0df7b53bb4
feat(sso): [PM-8114] implement SSO component UI refresh
Consolidates existing SSO components into a single unified component in
libs/auth, matching the new design system. This implementation:

- Creates a new shared SsoComponent with extracted business logic
- Adds feature flag support for unauth-ui-refresh
- Updates page styling including new icons and typography
- Preserves web client claimed domain logic
- Maintains backwards compatibility with legacy views

PM-8114

---------

Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
Co-authored-by: Jared Snider <jsnider@bitwarden.com>
2024-12-12 10:28:30 -06:00
Github Actions
1b6b5d3110 Bumped Desktop client to 2024.12.1 2024-12-12 13:54:02 +00:00
Icelk
617469127a
ssh agent: fix first start when no .bitwarden-ssh-agent.sock exists (#12356)
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2024-12-12 13:45:37 +01:00
renovate[bot]
cecf1f2506
[deps] Platform: Update electron to v33 - abandoned (#11580)
* [deps] Platform: Update electron to v33

* fix: remove event from minimize

* chore: update electron version in `electron-builder.json`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreas Coroiu <andreas.coroiu@gmail.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2024-12-12 10:26:05 +01:00
Bernd Schoolmann
92a620dd9c
[BEEEP/PM-10534] Add snap biometric support (#12187)
* Add snap biometric support

* Fix linting

* Remove unused message

* Disable snap browser integration again
2024-12-11 16:10:06 +01:00
Bernd Schoolmann
e8d8a816dd
[PM-14988] Use peercred / GetNamedPipeClientProcessId to gather info about process connecting to ssh agent (#12065)
* Fix double prompt when unlocking by ssh request

* Add peercred for unix

* Enable apple-app-store feature

* Add generic parameter

* Update

* Add procinfo for windows

* Show connecting app in ui

* Use struct instead of tuple

* Use atomics instead of mutex

* Fix windows build

* Use is_running function

* Cleanup named pipe listener

* Cleanups

* Cargo fmt

* Replace "" with none

* Rebuild index.d.ts

* Fix is running check
2024-12-11 12:53:00 +01:00
Matt Gibson
9c1e2ebd67
Typescript-strict-plugin (#12235)
* Use typescript-strict-plugin to iteratively turn on strict

* Add strict testing to pipeline

Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.

* turn on strict for scripts directory

* Use plugin for all tsconfigs in monorepo

vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.

* remove plugin from configs that extend one that already has it

* Update workspace settings to honor strict plugin

* Apply strict-plugin to native message test runner

* Update vscode workspace to use root tsc version

* `./node_modules/.bin/update-strict-comments` 🤖

This is a one-time operation. All future files should adhere to strict type checking.

* Add fixme to `ts-strict-ignore` comments

* `update-strict-comments` 🤖

repeated for new merge files
2024-12-09 20:58:50 +01:00
renovate[bot]
b344722601
[deps] Platform: Update @types/node to v22.10.1 (#12305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 10:22:22 -05:00
renovate[bot]
8c446b4720
[deps] Platform: Update Rust crate anyhow to v1.0.94 (#12296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-12-09 15:42:42 +01:00
Bernd Schoolmann
3bfe5e4a65
[PM-13099] Enable browserintegration on dmg builds on adding an env variable (#11359)
* Enable browserintegration on dmg builds on adding an env variable

* Fix crash

* Cleanup
2024-12-09 11:09:57 +01:00
Andreas Coroiu
f16bfa4cd2
[PM-9035] desktop build logic to provide credentials to os on sync (#10181)
* feat: scaffold desktop_objc

* feat: rename fido2 to autofill

* feat: scaffold electron autofill

* feat: auto call hello world on init

* feat: scaffold call to basic objc function

* feat: simple log that checks if autofill is enabled

* feat: adding some availability guards

* feat: scaffold services and allow calls from inspector

* feat: create custom type for returning strings across rust/objc boundary

* chore: clean up comments

* feat: enable ARC

* feat: add util function `c_string_to_nsstring`

* chore: refactor and rename to `run_command`

* feat: add try-catch around command execution

* feat: properly implement command calling

Add static typing. Add proper error handling.

* feat: add autoreleasepool to avoid memory leaks

* chore: change objc names to camelCase

* fix: error returning

* feat: extract some helper functions into utils class

* feat: scaffold status command

* feat: implement status command

* feat: implement password credential mapping

* wip: implement sync command

This crashes because we are not properly handling the fact that `saveCredentialIdentities` uses callbacks, resulting in a race condition where we try to access a variable (result) that has already gotten dealloc'd.

* feat: first version of callback

* feat: make run_command async

* feat: functioning callback returns

* chore: refactor to make objc code easier to read and use

* feat: refactor everything to use new callback return method

* feat: re-implement status command with callback

* fix: warning about CommandContext not being FFI-safe

* feat: implement sync command using callbacks

* feat: implement manual password credential sync

* feat: add auto syncing

* docs: add todo

* feat: add support for passkeys

* chore: move desktop autofill service to init service

* feat: auto-add all .m files to builder

* fix: native build on unix and windows

* fix: unused compiler warnings

* fix: napi type exports

* feat: add corresponding dist command

* feat: comment signing profile until we fix signing

* fix: build breaking on non-macOS platforms

* chore: cargo lock update

* chore: revert accidental version change

* feat: put sync behind feature flag

* chore: put files in autofill folder

* fix: obj-c code not recompiling on changes

* feat: add `namespace` to commands

* fix: linting complaining about flag

* feat: add autofill as owner of their objc code

* chore: make autofill owner of run_command in core crate

* fix: re-add napi annotation

* fix: remove dev bypass
2024-12-06 16:31:30 +01:00
Bernd Schoolmann
816bf70dc0
Disable ssh agent for organization items (#12240) 2024-12-05 11:53:30 +01:00
Bernd Schoolmann
811b97cef5
[PM-15541] Hide ssh key filter behind feature flag (#12239)
* Hide ssh key filter behind feature flag

* Hide ssh keys in web client by featureflag

* Fix build
2024-12-04 17:04:08 +01:00
Bernd Schoolmann
80a898bd8c
[PM-14252] Switch to oo7 and drop libsecret (#11900)
* Switch to oo7 and drop libsecret

* Fix tests

* Fix windows

* Fix windows

* Fix windows

* Fix windows

* Add migration

* Update apps/desktop/desktop_native/core/src/password/unix.rs

Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>

* Remove libsecret in ci

* Move allow async to trait level

* Fix comment

* Pin oo7 dependency

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-12-04 17:03:34 +01:00
Bernd Schoolmann
864e6759fd
Switch to rustcrypto argon2 on desktop (#11753)
* Switch to rustcrypto argon2 on desktop

* Make argon2 use zeroize

* Remove argon2 native modules from electron-builder config

* Clean rust implementation of argon2

* Update cargo.lock

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

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Add tests

* Clean up test

* Remove argon2 external from webpack main

* Fix build

* Fix argon2 module causing a startup crash

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
2024-12-04 11:54:55 +00:00
Alec Rippberger
c073e91f17
feat(auth): [PM-13659] implement 2FA timeout handling across clients
Add timeout state management for two-factor authentication flows in web, desktop,
and browser extension clients. Includes:

- New timeout screen component with 5-minute session limit
- Updated UI elements and styling
- Comprehensive test coverage

Refs: PM-13659
2024-12-03 13:55:40 -06:00
Daniel James Smith
19663d9587
[PM-15418] Remove bitItem and use plain bitLink button for opening generator history (#12208)
* Remove bitItem and use plain bitLink button for opening generator history

* Revert desktop back to use bitItem

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-12-02 20:26:13 +01:00
Github Actions
3fe11b7e5a Bumped client version(s) 2024-12-02 11:32:22 +00:00
bw-ghapp[bot]
6bbd2e5774
Autosync the updated translations (#12203)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-12-02 12:21:27 +01:00
Bernd Schoolmann
050417a92e
[PM-14863] Force unlock when keys are cleared / on first unlock and fix account switching behavior (#11994)
* Force unlock when keys are cleared / on first unlock and fix account switching behavior

* Make comment a doc comment

* Pin russh commit

* Cleanup

* Make list messaging explicit

* Add account switching error handling for ssh agent

* Add account switching error handling for ssh agent

* Cleanup
2024-12-02 11:55:56 +01:00
bw-ghapp[bot]
59b45ae391
Autosync the updated translations (#12179)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-11-29 14:11:15 +01:00
renovate[bot]
927c2fce43
[deps] Platform: Update Rust crate ssh-key to v0.6.7 (#12133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-28 10:12:09 +01:00
renovate[bot]
c0ab62fad0
[deps] Platform: Update Rust crate homedir to v0.3.4 (#12129)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-28 10:02:24 +01:00
Bernd Schoolmann
f79141c421
[PM-14990] Add password prompt for ssh key import (#12105)
* Add password prompt for ssh key import

* Remove empty line

* Convert to switch statement
2024-11-27 17:29:36 +01:00
renovate[bot]
d5b14d11d4
[deps] Platform: Update Rust crate tokio to v1.41.1 (#11950)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-27 14:08:56 +01:00
renovate[bot]
f3e1124b34
[deps] Platform: Update @types/node to v22.9.3 (#12127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 11:21:29 -05:00
Daniel García
08ce0c863b
Fix conflict with pinned dependency (#12147)
# Conflicts:
#	apps/desktop/desktop_native/core/Cargo.toml
2024-11-25 16:14:53 +00:00
renovate[bot]
12fa1af2c5
[deps] Platform: Pin Rust crate tokio-util to =0.7.11 (#12121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 16:59:00 +01:00
renovate[bot]
da6a0cb8e9
[deps] Platform: Update Rust crate pin-project to v1.1.7 (#12132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-11-25 15:00:29 +01:00
renovate[bot]
e07ddcea59
[deps] Platform: Update Rust crate windows to v0.58.0 (#10580)
* [deps] Platform: Update Rust crate windows to v0.58.0

* Fix windows build

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-11-25 14:59:51 +01:00
renovate[bot]
0723feac9e
[deps] Platform: Update Rust crate async-stream to v0.3.6 (#12128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel García <dani-garcia@users.noreply.github.com>
2024-11-25 14:59:03 +01:00
Bernd Schoolmann
341a93aa47
[Pm-9823] Extract biometric messaging service (#10862) 2024-11-22 17:41:14 -08:00
Alec Rippberger
02ea368446
[PM-4816] Create shared LoginApprovalComponent (#11982)
* Stub out dialog

* Genericize LoginApprovalComponent

* update ipc mocks

* Remove changes to account component

* Remove changes to account component

* Remove debug

* Remove test component

* Remove added translations

* Fix failing test

* Run lint and prettier

* Rename LoginApprovalServiceAbstraction to LoginApprovalComponentServiceAbstraction

* Add back missing "isVisible" check before calling loginRequest

* Rename classes to contain "Component" in the name

* Add missing space between "login attempt" and fingerprint phrase

* Require email
2024-11-22 12:55:26 -06:00
Daniel James Smith
03aa4fd4d8
[PM-13667] Add button to open credential history on web (#12100)
* Create CredentialGeneratorHistoryDialogComponent to be re-used on web and desktop

* Add button to open credential histpry on web

* Add button to open credential history on desktop (#12101)

- Register route to open new CredentialGeneratorHistoryDialogComponent when FeatureFlag/GeneratorToolsModernization is enabled
- Add button to credential generator
- Add missing keys to en/messages.json

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2024-11-22 18:29:30 +01:00
bw-ghapp[bot]
9d116d7fa1
Autosync the updated translations (#12094)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-11-22 12:13:43 +01:00
Github Actions
587327bc4a Bumped client version(s) 2024-11-22 09:35:45 +00: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
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
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
Bernd Schoolmann
06b5c798dd
Force ssh key creation when creating new ssh item while filtering to ssh keys in desktop (#11985) 2024-11-20 13:39:35 +01:00
Daniel García
079f84e7d9
Fix IPC errors with DDG caused by big messages being split (#11987) 2024-11-20 10:55:11 +01:00
Bernd Schoolmann
5e6c5c8779
[PM-14993] Add ssh-agent error handling and security fixes (#12048)
* Add error handling and security fixes

* Add is running status, and add more errors on windows
2024-11-20 10:38:21 +01:00
Bernd Schoolmann
eda38855f0
[PM-14989] Add unit tests for putty keys (#12030) 2024-11-20 01:09:12 -08: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
renovate[bot]
140a514be3
[deps] Platform: Pin dependencies (#11528)
* [deps] Platform: Pin dependencies

* Bump Versions

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2024-11-19 09:49:21 -05: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
✨ 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]
06304f9bf8
Autosync the updated translations (#12041)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-11-18 18:07:54 +01:00
github-actions[bot]
0f2dbb1164
Autosync the updated translations (#12010)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2024-11-18 15:56:11 +00:00