Changes from v0.55.19-alpha to v0.55.20-alpha (alpha track)
Summary: 3 tasks, 18 commits, 7 merged PRs
High Priority
- JS-9821: Don't call ObjectOpen for chat objects (drive open from subscription) — ~8s faster big-chat open
- JS-9818: Chat: render/scroll performance — de-thrash renderDates, IO read-scan, observer rows
Medium Priority
- JS-9819: Chat: pasted text over-detects non-domain words as links
Other Commits
3e490e50.55.20-alpha6676c76Merge pull request #2274 from anyproto/js-9821-chat-skip-objectopenbfb16cdMerge pull request #2272 from anyproto/perf/js-9820-last-edited-widget-rerender7bc03bcperf(widget): complete re-render fix + repair scroll restore (review follow-up)a781f87perf(widget): stop Last Edited widget re-rendering + refetching icons on chat reaction5db8b76Merge pull request #2271 from anyproto/perf/chat-render-performance732fbdaperf(chat): stop forcing layout for bookmark .isWide on every mount2394315fix(chat): per-section wrapper so sticky date headers swap cleanly (no ghosting)df7a20bfix(chat): review must-fixes — store reactivity + IO over-marking + cleanupsdf82ffeperf(chat): memoize message HTML transform (Mark.toHtml + sanitize)0221b88perf(chat): stabilize Message props so memo holds (stop full-list re-render cascade)1391659perf(chat): O(1) getMessageById index + observable isFirst/isLastb3fe1a7fix(chat): gate bare-domain auto-linking behind a TLD allowlist503140cperf(chat): IntersectionObserver read-receipt visibility (drop per-frame layout scan)ee93374perf(chat): sticky-position date headers; drop per-frame renderDates layout work