Skip to content

fix(sync): fall back to local src/assets/diagrams/ when SVG is absent… - #200

Merged
sinduri-g merged 7 commits into
mainfrom
fix/sync-local-diagram-fallback
Jul 21, 2026
Merged

sinduri-g merged 7 commits into
mainfrom
fix/sync-local-diagram-fallback

Conversation

@sinduri-g

@sinduri-g sinduri-g commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

… from challenges repo

  • When the challenges repo does not have a diagram at docs/diagrams/, check whether the file already exists in src/assets/diagrams/ on disk
  • If found locally, add it to fetchedDiagrams so the field is re-added to the level and survives mergeLevels without manual intervention
  • Preserves the existing warning for the case where neither source has the file

Type of change

  • feat new feature
  • fix bug fix
  • refactor no behavior change
  • docs / chore / config / perf / style / security

Manual checks

  • Screen reader tested (UI changes only)
  • New routes added to sitemap.xml, prerender array, README (routes only)
  • UI verified at 375px, 768px, and 1280px against the production build (npm run build && npm run preview) (UI changes only)
  • Re-read every changed file; checked all call sites of any modified exports (all changes)
  • Per-level discussion JSON exists with correct discussionUrl (adventure/level changes only)

… from challenges repo

- When the challenges repo does not have a diagram at docs/diagrams/<file>,
  check whether the file already exists in src/assets/diagrams/ on disk
- If found locally, add it to fetchedDiagrams so the field is re-added to
  the level and survives mergeLevels without manual intervention
- Preserves the existing warning for the case where neither source has the file

Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
@github-actions

github-actions Bot commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-07-21 10:23 UTC

…leteness

ADVENTURES.md:
- Replace all em dashes with correct punctuation throughout
- Expand pipeline diagram to show docs/diagrams/ → src/assets/diagrams/ path
  and list the other files the sync workflow stages (sitemap, prerender, tests)
- Move YAML Templates section before the sync instructions so challenge
  authors find the field reference without reading through operational steps
- Add missing fields to YAML templates: hook, scenario, estimated_time (level);
  meta_description, icon, rewards.eligibility, rewards.ranking_note (adventure)
- Document that how_to_play step id is informational only and ignored by the
  generator and website
- Fix rewards deadline code block: use correctly nested YAML, not dot notation
- Rewrite checklist step 10 (llms.txt): the sync workflow modifies the file
  but does not stage it; reviewers must run npm run generate and commit manually
- Add diagram_alt and meta_description to the preservation table
- Correct architecture_diagram preservation note to mention both the
  challenges-repo fetch path and the local-file fallback
- Add a link from the leaderboard step to the Refresh Scripts section
- Number the PR checklist items to make ordering and dependencies explicit

CLAUDE.md:
- Add level.hook to the author-controlled prose fields list (was missing;
  the generator processes it identically to level.scenario which was listed)
- Fix rewards.rankingNote to rewards.ranking_note (YAML key, not TypeScript
  camelCase)
- Rewrite the "When adding a new adventure" checklist: the five stale manual
  steps are replaced with two accurate ones reflecting what the sync workflow
  now handles automatically

Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
- Wraps 21 abbreviations (OTel, SDK, gRPC, LLM, RAG, CI, CLI, UI, etc.)
  in <abbr title="..."> across all 6 adventure YAML files
- Only the first occurrence per level page is wrapped; subsequent
  repetitions are left plain
- Plain-text fields (story, overview, diagram_alt, meta_description,
  title, name) are excluded so they never render literal HTML tags
- Verified no within-scope repeats including pre-existing SREs, IDE,
  eBPF, API tags (55 new tags added, all unique per level scope)
- ChallengeDetail.tsx: remove duplicate <abbr> wrapper on "devcontainer"
  in the Get Started section; the term is already wrapped on first use in
  the Ready to Start section above it on the same page
- Generator: cache contributor bio HTML by name in generateSummariesTs()
  so shared contributors always produce identical abbr-exp-* IDs

Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
…back

- Restore devcontainer <abbr> in ChallengeDetail.tsx Get Started step; removing it was an a11y regression
- Use contributor.url ?? contributor.name as cache key in generateSummariesTs to prevent wrong aboutHtml if two contributors share a name but different URLs
- Remove redundant <abbr> wrapper from TDD learning in building-cloudhaven; the full expansion was already written inline
- Regenerate building-cloudhaven.generated.ts, echoes-lost-in-orbit.generated.ts, summaries.ts, and sitemap.xml to reflect the above

Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
npm deduped the stale 4.3.2 copies under @tailwindcss/node and @tailwindcss/vite;
both packages now resolve to the top-level tailwindcss@4.3.3 already declared in package.json.

Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
Resolves conflict in public/sitemap.xml: accepted main's version (adds
dead-reckoning expert URLs) then ran npm run generate to update lastmod dates.
All other files (smoke.spec.ts, seo.test.ts, prerender.test.ts, generated TS,
community data) auto-merged cleanly.

Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
…erflow

Objective and learnings lists render HTML via dangerouslySetInnerHTML,
bypassing useAbbrTooltips. The CSS ::after tooltip on abbr[data-title]
(position: absolute, width: max-content, opacity: 0) contributes to
scrollWidth at narrow viewports, causing the 200% zoom overflow test to
fail when a learning item contains an abbr positioned far enough right.

Add useAbbrTooltips to the objective/learnings container so the JS portal
replaces the CSS pseudo-element on mount, matching MarkdownContent and Abbr.

Also remove the duplicate devcontainer abbr expansion from the Get Started
walkthrough step — the CTA section already expands it.

Signed-off-by: Sinduri Guntupalli <sinduri.guntupalli@dynatrace.com>
@sinduri-g
sinduri-g merged commit de60fc3 into main Jul 21, 2026
9 checks passed
@sinduri-g
sinduri-g deleted the fix/sync-local-diagram-fallback branch July 21, 2026 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant