Commit graph

  • 73254b5a2e
    Merge 4a3aca6dcb into 20315f6370 renovate[bot] 2026-10-04 16:11:10 +00:00
  • 4a3aca6dcb
    chore(deps): update terraform aws to ~> 6.67 renovate/terraform-minor-and-patch renovate[bot] 2026-10-04 16:11:05 +00:00
  • 4df588911e
    Merge 0c4df4b5bc into 20315f6370 renovate[bot] 2026-10-04 16:10:24 +00:00
  • 0c4df4b5bc
    chore(deps): update nuget minor and patch renovate/nuget-minor-and-patch renovate[bot] 2026-10-04 16:10:19 +00:00
  • 20315f6370
    Merge pull request #204 from Sea-Haven-Industries/fix/ab/past-due-cancel main Alexandre Brandizzi 2026-10-01 23:25:42 +00:00
  • ee24dde218 fix(workorders): let Cancel through the Past Due status lock Alexandre Brandizzi 2026-10-01 20:02:25 -03:00
  • bb0b7cbef5
    Merge 2eeb729dd9 into 93968dc2fb renovate[bot] 2026-10-01 22:18:42 +00:00
  • 2eeb729dd9
    chore(deps): update github actions renovate/github-actions renovate[bot] 2026-10-01 22:18:37 +00:00
  • 93968dc2fb
    Merge pull request #203 from Sea-Haven-Industries/fix/ab/sh-412-addon-weekonly-tests Alexandre Brandizzi 2026-10-01 22:12:55 +00:00
  • 7a14b883c3 fix: keep add-on hint when a week-only toggle leaves the schedule unmoved Alexandre Brandizzi 2026-10-01 17:04:28 -03:00
  • efe4f5f0b9 test: pin add-on across week-only toggles and date-less edits Alexandre Brandizzi 2026-10-01 16:19:13 -03:00
  • 2c918b0f6a
    Merge pull request #202 from Sea-Haven-Industries/fix/ab/sh-412-addon-reschedule-time Alexandre Brandizzi 2026-10-01 19:18:13 +00:00
  • b9f9725c73 fix: recalculate add-on at reschedule time, not creation time Alexandre Brandizzi 2026-10-01 16:10:19 -03:00
  • a33d6b43a5
    Merge 1daac954a3 into c655f753b2 Arthur Bassi 2026-10-01 14:58:56 +00:00
  • 1daac954a3
    fix(uplifts): return stored evidence after a concurrent create feat/SH-388-uplift-evidence Cursor Agent 2026-10-01 14:58:51 +00:00
  • b11b66538a
    fix(uplifts): resolve evidence without a primary dispatch Cursor Agent 2026-10-01 14:55:07 +00:00
  • c655f753b2
    Merge pull request #201 from Sea-Haven-Industries/fix/ab/sh-412-addon-reschedule Alexandre Brandizzi 2026-10-01 03:26:16 +00:00
  • c02749a4ea fix: run work order edit reschedule under the mutation lock Alexandre Brandizzi 2026-10-01 00:19:37 -03:00
  • 24436c9864 fix: apply shared schedule side effects on work order edit Alexandre Brandizzi 2026-10-01 00:10:43 -03:00
  • ac5550365f fix: recalculate add-on on work order reschedule Alexandre Brandizzi 2026-09-30 23:58:20 -03:00
  • d03c88d48f
    Merge pull request #200 from Sea-Haven-Industries/research/ab/sh413-service-contract-thr_9fpik7tdmw Alexandre Brandizzi 2026-09-30 23:36:58 +00:00
  • 969b972581 fix(workorders): search registry service labels Alexandre Brandizzi 2026-09-30 20:19:41 -03:00
  • 0cd0d3b066 fix(workorders): match registry service filters exactly Alexandre Brandizzi 2026-09-30 17:08:17 -03:00
  • 0894b20e59 fix(workorders): preserve completed service snapshots Alexandre Brandizzi 2026-09-30 17:04:46 -03:00
  • aede3148d1 fix(workorders): filter inactive services by current name Alexandre Brandizzi 2026-09-30 16:47:12 -03:00
  • c2e29abb5d fix(workorders): use live registry names in service filters Alexandre Brandizzi 2026-09-30 16:45:05 -03:00
  • 5a5472ed43
    Merge pull request #199 from Sea-Haven-Industries/fix/ab/sh411-technician-assignment-backend-thr_9fpik7tdmw Alexandre Brandizzi 2026-09-29 21:58:16 +00:00
  • 2de65539a1 test(workorders): cover technician-name search for cleared assignment Alexandre Brandizzi 2026-09-29 18:40:57 -03:00
  • 35adef5808 fix(workorders): persist explicit technician assignment Alexandre Brandizzi 2026-09-29 17:58:52 -03:00
  • 2f4b783615 fix(uplifts): open evidence by work-order access and keep every file Arthur Bassi 2026-09-28 16:24:26 -03:00
  • 31dd2d5dcd merge(main): keep uplift evidence on the current work-order routes Arthur Bassi 2026-09-28 15:56:45 -03:00
  • d3b6ba01c7
    Merge pull request #193 from Sea-Haven-Industries/fix/ab/sh-403-reset-hardening-2 Alexandre Brandizzi 2026-09-25 23:11:26 +00:00
  • 74d5aa17eb fix(auth): trace a reset email the provider rejects as an error Alexandre Brandizzi 2026-09-25 20:01:58 -03:00
  • 1077d489a8
    Merge pull request #197 from Sea-Haven-Industries/fix/ab/sh-407-cancel-wo-cancels-uplift Alexandre Brandizzi 2026-09-25 23:01:24 +00:00
  • e941e055b7 Merge remote-tracking branch 'origin/main' into fix/ab/sh-407-cancel-wo-cancels-uplift Alexandre Brandizzi 2026-09-25 19:49:50 -03:00
  • c985e9423d Merge remote-tracking branch 'origin/main' into fix/ab/sh-403-reset-hardening-2 Alexandre Brandizzi 2026-09-25 19:49:24 -03:00
  • de0e767930 fix(auth): refuse a reset email when the queue is full instead of dropping it Alexandre Brandizzi 2026-09-25 19:38:53 -03:00
  • 63465cc083
    Merge pull request #198 from Sea-Haven-Industries/fix/ab/sh-409-invalidate-sessions-on-reset Alexandre Brandizzi 2026-09-25 22:38:44 +00:00
  • a32471d4c0 Serialize sync cancels and vendor uplift requests on the work order lock Alexandre Brandizzi 2026-09-25 19:37:08 -03:00
  • 0298fc75bd Merge remote-tracking branch 'origin/main' into fix/ab/sh-403-reset-hardening-2 Alexandre Brandizzi 2026-09-25 19:27:01 -03:00
  • 498f49a2d8 fix(auth): end earlier sessions when a user's role or account changes Alexandre Brandizzi 2026-09-25 19:26:25 -03:00
  • 987ec455f2 Merge remote-tracking branch 'origin/main' into fix/ab/sh-409-invalidate-sessions-on-reset Alexandre Brandizzi 2026-09-25 19:22:33 -03:00
  • de8e283ee5
    Merge pull request #192 from Sea-Haven-Industries/fix/ab/sh-403-reset-code-hardening Alexandre Brandizzi 2026-09-25 22:16:01 +00:00
  • 410bf1b4ca
    Merge pull request #195 from Sea-Haven-Industries/fix/ab/sh-408-has-uplift-live-status Alexandre Brandizzi 2026-09-25 22:15:57 +00:00
  • c8e4b8f3d5
    Merge pull request #196 from Sea-Haven-Industries/fix/ab/sh-406-no-revoke-auto-approved Alexandre Brandizzi 2026-09-25 22:15:54 +00:00
  • 77dc3d85c3 Serialize a CRM cancel with uplift creation on the work order lock Alexandre Brandizzi 2026-09-25 19:15:38 -03:00
  • cc46950254 test(auth): format the password change request Alexandre Brandizzi 2026-09-25 19:10:46 -03:00
  • b7be07411e fix(auth): end earlier sessions when a password or account status changes Alexandre Brandizzi 2026-09-25 19:08:33 -03:00
  • 306ab159cc Cancel pending uplifts when the legacy ingest cancels a work order Alexandre Brandizzi 2026-09-25 19:01:37 -03:00
  • e993e1b5fc refactor(auth): compose bearer authentication through one registration Alexandre Brandizzi 2026-09-25 18:54:10 -03:00
  • 99499c3281 Cancel pending uplifts when the CRM cancels a work order Alexandre Brandizzi 2026-09-25 18:48:44 -03:00
  • 9bad363930 fix(work-orders): cancelling from the board cancels the pending uplift Alexandre Brandizzi 2026-09-25 18:37:56 -03:00
  • ca9322fa60 fix(auth): queue the reset email only after its code is stored Alexandre Brandizzi 2026-09-25 18:29:33 -03:00
  • 2f23f6fadc test(team-members): register reset email delivery in the invite test host Alexandre Brandizzi 2026-09-25 18:10:10 -03:00
  • 185c84dd8c fix(uplifts): refuse admin revoke of an auto-approved uplift Alexandre Brandizzi 2026-09-25 18:07:33 -03:00
  • 35e79a276d Merge branch 'fix/ab/sh-403-reset-code-hardening' into fix/ab/sh-403-reset-hardening-2 Alexandre Brandizzi 2026-09-25 17:54:13 -03:00
  • c860936d07 test(auth): give the reset test host's helpers names of their own Alexandre Brandizzi 2026-09-25 17:52:14 -03:00
  • 9198c5cd5d Merge remote-tracking branch 'origin/main' into fix/ab/sh-403-reset-code-hardening Alexandre Brandizzi 2026-09-25 17:52:04 -03:00
  • 92cd44c481 fix(work-orders): count only live uplifts for Has uplift and the Uplift column Alexandre Brandizzi 2026-09-25 17:51:47 -03:00
  • 5eb1323419 test(auth): give the reset test host's helpers names of their own Alexandre Brandizzi 2026-09-25 17:51:26 -03:00
  • f0dcba63fd fix(auth): give back reset check and request slots when a data call fails or is cancelled Alexandre Brandizzi 2026-09-25 17:38:51 -03:00
  • cf32dd2698
    Merge pull request #184 from Sea-Haven-Industries/feat/ab/sh-322-overdue-type Alexandre Brandizzi 2026-09-25 19:52:19 +00:00
  • c6dcad8395
    Merge pull request #189 from Sea-Haven-Industries/feat/ab/sh-385-invite-registration Alexandre Brandizzi 2026-09-25 19:52:15 +00:00
  • 1277642ede Merge branch 'fix/ab/sh-403-reset-code-hardening' into fix/ab/sh-403-reset-hardening-2 Alexandre Brandizzi 2026-09-25 16:48:57 -03:00
  • 900e141bda fix(auth): delete only the checked code and older ones, so a code issued concurrently survives Alexandre Brandizzi 2026-09-25 16:42:03 -03:00
  • 9084b7f642 fix(team-members): answer invalid_invite when send-code finds the invite closed Alexandre Brandizzi 2026-09-25 16:40:54 -03:00
  • fc3a29f399 Merge remote-tracking branch 'origin/main' into HEAD Alexandre Brandizzi 2026-09-25 16:40:36 -03:00
  • fe5f27c8e1 test(auth): build the password-policy service with the reset queue, throttle and keyed hash Alexandre Brandizzi 2026-09-25 14:08:30 -03:00
  • 613bfa48d8 Merge branch 'fix/ab/sh-403-reset-code-hardening' into fix/ab/sh-403-reset-hardening-2 Alexandre Brandizzi 2026-09-25 14:04:17 -03:00
  • ea1370847f test(auth): move the password-policy reset case onto hashed, attempt-counted codes Alexandre Brandizzi 2026-09-25 13:46:37 -03:00
  • 9bd22e9a74 Merge remote-tracking branch 'origin/main' into fix/ab/sh-403-reset-code-hardening Alexandre Brandizzi 2026-09-25 13:44:34 -03:00
  • 47060f6a73 fix(work-orders): never return a severity on an Overdue board row Alexandre Brandizzi 2026-09-25 13:41:19 -03:00
  • bb41bfd8ed Merge remote-tracking branch 'origin/main' into HEAD Alexandre Brandizzi 2026-09-25 13:40:06 -03:00
  • 57af8a1206 fix(auth): store an unmatchable code when the reset email cannot be queued, keeping data calls identical Alexandre Brandizzi 2026-09-25 13:38:11 -03:00
  • 77e54e64e3
    Merge pull request #194 from Sea-Haven-Industries/feat/ab/sh-389-rejected-uplift-queue Alexandre Brandizzi 2026-09-25 16:29:12 +00:00
  • a8d05776a8
    Merge pull request #186 from Sea-Haven-Industries/feat/ab/sh-386-password-policy Alexandre Brandizzi 2026-09-25 16:27:36 +00:00
  • 5353899418 feat(uplifts): order the rejected queue by decision time and include legacy denied rows Alexandre Brandizzi 2026-09-25 13:18:06 -03:00
  • cc328ce22a fix(team-members): do not report an invite email for a deactivated member Alexandre Brandizzi 2026-09-25 13:13:50 -03:00
  • a6dd40b972 fix(auth): only count real guesses, drop codes that cannot be emailed, trace reset email sends Alexandre Brandizzi 2026-09-25 13:12:49 -03:00
  • afc2330184 fix(team-members): report only password-rule failures at finish as a rejected password Alexandre Brandizzi 2026-09-25 13:05:35 -03:00
  • e53415de39 Merge remote-tracking branch 'origin/feat/ab/sh-386-password-policy' into feat/ab/sh-385-invite-registration Alexandre Brandizzi 2026-09-25 13:04:18 -03:00
  • 9091335ff2 fix(auth): reject an unconfirmed new password and report only policy failures as weak Alexandre Brandizzi 2026-09-25 13:02:58 -03:00
  • 77a10e38ca fix(auth): cap reset abuse per account, key code hashes, send reset email off the request path Alexandre Brandizzi 2026-09-25 13:00:03 -03:00
  • b50cd5f5df feat(team-members): report whether the re-invite after an email change was emailed Alexandre Brandizzi 2026-09-25 12:54:27 -03:00
  • f491d4c721 fix(team-members): delete invites with their member, re-invite on email change, trust only 2xx SendGrid responses Alexandre Brandizzi 2026-09-25 12:45:04 -03:00
  • e09ef061d1 Merge remote-tracking branch 'origin/main' into feat/ab/sh-385-invite-registration Alexandre Brandizzi 2026-09-25 12:45:03 -03:00
  • 561873a797 chore(migrations): regenerate the reset-code migration on the current main model Alexandre Brandizzi 2026-09-25 12:39:36 -03:00
  • e9a1d8f53f
    Merge pull request #190 from Sea-Haven-Industries/fix/ab/wo-created-utc Alexandre Brandizzi 2026-09-25 15:39:33 +00:00
  • 3249ea4b6f Merge remote-tracking branch 'origin/main' into fix/ab/sh-403-reset-code-hardening Alexandre Brandizzi 2026-09-25 12:38:22 -03:00
  • 0088cffd47 Merge remote-tracking branch 'origin/main' into HEAD Alexandre Brandizzi 2026-09-25 12:33:37 -03:00
  • bcc9b6d7a2 fix(auth): invalidate every pending reset code for an email together Alexandre Brandizzi 2026-09-25 12:31:17 -03:00
  • 236199ab7a
    Merge pull request #187 from Sea-Haven-Industries/feat/ab/sh-331-sites-api Alexandre Brandizzi 2026-09-25 15:26:09 +00:00
  • 85b7d1e1c7
    Merge pull request #191 from Sea-Haven-Industries/fix/ab/sh-402-effective-permissions Alexandre Brandizzi 2026-09-25 15:23:25 +00:00
  • c841e130be fix(auth): harden password reset codes against guessing and email enumeration Alexandre Brandizzi 2026-09-25 12:21:29 -03:00
  • 1c8da7f344 docs(readme): record that stored audit times are UTC and need no backfill Alexandre Brandizzi 2026-09-25 12:20:45 -03:00
  • 385229c64d fix(team-members): keep omitted phone, report invite email failures, never echo invite errors Alexandre Brandizzi 2026-09-25 12:11:52 -03:00
  • 227691269d style(data): trim trailing whitespace in touched data services Alexandre Brandizzi 2026-09-25 12:07:46 -03:00
  • 27c21ec32e fix(services): stamp user, contact, calendar and location audit times in UTC Alexandre Brandizzi 2026-09-25 12:06:36 -03:00
  • 6bfb56f349 fix(data): stamp audit times in UTC and keep a caller-set work order creation time Alexandre Brandizzi 2026-09-25 12:04:40 -03:00
  • 13fec977fa feat(team-members): expose the caller's effective permissions Alexandre Brandizzi 2026-09-25 12:03:35 -03:00