Standardized PreOrder naming across classes, enums, and constants. Updated DB table name constants. Added IsTrailer, Created, and Modified properties to CargoTruck and linked to CargoPartner. Introduced ICargoTruck interface. Added SignalR support for fetching CargoTrucks by CargoPartnerId, with related service, interface, and test updates. Improved ToonDescription docs and updated UI components for new properties and naming. Refactored for clarity and consistency.
- Added optional logger to TaskHelper.Forget for fire-and-forget error logging
- Updated MgGridBase and data sources to accept and use logger instances
- Refactored AcSignalRDataSource to log deserialization faults
- Modified constructors and usages of SignalRDataSourceList/Observable for logger injection
- Added CountryCode to CargoTruck and displayed in new GridCargoTruck
- Introduced GridCargoTruck.razor and base class with logger integration
- Updated GridCargoPartner to use new cargo truck grid as detail row
- Improved code style and ensured consistent error handling throughout
- Introduced LicencePlate to CargoTruck and Shippings navigation to CargoPartner.
- Implemented CargoTruck CRUD methods in IFruitBankDataControllerCommon and FruitBankSignalRClient.
- Expanded tests for CargoTruck and improved assertions for CargoPartner and Partner.
- Updated CargoPartner grid to show CargoTrucks and Shippings in detail tabs.
- Minor formatting and settings.local.json Bash command update.
- Introduced CRUD operations for CargoPartner in IFruitBankDataControllerCommon and SignalRTags.
- Implemented CargoPartner methods in FruitBankSignalRClient.
- Added GridCargoPartner.razor and GridCargoPartnerBase.cs for CargoPartner grid UI.
- Integrated CargoPartner grid into ShippingsAdmin page.
- Added GetCargoPartnersTest; updated and commented out some tests.
- Added CountryCode column to GridPartner.razor.
- Commented out SandboxEndpointSimpleTests.
- Minor refactoring for new entity and UI support.
Introduced framework-first design rules and updated documentation to clarify framework vs. consumer boundaries. Added AcLoggerOptions and DI-based logger factory extensions to AyCode.Core, enabling per-category logger instantiation from appsettings.json. Standardized SignalR connection setup with AddAcDefaults, replacing project-specific code. Enhanced protocol configuration for DI scope isolation. Refactored appsettings.json structure and added MSBuild targets for config propagation. Removed obsolete code and updated comments to match new patterns.
Refactor SignalR client DI and config, add test factory
Refactored FruitBankSignalRClient construction to use DI and centralized configuration from appsettings.json across all platforms. Introduced TestSignalRClientFactory for consistent test setup. Added FruitBankHubConnectionExtensions for reusable SignalR connection and logging configuration. Updated Program.cs and MauiProgram.cs to register logger factories, log writers, and IHubConnectionBuilder via DI. Embedded appsettings.json in MAUI and updated .csproj references for build flexibility. No business logic changes; all updates are infrastructure and test setup.
- Move SignalParams-aware deserialization logic from AcBinaryHubProtocol to new AyCodeBinaryHubProtocol, enabling project-specific customization.
- Make key deserialization and helper methods in AcBinaryHubProtocol protected and virtual for easier extension.
- Improve byte[] handling to distinguish between AcBinary-serialized and raw data.
- Remove diagnostic serialization verification from the base protocol.
- Update DI registration to use AyCodeBinaryHubProtocol with configurable options.
- Adjust client code to support object-based response data and raw byte handling.
- Comment out SignalResponseDataMessage diagnostic logger in Program.cs.
Updated the MessageReceived method signature to accept SignalParams and SignalData instead of SignalReceiveParams and byte[]. Adjusted internal usage to reflect these new types, improving consistency with updated SignalR client structures.
Update MessageReceived to use SignalReceiveParams and construct
SignalResponseDataMessage with more context. Add AyCode.Core.Serializers
using directive for serializer type support.
Expanded and clarified solution/project documentation:
- Added all top-level docs and docs/ folder as solution items in .sln files
- Inserted maintenance notices in all project and subfolder READMEs: require .md sync with code
- Main READMEs now include project tables with TFM, purpose, and README links
- ARCHITECTURE.md now details dependency graph and TFM rationale
- CONVENTIONS.md and copilot-instructions.md require code reuse, no redundancy
- Glossary and conventions updated to require terminology/rule updates with code changes
- Emphasized DLL-only AyCode.Core refs and nopCommerce .NET 9.0 requirement
- Clarified domain terms and intentional typos
- No code logic changes; documentation and guidance only
- Introduced `.github/copilot-instructions.md` as the single source of truth for domain rules, conventions, and pitfalls in each solution.
- Added `CLAUDE.md` to guide Claude to read domain rules, glossary, and README before code generation.
- Updated all solution and project `README.md` files to document project purpose, structure, key files, and LLM context (Copilot/Claude/Cursor).
- Added or revised `docs/ARCHITECTURE.md`, `docs/CONVENTIONS.md`, and `docs/GLOSSARY.md` to clarify dependency graphs, naming, patterns, and terminology.
- For FruitBankHybridApp, added `docs/SCHEMA.md` (Toon format) and expanded the glossary with business/measurement terms and common traps.
- Updated all subfolder READMEs to list key files, conventions, and LLM maintenance notes.
- Ensured all documentation is cross-referenced, up-to-date, and includes explicit instructions for LLMs to keep docs in sync with code and avoid suggesting removal/rollback as a solution.
- Standardized documentation and onboarding for maintainability and LLM/code quality across all solutions.
- Reworked MeasuringIn to use tabbed interface with card view and improved form layout
- Unified status badge/text/color logic via new MeasurementService helpers
- Updated MeasuringOut to use centralized status display and improved order note handling
- Added shipping date column to GridShippingDocument
- Improved link styling in MgGridDataColumn
- Removed redundant code and applied minor UI/layout tweaks for consistency and maintainability
Updated SignalR interface and tags to support refreshing
individual StockTakingItems. Improved StockTakingTemplate.razor
to show error messages and allow item refresh when invalid.
Removed unused method and updated project reference to
SignalR.Core 9.0.13.
- Added CloseStockTaking method to IStockSignalREndpointCommon and implemented it in FruitBankSignalRClient.
- Renamed IsEditable to Editable in PalletItemComponent.razor and updated all usages.
- Updated StockTakingTemplate.razor: "Módosít" button is now always disabled, "Lezárás" button is enabled only when appropriate, and form layouts are disabled when stock taking is closed.
- Improved async UI updates by using InvokeAsync(StateHasChanged).
- Enhanced order note display and added warning state for invalid average weight in MeasuringOut.razor.
- Introduced UrlLink parameter to MgGridDataColumn for clickable cell links with property placeholder support.
- Updated MgGridInfoPanel to render links for columns with UrlLink.
- Added unit tests for UrlLink rendering and value replacement.
- Added DynamicColumnAddingEventArgs and OnDynamicColumnAttributeAdding for dynamic column customization.
- Refactored layout storage key logic and enabled persistent info panel splitter size in MgGridWithInfoPanel.
- Updated product/order grids to use MgGridDataColumn with UrlLink and switched ProductDtos to AcObservableCollection for reactivity.
- Added AddPartner method to IFruitBankDataControllerCommon and FruitBankSignalRClient.
- Miscellaneous fixes: logger initialization, code cleanup, and improved comments.
- Replaced DxWindow with custom Bootstrap 5 fullscreen overlay for grid components, improving fullscreen UX and styling.
- Added new CSS for fullscreen overlay, header, and body; retained legacy DxWindow styles for compatibility.
- Introduced SignalRSerializerDiagnosticLog flag to control binary serializer diagnostics at runtime.
- Enabled diagnostics in DevAdminSignalRHub, FruitBankSignalRClient, and Program.cs based on the new flag.
- Updated OrderClientTests to use GetStockTakings(false).
- Added StockTakingSerializerTests for binary serialization/deserialization validation and debugging.
Refactored SignalR message handling to use strongly-typed SignalResponseDataMessage objects instead of JSON strings, updating event signatures and deserialization logic in MainLayout, MeasuringOut, and FruitBankSignalRClient. Added a new "Stock quantity changes" tab for administrators in GridProductDtoTemplate. Also added Microsoft.Extensions.ObjectPool package to the project.
Introduces ISecureCredentialService abstraction and platform-specific implementations for secure credential storage (WebAssembly, MAUI, server). Refactors LoggedInModel to support async auto-login, login, and logout using stored credentials. Updates DI and UI logic to enable seamless auto-login and logout across all platforms. Cleans up redundant navigation checks and improves maintainability.