Describe the bug
Scrolling up far in room history blocks out the chat with a giant grey blob
To Reproduce
Steps to reproduce the behavior:
- Go to a room
- Scroll far up
- See error
Expected behavior
No blob
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Example of error from log
FormatException: Invalid port (at character 26)
https://matrix.usbpc.xyz:443&
^
(_Uri.notSimple)#0 new _Uri.notSimple (dart:core/uri.dart:1910)
#1 Uri.parse (dart:core/uri.dart:1176)
#2 TextUtils.findUrls. (package:commet/utils/text_utils.dart:74)
#3 MappedIterator.moveNext (dart:_internal/iterable.dart:420)
#4 new _GrowableList._ofOther (dart:core-patch/growable_array.dart:207)
#5 new _GrowableList.of (dart:core-patch/growable_array.dart:156)
#6 new List.of (dart:core-patch/array_patch.dart:39)
#7 Iterable.toList (dart:core/iterable.dart:517)
#8 TextUtils.findUrls (package:commet/utils/text_utils.dart:75)
#9 MatrixTimelineEventMessage.getLinks (package:commet/client/matrix/timeline_events/matrix_timeline_event_message.dart:206)
#10 MatrixUrlPreviewComponent.shouldGetPreviewDataForTimelineEvent (package:commet/client/matrix/components/url_preview/matrix_url_preview_component.dart:111)
#11 _TimelineEventViewMessageState.loadStateFromEvent (package:commet/ui/molecules/timeline_events/events/timeline_event_view_message.dart:281)
#12 _TimelineEventViewMessageState.loadEventState (package:commet/ui/molecules/timeline_events/events/timeline_event_view_message.dart:218)
#13 _TimelineEventViewMessageState.update. (package:commet/ui/molecules/timeline_events/events/timeline_event_view_message.dart:204)
#14 State.setState (package:flutter/src/widgets/framework.dart:1199)
#15 _TimelineEventViewMessageState.update (package:commet/ui/molecules/timeline_events/events/timeline_event_view_message.dart:203)
#16 TimelineViewEntryState.update (package:commet/ui/molecules/timeline_events/timeline_view_entry.dart:193)
#17 RoomTimelineWidgetViewState.onReadReceiptUpdated (package:commet/ui/molecules/room_timeline_widget/room_timeline_widget_view.dart:621)
#18 _rootRunUnary (dart:async/zone_root.dart:48)
#19 _CustomZone.runUnary (dart:async/zone.dart:733)
#20 _CustomZone.runUnaryGuarded (dart:async/zone.dart:633)
#21 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#22 _DelayedData.perform (dart:async/stream_impl.dart:573)
#23 _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#24 _PendingEvents.schedule. (dart:async/stream_impl.dart:649)
#25 _rootRun (dart:async/zone_root.dart:27)
#26 _CustomZone.run (dart:async/zone.dart:726)
#27 _CustomZone.runGuarded (dart:async/zone.dart:625)
#28 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:666)
#29 _rootRun (dart:async/zone_root.dart:35)
#30 _CustomZone.run (dart:async/zone.dart:726)
#31 _CustomZone.runGuarded (dart:async/zone.dart:625)
#32 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:666)
#33 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#34 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
Device Information
Device
Platform: android
Version: v0.4.1
Git Hash: c2ee370d18c822673b24b6579842a01b971b1584
Detail: google_services
Build Timestamp: 1772620770072 (March 4, 2026)
System Info
Name: My S25 Edge
Product: psqxeea
Describe the bug
Scrolling up far in room history blocks out the chat with a giant grey blob
To Reproduce
Steps to reproduce the behavior:
Expected behavior
No blob
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Example of error from log
FormatException: Invalid port (at character 26)
https://matrix.usbpc.xyz:443&
^
(_Uri.notSimple)#0 new _Uri.notSimple (dart:core/uri.dart:1910)
#1 Uri.parse (dart:core/uri.dart:1176)
#2 TextUtils.findUrls. (package:commet/utils/text_utils.dart:74)
#3 MappedIterator.moveNext (dart:_internal/iterable.dart:420)
#4 new _GrowableList._ofOther (dart:core-patch/growable_array.dart:207)
#5 new _GrowableList.of (dart:core-patch/growable_array.dart:156)
#6 new List.of (dart:core-patch/array_patch.dart:39)
#7 Iterable.toList (dart:core/iterable.dart:517)
#8 TextUtils.findUrls (package:commet/utils/text_utils.dart:75)
#9 MatrixTimelineEventMessage.getLinks (package:commet/client/matrix/timeline_events/matrix_timeline_event_message.dart:206)
#10 MatrixUrlPreviewComponent.shouldGetPreviewDataForTimelineEvent (package:commet/client/matrix/components/url_preview/matrix_url_preview_component.dart:111)
#11 _TimelineEventViewMessageState.loadStateFromEvent (package:commet/ui/molecules/timeline_events/events/timeline_event_view_message.dart:281)
#12 _TimelineEventViewMessageState.loadEventState (package:commet/ui/molecules/timeline_events/events/timeline_event_view_message.dart:218)
#13 _TimelineEventViewMessageState.update. (package:commet/ui/molecules/timeline_events/events/timeline_event_view_message.dart:204)
#14 State.setState (package:flutter/src/widgets/framework.dart:1199)
#15 _TimelineEventViewMessageState.update (package:commet/ui/molecules/timeline_events/events/timeline_event_view_message.dart:203)
#16 TimelineViewEntryState.update (package:commet/ui/molecules/timeline_events/timeline_view_entry.dart:193)
#17 RoomTimelineWidgetViewState.onReadReceiptUpdated (package:commet/ui/molecules/room_timeline_widget/room_timeline_widget_view.dart:621)
#18 _rootRunUnary (dart:async/zone_root.dart:48)
#19 _CustomZone.runUnary (dart:async/zone.dart:733)
#20 _CustomZone.runUnaryGuarded (dart:async/zone.dart:633)
#21 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381)
#22 _DelayedData.perform (dart:async/stream_impl.dart:573)
#23 _PendingEvents.handleNext (dart:async/stream_impl.dart:678)
#24 _PendingEvents.schedule. (dart:async/stream_impl.dart:649)
#25 _rootRun (dart:async/zone_root.dart:27)
#26 _CustomZone.run (dart:async/zone.dart:726)
#27 _CustomZone.runGuarded (dart:async/zone.dart:625)
#28 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:666)
#29 _rootRun (dart:async/zone_root.dart:35)
#30 _CustomZone.run (dart:async/zone.dart:726)
#31 _CustomZone.runGuarded (dart:async/zone.dart:625)
#32 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:666)
#33 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#34 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
Device Information
Device
Platform:
androidVersion:
v0.4.1Git Hash:
c2ee370d18c822673b24b6579842a01b971b1584Detail:
google_servicesBuild Timestamp:
1772620770072 (March 4, 2026)System Info
Name:
My S25 EdgeProduct:
psqxeea