Commit Graph

317 Commits

Author SHA1 Message Date
Leendert de Borst
ef245b2566 Add mobile app export import unit test (#1103) 2025-09-12 22:33:47 +02:00
Leendert de Borst
e52cd927a5 Update ResponsivePaginator.razor to take up less space (#1200) 2025-09-11 19:56:45 +02:00
Leendert de Borst
582f7c2ebc Add task runner tests for user active/inactive email cleanup task (#1200) 2025-09-11 19:56:45 +02:00
Leendert de Borst
ce5e5df644 Enable information logging for admin, smtp and task runner services (#1200) 2025-09-11 19:56:45 +02:00
Leendert de Borst
6a2e663c57 Update server settings UI (#1200) 2025-09-11 19:56:45 +02:00
Leendert de Borst
f6adb93518 Remove number of emails received from user listing page (#1200) 2025-09-11 19:56:45 +02:00
Leendert de Borst
077a4fb3ee Add user last active day tracking and email cleanup task (#1200) 2025-09-11 19:56:45 +02:00
Leendert de Borst
949b51defd Add password visibility toggle to client login and unlock pages (#1169) 2025-09-11 17:37:40 +02:00
Leendert de Borst
55cb24be68 Update browser extension folder structure (#1197) 2025-09-11 14:48:20 +02:00
Leendert de Borst
8efc021bd7 Make whole email row clickable in RecentEmails.razor (#1195) 2025-09-11 11:21:06 +02:00
Leendert de Borst
b649bdeb2e Update login page UI to show footer with app version (#1193) 2025-09-11 11:11:20 +02:00
Leendert de Borst
af4ca2e018 Hide language switcher in registration flow on small screens (#1191) 2025-09-11 10:02:31 +02:00
Leendert de Borst
65c1a60447 Add filewatcher to reverse-proxy container to restart when SSL cert is updated (#635) 2025-09-09 14:29:06 +02:00
Leendert de Borst
e010f0f57b Update ImportServices.en.resx 2025-09-08 11:24:34 +02:00
Leendert de Borst
c89afa613f Add annotations (#1179) 2025-09-04 15:37:26 +02:00
Leendert de Borst
8797b3b360 Add opencontainer labels to Dockerfile (#1179) 2025-09-04 15:37:26 +02:00
Leendert de Borst
a3552471af Refactor (#1173) 2025-09-03 15:57:53 +02:00
Leendert de Borst
fb9c2e1494 Update copyright header (#1171) 2025-09-03 14:59:14 +02:00
Leendert de Borst
d9a8e671a1 Update all repo URLS to point to new aliasvault organization (#1171) 2025-09-03 14:59:14 +02:00
Leendert de Borst
f9a9cb83c4 Update AllTimeStats.razor (#1167) 2025-09-03 09:07:44 +02:00
Leendert de Borst
3eae4b478f Make admin UI more responsive for mobile devices, update paginator (#1167) 2025-09-03 09:07:44 +02:00
Leendert de Borst
c73e3a489c Logging cleanup 2025-09-02 09:13:46 +02:00
Leendert de Borst
c24671ffb1 Bump version to 0.22.0 (#1163) 2025-09-01 16:56:53 +02:00
Leendert de Borst
15dc89ac07 New Crowdin updates (#1162)
* New translations general.en.resx (Dutch)
Update translations from Crowdin [ci skip]

* New translations en.json (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 (Italian)
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 (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]

* Update source file en.json
Update translations from Crowdin [ci skip]

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

* New translations en.json (Finnish)
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 login.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]

* New translations validationmessages.en.resx (Chinese Simplified)
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 en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]
2025-09-01 11:45:57 +02:00
Leendert de Borst
cc873fd483 New Crowdin updates (#1152)
* New translations vaultdecryptionprogress.en.resx (Turkish)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations validationmessages.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 (Italian)
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 (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 resetvault.en.resx (Catalan)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations infoplist.strings (Chinese Simplified)
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 (Italian)
Update translations from Crowdin [ci skip]

* New translations strings.xml (Dutch)
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 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 (Italian)
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]

* Refactor LanguageService.cs (#1079)

* Add new languages to apps (#1079)

* Update LanguageService.cs (#1079)

* Add language config to both AliasVault and Autofill targets for iOS (#1079)

* Update Program.cs to read available languages from LanguageService.cs (#1079)

* Add finnish language to all apps (#1079)

* Add german language (#1079)

* New translations en.json (German)
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 login.en.resx (French)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations validationmessages.en.resx (German)
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 passwordstep.en.resx (German)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

* New translations validationmessages.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 en.json (German)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations deleteaccount.en.resx (German)
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 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 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 (Italian)
Update translations from Crowdin [ci skip]

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

* New translations sharedresources.en.resx (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]

* Update source file SharedResources.en.resx
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

* New translations strings.xml (German)
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 (Italian)
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 (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]

* Update source file en.json
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 en.json (Finnish)
Update translations from Crowdin [ci skip]

* New translations en.json (Italian)
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 login.en.resx (Italian)
Update translations from Crowdin [ci skip]

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

* New translations validationmessages.en.resx (Italian)
Update translations from Crowdin [ci skip]
2025-08-31 17:13:40 +02:00
Leendert de Borst
4d66ea9694 Make refresh button spin counter clockwise (#1155) 2025-08-29 00:10:38 +02:00
Leendert de Borst
1cf28c43fb Add missing translations in web app (#1155) 2025-08-29 00:10:38 +02:00
Leendert de Borst
6a75e56123 Refactor client form model validation messages and add missing translations (#1153) 2025-08-28 13:19:28 +02:00
Leendert de Borst
ef72abceb4 Add missing translations for login and other client forms (#1153) 2025-08-28 13:19:28 +02:00
Leendert de Borst
9fda76a5ff Use sequential builds (#1148) 2025-08-27 23:15:21 +02:00
Leendert de Borst
2c3d2379ee Improve private email domain documentation in apps (#1150) 2025-08-27 16:40:22 +02:00
Leendert de Borst
70ed03e1b3 Update BaseImporter.cs (#1146) 2025-08-26 23:42:00 +02:00
Leendert de Borst
bf1a235dd2 Refactor (#1146) 2025-08-26 23:42:00 +02:00
Leendert de Borst
2bb7f0a742 Update Delete.razor margins (#1146) 2025-08-26 23:42:00 +02:00
Leendert de Borst
8cd5118749 Update KeePassImporter.cs (#1146) 2025-08-26 23:42:00 +02:00
Leendert de Borst
2fccb162e6 Add custom decoder support for importers (#1146) 2025-08-26 23:42:00 +02:00
Leendert de Borst
ad3c0323b9 Make CSV import more robust by handling special char decoding (#1146) 2025-08-26 23:42:00 +02:00
Leendert de Borst
fe617fc024 Update admin topmenu bg color and user icon style (#1140) 2025-08-25 12:43:49 +02:00
Leendert de Borst
fb002e54b7 Add top users by credentials to admin all time stats (#1136) 2025-08-24 14:30:50 +02:00
Leendert de Borst
666b3ccada Update email domain active entry styling (#1129) 2025-08-22 10:51:37 +02:00
Leendert de Borst
f913d84557 Add email field domain chooser to browser extension (#1129) 2025-08-21 17:22:11 +02:00
Leendert de Borst
82458f74e3 Update user avatar style on unlock page (#1122) 2025-08-19 15:58:45 +02:00
Leendert de Borst
71633b166e Remove unused translations (#881) 2025-08-19 14:57:40 +02:00
Leendert de Borst
3305958e60 Tweak clipboard clear for various usecases and make it more robust (#881) 2025-08-19 14:57:40 +02:00
Leendert de Borst
4ae1f6ec35 Add clipboard clear delay in seconds setting (#881) 2025-08-19 14:57:40 +02:00
Leendert de Borst
4498833b4e Add clipboard countdown bar component (#881) 2025-08-19 14:57:40 +02:00
Leendert de Borst
cbbfe1c611 Only convert service URL to anchor tag if it starts with http/https (#1120) 2025-08-15 15:19:07 +02:00
Leendert de Borst
03faee8d3a Cleanup unused translations 2025-08-14 18:26:07 +02:00
Leendert de Borst
65413c7ab7 Add SrpSalt to API status endpoint response (#1118) 2025-08-14 18:18:43 +02:00
Leendert de Borst
290e5329f8 Revoke user sessions during vault restore by admin (#1118) 2025-08-14 18:18:43 +02:00