<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesorigindev _class='hudson.plugins.git.util.Build'><buildNumber>686</buildNumber><marked><SHA1>06cd5ce97df3aa120a4b7cb608269847d770ca77</SHA1><branch><SHA1>06cd5ce97df3aa120a4b7cb608269847d770ca77</SHA1><name>refs/remotes/origin/dev</name></branch></marked><revision><SHA1>06cd5ce97df3aa120a4b7cb608269847d770ca77</SHA1><branch><SHA1>06cd5ce97df3aa120a4b7cb608269847d770ca77</SHA1><name>refs/remotes/origin/dev</name></branch></revision></refsremotesorigindev></buildsByBranchName><lastBuiltRevision><SHA1>06cd5ce97df3aa120a4b7cb608269847d770ca77</SHA1><branch><SHA1>06cd5ce97df3aa120a4b7cb608269847d770ca77</SHA1><name>refs/remotes/origin/dev</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#686</displayName><duration>156649</duration><estimatedDuration>66215</estimatedDuration><fullDisplayName>build-logship-frontend #686</fullDisplayName><id>686</id><inProgress>false</inProgress><keepLog>false</keepLog><number>686</number><queueId>5426</queueId><result>SUCCESS</result><timestamp>1785024000972</timestamp><url>https://jenkins.younex.de/job/build-logship-frontend/686/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>deploy/README.md</affectedPath><affectedPath>deploy/pm2-root.service.d/override.conf</affectedPath><commitId>44842957e3e2056c97262a7688ccd7f46a88a5ae</commitId><timestamp>1784974171000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>deploy: add pm2 boot-ordering override and server setup notes

pm2 started the frontend at boot before the iDempiere REST API (8443) was
up, causing a ~2 minute 502 storm after every server reboot. Ship the
systemd drop-in (wait for 8443, max 180s) plus notes on pm2-logrotate and
crontab leftovers so the server config stays reproducible.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</comment><date>2026-07-25 12:09:31 +0200</date><id>44842957e3e2056c97262a7688ccd7f46a88a5ae</id><msg>deploy: add pm2 boot-ordering override and server setup notes</msg><path><editType>add</editType><file>deploy/README.md</file></path><path><editType>add</editType><file>deploy/pm2-root.service.d/override.conf</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><affectedPath>reference/ci/deploy-production.sh</affectedPath><affectedPath>package-lock.json</affectedPath><affectedPath>reference/ci/latest-working-jenkins-production.sh</affectedPath><commitId>0ba977ce84e6f26c48cf7ab7f64597e8acbed555</commitId><timestamp>1784978362000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>deploy: commit package-lock.json and switch production install to npm ci

The 2026-07-25 production build died in npm's resolver (Arborist
"Cannot read properties of null (reading 'edgesOut')") while resolving
the brand-new @vitejs/devtools-vite 0.4.8 published the day before.
Root cause: package-lock.json was gitignored and the deploy script even
deleted it, so every deploy re-resolved all semver ranges against the
live registry — any bad publish upstream could (and did) break deploys.

- Track package-lock.json (validated: npm ci passes, linux-x64 platform
  binaries included, AG Grid pinned at 35.2.1)
- Deploy scripts: drop the vestigial patch-package install (no patches/
  dir, not in package.json) and use npm ci instead of a lockfile-less
  npm install

The Jenkins job shell step must be updated manually to match
reference/ci/latest-working-jenkins-production.sh.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</comment><date>2026-07-25 13:19:22 +0200</date><id>0ba977ce84e6f26c48cf7ab7f64597e8acbed555</id><msg>deploy: commit package-lock.json and switch production install to npm ci</msg><path><editType>edit</editType><file>reference/ci/latest-working-jenkins-production.sh</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>edit</editType><file>reference/ci/deploy-production.sh</file></path><path><editType>add</editType><file>package-lock.json</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>reference/ci/latest-working-jenkins-production.sh</affectedPath><affectedPath>deploy/README.md</affectedPath><affectedPath>reference/ci/deploy-production.sh</affectedPath><commitId>42a30a35931b0a4f43ad9b57d996859e6f5e4a7a</commitId><timestamp>1784981345000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>ci: deploy script must not clobber pm2 boot-ordering override

