Relay 0.5.8
New Features
- Link previews inside bubbles: URL preview cards now render inside the message bubble instead of below it, styled to match the bubble's text color.
- Reply focus: starting a reply now focuses the compose text field automatically.
Bug Fixes
- Fixed blank mention pills and blockquote icons: attachment views embedded in message bubbles could render briefly then go blank (#177).
- Fixed compose bar not growing: the input field stayed locked at single-line height even when text wrapped to additional lines (#176).
- Fixed timeline clipping: rows could be clipped at top and bottom due to conflicting Auto Layout constraints in the NSTableView renderer.
- Fixed stale whitespace gaps after pagination: cached row heights are now cleared on structural timeline updates, so rows re-measure against their current context.
- Fixed link-click crash: clicking near the edge of or outside a text fragment could trigger an out-of-bounds access when resolving links.
Timeline Reorganization
- Decomposed
TimelineViewModelinto focused collaborators; extracted overlays and action wiring fromTimelineView. - Split
TimelineViewModelProtocolinto separate state-providing and action-providing protocols. - Moved media/system-event data into
TimelineMessage.Kindassociated values so invalid states are unrepresentable. - Moved message row-building types into the RelayInterface package for independent testability.
- Unified both timeline renderers behind shared config and callback types.
Come say hello, get a link to the TestFlight builds and chat with us in #relayapp:matrix.org.