- Add `page.remove_listener("response", handle_response)` in
`extract_video_url_from_tweet_page` finally block to detach the
network listener before page close, preventing ghost callbacks
from leaking captured URLs across tweet iterations.
- Confirmed `build_media_fingerprint` already uses `canonicalize_tweet_url`
as stable video identifier instead of unreliable `media_url_https`,
avoiding false fingerprint collisions between different video tweets.
- Confirmed `sync_feeds` already guards against `None` video URL after
extraction, ensuring no silent fallthrough to stale captures.
- truncate_text_safely: slice to full max_length, drop trailing ...
- truncate_text_preserving_tail: remove ... prefix/infix, adjust
reserve from +4 to +1
- build_dynamic_alt: slice to DYNAMIC_ALT_MAX_LENGTH, drop ...
- make_rich: remove … from hashtag rstrip chars
- sync_feeds: remove conditional ... suffix in dry-run log
- Corrected the regular expression in the `strip_trailing_url_punctuation` function to properly escape the single quote (') and ensure valid syntax.
- Fixed potential issues caused by unescaped characters in the regex pattern.
- Updated the text truncation logic to avoid using "..." when shortening text.
- Ensured that text is truncated to the maximum allowed length without additional trailing characters.
- Improved handling of text variants to maintain clarity and avoid unnecessary truncation.
- Add quick start section with 3-step setup instructions
- Include prerequisites and platform compatibility information
- Expand credentials configuration with security best practices
- Add detailed configuration section with media constraints table
- Provide concrete usage examples for RSS, Twitter daemon, and systemd
- Include cron job integration examples for scheduling
- Add project structure diagram showing all key files and directories
- Create extensive troubleshooting section with common issues and solutions
- Add debugging guide with log analysis tips
- Include FAQ section addressing typical user questions
- Document use cases and real-world scenarios
- Add security notes for credential management
- Improve contributing guidelines with step-by-step workflow
- Enhance formatting with emojis, tables, and better organization
- Replace vague descriptions with actionable, specific guidance
This makes the documentation suitable for both beginner and advanced users while providing clear paths for setup, usage, and troubleshooting.
Co-authored-by: Copilot <copilot@github.com>