The production deploy rewrote /etc/systemd/system/pm2-root.service.d/
override.conf with only the Environment lines, wiping the [Unit]
After=idempiere.service ordering and the wait-for-8443 ExecStartPre added
on 2026-07-25 (a deploy at 13:31 reverted it before the verification
reboot, which reproduced the 502 storm). Write the full drop-in from the
deploy script and document that the script heredoc is the source of truth.
NOTE: the Jenkins job runs a manually pasted copy of this script - it must
be updated there as well.

Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
</comment><date>2026-07-25 14:09:05 +0200</date><id>42a30a35931b0a4f43ad9b57d996859e6f5e4a7a</id><msg>ci: deploy script must not clobber pm2 boot-ordering override</msg><path><editType>edit</editType><file>reference/ci/deploy-production.sh</file></path><path><editType>edit</editType><file>reference/ci/latest-working-jenkins-production.sh</file></path><path><editType>edit</editType><file>deploy/README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/pages/materials/products/index.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/edit.vue</affectedPath><affectedPath>server/api/partners/partners/store.post.ts</affectedPath><affectedPath>app/components/sales/OrderCardList.vue</affectedPath><affectedPath>app/pages/sales/orders/index.vue</affectedPath><affectedPath>app/components/AgGridServer.vue</affectedPath><affectedPath>app/components/materials/ProductForm.vue</affectedPath><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><affectedPath>app/pages/fulfillment/stocks/index.vue</affectedPath><affectedPath>app/components/AgGrid.vue</affectedPath><affectedPath>server/api/admin/organizations/ui-flags.get.ts</affectedPath><affectedPath>app/composables/useBpartnerFlags.ts</affectedPath><affectedPath>server/api/partners/partners/update.put.ts</affectedPath><affectedPath>app/components/sales/OrderDetailRecordLine.vue</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><commitId>5b28fd19c39cd19933cfed83cc7afdc4f1f885a0</commitId><timestamp>1784983414000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Add HideQty and DisallowExport for limited Roles
</comment><date>2026-07-25 14:43:34 +0200</date><id>5b28fd19c39cd19933cfed83cc7afdc4f1f885a0</id><msg>Add HideQty and DisallowExport for limited Roles</msg><path><editType>edit</editType><file>app/components/AgGrid.vue</file></path><path><editType>edit</editType><file>app/pages/fulfillment/stocks/index.vue</file></path><path><editType>edit</editType><file>app/pages/sales/orders/index.vue</file></path><path><editType>edit</editType><file>app/pages/materials/products/index.vue</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/materials/ProductForm.vue</file></path><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path><path><editType>edit</editType><file>server/api/partners/partners/store.post.ts</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/edit.vue</file></path><path><editType>edit</editType><file>app/components/AgGridServer.vue</file></path><path><editType>add</editType><file>server/api/admin/organizations/ui-flags.get.ts</file></path><path><editType>edit</editType><file>app/components/sales/OrderCardList.vue</file></path><path><editType>add</editType><file>app/composables/useBpartnerFlags.ts</file></path><path><editType>edit</editType><file>server/api/partners/partners/update.put.ts</file></path><path><editType>edit</editType><file>app/components/sales/OrderDetailRecordLine.vue</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><commitId>06cd5ce97df3aa120a4b7cb608269847d770ca77</commitId><timestamp>1784986454000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>fix permission display
</comment><date>2026-07-25 15:34:14 +0200</date><id>06cd5ce97df3aa120a4b7cb608269847d770ca77</id><msg>fix permission display</msg><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit></freeStyleBuild>