clients/apps/browser
Jared Snider 76e0ee1b33
Auth/Innovation/PM-4659 - Device Management - Add Last Activity Date (#19784)
* PM-4659 - Refactor DeviceView and add lastActivityDate to DeviceResponse

Adds lastActivityDate (nullable) to DeviceResponse for backwards compatibility
with older server versions. Cleans up DeviceView by removing the response
sub-property escape hatch and declaring all properties directly on the view.

* PM-4659 - Add PM4516_DevicesLastActivityDate feature flag

Adds feature flag and its DefaultFeatureFlagValue entry (defaults to false).

* PM-4659 - Refactor sort utils: rename, restructure, and add sortDevicesWithActivity

Renames resort-devices.helper.ts to utils/device-sort.utils.ts and renames all
functions (resort → sort). Adds sortDevicesWithActivity with the new sort order:
current session → pending requests → most recently active → first login fallback.
Adds full test coverage for all three exported functions.

* PM-4659 - Add recently active display to device management

Adds 'Recently active' column/row to the device management table and item group
views, gated on the PM4516_DevicesLastActivityDate feature flag. Includes a pure
getDeviceLastActivityDateI18nKey utility that maps last activity dates to i18n
keys using calendar-day comparison in the user's local timezone (Math.round for
DST safety). Adds i18n keys for all activity buckets to web and browser locales.

* PM-4659 - DeviceManagement - split into two sections to play around with refactoring the layout.

* PM-4659 - DeviceManagementItemGroupComp - refactor to meet figma better

* PM-4659 - DeviceManagementTable - fix recent activity sort.

* PM-4659 - Device Management Item Group Comp - add missing margin top

* PM-4659 - Add tech debt todo for device sort

* PM-4659 - Guard against future lastActivityDate due to server clock skew

* PM-4659 - DeviceManagment - RecentActivitySort updated to separate func, updated logic per dicussion with product, and wrote tests for the sort.

* PM-4659 - Tiny clean up items

* PM-4659 - Device Sort - recentlyActiveSortFn - update docs

* PM-4659 - Upsert lastActivityDate and recentlyActiveText when pending auth request arrives for known device

* PM-4659 - Reset table sort to default when a pending auth request arrives

* PM-4659 - getDeviceLastActivityDateI18nKey - add more test scenarios

* PM-4659 - Update recentlyActive i18n keys and messages to use explicit rolling-window labels (Past 7/14/30 days)

* PM-4659 - Show isTrusted status for pending auth request devices in showRecentlyActive block
2026-04-16 13:32:44 -04:00
..
.vscode Multi root workspace tweaks (#2858) 2022-06-13 21:39:36 -05:00
config feat(account-switching) [PM-5594]: Enabling account switching causes performance issues on safari (#18339) 2026-01-27 14:27:13 -05:00
scripts [BRE-1530] Updating certificate name from 8bit to Bitwarden (#19380) 2026-03-04 16:16:12 -05:00
spec Fix skipped memory storage tests (#18168) 2026-01-05 11:12:31 +01:00
src Auth/Innovation/PM-4659 - Device Management - Add Last Activity Date (#19784) 2026-04-16 13:32:44 -04:00
store Autosync the updated translations (#20087) 2026-04-10 16:21:03 +02:00
webpack [PM-22629] Forbid importing popup outside (#15168) 2025-06-13 08:54:49 -05:00
.gitignore Ps/pm 2910/browser header component (#6641) 2023-10-25 18:27:32 +00:00
CLAUDE.md [PM-33568] Add Claude guidance on injected content script exceptions (#19559) 2026-03-18 12:04:29 -04:00
crowdin.yml Fix Crowdin Pull workflow (#2667) 2022-05-10 10:20:32 -04:00
jest.config.js Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
package.json Bumped client version(s) 2026-03-23 10:44:20 +00:00
postcss.config.js eslint: report unused disable directives (#13463) 2025-03-10 09:33:08 -04:00
project.json build(nx): fix serve browser (#16972) 2025-10-22 06:21:25 -04:00
README.md Remove gitter chat badges from READMEs (#19368) 2026-03-04 16:33:27 +00:00
tailwind.config.js [CL-434] Swap extension to use tailwind preflight (#17054) 2025-12-09 15:40:00 -05:00
test.setup.ts [deps] Platform: Update @types/chrome to v0.1.0 (#15697) 2025-09-26 17:02:39 +02:00
tsconfig.json [CL-761] Enable strict template typechecking (#17334) 2025-11-25 11:04:37 -05:00
tsconfig.spec.json [CL-525] Upgrade angular to v19 (#14815) 2025-06-02 13:13:31 -04:00
webpack.base.js generate sourcemaps for mv3 background.js (#19227) 2026-03-02 10:15:29 -05:00
webpack.config.js refactor(nx): remove unneeded tsconfig.build.json & adjust nx docs (#16864) 2025-10-14 11:07:23 -04:00

Github Workflow build browser on main Crowdin

Bitwarden Browser Extension

The Bitwarden browser extension is written using the Web Extension API and Angular.

My Vault

Documentation

Please refer to the Browser section of the Contributing Documentation for build instructions, recommended tooling, code style tips, and lots of other great information to get you started.