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
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
shuaiplus
b6fb62603b
Merge pull request #282 from dependabot/npm_and_yarn/types/node-26.0.1
2026-06-30 13:42:57 +08:00
shuaiplus
35071c2719
ci: limit risky dependabot updates
2026-06-30 13:36:00 +08:00
dependabot[bot] and GitHub
5bd7dab277
chore(deps): bump lucide-preact from 0.575.0 to 1.22.0
...
Bumps [lucide-preact](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-preact ) from 0.575.0 to 1.22.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.22.0/packages/lucide-preact )
---
updated-dependencies:
- dependency-name: lucide-preact
dependency-version: 1.22.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-30 05:28:03 +00:00
dependabot[bot] and GitHub
99f2d7f444
chore(deps-dev): bump typescript from 5.9.3 to 6.0.3
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 5.9.3 to 6.0.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.3 )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 6.0.3
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-30 05:28:02 +00:00
dependabot[bot] and GitHub
fb9a2aeda1
chore(deps-dev): bump @types/node from 25.2.3 to 26.0.1
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 25.2.3 to 26.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 26.0.1
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-30 05:27:57 +00:00
dependabot[bot] and GitHub
c87e6ac984
chore(deps): bump the github-actions group with 3 updates
...
Bumps the github-actions group with 3 updates: [actions/checkout](https://github.com/actions/checkout ), [actions/setup-node](https://github.com/actions/setup-node ) and [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request ).
Updates `actions/checkout` from 4 to 7
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v7 )
Updates `actions/setup-node` from 4 to 6
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/v4...v6 )
Updates `peter-evans/create-pull-request` from 6 to 8
- [Release notes](https://github.com/peter-evans/create-pull-request/releases )
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v8 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: actions/setup-node
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: peter-evans/create-pull-request
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-30 05:26:28 +00:00
shuaiplus
a6f1c6dea2
Merge branch 'beta'
2026-06-30 13:25:22 +08:00
shuaiplus
49c872a8ec
ci: fix sync workflow shell lint
2026-06-30 13:18:02 +08:00
shuaiplus
78af1f9bdd
ci: skip scorecard outside main
2026-06-30 13:14:23 +08:00
shuaiplus
32b3d2ade1
chore: override ws vulnerability
2026-06-30 13:11:07 +08:00
shuaiplus
64f26e76f6
chore: add security automation workflows
2026-06-30 13:05:04 +08:00
rootphantomer and Shuai
68c42a0330
fix: preserve multiline values (e.g. SSH private keys) during CSV import
...
parseBitwardenCsvFieldLines previously discarded any field line that did not
contain the ': ' delimiter, truncating multiline values like OpenSSH private
keys to only their first line.
Replace the map+filter pipeline with a reduce that accumulates continuation
lines (lines without ': ') into the previous entry's value, joined by '\n'.
This preserves the full private key content through a CSV round-trip.
Fixes: CSV export to import of SSH key items where the private key body was
silently dropped.
2026-06-30 11:44:03 +08:00
shuaiplus
0d1bb196e2
feat: add functionality to delete invalid invites and update related components
2026-06-29 12:12:13 +08:00
shuaiplus
e31f82c0d6
feat: update project wiki link and remove obsolete security scripts and workflows
2026-06-29 11:57:53 +08:00
shuaiplus
f82dcc3c17
feat: rename revokeInvite to deleteInvite and update related functionality
2026-06-29 11:47:05 +08:00
shuaiplus
4378e1b430
feat: add pendingAuthRequestsRefreshing state to improve loading feedback in auth request components
2026-06-29 11:29:35 +08:00
shuaiplus
5eeaf4e32e
feat: enhance Bitwarden CSV parsing with custom field handling and metadata restoration
2026-06-29 11:10:41 +08:00
shuaiplus
82f968e51f
feat: add validFolderIds support for cipher responses and update folder handling in storage
2026-06-28 19:43:27 +08:00
shuaiplus
a5ad16ac27
feat: add device selection and removal functionality in SecurityDevicesPage
2026-06-28 15:31:29 +08:00
shuaiplus
6a1a8357bf
feat: refactor PRF extension handling in credential options
2026-06-28 14:13:06 +08:00
shuaiplus
31cfd19b6b
feat: add support for excluding PRF extensions in credential options
2026-06-28 14:02:51 +08:00
shuaiplus
4cd9ad00d2
Add backup-related error messages and improve UI styles
...
- Updated English, Spanish, Russian, Simplified Chinese, and Traditional Chinese locale files to include new error messages related to backup and restore processes.
- Added prefix and suffix strings for the "cached empty" message to enhance clarity in user prompts.
- Enhanced the management CSS with new styles for the backup browser refresh prompt to improve layout and user experience.
2026-06-27 12:38:41 +08:00
shuaiplus
31dcc76ee2
Merge branch 'main' of https://github.com/shuaiplus/nodewarden
2026-06-26 20:58:22 +08:00
soncms and Shuai
bf6ac7b405
Enable WebAuthn related origins support
2026-06-26 20:51:33 +08:00
shuaiplus
1bfb9a647d
feat: refine app-shell styles for improved layout and dark mode consistency
2026-06-26 19:12:20 +08:00
shuaiplus
e9272ec29a
feat: enhance backup import functionality with locking mechanism and checksum support
2026-06-26 18:45:23 +08:00
shuaiplus
8942e5bd49
feat: add support for PRF extension request based on browser compatibility
2026-06-26 11:58:49 +08:00
shuaiplus
d722815999
feat: add fullscreen layout support with toggle and localization updates
2026-06-26 11:26:02 +08:00
shuaiplus
ff85698edb
feat: add Tigris backup provider support with recommendations and localization updates
2026-06-25 21:11:57 +08:00
shuaiplus
c3dc53bac1
feat: add Cloudflare R2 support with detailed backup recommendations and localization updates
2026-06-25 19:45:09 +08:00
shuaiplus
1acc31eda0
feat: add Backblaze B2 support with recommendations and styling updates
2026-06-25 18:42:34 +08:00
shuaiplus and Claude
c694f1bfce
refactor: consolidate security devices UI and remove pending auth requests from settings
...
- Merge device management and authorized devices sections into a single card in SecurityDevicesPage
- Remove PendingAuthRequestsPanel from SettingsPage and its related props
- Clean up unused auth request prop drilling in AppMainRoutes
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-25 01:49:17 +08:00