feat(tasks): проброс DTSTART (startRaw) в TaskItem → корректные Текущие/Сегодня/Неделя

Лид внёс DavTask.startRaw в core (2cb7a9a); пробрасываю в toTaskItem().
Умные списки теперь учитывают реальный start. Гейт compile+detekt+test зелёный.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
b-mob-tasks
2026-07-12 22:37:23 +00:00
parent 92bf902ae2
commit 25a185102c
3 changed files with 6 additions and 5 deletions
@@ -32,8 +32,8 @@ data class TaskItem(
val parentUid: String = "",
/**
* Сырой DTSTART в формате YYYYMMDD[THHMMSS[Z]] (как dueRaw). Нужен умным спискам
* «Текущие»/«Сегодня»/«На неделе» (веб-Tasks учитывает и start, и due). Пусто, пока
* core (`DavTask`) не отдаёт DTSTART — см. письмо лиду об этой правке core.
* «Текущие»/«Сегодня»/«На неделе» (веб-Tasks учитывает и start, и due).
* Приходит из `DavTask.startRaw` (core читает DTSTART в `parseVTodo`).
*/
val startRaw: String = "",
) {
@@ -168,6 +168,7 @@ class TasksRepository {
listHref = calendarHref,
listName = calendarName,
parentUid = parentUid,
startRaw = startRaw,
)
private fun calendarSlug(href: String): String {
@@ -17,9 +17,8 @@ import java.time.LocalDate
*
* Чистая логика без Android/сети — покрыта юнит-тестами (`TasksSmartListsTest`).
*
* NB: критерии «Сегодня»/«На неделе» учитывают start; в бою start появится, когда core
* (`DavTask`) начнёт отдавать DTSTART (см. письмо лиду) — до этого start пуст и в расчёте
* участвует только due. Границу окна «неделя» и участие start сверить на веб-версии glb.
* NB: start приходит из core (`DavTask.startRaw` ← DTSTART в `parseVTodo`). Границу окна
* «неделя» и точное участие start сверить на веб-версии glb/апстриме nextcloud/tasks v0.17.1.
*/
enum class SmartListKey(val title: String, val icon: String) {
IMPORTANT("Важное", "important-gray.svg"),