Summary
discrawl wiretap (v0.6.0 release + post-release main build at commit 4f6d708) reads files from Discord Desktop 0.0.387's cache directory but extracts zero messages, channels, or guilds. The pre-0.0.387 cache layout worked fine — historical messages dating back to ~2025-09 were ingested successfully on prior Discord versions.
This is filed to flag the layout shift, not as a feature request — wanted to report what we observed in case it's useful for upstream.
Environment
- macOS (intel x86_64 + apple silicon arm64 both tested)
- Discord Desktop 0.0.387 (auto-installed 2026-04-26 ~08:40 PT),
~/Library/Application Support/discord/0.0.387/ directory cohort
- discrawl
v0.6.0 (release binary) and main @ 4f6d708 (built locally with go 1.26.2)
Reproduction
discrawl wiretap --watch-every 3s
# OR
discrawl wiretap --path "$HOME/Library/Application Support/discord"
# OR
discrawl wiretap --path "$HOME/Library/Application Support/discord/0.0.387"
Output (any of the above):
path=/Users/.../Library/Application Support/discord/0.0.387
files=57
skipped=882
objects=56
guilds=0
channels=0
messages=0
dm_messages=0
dm_channels=0
guild_messages=0
files and objects are non-zero so files are being read; messages / guilds / channels are zero so the parser doesn't recognize the content format.
Cache layout snapshot (Discord 0.0.387)
Subdirectories under ~/Library/Application Support/discord/:
0.0.387/ (new this version — created 2026-04-26 08:40 PT)
0.0.387/modules/ (mtime 08:44)
Cache/Cache_Data/ (HTTP cache only — avatars/images, not message content)
Local Storage/leveldb/ — strings extraction shows preview/store metadata only (e.g. GChannelMessagePreviewStore, lastSeenInfos), no message content
shared_proto_db/ (NEW — leveldb structure with CURRENT, LOCK, MANIFEST-000001, 000003.log, metadata/). mtime cohort with launch (08:41), not active during chat traffic. Likely client config, not message store.
Service Worker/CacheStorage/7d571773fef4871f82ca0457379cf2a39317562f/ — possible IndexedDB replacement, not investigated deeply
IndexedDB/https_discord.com_0.indexeddb.leveldb/ — mtime 2025-12-08, stale; suggests Discord moved off IndexedDB at some point
DawnGraphiteCache/, DawnWebGPUCache/ — graphics, irrelevant
blob_storage/, Session Storage/, Code Cache/, WebStorage/, GPUCache/, VideoDecodeStats/, logs/
Hypothesis
Discord 0.0.387 may have moved from disk-cached message storage to in-memory + on-demand API fetch, OR to a new disk subsystem (Service Worker CacheStorage / shared_proto_db / something else) that the current internal/discorddesktop/import.go parser doesn't know about. We tried --path overrides at every plausible subdirectory; same zero result.
What works
- Discord Desktop is running and signed in normally (Robert's account, no flags)
- Pre-0.0.387 historical data in DB is queryable (
discrawl messages, discrawl search work fine)
wiretap itself runs without error — just produces no rows
Happy to provide additional layout dumps, file samples, or strace/dtrace output if it helps narrow it down. Thanks for maintaining this — the wiretap mode was a great approach for the no-bot use case.
Summary
discrawl wiretap(v0.6.0 release + post-releasemainbuild at commit 4f6d708) reads files from Discord Desktop 0.0.387's cache directory but extracts zero messages, channels, or guilds. The pre-0.0.387 cache layout worked fine — historical messages dating back to ~2025-09 were ingested successfully on prior Discord versions.This is filed to flag the layout shift, not as a feature request — wanted to report what we observed in case it's useful for upstream.
Environment
~/Library/Application Support/discord/0.0.387/directory cohortv0.6.0(release binary) andmain@ 4f6d708 (built locally with go 1.26.2)Reproduction
Output (any of the above):
filesandobjectsare non-zero so files are being read;messages/guilds/channelsare zero so the parser doesn't recognize the content format.Cache layout snapshot (Discord 0.0.387)
Subdirectories under
~/Library/Application Support/discord/:0.0.387/(new this version — created 2026-04-26 08:40 PT)0.0.387/modules/(mtime 08:44)Cache/Cache_Data/(HTTP cache only — avatars/images, not message content)Local Storage/leveldb/—stringsextraction shows preview/store metadata only (e.g.GChannelMessagePreviewStore,lastSeenInfos), no message contentshared_proto_db/(NEW — leveldb structure withCURRENT,LOCK,MANIFEST-000001,000003.log,metadata/). mtime cohort with launch (08:41), not active during chat traffic. Likely client config, not message store.Service Worker/CacheStorage/7d571773fef4871f82ca0457379cf2a39317562f/— possible IndexedDB replacement, not investigated deeplyIndexedDB/https_discord.com_0.indexeddb.leveldb/— mtime 2025-12-08, stale; suggests Discord moved off IndexedDB at some pointDawnGraphiteCache/,DawnWebGPUCache/— graphics, irrelevantblob_storage/,Session Storage/,Code Cache/,WebStorage/,GPUCache/,VideoDecodeStats/,logs/Hypothesis
Discord 0.0.387 may have moved from disk-cached message storage to in-memory + on-demand API fetch, OR to a new disk subsystem (Service Worker CacheStorage / shared_proto_db / something else) that the current
internal/discorddesktop/import.goparser doesn't know about. We tried--pathoverrides at every plausible subdirectory; same zero result.What works
discrawl messages,discrawl searchwork fine)wiretapitself runs without error — just produces no rowsHappy to provide additional layout dumps, file samples, or strace/dtrace output if it helps narrow it down. Thanks for maintaining this — the wiretap mode was a great approach for the no-bot use case.