Leendert de Borst
aaa7476729
Auto-type email instead of value insert in browser extension autofill ( #2113 )
2026-05-31 18:08:13 +02:00
Leendert de Borst
6f4daffedb
Update OriginVerifier.kt to accept either get_login_creds or handle_all_urls for passkey asset link verification ( #2111 )
2026-05-31 17:37:51 +02:00
Leendert de Borst
cc186d7497
Update expo-file-system API for (email) attachment download ( #150 )
2026-05-31 17:07:38 +02:00
Leendert de Borst
ccd0113f3b
Update email format switcher logic and UI in mobile app ( #150 )
2026-05-31 17:07:38 +02:00
Leendert de Borst
896e91285a
Update email format switcher logic and UI in browser extension ( #150 )
2026-05-31 17:07:38 +02:00
Leendert de Borst
75a0a5ae72
Update email format switcher logic and UI in web app ( #150 )
2026-05-31 17:07:38 +02:00
Sanjay Santhanam
8c56115f03
feat: add email format switcher (HTML/Plain/Source)
...
Add a segmented button row to switch between HTML, Plain text, and
Source views in the email modal. Defaults to HTML if available,
otherwise falls back to Plain text.
Changes:
- EmailModal.razor: Add ViewMode enum, SetViewMode method, and
format switcher UI between header and content area
- EmailDetails.tsx: Add equivalent React viewMode state and
format switcher buttons for the browser extension
Since MessageSource doesn't exist on EmailApiModel, Source view
shows the raw HTML markup as a fallback.
2026-05-31 17:07:38 +02:00
Leendert de Borst
f001fe90e1
Update browser extension autofill form detection so it works with Tailwind CSS ( #2109 )
2026-05-30 17:16:19 +02:00
Leendert de Borst
ca85a84fb1
Update bug_report.yml
2026-05-30 17:14:16 +02:00
Leendert de Borst
71f791e9c0
Fix custom field label insert when using enter key to submit form ( #2106 )
2026-05-30 16:26:56 +02:00
Leendert de Borst
02cb30ee62
Update playwright to 1.60.0 to fix hanging CI installs
2026-05-30 16:15:21 +02:00
Leendert de Borst
c155e7917f
Update tests ( #2100 )
2026-05-29 18:34:47 +02:00
Leendert de Borst
0f96eb2a87
Add 10min timeout to playwright test setup ( #2100 )
2026-05-29 18:34:47 +02:00
Leendert de Borst
2019275da1
Press submit button in 2FA login tests ( #2100 )
2026-05-29 18:34:47 +02:00
Leendert de Borst
e3a66654cf
Add av-enable flags to web app login and 2FA setup ( #2100 )
2026-05-29 18:34:47 +02:00
Leendert de Borst
a2f33d328c
Add 2FA autofill enable/suppress flag support ( #2100 )
2026-05-29 18:34:47 +02:00
Leendert de Borst
4a43145393
Update tests ( #2100 )
2026-05-29 18:34:47 +02:00
Leendert de Borst
0d78ea76b4
Add av-enable and av-suppress-save flags support to browser extension ( #2100 )
2026-05-29 18:34:47 +02:00
Leendert de Borst
ac9da5c681
Refactor folder structure ( #2100 )
2026-05-29 18:34:47 +02:00
Leendert de Borst
356e8ba8e2
Update SECURITY.md
2026-05-29 18:30:49 +02:00
Leendert de Borst
f1b0bb0473
Update CONTRIBUTING.md
2026-05-29 18:30:40 +02:00
Leendert de Borst
a6cb2669f6
Freeze all browser extension form persist calls on clear ( #2029 )
2026-05-29 18:23:39 +02:00
Leendert de Borst
e48b0228c4
Remember and auto-prompt last unlock method for browser extension ( #2096 )
2026-05-29 17:32:19 +02:00
AmarBego
4a42b5363c
feat: cache email RSA CryptoKeys by public key
...
satisfy JSDoc lint
2026-05-29 15:32:01 +02:00
Leendert de Borst
5a79c94ff6
Update translations
2026-05-29 00:50:34 +02:00
Leendert de Borst
6dbf42931d
Update admin server settings time label
2026-05-27 19:40:48 +02:00
Leendert de Borst
9b85cdd9ab
Update self-hosted docs mobile app SSL certificate note
2026-05-27 19:12:20 +02:00
Leendert de Borst
3da3b4ec52
Enable scrolling inside browser extension autofill popup ( #2066 )
2026-05-27 15:50:34 +02:00
Leendert de Borst
77d36c8424
Update CONTRIBUTING.md
2026-05-27 14:59:39 +02:00
Leendert de Borst
ca1a8e7a58
Add shared page content component with min-height to prevent dropdown clipping ( #2090 )
2026-05-27 13:16:08 +02:00
Leendert de Borst
36d6c7e49c
Show item filter dropdown on recently deleted page in web app ( #2090 )
2026-05-27 13:16:08 +02:00
Leendert de Borst
6f7662f106
Refactor item dropdown menu to separate component in mobile app ( #2090 )
2026-05-27 13:16:08 +02:00
Leendert de Borst
03eed2e541
Show item filter dropdown on recently deleted page in browser extension ( #2090 )
2026-05-27 13:16:08 +02:00
Leendert de Borst
b78b81d3f6
Add Android inline keyboard autofill suggestions ( #1637 )
2026-05-26 16:58:28 +02:00
Leendert de Borst
38f3a1359e
Increase default shown autofill suggestions from 3 to 10 ( #1633 )
2026-05-26 15:57:30 +02:00
Leendert de Borst
faf4ef32e3
Update OriginVerifier.kt passkeys privileged apps list ( #2082 )
2026-05-26 15:28:32 +02:00
Leendert de Borst
2dc6ed055d
Add refresh-external-dependencies.sh script ( #2082 )
2026-05-26 15:28:32 +02:00
Leendert de Borst
3cb8e8983c
Update net.aliasvault.app.yml.template
2026-05-26 13:52:23 +02:00
Leendert de Borst
dc955d350e
Remove explicit hermes command from build.gradle
2026-05-26 13:11:11 +02:00
Leendert de Borst
c5ac65a73e
Update mobile app build from source settings
2026-05-26 11:54:38 +02:00
Leendert de Borst
341e029725
Remove F-Droid obsolete scanignore paths after upgrade to latest Expo 56
2026-05-26 11:27:18 +02:00
Leendert de Borst
8a2b49fb9e
Fix typo
2026-05-26 11:24:03 +02:00
AmarBego
85881c89a1
fix(extension): hold mobile-login RSA private key as non-extractable CryptoKey
2026-05-26 11:22:16 +02:00
Leendert de Borst
30a9d04349
Update tailwind.css
2026-05-26 10:48:42 +02:00
dependabot[bot]
423330c864
Upgrade mobile app Expo and browser extension WXT frameworks ( #2067 )
...
* Bump the npm_and_yarn group across 2 directories with 2 updates
Bumps the npm_and_yarn group with 1 update in the /apps/browser-extension directory: [ws](https://github.com/websockets/ws ).
Bumps the npm_and_yarn group with 1 update in the /apps/mobile-app directory: [postcss](https://github.com/postcss/postcss ).
Updates `ws` from 8.18.2 to 8.21.0
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/8.18.2...8.21.0 )
Updates `ws` from 8.18.2 to 8.21.0
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/8.18.2...8.21.0 )
Updates `postcss` from 8.4.49 to 8.5.15
- [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.4.49...8.5.15 )
Updates `postcss` from 8.4.49 to 8.5.15
- [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.4.49...8.5.15 )
---
updated-dependencies:
- dependency-name: postcss
dependency-version: 8.5.15
dependency-type: indirect
- dependency-name: ws
dependency-version: 8.21.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update package-lock.json (#2067 )
* Update NodeJS to latest 24.x LTS
* Revert Expo back to 53.x (#2067 )
* Upgrade expo and react-native (#2067 )
* Update mobile app to support Expo 56 (#2067 )
* Update wxt (#2067 )
* Change util filenames to be consistent PascalCase (#2067 )
* Restore deep-linking behavior to work with new Expo Router (#2067 )
* Update eslint.config.js (#2067 )
* Update package-lock.json (#2067 )
* Refactor linting (#2067 )
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Leendert de Borst <ldeborst@xivisoft.com >
2026-05-26 10:47:39 +02:00
Leendert de Borst
999b465467
New Crowdin updates ( #2030 )
...
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations setup.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations start.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations view.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations deletefoldermodal.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Spanish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Catalan)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (German)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Finnish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Hebrew)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Italian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Dutch)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Polish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Russian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Swedish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Turkish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Ukrainian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Portuguese, Brazilian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Romanian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Persian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Urdu (Pakistan))
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Bulgarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Danish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Korean)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Czech)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Burmese)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations showrecoverycodes.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations passwordconfirmationmodal.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Spanish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Catalan)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (German)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Finnish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hebrew)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Italian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Dutch)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Polish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Russian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Swedish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Turkish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Ukrainian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Russian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Spanish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Catalan)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (German)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Finnish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hebrew)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Italian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Dutch)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Polish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Russian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Swedish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Turkish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Ukrainian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Portuguese, Brazilian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Romanian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Romanian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Persian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Persian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Urdu (Pakistan))
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Urdu (Pakistan))
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Bulgarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Bulgarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Danish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Danish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Korean)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Korean)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Czech)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Czech)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Burmese)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Burmese)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Dutch)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Dutch)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Dutch)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (German)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (German)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (German)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Russian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (Russian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations enable2fa.en.resx (Russian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Danish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Danish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations topmenu.en.resx (Danish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Danish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations localizable.strings (Danish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations storageinsights.en.resx (Danish)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Dutch)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Hungarian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Romanian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Romanian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Romanian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Italian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservicecard.en.resx (Italian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Italian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations strings.xml (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations totpviewer.en.resx (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservices.en.resx (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations strings.xml (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations mobilelogin.en.resx (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations fieldhistorymodal.en.resx (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations exportpasswordmodal.en.resx (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations usernamestep.en.resx (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations defaultpasswordsettings.en.resx (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservices.en.resx (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations strings.xml (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations mobilelogin.en.resx (Indonesian)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations importservices.en.resx (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (Chinese Simplified)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations en.json (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations emailpreview.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations addedit.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
* New translations storageinsights.en.resx (French)
[ci skip]
Update translations from Crowdin [ci skip]
2026-05-25 16:26:48 +02:00
Leendert de Borst
678eb52488
Update tests ( #2075 )
2026-05-25 16:23:54 +02:00
Leendert de Borst
70237e1352
Add arrow based keyboard navigation to browser extension ( #2075 )
2026-05-25 16:23:54 +02:00
Leendert de Borst
5c47a20378
Update deep link navigation ( #2073 )
2026-05-25 15:12:04 +02:00
Leendert de Borst
e7acc127e8
Add mobile app biometric/PIN authentication grace period
2026-05-25 15:12:04 +02:00