Skip to content

Improve searchable filters and responsive calendar entries - #9

Merged
Tricked-dev merged 12 commits into
Tricked-dev:masterfrom
AKolenda:codex/search-calendar-fixes-v2
Aug 22, 2026
Merged

Improve searchable filters and responsive calendar entries#9
Tricked-dev merged 12 commits into
Tricked-dev:masterfrom
AKolenda:codex/search-calendar-fixes-v2

Conversation

@AKolenda

Copy link
Copy Markdown
Contributor

Summary

Replaces #8 with the full searchable-filter and responsive-calendar change set plus fixes for every PR-side failure identified in its CI run.

  • split project and task selection into independently searchable adaptive pickers
  • add searchable, bounded client/project/task/tag selectors for large catalogues
  • simplify Track history and Statistics filter surfaces
  • preserve or explicitly clear reusable tracking fields after stopping
  • allow week-calendar metadata to consume available event-card height
  • deterministically cancel and join ViewModel scopes in mutation tests
  • update edit E2E automation to select a project before its task
  • use the correct long-timer notification action in the seven-hour timer scenario
  • seed failed-sync state before launch so collector startup cannot race the fixture

Scope and acceptance criteria

  • Large catalogues remain searchable without unbounded menus.
  • Week cards wrap metadata until their actual vertical boundary.
  • Tracking field-retention behavior is persisted and tested.
  • ViewModel mutation tests do not leave coroutines running after runTest.
  • Split project/task E2E automation follows the production interaction order.
  • Notification and sync fixtures represent the production state shown by the app.
  • English, Dutch, and Japanese resources remain aligned.

Validation

Commands and focused tests actually run:

./gradlew.bat --no-daemon spotlessApply testDebugUnitTest --tests 'dev.tricked.solidverdant.ui.tracking.TrackingViewModelMutationTest' :app:compileDebugAndroidTestKotlin -> passed
./gradlew.bat --no-daemon testDebugUnitTest --tests 'dev.tricked.solidverdant.ui.tracking.TrackingViewModelMutationTest' --rerun-tasks -> passed from forced cold compilation
./gradlew.bat --no-daemon spotlessCheck testDebugUnitTest lintDebug assembleDebug assembleDebugAndroidTest :app:assembleBenchmark -> passed; 631 tests, 159 tasks
git diff --check -> passed

Verification status by scope:

  • Host/unit/lint: Green — formatting, all 631 JVM tests, lint, debug APK, and test APK passed.
  • Screenshot/UI: Green — intentional calendar fixtures were recorded and reviewed in the change set.
  • Device/E2E: Partial — affected Android tests compile; no physical device was connected for instrumentation execution.
  • Backend/server evidence: Not applicable locally — no production or personal backend was contacted.

Evidence and remaining gaps

The previous CI run showed three distinct issues now addressed here:

  1. mutation tests canceled but did not join ViewModel scopes;
  2. the edit robot skipped the project step required by the split picker;
  3. notification and sync tests raced or expected UI inconsistent with their seeded state.

CI remains the available instrumentation proof because no authorized physical device is connected locally.

Safety and working tree

  • No tokens, work data, or machine-specific paths are included.
  • Unrelated changes were preserved.
  • Generated artifacts are intentional and reviewed.

…ct-task-search

# Conflicts:
#	app/src/androidTest/java/dev/tricked/solidverdant/e2e/robots/TrackRobot.kt
#	app/src/main/java/dev/tricked/solidverdant/ui/components/ProjectTaskDropdownMenu.kt
#	app/src/main/java/dev/tricked/solidverdant/ui/tracking/TrackingTestTags.kt
#	app/src/test/java/dev/tricked/solidverdant/ui/components/ProjectTaskDropdownMenuTest.kt
#	app/src/test/java/dev/tricked/solidverdant/ui/tracking/TrackingViewModelForegroundTest.kt
@AKolenda

Copy link
Copy Markdown
Contributor Author

Added calendar gesture arbitration in commit 55dfb4b: ordinary vertical drags now scroll, while long-press then drag creates a snapped range. The gesture E2E suite now covers both behaviors, and English/Dutch/Japanese accessibility guidance was updated. Full host gate passed locally (631 JVM tests, lint, debug/test APKs, optimized benchmark APK). Physical-device execution remains delegated to CI because no device is connected locally.

@Tricked-dev
Tricked-dev merged commit 2f003cc into Tricked-dev:master Aug 22, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants