Stream page crashes with null facet features

did:plc:o6xucog6fghiyrvp7pyqxcs3 opened this Sep 24, 2025 0 comments
did:plc:o6xucog6fghiyrvp7pyqxcs3 opened Sep 24, 2025

Bug description

I am encountering the issue on my own stream page at https://stream.place/bot.timtinkers.online. The site briefly loads, but then the component crashes with the following TypeError:

Uncaught TypeError: can't access property "length", v is null
    segmentize facet.ts:98
    p chat-message.tsx:89
    React 8
    E scheduler.production.js:144
facet.ts:98:21

Root cause

In the Developer tools debugger, I added a conditional breakpoint on facet.ts:98 for features === null. When the breakpoint is triggered, I see the following scopes:

Block
​
byteEnd: 8
​
byteStart: 0
​
facet: {…}
​
features: null
For
Function Body
segmentize
​
facets: (1) […]
​
text: "#hashtag"
Module
Window: Global

This is a chat message I had sent back in May, the record in my PDS shows "features": []. The record is here: https://pdsls.dev/at://did:plc:xnpibbj2hcqlsodutcnirmxp/place.stream.chat.message/3mbyew5flzl2o

Presumably, I could delete the record and move on, but I thought I'd leave it up for now; it is unfortunate, that several months old chat messages can effectively crash my stream page.

Quite frankly I don't understand where and how features turns from an empty array into null, but seemingly the RichTextMessage for this specific message has null features when segmentize() is called.

How to reproduce

Open my stream page at https://stream.place/bot.timtinkers.online, tested in Chrome and Firefox.

Cheers

2026 edit

I decided to delete the original record to un-break my main account, but I recreated the record on an alt-account and updated the links above accordingly

No activity yet.

cospan · schematic version control on atproto built on AT Protocol