Skip to content

fix(core): honor FILTERTYPE_INCOMPLETETASKS in task sync#172

Merged
TDannhauer merged 1 commit into
FRAMEWORK_6_0from
fix/incomplete-tasks-filter
Jun 22, 2026
Merged

fix(core): honor FILTERTYPE_INCOMPLETETASKS in task sync#172
TDannhauer merged 1 commit into
FRAMEWORK_6_0from
fix/incomplete-tasks-filter

Conversation

@TDannhauer

Copy link
Copy Markdown
Contributor

Summary

  • Honor EAS FilterType 8 (incomplete tasks only) in ActiveSync task collections
  • Soft-delete completed tasks when they leave the filtered view

Motivation

Clients can request incomplete-only task sync, but the driver listed all tasks and ignored the filter.

Changes

  • lib/Horde/Core/ActiveSync/Driver.php: filter initial/incremental task changes; handle filter refresh
  • lib/Horde/Core/ActiveSync/Connector.php: pass completed filter to Nag; add tasks_isComplete()

Dependencies

  • horde/nag: listUids($completed) and isComplete()
  • horde/activesync: passes $filtertype as 9th argument to getServerChanges()

Test plan

  • Manual: device incomplete-tasks filter, complete task in Nag, re-sync removes task from device
  • PHPUnit (no new core tests in this PR)

Merge order

Merge after horde/nag and horde/activesync PRs land.

Made with Cursor

When the client selects FilterType 8 (incomplete tasks only), list incomplete tasks on initial sync, soft-delete completed tasks on modify, and refresh completed items when the filter changes.

Depends on horde/activesync passing filtertype to getServerChanges() and horde/nag listUids/isComplete API.
@TDannhauer TDannhauer merged commit 57e3a8c into FRAMEWORK_6_0 Jun 22, 2026
0 of 4 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.

1 participant