meshcore-open/lib/services
Ryan Malloy daca42701c
Notification rate limiting (#110)
* Add notification rate limiting with privacy-safe debug logging

- Add batching system to prevent notification storms (3s rate limit, 5s batch window)
- Queue rapid notifications and show batch summaries
- Debug logs show device names for adverts, sender/channel for messages (no content leaks)
- Remove unused _maxBatchSize constant

Context: Added after getting notification-flooded while evaluating RF flood management. The irony.

* Update notification_service.dart

I made a mistake and removed this

* Add l10n support for notification strings

Addresses PR #110 review feedback to use the translations system:
- Add notification strings to app_en.arb (plurals for batch summary)
- Update NotificationService to use lookupAppLocalizations()
- Wire locale from MaterialApp to NotificationService
- Regenerate localization files

New strings added (English only, translations needed):
- notification_activityTitle: "MeshCore Activity"
- notification_messagesCount: "{count} message(s)"
- notification_channelMessagesCount: "{count} channel message(s)"
- notification_newNodesCount: "{count} new node(s)"
- notification_newTypeDiscovered: "New {type} discovered"
- notification_receivedNewMessage: "Received new message"

* Add notification string translations for all supported languages

Translated notification_activityTitle, notification_messagesCount,
notification_channelMessagesCount, notification_newNodesCount,
notification_newTypeDiscovered, and notification_receivedNewMessage
to: bg, de, es, fr, it, nl, pl, pt, ru, sk, sl, sv, uk, zh

Includes proper ICU plural forms for Slavic languages (few/many/other)
and Slovenian dual form.

* Apply dart format to notification_service.dart

---------

Co-authored-by: Winston Lowe <wel97459@gmail.com>
2026-02-08 18:42:15 -08:00
..
app_debug_log_service.dart format dart files 2026-02-04 08:32:35 -08:00
app_settings_service.dart format dart files 2026-02-04 08:32:35 -08:00
background_service.dart updated ui added new features 2025-12-27 15:32:32 -07:00
ble_debug_log_service.dart format dart files 2026-02-04 08:32:35 -08:00
map_marker_service.dart remove voice code make optimizations. Fix channels race conditions. add reply function 2025-12-30 19:27:25 -07:00
map_tile_cache_service.dart format dart files 2026-02-04 08:32:35 -08:00
message_retry_service.dart format dart files 2026-02-04 08:32:35 -08:00
notification_service.dart Notification rate limiting (#110) 2026-02-08 18:42:15 -08:00
path_history_service.dart format dart files 2026-02-04 08:32:35 -08:00
repeater_command_service.dart format dart files 2026-02-04 08:32:35 -08:00
storage_service.dart format dart files 2026-02-04 08:32:35 -08:00