Docker additional_contexts with --from=rootconfig is not supported by Kaniko.
Changed to copy nuget.config directly from build context root.
- CI: pipeline already copies nuget.config to submodule root
- Docker Compose: users must run ./prepare-build.sh first
Replaced manual NuGet.Config creation with simple API call:
- Applied to both Host and Migrator Dockerfiles
- Reduced from 20+ lines to 1 line per config
- No API key needed for public read access
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Move CA certificates update before COPY to ensure SSL works
- Add --no-install-recommends flag to minimize image size
- Clean apt cache after install
- Add --verbosity normal to dotnet restore for better diagnostics
- Applied to both Host and Migrator Dockerfiles
This fixes NU1301 errors caused by outdated SSL certificates in CI/CD builds.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This update implements a comprehensive solution to prevent duplicate notifications
when Telegram messages are edited, while maintaining a full history of changes.
Features:
- New TextMatch entity to store match history with versioning
- Database migration for TextMatches table with proper indexes
- TextMatchRepository for managing match records
- TextSubscriptionUpdated event for message update notifications
- Enhanced MessageReceivedHandler with deduplication logic:
* First match creates version 1 and publishes TextSubscriptionMatched
* Subsequent updates create new versions and publish TextSubscriptionUpdated
* Skips notifications if message text hasn't changed
Technical details:
- MessageId changed from int to long to match Telegram API types
- Proper indexes on (MessageId, SubscriptionId) and UserId
- Full audit trail of message edits in database
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>