Commit Graph

366 Commits

Author SHA1 Message Date
Leendert de Borst
0785bd6d03 Fix email attachment open in mobile apps (#1841) 2026-03-19 18:27:30 +01:00
Leendert de Borst
4792c71c25 Add local password unlock rate limit to iOS and Android apps (#1824) 2026-03-08 13:22:32 +01:00
Leendert de Borst
8fc3708173 Fix password unlock error disappearing too quickly on Android (#1824) 2026-03-08 12:26:37 +01:00
Leendert de Borst
dbd86b2735 Update Android boot splash icon to be transparent (#1819) 2026-03-07 16:26:22 +01:00
Leendert de Borst
439a0bef42 Bump version to 0.28.0-alpha 2026-03-06 12:32:15 +01:00
Leendert de Borst
e0d05a840d New Crowdin updates (#1781)
* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (French)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Spanish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Catalan)
Update translations from Crowdin [ci skip]

* New translations strings.xml (German)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Finnish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Hebrew)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Italian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Dutch)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Polish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Russian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Swedish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Turkish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (French)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Spanish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Catalan)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (German)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Finnish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Hebrew)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Italian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Dutch)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Polish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Russian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Turkish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Persian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations strings.xml (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Danish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Czech)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Korean)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Czech)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Czech)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations strings.xml (French)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Dutch)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Czech)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Italian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Spanish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Catalan)
Update translations from Crowdin [ci skip]

