Alexandre Brandizzi
e769b5fcc2
Merge pull request #227 from Sea-Haven-Industries/feat/ab/sh-288-event-notifications
...
Frontend checks / static (push) Waiting to run
Frontend checks / build (push) Waiting to run
Frontend checks / unit (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Frontend checks / browser-smoke (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / ci-complete (push) Blocked by required conditions
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
feat(notifications): open assignment, comment, mention and uplift items where they happened (SH-288, SH-289, SH-290, SH-215)
2026-09-21 20:58:57 +00:00
Alexandre Brandizzi
7e68fd50d7
Merge pull request #244 from Sea-Haven-Industries/fix/ab/sh-383-mobile-video-upload
...
Increase work-order media upload limit to 200 MB
2026-09-21 20:58:53 +00:00
Alexandre Brandizzi
93f68f84e4
fix(workorders): cap completion documents at 50 MB
2026-09-21 15:39:47 -03:00
Alexandre Brandizzi
ca2b3b5134
fix(work-orders): raise media upload limit to 200 MB
2026-09-21 15:09:51 -03:00
Adam Moussa
69a92cafda
Merge pull request #240 from Sea-Haven-Industries/chore/playwright-ci-workers
...
Frontend checks / static (push) Waiting to run
Frontend checks / build (push) Waiting to run
Frontend checks / unit (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Frontend checks / browser-smoke (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / ci-complete (push) Blocked by required conditions
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
chore: run Playwright smoke with 2 workers
2026-09-21 15:17:29 +00:00
Cursor Agent
647accc737
Merge remote-tracking branch 'origin/main' into feat/ab/sh-288-event-notifications
...
Co-authored-by: adam <adam@seahavenind.com>
2026-09-20 21:53:34 +00:00
Cursor Agent
c5e01c7491
test(e2e): match completion media uploads by filename
...
Assert concurrent JPG, MP4, and MOV multipart requests by filename instead of
arrival order so browser-smoke stays deterministic with two workers.
2026-09-20 21:37:34 +00:00
40a3b135cf
ci: run Playwright smoke with two workers
2026-09-19 20:39:54 +00:00
Adam Moussa
e51551c160
Merge pull request #239 from Sea-Haven-Industries/chore/parallel-ci-gates
...
Frontend checks / static (push) Has been cancelled
Frontend checks / build (push) Has been cancelled
Frontend checks / unit (push) Has been cancelled
Frontend checks / Visual regression (push) Has been cancelled
Frontend checks / governance (push) Has been cancelled
Deploy Web / Resolve target (push) Has been cancelled
Frontend checks / ci-complete (push) Has been cancelled
Deploy Web / Deploy SPA to (push) Has been cancelled
ci: fan out quality gates from this repository
2026-09-19 20:32:50 +00:00
Cursor Agent
cc7ecb9b5a
fix(ci): classify G13 per queued PR on merge_group
...
Run live isolation on the merge-queue event so ci-complete actually
gates mixed change sets, without treating the group union as one PR.
2026-09-19 20:20:30 +00:00
Adam Moussa
ec9812ae8d
fix(style): correct line-wrapping formatting errors
2026-09-19 19:47:08 +00:00
af0ae60b80
ci: shard unit tests four ways
2026-09-19 15:41:10 -04:00
8ad7438f26
ci: fan out quality gates from this repository
2026-09-19 15:22:38 -04:00
Alexandre Brandizzi
3e5fba4d2b
Merge pull request #225 from Sea-Haven-Industries/feat/ab/sh-292-notification-center
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
SH-292: Notification Center panel and feed
2026-09-18 23:33:59 +00:00
Alexandre Brandizzi
cbfed3dde8
Merge pull request #226 from Sea-Haven-Industries/feat/ab/sh-209-uplift-detail-modal
...
SH-209: Align the Uplift Detail modal with the spec
2026-09-18 23:33:55 +00:00
Alexandre Brandizzi
f25a3dd628
Merge pull request #228 from Sea-Haven-Industries/fix/ab/sh-379-poc-persist
...
Persist manual POC edits via dedicated POC endpoint (SH-379)
2026-09-18 23:33:52 +00:00
Adam Moussa
41b26692c3
Merge pull request #238 from Sea-Haven-Industries/chore/pr-template-and-cleanup
...
chore(repo): add PR template, fix README conventions, drop tracked scratch files
2026-09-18 23:30:58 +00:00
1698d53d38
chore(repo): add PR template, fix README conventions, drop tracked scratch files
...
The org PR template pre-filled Summary / Validation / Tests / Notes here while
PRs in this repository use Summary / Changes and value / Ticket. A repo template
now overrides the org one, and the review framework gains the description
contract plus a note on the divergence from the org pr-policy workflow, which
is not wired in.
README: the CI badge tracked the retired dev branch; branches come from main,
not dev; the fix/ prefix replaces bug/; staging exists alongside dev; and PRs
now merge through the merge queue.
Cleanup: four PR description drafts under tmp/ were tracked; they are removed
and /tmp/ is ignored.
2026-09-18 19:19:55 -04:00
Adam Moussa
73e3362fcf
Merge pull request #237 from Sea-Haven-Industries/renovate/reconfigure
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
chore(renovate): widen the schedule, manage workflow actions, surface actionlint
2026-09-18 23:09:28 +00:00
Adam Moussa
e611f193bd
ci: run required checks on merge_group for the merge queue ( #236 )
...
governance and Build and test are the required checks on main. A merge queue
only counts checks that ran on the merge_group event, so the workflow now
triggers on it. The governance gate reads the merge group's own base SHA
because github.event.before is empty there.
2026-09-18 19:03:12 -04:00
bebd517290
chore(renovate): widen the schedule, manage workflow actions, surface actionlint
...
The org window (before 6am on Monday) has produced only one security PR in
this repository since the overlay landed, so the overlay now opens every
weekday morning. The github-actions manager is enabled so the digest-pinned
actions in the workflows follow the org's pinning and grouping rules. A regex
manager tracks the actionlint release installed by the governance job; it is
held for dashboard approval because the SHA256 pin next to it has to be
updated by hand.
2026-09-18 18:50:49 -04:00
Alexandre Brandizzi
7c470d389c
Merge pull request #231 from Sea-Haven-Industries/fix/ab/sh-380-completion-pdf-post-upload-error
...
fix(work-orders): stop the stale-version docStatus patch after a signed PDF upload (SH-380)
2026-09-18 19:47:47 -03:00
Alexandre Brandizzi
de7066d31b
Merge branch 'main' into fix/ab/sh-380-completion-pdf-post-upload-error
2026-09-18 19:33:59 -03:00
Alexandre Brandizzi
2c47b4a9ca
Merge pull request #212 from Sea-Haven-Industries/feat/ab/sh-304-services-registry-ui
...
SH-304: Add Services registry management UI
2026-09-18 19:33:33 -03:00
Alexandre Brandizzi
7fdf85fc47
Merge branch 'main' into feat/ab/sh-304-services-registry-ui
2026-09-18 19:21:21 -03:00
Alexandre Brandizzi
7eb7e4a730
Merge branch 'main' into fix/ab/sh-380-completion-pdf-post-upload-error
2026-09-18 19:21:18 -03:00
Alexandre Brandizzi
9bba6402e0
Merge pull request #230 from Sea-Haven-Industries/feat/ab/sh-382-extra-doc-view
...
fix(work-orders): view extra documents (SH-382)
2026-09-18 19:20:59 -03:00
Alexandre Brandizzi
7c1243eec3
Merge branch 'main' into feat/ab/sh-304-services-registry-ui
2026-09-18 19:09:49 -03:00
Alexandre Brandizzi
744d7af7bb
Merge branch 'main' into feat/ab/sh-382-extra-doc-view
2026-09-18 19:09:47 -03:00
Alexandre Brandizzi
e3afa182d6
Merge branch 'main' into fix/ab/sh-380-completion-pdf-post-upload-error
2026-09-18 19:09:44 -03:00
Alexandre Brandizzi
d7ee290b1d
Merge pull request #202 from Sea-Haven-Industries/fix/ab/sh-364-inline-technician-registration
...
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
Terraform CI / terraform (push) Has been cancelled
SH-364, SH-365, SH-366: register inline technicians from work-order flows
2026-09-18 19:09:19 -03:00
Alexandre Brandizzi
4d3dd82afb
Merge branch 'main' into fix/ab/sh-364-inline-technician-registration
2026-09-18 18:58:01 -03:00
Alexandre Brandizzi
29caecd449
Merge branch 'main' into feat/ab/sh-304-services-registry-ui
2026-09-18 18:57:58 -03:00
Alexandre Brandizzi
e1b03dc151
Merge branch 'main' into feat/ab/sh-382-extra-doc-view
2026-09-18 18:57:56 -03:00
Alexandre Brandizzi
5766616cc0
Merge branch 'main' into fix/ab/sh-380-completion-pdf-post-upload-error
2026-09-18 18:57:53 -03:00
Adam Moussa
148f5f1823
Merge pull request #235 from Sea-Haven-Industries/chore/drop-pointer-cd-leftovers
...
chore(cd): drop leftover pointer-cd scripts and cutover docs
2026-09-18 17:25:35 -04:00
0c867e2cb4
chore(cd): drop leftover pointer-cd scripts and cutover docs
...
GitHub Actions already owns SPA bytes, so the unused pointer scripts
and the stale greenlight checklist should not stay in tree.
2026-09-18 17:13:32 -04:00
Adam Moussa
2600234b89
Merge pull request #233 from Sea-Haven-Industries/chore/staging-adoption-complete
...
Terraform CI / terraform (push) Waiting to run
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
chore(terraform): complete staging SPA adoption
2026-09-18 16:57:34 -04:00
Adam Moussa
1199252673
Merge branch 'main' into chore/staging-adoption-complete
2026-09-18 16:45:04 -04:00
Adam Moussa
daa590622b
Merge pull request #234 from Sea-Haven-Industries/fix/skip-sourcemaps-without-sentry-cli
...
fix(cd): skip source-map upload when sentry-cli is absent
2026-09-18 16:41:31 -04:00
ae852f15ea
fix(cd): skip source-map upload when sentry-cli is absent
...
August SPA trees have no @sentry/cli. Skipping that step lets a
workflow_dispatch of the live staging SHA finish the S3 sync.
2026-09-18 16:27:25 -04:00
Adam Moussa
fa9e60ce0b
Merge branch 'main' into chore/staging-adoption-complete
2026-09-18 16:23:41 -04:00
Adam Moussa
6f4b3d0e43
Merge pull request #232 from Sea-Haven-Industries/fix/deploy-scripts-from-workflow-sha
...
fix(cd): run deploy scripts from the workflow SHA
2026-09-18 16:23:16 -04:00
7b37529006
chore(terraform): complete staging SPA adoption
...
Pin staging adoption_complete to true so tags and the bucket policy
match the already-adopted dev root.
2026-09-18 16:14:10 -04:00
c99273d3fc
fix(cd): run deploy scripts from the workflow SHA
...
An old content ref has no upload/verify scripts. Copy those from
github.workflow_sha so dispatch of a live SHA can finish.
2026-09-18 16:09:58 -04:00
Alexandre Brandizzi
8d50c6f75e
fix(work-orders): stop the stale-version docStatus patch after a signed PDF upload (SH-380)
...
The completion-doc upload endpoint sets DocStatus=Yes and bumps the work-order row
version in one transaction. Both signed-PDF upload paths then re-ran a "docStatus=Yes"
work-order patch using the pre-upload row version (the comp-doc dialog re-ran the whole
Generate flow; the slide-over posted docStatus directly). That patch always 409'd — and
in the dialog it also demanded a Date Work Completed — so a successful upload surfaced an
error to the user.
Both paths now stop after the upload settles: the mutation's onSuccess refreshes the
board and the UI reflects the generated state locally, with no second docStatus patch.
2026-09-18 16:59:24 -03:00
Adam Moussa
95f0342271
Merge pull request #229 from Sea-Haven-Industries/dev
...
Terraform CI / terraform (push) Waiting to run
Frontend checks / Build and test (push) Waiting to run
Frontend checks / governance (push) Waiting to run
Frontend checks / Visual regression (push) Waiting to run
Deploy Web / Resolve target (push) Waiting to run
Deploy Web / Deploy SPA to (push) Blocked by required conditions
chore: promote GitHub-owned SPA onto main
2026-09-18 15:44:21 -04:00
Alexandre Brandizzi
1a7a4ba58f
fix(work-orders): open extra documents without credentialed CORS (SH-382)
...
Viewing a work-order extra document called the authorized content endpoint
with `credentials: "include"`. The API replies `Access-Control-Allow-Origin: *`,
and in credentialed mode the browser rejects a wildcard origin outright, so the
fetch threw, `openExtraDocContent` fell into its catch, closed the tab and
toasted "Unable to open this document." — QA CT-03.
The endpoint authenticates with the bearer token the ky beforeRequest hook
attaches, not cookies, so credentials mode was dead weight. List, upload and
delete never set it, which is why only viewing failed. Drop the option and
guard the request shape in a test (JSDOM cannot enforce CORS).
2026-09-18 16:35:01 -03:00
0bf834bb8e
fix(cd): keep .env.production Sentry DSN when the GitHub var is empty
...
An unset vars.VITE_SENTRY_DSN becomes an empty env value and Vite will
not let .env.production overwrite it, which would ship with Sentry off.
2026-09-18 15:26:55 -04:00
7ed0743b90
fix(terraform): pin SSM deploy parameter tier and data_type
...
HCP tried to replace the live parameters on refresh because those
attributes were computed. The apply role cannot DeleteParameter.
2026-09-18 15:09:56 -04:00