* WIP - default collection sorting
* apply filtering to popup list filters service.
* add tests. add feature flag checks
* finalize my items collection filters
* fix type error
* re-add service
* re-add comment
* remove unused code
* fix sorting logic
* shorten variable name to fit one line
* fix error
* fix more errors
* abstract logic to vault filter service
* fix test
* export sort as function instead of adding to class
* fix more tests
* add collator arg
* remove ts-ignore. fix type errors
* remove optional param
* fix vault filter service
* Update russh version, and add sessionbind information
* Cargo fmt
* Clean up to fix lint
* Attempt to fix windows
* Use expect instead of unwrap
* Fix cargo toml
* Use aria-disabled for button disabled state
* remove import from testing story
* use aria-disabled attr on bitLink button
* remove unnecessary story attrs
* remove disabled attr if on button element
* create caprture click util
* use caprture click util and fix tests
* fix lint errors
* fix event type
* combine click capture and attr modification
* fix lint error. Commit spec changes left out of last commit in error
* inject element ref
* move aria-disabled styles to common
* move disabled logic into util
* fix broken async actions stories
* fix broken tests asserting disabled attr
* have test check for string true vlalue
* fix Signal type
* fix form-field story import
* remove injector left in error
* aria-disable icon buttons
* update form component css selector to look for aria-disabled buttons
* use correct types. pass nativeElement directly
* add JSDoc comment for util function
---------
Co-authored-by: Will Martin <contact@willmartian.com>
When a user logs in via SSO after their org has offboarded from TDE, we now show them a helpful error message stating that they must either login on a Trusted device, or ask their admin to assign them a password.
Feature flag: `PM16117_SetInitialPasswordRefactor`
* remove placeholder image
* add videos for setup extension
* add support for mobile viewports
* add mobile/responsiveness for setup extension page
* add videos from `assets.bitwarden.com`
* align with figma for borders and shadow
* make text responsive for setup headings
* remove period
* add tests
* add tests for video sequence
* force font weight on `h2`
* add 8px to bottom margin of video container
* add basic new nav item styling
* update alt-3 bg color
* add x padding to item
* remove copy left in error
* style app switcher to match nav items
* adding new button hover colors
* add new logo lockups
* use new logos in web vault
* fix color and svg fills
* use set height for nav items
* optimize SVGs
* move if logic
* use rem for icon size
* move shield logo
* use shield svg for collapsed icon
* remove unused eslint disable directive
* run prettier
* remove variables
* update logo hover styles
* use more standard flow control syntax
* update admin console logo svg
* add new hover variables
* use class instead of fill
* use variable for logo hover
* remove unnecessary container
* use hover variable for nav switcher
* use correct variables for fill colors
* update hover state to use variable left in error
* give icon width to preserve text alignment
* remove tree story as functionality no longer supported
* remove nested styles helper
* remove obsolete afterContentInit
* remove tree example from layout story
* remove tree example from secondary layout story
* remove tree example from kitchen sink story
* Fix interaction test
* remove remaining references to tree variant
* Add new device type for DuckDuckGo browser
* Added feature support property for sync domains
* Added new features
* Added isDuckDuckGo() to CLI
* Addressed PR feedback.
* Renamed new property
* Fixed rename that missed CLI.
* PM-22391 WIP
* update autofill base desc
* fill cog when match uri open
* switch to button, populate dialog when option selected
* default strategy hint
* update match hint string and dialog behavior
* clean up naming for callbacks and variables
* revert global setting hint — this will be addressed separately
* add tests
* update copy and remove repeated copy to use quoted string
* Update apps/browser/src/_locales/en/messages.json
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
* add translation to web and desktop, make continue and cancel required
---------
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
* add end user feature flag
* add initial setup extension component and route
* redirect users from registration completion to the setup extension page
* add `hideIcon` to anon layout for web
- matches implementation on the browser.
* integrate with anon layout for extension wrapper
* add initial loading state
* conditionally redirect the user upon initialization
* redirect the user to the vault if the extension is installed
* add initial copy for setup-extension page
* add confirmation dialog for skipping the extension installation
* add success state for setup extension page
* only show loggedin toast when end user activation is not enabled.
* add image alt
* lower threshold for polling extension
* close the dialog when linking to the vault
* update party colors
* use the platform specific registration service to to only forward the web registrations to `/setup-extension`
* call `super` rather than `/vault` directly, it could change in the future
* [PM-17663] Convert vault-list-items-container inputs to signals
- Cleaned up some grouping logic
- Cleaned up strict null checks and removed eslint comment
* [PM-17663] Prefer undefined over null
* [PM-17663] Fix flashing Fill buttons
* Passkey: use ArrayBuffer instead of Uint8Array to conform WebAuthn spec
* ArrayBufferView generics was too modern for this project
* Correctly update the types from Uint8arrays to ArrayBuffers
* Fixed broken tests + bugs
* Removed arrayBufferViewToArrayBuffer as it's not needed in this invocation paths
---------
Co-authored-by: ozraru <ozraru@raru.work>
Co-authored-by: Todd Martin <106564991+trmartin4@users.noreply.github.com>
Creates a `SetInitialPasswordComponent` to be used in scenarios where an existing and authed user must set an initial password.
Feature Flag: `PM16117_SetInitialPasswordRefactor`
* PM-17737 - feat(anon-layout-width) - consolidate width setting to control title, subtitle, and content together for a unified UX. Removes all titleAreaMaxWidth usages and the titleAreaMaxWidth property entirely.
* PM-17737 - AnonLayout - consolidate stories into playground (w/ the exception of default icon story b/c I can't figure how to omit the icon conditionally).
* PM-17737 - AnonLayoutStories - show secondary content by default
* PM-17737 - Per PR feedback, adjust maxWidthClass logic to remove string concatenation as it can result in tailwind classes not being compiled and available at run time.
* PM-17737 - Per PR feedback, refactor stories to use configuration to generate all the scenarios so we can still track them via snapshots
* PM-17737 - Fix anon layout mdx reference
* PM-17737 - Make AnonLayoutMaxWidths singular
* PM-17737 - When inside of a max width container, the icon container needs explicit width to be able to scale viewbox icons that don't have defined heights / widths
* delete password on Windows desktop throws incorrect error
* delete password on Windows desktop throws incorrect error
* napi documentation improvements
* napi documentation update
* better logging verbosity
* desktop native clippy errors
* unit test coverage
* napi TS documentation JS language friendly
* fixing merge conflicts
* When saving a cipher, mark any associated security tasks as complete
* fix test error from encryption refactor
* hide security tasks that are associated with deleted ciphers (#15247)
* account for deleted ciphers for atRiskPasswordDescriptions
* add `WebBrowserInteractionService` and check for the extension observable
* update checkForExtension to use observables rather than window timeouts
* add open extension to WebBrowserInteractionService
* add at-risk-passwords to `PopupPageUrls`
* refactor `PopupPageUrls` to `ExtensionPageUrls`
* add test for passing a page
* refactor `Default` to `Index`
* clean up complete/next issue using `race`
* refactor page to url
* continue listening for messages from the extension after subscribed
* mark risk passwords a deprecated
* remove takeUntilDestroyed
* add back `takeUntilDestroyed` for internal `messages`
* removed null filter - unneeded
* add tap to send message for extension installation
* add check for accepted urls to prevent any bad actors from opening the extension