Thu 16 Apr 2026 07:06:46 AM UTC [*] -------------- Latest commits: commit 35fe2f17540ba0808ee121d3c9b94479165bbdf4 Author: Forasky Date: Thu Apr 16 09:55:45 2026 +0300 fix(DEV-11706): fix tests [*] -------------- Commits for the last successful build: commit 35fe2f17540ba0808ee121d3c9b94479165bbdf4 Author: Forasky Date: Thu Apr 16 09:55:45 2026 +0300 fix(DEV-11706): fix tests commit e151df62854198ce11ac3fc9cdc75d2beab41b97 Author: Yevgeniy <47440198+derevyankin1993@users.noreply.github.com> Date: Thu Apr 16 11:20:17 2026 +0500 fix(DEV-11705): Bad state: No element commit 9d2c8a9a75d945417ab85f266aa56ebf2cdd4acc Author: Yevgeniy <47440198+derevyankin1993@users.noreply.github.com> Date: Thu Apr 16 10:25:20 2026 +0500 fix(DEV-11634): The opening of the shift is duplicated commit ad583cea9dc61de86e2b2c67872c91a36f25948d Merge: 498fa8ef7b bf12d89edf Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 22:52:52 2026 -0400 Merge branch 'NewOrderBloc' into dev commit bf12d89edf4f7b3eb21139a95b9fc071ba4ca542 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 22:48:28 2026 -0400 docs(phase-4): update Step 5/6 status — lib/features/ + lib/core/ fully typed, Step 6 DONE commit bfd402912cd752e7ee2d9eae592ab76430ab86b8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 22:47:01 2026 -0400 refactor(error): Phase 4.5 — migrate ALL remaining 29 untyped throws in lib/core/ to typed AppException commit 36a3a154450399589bef43badf8fe32c3c714cf2 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 22:37:56 2026 -0400 refactor(error): Phase 4.5 — migrate 36 untyped throws in core/data/sources/remote to typed AppException commit 17b773c17698bc3b1fe384fc52923a69a021d2de Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 22:33:03 2026 -0400 refactor(error): Phase 4.5/6 — eliminate ALL untyped throws in lib/features/ (~50 sites across 24 files) commit c0bf26d8e0c29828fb10b66386cf1ff4416127aa Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 22:23:48 2026 -0400 refactor(error): Phase 4.6 — migrate 21 throw Exception() to typed AppException in create_order_reason, discount_clients_cubit, location_remote_source commit 5a347f0adda8952589e190c0a7d034a3fee49538 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 22:15:49 2026 -0400 refactor(error): Phase 4.6 — migrate remaining 4 throw Exception() in terminal to typed AppException commit cac0c4bc6c9c19806448b570dbf8be5e4af8aed0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 22:08:38 2026 -0400 refactor(error): Phase 4.6 — migrate all terminal bloc bare string throws to typed AppException (~20 sites) commit 498fa8ef7b99c3f2905a1ef2cd9fb39638570606 Merge: bb590d87e7 3038daed93 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:57:33 2026 -0400 Merge branch 'NewOrderBloc' into dev commit 3038daed93cd9a862e2d9769dd35651b5e872502 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:45:48 2026 -0400 refactor(error): Phase 4.7 — migrate final 3 bare string throws in core/usecases to typed AppException commit f064507ba24ba2d79103eaf493547b347e64cdda Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:38:57 2026 -0400 docs(master): refresh Phase 2/6 status in MASTER_STABILIZATION_PROMPT.md commit 8b357fb5cdff082093e43a05ff011b3f219ba866 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:31:29 2026 -0400 refactor(terminal): remove _executeFiscalWithTimeout wrapper — callers use FiscalTimeoutExecutor.run directly commit c668e5f90faa87408cf4e550e2ec36bd90013d15 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:29:13 2026 -0400 refactor(terminal): remove _isSemiIntegrationDevice wrapper — callers use top-level helper directly commit 77f365aa37e22c918182594afab6cf87b41e2de2 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:25:23 2026 -0400 chore(test): clean up 4 pre-existing analyzer warnings in test/ commit 8bd858684ce7c59094e03dd1e015ac15d33c0da0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:24:00 2026 -0400 chore(deps): Phase 6 Step 0 — remove unused flutter_driver dev dependency commit c912b5cd40230ac8d8fafdd3dc5f4fa2f01ce1e7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:14:08 2026 -0400 docs(phase-6): Step 0 audit — test infrastructure inventory + deferred pubspec items commit f720b87274d35b1ff037a0a1ddc5b7715bc66b42 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:09:51 2026 -0400 docs(phase-4): Step 0 audit — error landscape snapshot post Steps 1-7 commit 1c8ed216f1a816d586ef1b523dba76863ee63519 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:04:29 2026 -0400 docs(phase-5): Step 0 baseline audit — module-boundary violation counts commit b489db83b8e9a7ae7855ceb411af6f6288279994 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:55:39 2026 -0400 docs(phase-3): mark Step 0 audit DONE (captured in existing Current State section) commit d7f0685d3724dbce6cff35035b79fc5d4c8b4c90 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:46:57 2026 -0400 test(terminal): Phase 2.10 increment 21 — backfill findActiveAutogratuityDetail + shouldRouteSlipFlowToCustomerScreen tests commit b75bd4f0ddcbcaaedfdb9245e4c8cc5274f114cc Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:37:54 2026 -0400 refactor(terminal): Phase 2.9 increment 19 — extract FiscalReportService.resolveIsOriginalOrderFiscalized commit 42c47dd78bfba76fdb6b6f3701bd9a2094696512 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:34:18 2026 -0400 refactor(terminal): Phase 2.9 increment 18 — extract _encodePaymentDataOrNull bloc helper commit de50db94ffbe5f777bcfd03fed02b952183333fb Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:30:16 2026 -0400 refactor(terminal): Phase 2.9 increment 17 — extract _applySalePaidLoyaltyRemoval bloc helper commit bb590d87e726b25a6d215cdc557efa1d9cf42629 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:45:48 2026 -0400 refactor(error): Phase 4.7 — migrate final 3 bare string throws in core/usecases to typed AppException commit 4d84116a1028dca0f8202e3e5ed8f91e4d890b45 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:38:57 2026 -0400 docs(master): refresh Phase 2/6 status in MASTER_STABILIZATION_PROMPT.md commit b64059ef67b0bbac5cf2542c90f3b73008978616 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:31:29 2026 -0400 refactor(terminal): remove _executeFiscalWithTimeout wrapper — callers use FiscalTimeoutExecutor.run directly commit a66d3d92e8e97f426afdbacf8ee2b6518f0013a3 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:29:13 2026 -0400 refactor(terminal): remove _isSemiIntegrationDevice wrapper — callers use top-level helper directly commit fb39d4c39f6d9a6bf48c45717a9270eb9f98683f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:25:23 2026 -0400 chore(test): clean up 4 pre-existing analyzer warnings in test/ commit 307b55ced31c414149a290cca187a58b3f995d43 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:24:00 2026 -0400 chore(deps): Phase 6 Step 0 — remove unused flutter_driver dev dependency commit 6780c9894278a489a1dd6c1ac43c547791718328 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:14:08 2026 -0400 docs(phase-6): Step 0 audit — test infrastructure inventory + deferred pubspec items commit 81c68e0bd6ad27106795faaff3b3abfbf1457e0a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:09:51 2026 -0400 docs(phase-4): Step 0 audit — error landscape snapshot post Steps 1-7 commit 7d547e52a58cd4313ab73eb12d9bba71b4c86a9e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 21:04:29 2026 -0400 docs(phase-5): Step 0 baseline audit — module-boundary violation counts commit 0d7bd28686ff71e0c7c76a8f664ef97e95440795 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:55:39 2026 -0400 docs(phase-3): mark Step 0 audit DONE (captured in existing Current State section) commit 7e18bbc93a232cb5638b56058dc84c743ceebcc8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:46:57 2026 -0400 test(terminal): Phase 2.10 increment 21 — backfill findActiveAutogratuityDetail + shouldRouteSlipFlowToCustomerScreen tests commit c48847ff4bc7f2d5edcb5fe7ba1c056bc632c63f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:40:21 2026 -0400 refactor(terminal): Phase 2.9 increment 20 — wire extractClosingBatchData into _closeShift commit eabfd5cf1b76c649824854c87dec7e9e97888487 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:37:54 2026 -0400 refactor(terminal): Phase 2.9 increment 19 — extract FiscalReportService.resolveIsOriginalOrderFiscalized commit 412729f466efe6bead5c45a3054ef44fa86e4996 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:34:18 2026 -0400 refactor(terminal): Phase 2.9 increment 18 — extract _encodePaymentDataOrNull bloc helper commit 5a1fc834f8f9859bad5648745a256cada964667d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:30:16 2026 -0400 refactor(terminal): Phase 2.9 increment 17 — extract _applySalePaidLoyaltyRemoval bloc helper commit 1d5357956159063efd07790d5671cb6f7a311916 Merge: a04ef0bd7c bf9fb5af4b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:27:58 2026 -0400 Merge branch 'NewOrderBloc' into dev commit bf9fb5af4bbf861ea3617be12fe9f02975c1784f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:24:12 2026 -0400 docs(terminal): Phase 2.11 increment 2 — catalog increments 3-16 in AGENTS.md commit 8e5c74af6355fb852786317737148d65daef93da Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:23:07 2026 -0400 refactor(terminal): Phase 2.9 increment 16 — wire resolveCustomerScreenTargetWpid into _sendFailedMessageToSocket commit ac4e65475663efb793756d7500a3021f1eaa4313 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:17:41 2026 -0400 refactor(terminal): Phase 2.9 increment 15 — extract _resolveDeviceNotConfiguredSuffix bloc helper commit b0bc9556ef1fa6bac2b7c775e5aa6795701b8e05 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:15:29 2026 -0400 refactor(terminal): Phase 2.9 increment 14 — extract _applyReversalLoyaltyAdjustment bloc helper commit 1e1f818891023aa2c090f39287bcb3fcfe91bae7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:13:02 2026 -0400 refactor(terminal): Phase 2.9 increment 13 — extract closeDOrderFromPriceTypes commit 1cb6ccc94074c2e5c4191d3ebf7bdf0464cce1ff Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 20:04:53 2026 -0400 refactor(terminal): Phase 2.9 increment 12 — wire applyPaymentDataSaleInfoTo into _payByCard commit c9d86d4f46616e8ba3de4c64d02bdf3283c701c2 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:58:43 2026 -0400 refactor(terminal): Phase 2.9 increment 11 — extract applyPaymentDataSaleInfoTo commit e28df0de1d26715defcbd34984debe3afeea617b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:55:30 2026 -0400 refactor(terminal): Phase 2.9 increment 10 — extract buildReverseDiscount commit dbd6325930e9e0613e34503747bdd5536d2585a5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:53:02 2026 -0400 refactor(terminal): Phase 2.9 increment 9 — wire shouldRouteSlipFlowToCustomerScreen into void/refund services commit 0af4a1333f13a2fc82d6ccaaf1c586ee5628ee31 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:51:19 2026 -0400 refactor(terminal): Phase 2.9 increment 8 — extract isPaymentFullyReversed commit 42ee5a8e40b2447320c153ea028f722366b09f43 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:47:17 2026 -0400 refactor(terminal): Phase 2.9 increment 7 — wire shared helpers into void/refund services commit 714c6349cd7fcb64e77252171e717b88d0d04621 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:45:08 2026 -0400 refactor(terminal): Phase 2.9 increment 6 — extract buildSplitModelFromSplitCheck commit ad9d02c8807c161baf373d98e15ed3be9de9f1b3 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:39:27 2026 -0400 refactor(terminal): Phase 2.9 increment 5 — extract resolveCustomerScreenTargetWpid commit f580f5959048d6a733f913d2ce5d0827ebef136a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:37:34 2026 -0400 refactor(terminal): Phase 2.9 increment 4 — extract selectNextStepCfdCommand commit f5196cf84bc39e58b4d66f34949ff747fce5f6cf Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:31:27 2026 -0400 refactor(terminal): Phase 2.9 increment 3 — promote paymentLoadingScreenTimeoutSeconds to terminal_utils commit 313bdb8f636ec26db28156b5c2386a61bab813f3 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:25:15 2026 -0400 chore: delete 5 entirely-commented-out dead files commit b7bdbbfceef3e61df134d7ee83c17c42a0f67a4f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:20:10 2026 -0400 refactor(module-boundaries): Phase 5.3.1.10 — drop checkout_exports from 2 test files (extension_utils_test, checkout_math_test) commit 688106489805acf090a9f6a535d65c9fbcfdce77 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 19:10:43 2026 -0400 refactor(module-boundaries): Phase 5.3.1.9 — eliminate checkout_exports from entire lib/ (19 remaining files) commit 1006da83c09cf289275e5072d886de8d0ec031c9 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 18:43:25 2026 -0400 refactor(module-boundaries): Phase 5.3.1.8 — all lib/features/ free of checkout_exports (final 9 files) commit 8f46f2c8a1ee821f686da8db6203a44837115005 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 18:31:59 2026 -0400 refactor(module-boundaries): Phase 5.3.1.7 — finish order_checkout/new_aptito/ subtree (12 files) commit 271295dc151a91b3fe47c7e060b5d2caa1a5f6c6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 18:17:14 2026 -0400 refactor(module-boundaries): Phase 5.3.1.6 — finish order_checkout/taylor/ subtree (8 more files) commit 63c211d77be2f11f509e331228bd079f58fd16e4 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 18:05:02 2026 -0400 refactor(module-boundaries): Phase 5.3.1.5 — drop checkout_exports from 7 small taylor/aptito widgets commit c6d03a55cd5c5a8f88225e5beb9f7471d8e830cd Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 18:00:11 2026 -0400 refactor(module-boundaries): Phase 5.3.1.4 — finish order_checkout/new_paloma_updated/ subtree (15 files) commit 72f9582bb3013401913a8a217673c7e057c82b36 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 17:39:49 2026 -0400 refactor(module-boundaries): Phase 5.3.1.3 — finish order_checkout/leaf/ subtree (5 more files) commit 47300ad9ebcae2df78ed2921b0270536569f633d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 17:30:02 2026 -0400 refactor(module-boundaries): Phase 5.3.1.2 — drop checkout_exports from 4 more leaf checkout files commit 377b8d3c55b1c089230d4ca079c72be00b74e194 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 17:21:36 2026 -0400 refactor(module-boundaries): Phase 5.3.1.1 — drop checkout_exports from 2 leaf checkout files commit 0af61b1aaa1d1829c40cd540d1214ff10a009180 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 17:15:50 2026 -0400 refactor(module-boundaries): Phase 5.2.13 — drop checkout_exports from app_router.dart (last core file) commit 4656c4003011ebc95218f7df6ebb8fd186de46f2 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 16:32:44 2026 -0400 refactor(module-boundaries): Phase 5.2.12 — drop checkout_exports from core/data (6 umbrellas + 20 parts) commit 257a80c2e3fc6015404466438b76577717aacef3 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 16:23:50 2026 -0400 refactor(module-boundaries): Phase 5.2.11 — drop checkout_exports from remaining 11 usecase files commit bc2d173b757bd65a22c90fdb24c8f4e717b8e63c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 16:15:33 2026 -0400 refactor(module-boundaries): Phase 5.2.10 — drop checkout_exports from 4 part-file usecase umbrellas commit 37b65f2f16c68c3190ae2d644b7818869ef28cae Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 16:07:56 2026 -0400 refactor(module-boundaries): Phase 5.2.9 — drop checkout_exports from 3 usecase files commit 7655102ee6b40eef3386a1da9777596b3c264428 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 16:02:51 2026 -0400 refactor(module-boundaries): Phase 5.2.8 — drop checkout_exports from app_router_guards + dio_client commit 11abcb9839ac744e870a5452653d4949f8005aab Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:59:06 2026 -0400 refactor(module-boundaries): Phase 5.2.7 — drop checkout_exports from core/models + local_server/model + validation (6 files) commit 68859a86c4bdaef4d1da7f0a162fc18bab96b88e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:54:11 2026 -0400 refactor(module-boundaries): Phase 5.2.6 — drop checkout_exports from 5 core/components files commit 3ef747c64fba1aa82550e614957b118855f9f47d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:50:47 2026 -0400 refactor(module-boundaries): Phase 5.2.5 increment 3 — drop checkout_exports from table_utils + navigation_utils (row DONE) commit 430f775e3cc8e101f18b4f9573451b89c4304e84 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:48:17 2026 -0400 refactor(module-boundaries): Phase 5.2.5 increment 2 — drop checkout_exports from 6 more core/ files commit e29083210d7f7c88c48e816119c631b731eca499 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:42:59 2026 -0400 refactor(module-boundaries): Phase 5.2.5 increment 1 — drop checkout_exports from 5 core/ files commit 7327fad16ba120b00b294b6e9141730a1c1d6fed Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:38:58 2026 -0400 refactor(terminal): Phase 2.1 increment 8 — inline newDOrderTaxes loop as map().toList() commit 5009ca09e0b2e5101b37dbd2930998bc1c9c1f68 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:37:24 2026 -0400 refactor(terminal): Phase 2.5 increment 4 — requiresDocCloseAfterSale helper commit 06c324e06614d3e295c68dc3e30383ea16905aac Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:35:43 2026 -0400 refactor(terminal): Phase 2.4 increment 7 — findActiveAutogratuityDetail (dedup cash + card) commit 73df5740bbd164532eb4d6297f99c441ad575402 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:33:40 2026 -0400 refactor(terminal): Phase 2.4 increment 6 — computeMaxDiscountAmount + mergeFeeTaxesInto (dedup cash + card) commit 234a4607635a45a996decaa1b5b734d42a5d2162 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:30:15 2026 -0400 refactor(terminal): Phase 2.4 increment 5 — applyPostCloseDOrderMutations + shouldUnmergeTables (dedup cash + card) commit 8fee4abbaa5abba1b119a292278578cf9865a0a0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:28:11 2026 -0400 refactor(terminal): Phase 2.7 increment 5 — dedup isActiveLoyaltyRewardDiscount across 6 handlers commit 413b85f78b65728bf95e2fc8b0d79b7560a9d04c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:25:33 2026 -0400 refactor(terminal): Phase 2.4 increment 4 — PaymentCashService.applyPostPaymentPrintedStatus (dedup cash + card) commit f2f32d953e583ef59ef3fd1963d881b973cc842c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:21:35 2026 -0400 refactor(terminal): Phase 2.4 increment 3 — PaymentCashService.sumCashDiscountPaid (dedup cash + card) commit b29e93b8bbb7b55699bf25e6d8b22d96e56a0ed7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:18:09 2026 -0400 refactor(terminal): Phase 2.7 increment 4 — remove dead allPositions build in _partialRefund commit 3d07e3e91d136952a26f418d7ef0c12d5f8d9a35 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:14:44 2026 -0400 docs(terminal): Phase 2.11 increment 1 — AGENTS.md catalog of extracted pure helpers commit 4193d7f0fde1b85ecf2b41f0dfa7fe247631acec Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:12:04 2026 -0400 refactor(terminal): Phase 2.7 increment 3 — requiresPartialVoidBatchCheck helper commit bf7aeef41791fa655d7460886f72f637f9bf1500 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:10:42 2026 -0400 refactor(terminal): Phase 2.7 increment 2 — promote shouldRouteSlipFlowToCustomerScreen, reuse in _partialRefund commit 2277018cf10328e8295d01cbbafd079503524955 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:07:51 2026 -0400 refactor(terminal): Phase 2.6 increment 2 — shouldRouteAdjustTipsToCustomerScreen + mark Steps 1 and 8 commit 2b3b408aee66554e7a5f6e40767e36661f1082f1 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:05:20 2026 -0400 refactor(terminal): Phase 2.7 increment 1 — dedup buildDeviceNotConfiguredErrorSuffix across 3 handlers commit 2ebc28f0d5fdfeb62c20fdb6c18c2864b8fb3e52 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:02:54 2026 -0400 refactor(terminal): Phase 2.5 increment 3 — PaymentCardService tip-id helpers commit ad4d78372ec9db8d891ea902ad7da6f33a7656a6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:01:22 2026 -0400 refactor(terminal): Phase 2.5 increment 2 — reuse FiscalReportService.classify in _payByCard commit 5b639e8e80a97b17dbe4cdd0e51be2f21af1b182 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 15:00:04 2026 -0400 refactor(terminal): Phase 2.5 increment 1 — PaymentCardService.validatePaymentDevice + reuse splitPaidSumsByPriceType commit 46dc0c881affc4e526f38873fce96af9ffa5b0e5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:57:21 2026 -0400 refactor(terminal): Phase 2.4 increment 2 — PaymentCashService.splitPaidSumsByPriceType commit e29b35743cd547c27b5f28100d7c62c7ada9e4cc Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:55:41 2026 -0400 refactor(terminal): Phase 2.4 increment 1 — reuse FiscalReportService.classify + PaymentCashService.computeLoosedCashDiscount commit effe2eb9e5a63e8388dd919213c738e23ab0e697 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:49:04 2026 -0400 refactor(terminal): Phase 2.6 increment 1 — AdjustmentTipsService (canAdjustTips + resolveFinalTipAmount) commit 94e76cbc1cf3445c8f69084059e22efe86141eb4 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:46:42 2026 -0400 refactor(terminal): Phase 2.9 increment 2 — extract pure isDuplicateTerminalEvent commit 4cd68c41f273beaca8edce8cef2156ec0199c1c4 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:45:22 2026 -0400 refactor(terminal): Phase 2.9 increment 1 — dedup isSemiIntegrationDevice into terminal_utils commit 8423fb1fd371ad669d36c7785f24d1b687a30c3f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:41:22 2026 -0400 refactor(terminal): Phase 2.3 increment 1 — reuse FiscalReportService.classify in _closeShift commit 48abcc7e2d7c170325d65b4c714e9cf0a9e5d051 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:39:36 2026 -0400 refactor(terminal): Phase 2.1 increment 7 — TerminalOrderUpdateService.classifyGiftCardIssuance commit 8c314bcb624635eb15b10ee2b8dd9f0a982f3080 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:36:55 2026 -0400 refactor(terminal): Phase 2.1 increment 6 — TerminalOrderUpdateService.shouldIssueGiftCard commit 7f962935f4c107dc042d2e0d25d19ffafb390358 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:35:08 2026 -0400 refactor(terminal): Phase 2.1 increment 5 — TerminalOrderUpdateService.shouldPrintMerchantCopy + shouldSkipKitchenReceipt commit dccc3707e4921ce762f7dbac5dc05c6390deb8d5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:24:59 2026 -0400 refactor(terminal): Phase 2.1 increment 4 — TerminalOrderUpdateService.shouldRouteToTipsStep commit 21508c7567ef2ab593e3337f3156373c99a53747 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:14:36 2026 -0400 refactor(terminal): Phase 2.1 increment 3 — TerminalOrderUpdateService.shouldForceCloseAfterPayment commit 3a553929558027c57a88efe78dd6c11f9eb504f0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 14:04:41 2026 -0400 refactor(terminal): Phase 2.1 increment 2 — TerminalOrderUpdateService.buildDeliveryPaymentMap commit 5f059bd5ce72b8e127a3beea1dbf4ec622e4006d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 13:57:33 2026 -0400 refactor(terminal): Phase 2.1 increment 1 — TerminalOrderUpdateService.shouldSendOrderOut commit e585d06ae21b9b30ac6e9361cbe7bc9835b8c814 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 13:48:12 2026 -0400 docs(phase-2): mark Step 2 FiscalReportService DONE Increments 1-5 landed (94e9d4df2f, 1149516d47, e8c8fcc2dd, 54576c771a, d9c3aab542). Optional onSuccess/onError emission classifier in _closeBatch deferred to Step 7 cleanup — remaining handlers are thin (service call + emit) and further extraction belongs with the refund/void cleanup pass. commit d9c3aab5428ae93805cf08616fff6931348f450c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 13:43:50 2026 -0400 refactor(terminal): Phase 2.2 increment 5 — FiscalReportService.extractClosingBatchData Adds a pure, defensive helper that extracts the provider-specific `closingBatch` sub-map from a `TerminalResult.paymentData`. `_closeBatch` onSuccess now calls it instead of doing an unchecked `paymentData[provider.name]['closingBatch']` index into an IMap. Returns an empty map on any missing / wrong-typed segment. +5 tests. commit 54576c771a5f491d922f174d9c2f35e778eb9b07 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 13:35:45 2026 -0400 refactor(terminal): Phase 2.2 increment 4 — FiscalReportService.classifyCloseBatchRouting Adds pure `classifyCloseBatchRouting()` returning sealed `CloseBatchRouting` (NoDevice / RedirectToCustomerScreen / ExecuteLocal). `_closeBatch` now delegates the pre-device / customer-screen-redirect decision to the service instead of branching on `DeviceUtils`, `SocketClient`, and `sharedDB` inline. +6 characterization tests. commit e8c8fcc2dd8d21744bd15533f62817b9db2f8b08 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 13:30:18 2026 -0400 refactor(terminal): Phase 2.2 increment 3 — FiscalReportService.classifyBatchInfo Add pure `classifyBatchInfo()` + sealed `BatchInfoOutcome` (Success/Failure) to FiscalReportService. Wire `_batchInfo` to pattern-match the outcome instead of branching on `TransactionResult` inline. Behaviour preserved. +3 characterization tests. commit 1149516d4772d3932382a842ea6b0557eeb3e102 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 13:20:44 2026 -0400 refactor(terminal): Phase 2.2 increment 2 — wire FiscalReportService.classify into _runFiscalReport X/Z report handlers now branch on the sealed FiscalReportOutcome from FiscalReportService.classify() instead of a raw success/else check. Behavior is preserved: Success triggers ReportFiscal + completed state; Skipped and Failure share the failed-emit path using fiscalResult.errorText. Dropped @visibleForTesting now that classify() has a production caller. commit 94e9d4df2f69fbec88a8f89d67ffd02a6a3cf5b3 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 13:17:25 2026 -0400 refactor(terminal): Phase 2.2 increment 1 — FiscalReportService skeleton + classify() First extracted slice of terminal_bloc.fiscal.fiscal_reports.dart. Pure `classify(FiscalResult, TFiscalOperation)` maps the raw TransactionKassaResult onto a sealed FiscalReportOutcome so the BLoC handler can pattern-match the three outcomes instead of branching on enum strings inline: - FiscalReportOutcome$Success { operation, fiscalName, paymentData } - FiscalReportOutcome$Skipped { operation, fiscalName } - FiscalReportOutcome$Failure { operation, fiscalName, errorText, errorType } 6 characterization tests pin the current mapping as the regression fence before the BLoC handler is rewired in the next tick: - success → Success with paymentData preserved - success + null paymentdata → Success.paymentData == {} - skipped → Skipped - error → Failure (errorText + errorType preserved) - changeClosed → Failure (current behavior) - sealed switch exhaustiveness Phase 2 Step 2 tracker moved to IN PROGRESS. commit 5bde357fa62dd160933d4e47797c138b8a6b7b46 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 13:12:34 2026 -0400 Update MASTER_STABILIZATION_PROMPT.md commit 49530160b100484df766e0343cfdba2dcf7ac80d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 13:06:35 2026 -0400 test(stream_exhaust_map): Phase 6 pin exhaustMap semantics 9 regression cases for the ExhaustMapStreamExt.exhaustMap extension: - fast source drops events while async inner stream is alive (documents the actual [10, 30] behavior for Stream.fromIterable + Stream.value, not the intuitive [10, 20, 30]) - single-event source passes through unchanged - explicit async inner stream drops mid-flight source events and recovers on the next after-completion event - output stream closes after both source and inner complete - errors from the inner stream are forwarded (not swallowed) - errors from the source stream are forwarded - broadcast source → broadcast output - single-subscription source → single-subscription output Pins the 'drop source events while busy' contract that the extension replaces RxDart's exhaustMap for. commit 7867f2632f884c5618a51b869351894fb8b9f88b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:56:41 2026 -0400 test(extension_utils): Phase 6 broaden coverage for pure string/object extensions 41 new cases across 7 extension groups on the already-tested extension_utils file: - AptitoCheckoutActionExtension.toName (5 cases including every-value sweep) - StringExtension.nullIfEmptyOrLiteralNull (6 cases) - StringExtension.emptyIfLiteralNull (3 cases) - StringExtension.toUpperCamelCase (6 cases: space/underscore/hyphen separators, existing-caps preservation, empty) - StringExtension.addSQLCondition (4 cases: empty base, AND joining, empty new, both empty) - StringExtension.ifEmpty (2 cases) - ObjectExtension.isNullOrEmpty (9 cases spanning null / empty+non-empty string / list / map / int) - ObjectStringExtension.toEffectiveString (5 cases) Pins the literal-'null' sentinel + whitespace-trimming contract for the nullIfEmptyOrLiteralNull family, which is used heavily by code that migrated from raw JSON payloads. commit 14a7b9c62642e6e5d82e8fd197b697012f659c8a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:47:22 2026 -0400 test(error): Phase 4.8 add retry-eligibility + throwing-contract cases 5 new AppException test cases: - Pattern-matching retry-eligibility: sealed switch classifies network/timeout as retryable and every other subtype as not - Throwing contract: catchable via on-clause for the specific subtype, catchable via on-clause for the sealed base (with runtimeType/code preserved), identity-preserving rethrow Documents the retry pattern the Phase 4 plan promised: ``` bool isRetryable(AppException e) => switch (e) { AppException$Network() || AppException$Timeout() => true, ... }; ``` commit 22c0a3a72dfc98ae505ca6b2a1b0a2310b9d4a06 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:44:55 2026 -0400 docs(master): sync top-level phase status table with real progress Phase 1 → LARGELY DONE (firstWhere fixes complete, try/catch on BLoC handlers PARTIAL, CRUD await DONE, build_context_synchronously PARTIAL). Phase 2 → NOT STARTED (Step 0 audit only). Phase 3 → LARGELY DONE (TOrder/DOrder equality, copy parentid, dedup, AOrder non-mutating sort + appendPayment, DOrder/OrderInfo/AccountData audits landed in GLOBAL_STATE_AUDIT.md). Phase 4 → LARGELY DONE (Steps 1/2/3/4/5 DONE, Step 6 LARGELY DONE with ~95 BLoC sites migrated, Steps 7/8/9 PARTIAL). Phase 5 → IN PROGRESS (Step 3.4 integrations DONE; Steps 2.2/2.3/2.4 barrel-routed; lib/core + lib/devtools + lib/app surface-cleaned; Steps 1/3.1/3.2/3.3/4-7 NOT STARTED). Phase 6 → IN PROGRESS (test batches landed for equality, error helpers, math, terminal util, OrderInfo, address, time formatter). commit f18f231b8778cb2a5df095641c7f7869906fbe9b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:42:09 2026 -0400 docs(error-system): Phase 4.9 write AGENTS.md for lib/core/error/ Canonical rules doc for the typed error hierarchy: - when to throw each AppException subtype (table covering Unauthorized/NotFound/Server/Validation/Conflict/Cache/Network/ Timeout/Cancelled/Unexpected) - the throw-don't-stringify rule with before/after examples - BLoC catch pattern with userMessageFor() helper - ExceptionUtils Sentry-routing rules from Phase 4 Steps 2+3 - what-not-to-do list (no bare Exception('...'), no e.toString() in failure states, no swallowed catch blocks) - cross-links to Phase 4 plan, regression tests, and the canonical logger. Phase 4 Step 9 tracker moved to PARTIAL. commit 2b62b21c1fbc6671abb42165bbe87015efd24ee9 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:40:33 2026 -0400 test(extension_utils): add TimeOfDayFormatter.formatToString coverage 4 new cases pin the HH:mm padding contract: - 9:5 → 09:05 (hour+minute padding) - midnight → 00:00 - 23:59 → 23:59 - noon → 12:00 The extension uses DateFormat.Hm() which normally locale-switches, but in tests always renders with the Hm pattern; these cases document the invariant. commit 154ef2a11a6378fd2dc4e20e4b53d41939ddddbb Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:37:57 2026 -0400 refactor(module-boundaries): Phase 5.3 drop deep order_list cross-feature imports - support_screen/leaf_help_screen: dropped deep DetailAppBarWidget import (already provided by order_list_public) - table_service/taylor_table_service_screen: dropped deep order_data.dart import (now provided by order_list_public) Widens order_list_public to also re-export OrderData widget from presentation/widgets/taylor/widgets/order_data.dart show OrderData. commit 6ecfa31a5b10e93c2c79203eb1cd305d8a845efe Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:35:14 2026 -0400 refactor(module-boundaries): Phase 5.3 cross-feature widget barrel routing Files: - order/aptito/widgets/stop_list/aptito_stop_list → settings_public show SettingsCuppertinoSwitchTile - location/presentation/screens/timezone_autocomplete_field_screen → inventory_public show InventoryCustomDropdownWidget - leaf_main_screen/widgets/leaf_inventory/tabs/{modifiers,items,categories} → drop redundant deep imports now provided by inventory_public Two feature barrels widened: - settings_public re-exports SettingsCuppertinoSwitchTile - inventory_public re-exports InventoryCustomDropdownWidget, FilterAndSort, InventoryAddNewObjectWidget Also drops a transitively-redundant custom_dropdown_widget import in inventory/.../filter_sort_popup_widget that the analyzer flagged after the inventory barrel widened. `dart analyze lib/` clean. commit b5b15e3d4886e35a7d5362201bb319d81b3c0a99 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:29:11 2026 -0400 refactor(module-boundaries): Phase 5.3 route lib/devtools + lib/app through feature barrels 5 files migrated: devtools: - logger/exception_utils → ui_public (status_bar_info_message) - details_screen → order_checkout_public + ui_public show AppTheme app: - app_bloc_providers → authentication_public show CheckDbConnection, order_public show TaylorOrderCubit, table_service_public show NotificationsBloc Two feature barrels widened: - authentication_public re-exports CheckDbConnection use case - order_public re-exports taylor_cubit (TaylorOrderCubit) `lib/devtools/` and `lib/app/` are now free of deep `features/.../...` paths. `dart analyze` clean. commit 394010ee3f0a422f8d76291127623fc3a1eccc8f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:24:46 2026 -0400 docs(phase-5): mark Step 2.4 (data sources reverse deps) PARTIAL commit 19f59c14cc5304ca6d8104508a8784da3a9b80cb Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:24:06 2026 -0400 refactor(module-boundaries): Phase 5.3 route core/data + DI roots through feature barrels Final core/ deep feature import sweep — 14 files migrated: core/data/sources: - socket/socket_data, socket_client, socket_server → ui_public - remote/orders_remote_source → order_public, receipt_options_public, ui_public (RTableDetailType, NumberNotFoundError, SyncStatus + SyncStatusService) - remote/master_wizard_remote_source_impl → master_wizard_public - local/db_local_source → order_public + reports_public show CommonReportSQLQueries - remote/db_remote_source → reports_public show CommonReportSQLQueries core/data/repositories + source_interfaces + domain/repositories: - master_wizard_repository_impl → master_wizard_public - master_wizard_remote_source_interface → master_wizard_public - master_wizard_repository → master_wizard_public core/common: - widget/confirm_changes_dialog → settings_public show AppBrightness - dependencies/repositories → auth_pin/inventory/main_wrapper/order/transactions publics - dependencies/dependencies → reports_public, taxes_and_fees_public, inventory_exchange_public core/di: - composition_root → reports_public show ReportsDataSourceFactory, taxes_and_fees_public show TaxesAndFeesContainerFactory, inventory_exchange_public show InventoryExchangeContainerFactory - repositories_root → inventory_public show 3 factories, main_wrapper_public show MainWrapperRepositoryFactory, order_public show CreateOrderReasonFactory, reports_public show ReportsDataSource, transactions_public show TransactionsRepositoryFactory core/routing: - app_router_guards → ui_public (toast) core/validation: - check_math_batch → reports_public show CommonReportSQLQueries + ReportsDataSourceFactory Three feature barrels widened: - main_wrapper_public re-exports MainWrapperRepositoryFactory - inventory_public re-exports EmployeeInventoryRepositoryFactory - inventory_exchange_public re-exports InventoryExchangeContainerFactory `dart analyze lib/` clean. `lib/core/` is now overwhelmingly free of deep features paths — only `lib/core/routing/app_router.dart` (auto_route generated context, ~120 deep imports) and 1-2 stragglers remain. commit 16f78c8b38b5ae3351151ea42cd3f2f96bd97d48 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:11:18 2026 -0400 refactor(module-boundaries): Phase 5.3 route core/components through feature barrels 12 core/components files migrated to feature `*_public.dart` barrels: leaf: - custom_discount_selector → kiosk_public + ui_public - shared/leaf_void_cupertino_dialog → order_checkout_public, shared_public, ui_public show CheckoutFunctions/OrderWorkplaceAccessUtils/AppTheme/CoreBase - leaf_shared_functions → order_public show KitchenVoidDialog/LeafOrderDiscountWidget, order_checkout_public, ui_public show AppTheme/PalomaNoteDialog - leaf_past_payment_widget → kiosk_public paloma: - paloma_text_field → ui_public - paloma_dropdown_button_form_field → ui_public - paloma_circular_progress_indicator_wrapper → ui_public show AppTheme - common_error_widget → inventory_public show CommonPrimaryButton + order_checkout_public show PalomaColors aptito: - aptito_checkout_calculator_widget → order_public show seatSelectorShakeKey + order_checkout_public - aptito_dropdown_button_form_field → ui_public - aptito_text_field → ui_public shared: - input_formatters/money_input_formatters → order_checkout_public - widgets/paloma_language_picker → ui_public show AppTheme Widens two feature barrels to absorb new symbols: - order_public re-exports leaf_order_discount_widget.dart, kitchen_void_dialog.dart, aptito_order_modifiers_seat_selector_dialog_quantity.dart - inventory_public re-exports common_primary_button.dart show CommonPrimaryButton Also drops a transitively-redundant common_primary_button deep import in inventory/.../filter_sort_popup_widget.dart that the analyzer flagged after the inventory barrel widened. `dart analyze lib/` clean. commit 95bf46e0d5fc21ecbfd28d468c2f9ffa216d5c59 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 12:01:29 2026 -0400 refactor(module-boundaries): Phase 5.3 route core/utils + core/models through feature barrels 10 more core files migrated to feature `*_public.dart` barrels with explicit `show` lists: core/utils: - time_format_utils → settings_public show GeneralSettingsTimeFormat - date_format_utils → settings_public show GeneralSettingsDateFormat - currency_utils → settings_public show CurrencySymbol - navigation_utils → delivery_public show Delivery$Fetch - table_utils → order_public show RTableDetailType - old_utils → delivery_public show Delivery$Fetch + Delivery$Notification core/models: - r_table_details → order_public show RTableDetailType - log_operation → order_public show RTableDetailType - s_printer → settings_public show PrinterExtra - s_payment_device → settings_public show PaymentDeviceExtra(+5 variants) - i_area_object → ui_public show ObjectType - s_order_lists → order_list_public show SOrderList `dart analyze lib/` clean. `lib/core/models/` and `lib/core/utils/` now consume features only through their documented public barrels (remaining deep imports in core/ live under di/, components/, routing/ which still need work). commit 7d3e0abae2e0dc4089319828444dcc9abcb39440 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:55:36 2026 -0400 docs(phase-5): mark Step 2.3 (usecases reverse deps) PARTIAL commit 492b212af4d61e8499f7f986e0343860efc301d5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:55:00 2026 -0400 refactor(module-boundaries): Phase 5.3 route core/usecases through feature barrels 13 use-case files migrated from deep `features/.../...` paths to `*_public.dart` barrels with explicit `show` lists: - r_table_details_operations: order_public show RTableDetailType - get_remote_batch: order_public show RTableDetailType - discount_operations: order_public + order_checkout_public (CreateOrderReason, RTableDetailType, OrderCheckoutBlocInterface) - tax_exempt_operations: order_public show CreateOrderReason + RTableDetailType - compliment_operations: same - order_operations: same - remove_operations: order_public + order_checkout_public - s_printer_operations: settings_public show PrinterSettingKey, PrinterSettingsConfig - payment_devices_operations: settings_public show PaymentDeviceSettings - t_menu_items_operations: kiosk_public show SItemTMenuViewModel - master_wizard/make_preregistration: master_wizard_public - master_wizard/make_registration: master_wizard_public - get_order_type_count: reports_public show ReportsDataSourceFactory - create_structure / sync_server / sync_tables: ui_public show SyncStatus + SyncStatusService (+ SyncStatusType in create_structure) - sync_server: delivery_public show Delivery$Notification Widens reports_public to also show ReportsDataSourceFactory. Result: `lib/core/usecases/` is now free of deep cross-feature paths outside `shared/account_data`, `shared/order_info`, and the legacy `checkout_exports` barrel. `dart analyze lib/` clean. commit 47400f3d6cb8e6dee5f8e869f4dc250ce0bd243d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:45:14 2026 -0400 docs(phase-5): mark Step 2.2 (bloc_utils) PARTIAL after barrel routing commit dc445e53d999208d58d289b3d4dd70ad713f9b53 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:44:42 2026 -0400 refactor(module-boundaries): Phase 5.2.2 route bloc_utils through feature barrels core/utils/bloc_utils.dart was the worst single offender in core/ → features/ reverse-deps with 18 deep imports. Collapsed to 7 barrel imports with explicit show lists across delivery, inventory, leaf_settings, order, settings, table_service publics. Widens three feature barrels to make this possible: - order_public: re-exports leaf/bloc/quick_order/quick_order_bloc.dart - settings_public: re-exports settings_bloc, hardware_tabs_bloc, server_bloc - inventory_public: re-exports the 8 BLoCs consumed by bloc_utils (AddEditTable/AddEditTip/AddUpdateItem/AddUpdateSchedule/ItemsList/ RoomsDashboard/ScheduleSelection/TipsList/WorkplacesDashboard) Also drops one transitively-redundant deep import in inventory/presentation/menu_rotation/edit_menu_rotation/edit_menu_rotation_wrapper_screen.dart that the analyzer flagged after the inventory barrel widened. The reverse-dep itself is still present (bloc_utils is in core/ and imports feature publics) — this only normalizes the import surface to the documented public APIs. Eliminating bloc_utils entirely is Phase 5 Step 6 work. `dart analyze lib/` clean. commit ef6264193c4390bc69f1cfe3bc7e661cd3f5a8e5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:41:21 2026 -0400 refactor(module-boundaries): Phase 5.3 route core/utils → feature barrels - core/utils/device_utils: ui_public show RestartState/StatusNotifierRestart - core/utils/util_functions: ui_public show AppTheme - core/utils/snack_bar/snack_bar_service: order_checkout_public show PalomaColors - core/utils/fiscalization_utils: order_list_public show SOrderList bloc_utils.dart still has 18+ deep feature imports; that godutility needs its own dedicated tick. commit 1165c039084853420f39b71c2cb80dabd035ed31 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:38:49 2026 -0400 refactor(module-boundaries): Phase 5.3 route core/ → terminal_public 5 core files now import the terminal feature exclusively through its public barrel: - core/di/repositories_root: show MerchantCustomerCopyService, TerminalRefundService, TerminalVoidService - core/common/dependencies/repositories: same three services - core/components/leaf/shared/leaf_void_cupertino_dialog: show TerminalPaymentInfo, TerminalScreenRoute - core/routing/app_router: barrel import (auto_route generated code needs several symbols — keep unrestricted to match generator output) - core/usecases/remove_operations: show TerminalPaymentInfo, TerminalScreenRoute (used in remove_operations.void_items part file) This closes Phase 5 Step 3.4 for the core/ → features/terminal arrow. The reverse-dep is still present (core depends on a feature) but the surface is now the documented public API rather than internal file paths. commit 8cd02ff141546a3d5bb523b238ad9b74f6730381 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:35:30 2026 -0400 docs(phase-5): mark Step 3.4 (integrations) DONE commit f7bd82f8f7d373a97ee1da8279a8945c5b973da1 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:34:48 2026 -0400 refactor(module-boundaries): Phase 5.3 drain integrations deep imports (batch 5) Final sweep — lib/integrations/ is now free of deep feature paths (outside shared globals and checkout_exports legacy barrel). Migrated files: - printer/model/kitchen_receipt_data: kiosk_public show OrderType + order_public show getStatusPriorityForPrinting - printer/model/payment_receipt_data: kiosk_public show OrderType + order_public show ModifiersEquality/OrderMath/RTableDetailType + order_checkout_public show OrderCheckoutBlocInterface - printer/model/merchant_receipt_data: order_public show RTableDetailType - terminal/core/core_functions: settings_public show PaymentDeviceSetting/Settings - terminal/source/valor_semi_lifecycle: settings_public show PaymentDeviceExtra$ValorTerminal - terminal/source/halyk_qr_source: terminal_public show TerminalScreenDialogQr - terminal/source/netevia_instant_funding_source: terminal_public show TerminalBlocStatus + ui_public show AptitoCupertinoDialog - terminal/terminal_batch: terminal_public show TerminalBlocStatus - terminal/model/terminal_data: terminal_public show TerminalBlocStatus Also widens two feature barrels so the imports resolve: - order_public re-exports aptito_order_item.dart (for getStatusPriorityForPrinting) - terminal_public re-exports terminal_screen_dialog_qr.dart Phase 5 Step 3.4 (integrations) is now DONE. commit 20ce9d7639bd762c39803ab6e69970016f901199 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:17:04 2026 -0400 refactor(module-boundaries): Phase 5.3 route fiscal kassa + receipt_kitchen through order_checkout_public 6 files migrated from the internal path `features/order_checkout/bloc/new_order_checkout_bloc/order_checkout_bloc_interface.dart` to `order_checkout_public.dart` with `show OrderCheckoutBlocInterface`: - fiscal/model/uzkassa - fiscal/model/rekassa - fiscal/model/epos_kassa - fiscal/model/newcas - fiscal/model/webkassa - printer/receipt/receipt_kitchen All consumers now see the interface through the feature's public barrel. commit b6aa056df2342b09b3355961da5548de59605303 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:14:20 2026 -0400 refactor(module-boundaries): Phase 5.3 route integrations → ui barrel (batch 3) 14 more integration files migrated from deep `features/ui/{bottom,status}_status_bar/*.dart` paths to `ui_public.dart` with explicit show lists: - printer/device: printer, printer_lan, printer_star, printer_star_matrix, printer_tspl, printer_valor - printer/receipt: receipt_kitchen, receipt_merchant, receipt_payment, receipt_test - printer/printing_queue - fiscal/fiscal_auto_z_report - terminal/source/netevia_instant_funding_source - terminal/terminal_batch (+ RTableDetailType via order_public, +StatusBarNotification/Type via ui_public for part files) All `lib/integrations/` files are now free of deep `features/ui/...` imports; the barrel is the only entry point. commit a2fa206cb9b74c5b3dd265ccd3610b4a8f1f679d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 11:07:37 2026 -0400 refactor(module-boundaries): Phase 5.3 route integrations → settings barrel (batch 2) 11 integration files migrated to settings_public.dart with explicit show lists: - printer/core/core_constants: FontSizeRange - printer/core/core_function: FontSizeRange, PrinterExtra - printer/open_cash_drawer: PrinterSettingKey + ui_public BottomStatus/Stream - printer/receipt/receipt_template: PrinterSettingKey - printer/receipt/receipt_label: PrinterSettingKey + ui_public BottomStatus/Stream - printer/report/report_product | close_batch | image | waiter | print | fiscal | sales_overview: PrinterSettingKey Also widens settings_public.dart to re-export font_size_range and printer_extra so these consumers have a barrel path, and routes terminal_batch order-reason imports through order_public. Every integrations/ consumer of printer_settings now comes in through the barrel — zero deep paths remain. terminal_batch also collapses its order_reason_picker imports to a single order_public show. commit 5107ce707bb5342a98a3463d58c2b7f85d79bd7d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 10:41:10 2026 -0400 refactor(module-boundaries): Phase 5.3 route integrations imports through feature barrels integrations/ should depend on feature public API, not internal paths. Six files migrated from deep `features//domain/entities/*.dart` paths to the `*_public.dart` barrels with explicit `show` lists: - printer/model/waiter_report_data: reports entities (5) via reports_public - printer/model/sales_overview_report_data: reports entities (9) via reports_public - printer/model/product_report_data: ReportProductSalesModel - printer/model/batch_report_data: BatchReportModel - printer/report/report_batch: BatchReportModel + PrinterSettingKey - terminal/terminal_batch: transactions_repository + repository_impl + screen_enums collapsed to a single transactions_public import Each `show` list makes the public surface explicit so a reviewer can see what the integration needs from the feature without diving into internal file paths. commit 3709d6a8ae66fec45da4e7f9d1ff4ff221dd730a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 10:33:38 2026 -0400 docs(phase-4): sync tracker for Steps 7 + 8 Step 7: use cases in core/usecases/ all migrated to typed AppException (formal AppResult wrapping deferred). Step 8: exception hierarchy + result variant + userMessageFor helper covered; ExceptionUtils behavior test still missing. commit 365a86cf130d04db4a83c5b46bb5123355d6d7d4 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 10:30:56 2026 -0400 refactor(error-system): Phase 4.5/4.7 migrate core/usecases to AppException All `throw Exception` sites in lib/core/usecases/ now use typed AppException subtypes: - update_remote_order / create_remote_order: NotFound for unresolved parent item refs, Validation for duplicate TOrder id - t_workplaces_operations: NotFound(TWorkplace) - payment_devices_operations: NotFound(STypesOfPayment) for gift card - get_local_settings: NotFound(SAutomatedPoint) with entityId - remove_operations.validate_remove / .void_items: NotFound for gift card item / t_order / r_table_detail / payment_device; Server for void-failure + update failure core/usecases/*.dart is now fully typed — every throw is an AppException subtype a caller can pattern-match on. commit 7f7569297aff00527447154800148626fd1f4e45 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 10:25:14 2026 -0400 refactor(error-system): Phase 4.5 drain final long-tail (DONE) Closes the last ~25 untyped `throw Exception` sites in the data/repo layer across 17 small files: - payment_device_repository (NotFound: SPaymentDevice) - partner_employee_repository (NotFound: PartnerEmployee) - partner_access_types_repository (NotFound: PartnerAccessType) - sync_repository_impl.initialization (NotFound: STypesOfPayment) - main_wrapper_repository_impl (Server: open shift) - receipt_options_repository (NotFound + Server for fiscal error) - add_edit_form_local_data_source + taxes (NotFound: SItem/TaxLink) - add_edit_item_remote_data_source (Server: create/update item) - employee_inventory_repository.crud (NotFound + Validation) - discount_clients_repository_impl (Validation: phone) - kitchen_repository_impl.status_changes (Server: sms send) - customer_screen_repository.order_handlers + events (NotFound) - product_sales / waiter_report / sales_overview (Server + NotFound) Result: every *_data_source*.dart and *_repository*.dart file under lib/features/ is now free of untyped throws. Phase 4 Step 5 -> DONE. commit e1ea23e192995871f766cc33a8939c44eba4ff24 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 10:15:59 2026 -0400 test(address_utils): formatAddress SAddress variant + FormatException + custom format Adds 5 regression tests: - FormatException thrown on unknown placeholder in a custom format - one-line custom address format renders correctly - formatAddress(address: SAddress) delegates through with building/street/unit/city/state/zip/country - formatAddress with an all-null SAddress returns empty string - formatAddress() with no argument returns empty string Pins the template-processing contract before any Phase 5 refactor. commit 4cd533d01c3f2ca4832c47dcc4bd736796586252 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 10:10:54 2026 -0400 test(terminal): PaymentDataBatchInfo.closeBatchDataParse netevia family + instantFundingAmount Adds 7 regression tests pinning: - neteviaPinPad's nested batch_data.payload.report parse path - netevia's CreditAmt/100 conversion with svc/taxes/tips forced to 0 - sunmiTsysTerminal's batchNetDeposit/100 conversion - null return for unsupported providers (pax) - instantFundingAmount precedence: root instant_funding_amount → batch_data.instantFundingAmount → null commit 92c96e8df44c86196d7c17d5f4da8b720fec328f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 10:09:43 2026 -0400 docs(phase-4): sync tracker for Step 5 LARGELY DONE (238 sites / 23 files) commit 68c6de5f1070d7fdf5165338054dca071ababfd5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 10:09:00 2026 -0400 refactor(error-system): Phase 4.5 migrate long-tail data sources + repos Another ~60 throw sites migrated across the smaller data-source / repository files: - access_types_data_source (14: validation + server) - reports_data_source (9: server) - customer_screen_repository.card_payments (9: NotFound with entityType/Id) - order_tips_repository (5: NotFound + server) - clock_time_repository_impl.load (5: NotFound + server) - add_edit_form_remote_data_source (4: server) - support_channel_repository (4: server) - paloma_gift_card_repository (5: Validation + NotFound) - factor4_gift_card_repository (4: Validation + NotFound) - settings_data_source (1: NotFound for c_base_config) Each site picks the most specific AppException subtype (NotFound with entityType/Id, Validation with field, Server with optional statusCode) so callers can pattern-match instead of string-inspecting e.toString(). commit f72d463c54135912478183300a9e4d8270e994df Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 10:00:35 2026 -0400 refactor(error-system): Phase 4.5 migrate top-10 remaining: auth token + db row-ops + paloma gift repo 46 throw sites migrated across the last three top-10 high-volume files: - auth_remote_source.token (13): unauthorized when partner token missing, server errors with HTTP statusCode carried through for the two "Failed to fetch token" paths - db_remote_source.row_ops (16): validation errors for missing data/id/ids/table_name with `field:` populated, server errors for backend message / unknown response shape - paloma_gift_card_repository.transactions (17): validation for precondition checks, NotFound for the missing R table detail lookup Phase 4 Step 5 now at **LARGELY DONE**: running total 178 sites across 13 files, covering all top-10 high-volume data sources. Long-tail smaller files remain for follow-up. commit a591eb551dd5dd3b412c8f9d19c43ddc93ebc301 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:54:20 2026 -0400 refactor(error-system): Phase 4.5 migrate factor4 gift-card data source + repository 34 throw sites migrated across the factor4 domain: - factor4_gift_card_data_source.transactions: 8 server errors - factor4_gift_card_data_source.transactions.void_issuance: 12 server errors - factor4_gift_card_repository.transactions: 14 sites, all precondition failures, routed to AppException$Validation (11) or AppException$NotFound (1, R table detail lookup) Running Phase 4.5 total: 131 sites across 10 files. Gift-card pathway is now fully typed. commit 4dc881fca091ec80fa7b3bac56e789b620428120 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:50:13 2026 -0400 refactor(error-system): Phase 4.5 migrate paloma_gift_card_data_source 35 throw sites across the paloma gift card data source and its spend_void part file migrated to AppException$Server. GiftResponseException remains for errorMessage-bearing payloads. Running Phase 4.5 total: 97 sites across 7 files. commit c754d14d33a2981b9a70a1fd3ac3665f311d0c66 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:46:24 2026 -0400 refactor(error-system): Phase 4.5 migrate partner_data_source accounts+merchants 34 throw sites migrated across the two partner_data_source part files. Authorization-failure paths throw AppException$Unauthorized; server errors (register/update partner/owner/account/merchant mark, load subpartners/partner accounts/info) throw AppException$Server with the backend message preserved. register-partner statusCode path now carries the HTTP status via AppException$Server.statusCode. commit a8a3be0a64251f5e4cf7275169a71921fbaf27a5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:43:07 2026 -0400 refactor(error-system): Phase 4.5 migrate partner_employees_data_source 8 throw sites migrated: 4 authorization-failure paths now throw AppException$Unauthorized, 4 server-failure paths throw AppException$Server with the backend error message plus the same Account/WP context used for debugging. commit e2d2a1e8cd89b08b33be2a34ef92284fcba96641 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:41:44 2026 -0400 refactor(error-system): Phase 4.5 migrate access_types_data_source to AppException 16 throw sites migrated: the 8 authorization-failure paths now throw AppException$Unauthorized (so callers can route straight to sign-in instead of string-matching 'Authorization failed'), and the 8 server-side failure paths throw AppException$Server with the same backend error message preserved for display/logging. commit 562a45720a91062315f234f8952b2dec9e7ba154 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:40:01 2026 -0400 refactor(error-system): Phase 4.5 migrate taxes_and_fees_data_source to AppException Replaces all four `throw Exception(...)` sites in taxes_and_fees_data_source.dart with `AppException$Server` so callers can pattern-match on the typed hierarchy instead of string-inspecting `e.toString()`. Tracker moved to IN PROGRESS for Step 5; top-10 high-volume files (gift cards, partner portal, auth token, db_remote_source) remain for follow-up ticks. commit c5ce6658af1629fba49453abf5ae0c2e8b6d640b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:38:42 2026 -0400 fix(logger): Phase 4.3 finish logRemoteOrLocal per-call Sentry opt-in logRemoteOrLocal now takes a `disableSentry` named parameter defaulting to false. Previously this method hard-coded `disableSentry: true` when calling LoggingMethods.log, which silently dropped every database/API error from Sentry. Callers that expect recoverable or expected failures (a known 404 on a sync retry, etc.) can still opt out by passing `disableSentry: true` per call site — this restores the old behaviour only where genuinely intended instead of project-wide. Phase 4 Step 3 tracker moved to DONE. commit 416db66ad0a968284213595f74f60ff17b3a2904 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:35:33 2026 -0400 fix(logger): Phase 4.3 stop silencing Sentry during empty-token startup logRuntime previously set disableSentry=true whenever the session token was empty, which meant any error thrown during app startup, sign-in, or token refresh vanished from Sentry — precisely the class of bug we need reported. Keep the dialog and z-log muted (no session to attribute to), but let Sentry through. Also adds unit coverage for OrderInfo's static-field contract (increasePricePercent transform, null/round-trip for slipId/cashId, cashDiscountPercent verbatim) so the Phase 5 migration has a safety net. Phase 4 Step 3 tracker moved to PARTIAL — logRemoteOrLocal still needs a per-call opt-in follow-up. commit 63f85b9d0364d4ab919ac9c8d9f2776de9c7a378 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:30:03 2026 -0400 docs(audit): Phase 3 Step 5 DOrder mutating API Enumerates the five mutating methods/setters on DOrder (employeeId, setObjectid, regenerateGuid, applyCleanDiscounts, ensureId) with their known call sites (\~6 total) and a copy-then-assign migration plan for the eventual Phase 5 field-by-field final cleanup. Folded into refactoring/GLOBAL_STATE_AUDIT.md and the Phase 3 tracker. commit eb18ee59e614a8bde07d1afabb87a4ed0227a7cd Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:28:51 2026 -0400 chore(git): untrack Claude Code runtime lock + gitignore rule Accidentally committed .claude/scheduled_tasks.lock in the previous commit. This file holds per-session scheduler lock state and must not be tracked. Add it (and .claude/settings.local.json) to .gitignore. commit 8fa1ee24cd674e9e62812f91dea9f6dff5da38a5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:28:02 2026 -0400 refactor(error-system): Phase 4.6 drain remaining BLoC error emissions Migrates the last 20+ failure-state sites across: - OrderListBloc (filters/sort/load part files) - DeliveryBloc (search_sort/print_notify/load/clients part files) - PartRefundBloc (refund + load part files) - PrintoutsBloc (operations + fetch_filter part files) - TransferOrderBloc (6) - ToGoMenuBloc - NotificationsBloc (7) - SelectWorkplaceCubit After this batch every non-commented `(error|message): e.toString()` site under lib/features/ routes through userMessageFor. Tracker updated. commit cba018bc15d775a8fbb544d048e927e7d773b832 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:14:46 2026 -0400 test(validation): CheckMathBatch.calculateBatchTotalAmount + tipAdjustmentCountQuery Pins the batch total formula (sum+tips+taxes for netevia/pax/halyk et al, sum-only for valor), verifies zero-batch invariant across all terminal provider variants, and the SQL scaffold for the tip-adjustment reconciliation query (device id injection, close_batch fallback, expected columns/joins). commit 05325916237ace8fe90f404dadda4b02180ea56b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:13:04 2026 -0400 refactor(error-system): Phase 4.6 migrate settings/leaf/eod BLoCs Another ~15 failure emissions migrated to userMessageFor: - AppearanceSettingsBloc load_update - ClientBloc connection + manage part files - UIBloc (4) - LeafThemeSettingsBloc (2) - LeafThemeItemsQuantityBloc (1) - AptitoReportsBloc fetch (2) commit 6a7d8dbdcb9c9a32cedbf316faba554c2afc1a2f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:10:12 2026 -0400 refactor(error-system): Phase 4.6 migrate TerminalBloc part files Terminal part files now emit failure states through userMessageFor so AppException subtypes surface their typed message: - payment_card (1), payment_cash (1) - adjustments_refund (1), adjustments_refund.partial_refund (1) - adjustments_void (1), adjustments_void.partial_void (1) - adjustments_tips (1) - fiscal_reports (3), fiscal_shift (1) - customer_screen (2) - helpers (1) commit 6391e917c15dfb017fa8fdaeb336164693bb79e0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:07:36 2026 -0400 refactor(error-system): Phase 4.6 migrate error: e.toString() BLoC batch Routes another 20+ failure-state emissions through userMessageFor so AppException subtypes surface their typed message: - OrderModifiersBloc (3) - EmployeePickerBloc (3) - OrderCustomItemBloc part files (form_fields/load_create/update_delete) - HardwareSettingsBloc part files (load_manage + fiscal_manage) - OrderBloc item_quantity helpers (1) commit b6187b755ec1f66664ad335397aa4f0ee62f4688 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:04:16 2026 -0400 test(terminal): unit tests for TerminalReportType, TerminalPaymentInfo, TerminalReportInfo Pins the enum membership/order, constructor defaults (withTip/true, applyCashDiscount/true, isVoidTransaction/false, part-refund/part-void off), and the mutable-sum contract for the terminal util value holders. Also marks Phase 2 Step 0 (current-structure audit) DONE in the tracker since the plan body already contains the audit. commit 8baf68809071e60dce829fd2bbb30cd8516b2918 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:02:45 2026 -0400 refactor(error-system): Phase 4.6 migrate order_list toolbar + UI alert sites Routes five remaining iShowAlert / failure-state sites through userMessageFor so AppException subtypes surface their typed message: void_dialog, paloma_adjust_tips_tool_bar_button, order_list_tool_bar_open, aptito_album_order_item, order_workplace_access_utils. Tracker updated. commit c19cc213bedf2f9594210118a650b0947e0d96e6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 09:00:55 2026 -0400 refactor(error-system): Phase 4.6 migrate kiosk/auth/cash-in-out/taxes BLoCs Swaps `message: e.toString()` for `message: userMessageFor(e)` in: - kiosk BLoC part files (payment, order_print_send, pay_completed, item_select_modifiers, order_submit_pay, order_submit_misc) - authentication_cubit.helpers - cash_in_out_cubit - leaf taxes_and_fees_bloc AppException subtypes now surface their typed message while legacy errors still round-trip through toString(). commit b06d0bf1eae517dd13f7ec1e871dc47a91cbc5a8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 08:57:42 2026 -0400 refactor(error-system): Phase 4.6 userMessageFor helper + first BLoC batch Introduces lib/core/error/user_message.dart which returns AppException.message when the error is a sealed AppException subtype and falls back to e.toString() otherwise. Migrates the first three BLoCs as a proof-of-concept batch: SettingsBloc (3 sites), AuthenticationCubit (4 sites), ServerBloc (2 sites). Legacy exception types still round-trip through toString() so behaviour is unchanged for un-migrated code paths. commit c039ad01c6f5f35dc32cc39a755cc896e9c9d996 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 08:55:14 2026 -0400 fix(logger): Phase 4.2 stop silencing LocalException/RemoteException logRuntime previously early-returned for these types, which meant genuine database/API errors never reached the log or Sentry. Route them through logRemoteOrLocal so they hit the log file at minimum. Also land Phase 3 Steps 9-10 audit (OrderInfo + AccountData) as refactoring/GLOBAL_STATE_AUDIT.md for Phase 5 reference, and sync the Phase 3 and Phase 4 trackers to reality (several steps were already shipped but not marked). commit a3599766389a0472b571b5526d0213bd3a4cf0d1 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 08:52:16 2026 -0400 refactor(models): Phase 3.1+3.4 id-based equality for TOrder and DOrder Empty-id instances fall back to referential equality so unsaved drafts stay distinct. LeafState TOrder comparisons switched to identical() to preserve emit semantics for field drift on same-id instances. commit 68b9fd250b0ac46404bcc96aadb9324991545dea Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:51:14 2026 -0400 test(order_checkout): unit tests for CalculatorButtonAction and CalculatorButtonPaymentAction enums commit 41cb4b433af08fbc0e2918c2de2d89534097bd63 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:49:15 2026 -0400 test(order): unit tests for ImageType enum variants commit 2309b8e6f3c0ed173c6ad0a0a7e0a742778851b3 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:47:47 2026 -0400 test(application_store): unit tests for ApplicationModelListViewModel commit 075424ee9150800ef90a462d5d282e172f8d93ef Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:42:21 2026 -0400 test(order): unit tests for RegisterDisplayType enum and byName roundtrip commit e3f5c7c5fcbb2a33c53f88823b4484f180b1c50d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:36:12 2026 -0400 test(happy_hours): unit tests for AddEditHappyHourForm days/isValid/copyWith commit 937ab6dfb2e7678f8ac39f672c614c98837ef7a2 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:32:42 2026 -0400 test(settings): unit tests for AndroidAppDatabaseEntry value holder commit ea35a4cb3bd0f131bf29d8dded63bf4c81d99339 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:29:50 2026 -0400 test(settings): unit tests for SettingsEntryState and SettingEntryEvent sealed hierarchies commit 1c7574343a0d4cd2279c78d201f27ef60f3f0317 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:26:43 2026 -0400 test(customer_screen): unit tests for CustomerScreenState defaults, copyWith sticky money, and enum commit 46576854fefdef823268d78d0cebd5b2190cc680 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:23:10 2026 -0400 test(time_cards): unit tests for TimeCardsState initial/loading/success/setError commit b97986d4dc9383d00d5eccf05cb9f66bab4b6377 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:21:28 2026 -0400 test(drawer): unit tests for DrawerOrderState copyWith and DrawerOrderEvent variants commit e02dccaeed60033c673b77e6f6b9c5e0b3a87a93 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:19:13 2026 -0400 test(receipt_options): unit tests for NumberNotFoundError commit cc054cafddf9c7b0ea4ee366239137a6f0936e0b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:16:45 2026 -0400 test(auth_pin): unit tests for EmployeeViewModel flags and CurrentEmployeeState transitions commit e08f1736f4709760d25b7a41f1b02879c54a3699 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:12:23 2026 -0400 test(main_wrapper): unit tests for NavigationCheckerRoute.route/path constructors commit 9c8e3884cce8a8b9f2afcec575ca5f2857e8a595 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:09:36 2026 -0400 test(core): unit tests for AppRouterConstants pinned route keys commit b85d378eafc48f12ca38d58f1fc3f057957e107a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:08:27 2026 -0400 test(partner_portal): unit tests for PartnerGraphNotifier listener lifecycle commit 3f391f63bd90559c6f19ad911749a0171bf1658e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:02:40 2026 -0400 test(integrations): unit tests for TransactionResponse fromJson/toJson/copyWith commit 3ae5c2f2e68b79c47b0310675a858ead9291e4b4 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 07:01:01 2026 -0400 test(core): unit tests for SnackBarType enum and SnackBarConfig defaults commit ce6a6d7599e7059e792a237b22aac64197a3ce2b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:58:11 2026 -0400 test(order): unit tests for OrderItemsStream singleton and init commit e7617033c9a17091fc94856bc2812c1dad7e7d97 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:54:11 2026 -0400 test(order): unit tests for OrderUtilsOrderInit.getOrderInitSettings and originalPrice commit 8ff054265727ab656e4e7de29f3928f9dec5b2c0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:51:16 2026 -0400 test(leaf): unit tests for LeafSharedFunctions priceType and transaction refund/void predicates commit b5dff0dfb346eb080b1ad85ab00c7de98404942b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:47:14 2026 -0400 test(leaf): unit tests for StringExtensions.capitalizeFirst/capitalizeFirstNew commit b0783eadb5044d745eedcd62ba9b189452ae33e9 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:41:50 2026 -0400 test(leaf): unit tests for LeafRandomColor.getRandomColor palette commit 6f4191b63b01c7b4fcd2fb16c3d8798f748d0281 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:36:40 2026 -0400 test(core): unit tests for KeyboardController add/backspace/clear/focus lifecycle commit ed4dba0ef5d92d7686dc3b225aac70d61f6817fa Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:31:51 2026 -0400 test(core): unit tests for BadResponseType enum variants commit c634cd9a3f9b3cca77b74b600d854b7cdc867ef6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:26:43 2026 -0400 test(core): unit tests for DialogPopupDuration and StoreLinks enums commit 78c77372c0cc3cefda364cdbb4352186ee3d9bfa Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:22:04 2026 -0400 test(core): unit tests for RemoteDBConstants and RemoteDbEndpointUrls commit f82f710d4e161f9f8e2429f978a4472880d504fa Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:21:24 2026 -0400 test(core): unit tests for ConnectionType enum variants commit a591a8fe886e16b4d9428e40f6deb5f15e044620 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:17:53 2026 -0400 test(order): unit tests for CategoryColorManager.initializeColorsForCategories commit e28362bbc8c5daa92fdc435c462706737eea2bbb Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:11:00 2026 -0400 test(core): unit tests for CBaseConfigs/DChanges/OrderItems and dashboard/cooking value holders commit 52022ca6c9c67bd90adad99263f22916a816240d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:09:27 2026 -0400 test(core): unit tests for t_ plural wrapper holders (employee/menu/time_price) commit b0e6636f98482ef945ae1bd36ab2277ee6126450 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:08:46 2026 -0400 test(core): unit tests for SAutomatedPoints/SItemsRecommended/SOrderLists/STimePrices wrappers commit b0c35a93207ce0c1d7c644540f56742e7eb9e962 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 06:03:08 2026 -0400 test(core): unit tests for SPictures/Shtrihs/SStopLists plural wrapper holders commit a116d1ac2a37ab726f99ecec174a0e3a322c8181 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:59:43 2026 -0400 test(core): unit tests for AptitoCheckoutAction enum and toName mapping commit ef061fb26d2fa1f35ad4d0a61a614b1b2486c2e1 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:53:08 2026 -0400 test(leaf_settings): unit tests for LeafThemeSettings.getSettings defaults commit d07b2005a71fecd6326a3c3552aef2fd8bd97a71 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:49:08 2026 -0400 test(inventory_exchange): unit tests for InventoryExchangeSpec templateExcelUri commit f7dd111a25f0148201e47dace486595b0d873d28 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:45:43 2026 -0400 test(order_checkout): unit tests for NeedSplit enum variants and labels commit 38ee5d9824a17c1f885bd5fbc20a16dc40db1fda Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:43:06 2026 -0400 test(sync_wrapper): unit tests for SyncProgressEvent.inProgress commit 6dee7406bca9825836a3577c26df22fc9d137310 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:32:23 2026 -0400 test(inventory): unit tests for TextEditingControllerExt.setTextSafely commit bfeb3fc7973ab6b721a88593a527050b9e0de588 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:30:27 2026 -0400 test(core): unit tests for QueryParamsInterceptor acc_id/wp_id injection commit 0318f80b8fe6a07e6bab8267ff9e395ef43af7fd Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:24:18 2026 -0400 test(printer): unit tests for StarCachedConnection update/clear/remove/status commit e0ff522cdaa67a9e42de3eca63d7123c1a496c2c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:16:44 2026 -0400 test(app): unit tests for Flavor enum and FlavorConfig.setFlavor/current commit 000a7909f48e725e0e861fe9f772218228a0fc6e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:11:35 2026 -0400 test(inventory): unit tests for AddModifierModel key derivation commit d613456e99f80b709e93932675b99e9b41d4ef95 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:08:35 2026 -0400 test(order_ready): unit tests for OrderReadyOrderModel.fromJson branches commit 87fe760125ecb03833512a48e54186522cfb4940 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:07:22 2026 -0400 test(master_wizard): unit tests for AddressUnitModel JSON roundtrip commit 77476f15e705ed414feb95fd9b454d907a7cdfae Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 05:04:53 2026 -0400 test(partner_portal): unit tests for PartnerCredentials fields and toString commit c8ed3e611c3e0d97ad6e44427bd48b56430285d8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:53:20 2026 -0400 test(devtools): unit tests for LoggingMethods.prettyJson totalsum rewrite commit 53d6ee818ddfdda7b4d9efa58abd530d03aededd Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:50:56 2026 -0400 test(core): unit tests for DateFormatUtils.toSqlDateTime commit 5e17666ed1ab5f4832d900e8c6f19b086b187e7d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:47:59 2026 -0400 test(core): unit tests for BuildUtils.convertDateTime and extractMetaDataValue commit c9169990877e9344bb6c7703d29e20d9316acb4b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:46:40 2026 -0400 test(core): unit tests for RemoveOperationException sealed variants commit ea1c1dfd369ef42ce354864cc11b8d7fe0e1a95e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:46:05 2026 -0400 test(core): unit tests for AppFailure sealed hierarchy variants commit 0bc07db06ed2b928bcc4d5559faa3c6e213a9523 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:44:58 2026 -0400 test(partner_portal): unit tests for PartnerPermissionContainer variants commit 6ff1425c3c42583205369965d8c688f6f287e96a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:39:40 2026 -0400 test(order): unit tests for CoreMath sale/total/tax calculators commit 089e95b7d48c60ec6af653a1ed39dd133fbde7f0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:34:57 2026 -0400 test(order): unit tests for DOrderMath subtotal/service/discount/totalSum commit fc846e9649bcaa2329a3d5795d235b3de7115e8b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:34:14 2026 -0400 test(order): unit tests for DiscountAddResult sealed variants commit 008889dcade47c2e87a3e5a6c086c44544c3350f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:33:56 2026 -0400 test(order): unit tests for CalcResponse empty/copyWith/mutability commit fef7b9285d1e2d26b4ebe92350755950b285a92e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:32:59 2026 -0400 test(partner_portal): unit tests for PartnerHierarchy isRoot and toString commit 41eab2cb2eaa46406d1e3d4be0023ed7a4fef792 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:32:23 2026 -0400 test(partner_portal): unit tests for PartnerCatalogData sealed hierarchy commit 004f8804912f1b8a7c6d0fa2a48249044de3a40c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:31:22 2026 -0400 test(partner_portal): unit tests for MerchantException sealed hierarchy commit c286ec840c0c770709888d16faa2b6635a27dad6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:26:04 2026 -0400 test(core): unit tests for TRightCategory JSON includeIfNull and now() dtedit commit 662b01ddade1acb3e47fd6dc28c8fe1880232e4e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:25:40 2026 -0400 test(core): unit tests for TRight defaults, JSON, copyWith commit 9044ff0e0e3c07cc6619c5848bc1d1111de33942 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:24:32 2026 -0400 test(core): unit tests for STypesPayment JSON, gift card guid, copyWith commit 85dc47ffb90d29667f201e01e3466eca2178b2ee Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:23:40 2026 -0400 test(core): unit tests for Apid/Wpid extension type validity predicates commit 0d2ec14a7dc818e50cc4e870a712884a8ee6269a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:14:19 2026 -0400 test(order): unit tests for CategoryColorManager color assignment, caching, clear commit 803761c6390e79121d776575aa8f0dbfe95c37f5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:13:42 2026 -0400 test(order): unit tests for ColorContrastUtils.isGrayColor with RGB spread and brightness thresholds commit 3f10b31cd319a68c5110203726cd76cf17356468 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:11:26 2026 -0400 test(order): unit tests for OrderMathHelpers.getPercent divide-by-100 semantics commit 6a15ba51014951e10869f142723ae3a026f3481f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:02:51 2026 -0400 test(partner_portal): unit tests for MerchantCatalogContent sealed hierarchy Direct/Owned commit 507703fb1ec251185b4ab728cd6010d7e1c1f752 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:02:12 2026 -0400 test(partner_portal): unit tests for PartnersTree/PartnerNode findSubtree, directMerchants, allMerchants commit 880c8239c0135fc25daeee58d6d49be1d6f7e2ed Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 04:01:22 2026 -0400 test(partner_portal): unit tests for PartnerOwner fields and toString commit d45dc1cb401c26973160f27c041670d7b2bd8bd5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:55:35 2026 -0400 test(partner_portal): unit tests for MerchantCatalogSort sealed hierarchy (14 variants) commit 9a80ac19636b26b58cb1e3e2dc86fe5a1bb3093d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:53:38 2026 -0400 test(ai_chat): unit tests for AIChatMessage fromJson hardcoding isUserMessage=false commit 679851beb762dbc4e70ac060312ac9fd137227db Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:52:38 2026 -0400 test(application_store): unit tests for ApplicationLocalModel json codec and markDeleted encoding commit 4cbf75972ef68b133d308045a615347ed42fbc9c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:51:26 2026 -0400 test(core/models): unit tests for TOrderPriceType dtParsed, fromJson operation decoding, toJson defaults commit f6f7fb972947053a6a6648973a0ece65fb84c82c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:45:04 2026 -0400 test(core/models): unit tests for PriceTypeOperation enum codes and uniqueness commit e7d2ce90185b2f23cbd3b33dc212704bbbc0d027 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:44:24 2026 -0400 test(core/models): unit tests for RTableDetail empty/fromJson/toJson/copyWith and default dtcreate commit 60399e4318def6862bd9a79676a5ef82952ceed8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:43:34 2026 -0400 test(order): unit tests for RTableDetailType fromKey/tableName with uniqueness guard commit 686a5e6456c864cef078a21b641876de7f505e46 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:41:47 2026 -0400 test(core/models): unit tests for TOrderPriceTypeOld json codec and late-mutable orderid commit ec0a2f065e74e9b49654fca5ce4859449fcd783d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:41:06 2026 -0400 test(core/models): unit tests for TClientsCards json codec with phone digit-stripping commit a8b976e2e9b138037a0ea1cd5a43aa49ef808a71 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:34:37 2026 -0400 test(core/models): unit tests for TTimePriceItem json codec roundtrip commit feca0b5e5d77a89329b4246d526afdaf06c7d937 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:33:52 2026 -0400 test(core/models): unit tests for SLocation json codec with tables_count nullable commit 04e955e155174efea2ba3135f3e8b25b503b0cf8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:33:20 2026 -0400 test(core/models): unit tests for SModificatorSItem json codec sortindex default commit 064b5b43a5cc248e4fe8bdbd8b15737bf9ecf64d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:32:45 2026 -0400 test(core/models): unit tests for SItemRecommended json codec snake_case aliases commit 6d1c8777c3b57ff1a4fba3bae0e31d3b6d31a6d8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:31:46 2026 -0400 test(core/models): unit tests for OrderItem json codec commit ca184b4b57f9f0328bf2de5e20da515d3b53943c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:27:01 2026 -0400 test(core/models): unit tests for PrintQueueConfig defaults and json codec commit 85dc765ecc5f1cfe8b2d84da1b3e618097292ab9 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:22:51 2026 -0400 test(inventory): unit tests for checkIsDayActive/Bool schedule string<->bool roundtrip commit 1f742c0ee4fd918258e603830862ea484cb959ff Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:12:20 2026 -0400 test(settings): unit tests for PaymentDeviceViewModel empty/copyWith commit 794969ceb6c3fa46f343251f102977ff2ba8455c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:11:40 2026 -0400 test(settings): unit tests for PaymentDeviceExtra sealed hierarchy (Netevia/ChargeAnywhere/Halyk/Valor) commit e51e50e504d7192df1516b163eaa116ba9cbee56 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:04:25 2026 -0400 test(settings): unit tests for PaymentDeviceSetting/PaymentDeviceSettings json codec and copyWith commit f30990d41bd669978ed20c100208d3d92a2265c7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:03:33 2026 -0400 test(settings): unit tests for PrintQueueSettings defaults, json codec, copyWith commit dc5f8c2b80c6b8df97ba431cc930a1d7f31c7bbd Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:02:59 2026 -0400 test(settings): unit tests for PrinterSettingsConfig/PrinterDeviceSettings/PrinterSettingKey commit e2b0e1fbd671249fd024ef888de9ce43371a2d23 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:02:07 2026 -0400 test(settings): unit tests for PrinterViewModel hasAnyRole/copyWith/equality commit bf354a78e6d11e3914dce649a25fc9bcce01febd Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 03:01:26 2026 -0400 test(settings): unit tests for PrinterExtra json codec, copyWith, equality commit 22d695c62f4c63d5d809269ca42a564be31a4d0a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:56:54 2026 -0400 test(settings): unit tests for FontSizeRange isInRange and equality commit 93c7417e757135f9f294904f56be3e3a326a2fd0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:54:22 2026 -0400 test(terminal): unit tests for AppTerminalTypeProvider.toName display labels for all members commit ae15840861b50475353cb50a45a68f9de18e641b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:53:18 2026 -0400 test(terminal): unit tests for Chargeanywhere transaction/tender/fee type constants commit 1288fefb17ee8ae8c5719c4fa399639bfcca7f21 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:52:28 2026 -0400 test(fiscal): unit tests for Webkassa.paymentTypeToInt static mapping commit c48bf21c36a4fbd7732654f4733fb093ebac9c8d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:51:18 2026 -0400 test(terminal): unit tests for NeteviaPinPad static maps getTransactionType/getCardType and tender constants commit 0ceb76369904d355cd90b47ab68120624664601f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:45:46 2026 -0400 test(terminal): unit tests for PaymentDataSaleInfo.fromJson netevia/chargeanywhere/virtual/voidt priority commit b508cc72e1fca5e5c25338c0b1b58794ed40d9f7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:44:46 2026 -0400 test(terminal): unit tests for WizarposTransactionConstants mapping and defaults commit e64348064760470f7297843157992e565eecb2e8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:43:21 2026 -0400 test(printer): unit tests for AppPrinterType display names, PrinterStatus.toString, paper sizes, constants commit 8855ff340c4e29a945301969b8b325b97b67ef6e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:42:23 2026 -0400 test(fiscal): unit tests for TFiscalOperation/AppFiscalName enums and FiscalConstants timeouts commit d3d5210d3e518ab1bf07bc5f076382e17dba6ab6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:41:28 2026 -0400 test(printer): unit tests for PaymentDataParseFormatHandler.formatReceipt padding/stripping commit bcff15c48bfb85759c2649c487ddb9f279b3479d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:34:05 2026 -0400 test(printer): unit tests for PaymentDataParseFormatHandler paymentOperation/receiptV2/getQrData commit e81d3cb23350f9a222dfd59991ec14540b38a0d8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:32:03 2026 -0400 test(core/utils): unit tests for FallbackStorableEntry and nonnull extension commit 983b10e06774ed6c32b326ce8af5583cbb156ef0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:31:09 2026 -0400 test(local_server): unit tests for ServerCacheManager key generation, TTL, and invalidation commit cd8803f688a0355640d9af20aaac3e2abeb52663 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:24:54 2026 -0400 test(local_server): unit tests for CoreServerFunctions.dataQueryConvert stringification and idlink filter commit 04bd2821c5fe779285a9547ce7643e702f5e0687 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:23:51 2026 -0400 test(local_server): unit tests for CoreServerFunctions.addSocketDetails dedup and nesting commit 1c3e2fe1701bb3d6b818d7c919cfac9096f1410a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:22:31 2026 -0400 test(local_server): unit tests for CoreServerConstants sync sets, deny lists, and CoreStatus enum commit 4cbbcfd711c66f318c9f5dc25aff580fea5dc792 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:21:45 2026 -0400 test(local_server): unit tests for TOrderRemote json codec, nested tax/cookingtime lists, toJsonNotData commit 4d1d8463b1ca4e0f365a68322ffa9c613a09b339 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:21:03 2026 -0400 test(local_server): unit tests for DOrderRemote json codec snake_case mapping and defaults commit c58a7ce1078f442971e379ea600567abfac6d2a8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:13:45 2026 -0400 test(local_server): unit tests for TfRequestRemote and TfRequestTaxRemote codec + toJsonData commit 91b795084a2a06de1ffe0f3123af404fb74f99fb Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:12:58 2026 -0400 test(local_server): unit tests for RTableDetailsRemote json codec and dtedit omission commit a3cbf399f411e96cfe6d81be36726d4c7aab7977 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:12:19 2026 -0400 test(local_server): unit tests for SStopListRemote json codec day flags and defaults commit 4051993415dc2d4f2a781b03a40831015ebc0738 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:11:41 2026 -0400 test(local_server): unit tests for TOrderCookingTimeRemote json codec including null dt and status commit 3ddd029b59bf9f78039a19ab48393cbeec41e9b9 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:11:04 2026 -0400 test(local_server): unit tests for TOrderPriceTypeRemote json codec defaults and null handling commit 0beeebbb2c868076efbc0bbf8108421643ee2e3a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:07:07 2026 -0400 test(local_server): unit tests for TOrderTaxRemote json codec snake_case mapping commit 7b5616bd2954d848a0217ee9c1ed06495cfd4bf4 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:06:24 2026 -0400 test(local_server): unit tests for TOrderDiscountRemote json codec + parentid cast quirk commit 4f3bfaec36bca0940e7d46b8679d9ae36dff7788 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:05:15 2026 -0400 test(local_server): unit tests for AuthLog json codec and mutable fields commit 7f0b05e1aae9b5ef1b781c49dba1983019599508 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:04:41 2026 -0400 test(local_server): unit tests for DfRequestRemote json codec defaults and legacy 'adress' typo commit 2b20d649ac145bc5e2b82faf09ef9fb7d5928102 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 02:01:25 2026 -0400 test(happy_hours): unit tests for HappyHour activeDays and activeTime getters commit 35ed567bd4b81533218e16b8bc9c1d133b803a56 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:56:20 2026 -0400 test(cash_in_out): unit tests for CashOperationDisplayItem.fromJson isIncome and FK lookups commit a07bf8e5985bc2ecf76da254fb47d82baa12ccf1 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:55:37 2026 -0400 test(authentication): unit tests for AuthenticationState sealed hierarchy fields commit a0bb6dd4a7b67e961e976cf03afb6618151e766f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:54:11 2026 -0400 test(application_store): unit tests for ApplicationModel and ApplicationModelExtended json parsing commit 957a92e32aa862f397d917dac599fd10ecc775db Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:45:04 2026 -0400 test(kiosk): unit tests for SMenuViewModel isMainMenu and id-based equality commit eecc3868b394249640cd4b4b2da8ec7c33665fc8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:43:41 2026 -0400 test(access_types): unit tests for AccessTypesGroup empty/populated constructors commit 288aa2b6e7ff4de005e4afab3dc8911fc27bbcb9 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:43:07 2026 -0400 test(access_types): unit tests for AccessType defaults, copyWith, and list equality helpers commit f6b9c6b585f0d065fd5f7808e07c26ba4b4c059a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:42:05 2026 -0400 test(discount_clients): unit tests for DiscountClientsState sealed hierarchy toString commit d597bd705391edca78ed25e1f75d5e30fe9941ba Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:38:38 2026 -0400 test(inventory): unit tests for CategoryProfile subcategoriesCount/itemsCount/copyWith commit c8b0f5db491dc6ca41d51f072bf42879df0aea94 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:33:51 2026 -0400 test(delivery): unit tests for DeliveryColorSettings.fromJson defaults commit 2f95a50e01992064bda9f7d0754b6d12ab2ac788 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:31:59 2026 -0400 test(gift_cards): unit tests for Balance and Factor4Balance codec commit 27976151415c1c11d6a86071cbbcb107c4ffd317 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:31:23 2026 -0400 test(gift_cards): unit tests for StandardHeader and Factor4StandardHeader codec commit 303204be9c1a752fa19c527ca2dbd5d7ea2bce98 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:30:56 2026 -0400 test(gift_cards): unit tests for InitiatorType/EntryType/StatusEnum codec commit 745ef312e5ddd756250bb57b089c1ae8a16016a6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:24:29 2026 -0400 test(gift_cards): unit tests for Identification hierarchy json codec commit 0bbc887c4144eb8958900cb4e8e86938dc726931 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:23:53 2026 -0400 test(gift_cards): unit tests for CustomerInfo + Factor4CustomerInfo json codec and fullName commit dd093cb96a8505e151d70b9702328d643e0c253c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:22:53 2026 -0400 test(settings): unit tests for SettingsLevel.fromLevel/fromData and level getter commit 1f35091ea5daeac4d38641f7dfb7847510c92129 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:21:23 2026 -0400 test(settings): unit tests for ToGoClientFields.fromValue string parsing commit ad2609dd5b90be37a0f49cb0df6a9f4ab8fd8cfa Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:14:55 2026 -0400 test(transactions): unit tests for transaction screen enum declaration order commit e0d930d3c26cc29c91f64675de0bd4733ae75120 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:12:52 2026 -0400 test(reports): unit tests for BatchReportModel factory, isOpened, fromJson date/duration commit 4a44d76bfc717ec8514e2d3c85945ffbc68b6f8c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:04:40 2026 -0400 test(master_wizard): unit tests for getTimeZoneByZipCode prefix mapping and usTimeZones catalog commit ae1502efba1ef5d9159ed7904719f77ec45cb6f0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:03:07 2026 -0400 test(kitchen): unit tests for String.toColor hex parsing edge cases commit f982e70a8dfe92ba10bf3acdc8164a2fc8b4d318 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:02:18 2026 -0400 test(settings): unit tests for UpdateSettingsWithIdDto conditional id emission commit 536102b0db9462d8248c139837ceb912e5039c9c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:01:47 2026 -0400 test(settings): unit tests for UpdateSettingsDto partial update and markDeleted encoding commit 5582329ca58c2e11c36212a6bd7b6b9ea4b8f71e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 01:01:19 2026 -0400 test(settings): unit tests for CreateSettingsDto.withId and toJson snake_case commit f86d43b67427d9cffb4c3a635a8aa3542820a76a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:53:34 2026 -0400 test(inventory_exchange): unit tests for ImportProgressStage aggregation, entries, copyWith commit ce06293c2d32721b548c371418278620389178bb Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:42:46 2026 -0400 test(core/utils): unit tests for DateTime startOfDay/endOfDay and formatQuantity commit debfed32b7cb662aeb1672ae6a2ea2b786d70235 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:41:33 2026 -0400 test(core/entities): unit tests for Dump fromString/toMap/toJsonString commit b3fac875fe016250c67a3c1d5cd1215d7bb0ae6d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:40:51 2026 -0400 test(core/models): unit tests for SplitCheck defaults and mutability commit adbc68d2b046398ee499c3087e7ede54bd5554ad Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:33:16 2026 -0400 test(core/models): unit tests for AIMessage nested content/text codec commit d078ac1059f8e259df5d20e3380afce22a0d3c85 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:32:36 2026 -0400 test(core/models): unit tests for ApiLog json codec and mutable field setters commit 3d6cb21c87b63936efa5bbc6878d690eb1ab750e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:32:13 2026 -0400 test(core/models): unit tests for IArea json codec, equality, copyWith, fromJsonString commit f4ed14f88fe10688d6cea5de12d62b09c1e8f7e1 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:31:20 2026 -0400 test(core/models): unit tests for TWorkplace bool codec, empty-login omission, isThisDeviceSn commit 179541ae10dd963284ff60e2687fe8b5ab9ddd66 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:30:41 2026 -0400 test(core/models): unit tests for TTimePriceAp json codec commit cc40f50a100d057406c9b85a40a6c9b61832d640 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:22:39 2026 -0400 test(core/models): unit tests for TDiscountAP json codec pinning name<-isgroup quirk commit 70e583d4cc473965b8c901bde288237b00f09f2f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:22:13 2026 -0400 test(core/models): unit tests for TDiscountTime json codec with day flags commit 24f21ea65a9b9e77ee7c1fcb3cc6672f69b4d7c5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:21:50 2026 -0400 test(core/models): unit tests for TDiscountItems json codec commit 8d8006381ac6962e8841c46bdce9037fd467f5bd Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:21:30 2026 -0400 test(core/models): unit tests for TDiscountClients json codec commit 3f3374a75bd9e4be98d820dbbf09b25a0dbaf846 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:21:11 2026 -0400 test(core/models): unit tests for STimePrice json codec roundtrip with day flags commit 977a3f21c087f1b9dce9329a99964d62550267b7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:20:47 2026 -0400 test(core/models): unit tests for TMenuItem json codec commit 1c816a17a3da6ab1d30a5eacacaeb47010f85ad7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:12:26 2026 -0400 test(core/models): unit tests for TMenuShedule json codec commit 5f8d714264967978f84d59cb8166ee6936d9fb0f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:12:05 2026 -0400 test(core/models): unit tests for TRightCategory json codec commit d3657a370746d09b20f8b5400ca24c8042645286 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:11:41 2026 -0400 test(core/models): unit tests for TRight permission defaults, codec, copyWith commit 47fa8ad5b9badba16bafba878c3a1bea150bb862 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:11:13 2026 -0400 test(core/models): unit tests for SShtrih json codec column naming commit b06a4eb6dae1aa59546aa274fc381e0ec153e385 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:10:49 2026 -0400 test(core/models): unit tests for TOrderDiscounts json codec and copy semantics commit 3c8f09aa7689968d971ddd850d883cd2609bf684 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:02:10 2026 -0400 test(core/models): unit tests for TTaxLocation json codec roundtrip commit 81cccf47a3aaaa70d3d1eb2edb274b0808d32bed Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:01:50 2026 -0400 test(core/models): unit tests for TTaxRelations codec, copyWith, and dtedit=now() commit 9513245291dfaa61c0241367815510fdc45ecc84 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:01:28 2026 -0400 test(core/models): unit tests for TItemPrinter json codec commit 65f6b7405371c441351f706ac989be258f46b70c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:01:05 2026 -0400 test(core/models): unit tests for TEmployeeRole json codec commit ea8fa05f3afe248c1bce003bb03f198f33f69072 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Wed Apr 15 00:00:44 2026 -0400 test(core/models): unit tests for TEmployeeWorkplace json codec commit 12d11968e4dfce9426a02d9ec83e1595fe61608a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:53:02 2026 -0400 test(core/models): unit tests for TEmployeeInterface json codec commit 920c8e5c93744934c110d6c0e7675b284ad943fa Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:52:32 2026 -0400 test(core/models): unit tests for SPaymentDevice simulator/batch getters and copyWith commit f88e6b181fcc45877b980a89605e2078c6fd686e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:51:23 2026 -0400 test(core/models): unit tests for STypeInout bool codec and always-now dtedit commit f147ed8e59c1a42255230c6cc8706a1edd4e6542 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:50:43 2026 -0400 test(core/models): unit tests for SSubdivision json codec pinning parentID asymmetry commit 0935e324ae0f0e26ebf789ff06e31c8679ba782f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:43:51 2026 -0400 test(core/models): unit tests for SPosition json codec commit f59a9876d238ef422f8bc0778f57074fb90735c5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:43:26 2026 -0400 test(core/models): unit tests for SEmployee fromJson defaults, toJson, and id-only equality commit 260dea8480cd3fade7f6fc2814817e8fe4ddd612 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:42:55 2026 -0400 test(core/models): unit tests for SClient json codec and PhoneNumber sanitization commit 81993e87c7d05696823d882fb29959f7e049507b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:42:21 2026 -0400 test(core/models): unit tests for SAddress fromJson/toJson with null field preservation commit 14f605a8bdc6e755352819824615a2ce396d10dc Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:41:19 2026 -0400 test(partner_portal): unit tests for UserAccessList isEmpty and singleOrNull commit 8f37c93e22170541d3a9e6cdc7d49b15650a7d09 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:40:20 2026 -0400 test(partner_portal): unit tests for UpdateMerchantFormData copyWith semantics commit daed4d1a159a2f33e076907d8fa115f4d0f89d2a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:37:34 2026 -0400 test(partner_portal): unit tests for PartnerAccessGroupIterableX.applyValues commit 0343981a78dffde46a9d3d0ee37fc488ad04f317 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:37:11 2026 -0400 test(partner_portal): unit tests for PartnerAccessGroupCodec with nested children commit c9eda18d6e2491b688e2014da8b4daea263af667 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:36:42 2026 -0400 test(partner_portal): unit tests for PartnerAccessValueCodec encode/decode + error paths commit db05a2a0b6e8a3ffcb02ab324526d8216448808e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:36:06 2026 -0400 test(inventory): unit tests for UpdateTTimePriceItem toMap field omission commit c5276798384d2f333fc5401bb1b17ea616410ff2 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:35:30 2026 -0400 test(inventory): unit tests for UpdateItemTax toMap bool encoding commit bf5c4a8094bdde861519b3581d026f0ff3fb154a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:35:09 2026 -0400 test(inventory): unit tests for UpdateItemPrinter toMap bool/int encoding commit 1c5c4936baf07fa1cfe312daf1326ad8a50655b7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:34:37 2026 -0400 test(inventory): unit tests for UpdatePicture toMap snake_case field omission commit e99ddded85004d5311833bf40de080d91acc110f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:34:14 2026 -0400 test(inventory): unit tests for CreatePicture fields, mutable name, and toString commit 50ac98a6d6a3a4a8a912cf1cc8af343f0060243c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:33:29 2026 -0400 test(partner_portal): unit tests for UpdatedSubpartnerInfoDto fromJson with parent_partner_id alias commit 2bae5c2c1b88a17dafe4304c73f690682b4d5c89 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:33:04 2026 -0400 test(partner_portal): unit tests for PartnerAccountOwnerDto json codec commit 294b4e423d20b0ed068cea3b091863fe191f7c6a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:32:20 2026 -0400 test(access_pin): unit tests for PinValidationResult equality and toString commit e0443b430694f0aff5e8863639a44db9bf1c8e1d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:31:59 2026 -0400 test(access_pin): unit tests for AccessPinState sealed hierarchy equality commit 6a21d2081ff8b4c300fbe69a9b4d6bc108e170c8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:29:30 2026 -0400 test(access_pin): unit tests for PinEncoder.encodePin determinism and format commit 2905ffdfdcc3861987d96cd6eb2f892fa197dfa3 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:27:07 2026 -0400 test(reasons_and_notes): unit tests for CategoryItemsState sealed hierarchy commit 9ae1127b2882d9d82214a18170d076166c5a680e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:26:26 2026 -0400 test(reasons_and_notes): unit tests for NoteModifyState sealed hierarchy commit 45955bb32318887e40e89208b586dbf47ee40248 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:25:23 2026 -0400 test(reasons_and_notes): unit tests for NoteCategoryItem and SNoteItem equality/copyWith commit 6afcc23a28df73147489c96a06f4ea9580a81750 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:24:03 2026 -0400 test(reasons_and_notes): unit tests for NoteCategory.fromItemId and categoryId mappings commit 18daee2feef9407afcaf6ed0ebb1413c011e4a0b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:23:25 2026 -0400 test(reasons_and_notes): unit tests for NoteDto fromJson/toMap/equality (id-only) commit 87f4ab37512d8bef3cb6e887047db39623a09e4d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:22:09 2026 -0400 test(inventory_exchange): unit tests for ImportedTableValidator$ColumnDuplicateDisorder commit dd928f505ee9718483f650a0a36bdcd6c79f9cca Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:20:35 2026 -0400 test(inventory_exchange): unit tests for ChunkProcessor, BatchRange, FutureState commit faad5d7ba6ec0183a383e77c9fde07b3d1130b8e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:19:04 2026 -0400 test(inventory_exchange): unit tests for InventoryExchangeCodec$TaxRates decode/encode commit d23052a54b3acb30f2991a5ef384f6fdca3593a5 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:17:59 2026 -0400 test(inventory_exchange): unit tests for MatrixTranspose extension (transposed/lock) commit 8465df4ca1d1ab20522c5b436951910dab311a84 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:17:17 2026 -0400 test(inventory_exchange): unit tests for SheetValidationException sealed class commit a53a84ac23426edee3343b7452c36d4c774608fe Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:14:36 2026 -0400 test(inventory_exchange): unit tests for ImportDraft/ImportContentDraft/isEmptyDraft commit b8813cd7627fe842f76538ea40b70ff1b9fd084f Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:13:44 2026 -0400 test(inventory_exchange): unit tests for ImportingProcessState and ImportContentProgress progress math commit cf632c59ed21a6428e602be036459faddc79570d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:12:31 2026 -0400 test(inventory_exchange): unit tests for ExcelDuplicateDescription equality quirks commit bc015ae4bcaecbca3025adcfaeeb421d8296147a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:11:34 2026 -0400 test(inventory_exchange): fix ExchangeTaxDto.toJson test — type field is not emitted commit 58aeb9531eaf5db36c50b9dea9dcc0b842a24898 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:11:09 2026 -0400 test(inventory_exchange): unit tests for ExchangeTaxDto.fromJson/toJson commit 451237350192d6d5f86402a379bb3607eb888686 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:10:37 2026 -0400 test(inventory_exchange): unit tests for ExchangeModifierDto and ExchangeItemModificatorPairDto commit e90c610e4db57d1066135bf1056d239d58e44210 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:09:54 2026 -0400 test(inventory_exchange): unit tests for ExchangeItemDto and ExchangeItemCategoryPairDto commit b9bdd3a58becd32420627a0427066af572bd7b69 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:09:14 2026 -0400 test(inventory_exchange): unit tests for ExchangeContentKind.excelSheetName commit ef41411a58f759baf01bafe3c39fe2d6c4680688 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:08:16 2026 -0400 test(inventory_exchange): unit tests for Item equality (id OR name) and copyWith commit 610b5dfb38cebe10d3f1c48bc00602fd0121b923 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:07:23 2026 -0400 test(inventory_exchange): unit tests for Category and TaxRate model equality commit fc6c84eab303ee7d88fa3bfd186e023f50a32df8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:06:44 2026 -0400 test(inventory_exchange): unit tests for Modifier$Group and Modifier$Item equality/toString commit 5ad04784bde63d8da9f89cd22b51fa59d4694e8a Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:05:32 2026 -0400 test(kiosk): unit tests for SalesItemViewModel menu/fromJson/stock/itemId commit e3a42a8b0e1dbf8a8b725db027c2753b7f3f88cc Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:02:54 2026 -0400 test(kitchen): unit tests for KitchenOrder.orderStatusFromKTOrder priority chain commit cd578ad53a1864a471febd9d4b88adacac87ded8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:02:04 2026 -0400 test(happy_hours): unit tests for EditHappyHour hasChanges and toMap commit afcce308f08c1e9d81b3af45d239cb21c1bbd057 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:01:17 2026 -0400 test(happy_hours): unit tests for AddHappyHour.toMap null omission commit a362a22e42dba06e600e1085fa95130a7d23dbab Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 23:00:22 2026 -0400 test(happy_hours): unit tests for SetTextExtension/TimeOfDayFormatting/DateTimeFormatting commit 21a0b3a209d8c73cb86662c8c739aa9d36fa99ea Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:59:32 2026 -0400 test(happy_hours): unit tests for TTimePriceAP fromJson and Create/Update DTOs commit fb133026ce04fe2a78e158f6301325180def2a5c Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:58:33 2026 -0400 test(transactions): unit tests for TransactionViewModel totals and copyWith commit d5169d929bcfc8803070463e47eb6d74069c9e72 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:57:08 2026 -0400 test(usecases): unit tests for OrderTypeCount.fromList padding logic commit c9d1bb8f83f6e5c53100846f5466dbec8563b9e0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:55:54 2026 -0400 test(order_list): unit tests for OrderListPayment.fromPriceType void logic commit 3d98ecc52750bb6764570233b2468ad2f58aaf2e Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:55:08 2026 -0400 test(order_list): unit tests for OrderListType/SortType enum surface commit 9271d00684ad9c291a1ae14c05a78dbd65fa6ce6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:53:57 2026 -0400 test(utils): unit tests for FiscalizationUtils.orderHasFiscalPayments commit 5f2d10692db55e4c91ae5abb5d4198a9e027e04d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:50:47 2026 -0400 test(utils): unit tests for FunctionCodec/CastCodec/Json typedef commit 312cdbf156c098c4cd73b89718763e8bb4b66ae6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:49:59 2026 -0400 test(utils): unit tests for FieldInputValidator$Common.zipCode and login commit 8034080d35f42a399ea2708abb979b8f9198419d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:49:27 2026 -0400 test(utils): unit tests for FieldInputValidator$String$Mask filled/not-filled branches commit 3b9ef66c0bb636feebcf41aa582f3868f23fed11 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:48:53 2026 -0400 test(utils): comprehensive unit tests for Email/Length/Regex/Sequential input validators commit 282489a7095d8cd2db6e16cb49f64f0730c4d75d Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:47:26 2026 -0400 test(partner_portal): unit tests for Update/CreatePartnerInfoFormData copyWith/initial commit c1e717ea6a56f090f8bb7c899a657e8142bcccac Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:46:52 2026 -0400 test(partner_portal): unit tests for PartnerInfo.deleteIsAllowed and toString commit e3ba9a6aff9db988ee993e4b0cb31e99d8916ac0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:45:27 2026 -0400 test(partner_portal): unit tests for Partner.hasSubpartners and PartnerMeta.toString commit 67f0ee9a9f940f2f9268b7e833ddbae72f1433cc Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:44:21 2026 -0400 test(partner_portal): unit tests for InvitePartnerEmployeeFormData.copyWith commit cc1afeeba878725b63ad33cbfd4dc4ad958299e7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:43:51 2026 -0400 test(partner_portal): unit tests for PartnerEmployeeCodec encode/decode/roundtrip commit 578f8e0064bb8a2e34b5d2418abf7b1bec368f80 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:43:14 2026 -0400 test(partner_portal): unit tests for PartnerAccessTypeProfile delegation and deleteIsAllowed commit 8c639958446b9469322a71b4efe707b1175902a2 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:40:57 2026 -0400 test(location): unit tests for Country/Region/City/LocationDto fromJson/toJson commit ded219989b54cfaaa9a71ed9eef165741cc79b34 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:40:03 2026 -0400 test(location): unit tests for Location.copyWith/toString commit 800c78cec19ee621cf8e4c5ec907237549bec78b Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:39:26 2026 -0400 test(location): unit tests for Timezone.value and availableFor country gating commit d23f68de34926768c9c026f0af0b74666c671bf7 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:38:36 2026 -0400 test(location): unit tests for Country/Region/CityUnit equality and CountryId named ctors commit ef53100812eec28b8ede51d6ef637fb1f5f28718 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:38:01 2026 -0400 test(location): unit tests for Address.initial/copyWith/toString commit d7d6596dd9ef09edeaa5466b503735bdffa3f676 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:37:12 2026 -0400 test(partner_portal): unit tests for MerchantStat.fromJson and ActivitySummary percent helpers commit e0c8ffe5579c0b91cd2c035d112637603451b219 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:36:29 2026 -0400 test(inventory): unit tests for ErrorNotification equatable props commit a983c0d49401a935ae70930ee1abeb93f9ba3eae Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:35:59 2026 -0400 test(inventory): unit tests for ModifiersListColumnType compareTo/toString commit e323e7b1f4c112aa067915138806a39725e95dd8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:35:29 2026 -0400 test(inventory): unit tests for AddEditCategoryForm validation and copyWith sentinel commit 3bffe0de07e35d2589cee25094d9e395ab2f17f8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:34:58 2026 -0400 test(inventory): comprehensive unit tests for AddEditItemForm validation and happy-hour helpers commit f7529a2db7c40593b272b62c106c06128480c1ed Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:33:51 2026 -0400 test(inventory): unit tests for SModificatorSItemsLink fromJson/toMap/copyWith commit b7df83e2538939c35ac29dc502603a350c3b8bb8 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:33:10 2026 -0400 test(inventory): unit tests for Create/UpdateCategory toMap and hasChanges commit d1eadeb707f23f111c6d9c72cc11d29ae2aa21a9 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:30:55 2026 -0400 test(inventory): unit tests for UpdateItem toMap/hasChanges with priceSet/markColorSet sentinels commit 4f673f47098db48b7f2eced9f4a2e9d7d21c2c34 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:30:18 2026 -0400 test(inventory): unit tests for CreateItem.toMap field emission rules commit f506c3a3a8f9d4f5918089e1777c1f19f15238a0 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:29:42 2026 -0400 test(inventory): unit tests for TTimePriceItem fromJson and Create/Update DTOs commit 0c0e1ecd61b72b3bdb2d0197596dbd6152bbafec Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:28:42 2026 -0400 test(inventory): unit tests for CreateItemTax and UpdateItemTax DTOs commit acdc286426e73d33370a7f4d43f1d1384c2e4fc6 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:27:30 2026 -0400 test(inventory): unit tests for CreateItemPrinter and UpdateItemPrinter DTOs commit 692d42ae1f1c59ece989a1308751d13594035729 Author: Paloma365 <53403859+Vladsoftik@users.noreply.github.com> Date: Tue Apr 14 22:26:54 2026 -0400 test(inventory): unit tests for CreatePicture and UpdatePicture DTOs