Updated SCHEMA.md to clarify field purposes for Shipping and ShippingDocument entities, emphasizing progressive assignment and nullable status for carrier/truck fields. Changed CargoPartnerId, CargoTrailerId, and CargoTruckId types to nullable (int?). Added git show command for SCHEMA.md in settings.local.json and fixed a missing comma. No structural schema changes.
- Updated controllers and DbTables to support eager loading of CargoPartner and CargoTruck relations.
- Enhanced Shipping and ShippingDocument queries to include related transport entities.
- Extended SCHEMA.md with CargoPartner, CargoTruck, and updated Shipping schema details.
Comprehensive documentation for the new customer pre-order workflow:
- Added docs/PREORDER/README.md with process, entities, lifecycle, and workflow details
- Registered topic code PREO in docs/TOPIC_CODES.md
- Added PREORDER_ISSUES.md and PREORDER_TODO.md for tracking
- Updated README.md, DOMAIN_MODEL.md, MEASUREMENT.md, and topic folder lists to reference pre-orders
- Enhanced SCHEMA.md with pre-order entity clarifications and business logic
- Integrated pre-orders as a fourth main domain workflow
Comprehensively renamed all "Preorder" domain types, services, controllers, models, enums, database contexts, routes, views, JS, localization resources, and documentation to "PreOrder" (PascalCase, capital "O"). Updated all references in backend, frontend, localization, and schema docs for consistency. No business logic changes; this is a naming and normalization refactor.
- Introduced CargoPartnerDbTable and CargoTruckDbTable with DI registration.
- Extended FruitBankDbContext for new entities.
- Added CRUD SignalR endpoints for CargoPartner and CargoTruck.
- Renamed PartnerDbTable.GetByIdNameAsync to GetByNameAsync.
- Minor code style improvements.
Added a section on XML documentation standards to CONVENTIONS.md, clarified references to core and Mango.Nop framework convention docs, and improved formatting. Enabled EmitCompilerGeneratedFiles in Mango.Nop.Core.csproj.
Update AcBinarySerializable attribute to 5 params
Updated AcBinarySerializable to use a five-parameter signature across all relevant entities and DTOs. Adjusted CONVENTIONS.md to document the new attribute usage. Refactored MiscSignalRApiPlugin constructor to a single-line parameter list for clarity.
Update DB connection, protocol flush policy, and docs
- Switch appsettings.json to production DB connection string
- Update copilot-instructions.md to reference Rules #1-6
- Set FlushPolicy.DoubleBuffered for AcBinary protocol in PluginNopStartup.cs
Add type-location map and DRY measurement docs
Added a "Type-Location Map" to the plugin README for quick type lookup. Updated MEASUREMENT.md to reference canonical definitions in DOMAIN_MODEL.md for shared measurement logic, reducing duplication. Clarified pallet weighing workflow and fixed the client app doc path. Minor formatting and clarity improvements.
Add repo prefixes and clarify workspace dependencies
Added prefix, type, and layer properties to each @repo block in copilot-instructions.md. Updated own-dep-repos arrays for clearer dependency paths. Adjusted [LOADED_DOCS: ...] prefix instructions to reflect correct file counts. These changes enhance multi-repo management and documentation protocol clarity.
Refactor skill loading protocol in copilot-instructions
Clarified session setup: only two reactive skills are pre-loaded, with three user-gated skills now lazy-loaded on demand. Updated documentation to add "AUTHORITY, RULE SCOPE, AND SKILL INVOCATION" section, revised skill trigger descriptions, and adjusted `[LOADED_DOCS: ...]` prefix logic. Documented docs-archive as a lazy-loaded skill. Added settings.local.json for local file removal permissions. No code logic changes—documentation and protocol only.
- Restructured documentation: added `docs/README.md` to each sub-project, moved LOGGING and SIGNALR docs into dedicated subfolders with their own `README.md`.
- Updated all cross-references to use new topic folder paths and canonical AyCode.Core doc locations.
- Updated `.csproj` files to auto-include all Markdown docs and project-level `README.md` files.
- Removed obsolete single-file docs, replaced with structured content in topic folders.
- Enforced AI Agent Protocol: session setup, output prefix, no-re-read, and mandatory `docs-check` skill after code changes.
- Added domain-critical reminders and navigation guidance to relevant `README.md` files.
- Switched to new `[LOADED_DOCS: N files (+K this turn: ...)]` prefix format in all protocol docs, with examples and enforcement details.
- Documented `docs-discovery` skill, protocol history, and documentation-first coding requirements.
- Added protocol documentation for `Nop.Plugin.Misc.AIPlugin`.
- Changed SQL connection string to use `FruitBank_DEV` in `appsettings.json`.
- Wrapped `IHubProtocol` debug output in `#if DEBUG` in `PluginNopStartup.cs`.
Update DB config, docs, and SignalR binary protocol setup
- Switched appsettings.json connection string to production DB.
- Added "Shared Agent Skills" section to copilot-instructions.md in both main and Mango.Nop Libraries repos.
- Refactored PluginNopStartup.cs: improved using statements, updated SignalR to use AddAcBinaryProtocol with explicit options, removed manual IHubProtocol registration, and added protocol diagnostics.
- No business logic changes; focused on configuration, documentation, and infrastructure.
Changed connection string to use FruitBank_DEV database. Updated DI registration of AyCodeBinaryHubProtocol to use custom AcBinarySerializerOptions with BufferWriterChunkSize set to 4096. Added import for AyCode.Core.Serializers.Binaries and included a commented alternative DI approach.
Updated the connection string in appsettings.json to use the FruitBank_PROD database instead of FruitBank_DEV. Changed the SignalR hub protocol registration in PluginNopStartup.cs from AcBinaryHubProtocol to AyCodeBinaryHubProtocol.
Registered custom AcBinaryHubProtocol as a singleton IHubProtocol
in PluginNopStartup.cs to enable efficient binary messaging
(via AcBinarySerializer) and eliminate JSON/Base64 overhead.
Updated SIGNALR_ENDPOINTS.md to document the new protocol,
noting WebSocket (TransferFormat.Binary) requirement and
affected hubs (DevAdminSignalRHub, LoggerSignalRHub).
Explicitly set StatefulReconnectBufferSize to 30 MB in both
code and documentation.
Added detailed documentation: ARCHITECTURE.md, CONVENTIONS.md, GLOSSARY.md, and copilot-instructions.md for Mango.Nop.Core, Data, and Services. Updated/added README.md files for all Mango.Nop libraries and the FruitBank nopCommerce plugin, clarifying structure, key types, and usage. Switched appsettings.json connection string from production to development database. These changes improve developer onboarding and enforce architectural consistency.
Replaced hardcoded Debug paths in all .csproj files with $(Configuration) for AyCode and FruitBank DLL references, enabling correct DLL resolution for any build configuration. Switched appsettings.json connection string to use the FruitBank_PROD database. Added a null check for StockTaking in StockSignalREndpointServer.cs to prevent possible null reference exceptions. Noted some encoding issues in .csproj comments and copyright fields. No other functional changes.
Refactored StockSignalREndpointServer to use helper methods for creating and updating StockTakingItem objects. Added a new SignalR endpoint to refresh StockTakingItem values. Updated order item retrieval logic and switched the connection string to use the FruitBank_DEV database. Commented-out logic for handling virtual stock was moved to helper methods.
Uncommented the stock quantity and weight update during stock taking closure, ensuring inventory is updated in the database. Changed the log level for this operation from Info to Debug. Added a new using directive and left a commented block for potential future handling of "virtual" stock items.
Cleaned up the repository by deleting auto-generated files, including assembly attributes, MSBuild and NuGet cache files, global usings, editorconfig, and project asset/restore files. Also removed project.assets.json and project.nuget.cache, clearing all NuGet package and project dependency metadata. No source code or logic was changed. This helps prevent tracking of build artifacts in version control.
Added AddPartner to FruitBankDataController, enabling partner creation via SignalR. The method logs the action, inserts the partner into the database, and returns the newly created partner, including ShippingDocuments if available.