Local-first chat between people whose web of trust is still forming is a natural phishing/scam vector, so messages may not contain URLs. A conservative `containsUrl` rule (explicit scheme, www., or a common-TLD domain — but not "3.5kg" or "12.30") gates it: the composer warns and keeps the text for editing, and MessagesCubit.send drops any URL as a backstop. Incoming text was already non-tappable (plain selectable text). |
||
|---|---|---|
| .. | ||
| chat_timeline_test.dart | ||
| crop_calendar_test.dart | ||
| message_rules_test.dart | ||
| species_autoclassify_test.dart | ||
| species_reference_links_test.dart | ||