feat: Add 9 new features for enhanced UX and security

Quick Wins:
- Feature 1: Ticket linking in comments (#123456789 auto-links)
- Feature 6: Checkbox click area fix (click anywhere in cell)
- Feature 7: User groups display in settings modal

UI Enhancements:
- Feature 4: Collapsible sidebar with localStorage persistence
- Feature 5: Inline ticket preview popup on hover (300ms delay)
- Feature 2: Mobile responsive improvements (44px touch targets, iOS zoom fix)

Major Features:
- Feature 3: Kanban card view with status columns (toggle with localStorage)
- Feature 9: API key generation admin panel (/admin/api-keys)
- Feature 8: Ticket visibility levels (public/internal/confidential)

New files:
- views/admin/ApiKeysView.php
- api/generate_api_key.php
- api/revoke_api_key.php
- migrations/008_ticket_visibility.sql

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-23 10:01:50 -05:00
parent c32e9c871b
commit e86a5de3fd
19 changed files with 1933 additions and 39 deletions

View File

@@ -0,0 +1,15 @@
-- Migration: Add ticket visibility levels
-- Run this migration to enable ticket visibility features
-- Add visibility columns to tickets table
ALTER TABLE tickets
ADD COLUMN visibility ENUM('public', 'internal', 'confidential') DEFAULT 'public' AFTER type,
ADD COLUMN visibility_groups VARCHAR(500) DEFAULT NULL AFTER visibility;
-- Create index for visibility filtering
CREATE INDEX idx_tickets_visibility ON tickets(visibility);
-- Example usage:
-- Public: All authenticated users can see the ticket
-- Internal: Only users in specified groups can see the ticket (visibility_groups contains comma-separated group names)
-- Confidential: Only creator, assignee, and admins can see the ticket