Troubleshooting Guide

This guide helps you resolve common issues you might encounter while developing or using Remind Tools applications.

Quick Solutions

Frequently Encountered Issues

Development Environment

API & Backend Issues

Connection Issues

Check Supabase Status:
# Local development
supabase status

# Restart if needed
supabase stop
supabase start
Environment Variables:
# Verify .env file
cat .env.development

# Required variables
SUPABASE_URL=your_project_url
SUPABASE_ANON_KEY=your_anon_key

Build & Deployment

Always test builds locally before pushing to CI/CD.

Android Build Issues

# Clean build
cd android
./gradlew clean
cd ..

# Rebuild
flutter build apk --release

# If Java version issues
export JAVA_HOME=/path/to/java11

iOS Build Issues

# Clean build folder
cd ios
rm -rf Pods Podfile.lock
pod install --repo-update
cd ..

# Rebuild
flutter build ios --release

# Code signing issues
open ios/Runner.xcworkspace
# Fix in Xcode: Signing & Capabilities

Web Build Issues

# Clear web cache
flutter clean
rm -rf build/web

# Rebuild with renderer
flutter build web --web-renderer canvaskit

# For better compatibility
flutter build web --web-renderer html

Debug Techniques

Logging & Debugging

import 'package:logger/logger.dart';

final logger = Logger(
  printer: PrettyPrinter(
    methodCount: 2,
    errorMethodCount: 8,
    lineLength: 120,
    colors: true,
    printEmojis: true,
  ),
);

// Usage
logger.d('Debug message');
logger.e('Error message', error, stackTrace);

Performance Profiling

# Run in profile mode
flutter run --profile

# Use DevTools
flutter pub global activate devtools
flutter pub global run devtools

Getting Help

Support Channels

  1. GitHub Issues: Report bugs
  2. Discord Community: Join for real-time help
  3. Documentation: Check docs.remind.tools
  4. Email Support: support@remind.tools

Providing Useful Bug Reports

Include these details for faster resolution:
### Environment
- Flutter version: [flutter --version]
- Platform: [iOS/Android/Web/Desktop]
- Device: [Model and OS version]
- App version: [From pubspec.yaml]

### Steps to Reproduce
1. Step one
2. Step two
3. Step three

### Expected Behavior
What should happen

### Actual Behavior
What actually happens

### Logs/Screenshots
[Attach relevant logs or screenshots]

Emergency Procedures

Data Recovery

# Backup current state
supabase db dump > backup_$(date +%Y%m%d).sql

# Restore from backup
supabase db restore < backup_20240101.sql

Rollback Deployment

# Revert to previous version
git revert HEAD
git push origin main

# Or checkout previous tag
git checkout v1.0.0
git tag v1.0.1
git push origin v1.0.1