Commit Graph

  • 711cd01cd3 Add CRM features: Outstanding Pickups, Customer Notes, Clone Job, Preferred Powders dev spouliot 2026-06-09 19:59:32 -04:00
  • 7cbae31916 Fix invoice ProjectName not pre-filling on edit; add to Details view master v2026.06.09 spouliot 2026-06-09 08:58:09 -04:00
  • 9367e358d9 Add Project Name field to invoice create and edit forms spouliot 2026-06-09 08:50:02 -04:00
  • 9f1460c9c0 Make Low Stock stat card clickable to filter inventory by low stock items spouliot 2026-06-08 16:48:04 -04:00
  • 94e536178c Add optional Project Name field to quotes, jobs, and printed documents spouliot 2026-06-08 14:48:28 -04:00
  • 456d054229 Fix prospect quote conversion losing the job; add reply-to in email footer spouliot 2026-06-08 10:35:48 -04:00
  • f38a1e3273 Add Reply-To diagnostic logging to GetEmailFromAsync spouliot 2026-06-04 11:08:45 -04:00
  • 03b425a12f Update blast rate tests to match nozzle-primary formula spouliot 2026-06-03 16:21:39 -04:00
  • 8453449833 Recalibrate blast rate formula from industry reference tables spouliot 2026-06-03 16:12:45 -04:00
  • ad986561c9 Fix AI quote blast rate: single formula path, correct client preview spouliot 2026-06-03 15:57:46 -04:00
  • 0d5553f3b2 Fix dark mode hover colors in coat/powder dropdown menus spouliot 2026-06-03 15:12:24 -04:00
  • 87bbf158a4 Fix material usage logging: remaining weight mode, edit modal, and consolidate duplicate logic spouliot 2026-06-03 14:31:02 -04:00
  • f453a95f28 Add hover tooltips on job list rows showing description and PO number spouliot 2026-06-02 18:53:52 -04:00
  • d9e98a55d2 Fix customer email inputs to allow comma-separated addresses spouliot 2026-06-02 12:16:30 -04:00
  • 99deca3b62 Default imported formula templates to active regardless of export state spouliot 2026-06-02 11:14:48 -04:00
  • 23e64829bb Fix formula export/import: embed fields as real JSON array, not escaped string spouliot 2026-06-02 11:06:38 -04:00
  • cd4c233b60 Fix formula export casing: use camelCase to match import property lookups spouliot 2026-06-02 10:52:58 -04:00
  • 6c07216c64 Fix custom formula item pricing: multiply by quantity, not divide spouliot 2026-06-02 10:27:11 -04:00
  • b23bea6db0 Add formula template export/import and unsaved-changes guard spouliot 2026-06-02 09:24:02 -04:00
  • cf07356147 Fix all NU1605 errors: suppress via Directory.Build.props instead of per-package pins spouliot 2026-06-01 23:41:56 -04:00
  • 39b103a482 Fix NU1605 package downgrade: pin System.Runtime.InteropServices 4.3.0 spouliot 2026-06-01 23:27:26 -04:00
  • 4aae2df5b5 Merge dev into master spouliot 2026-06-01 23:16:10 -04:00
  • 3416c242f1 Update help docs and AI knowledge base for item wizard changes spouliot 2026-06-01 23:05:47 -04:00
  • 7e31846777 Fix flat-rate coat wizard UX, — literal, select caret overlap, and walkthrough modal sizing spouliot 2026-06-01 23:01:33 -04:00
  • ed35362c7a Add Formula Library ratings, Job Profitability report, and Quote Revision History improvements spouliot 2026-06-01 09:02:07 -04:00
  • 81119035c7 Restructure formula template modal for correct mobile flow spouliot 2026-05-27 23:00:39 -04:00
  • 0deef574c3 Fix formula pages mobile responsiveness; fix missing mobile tabs spouliot 2026-05-27 22:48:33 -04:00
  • efc4e9dadf Fix NCalc case sensitivity and add formula validation spouliot 2026-05-27 22:09:43 -04:00
  • ca7e905832 Add Community Formula Library feature spouliot 2026-05-27 21:54:51 -04:00
  • 32d09b38f1 Fix invisible formula/AI badges: move custom bg-* colors to site.css spouliot 2026-05-27 18:25:36 -04:00
  • 3cee1307fc Fix customer import: normalize blank email to null, not empty string spouliot 2026-05-27 13:21:56 -04:00
  • be89327c01 Fix customer import dedup: use composite keys, not exclusive tiers spouliot 2026-05-27 13:02:10 -04:00
  • 8f955851e5 Improve customer import duplicate detection to 3-tier strategy spouliot 2026-05-27 12:48:40 -04:00
  • 972123c7a2 Fix incoming powder inventory: defer creation to approval, deduplicate, fix category spouliot 2026-05-27 10:12:24 -04:00
  • 9dd36238bb Add timeclock break/lunch tracking, manual entries, and attendance period picker spouliot 2026-05-27 09:30:39 -04:00
  • 8ae61b6c78 Add missing AddTimeclockSettings migration spouliot 2026-05-27 00:20:53 -04:00
  • 97745f9a65 Add Timeclock settings tab in Company Settings with multi-kiosk support spouliot 2026-05-27 00:12:46 -04:00
  • e124fd5c8b Fix duplicate @section Scripts crash on Edit User page spouliot 2026-05-26 20:28:08 -04:00
  • 6c2fe6e1c4 Add Employee Timeclock feature with kiosk, attendance report, and payroll CSV export spouliot 2026-05-26 19:53:13 -04:00
  • f625be01a3 Fix Facility Overhead not appearing on Quote Details view spouliot 2026-05-26 13:11:52 -04:00
  • e6c4cfb38b Fix all FK constraint violations when purging soft-deleted Jobs spouliot 2026-05-26 13:04:13 -04:00
  • 5b5247624c Fix data purge FK violation on Appointments and apply pending migration spouliot 2026-05-26 08:54:48 -04:00
  • 91a176ce5c Add Description field to job CSV import template spouliot 2026-05-25 23:41:58 -04:00
  • a7ad0e1de8 Add Custom Powder Order line item and fix CSV import FinalPrice crash spouliot 2026-05-25 23:37:46 -04:00
  • e4a256a6c4 Fix subscription expiry logic and HTML entities in page titles spouliot 2026-05-25 09:43:41 -04:00
  • e476b4744d Fix subscription expiry logic and HTML entities in page titles spouliot 2026-05-25 09:43:41 -04:00
  • 04d16109ae Simplify location display on inventory QR label spouliot 2026-05-24 18:08:59 -04:00
  • f0f3717681 Fix three bugs: vendor duplicate check, page size dropdown, label location spouliot 2026-05-24 17:58:23 -04:00
  • e23b006139 Add color family filter to inventory index spouliot 2026-05-24 17:25:14 -04:00
  • 0f35946973 Fix dark mode: main settings nav tab buttons showing white UA background spouliot 2026-05-24 14:31:33 -04:00
  • 19e1ce858f Simplify location display on inventory QR label spouliot 2026-05-24 18:08:59 -04:00
  • 026e646295 Fix three bugs: vendor duplicate check, page size dropdown, label location spouliot 2026-05-24 17:58:23 -04:00
  • b7fcefa765 Add color family filter to inventory index spouliot 2026-05-24 17:25:14 -04:00
  • 1722cd4124 Fix dark mode: main settings nav tab buttons showing white UA background spouliot 2026-05-24 14:31:33 -04:00
  • c3742e1585 Fix NCalc type error when evaluating AI-generated formulas spouliot 2026-05-24 14:27:42 -04:00
  • 1a6f855c05 Merge feature/custom-formula-templates into dev spouliot 2026-05-24 11:42:22 -04:00
  • d28e639d1b Add formula template walkthrough and UX improvements spouliot 2026-05-24 11:40:54 -04:00
  • 10f668fd73 Merge dev into master for prod deploy v2026.05.24 spouliot 2026-05-24 10:46:23 -04:00
  • 19b7a9a473 Fix equipment creation blocked by maintenance interval validation spouliot 2026-05-24 10:38:05 -04:00
  • 4650ba3d4d Fix custom formula wizard bugs and add field name validation spouliot 2026-05-24 10:28:41 -04:00
  • 1eba50cf0f Add Custom Formula Item Templates with AI generation and wizard integration spouliot 2026-05-23 15:09:22 -04:00
  • e443457139 Update help docs and AI assistant for QR modal and vendor supply categories spouliot 2026-05-23 10:48:00 -04:00
  • edf56c1164 Fix iframe blocking: SAMEORIGIN + frame-ancestors 'self' spouliot 2026-05-23 10:02:23 -04:00
  • b9cd693421 Fix QR label modal: allow self in frame-src CSP, fix Bootstrap API call spouliot 2026-05-23 09:59:14 -04:00
  • d77b3778ac Add vendor supply categories with inventory auto-filter spouliot 2026-05-23 09:52:34 -04:00
  • a7bf97a2df Add Print QR Label action to inventory list (desktop + mobile) spouliot 2026-05-23 09:35:13 -04:00
  • 05935b110a Open QR Label in modal instead of a new browser tab spouliot 2026-05-23 09:32:57 -04:00
  • 64a9c1531b Fix — HTML entity rendering across 60 views spouliot 2026-05-23 09:27:45 -04:00
  • f018653c18 Add rework pricing type (Fixed vs Per-Item) and inline rework flow on Job Details spouliot 2026-05-23 09:27:34 -04:00
  • b7ab85ff92 Merge dev into master: QR scan URL fixes and http scheme failsafe v2026.05.22b spouliot 2026-05-22 17:41:01 -04:00
  • 15b070398b Change URL scheme fallback from https to http spouliot 2026-05-22 17:40:14 -04:00
  • 14f220347b Add scheme failsafe to all inventory URL link buttons spouliot 2026-05-22 17:38:09 -04:00
  • baec0b33f7 Fix QR scan stripping scheme from product URL spouliot 2026-05-22 17:26:56 -04:00
  • ce7b00b68c Merge dev into master: inventory bin filter, print bin, mobile login fixes, QR scan fix v2026.05.22 spouliot 2026-05-22 15:22:38 -04:00
  • dfb1d34af3 Add inventory bin filter, print bin, mobile login fixes, and QR scan fix spouliot 2026-05-22 15:19:11 -04:00
  • c5c1244177 Merge dev into master v2026.05.21 spouliot 2026-05-21 08:35:29 -04:00
  • 8c86eba4f2 Untrack .claude/settings.local.json (covered by .gitignore) spouliot 2026-05-21 08:34:19 -04:00
  • d4dddfa727 Track AGENTS.md; ignore Claude Code settings and build logs spouliot 2026-05-21 08:33:25 -04:00
  • 1bb07162cd Inline item editing on Job Details with live pricing and costing updates spouliot 2026-05-20 23:56:36 -04:00
  • ec925f9e08 Temp: add console.debug to updateTotals for diagnosis spouliot 2026-05-20 23:09:14 -04:00
  • 600196f679 Add ws://localhost:* to dev CSP connect-src for browser refresh spouliot 2026-05-20 23:03:08 -04:00
  • eb13283e76 Fix inline edit not updating pricing breakdown on Job Details spouliot 2026-05-20 22:58:26 -04:00
  • 30c644a8ec Fix service worker TypeError on localhost; inline edit config timing spouliot 2026-05-20 22:48:31 -04:00
  • 0e480adbf6 Fix inline item editing never activating on details pages spouliot 2026-05-20 22:37:27 -04:00
  • eaab0af51f Fix facility overhead missing from invoices on quote-based jobs spouliot 2026-05-20 22:18:52 -04:00
  • 51a5268bc2 Fix Log Material dropdown invisible in dark mode spouliot 2026-05-20 21:40:44 -04:00
  • a0bdd2b5b4 Sweep all .cshtml files for encoding corruption; add pre-commit guard spouliot 2026-05-20 21:37:10 -04:00
  • 21b39161a3 Fix encoding corruption in Bills and Expenses views spouliot 2026-05-20 17:06:31 -04:00
  • b241daf15e Add packing slip PDF to invoice details page spouliot 2026-05-20 16:52:46 -04:00
  • 25140554ad Merge hotfixes: Stripe receipt_email, surcharge fix, void deposit/credit, cache headers spouliot 2026-05-20 14:19:10 -04:00
  • 46cadea367 Add Cache-Control: no-store for authenticated pages; fix payment onclick encoding spouliot 2026-05-20 14:11:03 -04:00
  • cfe937c0c3 Convert non-deposit payments to customer credits on invoice void spouliot 2026-05-20 13:42:54 -04:00
  • 3ad6b0d08f Fix voided invoice leaving deposits locked as applied spouliot 2026-05-20 13:27:10 -04:00
  • fdac0240d1 Fix Stripe receipt_email + online payment surcharge and hardening spouliot 2026-05-20 14:17:57 -04:00
  • 81dc34bab4 Add Cache-Control: no-store for authenticated pages; fix payment onclick encoding v2026.05.20 spouliot 2026-05-20 14:11:03 -04:00
  • b9e9449c8b Convert non-deposit payments to customer credits on invoice void spouliot 2026-05-20 13:42:54 -04:00
  • fd38785942 Fix voided invoice leaving deposits locked as applied spouliot 2026-05-20 13:27:10 -04:00
  • 33277de727 Payment hardening: InvariantCulture on JS literals, remove dead CustomerEmail spouliot 2026-05-20 13:20:47 -04:00
  • 4ac62551f4 Fix online payment surcharge — input and validation based on total spouliot 2026-05-20 13:16:50 -04:00
  • 7fa385aeb8 Inline item editing on details pages; fix Stripe receipt_email spouliot 2026-05-20 11:49:04 -04:00