* New translations strings.xml (German)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Finnish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Hebrew)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Polish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Russian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Swedish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Turkish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Spanish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (German)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Finnish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Hebrew)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Polish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Russian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Turkish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations strings.xml (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Danish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Swedish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Czech)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]
2026-03-06 12:18:23 +01:00
Leendert de Borst
b589e1eb68 Add sanity check to biometric unlock attempt and refactor vault unlock method logic (#1809) 2026-03-05 16:52:11 +01:00
Leendert de Borst
ff302067de Add password visibility toggle to native mobile app password unlock view (#1808) 2026-03-04 20:18:16 +01:00
Leendert de Borst
381fe65546 Add haptic feedback to mobile app primary actions for improved UX (#1802) 2026-03-02 14:32:44 +01:00
Leendert de Borst
181b90c4ac Fix build gradle version to ensure Android 16kb support 2026-02-26 18:21:45 +01:00
Leendert de Borst
5ce3ecf449 Update VaultStore.kt (#1782) 2026-02-25 17:08:57 +01:00
Leendert de Borst
fc564bf39f Bump app alpha versions (#1782) 2026-02-25 17:08:57 +01:00
Leendert de Borst
2308dfa641 Add isKeystoreAvailable checks to prevent errors when logging in without a device passcode set (#1782) 2026-02-25 17:08:57 +01:00
Leendert de Borst
5adcd10276 Mobile unlock doesn't work if only password unlock is enabled (#1780)
* Update ModalWrapper.tsx backdrop on Android to be full height (#1776)

* Add native Android password unlock flow (#1776)

* Add iOS native password unlock flow (#1776)

* Update unlock.tsx to call native password unlock flow (#1776)

* Improve authenticateUser flow (#1776)

* Update iOS param (#1776)

* Update unlock flow (#1776)

* Update NativeVaultManager.ts (#1776)

* Tweak unlock.tsx order (#1776)

* Update en.json (#1776)

* Update unlock view UI (#1776)

* Tweak reinitialize flow to work better with native unlock views (#1776)

* Replace react native password-confirm with new native password unlock views (#1776)

* Update Android lifecycle tracking to be more robust with introduction of more native activities (#1776)

* Refactor VaultStore.kt (#1776)

* Bump app alpha versions (#1776)

* Update build scripts (#1776)
2026-02-25 13:03:05 +01:00
Leendert de Borst
33f95832d9 Bump app alpha versions (#1776) 2026-02-25 11:06:23 +01:00
Leendert de Borst
7937175e27 New Crowdin updates (#1723)
* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Czech)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations en.json (Czech)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations totpviewer.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations emailrow.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations defaultpasswordsettings.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations passwordsettingspopup.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations activesessionssection.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations deleteaccountsection.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations recentauthlogssection.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations showrecoverycodes.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations footer.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations logout.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations setup.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations errorvaultdecrypt.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations vaultdecryptionprogress.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations en.json (Czech)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Czech)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Czech)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Czech)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Czech)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Czech)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Czech)
Update translations from Crowdin [ci skip]

* New translations en.json (Czech)
Update translations from Crowdin [ci skip]

* New translations en.json (Czech)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (French)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Spanish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Catalan)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (German)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Finnish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Hebrew)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Italian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Dutch)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Polish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Russian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Turkish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Persian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Danish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Korean)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Czech)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Spanish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Danish)
Update translations from Crowdin [ci skip]
2026-02-25 10:51:17 +01:00
Leendert de Borst
5ac01a1314 Refactor VaultStore.kt (#1776) 2026-02-25 10:29:03 +01:00
Leendert de Borst
0be3e4019d Update Android lifecycle tracking to be more robust with introduction of more native activities (#1776) 2026-02-25 10:09:21 +01:00
Leendert de Borst
6d140f6153 Replace react native password-confirm with new native password unlock views (#1776) 2026-02-25 01:12:06 +01:00
Leendert de Borst
917f781299 Tweak reinitialize flow to work better with native unlock views (#1776) 2026-02-25 00:50:39 +01:00
Leendert de Borst
2c24c5bb61 Update unlock view UI (#1776) 2026-02-25 00:40:05 +01:00
Leendert de Borst
b06c4174bb Update unlock flow (#1776) 2026-02-24 22:08:04 +01:00
Leendert de Borst
cb74b0571a Improve authenticateUser flow (#1776) 2026-02-24 21:33:00 +01:00
Leendert de Borst
28e448933d Add native Android password unlock flow (#1776) 2026-02-24 20:27:21 +01:00
Leendert de Borst
aab9356f80 Update build scripts to work location independent 2026-02-23 23:26:53 +01:00
Leendert de Borst
2f8b66271e Tweak mobile app vault sync indicator to only show syncing when downloading new vault (#1737) 2026-02-18 23:08:23 +01:00
Leendert de Borst
03b91ababa Tweak RPO recovery for browser extension and mobile app to prevent login errors with stale data (#1719) 2026-02-16 19:05:10 +01:00
Leendert de Borst
fa612dac3a New Crowdin updates (#1682)
* New translations changepassword.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations totpviewer.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations emailrow.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations defaultpasswordsettings.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations passwordsettingspopup.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations activesessionssection.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations deleteaccountsection.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations recentauthlogssection.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations showrecoverycodes.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations footer.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations logout.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations setup.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations errorvaultdecrypt.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations vaultdecryptionprogress.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Korean)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Korean)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Korean)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Korean)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Korean)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Korean)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations passwordconfirmationmodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]
2026-02-16 18:24:28 +01:00
Leendert de Borst
2959b77695 Improve mobile app error reporting to be more specific for login/unlock sequence (#1698) 2026-02-14 17:07:38 +01:00
Leendert de Borst
d3e641c6e9 Update Android passkey replace flow (#1685) 2026-02-12 20:46:51 +01:00
Leendert de Borst
5589ca66e6 Add danish language to all apps (#1677) 2026-02-11 22:02:01 +01:00
Leendert de Borst
7ef18dfe1b New Crowdin updates (#1671)
* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations totpviewer.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations emailrow.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations defaultpasswordsettings.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations passwordsettingspopup.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations activesessionssection.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations deleteaccountsection.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations recentauthlogssection.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations showrecoverycodes.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations footer.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations logout.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations setup.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations errorvaultdecrypt.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations vaultdecryptionprogress.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Danish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Danish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Danish)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Danish)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Danish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Danish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Danish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Danish)
Update translations from Crowdin [ci skip]

* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Danish)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Danish)
Update translations from Crowdin [ci skip]
2026-02-11 21:36:24 +01:00
Leendert de Borst
fbb359c18d New Crowdin updates (#1579)
* New translations quickvaultunlocksection.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations recentauthlogssection.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations showrecoverycodes.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations footer.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations logout.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations setup.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations errorvaultdecrypt.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations vaultdecryptionprogress.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations strings.xml (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations totpviewer.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations emailrow.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations defaultpasswordsettings.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations passwordsettingspopup.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations activesessionssection.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations deleteaccountsection.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations recentauthlogssection.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations showrecoverycodes.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations footer.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations logout.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations setup.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations errorvaultdecrypt.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations vaultdecryptionprogress.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Russian)
Update translations from Crowdin [ci skip]
2026-02-09 13:54:59 +01:00
Leendert de Borst
5d7af1d123 Add Swedish language option to all apps (#1653) 2026-02-07 20:38:54 +01:00
Leendert de Borst
41aa5e9610 Tweak iOS and Android password unlock flow to not let incorrect passwords overwrite persisted encryption key 2026-02-05 12:47:35 +01:00
Leendert de Borst
bf1154962e Tweak browser extension and mobile app unlock wrong password error 2026-02-05 10:49:04 +01:00
Leendert de Borst
b6c9d3d40a Add ignore_port option to Rust credential matcher for Android specifically (#1625) 2026-02-04 20:43:14 +00:00
Leendert de Borst
2a95c09388 Add AppErrorCodes handling to mobile apps (#1619) 2026-02-04 16:13:37 +00:00
Leendert de Borst
16f44a6f00 Fix Android attachment upload base64 encode handling (#1586) 2026-02-02 22:14:40 +00:00
Leendert de Borst
fecede2b9d Update datamodel upgrade logic for Android to fix transaction and pragma conflicts (#1576) 2026-02-01 15:11:20 +00:00
Leendert de Borst
13f9c24ee8 Update Android Passkey create flow to support deduplicated logo storage (#1574) 2026-02-01 14:39:32 +00:00
Leendert de Borst
452359978a New Crowdin updates (#1561)
* New translations login.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Spanish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Finnish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Hebrew)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Italian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Turkish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations passwordstep.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations usernamestep.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations totpviewer.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations emailrow.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations defaultpasswordsettings.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations passwordsettingspopup.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations activesessionssection.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations deleteaccountsection.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations recentauthlogssection.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations showrecoverycodes.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations searchwidget.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations footer.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations topmenu.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations logout.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations setup.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations errorvaultdecrypt.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations vaultdecryptionprogress.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Persian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Persian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Persian)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Persian)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (French)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations setup.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (German)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations creating.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (French)
Update translations from Crowdin [ci skip]

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]

* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]

* New translations en.json (German)
Update translations from Crowdin [ci skip]

* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Hebrew)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
Update translations from Crowdin [ci skip]

* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]

* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Catalan)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Catalan)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Catalan)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Catalan)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Persian)
Update translations from Crowdin [ci skip]
2026-02-01 13:15:54 +01:00
Leendert de Borst
749980f58f Update Android unlock flow to support both biometrics and pin fallback (#1562) 2026-01-31 20:25:41 +00:00
Leendert de Borst
d4d2a99b9c Update AndroidKeystoreProvider.kt (#1562) 2026-01-31 20:25:41 +00:00
Leendert de Borst
28b40a2266 Merge pull request #1549 from aliasvault/1548-add-support-to-block-specific-unsupported-client-versions-in-server-api
Add support to block specific unsupported client versions in server API
2026-01-31 16:18:42 +00:00
Leendert de Borst
79d7396f33 New Crowdin updates (#1544)
* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordsettingspopup.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccountsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations clipboardcountdownbar.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations termsandconditionsstep.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations activesessionssection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations passwordchangesection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations quickvaultunlocksection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations twofactorauthenticationsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations forgotpassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations changepassword.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations setup.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations start.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apps.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations general.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations security.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations sync.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations login.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations welcome.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations apierrors.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deleteaccount.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations enable2fa.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations disable2fa.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations infoplist.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations pendingmigrations.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobileunlockmodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations mobilelogin.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Romanian)
Update translations from Crowdin [ci skip]
2026-01-31 16:59:27 +01:00
Leendert de Borst
ed6a8e5a15 Tweak mobile app and browser extension clientSupported check to show proper error (#1548) 2026-01-31 16:33:10 +01:00
Leendert de Borst
c2177d0c8d Fix notes content migration key (#1539) 2026-01-30 23:38:16 +00:00
Leendert de Borst
3d9312d12d Fix 1.7.0 migration by disabling foreign key constraint check during TOTP and passkey migration (#1539) 2026-01-30 23:38:16 +00:00
Leendert de Borst
f9d4b611ff New Crowdin updates (#1528)
* New translations unlock.en.resx (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations createnewidentitywidget.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations sharedresources.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations importservicecard.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations importservices.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations register.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations totpcodes.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations totpviewer.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations emailmodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations emailpreview.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations emailrow.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations recentemails.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations emaildomainfield.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations delete.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations view.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations resetvault.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Russian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Russian)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations foldermodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations editablefieldlabel.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations addfieldmenu.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations recentlydeleted.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations fieldhistorymodal.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations addedit.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations en.json (Russian)
Update translations from Crowdin [ci skip]

* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]

* New translations resetvaultsection.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]

* New translations fieldblock.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations itemtypeselector.en.resx (Swedish)
Update translations from Crowdin [ci skip]

* New translations importexport.en.resx (Russian)
Update translations from Crowdin [ci skip]
2026-01-30 23:52:17 +01:00