fix/build-aset-erp #3

Merged
dimas merged 2 commits from fix/build-aset-erp into main 2026-10-16 06:09:05 +07:00
Owner
No description provided.
Unggahan JPG tertentu ditolak "Gambar tidak dapat dibaca": varian JPEG
yang tidak dapat dibuka GD (mis. CMYK hasil desain cetak), dan foto
beresolusi sangat besar yang membuat PHP kehabisan memori (galat 500)
pada memory_limit 128M.

Peramban (form Job Vacancy, mode banner): gambar digambar ulang lewat
canvas menjadi JPEG standar berlebar maks 2000 px sebelum dikirim, sehingga
server selalu menerima JPEG biasa yang kecil. Berkas asli boleh sampai
25 MB; batas 5 MB berlaku untuk hasilnya.

Server (VacancyHeaderImage):
- membuka gambar langsung dari berkas sesuai jenisnya (getimagesize)
- menolak gambar di atas 40 MP dengan pesan jelas, bukan galat 500
- menaikkan memory_limit ke 512M selama diolah, lalu mengembalikannya
- mencatat alasan teknis kegagalan (dimensi, MIME, channels, pesan GD)
  ke log

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pratinjau import memvalidasi seluruh baris di dalam request web, sehingga
BOM 10.000 baris putus di batas bawaan PHP-FPM (30 detik) / nginx (60 detik).

- Middleware ExtendImportLimits khusus route import/*: set_time_limit
  VMERP_IMPORT_TIME_LIMIT (bawaan 600 detik) dan memory_limit
  VMERP_IMPORT_MEMORY_LIMIT (bawaan 1024M, tidak pernah menurunkan).
- DB_QUEUE_RETRY_AFTER bawaan 3700 (> ProcessImportJob::$timeout 3600)
  agar job import yang masih berjalan tidak diambil ulang worker lain.
- DEPLOYMENT.md: fastcgi_read_timeout 600 pada blok PHP nginx.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dimas merged commit 16a4589f74 into main 2026-10-16 06:09:05 +07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dimas/vmerp!3
No description provided.