What's New

Keep up with the latest releases, improvements, and fixes.


⚙️ BackendLaporan Cepat

Switch photo compression from Go stdlib to libvips

Replaced Go's native image pipeline with libvips for photo compression. This results in significantly lower peak RAM usage and more aggressive memory release back to the OS.

Switch photo compression from Go stdlib to libvips
⚙️ BackendLaporan Cepat

Skip unnecessary compression for small/incompressible photos

Photos below a size threshold or with low compression ratio are now passed through directly. This saves processing time and preserves original quality.

⚙️ BackendLaporan Cepat

Add log messages for app-updates endpoints

Added structured logging to app-update API endpoints for better observability and debugging in production.


📱 MobileInspector Form

Refactor image pipeline, optimize compression, and fix 18GB storage leak

Overhauled the image processing architecture into focused single-responsibility services. Fixed a critical storage leak where raw camera cache files were never deleted, which had accumulated 18.49GB across inspections. Compression now uses two-pass JPEG targeting ~50KB with better quality and size balance.


🌐 WebLaporan Cepat

Add custom car loading animation and UI improvements

Replaced generic spinner with a detailed CSS-driven car loader component for a more branded loading experience. Also updated user deactivation API docs and simplified toaster configuration.

Add custom car loading animation and UI improvements

⚙️ BackendLaporan Cepat

User account deactivation

Changed "delete user" to deactivation. User accounts are now marked inactive instead of being permanently removed. This preserves all associated data like inspections and history for auditing or potential re-activation.

⚙️ BackendLaporan Cepat

Fix equipment checklist data loss

Fixed a bug where unchecked items in the equipment checklist were silently dropped during editing. Previously, false values were omitted from save requests, causing data to revert unexpectedly.

⚙️ Backend📱 MobileInspector Form

Android in-app update system

Built a complete system for distributing Android app updates directly from the backend. Admins can upload new APK releases, and inspectors get notified of available updates within the app. No more redirecting to external sources.


⚙️ Backend🌐 WebLaporan Cepat

Add Faktur and NIK Sertifikat to vehicle completeness check

Inspectors can now track two additional documents, Faktur and NIK Sertifikat, in the equipment checklist during inspections. Both fields are also included in CSV exports for complete reporting.

⚙️ Backend🌐 WebLaporan Cepat

Improve logging and fix review data handling

Improved how server logs categorize errors. Authentication and rate-limit issues are now properly flagged as warnings instead of errors. Also fixed how review edits are saved, as data like repair estimates are now parsed and merged correctly instead of being lost.


⚙️ Backend🌐 WebLaporan Cepat

Structured logging system and request tracking

Migrated the backend to structured logging that automatically switches between readable format for development and JSON for production. Every API request is now tracked with method, path, duration, and user context, making it much easier to debug issues in production. Also improved how the frontend handles form state during review edits.

Structured logging system and request tracking
⚙️ BackendLaporan Cepat

Fix repair estimates disappearing from reports

Fixed a bug where empty repair estimate data would sometimes be dropped from inspection reports, causing the field to show as undefined on the frontend.