AOSP Patterns.WEB_URL only matches http/https/ftp/rtsp, so chat-text custom schemes (bl://, tg://, intent://) never reached Dart on Android. NSDataDetector on iOS catches some but not exhaustively. Add a Dart-side pass that scans for any RFC-3986 scheme://body and merges into the native result set via greedy de-overlap, with trailing sentence-end punctuation trimmed.