mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-01-25 05:58:50 -06:00
HIGH PRIORITY FIXES: - GitHub: Fix webhook signature verification to use raw request body bytes * GitHub signs the raw body, not parsed JSON, so signature verification was failing * Added security checks to reject webhooks when secret configured but signature missing * Updated route handler to pass raw body for proper signature verification - QuickBooks: Complete customer/account mapping implementation * Implemented automatic customer lookup by DisplayName in QuickBooks * Implemented automatic item lookup by Name for invoice items * Implemented automatic expense account discovery with fallback * Auto-saves discovered mappings for future use * Added validation to ensure required mappings exist before creating invoices * Improved API request handling with proper error messages and timeout handling IMPROVEMENTS: - CalDAV: Enhance bidirectional sync functionality * Improved update handling to use existing event hrefs correctly * Better error handling for HTTP errors (404, etc.) * Enhanced event creation vs update logic - Integrations: Add comprehensive error handling across all integrations * GitHub: Network errors, authentication failures, database errors, timeout handling * QuickBooks: API errors, validation errors, timeout handling, connection errors * CalDAV: HTTP errors, connection errors, timeout handling * Jira & Slack: Improved error handling in webhook handlers * All integrations now properly handle timeouts, connection errors, auth failures * Detailed error messages and appropriate logging levels * Proper database transaction rollback on errors TECHNICAL CHANGES: - Updated BaseConnector.handle_webhook() to accept optional raw_body parameter - Updated all webhook handlers (GitHub, Jira, Slack) for consistency - Improved QuickBooks API request method with better error handling - Enhanced CalDAV client create_or_update_event() to handle existing hrefs