Logs & Diagnostics
Logs & Diagnostics — What to collect before opening a ticket
Collecting focused diagnostics speeds investigation and resolution. Below are recommended artifacts and how to obtain them from web and mobile clients, plus server-side guidance.
Essential information to include
- Tenant / organization name and ID (if available).
- User account (email) and role.
- Device platform and OS version (e.g., iPhone 14 / iOS 16.4 or Pixel 6 / Android 13).
- App version (native) or browser + CJH build (PWA).
- Step-by-step reproduction steps (exact clicks and data entered).
- Time(s) and timezone when the issue occurred.
Web (desktop / PWA) diagnostics
1. Browser console logs
- Open DevTools → Console. Reproduce the issue and copy the console output (including errors and warnings). Save as text.
2. Network capture (HAR)
- Open DevTools → Network → right-click → “Save all as HAR with content” after reproducing the issue. The HAR includes request/response bodies for failed API calls.
3. IndexedDB / local queue
- DevTools → Application → IndexedDB. Look for the store that holds queued items (jobs, attachments, payments). Export or copy entries that show queued operations and errors. CJH stores offline queue items in IndexedDB. :contentReference[oaicite:18]{index=18}
4. Screenshots
- Capture screenshots of the UI, error messages, and any queued items view.
Mobile diagnostics (native)
Android
- Logcat: Use
adb logcatto capture runtime logs while reproducing the issue. Include the time window and relevant PID/UID filters if possible. - App version and Play Store details: Note the installed version and whether the Play Store build or a sideloaded debug build is used.
iOS
- Xcode device logs: Connect the device and collect logs via Xcode → Devices & Simulators → View Device Logs. Alternatively, capture a sysdiagnose or device console output during reproduction.
- App version and TestFlight/App Store details: Note whether TestFlight or App Store build is used.
Other mobile artifacts
- Screenshots and the exact steps taken (including when you clocked in/out, if applicable).
Server-side diagnostics
- API request IDs & timestamps: If an API returned an error response, include the request timestamp and any request identifier returned by the server.
- Supabase logs / function logs: For issues tied to geocoding or serverless functions (for example,
mapbox-geocode), capture function logs and any errors. Property geocoding is implemented as a Supabase function that calls Mapbox; include function logs when geocoding fails. :contentReference[oaicite:19]{index=19}
How to package the report
- Include the essential information (tenant, user, platform, times).
- Attach console text, HAR file, and screenshots.
- Attach IndexedDB export or screenshots of queued items.
- Attach mobile logs (logcat/Xcode) if mobile-specific.
- Provide reproduction steps and expected vs actual result.
Privacy and redaction
- Remove or redact sensitive personal data if sending logs outside your organization. Replace personally identifiable information with placeholders when possible.
Example diagnostic checklist (copy/paste)
- Tenant: ______
- User email: ______
- Device/OS: ______
- App/PWA version: ______
- Steps to reproduce: (1) … (2) … (3) …
- Time window: ______ (include timezone)
- Attached: console.txt, network.har, indexeddb.json, screenshot1.png, logcat.txt
Updated on: 10/01/2026
Thank you!
