It is the same: you basically find the biggest file that gets loaded (fui-*
for docs, grid-something-shard-*
for forms) and it’s a JSON file that has a subtree of objects. Each grid-xxxxxxxxxx
is a table. The data is in that long string — it’s a Base64-encoded codabuf — a storage format (pretty nicely engineered tbh) that efficiently stores table data. Unlike the previous storage mechanism, this one introduced here actually allows for efficient random access reading — i.e. it doesn’t have to decode the whole thing to only read a subset of rows or columns. Some data is binary but text values (names, passwords etc) are stored in plain sight so you can search of simply visually scan for the occurrences of known text values in there. That’s how I’ve been doing it before; I only wrote a complete decoder for codabuf last weekend, and I’m going to use it in the Comments Pack.
It was quite an effort so I won’t share it though but use to my commercial advantage But anyone is welcome to equip themselves with a good hex editor, developer tools, and a good deal of patience, and decode these themselves — Coda’s frontend JS code is all there.