ruberoid
78d1099bfc
Add message deduplication and versioning for text match notifications
...
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>
2025-10-14 13:22:58 +04:00
Ruberoid
68cd5a0b1a
Log messages translated into english and some punctuation fixes.
2025-07-22 00:10:11 +03:00
Ruberoid
5fcc76a136
removed unused dependency.
2025-07-21 19:29:11 +03:00
Ruberoid
5a8fbc5aaf
removed nuget priority restore warnings.
2025-07-21 17:46:31 +03:00
Ruberoid
85bc493d73
added mass deactivate subscription for user.
2025-07-21 16:40:02 +03:00
Ruberoid
a35e616753
added healthcheks.
2025-07-21 13:48:47 +03:00
Ruberoid
56734b4f52
fixed migrator optional secret protected file appsettings.
2025-07-19 15:16:07 +03:00
Ruberoid
e01d2d0a14
Fixed warnings.
2025-07-18 19:51:29 +03:00
Ruberoid
ebbec35e62
Fixed config usages.
2025-07-18 17:11:55 +03:00
Ruberoid (ghostcat)
1dddca85ba
fixed nocr version dependency.
2024-12-05 00:48:47 +04:00
Sergey Nazarov
2c6a2f6c6e
Update telegram-listener contracts
2024-04-15 17:02:28 +03:00
ruberoid
1b08e0b33f
added config for k8s.
2024-04-14 14:10:06 +04:00
ruberoid
246695350f
added config for k8s deployment.
2024-04-05 15:20:21 +04:00
Sergey Nazarov
b36ea8e9d6
Update dependencies
2024-03-30 12:08:39 +03:00
Sergey Nazarov
bb0a25727a
Fix scripts
2024-03-30 11:39:58 +03:00
Sergey Nazarov
65f03d2e20
Add Nocr.TextMatcher.Migrator
2024-03-30 11:31:23 +03:00
Sergey Nazarov
f97b14ac0e
Fix dependencies
2024-03-30 10:24:25 +03:00
Sergey Nazarov
3c0f6010c5
Fix TextMatcherContext.cs
2024-03-30 09:43:43 +03:00
Sergey Nazarov
9eacdd90d1
Add IsPackable=false for Persistence project
2024-03-30 09:16:35 +03:00
Sergey Nazarov
c88a7aee5e
Update project structure
2024-03-30 09:14:06 +03:00
Sergey Nazarov
a1ca6e3b14
Update appsettings.DockerCompose.json
2024-03-30 08:45:31 +03:00
Sergey Nazarov
ced8c15efb
DRAFT: nazarovsa/persistence ( #2 )
...
Reviewed-on: #2
Co-authored-by: Sergey Nazarov <insight.appdev@gmail.com>
Co-committed-by: Sergey Nazarov <insight.appdev@gmail.com>
2024-03-29 13:24:04 +00:00
Sergey Nazarov
1f5cc40e54
Add contracts annotations
2024-03-28 09:00:44 +03:00
ruberoid
74e0e65f53
aded restore private nuget
2024-03-27 12:48:05 +04:00
Sergey Nazarov
792a633544
Up dependencies
2024-03-26 18:59:12 +03:00
Sergey Nazarov
261d62c83f
Update api contracts
2024-03-26 15:43:26 +03:00
Sergey Nazarov
33b2ea9a6a
Fix tests
2024-03-26 15:23:57 +03:00
Sergey Nazarov
367b13e175
Update sync contracts
2024-03-26 15:18:12 +03:00
Sergey Nazarov
6fd1ae7c80
Remove AppService.Contracts
2024-03-26 10:13:53 +03:00
Sergey Nazarov
a2e335e0a4
Add Api.Contracts
2024-03-25 19:20:33 +03:00
Sergey Nazarov
374ee606f8
Fix ITextMatchService lifetime
2024-03-23 10:00:12 +04:00
Sergey Nazarov
621399e7c9
Update versions
2024-03-22 20:56:18 +04:00
Sergey Nazarov
90eeb7f851
Add chat username to TextMatchMatched
2024-03-22 20:46:17 +04:00
Sergey Nazarov
8560bbbf31
Make ChatId in TextMatch optional
2024-03-22 10:00:41 +04:00
Sergey Nazarov
38abbae070
Add ChatUsername
2024-03-22 00:38:37 +04:00
Sergey Nazarov
94600fa953
Add IsPackable
2024-03-21 23:55:32 +04:00
Sergey Nazarov
2692f549f4
Add rebus ( #1 )
...
Reviewed-on: #1
Co-authored-by: Sergey Nazarov <insight.appdev@gmail.com>
Co-committed-by: Sergey Nazarov <insight.appdev@gmail.com>
2024-03-21 18:57:29 +00:00
Sergey Nazarov
98f56ed212
Initial commit
2024-03-19 23:44:52 +04:00