This happens because state returns hot observables. There is no guarantee for access token to be present when read, even though it was just written with `await firstValueFrom`. Causes sync to think the auth status for the user is logged out, even though that's false
Updates import statements in autofill-related files to use direct imports
instead of re-exported paths. This prepares for removal of re-exporting
files in a follow-up PR.
Part of PM-33381
Updates import statements in DIRT-related files to use direct imports
instead of re-exported paths. This prepares for removal of re-exporting
files in a follow-up PR.
Part of PM-33381
* feat(accept-organization-component) [PM-29796]: Validate Id expected shape.
* feat(utils) [PM-29796]: Remove invalidUrlParams.
* feat(utils) [PM-29796]: Re-add URL pattern matching detection with updated naming and comments.
* feat(accept-organization) [PM-29796]: Update component handling for id validation.
* feat(utils) [PM-29796]: Improve pattern-matching on utils.
* comment(accept-organization) [PM-29796]: Add comments on handling pattern.
* comment(accept-organization) [PM-29796]: Comments around authedHandler handling.
* refactor(utils) [PM-29796]: One entry per line with trailing comments for Prettier.
* refactor(accept-organization) [PM-29796]: Abstract handleInvalidInvite to its own method.
* docs(utils) [PM-29796]: Add/ungroup comments on declared match patterns.
* test(utils) [PM-29796]: Update tests and comments.
---------
Co-authored-by: Jared Snider <116684653+JaredSnider-Bitwarden@users.noreply.github.com>
* feat(access-intelligence): add V2 data model family, feature flag, and encryption service abstraction
* fix(access-intelligence): remove premature services export from barrel
* adds premium-upsell service
* adds and updates tests
* changes name and type in test file
* fixes strict ts
* Update libs/angular/src/vault/services/premium-upsell.service.spec.ts
fix import
Co-authored-by: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com>
* change initial value and fix import order
---------
Co-authored-by: Jordan Aasen <166539328+jaasen-livefront@users.noreply.github.com>
* fix(uif): only apply macOS extra top padding to nav logo in overlay mode
The macOS extra top padding was unconditionally applied to the nav logo.
Now it only applies when the side nav is in overlay mode (open but not push mode).
* PM-33168 - EmergencyAccess - Add / Edit dialog - add missing validation service call to show errors as toasts
* PM-33168 - Per PR feedback, remove catch and let bitSubmit handle logging and showing error.
* PM-32487 - EmergencyAccessAddEditComponent - clean up unused service
* Add new workflow.
* Workflow lints
* More security fixes.
* Claude feedback.
* Don't make empty commit.
* Update job name.
* Updated node version check.
* Print environments.
* Addressed PR feedback.
* Removed concept of distingushing downgrade.
* Updated to reference specific run_id if triggered by one.
* Addressed Claude feedback.
Building upon the prior SSH agent v2 commits, this PR introduces the high level interfaces between the napi layer, the agent, and the underlying server.
Two traits are defined to act as abstraction layers:
AuthPolicy allows the underlying server to externally request authorization to complete the various ssh operation requests it receives. The implementation of this in the BitwardenSshAgent is effectively the agent's business logic, and has unit tests accordingly.
ApprovalRequester allows the agent to externally request approval for those authorization requests.
These interfaces allow better unit test-ability and integration test-ability, and additionally are context-independent from each other; meaning the ssh agent server doesn't know about vault items, or that there is an electron app at all. Similarly, the agent knows it needs to request approval, but it doesn't have to be from an Electron app.
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
* fix(phishing): check alternate protocol when matching URLs against block list
The phishing blocker's IndexedDB lookup only checked the exact URL href.
When the block list contains http:// entries but the browser auto-redirects
to https://, the lookup failed silently. This adds O(1) alternate-protocol
lookups (swapping http:// ↔ https://) with the same trailing-slash
normalization.
[PM-32843]
* test(phishing): add unit tests for alternate-protocol URL matching
Covers HTTP→HTTPS and HTTPS→HTTP matching, trailing slash normalization
with protocol swap, short-circuit when exact match is found, no false
positives, and non-HTTP protocol handling.
[PM-32843]
Adds a containsChildFormElement guard to left-label, right-label, and
recursive sibling traversal so that text inside a sibling DOM container
that holds its own input/select/textarea is not absorbed as label text
for the target field. This prevents Yahoo's country-code dropdown
container ("Enter Country Code") from contaminating the username field's
label-left, which caused a false TOTP classification via the word "code".
Split isFillableTotpField into isFillableTotpField (TotpFieldNames /
one-time-code autocomplete) and maybeFillableTotpField (AmbiguousTotpFieldNames
only) and reorder the classification switch so that a reliable TOTP signal
still wins unconditionally, but a username match beats a purely ambiguous TOTP
match. This fixes Yahoo's login-username field being misclassified as TOTP
because 'code' appears in AmbiguousTotpFieldNames.
Updates import statements in tools-related files to use direct imports
instead of re-exported paths. This prepares for removal of re-exporting
files in a follow-up PR.
Part of PM-33381
Updates import statements in vault-related files to use direct imports
instead of re-exported paths. This prepares for removal of re-exporting
files in a follow-up PR.
Part of PM-33381
* fix(register): [PM-27085] Account Register Uses New Data Types - Initial changes.
* test(register): [PM-27085] Account Register Uses New Data Types - Fixed tests.
* test(register): [PM-27085] Account Register Uses New Data Types - Updated tests.
* feat(register): [PM-27085] Account Register Uses New Data Types - Added feature flag.
* fix(register): [PM-27085] Account Register Uses New Data Types - Removed unnecessary part of the payload.
* fix(register): [PM-27085] Account Register Uses New Data Types - Changed the feature flag to be gated with the other password input changes.
* fix(register): [PM-27085] Account Register Uses New Data Types - Added protection for feature flagged state.
* fix(register): [PM-27085] Account Register Uses New Data Types - Removed unnecessary comment.
* fix(register): [PM-27085] Account Register Uses New Data Types - Addressed feedback.
* fix(register): [PM-27085] Account Register Uses New Data Types - Fixed tests and added comment.
* fix(register): [PM-27085] Account Register Uses New Data Types - Fixed another test.
* fix(register): [PM-27085] Account Register Uses New Data Types - And last test fix.
* fix(register): [PM-27085] Account Register Uses New Data Types - Removed unneeded code.
* fix(register): [PM-27085] Account Register Uses New Data Types - Updated comments and fixed code from feedback.
* fix(register): [PM-27085] Account Register Uses New Data Types - Updated comments again with small styling fix.
* fix(register): [PM-27085] Account Register Uses New Data Types - Switched to snapshot testing and explicit checks for unlock and authentication data for feature flag on. Also addressed pr comments.
* test(register): [PM-27085] Account Register Uses New Data Types - Made explicit checks for critical pieces of data in tests.
* fix(feature-flag): [PM-27085] Account Register Uses New Data Types - Added in feedback from comments. Default registration tests have snapshots now and web registration has more dry code.