Commit Graph

818 Commits

Author SHA1 Message Date
Leendert de Borst
5be63dd71d Update tests (#1940) 2026-04-19 22:06:30 +02:00
Leendert de Borst
1fec6f4a5b Add account registration limit per 24 hours setting (#1940) 2026-04-19 22:06:30 +02:00
Leendert de Borst
e7251775eb Remove browser extension autofill disable flag for admin panel (#1935) 2026-04-19 11:56:20 +02:00
Leendert de Borst
e6e4dbb6d6 Add unique app instance ID for Android (#1930) 2026-04-19 11:04:04 +02:00
Arnaud Dartois
6b75ccd2d1 (feat) implement reject rcp to for external domain (#1910)
* (feat) : Add RCPT-stage domain rejection to reduce SMTP open-relay false positives

* (docs) add comments in .env

* (tests) add unit tests for RCPT TO

* (docs) : update installation documentation with information about  RCPT TO process.

* (docs) : add missing header parameter

* error SA1508: A closing brace should not be preceded by a blank line

* (fix) SA1615 - fix stylecop rules

* Fix TU

* revert

* revert

* revert
2026-04-18 20:56:52 +02:00
dependabot[bot]
9cc3e4f49a Bump the nuget group with 1 update
Bumps MailKit from 4.15.1 to 4.16.0

---
updated-dependencies:
- dependency-name: MailKit
  dependency-version: 4.16.0
  dependency-type: direct:production
  dependency-group: nuget
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-18 08:45:19 +02:00
Leendert de Borst
172613fab3 Add application/octect-stream as general filetype to support import custom extensions in mobile (#1923) 2026-04-17 15:23:28 +02:00
Leendert de Borst
cc52b5edf9 Update email domain chooser style in AliasVault.Client 2026-04-17 12:17:05 +02:00
Leendert de Borst
84042eeba0 Update NuGet packages (#1913) 2026-04-15 18:58:13 +02:00
Leendert de Borst
fe8d3c9b9a Update dotnet NuGet packages from 10.0.2 to 10.0.6 (#1913) 2026-04-15 18:58:13 +02:00
Leendert de Borst
c6c0806dcf New Crowdin updates (#1902)
* New translations en.json (Danish)
Update translations from Crowdin [ci skip]

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

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

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

* New translations en.json (Polish)
Update translations from Crowdin [ci skip]
2026-04-13 21:14:27 +02:00
Arnaud Dartois
ce96b2e85a Add option to configure SMTP advertised hostname for self-hosted setups (#1877)
* feat(smtp): make advertised hostname configurable for PTR/banner alignment

* test(integration): align SMTP TestHostBuilder with AdvertisedHostnameConfiguration and IConfiguration

* test(import): expect Dashlane notes newline per Environment.NewLine

* docs: document SMTP advertised hostname and PTR/banner alignment

* restore original .vscode folder content

* Use env-only SMTP advertised hostname in tests and service

* revert

* remove unused reference

* remove unused methods

* Use aliasvault when SMTP advertised hostname is empty

* Update SMTP advertised hostname docs

* Update install.sh SMTP advertised hostname prompt

* Update .env.example

* Update docs

---------

Co-authored-by: Arnaud Dartois <opensource.fork@tordais.cc>
Co-authored-by: Leendert de Borst <ldeborst@xivisoft.com>
2026-04-13 14:03:54 +02:00
Leendert de Borst
89da85d635 Bump target version to 0.29.0-alpha 2026-04-12 13:02:15 +02:00
Leendert de Borst
5b1791ef55 New translations setup.en.resx (German) (#1901)
Update translations from Crowdin [ci skip]
2026-04-11 20:11:51 +02:00
Leendert de Borst
d47d5d0f2c New Crowdin updates (#1887)
* 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 home.en.resx (French)
Update translations from Crowdin [ci skip]

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

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

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

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

* New translations home.en.resx (Polish)
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 home.en.resx (Turkish)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

* New translations deletefoldermodal.en.resx (Polish)
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 deletefoldermodal.en.resx (Turkish)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations home.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 (Bulgarian)
Update translations from Crowdin [ci skip]

* New translations deletefoldermodal.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 home.en.resx (Bulgarian)
Update translations from Crowdin [ci skip]

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

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

* New translations folderselector.en.resx (Bulgarian)
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 deletefoldermodal.en.resx (Danish)
Update translations from Crowdin [ci skip]

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

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

* New translations home.en.resx (Korean)
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 deletefoldermodal.en.resx (Korean)
Update translations from Crowdin [ci skip]

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

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

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

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

* New translations folderselector.en.resx (Czech)
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 deletefoldermodal.en.resx (Dutch)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations folderselector.en.resx (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 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 (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 importservicecard.en.resx (Dutch)
Update translations from Crowdin [ci skip]

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

* New translations importexport.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 deletefoldermodal.en.resx (Russian)
Update translations from Crowdin [ci skip]

* New translations folderselector.en.resx (Russian)
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 (Persian)
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 en.json (Bulgarian)
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 (Danish)
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 en.json (Czech)
Update translations from Crowdin [ci skip]

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

* New translations exportpasswordmodal.en.resx (Dutch)
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 home.en.resx (Russian)
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 (Romanian)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

* New translations folderselector.en.resx (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 (Polish)
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 (Portuguese, Brazilian)
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 (Polish)
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 (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

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

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

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

* New translations home.en.resx (Portuguese, Brazilian)
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 (Polish)
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 (Portuguese, Brazilian)
Update translations from Crowdin [ci skip]

* New translations home.en.resx (Danish)
Update translations from Crowdin [ci skip]
2026-04-11 17:18:28 +02:00
Leendert de Borst
a0fd7b5ed1 Fix bug in web app emails page responsive pager not switching pages (#1894) 2026-04-10 15:14:08 +02:00
Leendert de Borst
fd52b71c36 Update KeepassXC import test (#1885) 2026-04-09 21:44:26 +02:00
Leendert de Borst
ac4f27c65c Merge pull request #1874 from aliasvault/1695-feature-request-folders-inside-folder-subfolders
Add subfolder support to all apps
2026-04-08 23:30:18 +02:00
Leendert de Borst
0007f047e1 New Crowdin updates (#1875)
* 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 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 (Urdu (Pakistan))
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 (Bulgarian)
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 en.json (Korean)
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 (Czech)
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 (French)
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 delete.en.resx (German)
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 infoplist.strings (German)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.json (German)
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]
2026-04-08 23:14:43 +02:00
Leendert de Borst
ca6b02423e Update mobile app CSV export structure (#1695) 2026-04-08 22:44:50 +02:00
Leendert de Borst
161442a407 Update translations (#1695) 2026-04-08 21:57:09 +02:00
Leendert de Borst
efd918fc82 Merge branch 'main' into 1695-feature-request-folders-inside-folder-subfolders
* main:
  Bump addressable in /docs in the bundler group across 1 directory
  Fix iOS app build on Xcode 26.4
  Bump the npm_and_yarn group across 3 directories with 1 update
  Bump vite in /core/vault in the npm_and_yarn group across 1 directory
  Bump lodash
  Bump defu
  Add more auto-lock timeout options to browser extension and mobile app (#1871)
  Bump @xmldom/xmldom
  Bump brace-expansion
  Bump the npm_and_yarn group across 2 directories with 1 update
  New Crowdin updates (#1828)
  Bump the npm_and_yarn group across 3 directories with 2 updates
  Bump the npm_and_yarn group across 6 directories with 1 update
  Bump activesupport in /docs in the bundler group across 1 directory
  fix: guard against undefined credentials.create/get in WebAuthn override (fixes #1854)
2026-04-08 21:19:38 +02:00
Leendert de Borst
b528678900 Update recursive folder delete logic (#1695) 2026-04-01 12:35:32 +02:00
Leendert de Borst
3f1c64ef81 Update importTests.cs (#1695) 2026-04-01 12:01:06 +02:00
Leendert de Borst
aff975fcbf Update search result UI to include folder path (#1695) 2026-04-01 11:47:28 +02:00
Leendert de Borst
2cdbfb1c28 Tweak breadcrumb UX to include full folder paths for more usecases (#1695) 2026-04-01 09:26:05 +02:00
Leendert de Borst
ec7fc4d0c8 Show subfolders in all item breadcrumb paths (#1695) 2026-03-31 09:16:40 +02:00
Leendert de Borst
ce4f3a3acd Update FolderSelector to show folders in tree view UI (#1695) 2026-03-31 08:44:35 +02:00
Leendert de Borst
60fe8e9bdb Add FolderTreeUtilitie.cs helper (#1695) 2026-03-29 11:57:18 +02:00
Leendert de Borst
cca7fd416e Update FolderService.cs (#1695) 2026-03-29 11:54:39 +02:00
Leendert de Borst
164dac6ea6 Add folder hierarchy scaffolding to avux export/import (#1695) 2026-03-28 07:14:20 +01:00
Leendert de Borst
17554ebc3b Update e2e tests (#1695) 2026-03-28 07:13:27 +01:00
Leendert de Borst
3d1463e43b Add subfolder support to import logic, update tests (#1695) 2026-03-28 06:47:17 +01:00
Leendert de Borst
0fc4181c95 New Crowdin updates (#1828)
* 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 strings.xml (Urdu (Pakistan))
Update translations from Crowdin [ci skip]

* New translations localizable.strings (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 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 localizable.strings (Korean)
Update translations from Crowdin [ci skip]

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

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

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

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

* New translations localizable.strings (French)
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 strings.xml (Romanian)
Update translations from Crowdin [ci skip]

* New translations localizable.strings (Romanian)
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 localizable.strings (Russian)
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 localizable.strings (Chinese Simplified)
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 (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 (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 passwordstep.en.resx (French)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations exportpasswordmodal.en.resx (Romanian)
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 importexport.en.resx (Danish)
Update translations from Crowdin [ci skip]

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

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

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

* New translations exportpasswordmodal.en.resx (Danish)
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 importexport.en.resx (Russian)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

* New translations exportpasswordmodal.en.resx (Italian)
Update translations from Crowdin [ci skip]
2026-03-27 07:08:57 +01:00
dependabot[bot]
415bd5496e Bump the npm_and_yarn group across 3 directories with 2 updates
Bumps the npm_and_yarn group with 1 update in the /apps/mobile-app directory: [yaml](https://github.com/eemeli/yaml).
Bumps the npm_and_yarn group with 2 updates in the /apps/server/AliasVault.Admin directory: [picomatch](https://github.com/micromatch/picomatch) and [yaml](https://github.com/eemeli/yaml).
Bumps the npm_and_yarn group with 2 updates in the /apps/server/AliasVault.Client directory: [picomatch](https://github.com/micromatch/picomatch) and [yaml](https://github.com/eemeli/yaml).


Updates `yaml` from 2.8.2 to 2.8.3
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.8.2...v2.8.3)

Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

Updates `yaml` from 2.4.3 to 2.8.3
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.8.2...v2.8.3)

Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2)

Updates `yaml` from 2.4.3 to 2.8.3
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](https://github.com/eemeli/yaml/compare/v2.8.2...v2.8.3)

---
updated-dependencies:
- dependency-name: yaml
  dependency-version: 2.8.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: yaml
  dependency-version: 2.8.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: yaml
  dependency-version: 2.8.3
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-26 15:46:18 +01:00
Leendert de Borst
cc71917f5e Add browser extension UI scaffolding for subfolders (#1695) 2026-03-21 15:51:06 +01:00
Leendert de Borst
367648e07e Update avux export/import tests (#773) 2026-03-19 10:13:59 +01:00
Leendert de Borst
45fd26ead5 Refactor (#773) 2026-03-18 18:48:52 +01:00
Leendert de Borst
2d1fe6ab14 Update translations (#773) 2026-03-18 10:23:24 +01:00
Leendert de Borst
2a9bba79da Add TOTP urldecode on import (#773) 2026-03-18 10:03:57 +01:00
Leendert de Borst
4ddd5512aa Refactor ProcessFile callback (#773) 2026-03-18 10:03:25 +01:00
Leendert de Borst
5f3b6b8a10 Update ChangePassword.razor (#773) 2026-03-17 10:22:07 +01:00
Leendert de Borst
d74bb924cb Use shared ValidationMessages.en.resx (#773) 2026-03-17 10:17:58 +01:00
Leendert de Borst
53cb7c4961 Update change password form validation UI (#773) 2026-03-17 10:10:25 +01:00
Leendert de Borst
9be1aec43f Update tests (#773) 2026-03-16 22:23:29 +01:00
Leendert de Borst
4cc5728c27 Add password visibility toggles (#773) 2026-03-16 21:58:49 +01:00
Leendert de Borst
115325d9f5 Update CSV export structure and update .avex import logic (#773) 2026-03-16 18:43:45 +01:00
Leendert de Borst
062b3a8b5c Refactor all importers function signatures (#773) 2026-03-16 18:24:04 +01:00
Leendert de Borst
a3427fb195 Update translations (#773) 2026-03-16 18:12:28 +01:00
Leendert de Borst
a8855c4e1d Update ImportExport.razor (#773) 2026-03-16 17:33:54 +01:00