Files
jamshalat-diary/pubspec.yaml
Dwindi Ramadhana 4badfb6521 Notification system audit: fix 6 defects, close 5 gaps, add rich notifications (v1.1.0)
Defects fixed:
- D1: Fix notification ID range collision (report reminders 700k→2M+)
- D2: Streak risk now checks both dzikir pagi & petang
- D3: _cancelPrayerPending no longer kills non-prayer notifications
- D4: Push notifications carry deeplink in payload for proper routing
- D5: Add reconfigureTimeZoneIfNeeded() for TZ change detection
- D6: Defer launch notification routing until widget tree is ready

Gaps closed:
- G1: Add streak risk + weekly summary toggles to settings UI
- G2: Verified boot reschedule already in place (flutter_local_notifications v21)
- G3: Remove unused mirrorAdzanToInbox field and legacy cleanup calls
- G4: Add notif_push_opened analytics tracking
- G5: Add notif_settings_changed analytics tracking

Enhancements:
- O1: Rich notification with Sudah Sholat action button on report reminders
- O2: Permission check on app resume via WidgetsBindingObserver (30s throttle)
- O2b: Fix stretched notification icon (white crescent moon vector drawable)
- O3: Expired inbox cleanup in background sync
- O4: Haptic feedback on notification bell quick actions

Bump version 1.0.8+9 → 1.1.0+10
2026-06-06 22:38:02 +07:00

111 lines
2.4 KiB
YAML

name: jamshalat_diary
description: Islamic worship companion app
publish_to: "none"
version: 1.1.0+10
environment:
sdk: ">=3.0.0 <4.0.0"
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
# State management
flutter_riverpod: ^3.0.0-dev.3
riverpod_annotation: ^3.0.0-dev.3
# Navigation
go_router: ^17.1.0
# Local storage
hive_flutter: ^1.1.0
# Prayer times
adhan: ^2.0.0+1
# Location
geolocator: ^14.0.0
geocoding: ^4.0.0
# Qibla
flutter_qiblah: ^3.0.0
# Notifications
flutter_local_notifications: ^21.0.0
workmanager: ^0.9.0+3
firebase_core: ^4.1.1
firebase_messaging: ^16.0.1
cupertino_icons: ^1.0.8
# Audio
just_audio: ^0.10.5
audio_service: ^0.18.13
# Fonts & Icons
google_fonts: ^8.0.2
# Utils
intl: ^0.20.0
uuid: ^4.4.0
timezone: ^0.11.0
http: ^1.2.0
flutter_dotenv: ^5.1.0
cached_network_image: ^3.3.1
share_plus: ^10.1.4
path_provider: ^2.1.5
url_launcher: ^6.2.5
lucide_icons: ^0.257.0
hugeicons: ^1.1.5
just_audio_background: ^0.0.1-beta.17
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0
build_runner: ^2.4.9
riverpod_generator: ^3.0.0-dev.11
hive_generator: ^2.0.1
json_serializable: ^6.8.0
flutter:
uses-material-design: true
assets:
- assets/fonts/
- assets/quran/
- assets/dzikir/
- assets/images/
- .env
fonts:
- family: PlusJakartaSans
fonts:
- asset: assets/fonts/PlusJakartaSans-Regular.ttf
weight: 400
- asset: assets/fonts/PlusJakartaSans-SemiBold.ttf
weight: 600
- asset: assets/fonts/PlusJakartaSans-Bold.ttf
weight: 700
- asset: assets/fonts/PlusJakartaSans-ExtraBold.ttf
weight: 800
- family: Amiri
fonts:
- asset: assets/fonts/Amiri-Regular.ttf
# Temporary: use Regular for 700 until real Amiri-Bold.ttf is added.
# Current Amiri-Bold.ttf in repo is a placeholder text file.
- asset: assets/fonts/Amiri-Regular.ttf
weight: 700
- family: KFGQPCUthmanicHafs
fonts:
- asset: assets/fonts/KFGQPC-Uthmanic-HAFS-Regular.otf
- family: UthmanTahaNaskh
fonts:
- asset: assets/fonts/UthmanTN1-Ver10.otf
- family: ScheherazadeNew
fonts:
- asset: assets/fonts/ScheherazadeNew-Regular.ttf
weight: 400
- asset: assets/fonts/ScheherazadeNew-Bold.ttf
weight: 700