Commit Graph
307 Commits
Author SHA1 Message Date
alex 2cbff8d8c8 Replace setup-node with direct Node install
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 09:23:44 +00:00
alex 089a965486 Replace setup-node with direct Node install
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 09:23:29 +00:00
Alex 62c99e18bf Final test
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 09:17:13 +00:00
alex 3fb6265f86 Skip checkout (workspace pre-populated)
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 09:16:33 +00:00
alex 490765753b Skip checkout (workspace pre-populated)
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 09:16:21 +00:00
Alex 1494f74274 Refresh workspace
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 09:07:40 +00:00
Alex 00cc6c06f7 Remove cache param (not supported in setup-node v4)
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 09:02:23 +00:00
Alex 5afeeca420 Fix YAML - remove broken steps, disable npm cache
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:56:54 +00:00
alex 101aed09be Fix YAML - remove broken steps, disable cache 2026-09-05 08:56:28 +00:00
Alex d93bb475fc Clean test 2026-09-05 08:51:09 +00:00
Alex 3a9e776298 Add test file 2026-09-05 08:45:50 +00:00
alex d45954a2ec Fix GITHUB_API_URL 2026-09-05 08:45:25 +00:00
alex f6d755e496 Fix GITHUB_API_URL 2026-09-05 08:45:10 +00:00
alex 646ac8ca95 Fix GITHUB_API_URL for setup-node 2026-09-05 08:44:59 +00:00
Alex 62083f83ee Final verification
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:39:16 +00:00
alex 708826a97a Disable npm cache
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:38:47 +00:00
alex 42356997f4 Disable npm cache (act_runner cache bug)
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:38:39 +00:00
Alex 015344fca5 Full CI verification
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:30:03 +00:00
Alex e2b6956262 Test poller v2 fixed
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:21:02 +00:00
Alex 0d9b0b4b80 Test poller v2
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:18:30 +00:00
Alex 8e910f43a5 Clean CI test
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:09:27 +00:00
Alex cbe3bcc7ac Test with setup-node v4
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:06:58 +00:00
alex 7f9e56c1fa Use setup-node v4
CI - Test & Build / Lint & Type Check (push) Failing after 23m23s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:06:43 +00:00
alex 74ff635913 Use setup-node v4 (v6 has Invalid URL bug)
CI - Test & Build / Lint & Type Check (push) Failing after 7m46s
CI - Test & Build / Backend Unit Tests (push) Failing after 6m35s
CI - Test & Build / Frontend Build (push) Failing after 6m8s
CI - Test & Build / E2E Tests (Playwright) (push) Skipped
CI - Test & Build / Security Scan (push) Successful in 11m8s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 08:06:32 +00:00
Alex 59db411af5 Final CI verification
CI - Test & Build / Lint & Type Check (push) Successful in 19m28s
CI - Test & Build / Backend Unit Tests (push) Failing after 4s
CI - Test & Build / Frontend Build (push) Failing after 26s
CI - Test & Build / E2E Tests (Playwright) (push) Skipped
CI - Test & Build / Security Scan (push) Successful in 10m3s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 07:53:55 +00:00
Alex 9ef6098633 Test CI with port 3308
CI - Test & Build / Lint & Type Check (push) Failing after 2m29s
CI - Test & Build / Backend Unit Tests (push) Failing after 9m8s
CI - Test & Build / Frontend Build (push) Failing after 6m26s
CI - Test & Build / E2E Tests (Playwright) (push) Skipped
CI - Test & Build / Security Scan (push) Successful in 11m25s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 06:59:36 +00:00
alex b779006559 Fix MariaDB port to 3308
CI - Test & Build / Lint & Type Check (push) Successful in 22m4s
CI - Test & Build / Backend Unit Tests (push) Failing after 3m46s
CI - Test & Build / Frontend Build (push) Failing after 9m5s
CI - Test & Build / E2E Tests (Playwright) (push) Skipped
CI - Test & Build / Security Scan (push) Failing after 18m47s
CI - Test & Build / CI Summary (push) Canceled after 0s
2026-09-05 06:59:25 +00:00
Alex 012568e6d1 Test CI with port fix
CI - Test & Build / Backend Unit Tests (push) Failing after 4s
CI - Test & Build / Frontend Build (push) Failing after 11m46s
CI - Test & Build / Lint & Type Check (push) Failing after 12m6s
CI - Test & Build / E2E Tests (Playwright) (push) Skipped
CI - Test & Build / Security Scan (push) Failing after 21m17s
CI - Test & Build / CI Summary (push) Failing after 4s
2026-09-05 06:58:36 +00:00
alex 7e0c028132 Fix MariaDB port 3306->3307
CI - Test & Build / Lint & Type Check (push) Successful in 14m58s
CI - Test & Build / Backend Unit Tests (push) Failing after 4s
CI - Test & Build / Frontend Build (push) Successful in 14m46s
CI - Test & Build / E2E Tests (Playwright) (push) Skipped
CI - Test & Build / Security Scan (push) Failing after 13m22s
CI - Test & Build / CI Summary (push) Failing after 4s
2026-09-05 06:58:07 +00:00
Alexandalexpolo1 8b16d35287 fix: keep Smart Packages compatible with roof material (#30)
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
Co-authored-by: alexpolo1 <[email protected]>
2026-09-02 07:19:39 +02:00
Alexandalexpolo1 adb7e8a17a fix: enforce complete scope keyword matches (#29)
Co-authored-by: alexpolo1 <[email protected]>
2026-08-30 18:14:57 +02:00
Alexandalexpolo1 1a00fdadfe fix: classify roof support reference services (#28)
Co-authored-by: alexpolo1 <[email protected]>
2026-08-30 17:58:10 +02:00
Alexandalexpolo1 4f0ba89cbe fix: make material name matches safe and automatic (#27)
Co-authored-by: alexpolo1 <[email protected]>
2026-08-29 20:56:18 +02:00
Alexandalexpolo1 c0e2010075 feat: add fail-closed quote realism checks (#26)
Co-authored-by: alexpolo1 <[email protected]>
2026-08-29 20:29:49 +02:00
Alex 817d0dac2c Merge pull request #25 from alexpolo1/fix/pdf-system-chrome
fix: use system Chrome for PDF generation
2026-08-27 12:21:14 +02:00
alexpolo1 1c44a514b4 [verified] fix: use system Chrome for PDF generation 2026-08-27 12:21:09 +02:00
Alex ca8eb008d6 Merge pull request #24 from alexpolo1/fix/rental-baseline-after-persist
fix: retain server rental baseline after save
2026-08-27 12:10:03 +02:00
alexpolo1 4e1fd77ee5 [verified] fix: retain server rental baseline 2026-08-27 12:09:58 +02:00
Alex a101963292 Merge pull request #23 from alexpolo1/fix/rental-reference-final-review-sync
fix: persist reference lines before Final Review
2026-08-27 12:06:11 +02:00
alexpolo1 377d61a07c [verified] fix: persist reference lines before review 2026-08-27 12:05:57 +02:00
Alex 0be74a3d95 Merge pull request #22 from alexpolo1/fix/project-rental-pricing-sync
fix: preserve rental pricing in projects
2026-08-26 19:12:30 +02:00
alexpolo1 823e072702 [verified] fix: preserve rental pricing in projects 2026-08-26 19:11:35 +02:00
Alex dbaec62113 Merge pull request #21 from alexpolo1/fix/jannick-price-import-flow
fix: make Jannick price import usable and safe
2026-08-24 08:37:01 +02:00
alexpolo1 81b6e1ea21 fix: make Jannick price import usable and safe 2026-08-24 08:31:55 +02:00
Alex ae11295dc6 Merge pull request #20 from alexpolo1/feat/haandvaerkpriser-import
feat: import reference task prices from haandvaerkpriser.dk
2026-08-20 15:39:24 +02:00
alexpolo1andClaude Sonnet 5 a56a911bee feat: import reference task prices from haandvaerkpriser.dk
Support ticket #396994 (Jannick): pull prices from
haandvaerkpriser.dk for tasks we don't already price, as a starting
reference. robots.txt allows crawling /alle-priser/ and no terms of
use restrict reuse (checked before building this).

Each imported task becomes a verified 'component' Smart Package with
a single task carrying the price, filtered to only the 8 trades
Jannick asked for (Maler, Gulv, VVS & Blikkenslager, Tømrer &
Snedker, Murer, Tagrenovering, Isolering & Energi, Nedrivning &
Affald - the site has 16 categories total). This lands in the same
place as today's earlier smart-package fix, so these are immediately
selectable via the "Enkelte opgaver" picker and visible in the admin
Smart Packages list, unlike the existing price_database table which
is dead code (0 rows, its only consumer queries a column that no
longer exists, and its route isn't mounted).

Re-running the import is idempotent: a task already imported from
this source gets its price averaged with the new pull instead of
duplicating, per Jannick's request ("har vi en pris i forvejen kan
den lave et gennemsnit"). Cross-source matching against Jannick's own
manually-curated components is intentionally out of scope - automating
that risks merging unrelated tasks.

New endpoints (admin-only): GET /api/smart-packages/haandvaerkpriser-preview
(dry run, no writes) and POST /api/smart-packages/haandvaerkpriser-import.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-20 14:56:29 +02:00
Alex f3da7b6ac8 Merge pull request #19 from alexpolo1/chore/retire-deploy-prod-workflow
chore: retire deploy-prod.yml, document the real PM2 deploy path
2026-08-20 14:19:53 +02:00
alexpolo1andClaude Sonnet 5 288346c21e chore: retire deploy-prod.yml, document the real PM2 deploy path
deploy-prod.yml targeted a remote SSH deploy server via
PROD_SERVER_HOST/PROD_SERVER_USER/PROD_SERVER_PATH/PROD_SSH_PRIVATE_KEY,
but none of those secrets were ever configured (repo and production
environment secret lists are both empty) and every historical run of
the workflow failed as a result.

The actual production server is this machine: unified-server.js runs
directly out of this working directory via PM2. Removed the dead
pipeline and documented the real manual deploy steps (pull, rebuild
frontend, sync backend deps, pm2 restart, verify) in CLAUDE.md.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-20 14:14:57 +02:00
Alex 896d90a383 Merge pull request #18 from alexpolo1/fix/deploy-artifact-quota
fix: don't fail deploy jobs when diagnostic artifact upload hits quota
2026-08-20 14:04:53 +02:00
alexpolo1andClaude Sonnet 5 4c4092099e fix: don't fail deploy jobs when diagnostic artifact upload hits quota
The prod deploy just failed at Unit Tests even though all 226 tests
passed - the job died on `Upload coverage report` hitting the GitHub
Actions artifact storage quota. ci.yml already treats artifact uploads
as best-effort for this exact reason (comment: "Artifact upload must
never fail the job (storage quota can be full)"), but deploy-prod.yml
and deploy-test.yml were missing the same continue-on-error on their
diagnostic report/screenshot/coverage uploads.

Leaves the actual deployable build artifact uploads (deploy-package-*)
blocking, since a failed deploy really should stop there.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
2026-08-20 13:49:32 +02:00