Commit graph

  • af441894d7 fix(permissions): clean up overrides on user delete and converge concurrent override writes (SH-328) Alexandre Brandizzi 2026-09-16 20:27:26 -03:00
  • e8feed1d1b
    Merge branch 'dev' into feat/ab/sh-348-dashboard-region Alexandre Brandizzi 2026-09-16 20:26:26 -03:00
  • fed45f423e
    Merge branch 'dev' into feat/ab/sh-350-dashboard-trend Alexandre Brandizzi 2026-09-16 20:26:23 -03:00
  • 93ecbbd410 test(dashboard): guard Stats wire object for KPI counts (SH-353) Alexandre Brandizzi 2026-09-16 20:25:45 -03:00
  • 7bdcc61651 fix(work-orders): bind GetWorkorderById id from the query string (SH-374) Alexandre Brandizzi 2026-09-16 20:15:30 -03:00
  • 22308f21f6 fix(dashboard): resolve region zones from full state names (SH-348) Alexandre Brandizzi 2026-09-16 20:15:20 -03:00
  • d366f319e9 feat(uplifts): add approval decision actions (SH-210) Alexandre Brandizzi 2026-09-16 20:11:26 -03:00
  • 104439c239 fix(dashboard): serialise KPI counts in Stats response (SH-353) Alexandre Brandizzi 2026-09-16 20:07:31 -03:00
  • 3cb1e3e3f3 feat(uplifts): add approval queue read contract (SH-207) Alexandre Brandizzi 2026-09-16 20:03:35 -03:00
  • 740bcaaf7d feat(team-members): add member detail editing (SH-326) Alexandre Brandizzi 2026-09-16 20:01:46 -03:00
  • 5877f7817f fix(dashboard): bucket trend by calendar ScheduledDate (SH-350) Alexandre Brandizzi 2026-09-16 19:57:09 -03:00
  • 7947e2e77d feat(dashboard): expose KPI counts (SH-353) Alexandre Brandizzi 2026-09-16 19:19:10 -03:00
  • fc5c7d5ca4 feat(team-members): support pending member creation (SH-325) Alexandre Brandizzi 2026-09-16 19:14:36 -03:00
  • 9d7efa34a6 feat(dashboard): add trend metrics (SH-350) Alexandre Brandizzi 2026-09-16 18:42:26 -03:00
  • ca4d4833ff feat(permissions): protect configured account owner (SH-329) Alexandre Brandizzi 2026-09-16 18:26:20 -03:00
  • 3358ea5058 feat(dashboard): add vendor insights (SH-349) Alexandre Brandizzi 2026-09-16 18:10:42 -03:00
  • d4afcced87 feat(dashboard): add regional work order metrics (SH-348) Alexandre Brandizzi 2026-09-16 18:01:42 -03:00
  • 33f517620b feat(work-orders): link service selections to registry Alexandre Brandizzi 2026-09-16 18:02:57 -03:00
  • 441735d39d feat(permissions): expose team member permission overrides (SH-328) Alexandre Brandizzi 2026-09-16 18:02:02 -03:00
  • 0194748e3b feat(dashboard): add dispatcher performance (SH-347) Alexandre Brandizzi 2026-09-16 17:58:08 -03:00
  • d6c3cd2e24 feat(permissions): add team member permission policy foundation (SH-327) Alexandre Brandizzi 2026-09-16 17:44:00 -03:00
  • adaaa205e7 feat(permissions): add team member permission policy foundation (SH-327) Alexandre Brandizzi 2026-09-16 17:44:00 -03:00
  • 9b39d0e5ec feat(dashboard): add dispatcher workload (SH-346) Alexandre Brandizzi 2026-09-16 17:43:49 -03:00
  • dec8b15278 fix(services): translate duplicate name races Alexandre Brandizzi 2026-09-16 17:31:21 -03:00
  • a2e749c72d feat(dashboard): add core dashboard metrics (SH-343) Alexandre Brandizzi 2026-09-16 17:28:21 -03:00
  • 45f98e8154 Merge remote-tracking branch 'origin/dev' into feat/ab/sh-303-services-registry Alexandre Brandizzi 2026-09-16 17:15:38 -03:00
  • efd13b6f60 fix(dashboard): scope stats to authenticated accounts (SH-336) Alexandre Brandizzi 2026-09-16 17:12:03 -03:00
  • 06f9450485 feat(services): add global services registry Alexandre Brandizzi 2026-09-16 16:18:46 -03:00
  • d204536215
    Merge pull request #121 from Sea-Haven-Industries/feat/ab/sh-278-vendor-area Alexandre Brandizzi 2026-09-16 17:05:57 -03:00
  • 3047c2ba59
    Merge branch 'dev' into feat/ab/sh-278-vendor-area Alexandre Brandizzi 2026-09-16 17:00:27 -03:00
  • 65c1ed86e1 docs(terraform): document staging token scope Alexandre Brandizzi 2026-09-16 16:07:16 -03:00
  • 4ae6d02d55 feat(deploy): rebuild protected staging lane Alexandre Brandizzi 2026-09-16 15:52:02 -03:00
  • 4b772c8db3
    fix(work-orders): keep SH placeholder WO numbers and block downgrades (#123) Alexandre Brandizzi 2026-09-16 15:01:10 -03:00
  • a895b02093
    Merge branch 'dev' into fix/ab/sh-320-sh-prefixed-wo-number Alexandre Brandizzi 2026-09-16 14:54:20 -03:00
  • 776c8be5cb
    fix(work-orders): resolve undetermined media MIME from the extension (SH-370) (#122) Alexandre Brandizzi 2026-09-16 14:53:58 -03:00
  • ab7e2aeb76
    Merge branch 'dev' into fix/ab/sh-320-sh-prefixed-wo-number Alexandre Brandizzi 2026-09-16 14:41:36 -03:00
  • 36d76a246d
    Merge branch 'dev' into fix/ab/sh-370-media-undetermined-mime Alexandre Brandizzi 2026-09-16 14:41:35 -03:00
  • caba84ea08
    fix(work-orders): reject forged automatic lifecycle statuses on board patch (SH-357, SH-358) (#120) Alexandre Brandizzi 2026-09-16 14:41:23 -03:00
  • fbee138dc8 fix(work-orders): resolve undetermined media MIME from the extension (SH-370) Alexandre Brandizzi 2026-09-16 13:21:12 -03:00
  • 97df3e6e4e fix(work-orders): keep SH placeholder WO numbers and block downgrades Alexandre Brandizzi 2026-09-16 13:10:58 -03:00
  • 8515676f4d feat(vendors): add admin-assigned vendor company Area Alexandre Brandizzi 2026-09-16 11:34:45 -03:00
  • f827fe9a2c fix(work-orders): reject forged automatic lifecycle statuses on board patch (SH-357, SH-358) Alexandre Brandizzi 2026-09-16 11:32:09 -03:00
  • d07ac42452
    Merge pull request #118 from Sea-Haven-Industries/feat/ab/sh-138-site-contacts Alexandre Brandizzi 2026-09-16 10:47:23 -03:00
  • 0248aea542 fix(locations): preserve contacts when deleting sites Alexandre Brandizzi 2026-09-14 22:20:46 -03:00
  • 4872fe5ba1 feat(locations): manage ordered site contacts Alexandre Brandizzi 2026-09-14 21:44:45 -03:00
  • 802b7a414e
    SH-338: filter unscheduled work orders before pagination (#116) Alexandre Brandizzi 2026-09-15 16:46:40 -03:00
  • 2446c10117 fix(work-orders): preserve unscheduled status scope Alexandre Brandizzi 2026-09-14 19:46:13 -03:00
  • f201c34a88 fix(work-orders): filter unscheduled search server-side Alexandre Brandizzi 2026-09-14 19:34:20 -03:00
  • 13ce4b7e88
    docs: add complete dev Postman API collection (#119) Alexandre Brandizzi 2026-09-15 16:39:49 -03:00
  • a90e11451e docs: generate complete dev Postman API collection Alexandre Brandizzi 2026-09-15 12:44:00 -03:00
  • 5cf7f7da8c docs: add dev Postman starter collection Alexandre Brandizzi 2026-09-15 11:03:31 -03:00
  • 1a6edd255a
    feat(locations): filter sites by state (#117) Alexandre Brandizzi 2026-09-15 16:32:30 -03:00
  • 436e615510 feat(locations): filter sites by state Alexandre Brandizzi 2026-09-14 21:07:32 -03:00
  • 3a4af64a64
    fix(observability): preserve backend release identity (#114) Alexandre Brandizzi 2026-09-15 16:08:14 -03:00
  • 552454aae0 fix(observability): preserve backend release identity Alexandre Brandizzi 2026-09-14 11:50:11 -03:00
  • 67089c2135
    SH-281: group vendor directory by company (#115) Alexandre Brandizzi 2026-09-15 16:02:44 -03:00
  • 35b647c0f2 fix(vendors): preserve technician list contract Alexandre Brandizzi 2026-09-14 15:24:55 -03:00
  • 3eb56a690b style(vendors): format company directory query Alexandre Brandizzi 2026-09-14 13:08:00 -03:00
  • 07c482cbc0 feat(vendors): group directory by company Alexandre Brandizzi 2026-09-14 13:06:46 -03:00
  • eb9b7eb50e
    Merge pull request #113 from Sea-Haven-Industries/feat/SH-191-completion-freeze Arthur Bassi 2026-09-14 11:03:06 -03:00
  • 073d4df963
    Merge branch 'dev' into feat/SH-191-completion-freeze Arthur Bassi 2026-09-14 09:47:22 -03:00
  • deeb29b512 fix(work-orders): allow Complete without a linked site Arthur Bassi 2026-09-10 17:56:00 -03:00
  • 76c606eb75
    Merge pull request #110 from Sea-Haven-Industries/fix/SH-337-completion-doc-allowlist Alexandre Brandizzi 2026-09-10 15:52:21 -03:00
  • e0139d4601 feat(work-orders): capture Site/Vendor/POC snapshot on Completed Arthur Bassi 2026-09-10 15:46:25 -03:00
  • 6212949fff test(work-orders): scope the media-allowlist guard to photo categories Alexandre Brandizzi 2026-09-10 14:46:54 -03:00
  • af6faf77e3
    Merge branch 'dev' into fix/SH-337-completion-doc-allowlist Alexandre Brandizzi 2026-09-10 14:38:06 -03:00
  • 6d58865253
    Merge pull request #111 from Sea-Haven-Industries/fix/ab/deploy-verify-health-convergence Alexandre Brandizzi 2026-09-10 14:37:57 -03:00
  • e330599044
    Merge branch 'dev' into fix/ab/deploy-verify-health-convergence Adam Moussa 2026-09-10 11:11:41 -04:00
  • 9a49a5c40a fix(deploy): apply the health-convergence fix to the dev Terraform rollback Alexandre Brandizzi 2026-09-10 10:55:45 -03:00
  • 492478f815
    Merge pull request #112 from Sea-Haven-Industries/feat/SH-186-status-auto-derivation Arthur Bassi 2026-09-09 17:46:18 -03:00
  • 1e37fb486c Merge remote-tracking branch 'origin/dev' into feat/SH-186-status-auto-derivation Arthur Bassi 2026-09-09 17:34:00 -03:00
  • 815e17c56f
    Merge pull request #109 from Sea-Haven-Industries/feat/SH-171-wo-documents Arthur Bassi 2026-09-09 17:33:04 -03:00
  • e849991dcf test(work-orders): seed scheduled concurrency scenario Arthur Bassi 2026-09-09 17:09:26 -03:00
  • 3454125d2d fix(work-orders): address document review feedback Arthur Bassi 2026-09-09 17:09:26 -03:00
  • cd34a23e78 Merge remote-tracking branch 'origin/dev' into feat/SH-186-status-auto-derivation Arthur Bassi 2026-09-09 10:24:15 -03:00
  • 8b4aec300f feat(work-orders): re-derive lifecycle when board status is patched Arthur Bassi 2026-09-09 10:23:22 -03:00
  • d1e3fb03ce fix(deploy): let EB health converge before failing the version gate Alexandre Brandizzi 2026-09-08 21:31:55 -03:00
  • 7e4db749d0 fix(work-orders): enforce a file allowlist on completion-doc upload (SH-337) Alexandre Brandizzi 2026-09-08 21:24:10 -03:00
  • a0fdd19934
    fix(work-orders): accept image/jpg MIME and expose board MediaCount (#107) Arthur Bassi 2026-09-08 21:10:52 -03:00
  • dd804bcc9d
    Merge branch 'dev' into feat/SH-299-completion-doc-diag Alexandre Brandizzi 2026-09-08 21:06:04 -03:00
  • 12354f9bf7 test(work-orders): cover SH-186 schedule status derivation Arthur Bassi 2026-09-08 16:24:45 -03:00
  • f3f9ac1b58 feat(work-orders): derive lifecycle on board create and schedule PATCH Arthur Bassi 2026-09-08 16:23:13 -03:00
  • ae9122243d feat(work-orders): run schedule status side-effects on board field mutations Arthur Bassi 2026-09-08 16:22:11 -03:00
  • e12b3ea54b feat(work-orders): apply schedule lifecycle promote and demote Arthur Bassi 2026-09-08 16:21:14 -03:00
  • 335390f746 feat(work-orders): derive Scheduled from date without assignee Arthur Bassi 2026-09-08 16:19:50 -03:00
  • 1bdbc12292
    fix(deploy): treat applied HCP runs as success (#108) Adam Moussa 2026-09-08 13:26:11 -04:00
  • cdc143afc1
    fix(deploy): fence rollback create-run on unlock success Adam Moussa 2026-09-08 13:14:46 -04:00
  • de386245d9
    fix(deploy): compare G3 formatting against the PR merge base Adam Moussa 2026-09-08 12:51:32 -04:00
  • ad15137aa4
    fix(deploy): wait on rollback apply result Adam Moussa 2026-09-08 12:11:12 -04:00
  • 1ff5acb163
    fix(deploy): treat applied HCP runs as success Adam Moussa 2026-09-08 12:08:13 -04:00
  • 143d613547 test(work-orders): expect media content route Arthur Bassi 2026-09-08 11:25:26 -03:00
  • 9d8ae5ec24 feat(work-orders): add authorized media content GET Arthur Bassi 2026-09-08 11:23:52 -03:00
  • b4f2c8b763 feat(work-orders): authorize WO media content reads Arthur Bassi 2026-09-08 11:19:41 -03:00
  • a25fd0bd5d feat(work-orders): stream stored WO media safely Arthur Bassi 2026-09-08 11:09:55 -03:00
  • bb651bb547 feat(work-orders): add file storage OpenRead port Arthur Bassi 2026-09-08 11:08:26 -03:00
  • 02df093798 feat(work-orders): align completion-doc size with Extra Docs Arthur Bassi 2026-09-08 11:07:17 -03:00
  • b6b8d2e58f feat(work-orders): cap media uploads at 50MB Arthur Bassi 2026-09-08 11:06:05 -03:00
  • 47022c7761 feat(work-orders): allow Extra Docs PDF/DOC by category Arthur Bassi 2026-09-08 11:02:40 -03:00
  • f78556cacc fix(work-orders): accept image/jpg MIME and expose board MediaCount Arthur Bassi 2026-09-07 15:14:27 -03:00
  • a5d1c85d53
    Merge pull request #106 from Sea-Haven-Industries/feat/SH-170-wo-board-severity Arthur Bassi 2026-09-07 12:19:21 -03:00