tree dc3cbb30ff7f291acfc1522bd0302bf0c0ba4adb
parent e08c7ffc8f1ec0cd3899d2fedad79f408b6dc2f9
author Philip Zeyliger <philip@bold.dev> 1749248943 +0000
committer Philip Zeyliger <philip@bold.dev> 1749269372 -0700

github: fix discord webhook payload truncation for long commit messages

Fix Discord webhook failures caused by overly long commit body content
that exceeds Discord embed size limits, preventing notification delivery.

Problem Analysis:
Discord webhooks were failing with HTTP 400 errors when commit messages
contained extensive body content. The error response {"embeds": ["0"]}
indicated the first embed was invalid, typically due to field length
violations. Discord enforces strict limits on embed field sizes:
- Title: 256 characters maximum
- Description: 4096 characters maximum
- Field values: 1024 characters maximum

Large commits with detailed implementation notes, problem analysis, and
technical documentation were exceeding these limits, causing webhook
delivery failures and missed commit notifications.

Implementation Changes:

1. Text Truncation Function:
   - Added truncate_text() with intelligent content preservation
   - Attempts truncation at paragraph boundaries (double newlines)
   - Falls back to sentence boundaries (periods with spaces)
   - Uses ellipsis (...) to indicate truncated content
   - Ensures truncation only when more than half content remains

2. Field Length Management:
   - Title truncated to 256 character Discord limit
   - Description conservatively limited to 2000 characters for safety
   - Maintains existing field structure and formatting
   - Preserves commit author and URL fields unchanged

3. Debug Information:
   - Added payload size reporting in test mode
   - Character count logging for title and description fields
   - Enhanced troubleshooting capabilities for future issues

4. Backward Compatibility:
   - No changes to function signatures or environment variables
   - Existing webhook URLs and configuration remain unchanged
   - Short commit messages pass through unmodified
   - All existing functionality preserved

Technical Details:
- Truncation uses string slicing with boundary detection
- Conservative 2000 character limit provides buffer below Discord's 4096 limit
- Test mode provides detailed payload analysis for debugging
- JSON payload generation unchanged except for field content

Benefits:
- Reliable Discord notification delivery for all commit types
- Intelligent content preservation maintains readability
- Debug capabilities improve webhook troubleshooting
- Zero configuration changes required for existing setups

Testing:
- Verified fix resolves HTTP 400 errors for problematic commit e08c7ffc
- Confirmed short commit messages remain unaffected
- Tested intelligent truncation at paragraph and sentence boundaries
- Validated payload size reduction maintains Discord compatibility

This fix ensures consistent Discord webhook delivery while preserving
essential commit information through intelligent content truncation.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s1859815462496f8ak
