A repo that tracks the Discord Android app's code changes
Find a file
2026-09-24 10:59:08 +00:00
alpha chore: bump app version to alpha 348.3 2026-09-24 10:59:08 +00:00
beta chore: bump app version to beta 347.8 2026-09-22 14:21:46 +00:00
stable chore: bump app version to stable 346.13 2026-09-22 22:11:47 +00:00
README.md feat: split data per release channel (alpha/beta/stable) 2026-09-18 14:30:03 -03:00

decord — data branch

Auto-generated by main's update (hourly) workflow (src/update/tasks/decompile.ts + code.ts). Do not edit manually.

Layout

Data is split per Discord release channel: alpha/, beta/, stable/. Each channel has the same contents:

  • code.js.gz — full decompiled bundle (hermes-decomp decompile)
  • index.android.bundle / .hdcache
  • module-paths.json — [{id, path}] extracted from code.js via fileFinishedImporting("...")
  • source.jsonl — {file, size} index
  • source/ — 16492 modules (hermes-decomp extract + path mapping)
  • version.txt

version.txt is written only after a successful decompile. A placeholder 0 signals "never decompiled" (forces the first run).

source/ layout

10030 Discord-owned modules have a real path (fileFinishedImporting) and are placed at their source path: modules/ (7291), discord_common/ (501), discord_assets/, utils/, actions/, etc.

6468 modules have no path in the bundle and are sharded semantically to avoid GitHub's 1000-file dir limit (NNxxx = id//1000):

  • __helpers/NNxxx/ — ~460 Babel/RN helpers (_typeof, _isNativeReflectConstruct:182, __INTERNAL_VIEW_CONFIG)
  • __vendor/NNxxx/ — ~2558 vendor/barrels (1000_feedbackAsyncIntegration, items, prop, formatDistance, Sentry/Reanimated)
  • __polyfill/NNxxx/ — ~3439 opaque module_*.js
  • 6 root files with path but no / (index.native.tsx:0, Constants.tsx:653 etc) stay at root

Each NNxxx bucket is <1000 (max 961 in 02xxx polyfill).

Why some are "unmapped"

fileFinishedImporting is only emitted for Discord source. Helpers/vendor are required at runtime (dependencyMap) but are not part of Discord's repo, so no path exists. See src/update/tasks/code.ts:54 resolveDest() and classifyUnmapped().