- CalendarItem gains recurrenceMasterStart/End/Due, the true unresolved master date, tracked separately from start/end/due (which hold the resolved next occurrence for a recurring item). The edit screen now shows and edits the real master date for recurring items instead of disabling those fields outright, with a note that the change applies to the whole series. Verified against a real recurring event on-device. - New util/ConflictDiff.kt computes exactly which user-editable fields differ between a local edit and the server's version after a 412. The conflict dialog is now a per-field mine/theirs picker (with "All mine"/"All theirs" shortcuts) instead of an all-or-nothing choice. - Extracted statusLabel() to util/StatusLabels.kt so both the edit screen and the new conflict diff can share it. - Two more test files (ConflictDiffTest, extended IcsMapperTest). |
||
|---|---|---|
| .. | ||
| app | ||
| gradle/wrapper | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| settings.gradle.kts | ||