clients/apps/web
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 [PM-8836] Move ownership of biometrics to key-management (#10818) 2024-09-30 18:14:32 +02:00
config icons and key connector urls for web development (#17043) 2025-10-27 12:40:56 +00:00
scripts
src Auth/Innovation/PM-4659 - Device Management - Add Last Activity Date (#19784) 2026-04-16 13:32:44 -04:00
.dockerignore
.gitignore
claude-plan.md [PM-15489] 2fa account recovery (#19894) 2026-04-08 09:10:31 -04:00
CLAUDE.md [PM-26337] Create a Claude markdown file (#16676) 2025-10-03 16:48:01 +02:00
config.js
crowdin.yml [deps]: Update crowdin/github-action action to v2 (#15169) 2025-06-12 17:59:17 -04:00
dev-server.shared.pem
Dockerfile [PM-31831] fix: add support for overriding commercial SDK (#18863) 2026-02-25 11:15:19 +01:00
entrypoint.sh add shadow package, restore entrypoint functionality (#16124) 2025-08-26 08:47:19 -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-04-06 15:59:38 +00:00
postcss.config.js build(web): integrate nx (#16706) 2025-10-13 06:31:17 -04:00
project.json fix(nx): [PM-33529] Update web nx serve configuration names to match CLI and docs 2026-03-27 13:05:10 -04:00
README.md Remove gitter chat badges from READMEs (#19368) 2026-03-04 16:33:27 +00:00
tailwind.config.js [PM-29448] Consume the new send table in web (#17923) 2025-12-19 16:00:37 +01:00
test.setup.ts [PM-18599] Forbid unknown property and element in tests (#13556) 2025-02-25 14:02:19 -08:00
tsconfig.build.json [PM-29239] Create proxy cookie redirect connector (#18476) 2026-02-03 07:08:44 -05:00
tsconfig.json [PM-29239] Create proxy cookie redirect connector (#18476) 2026-02-03 07:08:44 -05:00
tsconfig.spec.json [CL-525] Upgrade angular to v19 (#14815) 2025-06-02 13:13:31 -04:00
webpack.base.js [PM-30404] Exclude .wasm.js from babel (#18555) 2026-02-06 08:42:08 +01:00
webpack.config.js [PM-27564] Self-host configuration is not applied with nx build (#17279) 2025-11-24 16:36:23 +01:00

Bitwarden Web App

The Bitwarden web project is an Angular application that powers the web vault (https://vault.bitwarden.com/).

Github Workflow build on main Crowdin DockerHub

Documentation

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