Skip to content

Refresh README, docs landing page, and scaling plots#1152

Merged
sbryngelson merged 25 commits intoMFlowCode:masterfrom
sbryngelson:read-improvements
Feb 17, 2026
Merged

Refresh README, docs landing page, and scaling plots#1152
sbryngelson merged 25 commits intoMFlowCode:masterfrom
sbryngelson:read-improvements

Conversation

@sbryngelson
Copy link
Member

@sbryngelson sbryngelson commented Feb 17, 2026

User description

Summary

  • README overhaul: lead with Gordon Bell headline, hero simulation video, "Why MFC" and "Try MFC" sections, badge alt text, fix initnew, remove dead Discussions badge, remove duplicate instructions
  • Scaling plots: replace Frontier-only plot with combined El Capitan/Frontier/Alps plot (with dark-mode variant via <picture> element) in both README and docs performance page
  • Docs landing page: add SEO meta tags (OG/Twitter cards), Gordon Bell tagline, updated scaling plot
  • YouTube integration: add YouTube badge to README, replace Vimeo links with YouTube links in docs simulation gallery

Test plan

  • ./mfc.sh precheck passes (all 5 checks)
  • Verify README renders correctly on GitHub (light and dark mode)
  • Verify docs site builds and simulation gallery links work
  • Confirm YouTube badge links to correct channel

🤖 Generated with Claude Code


CodeAnt-AI Description

Refresh README and docs landing to highlight exascale results, add hero video, unify scaling plots, and simplify quickstart

What Changed

  • README now leads with a 2025 Gordon Bell Prize Finalist headline, an embedded hero video, a focused "Why MFC?" summary, and a compact "Try MFC" quickstart with a one-click Codespaces link and a simple first-simulation command
  • Badges and images gained alt text and a YouTube badge; many example/demo links were switched from Vimeo to YouTube; DOI/Zenodo/GitHub-star badges added to promote citations and social previews
  • Documentation and homepage metadata updated with OpenGraph/Twitter tags and a clearer title/description; weak-scaling figures were replaced by a single combined El Capitan/Frontier/Alps plot with a dark-mode variant
  • User-facing command help text and docs reflect ./mfc.sh new (replaces init) and point to the consolidated examples and getting-started page

Impact

✅ Clearer project intro for new visitors
✅ Shorter quickstart to run first simulation (one-click Codespace + single command)
✅ Better social previews and shareable links (OG/Twitter, YouTube, DOI badges)

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Summary by CodeRabbit

  • Bug Fixes

    • Fixed malformed badge URLs in documentation
    • Corrected sponsor attribution text
  • New Features

    • Added YouTube badge to README header
  • Documentation

    • Updated project description in documentation configuration
    • Replaced video sources with YouTube links in featured simulations
    • Updated documentation reference titles
  • Style

    • Refined navigation panel layout and styling

sbryngelson and others added 18 commits February 16, 2026 15:04
- Add tagline and hero blockquote (Gordon Bell, 200T grid points, exascale)
- Promote shock-droplet image to hero position
- Add "Why MFC?" section with 6 key differentiators
- Streamline "Try MFC" with direct Codespace link and first-simulation command
- Remove redundant Getting Started section (Codespaces detail, macOS from-source)
- Deduplicate citation block and star CTA (each appeared twice)
- Move star history chart to bottom
- Fix 3 broken doc links: md_examples, md_running, md_getting-started

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…caling plot

Add 2025 Gordon Bell Prize Finalist tagline to hero section, OpenGraph
and Twitter Card meta tags for link sharing, GitHub stars badge, updated
SEO meta description, and replace Frontier+Summit scaling plots with a
single three-machine weak scaling figure (El Capitan, Frontier, Alps).
Fix LLNL typo and add El Capitan to compute resources footer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add alt attributes to all badge <img> tags for accessibility (MD045).
Normalize GPU scaling sub-list indentation from mixed tabs/spaces to
consistent 4-space indent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
logo2.png does not exist in docs/res/, causing broken social previews.
Use banner.png which is a known-good asset.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Added a link to GitHub assets in the README.
Remove the static shockdrop.png in favor of the embedded shedding
water droplet simulation video, which auto-plays and loops on GitHub.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Updated link to the largest known public CFD simulation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace per-system Frontier SVG with new combined GPU weak scaling
PNG covering El Capitan (MI300A), Frontier (MI250X), and Alps (GH200).
Mark Summit-era sections as historical. Fix typos.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use <div> instead of <p> for proper centering of video element.
Add controls attribute as fallback when autoplay is blocked.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update "Is this really exascale?" with combined El Capitan/Frontier/Alps
weak scaling plot. Remove Discussions badge since Discussions is disabled.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Generate inverted-grayscale dark variant of weak scaling plot while
preserving colored data points. Use <picture> element for automatic
light/dark mode switching, matching the star history chart pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Doxygen docs site uses a dark theme, so the dark variant of the
weak scaling plot matches better.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix outdated 'init' subcommand references to 'new' in the Toolchain
table and tab completion note. Remove duplicate shock-droplet run
command and visualization text already covered in Try MFC section.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings February 17, 2026 00:37
@codeant-ai
Copy link
Contributor

