1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-18 18:33:50 +00:00
Commit Graph

6190 Commits

Author SHA1 Message Date
Shane Melton
2ae2f31174 [PM-30906] Auto confirm nudge service fix and better nudge documentation (#18419)
* [PM-30906] Refactor AutoConfirmNudgeService to be Browser specific and add additional documentation detailing when this is necessary

* [PM-30906] Add README.md for custom nudge services
2026-02-17 09:39:09 -08:00
Jason Ng
65de03ebfb [PM-30857] add empty state to desktop archives (#18414)
* add empty state to desktop archives
2026-02-17 09:39:09 -08:00
Todd Martin
39e5ab27d4 fix(entitlements): Restrict entitlements for Helium browser to just the directory 2026-02-17 09:39:09 -08:00
Jonathan Prusik
91d8edf457 refresh top layer when top layer candidate handlers are set up (#18326) 2026-02-17 09:39:09 -08:00
Leslie Tilton
e496d0f9ca Move loading blob to memory to rxjs pipeline triggered implicitly. Removed from constructor. Added dispose to guard against memory leaks (#18480) 2026-02-17 09:39:08 -08:00
Alex
0c93a38fb9 [PM-30718] add IndexedDB storage service for phishing data (#18344)
* add PhishingIndexedDbService for IndexedDB storage

Add a dedicated IndexedDB storage service for phishing detection data.
This service provides save, load, and clear operations using IndexedDB
instead of chrome.storage.local to avoid broadcast overhead, size
limitations, and JSON serialization cost for large datasets.

* add unit tests for PhishingIndexedDbService

Add comprehensive tests for save, load, and clear operations with
mocked IndexedDB. Tests cover success cases, error handling, and
database initialization with object store creation.

* add PhishingIndexedDbService core structure

- Add IndexedDB service with per-operation database opening
- Define PhishingUrlRecord type for row storage
- Include clearStore helper for atomic data replacement
- Service worker safe: no cached connections

* add saveUrls with chunked writes

- Add PhishingUrlRecord type for row storage
- Store each URL as individual row
- Chunk writes at 50K per transaction for responsiveness
- Atomic replacement: clear then save

* add hasUrl for lookups

- Direct IndexedDB index lookup via keyPath
- Returns boolean, handles errors gracefully

* add loadAllUrls with cursor iteration

- Cursor-based bulk load for fallback scenarios
- Memory-efficient: no intermediate array duplication
- Returns empty array on error

* add saveUrlsFromStream for memory efficiency

- Stream directly from fetch response body
- Parse newline-delimited URLs incrementally
- Reuse chunked save infrastructure

* update PhishingIndexedDbService tests

- Replace blob-based tests with row-per-URL API tests
- Test saveUrls, hasUrl, loadAllUrls, saveUrlsFromStream
- Verify chunked writes and cursor iteration
- Use stream/web ReadableStream with type cast for Node.js compatibility

* use proper URL syntax and cleanup global state

Update test data to use proper URL syntax with https:// prefix to match
real phishing.database format. Add cleanup of global.indexedDB in
afterEach to prevent test pollution.

* improve stream processing correctness and efficiency

- Move decoder.decode() before done check with { stream: !done } to flush properly
- Use array reassignment instead of splice() for O(1) chunk clearing
- Use single trim via local variable to avoid double-trim
- Centralize URL cleaning in saveChunked(), simplify saveChunk()
- Use explicit urls.length > 0 comparison

* duplicate urls test

* split final buffer by newlines
2026-02-17 09:39:08 -08:00
Jordan Aasen
5a5f7e1781 [PM-25082] - update browser extension widths (#18376)
* update browser extension widths

* use PopupWidthOptions where possible
2026-02-17 09:39:08 -08:00
Daniel Riera
68b598bc1e Revert "PM-29509 [LO IMPACT] Remove @ts-strict-ignore in fido2/content/mess…" (#18478)
This reverts commit 7853ac3d9f.
2026-02-17 09:39:08 -08:00
Jason Ng
a76e68c310 [PM-30761] remove archive from trash (#18361)
* add isDeleted check to showUnarchiveBtn and other optionss in vault cipher row
* remove unarchive options from desktop trash, remove archive options in bulk menu for items in trash
2026-02-17 09:39:08 -08:00
Jason Ng
5b1f659b68 [PM-30748] update archived restored toast (#18367) 2026-02-17 09:39:07 -08:00
Brad
b632709743 [PM-30250] Prevent over scrolling on Inactive 2FA and Unsecure Website reports (#18399)
* use bit-table-scroll on inactive 2FA and unsecured website reports

* fix: back to reports button renders on report page load
2026-02-17 09:39:07 -08:00
Bryan Cunningham
0ca7394e59 [CL-984] link style updates (#18360)
* WIP

* add new link styles

* update link stories

* skip default screenshot as variations are covered in other stories

* updated docs and story background

* make default the default linkType value

* remove references to primary link type in CL

* use better bg colors in stories

* remove duplicate linkType

* update aria-disabled text to use new palette

* add back primary link type to story

* fix capitolization

* add backticks to variant names in docs

* remove important from link styles

* fix generic selector to find correct button

* fix capitolization

* mark variants as deprecated in docs

* fix link hover text colors
2026-02-17 09:39:07 -08:00
Robyn MacCallum
3ecf3584de Fix DDG Native Messaging Test Runner Errors (#18355)
* Fix TS errors

* sdk loader mock

* Downgrade packages to be CommonJS-compatible

* Fix formattinmg

* Move logs to service

* package lock fixes
2026-02-17 09:39:07 -08:00
Jordan Aasen
bafd9fe9c9 [PM-30742] - do not show archive button in AC (#18345)
* do not show archive button in AC

* do not show archive button in AC
2026-02-17 09:39:06 -08:00
Jordan Aasen
be0659dac4 add prefillNameAndUriFromTab to new login button (#18305) 2026-02-17 09:39:06 -08:00
Jason Ng
49780aba86 [PM-30794] Desktop Archive Filter Remove Truncate (#18405) 2026-02-17 09:39:06 -08:00
renovate[bot]
82c46f41ca [deps]: Update Rust crate serial_test to v3.3.1 (#18435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: neuronull <9162534+neuronull@users.noreply.github.com>
2026-02-17 09:39:06 -08:00
Brandon Treston
2f39586c15 [PM-26463] Refactor members components (#17863)
* refactor WIP

* fix type issue

* continue refactor

* continue refactor, add tests

* refactor WIP: Rebase bulk reinvite

* fix type issue

* continue refactor: rebase bulk reinvite

* continue refactor, add tests: Rebase bulk reinvite

* fix test

* cleanup, address claude feedback

* fix race condition

* continue refactor

* fix provider confirm

* refactor providers to use memberActionsService

* prevent duplicate member actions

* wip

* run prettier

* separate provider and members actions, improve error handling, add tests

* refactor member export

* refactor edit, fix export service and tests
2026-02-17 09:39:06 -08:00
Oscar Hinton
ad52e98dbe Fix archive premium badge & fix strict ts errors. (#18440)
Fixes the archive badge to be visible by placing it in the end slot. Resolves strict TS errors.
2026-02-17 09:39:05 -08:00
Nick Krantz
6604e9c847 [PM-30453] Archive UI Updates (#18297)
* add org icon to archive list view

* update content of archive confirmation dialog

* fix typing
2026-02-17 09:39:05 -08:00
renovate[bot]
1edbd28daa [deps] KM: Update Rust crate sha2 to v0.10.9 (#17544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bernd Schoolmann <mail@quexten.com>
2026-02-17 09:39:04 -08:00
Jordan Aasen
fa23288ce5 [PM-27784] - remove url from more options (#18306)
* remove url from more options

* fix test
2026-02-17 09:39:04 -08:00
Shane Melton
0264439eb1 [PM-30904] Fix VaultFilterService abstraction import in AC Vault (#18407) 2026-02-17 09:39:04 -08:00
Colton Hurst
655302f87a Revert "[deps] Platform: Lock file maintenance (#14932)" (#18406)
This reverts commit 5dee97158a.
2026-02-17 09:39:03 -08:00
renovate[bot]
5842cf30bb [deps] Platform: Lock file maintenance (#14932)
* [deps]: Lock file maintenance

* Pin is-generator-function, downgrade open

* Bump zbus to match zbus_macro

* Attempt to fix rust compile issue by matching zbus and zbus_macro

* Update ashpd ...

* Fix lockfile

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
2026-02-17 09:39:03 -08:00
bw-ghapp[bot]
21fe72272c Autosync the updated translations (#18396)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:39:03 -08:00
bw-ghapp[bot]
4fe5b08dd0 Autosync the updated translations (#18397)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:39:02 -08:00
bw-ghapp[bot]
630b2de557 Autosync the updated translations (#18398)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:39:02 -08:00
Bernd Schoolmann
89c517a8c9 [PM-30846] Fix incorrect log for private key regen in data recovery tool (#18356)
* Fix no log

* Fix prettier
2026-02-17 09:39:02 -08:00
Nick Krantz
f539793284 [PM-30287] Archive deletion navigation (#18213)
* add `routeAfterDeletion` for edit screen to redirect the user to the correct location after deleting an archived cipher

* use `historyGo` to preserve the back invocations

* fix duplicate import
2026-02-17 09:39:02 -08:00
Mike Amirault
4fb1914932 [PM-30382] Make Send search bar full page width (#18386) 2026-02-17 09:39:02 -08:00
Mike Amirault
c391944ba7 [PM-21774] Adjust icon and tooltip for protected Sends on the Sends l… (#18293)
* [PM-21774] Adjust icon and tooltip for protected Sends on the Sends list page

* [PM-21774] Update Sent table UI stories

* [PM-21774] Fix Send table UI story
2026-02-17 09:39:01 -08:00
Leslie Tilton
eaa314ba8e [PM-30319][PM-30685] Separate and compress phishing data storage (#18337)
* Add logs for debugging in phishing-detection-settings.service

* Update phishing data service to separate web addresses from meta data for performant writes. Store compressed string instead of array

* Cleanup

* Updated test cases

* Cleanup comments

* Fix fallback encoding/decoding mismatch

* Fix type checking
2026-02-17 09:39:01 -08:00
Daniel Riera
9cbda1a364 [PM-29520] Remove ts strict ignore in background overlay notifications background (#18243)
* initialize timer to null

* default undefined length to 0 using nullish operator

* optional chaining and explicit null check on tab presence

* add optional chainning where relevant for sender tab id

* explicit null checks and data guards set for sender and modifyLoginData

* address feedback and make explicit undefined checks to avoid possible valid tabid rejection

* explicit tab check on setupNotificationInitTrigger
2026-02-17 09:39:01 -08:00
Daniel Riera
2e05fea271 [PM-29523] Remove ts strict ignore in browser context menu clicked handler (#18264)
* early return if no cipher before switch case

* explicit null checks within switch cases for early returns

* lower cipher check and add to explicit checks

* add test cases for null values

* format spec file
2026-02-17 09:39:01 -08:00
Nick Krantz
c6f0d42845 [PM-30296] Assign to Collections for Archived Ciphers (#18223)
* allow for archived ciphers to be assigned to a collection via the more options menu

* reference `userId$` directly
2026-02-17 09:39:01 -08:00
Leslie Xiong
acad754540 Desktop/pm 18769/migrate vault filters (#17919)
Migrated vault filters to new v3 vault's navigation

* Decoupled existing vault filtering from vault component by using routed params with routed-vault-filter-bridge
* Converted vault filters to standalone components
* Removed extending filter Base Components from deprecated /libs/angular library and handled logic directly
* Moved shared 'models' and 'services' directories from web-vault into /libs/vault
2026-02-17 09:38:59 -08:00
neuronull
7088447046 Add Rust pre-commit hooks for desktop native (#17823) 2026-02-17 09:32:55 -08:00
Nick Krantz
9dbc4f6071 show upgrade badge for non-premium users (#18296) 2026-02-17 09:32:55 -08:00
Jordan Aasen
0b7f25fef1 [PM-26515] - Browser - Non Premium User Archived Item Flow (#16908)
* non-premium user flow  archived items

* add archived button

* update archive service

* fix add-edit component

* fix tests

* fix tests

* small fixes

* remove unused service

* fix test

* fix test

* fix test

* fix tests

* only show archived badge when user cannot archive

* update spec

* add test

* revert change to button

* use previouslyCouldArchive

* fix tests

* hide clone button when data ownership policy is enabled

* remove dupe pipe. fix logic

* change from button to span

* fix logic

* fix tests and logic

* fix tests. simplify logic

* updates to archive component

* fix archived pill logic

* fix add missing pop-out

* cleanup

* check if cipher is present in template

* remove enforceDataOwnershipPolicy obs
2026-02-17 09:32:54 -08:00
Mike Amirault
8133929ab4 [PM-30602] Remove unused Send access code from earlier iteration (#18335) 2026-02-17 09:32:54 -08:00
bw-ghapp[bot]
aa44010414 Autosync the updated translations (#18364)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:32:54 -08:00
bw-ghapp[bot]
9ff5d52e3a Autosync the updated translations (#18363)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:32:54 -08:00
bw-ghapp[bot]
f4b7464371 Autosync the updated translations (#18365)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:32:53 -08:00
bw-ghapp[bot]
ccb768da83 Bumped client version(s) (#18362)
Co-authored-by: bitwarden-devops-bot <106330231+bitwarden-devops-bot@users.noreply.github.com>
2026-02-17 09:32:53 -08:00
Isaac Ivins
0170bd5b2a [PM-19079] [PM-28168] add edit desktop migration (#18294)
The goal of this PR is to migrate the Desktop Send-v2 component from the AddEditComponent to now use to shared SendAddEditDialogComponent from @bitwarden/send-ui library

---------

Co-authored-by: William Martin <contact@willmartian.com>
Co-authored-by: Hinton <hinton@users.noreply.github.com>
2026-02-17 09:32:52 -08:00
Jason Ng
5676e8dc24 [PM-30734] hide the trash icon on the new item modal (#18342) 2026-02-17 09:32:52 -08:00
Vijay Oommen
d88bd17667 [PM-25228] Remove unknown elements from spec files (#18325) 2026-02-17 09:32:52 -08:00
Daniel Riera
5caf36c674 [PM-29512] Remove ts strict ignore in popup fido 2 cipher row component ts (#18064)
* last is dead code, remove completely

* pass required true so that angular enforces at runtime and run apply a definitive assignment assertion since angulars input binding is running before use
2026-02-17 09:32:51 -08:00
Daniel Riera
e7d79ce578 make types optional to mitigate the design inconsistency (#18072) 2026-02-17 09:32:51 -08:00