This website requires JavaScript.
3aeec4ffb2
Warn on label scan when product already exists in tenant inventory
spouliot
2026-05-03 19:49:13 -04:00
28b7b9f86b
Fix QR detection (parallel loops), price extraction, and camera pre-warm
spouliot
2026-05-03 19:45:22 -04:00
cf36e41139
Label scanner: fix QR detection, blank camera on processing, improve permission flow
spouliot
2026-05-03 19:05:41 -04:00
97cf6dcbf0
Pre-warm camera stream on page load if permission already granted
spouliot
2026-05-03 18:48:37 -04:00
4b65572f6f
Label scanner: native BarcodeDetector + keep stream alive between opens
spouliot
2026-05-03 18:45:25 -04:00
f881b7dd53
Fix label scanner: full field mapping, vision follow-up lookup, SDS/TDS extraction
spouliot
2026-05-03 18:22:53 -04:00
1fc79b77fe
Add platform powder catalog, catalog-first lookup, and label scanner
spouliot
2026-05-03 16:36:25 -04:00
3ee08b5e43
Widen SMS Agreements history modal to modal-xl
spouliot
2026-05-03 12:03:50 -04:00
924748c631
Fix SMS Agreements history modal date column wrapping
spouliot
2026-05-03 11:50:40 -04:00
3ae636d771
Fix SMS Agreements history modal showing undefined values
spouliot
2026-05-03 11:43:47 -04:00
90f333c8f3
Fix SMS Agreements version display and auto-remove stale templates
spouliot
2026-05-03 11:02:25 -04:00
0b6a7a14c4
Add Quote Sent SMS template and fix consent confirmation wording
spouliot
2026-05-02 21:19:43 -04:00
a9048dea2e
Show email and SMS notification status on customer list and details
spouliot
2026-05-02 20:27:28 -04:00
3ff6a96bc8
Add SMS START/re-subscribe handling to Twilio webhook
spouliot
2026-05-02 20:09:49 -04:00
8148908a66
Merge branch 'dev'
spouliot
2026-05-02 19:31:28 -04:00
c18b580ec9
Add SMS Agreements admin page and update help docs
spouliot
2026-05-02 10:17:11 -04:00
a2d48c8b58
Add SMS quote approval, fix Twilio credentials, fix passkey post-login redirect
spouliot
2026-05-02 09:38:55 -04:00
d9bf80cc9a
Update help docs and AI knowledge base for SMS notifications
spouliot
2026-05-01 22:32:55 -04:00
6569d9c4ea
Add SMS gating, TCPA terms agreement, and compose-before-send modal
spouliot
2026-05-01 22:29:39 -04:00
2b89fcf483
Refactor dashboard queries to push filtering and aggregation into the database
spouliot
2026-05-01 10:00:43 -04:00
a9a8ea41c6
Merge branch 'dev'
spouliot
2026-04-30 08:23:40 -04:00
0b798cadb4
Add Cancel button to inventory QR scan usage page
spouliot
2026-04-29 20:26:39 -04:00
49e3d73c67
Add click-to-enlarge lightbox for inventory product image
spouliot
2026-04-29 20:20:01 -04:00
90a06c6acd
Add product image to powder inventory via AI lookup
spouliot
2026-04-29 18:15:55 -04:00
9221fcc783
Add quote-changed banner with re-sync to job details
spouliot
2026-04-29 18:02:46 -04:00
167dc0c146
Merge dev into master
spouliot
2026-04-29 13:37:26 -04:00
ac3e4452b2
Fix catalog filter leaving items unclickable after filtering
spouliot
2026-04-29 13:19:41 -04:00
3669fda852
Merge branch 'dev'
spouliot
2026-04-29 09:23:26 -04:00
8de9cd04b8
Add server-side dismiss persistence and SuperAdmin onboarding progress page
spouliot
2026-04-29 09:23:20 -04:00
296f85e33b
Fix progress widget 'Set how you get paid' link pointing to non-existent #general tab
spouliot
2026-04-29 08:41:07 -04:00
900a52f89d
Merge branch 'dev'
spouliot
2026-04-29 08:11:37 -04:00
73df72ab97
Add dismiss button to progress widget completion state
spouliot
2026-04-28 21:37:53 -04:00
45441c1d07
Fix 'Customize your workflow' done signal not detecting deletions
spouliot
2026-04-28 21:25:30 -04:00
64e9abceac
Hide team invite step on progress widget for single-user plans
spouliot
2026-04-28 21:22:41 -04:00
b1337d3b61
Update help docs and AI knowledge base for onboarding overhaul
spouliot
2026-04-28 21:10:59 -04:00
8aae30765f
Onboarding overhaul: slim wizard, progress widget, guided activation UX
spouliot
2026-04-28 21:10:47 -04:00
4d27a378ac
Fix QuoteApprovalControllerTests build break after Phase 3 migration
spouliot
2026-04-28 09:35:30 -04:00
6993c2c462
Fix invoice detail crash after first credit memo or refund is applied
spouliot
2026-04-28 09:17:38 -04:00
1cb7a8ca4a
Phases 3 & 4: Complete data access architecture migration
spouliot
2026-04-28 09:17:29 -04:00
90bc0d965f
Phase 2: Eliminate ApplicationDbContext from domain controllers
spouliot
2026-04-27 21:20:39 -04:00
80b0e547cc
Phase 1: Introduce typed repository interfaces and report service stubs
spouliot
2026-04-27 19:54:10 -04:00
92dc3ebd08
Add data access architecture spec and enforce rules in CLAUDE.md
spouliot
2026-04-27 19:35:16 -04:00
5631d1d57a
Add WarningPermanent toast type and upgrade invoice failure notifications
spouliot
2026-04-27 16:02:16 -04:00
cad728ba66
Fix passkey login tracking, add email opt-out UI guards, and add Quick/Full quote mode toggle
spouliot
2026-04-27 13:32:34 -04:00
0ea192d55b
Harden legacy file paths and Twilio webhook validation
spouliot
2026-04-26 18:14:16 -04:00
8491b308eb
Add admin email wizard and logging
spouliot
2026-04-26 17:01:09 -04:00
404ab3c45d
Add unit tests for LedgerService, AccountBalanceService, DepositsController, and GiftCertificatesController
spouliot
2026-04-26 15:48:34 -04:00
90a01571e3
Merge dev into master
spouliot
2026-04-26 10:35:29 -04:00
a4b8ae611a
Add passkey prompt dismissal and consolidate company admin navigation
spouliot
2026-04-26 10:34:50 -04:00
3899860c1f
Fix PlatformSettings insert collision in AddAiCatalogPriceCheckGating migration
spouliot
2026-04-26 09:30:28 -04:00
f03a198e79
Make AiCatalogPriceCheckEnabled a plan-override toggle
spouliot
2026-04-26 08:41:27 -04:00
cb7bbc37bd
Add three-layer feature gating for AI Catalog Price Check
spouliot
2026-04-26 08:29:51 -04:00
fa9fa76231
Document AI Catalog Price Check in knowledge base and help article
spouliot
2026-04-25 22:55:05 -04:00
4128c15bbb
Remove 'Claude' brand references from all user-facing views
spouliot
2026-04-25 22:51:36 -04:00
6d9111b448
Rename button and add explanatory blurb to AI price check page
spouliot
2026-04-25 22:49:49 -04:00
37c95192ca
Enforce quarterly run limit on AI price check
spouliot
2026-04-25 22:48:39 -04:00
03c10a3d77
Recalibrate progress bar to 27s/batch based on observed run time
spouliot
2026-04-25 22:45:36 -04:00
ff79c39e83
Switch to sequential batching to eliminate rate limit hits
spouliot
2026-04-25 22:27:10 -04:00
2d25f6db2b
Add proactive inter-batch pacing to avoid rate limit hits
spouliot
2026-04-25 22:01:22 -04:00
47f186384f
Increase progress bar estimate to account for rate-limit retry waits
spouliot
2026-04-25 21:55:17 -04:00
26b8244422
Reduce to 2 concurrent batches to avoid Haiku output TPM bursting
spouliot
2026-04-25 21:54:32 -04:00
7b902d90a2
Restore 3 concurrent batches with Haiku; recalibrate progress bar
spouliot
2026-04-25 21:49:53 -04:00
f05e16a826
Switch AI price check to Haiku for cost and speed
spouliot
2026-04-25 21:41:50 -04:00
97d47dbd1c
Fix progress bar timing for sequential batch processing
spouliot
2026-04-25 21:13:39 -04:00
7407d1cd96
Fix rate limit errors in AI price check
spouliot
2026-04-25 20:54:30 -04:00
740238a939
Drop description field from AI price check user prompt
spouliot
2026-04-25 20:44:25 -04:00
560a2c76b8
Add full category path to AI price check for coating-type context
spouliot
2026-04-25 20:35:41 -04:00
19cc03ad1c
Parallelize AI price check batches, increase batch size to 25
spouliot
2026-04-25 20:27:07 -04:00
9370fcdd8f
Reduce batch size to 10 and tighten AI price check prompt
spouliot
2026-04-25 19:57:23 -04:00
2c4c1a6846
Fix AI price check truncation and JSON parse errors
spouliot
2026-04-25 19:45:53 -04:00
c9324ee0b0
Fix catalog-price-check.js served from wrong wwwroot
spouliot
2026-04-25 19:33:14 -04:00
9943c11571
Add progress overlay to AI Catalog Price Check
spouliot
2026-04-25 19:27:08 -04:00
360edace72
Fix EnrollPrompt page layout squished on desktop
spouliot
2026-04-25 19:16:40 -04:00
54f444d981
Add AI Catalog Price Check feature
spouliot
2026-04-25 18:41:56 -04:00
dbe4170986
Add unit tests for 9 new services/controllers and expand existing test coverage
spouliot
2026-04-25 18:27:30 -04:00
edce8e8c4a
Move passkey enrollment prompt to post-login dedicated page
spouliot
2026-04-25 16:41:01 -04:00
92f71f62d0
Fix iOS passkey enrollment sheet appearing on password form submit
spouliot
2026-04-25 15:56:17 -04:00
c71332740e
Fix passkey RPID mismatch across environments
spouliot
2026-04-25 15:49:45 -04:00
edc599a1a2
Clean up TODO list and remove stale deploy_migration.sql
spouliot
2026-04-25 15:12:31 -04:00
90a5a028ad
Update docs and AI assistant for passkey biometric login
spouliot
2026-04-25 15:08:46 -04:00
0bb96a502a
Add passkey / biometric login (WebAuthn FIDO2)
spouliot
2026-04-25 15:07:01 -04:00
4f976b1332
Require auth on all work order QR codes and add top view QR
spouliot
2026-04-25 13:27:43 -04:00
9361cd4495
Add production Jenkins pipeline for Azure App Service deployment
spouliot
2026-04-25 09:50:52 -04:00
00bf8a4cd0
Add catalog item images with thumbnail preview in wizard
spouliot
2026-04-25 09:33:59 -04:00
931d6d40da
Merge dev into master for deployment
spouliot
2026-04-24 21:29:52 -04:00
3327c86909
Add AI Profile draft generator and hide AI Quick Quote for release
spouliot
2026-04-24 21:29:42 -04:00
27ac793f62
Harden paid registration flow and add unit tests
spouliot
2026-04-24 21:10:28 -04:00
4153acf3aa
Add facility overhead (rent + utilities) to operating costs and pricing engine
spouliot
2026-04-24 19:35:00 -04:00
813f76138c
Fix web.config patch: use XPath instead of property navigation
spouliot
2026-04-24 17:25:50 -04:00
8d94013895
Add AI Quick Quote widget and inline customer reassignment
spouliot
2026-04-24 17:02:03 -04:00
fc9ddc6d17
Patch web.config with Development after each deploy
spouliot
2026-04-24 10:04:41 -04:00
c1b537bc4f
Fix EF migration to specify ApplicationDbContext
spouliot
2026-04-24 09:33:55 -04:00
6ddf428c10
Add dotnet-ef tool manifest and dev Jenkinsfile for CI
spouliot
2026-04-24 09:03:23 -04:00
63e12a9636
Initial commit
spouliot
2026-04-23 21:38:24 -04:00