Commit Graph

  • 8452ea3fcd Merge remote-tracking branch 'origin/master' into dev spouliot 2026-05-20 10:37:45 -04:00
  • 9b34ff564e Update AI assistant and help docs for recent changes spouliot 2026-05-19 20:15:58 -04:00
  • 24f3df1bbc Jobs list defaults to On Floor; add Completed filter pill; fix encoding bugs spouliot 2026-05-19 20:11:33 -04:00
  • 551116d7e5 Mobile layout fix for Job Details items; coat color on invoice line items spouliot 2026-05-19 19:34:54 -04:00
  • 8768e9813b Merge dev into master for release v2026.05.19b v2026.05.19b spouliot 2026-05-19 18:40:57 -04:00
  • 4a7087cc0c Fix NoExtraLayerCharge dropped in DeleteItem pricing recalculation spouliot 2026-05-19 18:37:29 -04:00
  • 59b152c89f Fix noExtraLayerCharge missing from Job Details wizard item projection spouliot 2026-05-19 18:36:04 -04:00
  • 441898b52f Fix NoExtraLayerCharge not persisting on quotes and job EditItems reload spouliot 2026-05-19 18:33:50 -04:00
  • 3e30397302 Sync master back to dev (IF EXISTS migration hotfix) spouliot 2026-05-19 18:24:39 -04:00
  • 31c5746e5b Guard ShopWorker drops in AddAppointmentReminderSentAt migration with IF EXISTS v2026.05.19 spouliot 2026-05-19 17:43:30 -04:00
  • 3f9ac27afa Merge dev into master for release v2026.05.19 spouliot 2026-05-19 16:37:26 -04:00
  • df504674e9 Add oven/batch settings to job create and edit forms spouliot 2026-05-19 16:27:54 -04:00
  • 07796b05c8 Clear ReminderSentAt when appointment is rescheduled spouliot 2026-05-19 16:03:58 -04:00
  • 2bf8871892 Fix NoExtraLayerCharge persistence, appointment reminders, coat notes display, scroll restoration, and invoice Send dead-button spouliot 2026-05-19 15:48:16 -04:00
  • 8a0a564885 Merge dev into master for release v2026.05.18 v2026.05.18 spouliot 2026-05-18 19:08:11 -04:00
  • dd4785b048 Fix empty-state button/text on list pages when search returns no results spouliot 2026-05-18 18:49:23 -04:00
  • e185e3b7e3 Add XML doc comments to pricing assembly services jenkins 2026-05-18 14:22:32 -04:00
  • 8acbc8605d Harden multi-tenant isolation across all user-facing controllers v2026.05.17 spouliot 2026-05-17 18:04:22 -04:00
  • 485f0b69c8 Format Log Material dropdown as 'Manufacturer - Name (UoM)' v2026.05.16 spouliot 2026-05-16 21:51:32 -04:00
  • f380c152ca Promote job powders to top of Log Material dropdown spouliot 2026-05-16 21:49:46 -04:00
  • 79c8c7e6a4 Add manufacturer to Log Material item combobox spouliot 2026-05-16 21:46:48 -04:00
  • 6cf355071b Replace Log Material item dropdown with searchable combobox spouliot 2026-05-16 21:41:14 -04:00
  • ebd474ae81 Fix log material dropdown showing undefined - camelCase JSON serialization spouliot 2026-05-16 21:15:23 -04:00
  • 3c390a2e05 Merge branch 'dev' - invoice fixes, log material modal, complete job UX v2025.05.16 spouliot 2026-05-16 15:38:05 -04:00
  • 0df2353d4f Complete Job modal: ask powder usage once per color, not per item/coat spouliot 2026-05-16 12:30:30 -04:00
  • be0a5b26e2 Update AI assistant and help docs for invoice and material logging changes spouliot 2026-05-16 12:15:20 -04:00
  • 36680eced9 Add manual Log Material modal to job details page spouliot 2026-05-16 12:10:54 -04:00
  • 27aa4e0ea6 Invoice create: show discount row in totals, allow negative line items spouliot 2026-05-16 11:41:47 -04:00
  • b2d6fae400 Fix failing test: revert quote-based discount to use sourceQuote.DiscountAmount spouliot 2026-05-16 11:29:12 -04:00
  • 3a1928f9bf Fix invoice creation from job: discount ignored, wrong due date, wrong terms spouliot 2026-05-16 10:45:40 -04:00
  • df9863a0bb Merge branch 'dev' v2.15.0 spouliot 2026-05-15 21:13:04 -04:00
  • 6cefdff18c Ignore TODO.txt from source control spouliot 2026-05-15 21:06:48 -04:00
  • 91a5dbe30c Reorganize Operating Costs tab into individual section cards spouliot 2026-05-15 21:03:43 -04:00
  • b2a1b9a0be Remove ShopWorker entity and migrate worker identity to ApplicationUser spouliot 2026-05-15 20:32:32 -04:00
  • 1a44133a63 Remove ShopWorker entity and migrate worker identity to ApplicationUser spouliot 2026-05-15 20:32:32 -04:00
  • 7020797a25 Merge dev: tax-exempt pricing fixes, job details Unicode cleanup v2026.05.15 spouliot 2026-05-15 16:52:39 -04:00
  • 3b5511a703 Fix corrupted Unicode characters and intake button rendering in Job Details spouliot 2026-05-15 16:43:36 -04:00
  • 8df37ca760 Fix tax-exempt customers charged tax on all job save paths spouliot 2026-05-15 16:15:43 -04:00
  • 7239f55308 Fix tax-exempt customers always charged tax in quote preview spouliot 2026-05-15 16:05:07 -04:00
  • 09e077897b Fix quote preview not recalculating when tax-exempt customer is selected spouliot 2026-05-15 15:58:20 -04:00
  • 051c86810e Add missing AddQuotePricingSnapshotFields migration spouliot 2026-05-15 15:48:46 -04:00
  • 6721de91e4 Fix pricing consistency across Quote → Job → Invoice; add stage-flow tests spouliot 2026-05-15 15:03:06 -04:00
  • 226a6237a6 Fix corrupted Unicode characters in Jobs/Details.cshtml spouliot 2026-05-15 09:51:00 -04:00
  • cf6acc125f Complete mobile card view coverage for all remaining pages v2026.05.14-3 spouliot 2026-05-14 23:31:38 -04:00
  • f467862877 Add mobile card views to 12 high-priority list pages spouliot 2026-05-14 23:07:52 -04:00
  • 7ad7d84016 Add mobile card views to Invoices and Intakes list pages spouliot 2026-05-14 22:51:22 -04:00
  • 75b0a8afe2 Fix kiosk inactivity timer for remote sessions; make Intakes table mobile-responsive spouliot 2026-05-14 21:00:43 -04:00
  • 38748c2152 Add BatchId to GiftCertificate for persistent bulk batch tracking spouliot 2026-05-14 20:32:56 -04:00
  • 4ec55e7290 Restore all zeroed views + add bulk gift certificate creation spouliot 2026-05-14 20:09:22 -04:00
  • 3eda91f170 Replace literal Unicode special chars with HTML entities across all 233 views spouliot 2026-05-14 19:16:17 -04:00
  • cefdf3e35c Add remaining-weight input mode to inventory scan/usage page spouliot 2026-05-14 19:12:28 -04:00
  • f34ee749be Fix garbled encoding symbols in oven display, bill/invoice tooltips, and profile timezone dropdown spouliot 2026-05-14 18:54:35 -04:00
  • 357ef84001 Fix online users page always showing /InAppNotifications/Recent as current page spouliot 2026-05-14 17:16:54 -04:00
  • 7a1a697dc2 Merge dev into master: fix oven batch conversion, invoice quantity, AI photo pricing, enforce pricing flag propagation spouliot 2026-05-14 16:56:26 -04:00
  • 539c6c2559 Fix oven batch conversion, invoice quantity, AI photo pricing, and enforce pricing flag propagation spouliot 2026-05-14 16:54:22 -04:00
  • a947494cbd Merge dev into master: churned account filter, powder catalog lookup fixes v2026.05.14-2 spouliot 2026-05-14 14:19:27 -04:00
  • 7e79a13cb1 Fix powder catalog lookup: exact match auto-fills, partials show picker modal spouliot 2026-05-14 14:18:52 -04:00
  • 2ad6df1195 Hide churned trial accounts from company/health screens by default spouliot 2026-05-14 13:59:12 -04:00
  • dc3cd75ea4 Merge dev into master — prod deploy 2026-05-14 v2026.05.14 spouliot 2026-05-14 08:17:24 -04:00
  • a73f14fa7f Real-time SMS consent status update on customer record spouliot 2026-05-13 23:40:47 -04:00
  • 0af31c39b3 Fix kiosk SMS consent routing loop and stuck tablet spouliot 2026-05-13 23:25:37 -04:00
  • e1256503be Fix notification bell, SMS consent kiosk flow, and button alignment spouliot 2026-05-13 23:13:57 -04:00
  • b69ff6db3a Add staff-presented SMS consent flow on customer record spouliot 2026-05-13 22:50:49 -04:00
  • 66231822af Update kiosk help article and AI knowledge base for output setting spouliot 2026-05-13 22:39:39 -04:00
  • d5ad9fa073 Add KioskIntakeOutput company setting and fix kiosk submission bugs spouliot 2026-05-13 22:35:37 -04:00
  • d134dd51e5 Add Customer Intake Kiosk help article and knowledge base entry spouliot 2026-05-13 22:02:34 -04:00
  • 1df7c13abd Sweep kiosk intake submission for FK/null bugs spouliot 2026-05-13 21:53:10 -04:00
  • 4a8778504f Fix FK violation on kiosk intake submission: set JobPriorityId spouliot 2026-05-13 21:36:53 -04:00
  • f1d7054b3e Fix AI quote reliability on mobile: compress photos + add fetch timeout spouliot 2026-05-13 21:22:32 -04:00
  • 46b950baf2 Kiosk intake: 45-second inactivity reset to Welcome screen spouliot 2026-05-13 21:16:34 -04:00
  • 4e9c9d321a Fix kiosk signature pad: host locally, fix canvas resize timing spouliot 2026-05-13 21:14:49 -04:00
  • 0c8723ef84 Fix sw.js: exclude /hubs/ and PollSession from SW interception spouliot 2026-05-13 20:45:03 -04:00
  • 377bb1ce38 Replace kiosk SignalR with polling — Azure App Service blocks anonymous hub handshakes spouliot 2026-05-13 20:37:28 -04:00
  • 2acf54e1a9 Fix kiosk SignalR: skip WebSocket transport, add hubs/Kiosk to subscription bypass spouliot 2026-05-13 20:20:06 -04:00
  • 0b24c320cd Fix kiosk intake routing, view names, and SignalR diagnostics spouliot 2026-05-13 18:28:16 -04:00
  • 350f2d7658 Fix duplicate logo on kiosk Welcome screen; enlarge welcome logo spouliot 2026-05-13 17:21:27 -04:00
  • 856d202b78 Fix kiosk SignalR group: set ViewBag.CompanyId so tablet joins correct hub group spouliot 2026-05-13 17:18:39 -04:00
  • 8caaa84eac Hide Start Intake button when kiosk not activated; relabel remote link spouliot 2026-05-13 17:00:09 -04:00
  • e70f7ee9f1 Fix kiosk logo: add anonymous Logo endpoint proxying blob storage spouliot 2026-05-13 16:55:44 -04:00
  • 6a918c2afc Add invoice SMS notifications and customer intake kiosk spouliot 2026-05-13 16:25:27 -04:00
  • 27bfd4db4d Close all GL entry gaps across the accounting surface spouliot 2026-05-13 12:42:46 -04:00
  • 787d1504ef Label onboarding status and path badges on company detail spouliot 2026-05-12 22:32:08 -04:00
  • 726bebdce9 Consolidate company admin screens: health badge on list, tabbed detail page spouliot 2026-05-12 22:22:14 -04:00
  • 786b78e502 Add Online Now shortcut to Platform Admin nav with live user count spouliot 2026-05-12 21:49:37 -04:00
  • cb1b6dceb6 PR 5 follow-up: boolean radio buttons and seed missing settings spouliot 2026-05-12 21:40:16 -04:00
  • fb31fa7eb3 PR 5: Platform Settings UI redesign spouliot 2026-05-12 21:19:52 -04:00
  • 637be701ea PR 4: Production guardrails for Seed Data and Storage Migration spouliot 2026-05-12 21:08:14 -04:00
  • e9cd67f5d9 PR 3: Observability back-links and terminology cleanup spouliot 2026-05-12 20:55:58 -04:00
  • 433090effd PR 2: normalize DiagnosticsController auth; add Maintenance back-links spouliot 2026-05-12 20:50:11 -04:00
  • 4ca90f561e Fix price override ignored for catalog items; fix time entry delete UI spouliot 2026-05-12 20:38:49 -04:00
  • f95397204c Fix platform admin subtle badge styling spouliot 2026-05-12 10:16:20 -04:00
  • 31d305b66a Group platform admin tools into hub pages spouliot 2026-05-12 09:03:18 -04:00
  • 42a8c089d5 Fix AI photo quote always returning shop minimum price spouliot 2026-05-11 21:10:05 -04:00
  • 2c353f2e7f Three small UX fixes: customer contact validation, pagination dropdown width spouliot 2026-05-11 18:20:43 -04:00
  • c02a5584b4 Hide Converted quotes from default listing to reduce clutter spouliot 2026-05-11 16:45:09 -04:00
  • 17da692dce Fix two production billing bugs: invoice missing oven cost, quote stuck in Draft after send spouliot 2026-05-11 10:39:49 -04:00
  • 656f830898 Add permission descriptions and role defaults to CompanyUsers Create/Edit spouliot 2026-05-11 08:26:21 -04:00
  • dde66c807f Update help docs and AI knowledge base for Accountant role and new permissions spouliot 2026-05-10 19:44:09 -04:00
  • feff0fa73d Add Accountant role and CanManageBills/CanManageAccounting permissions spouliot 2026-05-10 19:42:53 -04:00
  • 59beba2e15 Update help docs and AI knowledge base for 4 new AI bookkeeping features spouliot 2026-05-10 19:30:39 -04:00