Commit Graph

823 Commits

Author SHA1 Message Date
Leendert de Borst
97715e160d Update en.json (#1695) 2026-03-28 06:02:59 +01:00
Leendert de Borst
aa5e5fd187 Add search filter reset to logo header click (#1695) 2026-03-28 05:52:09 +01:00
Leendert de Borst
a7cc62dc71 Update search result display when searching inside subfolders (#1695) 2026-03-27 08:38:06 +01:00
Leendert de Borst
3c36917a5a Update folder delete logic and redirect for subdirs (#1695) 2026-03-26 22:08:48 +01:00
Leendert de Borst
c2bafb4009 Refactor to separate SQL queries from repository files (#1695) 2026-03-26 08:21:31 +01:00
Leendert de Borst
dbc25fdfe3 Update ItemAddEdit.tsx (#1695) 2026-03-26 08:19:14 +01:00
Leendert de Borst
98f31cc5af Update folder count and delete queries to include subfolder contents (#1695) 2026-03-25 10:37:39 +01:00
Leendert de Borst
012a5c195f Tweak folder breadcrumb history navigation stack (#1695) 2026-03-25 10:02:16 +01:00
Leendert de Borst
c919e72178 Refactor browser extension setting pages back button titles and header titles (#1695) 2026-03-24 11:14:33 +01:00
Leendert de Borst
6e30bc424a Tweak browser extension back button to be subfolder aware (#1695) 2026-03-24 10:56:26 +01:00
Leendert de Borst
6239ee5569 Hide breadcrumb path for items without folder (#1695) 2026-03-24 10:27:04 +01:00
Leendert de Borst
6859267374 Update folder breadcrumb UI, show folder breadcrumb in item details page (#1695) 2026-03-23 07:08:12 +01:00
Leendert de Borst
8a45a44e22 Add max folder depth restriction of 4 entries (#1695) 2026-03-23 06:44:20 +01:00
Leendert de Borst
435c5fb4a6 Tweak folder selection tree view to expand items up to currently selected entry (#1695) 2026-03-22 08:32:51 +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
2ad6e7dc4a Add sanity check to prevent webauthn init errors in browser extension (#1854) 2026-03-21 14:26:37 +01:00
dependabot[bot]
5c974932bd Bump the npm_and_yarn group across 6 directories with 1 update
Bumps the npm_and_yarn group with 1 update in the /apps/browser-extension directory: [flatted](https://github.com/WebReflection/flatted).
Bumps the npm_and_yarn group with 1 update in the /apps/mobile-app directory: [flatted](https://github.com/WebReflection/flatted).
Bumps the npm_and_yarn group with 1 update in the /core/models directory: [flatted](https://github.com/WebReflection/flatted).
Bumps the npm_and_yarn group with 1 update in the /core/typescript/identity-generator directory: [flatted](https://github.com/WebReflection/flatted).
Bumps the npm_and_yarn group with 1 update in the /core/typescript/password-generator directory: [flatted](https://github.com/WebReflection/flatted).
Bumps the npm_and_yarn group with 1 update in the /core/vault directory: [flatted](https://github.com/WebReflection/flatted).


Updates `flatted` from 3.3.3 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

Updates `flatted` from 3.3.3 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

Updates `flatted` from 3.3.3 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

Updates `flatted` from 3.3.3 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

Updates `flatted` from 3.3.3 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

Updates `flatted` from 3.3.3 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 13:19:00 +01:00
Leendert de Borst
f3daf51657 Update tests (#1848) 2026-03-19 18:27:56 +01:00
Leendert de Borst
0e0818c192 Update TOTP field detection in browser extension, cleanup tests (#1848) 2026-03-19 18:27:56 +01:00
Leendert de Borst
ef05369b74 Prevent keyboard shortcuts from firing when interacting with autofill popup (#1832) 2026-03-10 12:22:02 +01:00
Leendert de Borst
93c0e35cd0 Auto-disable email alias when item is deleted in browser extension (#1830) 2026-03-10 11:27:20 +01:00
Leendert de Borst
8cf06a5970 Add local password unlock rate limit to browser extension (#1824) 2026-03-08 13:44:16 +01:00
Leendert de Borst
eb1f4e492b Update FormDetector.ts (#1821) 2026-03-07 16:48:13 +01:00
Leendert de Borst
05d438eb97 Update FormDetector.ts 2026-03-06 21:48:15 +01:00
Leendert de Borst
439a0bef42 Bump version to 0.28.0-alpha 2026-03-06 12:32:15 +01:00
Leendert de Borst
e0d05a840d New Crowdin updates (#1781)
* New translations en.json (French)
Update translations from Crowdin [ci skip]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]
2026-03-06 12:18:23 +01:00
dependabot[bot]
1c9c3d0e7a Bump the npm_and_yarn group across 2 directories with 2 updates
Bumps the npm_and_yarn group with 1 update in the /apps/browser-extension directory: [dompurify](https://github.com/cure53/DOMPurify).
Bumps the npm_and_yarn group with 1 update in the /apps/mobile-app directory: [tar](https://github.com/isaacs/node-tar).


Updates `dompurify` from 3.3.1 to 3.3.2
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.3.1...3.3.2)

Updates `tar` from 7.5.9 to 7.5.10
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.9...v7.5.10)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.3.2
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: tar
  dependency-version: 7.5.10
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 16:14:09 +01:00
Leendert de Borst
68f92b6ee8 Update formDetector tests (#1788) 2026-03-03 14:20:45 +01:00
Leendert de Borst
b4e070d448 Merge branch 'main' of https://github.com/aliasvault/aliasvault
* 'main' of https://github.com/aliasvault/aliasvault:
  Make browser extension passkey auth flow look at full domain including subdomain (#1806)
2026-03-03 14:20:29 +01:00
Leendert de Borst
e6fe4bc868 Add common translations for username, password and email fields to browser extension formDetector logic (#1788) 2026-03-03 14:20:22 +01:00
Leendert de Borst
7d90798c01 Make browser extension passkey auth flow look at full domain including subdomain (#1806) 2026-03-03 14:16:01 +01:00
Leendert de Borst
4c3d206d64 Improve formDetector to exclude hidden/fake fields (#1788) 2026-03-03 14:13:03 +01:00
Leendert de Borst
61725321f2 Update TOTP autofill field detection in browser extension with more testcases (#1788) 2026-03-03 11:41:18 +01:00
Leendert de Borst
ce0db8641f Update browser extension item addedit back navigation flow (#1804) 2026-03-02 20:54:00 +01:00
Leendert de Borst
608da07bc4 Tweak browser extension sync queue 2026-03-01 19:58:09 +01:00
Leendert de Borst
dcc2d6f93f Make browser extension save prompt survive automatic page redirects after login (#1795) 2026-02-28 21:44:38 +01:00
Leendert de Borst
7fd33ac2f4 Add more tests and update logic (#1788) 2026-02-28 20:38:49 +01:00
Leendert de Borst
0d0b25baa6 Add 2FA TOTP test for false-positive email code confirm being recognized as 2FA (#1788) 2026-02-28 20:38:49 +01:00
Leendert de Borst
5dae249efc Add more 2FA formdetector tests and update detection logic (#1788) 2026-02-28 20:38:49 +01:00
Leendert de Borst
5a63ea7803 Add new tests for TOTP formDetector (#1788) 2026-02-28 20:38:49 +01:00
dependabot[bot]
e1ce548199 Bump minimatch
Bumps the npm_and_yarn group with 1 update in the /apps/browser-extension directory: [minimatch](https://github.com/isaacs/minimatch).


Updates `minimatch` from 3.1.2 to 3.1.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 10:48:59 +01:00
dependabot[bot]
de4cb43405 Bump the npm_and_yarn group across 5 directories with 1 update
Bumps the npm_and_yarn group with 1 update in the /apps/browser-extension directory: [rollup](https://github.com/rollup/rollup).
Bumps the npm_and_yarn group with 1 update in the /core/models directory: [rollup](https://github.com/rollup/rollup).
Bumps the npm_and_yarn group with 1 update in the /core/typescript/identity-generator directory: [rollup](https://github.com/rollup/rollup).
Bumps the npm_and_yarn group with 1 update in the /core/typescript/password-generator directory: [rollup](https://github.com/rollup/rollup).
Bumps the npm_and_yarn group with 1 update in the /core/vault directory: [rollup](https://github.com/rollup/rollup).


Updates `rollup` from 4.40.2 to 4.59.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.40.2...v4.59.0)

Updates `rollup` from 4.40.1 to 4.59.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.40.2...v4.59.0)

Updates `rollup` from 4.40.1 to 4.59.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.40.2...v4.59.0)

Updates `rollup` from 4.40.1 to 4.59.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.40.2...v4.59.0)

Updates `rollup` from 4.44.0 to 4.59.0
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.40.2...v4.59.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-26 19:24:22 +01:00
Leendert de Borst
449c340167 Update browser extension default settings 2026-02-26 10:43:10 +01:00
Leendert de Borst
9378831ab9 Enable "save login to aliasvault" prompt in browser extension by default (#1784) 2026-02-25 20:08:12 +01:00
Leendert de Borst
a79bc8e020 Move alarm handler to top-level scope to improve reliability 2026-02-25 17:11:36 +01:00
Leendert de Borst
fc564bf39f Bump app alpha versions (#1782) 2026-02-25 17:08:57 +01:00
Leendert de Borst
5adcd10276 Mobile unlock doesn't work if only password unlock is enabled (#1780)
* Update ModalWrapper.tsx backdrop on Android to be full height (#1776)

* Add native Android password unlock flow (#1776)

* Add iOS native password unlock flow (#1776)

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

* Improve authenticateUser flow (#1776)

* Update iOS param (#1776)

* Update unlock flow (#1776)

* Update NativeVaultManager.ts (#1776)

* Tweak unlock.tsx order (#1776)

* Update en.json (#1776)

* Update unlock view UI (#1776)

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

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

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

* Refactor VaultStore.kt (#1776)

* Bump app alpha versions (#1776)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* New translations localizable.strings (Danish)
Update translations from Crowdin [ci skip]
2026-02-25 10:51:17 +01:00