Files
honeyDueKMP/ERROR_HANDLING.md
Trey t 1e2adf7660 Rebrand from Casera/MyCrib to honeyDue
Total rebrand across KMM project:
- Kotlin package: com.example.casera -> com.tt.honeyDue (dirs + declarations)
- Gradle: rootProject.name, namespace, applicationId
- Android: manifest, strings.xml (all languages), widget resources
- iOS: pbxproj bundle IDs, Info.plist, entitlements, xcconfig
- iOS directories: Casera/ -> HoneyDue/, CaseraTests/ -> HoneyDueTests/, etc.
- Swift source: all class/struct/enum renames
- Deep links: casera:// -> honeydue://, .casera -> .honeydue
- App icons replaced with honeyDue honeycomb icon
- Domains: casera.treytartt.com -> honeyDue.treytartt.com
- Bundle IDs: com.tt.casera -> com.tt.honeyDue
- Database table names preserved

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 06:33:57 -06:00

1.3 KiB

Error Handling Guide

This guide explains how to implement consistent error handling with retry/cancel dialogs across Android and iOS apps.

Android (Compose)

Components Available

  1. ErrorDialog - Reusable Material3 AlertDialog with retry/cancel buttons
  2. ApiResultHandler - Composable that automatically handles ApiResult states
  3. HandleErrors() - Extension function for ApiResult states

Usage Examples

See full documentation in the file for complete examples of:

  • Using ApiResultHandler for data loading screens
  • Using HandleErrors() extension for create/update/delete operations
  • Using ErrorDialog directly for custom scenarios

iOS (SwiftUI)

Components Available

  1. ErrorAlertModifier - View modifier that shows error alerts
  2. ViewStateHandler - View that handles loading/error/success states
  3. handleErrors() - View extension for automatic error monitoring

Usage Examples

See full documentation for examples of each approach.

Files Reference

Android:

  • composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/ErrorDialog.kt
  • composeApp/src/commonMain/kotlin/com/example/honeydue/ui/components/ApiResultHandler.kt

iOS:

  • iosApp/iosApp/Helpers/ErrorAlertModifier.swift
  • iosApp/iosApp/Helpers/ViewStateHandler.swift