Skip to content

fix: restore table row text visibility in slides dark theme#21817

Merged
pelikhan merged 3 commits intomainfrom
copilot/fix-table-style-issue
Mar 19, 2026
Merged

fix: restore table row text visibility in slides dark theme#21817
pelikhan merged 3 commits intomainfrom
copilot/fix-table-style-issue

Conversation

Copy link
Contributor

Copilot AI commented Mar 19, 2026

Table body rows on slide #2 were nearly invisible — light text (#e6edf3) rendered against light backgrounds because the default Marp theme resolves var(--bgColor-default) / var(--bgColor-muted) to white under color-scheme: light, which our dark theme never overrode.

Change

docs/slides/gh-aw-theme.css — add explicit row background overrides after the existing table rules:

section table tr {
  background-color: transparent; /* defeats Marp default light bgColor-default */
  border-top: none;
}

section table tr:nth-child(2n) {
  background-color: rgba(255, 255, 255, 0.06); /* subtle even-row stripe */
}

The custom theme's rules are injected after the default theme block in the compiled HTML, so specificity alone isn't enough — the property values must be explicitly overridden here.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=11175 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/marp-cli-2nRqoFkNlt --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12867015517899488030,9438844821076433341,262144 --enable-features=PdfOopif --disable-features=AcceptCHFrame,IsolateSandboxedIframes,MediaRouter,OptimizationHints,PaintHolding,PartitionAllocSchedulerLoopQuarantineTaskControlledPurge,ProcessPerSiteUpToMainFrameThreshold,RenderDocument,Translate --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome-stable --allow-pre-commit-input --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-crash-reporter --disable-default-apps --disable-dev-shm-usage --disable-hang-monitor --disable-infobars --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-REDACTEDing --disable-search-engine-choice-screen --disable-sync --enable-automation (dns block)
  • android.clients.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=11175 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/marp-cli-2nRqoFkNlt --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12867015517899488030,9438844821076433341,262144 --enable-features=PdfOopif --disable-features=AcceptCHFrame,IsolateSandboxedIframes,MediaRouter,OptimizationHints,PaintHolding,PartitionAllocSchedulerLoopQuarantineTaskControlledPurge,ProcessPerSiteUpToMainFrameThreshold,RenderDocument,Translate --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome-stable --allow-pre-commit-input --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-crash-reporter --disable-default-apps --disable-dev-shm-usage --disable-hang-monitor --disable-infobars --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-REDACTEDing --disable-search-engine-choice-screen --disable-sync --enable-automation (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=11175 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/marp-cli-2nRqoFkNlt --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12867015517899488030,9438844821076433341,262144 --enable-features=PdfOopif --disable-features=AcceptCHFrame,IsolateSandboxedIframes,MediaRouter,OptimizationHints,PaintHolding,PartitionAllocSchedulerLoopQuarantineTaskControlledPurge,ProcessPerSiteUpToMainFrameThreshold,RenderDocument,Translate --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome-stable --allow-pre-commit-input --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-crash-reporter --disable-default-apps --disable-dev-shm-usage --disable-hang-monitor --disable-infobars --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-REDACTEDing --disable-search-engine-choice-screen --disable-sync --enable-automation (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=11175 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/marp-cli-2nRqoFkNlt --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12867015517899488030,9438844821076433341,262144 --enable-features=PdfOopif --disable-features=AcceptCHFrame,IsolateSandboxedIframes,MediaRouter,OptimizationHints,PaintHolding,PartitionAllocSchedulerLoopQuarantineTaskControlledPurge,ProcessPerSiteUpToMainFrameThreshold,RenderDocument,Translate --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome-stable --allow-pre-commit-input --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-crash-reporter --disable-default-apps --disable-dev-shm-usage --disable-hang-monitor --disable-infobars --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-REDACTEDing --disable-search-engine-choice-screen --disable-sync --enable-automation (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --disable-dev-shm-usage --use-angle=swiftshader-webgl --mute-audio --crashpad-handler-pid=11175 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/marp-cli-2nRqoFkNlt --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,12867015517899488030,9438844821076433341,262144 --enable-features=PdfOopif --disable-features=AcceptCHFrame,IsolateSandboxedIframes,MediaRouter,OptimizationHints,PaintHolding,PartitionAllocSchedulerLoopQuarantineTaskControlledPurge,ProcessPerSiteUpToMainFrameThreshold,RenderDocument,Translate --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome-stable --allow-pre-commit-input --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-crash-reporter --disable-default-apps --disable-dev-shm-usage --disable-hang-monitor --disable-infobars --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-REDACTEDing --disable-search-engine-choice-screen --disable-sync --enable-automation (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
… theme

The default Marp theme applies light background colors (via CSS variables
with color-scheme:light) to table rows. In the dark gh-aw theme, this caused
table body rows to have light backgrounds, making the light-colored text
(#e6edf3) nearly invisible due to poor contrast.

Fix: Add explicit overrides to reset table row backgrounds to transparent
(odd rows) and a subtle semi-transparent white (even rows) for visual
distinction.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix style of the table in slides fix: restore table row text visibility in slides dark theme Mar 19, 2026
Copilot AI requested a review from pelikhan March 19, 2026 15:10
@pelikhan pelikhan marked this pull request as ready for review March 19, 2026 16:09
Copilot AI review requested due to automatic review settings March 19, 2026 16:09
@pelikhan pelikhan merged commit 6b13509 into main Mar 19, 2026
57 checks passed
@pelikhan pelikhan deleted the copilot/fix-table-style-issue branch March 19, 2026 16:09
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Fixes dark-theme table readability in the Marp slide deck by explicitly overriding table row backgrounds so light text isn’t rendered on a light (default) background.

Changes:

  • Override section table tr background to transparent to defeat Marp’s light-scheme defaults.
  • Add subtle zebra-striping for even table rows in the slide theme.
  • Update the generated safe-output script wrapper in smoke-claude.lock.yml to import sanitizeContent.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
docs/slides/gh-aw-theme.css Forces table row backgrounds to match the dark theme and restores body-row contrast.
.github/workflows/smoke-claude.lock.yml Updates an embedded/generated safe-output script wrapper (adds sanitizeContent import).
Comments suppressed due to low confidence (1)

.github/workflows/smoke-claude.lock.yml:2641

  • sanitizeContent is required here but never applied to item.channel / item.message. Since these values ultimately come from untrusted agent output, logging/returning them raw can allow GitHub Actions workflow-command/log injection (e.g., strings starting with ::warning::, ::notice::, etc.) and can also reintroduce unsafe mentions/links. Please sanitize the channel/message before interpolating into core.info and before returning them from the handler.
          const { sanitizeContent } = require("./sanitize_content.cjs");
          
          /** @type {import('./types/safe-output-script').SafeOutputScriptMain} */
          async function main(config = {}) {
            const { channel, message } = config;
            return async function handlePostSlackMessage(item, resolvedTemporaryIds, temporaryIdMap) {
              const targetChannel = item.channel || "#general";
              const text = item.message || "(no message)";
              core.info(`[FICTITIOUS SLACK] → ${targetChannel}: ${text}`);
              return { success: true, channel: targetChannel, message: text };

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +2632 to +2633
const { sanitizeContent } = require("./sanitize_content.cjs");

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.

3 participants