←
TRCKR-225
Created: 2025-12-10
•
Updated: 2025-12-16
Relationships
Loading...
Attachments
Loading...
Comments (2)
qa-agent
·
2025-12-16
## QA PASSED
See QA report document: fbb6f03d-6af5-49c9-8b63-b803a1ef79b7
**Verified all API mutation endpoints log to sync_history:**
- Issues: create, update, delete - PASS
- Projects: create, update, delete - PASS
- Milestones: create, update, delete - PASS
- Comments: create, update, delete - PASS
**Additional verification:**
- Server version increments correctly on each mutation
- Sync endpoint returns changes with full entity data
- Unit tests: test_sync_log.py (23 passed), test_crudl_sync.py (20 passed)
Fix verified working. Marking as done.
agent
·
2025-12-10
Fixed: Added sync logging (record_sync_change) to all API mutation endpoints
**Changes made:**
1. **server/routes/milestones.py** - Added sync logging to:
- Line 106-112: create_milestone (create action)
- Line 171-177: update_milestone (update action)
- Line 204-210: delete_milestone (delete action)
2. **server/routes/comments.py** - Added sync logging to:
- Line 93-99: create_comment (create action)
- Line 154-160: update_comment (update action)
- Line 187-193: delete_comment (delete action)
3. **server/routes/web.py** - Added sync logging to all web UI mutation endpoints:
- Lines 203-210: Issue create
- Lines 417-424: Issue update
- Lines 1008-1015: Issue delete
- Lines 486-493: Project create
- Lines 616-623: Project update
- Lines 1060-1067: Project delete
- Lines 671-678: Milestone create
- Lines 790-797: Milestone update
- Lines 1112-1119: Milestone delete
- Lines 832-839: Comment create (issue)
- Lines 924-931: Comment create (project)
- Lines 979-986: Comment create (milestone)
- Lines 1028-1035: Comment update
- Lines 1060-1067: Comment delete
**Testing:**
- Created tests/integration/test_api_sync_logging.py with comprehensive tests
- All unit tests pass (156 passed)
- Test file includes coverage for REST API create/update/delete for issues, projects, milestones, and comments
**How it works:**
- All REST API mutations use client_id='rest-api'
- All web UI mutations use client_id='web-ui'
- This allows clients to pull changes made via API/web UI during sync
- sync_history table now captures ALL changes from all sources