shuaiplus
7ac6ae50bb
Harden auth requests and backup endpoints
2026-07-06 18:04:23 +08:00
shuaiplus
ace00e8e74
Harden WebAuthn extension origins
2026-07-06 17:43:57 +08:00
shuaiplus
51428461a8
fix: cap multipart backup and upload requests
2026-07-06 15:38:59 +08:00
shuaiplus
23c53bd1af
fix: validate anonymous notification hub requests
2026-07-06 15:38:52 +08:00
shuaiplus
ae168bea31
fix rate limit reset bypasses
2026-07-06 14:24:01 +08:00
shuaiplus
00e0ec0892
fix(backup): redact destination secrets in settings
2026-07-06 13:50:49 +08:00
shuaiplus
2df43ccdb0
fix(auth): revoke current access token session
2026-07-06 13:49:06 +08:00
shuaiplus
fd46dffc34
fix: align push relay installation requests
2026-07-06 02:09:35 +08:00
shuaiplus
56b301f2d1
fix: align fill assist compatibility
2026-07-06 02:09:28 +08:00
shuaiplus
f0e523376c
fix: add admin auth request compatibility
2026-07-06 01:35:26 +08:00
shuaiplus
8b2f98b847
fix: add Bitwarden device registration endpoints
2026-07-06 01:35:19 +08:00
shuaiplus
cde4555add
fix: return unsupported for email and kdf flows
2026-07-06 01:35:12 +08:00
shuaiplus
1bad32fd90
fix: keep remembered 2fa token on bad password
2026-07-06 01:07:26 +08:00
shuaiplus
e376a840c2
fix: add device verification settings endpoints
2026-07-06 00:59:34 +08:00
shuaiplus
9de0d3bd87
fix: clarify extended cipher type icons
2026-07-06 00:56:57 +08:00
shuaiplus
109593da90
feat: support Bitwarden extended cipher types
2026-07-06 00:44:17 +08:00
shuaiplus
01ff627ac6
fix(i18n): localize audit logs and new validation messages
2026-07-05 23:45:26 +08:00
shuaiplus
d028b194e7
fix(admin): record audit clears and passkey 2fa status
2026-07-05 23:45:18 +08:00
shuaiplus
c53d71fc28
feat(settings): move device management into settings
2026-07-05 23:44:54 +08:00
shuaiplus
6e722205b1
fix(totp): validate qr image uploads
2026-07-05 23:44:44 +08:00
shuaiplus
cf14704d99
fix(import): validate payloads and zip entries
2026-07-05 23:44:36 +08:00
shuaiplus
0cef6a04e9
fix(backup): verify remote deletes and validate archives
2026-07-05 23:44:25 +08:00
shuaiplus
8c481a1564
fix(send): refresh routes and gate file access
2026-07-05 23:44:07 +08:00
shuaiplus
d9a36fefe6
fix(security): harden auth and request limits
2026-07-05 23:43:49 +08:00
shuaiplus
12af18e3a3
feat: update device management link handling in navigation
2026-07-05 15:41:27 +08:00
shuaiplus
d8cc88d9c0
feat: add UUID normalization functions and enhance WebAuthn response handling
2026-07-05 15:37:02 +08:00
shuaiplus
94b5f3e975
Merge branch 'main' of https://github.com/shuaiplus/nodewarden
2026-07-05 15:17:00 +08:00
shuaiplus
062c966e14
feat: update styles for two-step providers and responsive layout adjustments
2026-07-05 15:16:56 +08:00
shuaiplus
e73ae3d5ea
feat: enhance two-factor authentication handling and UI improvements
2026-07-05 15:05:53 +08:00
shuaiplus
c019c93726
feat: add passkey-based two-factor authentication
2026-07-05 14:51:11 +08:00
shuaiplus
f63b745d05
feat: Add YubiKey OTP support and management features
...
- Implemented YubiKey OTP settings management in useAccountSecurityActions hook.
- Added API functions for retrieving, saving, and bootstrapping YubiKey OTP credentials.
- Enhanced authentication flow to support multiple two-factor providers, including YubiKey.
- Updated localization files to include new YubiKey-related strings in English, Spanish, Russian, and Chinese.
- Introduced new styles for YubiKey management UI components.
- Created utility functions for YubiKey OTP validation and credential handling.
2026-07-04 02:49:46 +08:00
shuaiplus
c7eb6c663d
feat(i18n): add new localization strings for settings and two-step login across multiple languages
...
style: adjust grid layout for app main and add responsive styles for settings category
style: enhance management styles with new settings category layout and tabs
style: improve responsive design for settings modules and submodules
2026-07-03 19:19:24 +08:00
rootphantomer and Shuai
1ec6ed44a1
fix: reject plaintext FIDO2, SSH keys, and password history on import
...
Validate encrypted-string fields in validateCipherEncryptedFieldsForCompatibility
before they reach storage:
- FIDO2 credentials (12 fields: 8 required + 4 optional)
- SSH key (privateKey, publicKey, keyFingerprint/fingerprint)
- Password history (password per entry)
This closes a defense gap where plaintext in these positions was silently
accepted on import and later discarded at response time.
2026-07-02 17:36:06 +08:00
shuaiplus
6284c632de
Merge branch 'main' of https://github.com/shuaiplus/nodewarden
2026-07-02 17:23:47 +08:00
shuaiplus
60dd298dee
fix(security): harden jwt config and password rotation
2026-07-02 17:20:51 +08:00
shuaiplus
439683d350
fix(identity): add security stamp and invalidate user cache on token handling
2026-07-02 16:57:24 +08:00
shuaiplus
1545881eae
fix(auth): hash stored api keys
2026-07-02 16:27:20 +08:00
shuaiplus
680e287c8d
fix(ci): validate global domains sync ref
2026-07-02 16:11:19 +08:00
shuaiplus
baf569983d
fix(security): scope storage reads by user
2026-07-02 16:03:49 +08:00
Matt Van Horn and Shuai
73bbe8b268
perf: throttle jsQR camera fallback to a few decodes per second
2026-07-01 17:07:30 +08:00
Matt Van Horn and Shuai
d024798548
fix: composite transparent QR uploads over white before jsQR decode
2026-07-01 17:07:30 +08:00
Matt Van Horn and Shuai
b0a679b1c2
fix: decode uploaded TOTP QR images when BarcodeDetector is unavailable
...
The TOTP QR reader relied solely on window.BarcodeDetector. On desktop
Chrome/Edge (Windows/Linux) that interface exists but has no working
backend, so detect() returns an empty array: uploading a valid QR image
fell through to "no QR code found" and the camera path bailed to
"unsupported" with an empty preview.
Add a dependency-free jsQR canvas fallback. decodeTotpQrImage now tries
BarcodeDetector first when present, then decodes the image via jsQR
before reporting not-found. The camera reader no longer hard-returns
"unsupported" when only BarcodeDetector is missing: it starts the camera
whenever getUserMedia is available and decodes frames with jsQR, which
also lets the preview render.
Fixes #276
2026-07-01 17:07:30 +08:00
shuaiplus
ce3674669e
feat: update version to 1.7.2 in package.json, package-lock.json, and app-version.ts
v1.7.2
2026-07-01 13:36:59 +08:00
shuaiplus
aa7b87e041
Merge branch 'main' of https://github.com/shuaiplus/nodewarden
2026-07-01 13:28:26 +08:00
shuaiplus
e4215b4025
feat: add fill-assist handlers and update device response type
2026-07-01 13:28:22 +08:00
dependabot[bot] and Shuai
8d292ca7b8
chore(deps): bump the npm-minor-and-patch group across 1 directory with 15 updates
...
Bumps the npm-minor-and-patch group with 15 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@noble/hashes](https://github.com/paulmillr/noble-hashes ) | `2.0.1` | `2.2.0` |
| [@simplewebauthn/server](https://github.com/MasterKale/SimpleWebAuthn/tree/HEAD/packages/server ) | `13.3.1` | `13.3.2` |
| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query ) | `5.90.21` | `5.101.2` |
| [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js ) | `2.8.22` | `2.8.26` |
| [fflate](https://github.com/101arrowz/fflate ) | `0.8.2` | `0.8.3` |
| [preact](https://github.com/preactjs/preact ) | `10.28.4` | `10.29.3` |
| [wouter](https://github.com/molefrog/wouter ) | `3.9.0` | `3.10.0` |
| [@cloudflare/workers-types](https://github.com/cloudflare/workerd ) | `4.20260609.1` | `4.20260630.1` |
| [@preact/preset-vite](https://github.com/preactjs/preset-vite ) | `2.10.3` | `2.10.5` |
| [autoprefixer](https://github.com/postcss/autoprefixer ) | `10.4.21` | `10.5.2` |
| [opencc-js](https://github.com/nk2028/opencc-js ) | `1.0.5` | `1.3.2` |
| [postcss](https://github.com/postcss/postcss ) | `8.5.15` | `8.5.16` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ) | `3.4.17` | `3.4.19` |
| [tsx](https://github.com/privatenumber/tsx ) | `4.21.0` | `4.22.4` |
| [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ) | `4.98.0` | `4.105.0` |
Updates `@noble/hashes` from 2.0.1 to 2.2.0
- [Release notes](https://github.com/paulmillr/noble-hashes/releases )
- [Commits](https://github.com/paulmillr/noble-hashes/compare/2.0.1...2.2.0 )
Updates `@simplewebauthn/server` from 13.3.1 to 13.3.2
- [Release notes](https://github.com/MasterKale/SimpleWebAuthn/releases )
- [Changelog](https://github.com/MasterKale/SimpleWebAuthn/blob/master/CHANGELOG.md )
- [Commits](https://github.com/MasterKale/SimpleWebAuthn/commits/v13.3.2/packages/server )
Updates `@tanstack/react-query` from 5.90.21 to 5.101.2
- [Release notes](https://github.com/TanStack/query/releases )
- [Changelog](https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md )
- [Commits](https://github.com/TanStack/query/commits/@tanstack/react-query@5.101.2/packages/react-query )
Updates `@zip.js/zip.js` from 2.8.22 to 2.8.26
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases )
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.8.22...v2.8.26 )
Updates `fflate` from 0.8.2 to 0.8.3
- [Release notes](https://github.com/101arrowz/fflate/releases )
- [Changelog](https://github.com/101arrowz/fflate/blob/master/CHANGELOG.md )
- [Commits](https://github.com/101arrowz/fflate/compare/v0.8.2...v0.8.3 )
Updates `preact` from 10.28.4 to 10.29.3
- [Release notes](https://github.com/preactjs/preact/releases )
- [Commits](https://github.com/preactjs/preact/compare/10.28.4...10.29.3 )
Updates `wouter` from 3.9.0 to 3.10.0
- [Release notes](https://github.com/molefrog/wouter/releases )
- [Commits](https://github.com/molefrog/wouter/commits )
Updates `@cloudflare/workers-types` from 4.20260609.1 to 4.20260630.1
- [Release notes](https://github.com/cloudflare/workerd/releases )
- [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md )
- [Commits](https://github.com/cloudflare/workerd/commits )
Updates `@preact/preset-vite` from 2.10.3 to 2.10.5
- [Release notes](https://github.com/preactjs/preset-vite/releases )
- [Commits](https://github.com/preactjs/preset-vite/compare/2.10.3...2.10.5 )
Updates `autoprefixer` from 10.4.21 to 10.5.2
- [Release notes](https://github.com/postcss/autoprefixer/releases )
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.21...10.5.2 )
Updates `opencc-js` from 1.0.5 to 1.3.2
- [Release notes](https://github.com/nk2028/opencc-js/releases )
- [Changelog](https://github.com/nk2028/opencc-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/nk2028/opencc-js/compare/v1.0.5...v1.3.2 )
Updates `postcss` from 8.5.15 to 8.5.16
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.5.15...8.5.16 )
Updates `tailwindcss` from 3.4.17 to 3.4.19
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v3.4.19/packages/tailwindcss )
Updates `tsx` from 4.21.0 to 4.22.4
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.21.0...v4.22.4 )
Updates `wrangler` from 4.98.0 to 4.105.0
- [Release notes](https://github.com/cloudflare/workers-sdk/releases )
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.105.0/packages/wrangler )
---
updated-dependencies:
- dependency-name: "@cloudflare/workers-types"
dependency-version: 4.20260630.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-minor-and-patch
- dependency-name: "@noble/hashes"
dependency-version: 2.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-minor-and-patch
- dependency-name: "@preact/preset-vite"
dependency-version: 2.10.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor-and-patch
- dependency-name: "@simplewebauthn/server"
dependency-version: 13.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-minor-and-patch
- dependency-name: "@tanstack/react-query"
dependency-version: 5.101.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-minor-and-patch
- dependency-name: "@zip.js/zip.js"
dependency-version: 2.8.26
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-minor-and-patch
- dependency-name: autoprefixer
dependency-version: 10.5.2
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-minor-and-patch
- dependency-name: fflate
dependency-version: 0.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-minor-and-patch
- dependency-name: opencc-js
dependency-version: 1.3.2
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-minor-and-patch
- dependency-name: postcss
dependency-version: 8.5.16
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor-and-patch
- dependency-name: preact
dependency-version: 10.29.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-minor-and-patch
- dependency-name: tailwindcss
dependency-version: 3.4.19
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-minor-and-patch
- dependency-name: tsx
dependency-version: 4.22.4
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-minor-and-patch
- dependency-name: wouter
dependency-version: 3.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-minor-and-patch
- dependency-name: wrangler
dependency-version: 4.105.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-30 13:55:20 +08:00
shuaiplus
5dd9dff045
ci: update actions/checkout and other actions to specific versions
2026-06-30 13:49:33 +08:00
shuaiplus
709a8c1768
Merge pull request #279 from dependabot/github_actions/github-actions-db669df06a
2026-06-30 13:44:53 +08:00
shuaiplus
e2c3516ce9
Merge pull request #284 from dependabot/npm_and_yarn/lucide-preact-1.22.0
2026-06-30 13:43:17 +08:00
shuaiplus
55b5c57f9e
Merge pull request #283 from dependabot/npm_and_yarn/typescript-6.0.3
2026-06-30 13:43:07 +08:00