DevMeme · Changelog
What shipped
DevMeme changes daily — this is the receipt. Each update covers everything that landed the day before, straight from the commit log (125 changes).
covering Sunday, July 26 · 2 changes
- feat(meme) F1() racing mode — one-frame prev/next paging 1682bd1
- fix(meme) stop leaking the deep-dive article abstract onto meme pages c7e6219
covering Saturday, July 25 · 3 changes
- seo(sitemap) regenerate after deep-dive SEO backfill — lastmod for 6709 /deepdive URLs, +212 tags b7cd66f
- docs(meili) sorted search is global only because the sort ranking rule leads fd0af91
- seo(feed) crawlable /?page=N over the home feed + sitemap d8ce617
covering Friday, July 24 · 12 changes
- chore(seo) add the 9 /changelog release notes to the sitemap d7da730
- docs(dates) owner directive — publishedAt stays null for pipeline memes 63dc228
- fix(feed) homepage chronology broke at card 31 606fafb
- feat(changelog) hand-written release notes at /changelog/<slug> 32cb824
- feat(seo) distinct OG card for deep-dive articles 977958a
- docs(cache) corpus-wide content refresh needs a deploy, not per-path invalidation 053aaf4
- fix(deepdive) article comments = jokes + reader rows, not reader only 02a89d3
- feat(seo) deepdive articles link to deep dives, not memes 7357466
- fix(seo) deepdive dates — one rule for metas, JSON-LD, and the visible line 0c98285
- feat(seo) deepdive articles consume generated sidecar fields (P4) 695cbde
- chore(seo) regenerate sitemap from prod Meili — +6676 /deepdive article URLs (24319 total) a1b18c6
- feat(deepdive) decouple deep dives onto /deepdive/{slug} article pages 36cac0f
covering Thursday, July 23 · 4 changes
- feat(seo) prefix meme titles with DevMeme e13731b
- fix(search) SSR ?q= must rank by relevance (idx:desc default misaligned client paging) 19160a3
- feat(search) SSR-honor ?q= on / + browser-cache /api/memes (kills back-nav grid flash) b8013e4
- chore remove stale skill wording 2a7b253
covering Wednesday, July 22 · 10 changes
- feat(seo) per-surface sitemap facet gating + full-corpus regeneration c170444
- feat(browse) per-surface taxonomy counts (memeCountMobile) + honest /categories total 5830b35
- fix(test) complete redis/client module mocks 9fa2a45
- fix(deploy) refuse same-SHA redeploy, bound asset union to previous build manifest 4682137
- docs(meilisearch) per-surface taxonomy counts (memeCount/memeCountMobile) + pipeline cross-links ab435d3
- chore remove Superpowers tooling aa1d17c
- chore clear absorbed agent notes 6ca9344
- feat(deploy) blue-green deploy with per-build Redis cache generations 7ece594
- fix(deploy) ship origin/main tip; local tree state is not a gate 7d6b396
- fix(sw) stop intercepting images; browser HTTP cache owns /media/* cb157a7
covering Tuesday, July 21 · 14 changes
- fix(auth) render header identity from session snapshot on swap f2e6e11
- docs(growth) pause Reddit suggestions per owner directive b050ff6
- docs(growth) catalog TinyLaunch-class publish platforms for DevMeme 038907f
- docs refresh frontend README b6eeb94
- feat(api) expose native parity read contracts 0eddde8
- fix(sync) reconcile rejected local mutations 7f33889
- feat(sync) preserve timestamped mutation intent 9d3f0d4
- fix(auth) bound native auth Redis outages e86ab85
- feat(native) add bound auth handoff contracts 0c6161c
- fix(auth) bound Redis session outages 0fbb7c6
- feat(auth) accept validated native bearer sessions 1af36f2
- fix scan view buckets without redis keys 07de7bb
- fix distinguish unavailable sessions 7038f13
- feat add Android client contract 1df530b
covering Monday, July 20 · 1 change
- perf main search debounce 250ms -> 33ms (~2 frames); runId+abort guards handle response races 92287b0
covering Sunday, July 19 · 8 changes
- copy kill 'Gallery' — nav/footer say Latest, CTAs 'Browse the latest memes', legal prose 'collection' 3a8d1ed
- feat persist deep-dive collapse choice in localStorage 0bf7f98
- fix view-transition morph parity for JS-rendered cards + modern-CSS micro-interaction batch c4a81f2
- docs lock in every-link prefetch + warm-cache contract so future agents don't regress it 63ee715
- fix Gate-2 findings — UNLINK rotation, compact prefetch parity, 4MiB cap, TTL re-warm, O(1) stats 59dde7f
- fix(page-cache) new-entry store no longer recalculates the whole cache 1f67726
- feat aggressive full-page prefetch + full-corpus deploy cache warm 46ee439
- docs(growth) DevMeme brand rules + 2026-07-19 link execution status 221af6e
covering Saturday, July 18 · 3 changes
- fix stop prefetch storm starving clicks and images 30ecdcb
- fix pointer guard re-defers queued commits when a new press is held 3e4455c
- fix restore desktop card clicks c65b3a0
covering Friday, July 17 · 9 changes
- docs(seo) record compact dual-index canonical policy 016cca5
- feat desktop-UA 302 guard off /compact, crawler bypass on device redirects, SW compact caching mobile-only (v9) b3e4ff0
- feat(seo) drop desktop rel=alternate mobile pairing (consolidation signal) 4d4ed1f
- feat(seo) compact pages self-canonical — separate indexable URL family, compact-family schema + client swipe metadata 51e6f79
- feat(seo) sitemap emits compact twin for every pairable desktop URL 721a965
- chore gitignore agent comms + local key files 685a5dc
- docs record executed static-sitemap migration plan 3601dfd
- content(seo) tighten search-guide copy, drop duplicated friday-deploy FAQ 62e8a36
- docs(growth) consolidate growth/SEO research sprawl into single operating plan d2c9cf3
covering Thursday, July 16 · 4 changes
- feat(seo) add editorial field guide foundation 04955e0
- feat collapsible deep-dive explanation, map stays visible f658a88
- fix(seo) mark homepage sitemap hourly fbb8f88
- ui restore Telegram source link 4a4468f
covering Wednesday, July 15 · 9 changes
- docs clarify PM2-only deploy cb4efc4
- chore remove obsolete PM2 migration scaffolding 70f70a9
- fix start PM2 child on module import eefabfd
- fix load PM2 child env before imports eb0bfd8
- feat run DevMeme as fixed PM2 cluster 7b401a0
- feat(seo) serve committed static sitemap 364d8ba
- docs define external review gates e16d453
- docs specify three-month changelog ac50b75
- Change of footer 1dd66bc
covering Tuesday, July 14 · 4 changes
- fix share canonical meme links only 5903250
- seo preserve compact slug after hydration 2883ef1
- seo redirect meme aliases to slugs 29acc28
- ui hide Telegram source link 1e014ad
covering Monday, July 13 · 6 changes
- seo complete freshness and crawler verification 7a61c5c
- seo improve result quality and trust signals 81c6f31
- seo synchronize compact swipe metadata c29a744
- seo render compact feeds in server html 7033f5b
- seo harden facet crawl contracts ef559d5
- seo align desktop and compact canonical signals fb97bfe
covering Sunday, July 12 · 10 changes
- seo fix image alt and document caches 2ca3963
- profile authored comments — desktop section + /profile/comments page + compact screen b81cf94
- comments unify compact drawer with desktop — one flat list, all authors equal c480ba0
- auth guest vote/reply prompts centered sign-in modal — controls stay visible 20c158c
- hide trending rank badge for now (render-gated with false &&, not removed); flip unit assertions 93543a1
- feat /changelog — daily digest of last 2 weeks from git log (unlinked, direct URL only) 8a15dc0
- decommission new.devme.me: apex devme.me is production — drop alias from allowedDomains/CSRF example, flip script defaults + living docs (nginx now 301s new.devme.me → devme.me) fc9ca2a
- og redesign default share card — dark brand, brag messaging (actually explained, L1-L4 depths, deadpan stats) 67883f8
- analytics Microsoft Clarity tag (qz3eu0y36m, same project as old prod) in both layouts, prod-only f349c39
- fix keep disabled communities response private a80f6ff
covering Saturday, July 11 · 12 changes
- comments hover-reveal branch controls — resting rows are pure content afbbccd
- comments density pass from full padding audit 10bb5ca
- comments kill dead vertical band under rows — branch controls + rating into meta line 0f45eec
- comments votes inline in actions row; auth-gate user controls signed-out 514f00c
- fix rollback deletes replies deepest-first (UserComment parent relation forbids deleting a parent with live children, P2014) 4826c06
- revert bot filtering from importer — extraction layer (root repo src/extraction) owns source cleanliness; importer trusts the JSONs b2f141b
- seo compact pages are first-class in sitemap — self-canonical /compact/* (drop cross-canonicals to desktop + noindex on compact categories/tags), sitemap emits desktop+compact twin per entry, add /privacy + /terms, communities prepared but commented out, drop desktop rel=alternate mobile links 58158fd
- feat skip group-bot pollution on import — bot authors (isBot flag / *bot username) and /command@bot invocations; no pseudo users for bots e32020a
- gitignore generated brag-output dirs 1146f54
- fix desktop comment thread UI: drop L2/L3 depth badges, icon-only Reply/Focus, single-rail indent, compact vote rail, no '-' rating placeholder, reply-count pluralization 84225ae
- fix channel pseudo-user is dev_meme (real channel), not devmemez (stale June plan name) c01f44d
- feat one-time Telegram discussion comments import as UserComment rows 0c03fe3
covering Friday, July 10 · 14 changes
- fix compact profile visual scale 6966a1b
- prioritize compact profile activity 3c5560f
- fix compact account connection copy d2caf65
- fix compact profile visual hierarchy 5bfe451
- record compact staging verification 59bcd4c
- focus compact auth sheets 2c7dd83
- refresh compact launch evidence matrix d767860
- clarify saved fallback thumbnails cb9fb39
- align compact behavior documentation df2ee19
- make compact trending context honest 9cc8a2e
- polish compact meme interactions 4e7fff9
- unify compact profile and saved flows 6459b1c
- refine compact discovery browsing fecde44
- polish compact navigation and theme ffc49d1