Skip to content
Success

Changes

Summary

  1. deploy: add pm2 boot-ordering override and server setup notes (details)
  2. deploy: commit package-lock.json and switch production install to npm ci (details)
  3. ci: deploy script must not clobber pm2 boot-ordering override (details)
  4. Add HideQty and DisallowExport for limited Roles (details)
  5. fix permission display (details)
Commit 44842957e3e2056c97262a7688ccd7f46a88a5ae by info
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 <noreply@anthropic.com>
The file was addeddeploy/pm2-root.service.d/override.conf
The file was addeddeploy/README.md
Commit 0ba977ce84e6f26c48cf7ab7f64597e8acbed555 by info
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 <noreply@anthropic.com>
The file was addedpackage-lock.json
The file was modified.gitignore (diff)
The file was modifiedreference/ci/latest-working-jenkins-production.sh (diff)
The file was modifiedreference/ci/deploy-production.sh (diff)
Commit 42a30a35931b0a4f43ad9b57d996859e6f5e4a7a by info
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 <noreply@anthropic.com>
The file was modifieddeploy/README.md (diff)
The file was modifiedreference/ci/deploy-production.sh (diff)
The file was modifiedreference/ci/latest-working-jenkins-production.sh (diff)
Commit 5b28fd19c39cd19933cfed83cc7afdc4f1f885a0 by info
Add HideQty and DisallowExport for limited Roles
The file was modifiedapp/components/sales/OrderCardList.vue (diff)
The file was modifiedapp/pages/fulfillment/stocks/index.vue (diff)
The file was modifiedapp/pages/materials/products/index.vue (diff)
The file was modifiedapp/pages/partners/partners/[id]/edit.vue (diff)
The file was modifiedapp/pages/sales/orders/index.vue (diff)
The file was modifiedapp/components/AgGrid.vue (diff)
The file was modifiedapp/components/sales/OrderDetailRecordLine.vue (diff)
The file was modifiedserver/api/partners/partners/update.put.ts (diff)
The file was modifiedapp/components/AgGridServer.vue (diff)
The file was addedserver/api/admin/organizations/ui-flags.get.ts
The file was modifiedapp/components/materials/ProductForm.vue (diff)
The file was modifiedapp/components/partners/PartnerForm.vue (diff)
The file was modifiedapp/assets/langs/shared.js (diff)
The file was addedapp/composables/useBpartnerFlags.ts
The file was modifiedserver/api/partners/partners/store.post.ts (diff)
Commit 06cd5ce97df3aa120a4b7cb608269847d770ca77 by info
fix permission display
The file was modifiedapp/components/partners/PartnerForm.vue (diff)