Leendert de Borst
f39e761634
Remove Blazor.WebAssembly.DynamicCulture in favor of .net 10 built-in multi locale
2026-02-11 23:42:40 +01:00
Leendert de Borst
b3946963c9
Merge branch 'main' into 1353-upgrade-from-net-9-to-net-10-admin-api-and-web-app-services
...
* main: (611 commits)
Update bump-versions.sh
Update Cargo.lock
Update net.aliasvault.app.yml.template
Bump tar
Start 0.27.0-alpha development
Update browser extension build scripts to always call rust core compile
Update release notes
Refactor EmailDomainField init flow to match browser extension
Fix folder deletion in mobile app not refreshing parent screen
Add 0.26.0 release notes
New Crowdin updates (#1504 )
Tweak browser extension settings text alignment for longer translations (#1524 )
Add Italian language dictionaries to the identity generator (#1524 )
Update tests
Add wait for debounce to browser extension tests
Update playwright.config.ts
Bump install.sh version to use self-documenting ISO8601 date
Update e2e-tests-browser-extension.yml
Update safari-xcode folder location
Update fdroid scripts
...
2026-01-30 12:58:17 +01:00
Leendert de Borst
50e10e9400
Refactor SRP related methods to RustCoreService ( #1404 )
2026-01-19 12:29:25 +01:00
Leendert de Borst
7fbffa2cd2
Implement SRP logic in Rust Core lib, and implement in browser extension and aliasvault.client ( #1404 )
2026-01-13 15:31:05 +01:00
Leendert de Borst
7ddb54c955
Refactor Native interface code to reside inside JSInterop namespace ( #1404 )
2025-12-22 14:05:38 +01:00
Leendert de Borst
12e9c0db2a
Add Vault/Item navigation, list and details pages to AliasVault.Client ( #1404 )
2025-12-19 09:59:11 +01:00
Leendert de Borst
75377d795e
Add Rust Core WASM scaffolding to AliasVault.Client ( #1404 )
2025-12-18 16:04:05 +01:00
Leendert de Borst
351bb09332
Refactor Credential to Item based structure in AliasVault.Client ( #1404 )
2025-12-17 22:48:51 +01:00
Leendert de Borst
7724c2e215
Upgrade AliasVault.Client to .NET 10 ( #1353 )
2025-11-13 21:14:30 +01:00
Leendert de Borst
fb9c2e1494
Update copyright header ( #1171 )
2025-09-03 14:59:14 +02:00
Leendert de Borst
cc873fd483
New Crowdin updates ( #1152 )
...
* New translations vaultdecryptionprogress.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations vaultdecryptionprogress.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations sync.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations sync.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations sync.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations sync.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations sync.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations sync.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations sync.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations sync.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations welcome.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations welcome.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations welcome.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations welcome.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations welcome.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations welcome.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations welcome.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations welcome.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (French)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Spanish)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Dutch)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations deleteaccount.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations deleteaccount.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations deleteaccount.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations deleteaccount.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations deleteaccount.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations deleteaccount.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations deleteaccount.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations deleteaccount.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations enable2fa.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations enable2fa.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations enable2fa.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations enable2fa.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations enable2fa.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations enable2fa.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations enable2fa.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations enable2fa.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations en.json (French)
Update translations from Crowdin [ci skip]
* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]
* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]
* New translations en.json (Italian)
Update translations from Crowdin [ci skip]
* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]
* New translations en.json (Russian)
Update translations from Crowdin [ci skip]
* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]
* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]
* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]
* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations resetvault.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations resetvault.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations resetvault.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations resetvault.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations resetvault.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations resetvault.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations resetvault.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations resetvault.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations resetvaultsection.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations disable2fa.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations disable2fa.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations disable2fa.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations disable2fa.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations disable2fa.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations disable2fa.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations disable2fa.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations disable2fa.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (Catalan)
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (German)
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (Finnish)
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (Italian)
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (Russian)
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (Swedish)
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (Turkish)
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (Ukrainian)
Update translations from Crowdin [ci skip]
* New translations infoplist.strings (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations strings.xml (French)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Spanish)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Catalan)
Update translations from Crowdin [ci skip]
* New translations strings.xml (German)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Finnish)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Italian)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Dutch)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Russian)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Swedish)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Turkish)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Ukrainian)
Update translations from Crowdin [ci skip]
* New translations strings.xml (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations localizable.strings (Catalan)
Update translations from Crowdin [ci skip]
* New translations localizable.strings (German)
Update translations from Crowdin [ci skip]
* New translations localizable.strings (Finnish)
Update translations from Crowdin [ci skip]
* New translations localizable.strings (Italian)
Update translations from Crowdin [ci skip]
* New translations localizable.strings (Russian)
Update translations from Crowdin [ci skip]
* New translations localizable.strings (Swedish)
Update translations from Crowdin [ci skip]
* New translations localizable.strings (Turkish)
Update translations from Crowdin [ci skip]
* New translations localizable.strings (Ukrainian)
Update translations from Crowdin [ci skip]
* New translations localizable.strings (Chinese Simplified)
Update translations from Crowdin [ci skip]
* Refactor LanguageService.cs (#1079 )
* Add new languages to apps (#1079 )
* Update LanguageService.cs (#1079 )
* Add language config to both AliasVault and Autofill targets for iOS (#1079 )
* Update Program.cs to read available languages from LanguageService.cs (#1079 )
* Add finnish language to all apps (#1079 )
* Add german language (#1079 )
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (French)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Spanish)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Dutch)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (French)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Spanish)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Dutch)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Dutch)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Dutch)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations register.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations usernamestep.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations setup.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations start.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations passwordstep.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations usernamestep.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations importservices.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations home.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations general.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations welcome.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations apierrors.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations resetvault.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations recentemails.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations passwordsettingspopup.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations activesessionssection.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations deleteaccountsection.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations passwordchangesection.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations quickvaultunlocksection.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations recentauthlogssection.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations twofactorauthenticationsection.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations createnewidentitywidget.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations unlock.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations addedit.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations view.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations home.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations apps.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations general.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations sync.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations changepassword.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations deleteaccount.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (French)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Spanish)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Catalan)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Dutch)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Russian)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Swedish)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Turkish)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Ukrainian)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Chinese Simplified)
Update translations from Crowdin [ci skip]
* Update source file SharedResources.en.resx
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Finnish)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Dutch)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations quickvaultunlocksection.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations twofactorauthenticationsection.en.resx (German)
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations strings.xml (German)
Update translations from Crowdin [ci skip]
* New translations en.json (French)
Update translations from Crowdin [ci skip]
* New translations en.json (Spanish)
Update translations from Crowdin [ci skip]
* New translations en.json (Catalan)
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]
* New translations en.json (Italian)
Update translations from Crowdin [ci skip]
* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]
* New translations en.json (Russian)
Update translations from Crowdin [ci skip]
* New translations en.json (Swedish)
Update translations from Crowdin [ci skip]
* New translations en.json (Turkish)
Update translations from Crowdin [ci skip]
* New translations en.json (Ukrainian)
Update translations from Crowdin [ci skip]
* New translations en.json (Chinese Simplified)
Update translations from Crowdin [ci skip]
* Update source file en.json
Update translations from Crowdin [ci skip]
* New translations en.json (German)
Update translations from Crowdin [ci skip]
* New translations en.json (Dutch)
Update translations from Crowdin [ci skip]
* New translations en.json (Finnish)
Update translations from Crowdin [ci skip]
* New translations en.json (Italian)
Update translations from Crowdin [ci skip]
* New translations sharedresources.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations en.json (Italian)
Update translations from Crowdin [ci skip]
* New translations login.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations general.en.resx (Italian)
Update translations from Crowdin [ci skip]
* New translations validationmessages.en.resx (Italian)
Update translations from Crowdin [ci skip]
2025-08-31 17:13:40 +02:00
Leendert de Borst
3305958e60
Tweak clipboard clear for various usecases and make it more robust ( #881 )
2025-08-19 14:57:40 +02:00
Leendert de Borst
daccab9bcc
Fix private email domain init ( #1098 )
2025-08-11 13:18:45 +02:00
Leendert de Borst
95739f6758
Simplify WASM localize structure, fix re-render bug in searchwidget ( #1006 )
...
This reverts commit 32a2d13fcc .
2025-07-16 11:28:28 +02:00
Leendert de Borst
f7a0f3d29a
Add dynamic language switcher via Blazor.WebAssembly.DynamicCulture.Loader ( #820 )
2025-07-07 16:35:05 +02:00
Leendert de Borst
f793510b1e
Add language switcher to AliasVault.Client ( #820 )
2025-07-07 16:35:05 +02:00
Leendert de Borst
4d57f8dea3
Make topmenu and welcome localized ( #820 )
2025-07-07 16:35:05 +02:00
Leendert de Borst
3160ad202a
Use IStringLocalizerFactory to simplify structure ( #820 )
2025-07-07 16:35:05 +02:00
Leendert de Borst
946a44a9a1
Make i18n work for login switching between en-US and nl-NL ( #820 )
2025-07-07 16:35:05 +02:00
Leendert de Borst
4bba4c5911
Add i18n scaffolding to AliasVault.Client project ( #820 )
2025-07-07 16:35:05 +02:00
Leendert de Borst
0eb7e97383
Add QuickCreate state service to persist values when switching between quick and advanced mode ( #916 )
2025-06-13 18:01:56 +02:00
Leendert de Borst
566d4259bd
Add skeleton loading animation to email page ( #897 )
2025-06-07 14:14:37 +02:00
Leendert de Borst
96fd9bb837
Update to AGPLv3 license ( #828 )
2025-05-13 16:47:16 +02:00
Leendert de Borst
5babd0b982
Move all apps to subfolder in monorepo ( #771 )
2025-04-30 19:03:18 +02:00