* add notification handler for auto confirm
* add missing state check
* fix test
* isolate angular specific code from shared lib code
* clean up
* use autoconfirm method
* fix test
* Changes on browser
* Changes on desktop
* Changes on web
* Fix chromatic story
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
* Switch phishing data source to GitHub and remove fallback mechanism
The phish.co.za mirror is down, causing every update cycle to timeout on
the primary fetch before falling back to the GitHub raw URL. This removes
phish.co.za entirely and uses GitHub as the sole data source, which was
the original source before the mirror was introduced.
- Rename `remoteUrl`/`fallbackUrl` to `ghSourceUrl` on PhishingResource type
- Remove phish.co.za URLs from both Domains and Links resources
- Remove catchError fallback block in `_updateFullDataSet()`
- Errors now propagate to `_backgroundUpdate()` which already handles
retries (3 attempts with 5-minute delays) and graceful degradation
* revert the fallback logic removal, change prop name, add use fallback flag
* Update Links primaryUrl to Bitwarden-hosted blocklist
* remove all fallback logic
Changed event parameter type from MouseEvent to Event in handleFillCipherClickEvent and handleViewCipherClickEvent to match the EventListener interface expected by useEventHandlersMemo.
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* ignore events that do not originate from the user agent
* [pm-28831] Add isTrusted checks and update tests
* [pm-28831] Add isTrusted check to click events
* [pm-28831] Replace in-code jest exceptions with new utils
* [pm-28831] Move isTrusted checks to testable util
* [pm-28831] Remove redundant check in cipher-action.ts
* [pm-28831] Add isTrusted checks to click events in autofill-inine-menu-list
---------
Signed-off-by: Ben Brooks <bbrooks@bitwarden.com>
Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com>
* created 'berry' component
* added 'bit-berry' to 'popup-tab-navigation'
* simplified - removed null checks
* changed 'effectiveSize' to 'computedSize'
* fixed 'accentPrimary' color
* updated to not render berry if 'count' is 0 or negative number
* simplified checking count undefined
* updated computed padding
* switched from `[ngClass]` to `[class]`
* updated 'popup-tab-navigation' berry to use 'danger' variant
* fixed berry positioning in popup-tab-navigation
* updated content logic
* cleanup unused 'ngClass'
* updated conditional rendering of berry
* updated story 'Usage'
* updates with adding berry 'type'
* added type "status" to popup-tab-navigation
* fixed type error
* updated 'Count Behavior' description
* display translated content for attachments that cannot be downloaded
* consume decryption failure from the sdk for attachments
* add decryption errors from sdk
* only show fix attachment issues for when key is null and it does not have a decryption failure
* separate decryption failure state in view
* fix(autofill): type throttle to preserve handler this/args and return void
* fix(autofill): strict TS and defaults for inline menu list, throttle typing, TOTP interval
* update snapshots
* swap mouse event for event
* prevent default does nothing on event
* [PM-31685] Removing email hashes
* [PM-31685] fixing tests, which are now passing
* [PM-31685] removing anon access emails field and reusing emails field
* [PM-31685] fixing missed tests
* [PM-31685] fixing missed tests
* [PM-31685] code review changes
* [PM-31685] do not encrypt emails by use of domain functionality
* [PM-31685] test fixes
* Remove inividual user key states and migrate to account cryptographic state
* Fix browser
* Fix tests
* Clean up migration
* Remove key-pair creation from login strategy
* Add clearing for the account cryptographic state
* Add migration
* Cleanup
* Fix linting
* follow existing popout guard pattern to force popout on firefox when filepicker is exposed
* move firefox guard to tools ownership & revert changes to auth owned file
* initial refactor to consolidate logic using file-picker-popout.guard
* remove safari from guard & disable forced popout in vault import
* enforce popout on Safari with test coverage
* use userAgent and consistent detection for platform detection
* refactor guard tests involving routes
* replace imports lost during merge
* remove text sends from popout requirement and update tests
* add tooltip and screen-reader text describing popout behavior
* dynamically changes the allItems title from 'All items' to 'Search results' based on search text length
* updates logic and copy for changing the allItems header text
* changes how ciphers are displayed when a user has a search term and/or filters applied
* Update apps/browser/src/vault/popup/components/vault-v2/vault-v2.component.html
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
* refactors tests
---------
Co-authored-by: Nick Krantz <125900171+nick-livefront@users.noreply.github.com>
* update button api to accept icons
* use template outlet in button
* add link component
* create link component to handle anchors and buttons
* remove unnecessary let variables
* fix link focus state styling
* update link underline style
* fix broken skip link focus
* add focus method to link component
* fix typo
* fix off center loading state
* move flex styles to template to fix some minor style overrides
* remove unnecessary variables
* fix interaction states and add styles for test class to work properly
* refactor classes and make variable sreadonly
* fix classes not being applied correctly
* fix bad merge conflict resolution
* simplified button template
* [PM-31429] Add missing helper text for password protected Sends, remove unused one
* Put one UI change behind feature flag, add back required translations
* Reorder translation
* Add spaces
* Come full circle, remove last couple of committed changes
* refactor triggerChangedPasswordNotification logic
* improve triggerChangedPasswordNotification and test coverage to handle scenarios more comprehensively
* restore triggerChangedPasswordNotification logic and move new logic and testing to triggerCipherNotification
* add branching qualification logic for cipher notifications
* add and implement undetermined-cipher-scenario-logic feature flag
* add optional chaining to username comparison of existing login ciphers
* cleanup
* update tests
* prefer explicit length comparisons
* add explicit checks and change remove listener to any in order to match add listener and chrome api
* address feedback
* when requestInitiator is falsy but active auto submit exists, cleanup should still occur
* add documentation to remove listener
* update message from vault handling to check against accounts or message sender
* update valid vault referrer logic to check all configured environments
* session key retrieval redesign for the local backed session storage
* typo
* incorrect substring
* get cache edge cases incorrectly handling to null values after removal
* test coverage
* internal `SessionKeyResolveService`