Ask HN: How does Roam Research “call home”?

by shibelon 4/24/2020, 12:48 PMwith 4 comments

I’ve been trying to figure out how Roam Research (https://roamresearch.com/) sends data back and forth from and to the server.

The app seems very responsive, and when I add/omit/edit objects, there’s nothing under the Network tab in Chrome’s dev tools.

How is RR doing this? I noticed IndexedDB instances but deleting them didn’t seem to affect anything.

by m11aon 4/24/2020, 1:32 PM

They're using websockets I believe.

Look in the network tab for .ws (hosted on Firebase). You can inspect the messages using Chrome. It sends updates for every change to a block you make.

by Nextgridon 4/24/2020, 12:50 PM

A websocket? I'm assuming that once the websocket is open, any future traffic inside wouldn't be logged in the developer tools?

by dylzon 4/24/2020, 3:16 PM

Websockets probably. The built JS contains references to both WebSocket and Firebase.