{"ref":"main","files":[{"name":".claude","kind":"directory","size":0,"lastCommitHash":"61788843989e590e7eb1927bed98283368343705","lastCommitWhen":"2026-08-22T13:51:19+07:00","lastCommitMessage":"chore: update upstream-sync guide\n"},{"name":".vscode","kind":"directory","size":0,"lastCommitHash":"d1d6b3dcb0bf62be9417d6653e6c05bf1812ba71","lastCommitWhen":"2026-05-20T13:35:22+07:00","lastCommitMessage":"chore: add oxc into vscode extension recommendation\n"},{"name":".zed","kind":"directory","size":0,"lastCommitHash":"6b835ed4941b40104b27b9f5556a184a8f608866","lastCommitWhen":"2026-07-23T16:00:43+07:00","lastCommitMessage":"chore: fix zed formatting woes\n"},{"name":"assets","kind":"directory","size":0,"lastCommitHash":"69dfa8128b63db7b2843791b13305270ac476ca4","lastCommitWhen":"2026-07-03T09:58:20+07:00","lastCommitMessage":"chore: migrate InterVariable font to @fontsource-variable/inter\n"},{"name":"eslint","kind":"directory","size":0,"lastCommitHash":"fd6d4222d7976e5e524f420bbe332237863878b7","lastCommitWhen":"2026-08-01T16:35:53+07:00","lastCommitMessage":"chore: clean up verbose comments\n"},{"name":"messages","kind":"directory","size":0,"lastCommitHash":"22a4905b6665eb311a5e5b8dae71e38164f25b63","lastCommitWhen":"2026-08-30T09:53:19+07:00","lastCommitMessage":"fix: correct regressions from the list state component migration\n"},{"name":"patches","kind":"directory","size":0,"lastCommitHash":"824423025440188061174e070c9ce6559dd46f36","lastCommitWhen":"2026-09-01T08:19:30+07:00","lastCommitMessage":"fix: close floating popups during navigation\n"},{"name":"project.inlang","kind":"directory","size":0,"lastCommitHash":"eb96918afeb607847b7650cedf88340d38698e0f","lastCommitWhen":"2026-08-12T19:34:24+07:00","lastCommitMessage":"feat: better image cropper\n"},{"name":"public","kind":"directory","size":0,"lastCommitHash":"b4dd20f49f02d3c82f3fbae5c07a5469b086c894","lastCommitWhen":"2026-08-17T20:38:19+07:00","lastCommitMessage":"chore: migrate to vite/rolldown\n"},{"name":"scripts","kind":"directory","size":0,"lastCommitHash":"b4dd20f49f02d3c82f3fbae5c07a5469b086c894","lastCommitWhen":"2026-08-17T20:38:19+07:00","lastCommitMessage":"chore: migrate to vite/rolldown\n"},{"name":"src","kind":"directory","size":0,"lastCommitHash":"824423025440188061174e070c9ce6559dd46f36","lastCommitWhen":"2026-09-01T08:19:30+07:00","lastCommitMessage":"fix: close floating popups during navigation\n"},{"name":"worker","kind":"directory","size":0,"lastCommitHash":"5f7aa1d22532b46f4b9a87976e20b54daea9ad3a","lastCommitWhen":"2026-08-08T20:43:23+07:00","lastCommitMessage":"chore: post translations\n"},{"name":".editorconfig","kind":"file","size":27,"lastCommitHash":"2397104ad6169ced02b1acd9fbbbe426f4cc4da0","lastCommitWhen":"2024-07-11T18:15:35-07:00","lastCommitMessage":"Lint native files (#4768)\n\n"},{"name":".env","kind":"file","size":1085,"lastCommitHash":"d5dbd5288eb298b3aedbcaa9139c3192d6658072","lastCommitWhen":"2026-08-03T13:48:07+07:00","lastCommitMessage":"refactor: drop react-native and expo leftovers\n"},{"name":".gitignore","kind":"file","size":224,"lastCommitHash":"ab76590f234790d6ae17c37dacd4e9bb3943a5e8","lastCommitWhen":"2026-08-06T15:19:31+07:00","lastCommitMessage":"chore: don't set up a browser profile at all\n"},{"name":".oxfmtrc.json","kind":"file","size":1861,"lastCommitHash":"5286725a2916ded252f915d18c8f30324b3bbdae","lastCommitWhen":"2026-08-04T14:49:50+07:00","lastCommitMessage":"feat: vendor the emoji data\n"},{"name":".oxlintrc.json","kind":"file","size":3765,"lastCommitHash":"0d51a3cbe970ab4a6db9678099043f5498b3aec0","lastCommitWhen":"2026-08-20T19:46:26+07:00","lastCommitMessage":"chore: upgrade dependencies\n"},{"name":"AGENTS.md","kind":"symlink","size":9,"lastCommitHash":"a2df83728b57a913ad7d4f90596fe738c90d098f","lastCommitWhen":"2026-05-19T06:48:11+07:00","lastCommitMessage":"docs: rewrite CLAUDE.md in personal voice, symlink AGENTS.md\n\nROADMAP.md is complete and the codebase has stabilized as a personal\nweb-only fork. Replace the upstream-flavored Bluesky dev guide with a\nterse, opinionated CLAUDE.md adapted from the personal jsexec style, and\nsymlink AGENTS.md so non-Claude agent runners pick up the same doc.\n"},{"name":"CLAUDE.md","kind":"file","size":7244,"lastCommitHash":"74cb12476aa8e95856dd1784e174fbfcde843501","lastCommitWhen":"2026-08-27T07:24:11+07:00","lastCommitMessage":"chore: avoid running build\n"},{"name":"index.html","kind":"file","size":3747,"lastCommitHash":"eb648d52d6f7aac7ec5499e254ee2279101ccb84","lastCommitWhen":"2026-08-21T22:29:31+07:00","lastCommitMessage":"fix: disable pinch zoom in the viewport meta\n"},{"name":"index.tsx","kind":"file","size":1328,"lastCommitHash":"614e06e5fd15bf03cc081432d070afe1bc90c371","lastCommitWhen":"2026-08-29T16:34:09+07:00","lastCommitMessage":"refactor: persist queries individually\n"},{"name":"LICENSE","kind":"file","size":1073,"lastCommitHash":"8614e5e1054b5a8ab15a218c0102f61e76c13151","lastCommitWhen":"2026-01-20T08:50:07+02:00","lastCommitMessage":"bump copyright year to 2026 (#9732)\n\n"},{"name":"mise.toml","kind":"file","size":81,"lastCommitHash":"b2402494d5bb8b546c21b37d3d7a460d8d58f331","lastCommitWhen":"2026-08-28T20:36:41+07:00","lastCommitMessage":"chore: upgrade to pnpm 12\n"},{"name":"package.json","kind":"file","size":3354,"lastCommitHash":"39d31c5d3cd7d50db101dafb5220993b97112d11","lastCommitWhen":"2026-09-01T08:19:30+07:00","lastCommitMessage":"chore: use terser for bundle minification\n"},{"name":"pnpm-lock.yaml","kind":"file","size":126798,"lastCommitHash":"39d31c5d3cd7d50db101dafb5220993b97112d11","lastCommitWhen":"2026-09-01T08:19:30+07:00","lastCommitMessage":"chore: use terser for bundle minification\n"},{"name":"pnpm-workspace.yaml","kind":"file","size":583,"lastCommitHash":"81a8d65ca0eaf86fc4e01272203a127b915ae625","lastCommitWhen":"2026-08-28T22:50:06+07:00","lastCommitMessage":"chore: make Vite bundled dev mode work again\n"},{"name":"README.md","kind":"file","size":437,"lastCommitHash":"09a056eb45f325d16cea64caca6946fb467ad347","lastCommitWhen":"2026-08-28T12:37:14+07:00","lastCommitMessage":"docs: advance the reviewed upstream tip to 5eb5ac4800\n"},{"name":"tsconfig.app.json","kind":"file","size":1464,"lastCommitHash":"574d960108b4a3229203a97434976cfd305f4618","lastCommitWhen":"2026-08-19T16:09:07+07:00","lastCommitMessage":"feat: download original post videos\n"},{"name":"tsconfig.json","kind":"file","size":152,"lastCommitHash":"d59aa5fafbdc6ab6b3affef66ce886e34e03667b","lastCommitWhen":"2026-06-17T08:27:39+07:00","lastCommitMessage":"feat: self-host link-card resolution in a cloudflare worker\n\nreplace the external cardyb.bsky.app proxy with a fork-internal `internal.app.*`\nxrpc service served same-origin by our own worker (`worker/`), wired up through a\nstatic `internalClient`.\n\nthe worker fetches the target page, scrapes opengraph/twitter meta via\nHTMLRewriter, caches the thumbnail behind `internal.app.getLinkImage`, and — for\nstandard.site pages — hands the advertised at-uris to the appview's\ngetEmbedExternalView to hydrate strong refs and an enhanced card view. ssrf is\nleft to the workers platform (`global_fetch_strictly_public`).\n\ndev wires `/xrpc` through rsbuild's proxy to a local `wrangler dev`; only\n`/xrpc/*` invokes (and bills) the worker in production.\n"},{"name":"tsconfig.node.json","kind":"file","size":629,"lastCommitHash":"b4dd20f49f02d3c82f3fbae5c07a5469b086c894","lastCommitWhen":"2026-08-17T20:38:19+07:00","lastCommitMessage":"chore: migrate to vite/rolldown\n"},{"name":"tsconfig.worker.json","kind":"file","size":642,"lastCommitHash":"0641894e6d51d6f72484aa642b7901c4d479f23f","lastCommitWhen":"2026-08-06T10:09:07+07:00","lastCommitMessage":"chore: give the worker program its atcute ambient lexicons\n\nthe worker tsconfig set `types: []`, so the app.bsky and com.atproto lexicons were never\nregistered into XRPCQueries for anything under worker/.\n"},{"name":"vite.config.ts","kind":"file","size":4688,"lastCommitHash":"39d31c5d3cd7d50db101dafb5220993b97112d11","lastCommitWhen":"2026-09-01T08:19:30+07:00","lastCommitMessage":"chore: use terser for bundle minification\n"},{"name":"wrangler.jsonc","kind":"file","size":660,"lastCommitHash":"5f7aa1d22532b46f4b9a87976e20b54daea9ad3a","lastCommitWhen":"2026-08-08T20:43:23+07:00","lastCommitMessage":"chore: post translations\n"}],"branches":[{"name":"main","hash":"39d31c5d3cd7d50db101dafb5220993b97112d11","when":"2026-09-01T08:19:30+07:00","isDefault":true,"message":"chore: use terser for bundle minification\n"}],"totalBranches":1,"tags":[],"totalTags":0,"languages":[{"name":"TypeScript","size":3770271,"share":99.26857222296384,"percentage":99},{"name":"JavaScript","size":21902,"share":0.5766641890801361,"percentage":1},{"name":"HTML","size":3747,"share":0.09865586323090447,"percentage":0},{"name":"CSS","size":1349,"share":0.035518217106616,"percentage":0},{"name":"Shell","size":782,"share":0.02058950761851276,"percentage":0}],"failed":{"files":false,"refs":false,"languages":false},"compact":{"messages":"en",".claude/skills":"upstream-sync","src/components/images":"Gallery","src/components/intents":"GroupChatJoinDialog"}}