Skip to content

Commit 1f513d2

Browse files
authored
Merge pull request #355 from DevKor-github/feat/continuing-timer-after-preparation-ends
Add theme-driven alarm preparation UI tweaks
2 parents 0ed0b6e + 7f77a80 commit 1f513d2

16 files changed

Lines changed: 2122 additions & 104 deletions

docs/Architecture.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ Database ← ScheduleDao ← ScheduleRepository ← ScheduleEntity
275275
- **Real-time synchronization** between local and remote data
276276
- **Runtime preparation flow** with official timer starts, early-start entry, and finish/lateness handling
277277
- **Cache-coherent timed-preparation resume** using snapshot metadata and fingerprint invalidation
278+
- **Automatic timer system** for schedule start notifications
278279

279280
📖 **Detailed Documentation**: For the canonical v2 state machine, sequence flows, cache coherence model, and verification matrix, see [Schedule Timer & Preparation Runtime Flow (v2)](./Schedule-Timer-System.md)
280281

@@ -290,7 +291,17 @@ Database ← ScheduleDao ← ScheduleRepository ← ScheduleEntity
290291
- **Synchronization strategy** for online/offline data consistency
291292
- **Caching mechanisms** for improved performance
292293

293-
### 5. **Local Storage for Timed Preparation**
294+
### 5. **Error Handling System**
295+
296+
- **Result pattern** for explicit, type-safe error handling
297+
- **Structured failure hierarchy** across all layers (Core, Domain, Data)
298+
- **Automatic logging** to Firebase Crashlytics in production
299+
- **Environment-aware messaging**: detailed errors in debug, user-friendly messages in production
300+
- **Layer-appropriate failures**: Domain failures contain no infrastructure details
301+
302+
📖 **Detailed Documentation**: For comprehensive information about the error handling system, see [Error Handling System](./Error-Handling-Result-System.md)
303+
304+
### 6. **Local Storage for Timed Preparation**
294305

295306
- `PreparationWithTimeLocalDataSource` persists `PreparationWithTimeEntity` per schedule using SharedPreferences.
296307
- Intended for lightweight, per-schedule timer state (elapsed time, completion) that should survive app restarts.
@@ -357,6 +368,9 @@ dart run build_runner watch
357368
- Always use **entities** in the domain layer
358369
- Convert **models to entities** at repository boundaries
359370
- Implement **proper error handling** throughout the layers
371+
- Use **Result pattern** for all operations that can fail
372+
373+
📖 **Detailed Documentation**: For comprehensive information about error handling, see [Error Handling System](./Error-Handling-Result-System.md)
360374

361375
### 4. **Naming Conventions**
362376

0 commit comments

Comments
 (0)