-
Notifications
You must be signed in to change notification settings - Fork 1
fix(email-detail): make responsive evidence actions functional #1245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
seonghobae
wants to merge
64
commits into
chore/aiohttp-3.14.3-maintainer
Choose a base branch
from
fix/email-detail-responsive-surface-maintainer
base: chore/aiohttp-3.14.3-maintainer
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 12 commits
Commits
Show all changes
64 commits
Select commit
Hold shift + click to select a range
8f7ff8b
fix(email-detail): make responsive evidence actions functional
seonghobae e907955
ci: repair PR 1245 review findings test-first
seonghobae 43d09e7
chore(ci): remove completed PR 1245 repair workflow
seonghobae abd2967
test(email-detail): stage selected-source writeback regressions
seonghobae 3819eb9
ci: verify PR 1245 selected-source repair
seonghobae 64fd961
fix(ci): target the EmailDetail conflict panel precisely
seonghobae 40d43bc
ci: retry PR 1245 repair with precise panel anchor
seonghobae 400b281
ci: rerun PR 1245 selected-source repair
seonghobae 77b9185
fix(ci): align PR 1245 regressions with explicit confirmation
seonghobae 940cc9a
ci: rerun PR 1245 explicit-confirmation repair
seonghobae 8df011f
fix(ci): repair PR 1245 transformer quoting
seonghobae 4b17725
ci: rerun verified PR 1245 repair
seonghobae a80c2b5
fix(ci): avoid synchronous effect state resets
seonghobae 7802b51
ci: finalize PR 1245 selected-source repair
seonghobae a1a6460
chore(pr1245): remove obsolete repair workflow
seonghobae d750465
chore(pr1245): remove obsolete repair workflow v2
seonghobae 2d15ea4
chore(pr1245): remove obsolete repair workflow v3
seonghobae b51999d
chore(pr1245): remove obsolete repair workflow v4
seonghobae 7717cec
chore(pr1245): remove completed repair workflow v5
seonghobae 592d91e
chore(pr1245): remove temporary patch transformer
seonghobae b042b21
chore(pr1245): remove temporary effect lint
seonghobae d1fa097
chore(pr1245): remove temporary repair patcher
seonghobae 55e4573
chore(pr1245): remove completed repair script
seonghobae 4d5f4e3
test(email-detail): stage selected-source calendar contract
seonghobae 354f6c3
ci(email-detail): verify selected-source repair
seonghobae 15137eb
ci(email-detail): repair deterministic helper state
seonghobae 60e1afc
chore(ci): finalize verified EmailDetail review repair
seonghobae e48581f
chore(pr): remove completed PR 1245 finalizer
seonghobae cb5f3e9
chore(pr): remove completed PR 1245 repair workflow
seonghobae d83a175
chore(pr): remove completed PR 1245 repair helper
seonghobae e086f75
test(email-detail): require explicit calendar source writeback
seonghobae 70959ee
test(ci): stage bounded PR 1245 calendar source repair
seonghobae 05b9122
ci: verify PR 1245 explicit calendar source boundary
seonghobae 281ef2e
ci: finalize PR 1245 calendar source on reopen
seonghobae 3b21327
fix(ci): enable pnpm after Node setup
seonghobae 4ef7082
fix(ci): make PR 1245 repair indentation-safe
seonghobae 1dcd1b8
ci: bind PR 1245 repair to corrected transformer
seonghobae c6cb203
fix(ci): target the unique rendered action-item block
seonghobae 8499f3f
fix(ci): normalize PR 1245 render anchors
seonghobae 3fec4e9
ci: repair exact calendar-source panel transform
seonghobae 41e1f92
fix(ci): remove malformed PR 1245 reopen workflow
seonghobae 482725e
fix(ci): retrigger bounded calendar-source repair
seonghobae f9e7a02
fix(ci): make PR 1245 repair workflow valid YAML
seonghobae 71a96ea
ci: activate pinned pnpm before setup-node caching
seonghobae 67be57e
ci(pr1245): finalize explicit calendar source repair
seonghobae 38d5e77
ci(pr1245): finalize calendar source repair v3
seonghobae a4f02a9
chore(ci): add fail-closed PR 1245 finalizer
seonghobae bb8caf6
fix(ci): finalize PR 1245 with fail-closed exact-head verification
seonghobae f40b377
ci(email-detail): execute fail-closed PR 1245 finalizer
seonghobae 886220d
fix(ci): allow exact-head checkout in PR 1245 finalizer
seonghobae f430376
fix(ci): enable pnpm before cache initialization
seonghobae aa5c4b3
fix(ci): make PR 1245 status repair multiplicity explicit
seonghobae f76e1b2
test(email-detail): require explicit source after shell command
seonghobae d4574ba
fix(ci): remove invalid superseded PR 1245 workflow
seonghobae 5aae303
test(email-detail): select the rendered writeback action
seonghobae 6b4f2ba
fix(email-detail): key calendar sources to active context
seonghobae 9aaea8e
fix(ci): preserve generated TypeScript indentation
seonghobae 5bf17ff
fix(email-detail): require explicit calendar source
github-actions[bot] e45fc3b
docs(email-detail): record fail-closed source lifecycle
seonghobae 4a6f339
test(email-detail): cover calendar action disabled states
seonghobae af81b67
Merge remote-tracking branch 'origin/develop' into HEAD
seonghobae 796b34c
Merge remote-tracking branch 'origin/develop' into fix/pr1245-current
seonghobae 885ee0c
fix: await EmailDetail input updates and retain callback dependencies
seonghobae 38c375e
merge(ui): inherit complete dependency security prerequisite
seonghobae File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,122 @@ | ||
| name: Repair PR 1245 selected-source writeback v2 | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - fix/email-detail-responsive-surface-maintainer | ||
| paths: | ||
| - .github/workflows/repair-pr1245-selected-source-v2.yml | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| concurrency: | ||
| group: repair-pr1245-selected-source-v2 | ||
| cancel-in-progress: false | ||
|
|
||
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | ||
|
|
||
| jobs: | ||
| repair: | ||
| if: >- | ||
| github.repository == 'ContextualWisdomLab/naruon' && | ||
| github.actor != 'github-actions[bot]' && | ||
| github.ref == 'refs/heads/fix/email-detail-responsive-surface-maintainer' | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 45 | ||
| steps: | ||
| - name: Harden runner | ||
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | ||
| with: | ||
| egress-policy: audit | ||
|
|
||
| - name: Check out exact trigger | ||
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 | ||
| with: | ||
| ref: ${{ github.sha }} | ||
| fetch-depth: 2 | ||
| persist-credentials: false | ||
|
|
||
| - name: Verify immutable parent and correct transformer | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| test "$(git rev-parse HEAD^)" = "40d43bcdc0f7909b51263f6bcceebdc00672b7f7" | ||
| test "$(git rev-parse HEAD)" = "$GITHUB_SHA" | ||
| python3 -m py_compile \ | ||
| scripts/ci/repair_pr1245_review.py \ | ||
| scripts/ci/patch_pr1245_repair_script.py | ||
| python3 scripts/ci/patch_pr1245_repair_script.py | ||
| python3 -m py_compile scripts/ci/repair_pr1245_review.py | ||
|
github-actions[bot] marked this conversation as resolved.
Outdated
|
||
|
|
||
| - name: Install pnpm | ||
| run: corepack enable pnpm | ||
|
|
||
| - name: Set up Node.js | ||
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 | ||
| with: | ||
| node-version: "24" | ||
| cache: pnpm | ||
| cache-dependency-path: frontend/pnpm-lock.yaml | ||
|
|
||
| - name: Install frozen dependencies | ||
| run: cd frontend && pnpm install --frozen-lockfile | ||
|
|
||
| - name: Preserve failing contracts before production repair | ||
| shell: bash --noprofile --norc {0} | ||
| run: | | ||
| set -euo pipefail | ||
| python3 scripts/ci/repair_pr1245_review.py tests | ||
| set +e | ||
| cd frontend | ||
| pnpm exec vitest run src/components/EmailDetail.test.tsx >"${RUNNER_TEMP}/pr1245-red.log" 2>&1 | ||
| status=$? | ||
| set -e | ||
| cat "${RUNNER_TEMP}/pr1245-red.log" | ||
| test "$status" -ne 0 | ||
|
|
||
| - name: Apply bounded production and doctoring repair | ||
| run: | | ||
| python3 scripts/ci/repair_pr1245_review.py production | ||
| git diff --check | ||
|
|
||
| - name: Run focused and full frontend verification | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| cd frontend | ||
| pnpm exec vitest run src/components/EmailDetail.test.tsx | ||
| pnpm test | ||
| pnpm run typecheck | ||
| pnpm run lint | ||
| pnpm run coverage | ||
|
|
||
| - name: Build production frontend | ||
| env: | ||
| NEXT_TELEMETRY_DISABLED: "1" | ||
| NODE_OPTIONS: "--max-old-space-size=4096" | ||
| NEXT_BUILD_CPUS: "2" | ||
| POSTCSS_WORKERS: "1" | ||
| DISABLE_POSTCSS_WORKERS: "true" | ||
| run: cd frontend && pnpm run build | ||
|
|
||
| - name: Publish verified repair and remove temporary machinery | ||
| env: | ||
| PUSH_TOKEN: ${{ github.token }} | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| rm -f \ | ||
| .github/workflows/repair-pr1245-selected-source.yml \ | ||
| .github/workflows/repair-pr1245-selected-source-v2.yml \ | ||
| scripts/ci/repair_pr1245_review.py \ | ||
| scripts/ci/patch_pr1245_repair_script.py | ||
| test ! -e .github/workflows/repair-pr1245-review.yml | ||
| git diff --check | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | ||
| git add -A | ||
| git diff --cached --quiet && exit 1 | ||
| git commit -m "fix(email-detail): require selected writeback source" | ||
| auth_header="$(printf 'x-access-token:%s' "$PUSH_TOKEN" | base64 | tr -d '\n')" | ||
| echo "::add-mask::$auth_header" | ||
| git -c http.extraheader="AUTHORIZATION: basic ${auth_header}" \ | ||
| push origin "HEAD:refs/heads/fix/email-detail-responsive-surface-maintainer" | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,123 @@ | ||
| name: Repair PR 1245 selected-source writeback v3 | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - fix/email-detail-responsive-surface-maintainer | ||
| paths: | ||
| - .github/workflows/repair-pr1245-selected-source-v3.yml | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
github-advanced-security[bot] marked this conversation as resolved.
Fixed
|
||
|
|
||
| concurrency: | ||
| group: repair-pr1245-selected-source-v3 | ||
| cancel-in-progress: false | ||
|
|
||
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | ||
|
|
||
| jobs: | ||
| repair: | ||
| if: >- | ||
| github.repository == 'ContextualWisdomLab/naruon' && | ||
| github.actor != 'github-actions[bot]' && | ||
| github.ref == 'refs/heads/fix/email-detail-responsive-surface-maintainer' | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 45 | ||
| steps: | ||
| - name: Harden runner | ||
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | ||
| with: | ||
| egress-policy: audit | ||
|
|
||
| - name: Check out exact trigger | ||
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 | ||
| with: | ||
| ref: ${{ github.sha }} | ||
| fetch-depth: 2 | ||
| persist-credentials: false | ||
|
|
||
| - name: Verify exact parent and transformer | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| test "$(git rev-parse HEAD^)" = "77b9185e309fe88bcb76820f7443aee3906e2a3b" | ||
| test "$(git rev-parse HEAD)" = "$GITHUB_SHA" | ||
| python3 -m py_compile \ | ||
| scripts/ci/repair_pr1245_review.py \ | ||
| scripts/ci/patch_pr1245_repair_script.py | ||
| python3 scripts/ci/patch_pr1245_repair_script.py | ||
| python3 -m py_compile scripts/ci/repair_pr1245_review.py | ||
|
|
||
| - name: Install pnpm | ||
| run: corepack enable pnpm | ||
|
|
||
| - name: Set up Node.js | ||
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 | ||
| with: | ||
| node-version: "24" | ||
| cache: pnpm | ||
| cache-dependency-path: frontend/pnpm-lock.yaml | ||
|
|
||
| - name: Install frozen dependencies | ||
| run: cd frontend && pnpm install --frozen-lockfile | ||
|
|
||
| - name: Preserve failing contracts before production repair | ||
| shell: bash --noprofile --norc {0} | ||
| run: | | ||
| set -euo pipefail | ||
| python3 scripts/ci/repair_pr1245_review.py tests | ||
| set +e | ||
| cd frontend | ||
| pnpm exec vitest run src/components/EmailDetail.test.tsx >"${RUNNER_TEMP}/pr1245-red.log" 2>&1 | ||
| status=$? | ||
| set -e | ||
| cat "${RUNNER_TEMP}/pr1245-red.log" | ||
| test "$status" -ne 0 | ||
|
|
||
| - name: Apply bounded production and doctoring repair | ||
| run: | | ||
| python3 scripts/ci/repair_pr1245_review.py production | ||
| git diff --check | ||
|
|
||
| - name: Run focused and full frontend verification | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| cd frontend | ||
| pnpm exec vitest run src/components/EmailDetail.test.tsx | ||
| pnpm test | ||
| pnpm run typecheck | ||
| pnpm run lint | ||
| pnpm run coverage | ||
|
|
||
| - name: Build production frontend | ||
| env: | ||
| NEXT_TELEMETRY_DISABLED: "1" | ||
| NODE_OPTIONS: "--max-old-space-size=4096" | ||
| NEXT_BUILD_CPUS: "2" | ||
| POSTCSS_WORKERS: "1" | ||
| DISABLE_POSTCSS_WORKERS: "true" | ||
| run: cd frontend && pnpm run build | ||
|
|
||
| - name: Publish verified repair and remove temporary machinery | ||
| env: | ||
| PUSH_TOKEN: ${{ github.token }} | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| rm -f \ | ||
| .github/workflows/repair-pr1245-selected-source.yml \ | ||
| .github/workflows/repair-pr1245-selected-source-v2.yml \ | ||
| .github/workflows/repair-pr1245-selected-source-v3.yml \ | ||
| scripts/ci/repair_pr1245_review.py \ | ||
| scripts/ci/patch_pr1245_repair_script.py | ||
| test ! -e .github/workflows/repair-pr1245-review.yml | ||
| git diff --check | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | ||
| git add -A | ||
| git diff --cached --quiet && exit 1 | ||
| git commit -m "fix(email-detail): require selected writeback source" | ||
| auth_header="$(printf 'x-access-token:%s' "$PUSH_TOKEN" | base64 | tr -d '\n')" | ||
| echo "::add-mask::$auth_header" | ||
| git -c http.extraheader="AUTHORIZATION: basic ${auth_header}" \ | ||
| push origin "HEAD:refs/heads/fix/email-detail-responsive-surface-maintainer" | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,125 @@ | ||
| name: Repair PR 1245 selected-source writeback v4 | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - fix/email-detail-responsive-surface-maintainer | ||
| paths: | ||
| - .github/workflows/repair-pr1245-selected-source-v4.yml | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
github-advanced-security[bot] marked this conversation as resolved.
Fixed
|
||
|
|
||
| concurrency: | ||
| group: repair-pr1245-selected-source-v4 | ||
| cancel-in-progress: false | ||
|
|
||
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | ||
|
|
||
| jobs: | ||
| repair: | ||
| if: >- | ||
| github.repository == 'ContextualWisdomLab/naruon' && | ||
| github.actor != 'github-actions[bot]' && | ||
| github.ref == 'refs/heads/fix/email-detail-responsive-surface-maintainer' | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 45 | ||
| steps: | ||
| - name: Harden runner | ||
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | ||
| with: | ||
| egress-policy: audit | ||
|
|
||
| - name: Check out exact trigger | ||
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v6 | ||
| with: | ||
| ref: ${{ github.sha }} | ||
| fetch-depth: 2 | ||
| persist-credentials: false | ||
|
|
||
| - name: Verify exact parent and repair transformers | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| test "$(git rev-parse HEAD^)" = "8df011fd0b40ec5246c387a356639a1c28907d57" | ||
| test "$(git rev-parse HEAD)" = "$GITHUB_SHA" | ||
| python3 -m py_compile scripts/ci/fix_patch_pr1245_patcher.py | ||
| python3 scripts/ci/fix_patch_pr1245_patcher.py | ||
| python3 -m py_compile scripts/ci/patch_pr1245_repair_script.py | ||
| python3 scripts/ci/patch_pr1245_repair_script.py | ||
| python3 -m py_compile scripts/ci/repair_pr1245_review.py | ||
|
|
||
| - name: Install pnpm | ||
| run: corepack enable pnpm | ||
|
|
||
| - name: Set up Node.js | ||
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 | ||
| with: | ||
| node-version: "24" | ||
| cache: pnpm | ||
| cache-dependency-path: frontend/pnpm-lock.yaml | ||
|
|
||
| - name: Install frozen dependencies | ||
| run: cd frontend && pnpm install --frozen-lockfile | ||
|
|
||
| - name: Preserve failing contracts before production repair | ||
| shell: bash --noprofile --norc {0} | ||
| run: | | ||
| set -euo pipefail | ||
| python3 scripts/ci/repair_pr1245_review.py tests | ||
| set +e | ||
| cd frontend | ||
| pnpm exec vitest run src/components/EmailDetail.test.tsx >"${RUNNER_TEMP}/pr1245-red.log" 2>&1 | ||
| status=$? | ||
| set -e | ||
| cat "${RUNNER_TEMP}/pr1245-red.log" | ||
| test "$status" -ne 0 | ||
|
|
||
| - name: Apply bounded production and doctoring repair | ||
| run: | | ||
| python3 scripts/ci/repair_pr1245_review.py production | ||
| git diff --check | ||
|
|
||
| - name: Run focused and full frontend verification | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| cd frontend | ||
| pnpm exec vitest run src/components/EmailDetail.test.tsx | ||
| pnpm test | ||
| pnpm run typecheck | ||
| pnpm run lint | ||
| pnpm run coverage | ||
|
|
||
| - name: Build production frontend | ||
| env: | ||
| NEXT_TELEMETRY_DISABLED: "1" | ||
| NODE_OPTIONS: "--max-old-space-size=4096" | ||
| NEXT_BUILD_CPUS: "2" | ||
| POSTCSS_WORKERS: "1" | ||
| DISABLE_POSTCSS_WORKERS: "true" | ||
| run: cd frontend && pnpm run build | ||
|
|
||
| - name: Publish verified repair and remove temporary machinery | ||
| env: | ||
| PUSH_TOKEN: ${{ github.token }} | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| rm -f \ | ||
| .github/workflows/repair-pr1245-selected-source.yml \ | ||
| .github/workflows/repair-pr1245-selected-source-v2.yml \ | ||
| .github/workflows/repair-pr1245-selected-source-v3.yml \ | ||
| .github/workflows/repair-pr1245-selected-source-v4.yml \ | ||
| scripts/ci/repair_pr1245_review.py \ | ||
| scripts/ci/patch_pr1245_repair_script.py \ | ||
| scripts/ci/fix_patch_pr1245_patcher.py | ||
| test ! -e .github/workflows/repair-pr1245-review.yml | ||
| git diff --check | ||
| git config user.name "github-actions[bot]" | ||
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | ||
| git add -A | ||
| git diff --cached --quiet && exit 1 | ||
| git commit -m "fix(email-detail): require selected writeback source" | ||
| auth_header="$(printf 'x-access-token:%s' "$PUSH_TOKEN" | base64 | tr -d '\n')" | ||
| echo "::add-mask::$auth_header" | ||
| git -c http.extraheader="AUTHORIZATION: basic ${auth_header}" \ | ||
| push origin "HEAD:refs/heads/fix/email-detail-responsive-surface-maintainer" | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.