feat
BREAKING
musehub#129
feat/opengraph-repo-cards
#1 / 2
feat(musehub#129): OG repo preview cards — endpoint, cache, meta wiring
Phase 2–3: Playwright HTML→PNG at /{owner}/{repo}/opengraph-image with content-hash BlobBackend cache, singleflight render, stub renderer for tests. Repo pages emit og:image/twitter meta with ?cb= cache bust; base.html renders og_meta. OG_01–OG_06 test suite; Dockerfile Chromium + cairosvg deps.
sha256:6ad6d62107bbd6940c52d63327966b8a65c6391f4a3da6cd9e7548ba4b38bc48
sha
+126
~51
−17
symbols
16 changed · 1036 in snapshot
files
sha256:4ab77b8486cba6601d509c45ee6969a57a32a945a727d71819e7fd428a1c1f01
snapshot
+126
symbols added
~51
symbols modified
−17
symbols removed
16
files changed
1036
files in snapshot
0
dead code introduced
Semantic Changes
194 symbols
+
build_opengraph_image_url_from_request
function
function build_opengraph_image_url_from_request L96–112
+
test_content_hash_changes_when_description_changes
function
function test_content_hash_changes_when_description_changes L191–220
+
test_og01_opengraph_image_returns_png
function
async_function test_og01_opengraph_image_returns_png L56–64
+
test_og01_private_repo_returns_404
function
async_function test_og01_private_repo_returns_404 L67–73
+
test_og02_description_in_renderer_context
function
async_function test_og02_description_in_renderer_context L81–90
+
test_og02_empty_description_uses_fallback
function
async_function test_og02_empty_description_uses_fallback L93–101
+
test_og03_avatar_b64_present_for_unregistered_owner
function
async_function test_og03_avatar_b64_present_for_unregistered_owner L109–117
+
test_og04_stats_in_renderer_context
function
async_function test_og04_stats_in_renderer_context L125–135
+
test_og05_cache_hit_avoids_second_render
function
async_function test_og05_cache_hit_avoids_second_render L143–156
+
test_og06_repo_page_emits_og_image_meta
function
async_function test_og06_repo_page_emits_og_image_meta L164–173
+
test_og06_twitter_large_image_card
function
async_function test_og06_twitter_large_image_card L176–183
+
test_og_security_invalid_slug_rejected
function
async_function test_og_security_invalid_slug_rejected L228–230
~
docs/issues/opengraph-repo-cards-design.md
.md
16 symbols added, 17 symbols removed, 17 symbols modified
~
code
−
Strategy: content-hash key + object-store persistence
section Strategy: content-hash key + object-store persistence L119–170
−
html head block (prerequisite for OG_06)
section Phase 3 — base.html head block (prerequisite for OG_06) L199–215
+
Crawler cache busting (amended — Phase 3)
section Crawler cache busting (amended — Phase 3) L138–152
+
Strategy: content-hash key + BlobBackend persistence
section Strategy: content-hash key + BlobBackend persistence L105–138
~
table
~
table
~
table
~
code
~
Goal
~
table
~
_og_tags
~
Settings
~
lifespan
~
project
Files Changed
+5
~11
1036 in snapshot
+5
~11
1036 in snapshot
Older
docs(musehub#129): freeze Phase 1 OG repo card design
sha256:0521dce9aca20da6ab4d9ebee6de75ab876bd82cddbc6bd4897d1ac6ecd11d3d
All commits
Newer →
Latest on feat/opengraph-repo-cards
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:6ad6d62107bbd6940c52d63327966b8a65c6391f4a3da6cd9e7548ba4b38bc48 --body "your comment"
No comments yet. Be the first to start the discussion.