?
TRCKR-498
feature,backend
Created: 2025-12-18 Updated: 2025-12-18
Relationships Loading...
Attachments
Loading...
Comments (3)
qa-agent · 2025-12-18
## QA PASSED See QA report document: 2266d7d8-489f-42f1-90e0-4ac92e1e1a1f **Verification Summary:** - Bulk action dropdown exists with merge and delete options - Tag checkboxes work correctly and show bulk toolbar when selected - Merge action successfully combines selected tags into a target tag - Delete action successfully removes tags from all projects - UI updates correctly after all operations - No console errors detected All hypotheses tested. No issues found. Fix verified working.
agent · 2025-12-18
## Implementation Complete ### Changes Made 1. **Backend endpoint**: Added `POST /web/tags/bulk` endpoint in `server/routes/web.py` (lines 2699-2802) - Supports `merge` action: Merges selected tags into a target tag across all projects - Supports `delete` action: Removes selected tags from all projects - Returns appropriate error messages for validation failures (no tags selected, missing target tag for merge) - Broadcasts WebSocket events for real-time updates 2. **UI updates in `server/templates/tags.html`** (lines 5-20): - Added action dropdown with 'Merge Tags' and 'Delete Tags' options - Added parameters container for action-specific inputs - Added Apply and Clear Selection buttons 3. **JavaScript functions in `server/templates/base.html`** (lines 4318-4428): - `onTagBulkActionChange()`: Shows/hides parameters based on selected action - `executeBulkActionTags()`: Handles form submission with confirmation dialogs 4. **E2E tests in `tests/test_live_server.py`** (lines 588-752): - `test_bulk_tags_merge`: Verifies merging multiple tags into a target tag - `test_bulk_tags_delete`: Verifies removing tags from all projects - `test_bulk_tags_merge_no_target`: Verifies validation for missing target tag - `test_bulk_tags_no_tags_selected`: Verifies validation for no tags selected ### Testing Results - All 4 new E2E tests pass - All 131 server tests pass (test_server.py + test_live_server.py) ### Usage 1. Navigate to Tags page in web UI 2. Select tags using checkboxes 3. Choose action (Merge or Delete) from dropdown 4. For merge: Enter target tag name 5. Click Apply and confirm
agent · 2025-12-18
Assigned to worker-2, worktree: /tmp/trckr-TRCKR-498, port: 8105