codeant-ai bot commented Feb 17, 2026

CodeAnt AI is reviewing your PR.


Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@sbryngelson sbryngelson marked this pull request as draft February 17, 2026 00:37
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 17, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This PR updates documentation styling, configuration, and content across multiple files. Changes include fixing image badge URLs in README, updating Doxygen configuration text, modifying documentation CSS and templates, replacing Vimeo video links with YouTube sources, and standardizing documentation reference titles.

Changes

Cohort / File(s) Summary
README and Featured Content
README.md, docs/index.html
Fixed image badge URLs (removed tab-encoded sequences), added YouTube badge block, replaced Vimeo video sources with YouTube sources for three simulations, and corrected sponsor text reference.
Doxygen Configuration and Styling
docs/Doxyfile.in, docs/custom.css, docs/footer.html
Updated Doxygen project description, added CSS for narrower left navigation panel and hidden tree sync button, removed GENERATE_TREEVIEW blocks and footer attribution markup.
Documentation Generation Scripts
toolchain/mfc/cli/docs_gen.py, toolchain/mfc/params/generators/docs_gen.py
Renamed documentation reference titles from "Command Line Reference" to "CLI Reference" and "Case Parameters Reference" to "Case Parameters" in generated documentation output.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

size:M

Poem

🐰 With whiskers twitching, URLs I mend,
From Vimeo hops to YouTube trends,
Badges fixed with careful paw,
Doxygen styled without a flaw,
Documentation shines, as nature's law! 🎬

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@qodo-code-review

This comment was marked as resolved.

@codeant-ai codeant-ai bot added the size:L This PR changes 100-499 lines, ignoring generated files label Feb 17, 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 5 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

@codeant-ai

This comment was marked as resolved.

@codeant-ai
Copy link
Contributor

codeant-ai bot commented Feb 17, 2026

CodeAnt AI finished reviewing your PR.

- Remove stray %09 (encoded tab) from shields.io badge color params
- Use light scaling plot in docs (works in both themes)
- Fix "LLNL LC" to "LLNL" in docs footer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

This comment was marked as resolved.

sbryngelson and others added 5 commits February 16, 2026 19:41
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sbryngelson sbryngelson marked this pull request as ready for review February 17, 2026 01:06
@sbryngelson sbryngelson merged commit 598df2c into MFlowCode:master Feb 17, 2026
19 of 23 checks passed
@qodo-code-review
Copy link
Contributor

ⓘ You are approaching your monthly quota for Qodo. Upgrade your plan

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Link Breakage

The Doxygen @page title and the top-level heading were renamed for the CLI reference. Please verify that any existing internal docs links, cross-references, or sidebar entries that previously pointed to the old page title/heading still resolve correctly after regeneration.

