Commit Graph

2148 Commits

Author SHA1 Message Date
d842332d97 Update to v3.10.0 and revise Bootstrap Icons set
Bump project version to 3.10.0 and update assembly/file versions. Replace and streamline included Bootstrap Icons SVGs, focusing on file-related icons and removing many miscellaneous and filetype-specific icons. Some icon entries may be duplicated.
2026-02-17 14:08:46 +01:00
f5b0f25d96 Add ImageSharp dependency to all major projects
Added SixLabors.ImageSharp (v3.1.12) as a dependency to API, Application, Infrastructure, Jobs, Tests, Web, and WorkerService projects to enable advanced image processing capabilities across the solution. This prepares the codebase for features involving image manipulation or generation.
2026-02-17 13:51:07 +01:00
60afc0f320 Update NuGet packages and remove chat.svg reference
Updated Microsoft.Extensions.Logging.Abstractions and Microsoft.Data.SqlClient in EnvelopeGenerator.Jobs.csproj, and System.Configuration.ConfigurationManager in EnvelopeGenerator.Web.csproj. Also removed the chat.svg icon reference from EnvelopeGenerator.Web.csproj.
2026-02-17 13:38:48 +01:00
ce7af03064 Update System.Security.AccessControl to v6.0.1
Upgraded package and assembly references from v5.0.0 to v6.0.1 across all projects. Added binding redirects in app.config files to ensure runtime compatibility. This update provides improved security and compatibility.
2026-02-17 12:40:25 +01:00
8e9bf5d46f Update NuGet packages and binding redirects to latest versions
Upgraded Microsoft.Data.SqlClient, System.Formats.Asn1, Microsoft.Extensions, and other core dependencies to latest versions. Added new package references (Azure.Core, Azure.Identity, System.ClientModel, etc.). Updated assembly binding redirects and project references for compatibility. No application code changes; all updates are related to dependency and configuration management.
2026-02-17 12:35:40 +01:00
07f951ba98 Update Microsoft.Identity.Client to 4.82.1 across solution
Upgraded Microsoft.Identity.Client to version 4.82.1 in all projects, updated related assembly references and binding redirects, and ensured packages.config reflects the new version. Also updated Microsoft.IdentityModel.Abstractions to 8.14.0 and added System.Formats.Asn1 where required. These changes improve consistency and compatibility for authentication dependencies.
2026-02-17 11:54:47 +01:00
3336af0541 Update HtmlSanitizer to v9.0.892 across all projects
Upgraded HtmlSanitizer from 8.0.865 to 9.0.892 in all existing project references. Added HtmlSanitizer 9.0.892 as a new dependency to API, Infrastructure, Jobs, Tests, and WorkerService projects to ensure consistent and up-to-date usage throughout the solution.
2026-02-17 11:51:31 +01:00
4deec9c064 Upgrade BouncyCastle to 2.6.2 and update binding redirects
Upgraded BouncyCastle.Cryptography from 2.5.0 to 2.6.2 across all projects, updating project and package config files as needed. Added/updated PackageReference for .NET Core/Standard projects. Updated app.config with a new binding redirect for System.ValueTuple and changed Microsoft.Identity.Client redirect to 4.55.0.0. These changes improve dependency consistency and resolve potential assembly binding issues.
2026-02-17 10:56:13 +01:00
a1a7f0eef7 Only append envKey if ENV_KEY is defined
Updated request logic to add the "envKey" query parameter only when the global ENV_KEY variable is defined. This prevents errors and avoids unnecessary parameters in requests when ENV_KEY is not set.
2026-02-17 09:59:27 +01:00
352618a745 Improve locale resolution in loadPSPDFKit function
Updated loadPSPDFKit to determine the locale by checking the provided argument, localized.culture, browser language, and defaulting to 'en'. This enhances locale selection robustness and user experience. Minified code updated accordingly.
2026-02-16 18:35:36 +01:00
8cf6484786 Dynamic locale support for date formatting functions
Replaced hardcoded 'de-DE' locale with a new getCurrentCulture function that selects the user's culture from localized.culture or navigator.language. Date formatting now adapts to user language settings in detailedCurrentDate and getLocaleDateString.
2026-02-16 17:34:49 +01:00
7345b8f877 Localize toolbar button titles using localized object
Updated toolbar button titles to reference properties from the `localized` object instead of hardcoded strings. This enhances internationalization support by allowing button labels to adapt to different languages. Buttons affected include "Share", "Logout", "Copy Link", "Reject", and "Reset".
2026-02-16 17:34:33 +01:00
dc6a2027d6 Refactor UI messages for localization support
All user-facing messages now use a `localized` object instead of hardcoded strings, enabling easier translation. Introduced `formatLocalized` for template formatting. Updated all dialogs and notifications to use localized keys, improving internationalization across the app.
2026-02-16 17:34:17 +01:00
8f94317e80 Support localization for annotation labels and text
Replaced hardcoded annotation labels and text with localized values, falling back to English defaults if not available. Date formatting now adapts to the current locale using getCurrentCulture().
2026-02-16 17:33:43 +01:00
f175e39de2 Add new French UI and message resource strings
Expanded Resource.fr-FR.resx with translations for UI actions, error/success messages, city validation, document reset, envelope status, and page/location instructions.
2026-02-16 17:31:48 +01:00
36794cb98b Add new UI resource strings for actions and feedback
Expanded Resource.en-US.resx with labels and messages for copy, reset, logout, city validation, envelope errors, and user instructions to improve interface clarity and feedback.
2026-02-16 17:31:34 +01:00
fc8f9486c0 Add new German resource strings for UI actions/messages
Expanded Resource.de-DE.resx with translations for various UI actions, error, and success messages including copy link, city format validation, logout, reset, envelope status, and signature-related prompts. This improves localization coverage for user interactions and feedback.
2026-02-16 17:31:15 +01:00
566dae8e2e Add French privacy policy and update project file
Added privacy-policy.fr-FR.html with detailed data protection info for signFLOW. Updated EnvelopeGenerator.Web.csproj to always copy this file to the output directory.
2026-02-13 14:50:37 +01:00
9763ff05cf Update localization injection in cookie consent partial
Replaced IStringLocalizer<SharedResource> with IStringLocalizer<Resource> for improved localization handling in _CookieConsentPartial.cshtml.
2026-02-13 14:44:18 +01:00
83f571b226 Add 2FA registration localization and update Reg.cshtml
Added resource entries for 2FA registration steps and instructions in de-DE, en-US, and fr-FR. Updated Reg.cshtml to use localized strings, replacing hardcoded text for improved internationalization.
2026-02-13 14:40:45 +01:00
95ea4db0a0 Add localization for protected doc UI strings
Added "DocumentProtected", "Password", and "Open" entries to de-DE, en-US, and fr-FR resource files. Updated Index.cshtml to use localized strings for the page title, password label, placeholder, and submit button, replacing hardcoded German text. This improves multilingual support for the protected document access page.
2026-02-13 14:24:15 +01:00
a2e68d275f Add localization for "Creator" and "Date" labels
Added "Creator" and "Date" resource strings to de-DE, en-US, and fr-FR resource files. Updated DebugEnvelopes.cshtml to use localized labels instead of hardcoded German text for creator and date fields.
2026-02-13 14:21:54 +01:00
41cf52fd41 Add localized expired session message to resources and view
Added "ConnectionValidityExpired" string to de-DE, en-US, and fr-FR resource files. Updated _Expired.cshtml to use localized title, header, and body messages for session expiration.
2026-02-13 14:19:42 +01:00
171ab508c5 Add localization for cookie consent modal
Added localized strings for the cookie consent modal in de-DE, en-US, and fr-FR resource files. Updated _CookieConsentPartial.cshtml to use these resources for the modal title, message, and accept button, enabling multilingual support. Injected IStringLocalizer to support string localization in the view.
2026-02-13 14:17:28 +01:00
924e39253a Localize envelope sharing UI and messages
Replaced hardcoded German text in the envelope sharing UI and JavaScript alerts with localized resource strings for German, English, and French. Added new translations for labels, prompts, and error/success messages. Improved internationalization and user experience by making the sharing feature fully language-aware.
2026-02-13 13:43:47 +01:00
aba68faa4d Add localized messages for document signing success
Added new resource strings for document signing success and confirmation messages in de-DE, en-US, and fr-FR. Updated EnvelopeSigned.cshtml to use these localized strings instead of hardcoded text.
2026-02-13 12:00:54 +01:00
f1ceaab70a Improve i18n for authenticator setup instructions
Added new resource strings (prefix, link, suffix) for authenticator app setup instructions in German, English, and French resource files. Updated EnvelopeLocked.cshtml to assemble the instruction dynamically using these localized parts, ensuring correct grammar and flexibility across supported languages.
2026-02-13 11:39:01 +01:00
f855c60be4 Localize "envelope expired" page and add resource keys
Added "DocumentSharingPeriodExpired" and "Expired" keys to de-DE, en-US, and fr-FR resource files. Updated EnvelopeExpired.cshtml to use localized strings for the title, heading, and message, enabling full internationalization of the expired envelope page.
2026-02-13 11:24:39 +01:00
8f9ca082e5 Add French (fr-FR) language config to appsettings.UI.json
Added a new entry for French (fr-FR) with FIClass "fi-fr" to the language configurations in appsettings.UI.json. This enables support for French localization.
2026-02-13 10:23:42 +01:00
deec1b1df5 Add French localization resource and project support
Added Resource.fr-FR.resx with French UI translations. Updated EnvelopeGenerator.Application.csproj to include the new resource and copy it to the output directory, enabling French language support in the application.
2026-02-13 10:19:44 +01:00
a982f48ef9 Improve culture cookie handling and localization responses
Refactored GetCulture to return null if cookie is missing or invalid, and added GetCultureOrDefault for fallback. Updated TestLocalizerController and CultureMiddleware to use new methods for more accurate culture detection. Localizer now returns only the localized string value.
2026-02-13 09:46:01 +01:00
297ab458c7 Replace Cultures with MultiCulture and update middleware order
Switched configuration and DI from Cultures to MultiCulture.
Adjusted middleware registration so CultureMiddleware runs after ExceptionHandlingMiddleware.
2026-02-12 17:16:47 +01:00
0e270e3182 Update Culture model and DI for non-nullable properties
Refactored Culture model to use required and non-nullable properties.
Removed nullable checks for Info in ShowEnvelope.cshtml.
Changed DI from Cultures to MultiCulture in _ViewImports.cshtml.
2026-02-12 17:16:36 +01:00
bcf55f7906 Update CultureMiddleware to use MultiCulture config
Replaced Cultures with MultiCulture in CultureMiddleware.cs.
Constructor now accepts IOptions<MultiCulture> for culture settings.
2026-02-12 17:15:34 +01:00
489b2d0917 Rename Cultures class to MultiCulture throughout codebase
Refactored all references from Cultures to MultiCulture in controllers and base classes. Updated the class definition in MultiCulture.cs to improve clarity and consistency in culture-related functionality. No functional changes were made.
2026-02-12 17:15:14 +01:00
63fbdc3bd5 Validate culture cookie against supported languages
Changed CultureMiddleware to check if the culture cookie value is in the list of supported languages, not just for null or empty. This ensures that only valid, supported culture values are accepted from the cookie; otherwise, the middleware falls back to Accept-Language or default logic.
2026-02-12 16:51:51 +01:00
aaf1f75aa7 Change Localize endpoint to use route parameter for key
The Localize endpoint in TestLocalizerController now accepts the "key" parameter as a route parameter instead of a query string. The method signature was updated to use [FromRoute], and the route template was modified to include "{key}". This changes the endpoint usage from /localize?key=de_DE to /localize/de_DE.
2026-02-12 16:42:49 +01:00
cdca639e4f Update culture handling and adjust middleware order
Changed GetCulture to return current UI culture if cookie is missing, ensuring a non-null result. Reordered middleware in Program.cs to run ExceptionHandlingMiddleware after CultureMiddleware.
2026-02-12 16:40:51 +01:00
ab57dd4cee Add endpoints for culture detection and improve cookie parsing
Added two endpoints to TestLocalizerController for retrieving culture from Accept-Language and user cookies. Enhanced GetCulture extension to parse and return the actual culture string from cookies. Updated usings for new extension methods.
2026-02-12 16:11:40 +01:00
745e9c7bfe Add GetCultureByAcceptLanguage extension for HttpContext
Introduced a new extension method, GetCultureByAcceptLanguage, in the WebExtensions class. This method parses the Accept-Language header from the HTTP request and returns the first valid CultureInfo, enabling detection of the user's preferred culture from browser settings.
2026-02-11 13:54:27 +01:00
670c8ed87c Improve culture selection using Accept-Language header
When no culture cookie is present, use the browser's Accept-Language
header to determine the user's preferred culture. This culture is
applied and stored in a cookie, enhancing localization by respecting
user preferences instead of always defaulting to the application's
default language.
2026-02-11 13:51:01 +01:00
91eb5d1e64 Make Culture lookup case-insensitive; add GetOrDefault()
Changed Culture indexer to use case-insensitive language matching.
Added GetOrDefault() to return a Culture or the default if not found.
2026-02-11 13:50:02 +01:00
9f59a17f63 Mark CreateAsync as obsolete; update Flag reference
Marked CreateAsync in ReadOnlyController as [Obsolete] to encourage use of MediatR. Simplified Flag.DataIntegrityIssue reference in EnvelopeMailService error handling.
2026-02-11 13:14:07 +01:00
2a0f7f99d6 Refactor EnvelopeMailService to use MediatR ISender
Replaces IAuthenticator with ISender in EnvelopeMailService, updates the constructor accordingly, and removes unused dependencies. Improves code readability and formatting, cleans up unused usings and redundant code, and aligns with the intended MediatR-based architecture. No functional changes to email sending logic.
2026-02-11 12:59:17 +01:00
ec674b6e80 Refactor TestEmailTemplateController to use MediatR
Replaced direct service dependency and base class inheritance with MediatR in TestEmailTemplateController. Updated the GetAll endpoint to use a MediatR query and removed obsolete code related to the previous service-based approach. This aligns the controller with CQRS/MediatR best practices.
2026-02-11 12:45:32 +01:00
10f23170fd Rename email template query methods for consistency
Renamed ReadEmailTemplateById and ReadEmailTemplateByType to ReadEmailTemplateAsync in ReadEmailTemplateQueryExtensions. This improves naming consistency and better reflects their asynchronous behavior. No changes to method signatures or functionality.
2026-02-11 12:08:26 +01:00
0ec823ec9e Add ISender extension methods for reading email templates
Introduced ReadEmailTemplateQueryExtensions with methods to fetch a single EmailTemplateDto by ID or type and language code. Added required using directive for EnvelopeGenerator.Application.Common.Extensions. These extensions streamline querying email templates via ISender.
2026-02-11 12:06:32 +01:00
06884fe809 Refactor Get method in EmailTemplateController
Simplified the Get method to always require a ReadEmailTemplateQuery and CancellationToken, delegating all queries to the mediator. Removed conditional logic for handling null or missing parameters. Updated XML documentation to reflect the new method signature.
2026-02-11 11:58:50 +01:00
c2d5bd65aa Refactor email template query to support multiple results
ReadEmailTemplateQuery now returns a collection of EmailTemplateDto, with optional filtering by Id, Type, and new LangCode property. Query handler updated to return all matching templates instead of a single result, and NotFoundException handling was removed.
2026-02-11 11:57:47 +01:00
cfcd43b0ed Make EmailTemplateDto mutable, add LangCode property
Changed EmailTemplateDto properties from init-only to mutable (get/set), removed 'required' from Name, and added a new LangCode property with a default value. Also updated using directives and added conditional compilation in EmailTemplate.cs for .NET Framework compatibility. No functional changes to EmailTemplate class.
2026-02-11 11:00:18 +01:00