def generate_cli_reference(schema: CLISchema) -> str:
    """Generate complete CLI reference documentation in markdown."""
    lines = [
        "@page cli-reference CLI Reference",
        "",
        "# CLI Reference",
        "",
        "> **Auto-generated** from `toolchain/mfc/cli/commands.py`",
        "> ",
        "> Regenerate with: `./mfc.sh generate`",
Doc Consistency

The parameters page title/heading and the footer section header were renamed from “Command Line Reference” to “CLI Reference”. Ensure the generated docs do not contain stale references to the previous naming (including any links or anchors), and that the CLI search snippet still matches the actual CLI command names/options.

def generate_parameter_docs() -> str:  # pylint: disable=too-many-locals,too-many-statements
    """Generate markdown documentation for all parameters."""
    # AST-extract rules from case_validator.py
    analysis = analyze_case_validator()
    by_trigger = analysis["by_trigger"]
    by_param = analysis["by_param"]

    lines = [
        "@page parameters Case Parameters",
        "",
        "# Case Parameters",
        "",
        "> **Auto-generated** from parameter registry",
        "> ",
        "> Regenerate with: `./mfc.sh generate --json-schema`",
        "",
        "## Overview",
        "",
        f"MFC supports **{len(REGISTRY.all_params):,}** case parameters organized into families.",
        "",
        "**Quick search:** Use `./mfc.sh params <query>` to search parameters from the command line.",
        "",
        "## Parameter Families",
        "",
    ]

    # Group parameters by family
    families: Dict[str, List[Tuple[str, Any]]] = defaultdict(list)
    for name, param in sorted(REGISTRY.all_params.items()):
        family = _get_family(name)
        families[family].append((name, param))

    # Sort families by size (largest first), but put "general" last
    sorted_families = sorted(
        families.items(),
        key=lambda x: (x[0] == "general", -len(x[1]), x[0])
    )

    # Table of contents
    lines.append("| Family | Count | Description |")
    lines.append("|--------|-------|-------------|")

    family_descriptions = {
        "general": "Core simulation parameters (grid, time, model, etc.)",
        "patch_icpp": "Initial condition patch parameters",
        "patch_ib": "Immersed boundary patch parameters",
        "patch_bc": "Boundary condition patch parameters",
        "fluid_pp": "Fluid material properties",
        "acoustic": "Acoustic source parameters",
        "bc_x": "X-direction boundary conditions",
        "bc_y": "Y-direction boundary conditions",
        "bc_z": "Z-direction boundary conditions",
        "probe": "Probe/monitoring point parameters",
        "integral": "Integral region parameters",
        "simplex_params": "Simplex noise perturbation parameters",
        "chem_wrt_Y": "Chemistry species output parameters",
        "bub_pp": "Bubble property parameters",
        "lag_params": "Lagrangian particle parameters",
        # Post-processing output flags
        "alpha_rho_wrt": "Partial density output flags",
        "alpha_rho_e_wrt": "Partial density-energy output flags",
        "alpha_wrt": "Volume fraction output flags",
        "kappa_wrt": "Curvature output flags",
        "schlieren_alpha": "Numerical schlieren coefficients",
        "mom_wrt": "Momentum output flags",
        "vel_wrt": "Velocity output flags",
        "flux_wrt": "Flux output flags",
        "omega_wrt": "Vorticity output flags",
        # Domain and output regions
        "x_domain": "X-direction domain parameters",
        "y_domain": "Y-direction domain parameters",
        "z_domain": "Z-direction domain parameters",
        "x_output": "X-direction output region",
        "y_output": "Y-direction output region",
        "z_output": "Z-direction output region",
        # Other
        "fluid_rho": "Fluid reference densities",
        "chem_params": "Chemistry model parameters",
    }

    for family, params in sorted_families:
        desc = family_descriptions.get(family, "")
        # Use family name directly as anchor (GitHub keeps underscores in heading anchors)
        lines.append(f"| [{family}](#{family}) | {len(params)} | {desc} |")

    lines.append("")
    lines.append("---")
    lines.append("")

    # Document each family
    for family, params in sorted_families:
        lines.append(f"## {family} {{#{family}}}")
        lines.append("")

        desc = family_descriptions.get(family, "")
        if desc:
            lines.append(f"*{desc}*")
            lines.append("")

        lines.append(f"**{len(params)} parameters**")
        lines.append("")

        # Group by pattern (collapse indices to N, M, etc.)
        patterns: Dict[str, List[str]] = defaultdict(list)
        for name, _ in params:
            pattern = _collapse_indices(name)
            patterns[pattern].append(name)

        # Use pattern view if it reduces rows, otherwise show full table
        if len(patterns) < len(params):
            # Pattern view - shows collapsed patterns
            # Check if any member of a pattern has constraints or math symbols
            pattern_has_constraints = False
            pattern_has_symbols = False
            for _pattern, examples in patterns.items():
                for ex in examples:
                    p = REGISTRY.all_params[ex]
                    if p.constraints or ex in by_trigger or ex in by_param:
                        pattern_has_constraints = True
                    if get_math_symbol(ex):
                        pattern_has_symbols = True
                if pattern_has_constraints and pattern_has_symbols:
                    break

            lines.append("### Patterns")
            lines.append("")
            # Build header dynamically based on which optional columns are needed
            cols = ["Pattern", "Example", "Description"]
            if pattern_has_symbols:
                cols.append("Symbol")
            if pattern_has_constraints:
                cols.append("Constraints")
            lines.append("| " + " | ".join(cols) + " |")
            lines.append("| " + " | ".join("-" * max(3, len(c)) for c in cols) + " |")

            for pattern, examples in sorted(patterns.items()):
                example = examples[0]
                desc = get_description(example) or ""
                # Truncate long descriptions
                if len(desc) > 60:
                    desc = desc[:57] + "..."
                # Escape % for Doxygen (even inside backtick code spans)
                pattern_escaped = _escape_percent(pattern)
                example_escaped = _escape_percent(example)
                desc = _escape_percent(desc)
                row = f"| `{pattern_escaped}` | `{example_escaped}` | {desc}"
                if pattern_has_symbols:
                    sym = get_math_symbol(example)
                    row += f" | {sym}"
                if pattern_has_constraints:
                    p = REGISTRY.all_params[example]
                    constraints = _format_constraints(p)
                    deps = _format_validator_rules(example, by_trigger, by_param)
                    extra = "; ".join(filter(None, [constraints, deps]))
                    if not extra:
                        extra = _format_tag_annotation(example, p)
                    extra = _escape_pct_outside_backticks(extra)
                    row += f" | {extra}"
                lines.append(row + " |")

            lines.append("")
        else:
            # Full table - no patterns to collapse
            # Check if any param in this family has a math symbol
            full_has_symbols = any(get_math_symbol(n) for n, _ in params)

            cols = ["Parameter", "Type", "Description"]
            if full_has_symbols:
                cols.append("Symbol")
            cols.append("Constraints")
            lines.append("| " + " | ".join(cols) + " |")
            lines.append("| " + " | ".join("-" * max(3, len(c)) for c in cols) + " |")

            for name, param in params:
                type_str = _type_to_str(param.param_type)
                desc = get_description(name) or ""
                # Truncate long descriptions
                if len(desc) > 80:
                    desc = desc[:77] + "..."
                constraints = _format_constraints(param)
                deps = _format_validator_rules(name, by_trigger, by_param)
                extra = "; ".join(filter(None, [constraints, deps]))
                if not extra:
                    extra = _format_tag_annotation(name, param)
                extra = _escape_pct_outside_backticks(extra)
                # Escape % for Doxygen (even inside backtick code spans)
                name_escaped = _escape_percent(name)
                desc = _escape_percent(desc)
                row = f"| `{name_escaped}` | {type_str} | {desc}"
                if full_has_symbols:
                    sym = get_math_symbol(name)
                    row += f" | {sym}"
                row += f" | {extra}"
                lines.append(row + " |")

            lines.append("")

        lines.append("---")
        lines.append("")

    # Add footer
    lines.extend([
        "## CLI Reference",
        "",
        "Search parameters using the CLI:",
        "",
        "```bash",
UI Regression

The footer removed the nav-path and generated-by blocks that Doxygen commonly uses for breadcrumbs and attribution. Confirm this doesn’t break the doxygen-awesome theme layout, treeview navigation behavior, or any tooling that expects $navpath/$generatedby to be present.

<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<!--END !GENERATE_TREEVIEW-->
</body>
</html>

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 7 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

High-level Suggestion

The PR removes the footer from auto-generated documentation pages by emptying docs/footer.html. This change eliminates crucial breadcrumb navigation, harming site usability. [High-level, importance: 9]

Solution Walkthrough:

Before:

<!-- docs/footer.html -->
<!-- ... -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    $navpath
    <li class="footer">$generatedby <a href="..."><img ... alt="doxygen"/></a> $doxygenversion </li>
  </ul>
</div>
<!-- ... -->
</body>
</html>

After:

<!-- docs/footer.html -->
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<!--END !GENERATE_TREEVIEW-->
</body>
</html>

Comment on lines 1 to 8
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
$navpath
<li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
</ul>
</div>
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<hr class="footer"/><address class="footer"><small>
$generatedby&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
</small></address>
<!--END !GENERATE_TREEVIEW-->
</body>
</html>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: Restore the closing </body> and </html> tags in docs/footer.html. Removing them will produce invalid HTML for the generated documentation, which can cause browser rendering issues. [possible issue, importance: 8]

Suggested change
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
$navpath
<li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
</ul>
</div>
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<hr class="footer"/><address class="footer"><small>
$generatedby&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
</small></address>
<!--END !GENERATE_TREEVIEW-->
</body>
</html>
<!-- This file is intentionally left almost empty to remove the default Doxygen footer. -->
<!-- It must contain the closing body and html tags for valid HTML output. -->
</body>
</html>

@codecov
Copy link

codecov bot commented Feb 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 44.07%. Comparing base (4c52155) to head (1010b59).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1152   +/-   ##
=======================================
  Coverage   44.07%   44.07%           
=======================================
  Files          70       70           
  Lines       20431    20431           
  Branches     1974     1974           
=======================================
  Hits         9004     9004           
  Misses      10291    10291           
  Partials     1136     1136           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Review effort 2/5 size:L This PR changes 100-499 lines, ignoring generated files

Development

Successfully merging this pull request may close these issues.

1 participant

Comments