Prepared the 1.40.0 release and masked secrets in the demo-video pipeline.#2709
Conversation
|
Warning Review limit reached
More reviews will be available in 27 minutes and 15 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
WalkthroughAdds a ChangesSecrets Masking in VideoRecorder
Dependency Bumps and Refreshed Doc Snapshots
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2709 +/- ##
==========================================
- Coverage 86.67% 86.22% -0.45%
==========================================
Files 96 89 -7
Lines 4719 4560 -159
Branches 47 3 -44
==========================================
- Hits 4090 3932 -158
+ Misses 629 628 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.vortex/docs/.utils/VideoRecorder.php:
- Around line 327-352: The current masking logic operates on the concatenated
contents string, but asciicast events are JSON-delimited with `"],\n[`
separators that fragment tokens across multiple events, causing the regex
patterns and str_replace operations to miss partial token matches. To fix this,
preprocess the contents string by removing the inter-event JSON delimiters (the
`"],\n[` sequences) before applying the preg_replace and str_replace operations
on the patterns and environment variable values, or alternatively decode and
redact secrets per-event by parsing each JSON event individually after the token
masking is applied to restore the proper JSON structure afterward.
In @.vortex/docs/static/img/provision.json:
- Around line 1-23: The environment bootstrap process is broken, causing
multiple recorded videos to fail with exit code 1 due to missing autoload.php.
Review the update-videos.php script to ensure it properly initializes the Docker
environment by running Composer install before executing any ahoy commands,
verify that the Docker workspace initialization includes all necessary Composer
setup steps to generate the vendor/autoload.php file, and ensure the bootstrap
completes successfully before attempting to record any documentation videos. The
issue is systemic across the environment setup phase, not individual command
execution.
In @.vortex/docs/static/img/test-bdd.json:
- Around line 1-20: The test-bdd.json file contains a terminal session recording
that captured a failed test execution with exit code 1 (indicated by the "x":
"1" entry at the end). The recording shows dependency installation error
messages which will be displayed to documentation viewers instead of a
successful test demonstration. Either remove this file entirely if the demo is
no longer needed, or re-record the test-bdd.json session from a properly
initialized environment where all project dependencies are installed and the
test suite completes successfully, ensuring the final exit code indicates
success rather than failure.
In @.vortex/docs/static/img/test.json:
- Around line 1-16: The documentation video snapshots in the
.vortex/docs/static/img/ directory are capturing failed command executions due
to missing composer vendor files. The test.json snapshot shows a PHP error about
a missing autoload.php file, which originates from a composer install failure
visible in build.json (the vfsstream package installation failed). To fix this,
investigate why the composer install step is failing in the video recording
environment, particularly the vfsstream package installation, verify that all
composer dependencies are properly resolved and the vendor directory is fully
populated before recording the snapshots, and then re-record the documentation
videos (build.json, lint.json, provision.json, test-bdd.json, and test.json)
with a successful dependency installation to ensure the snapshots accurately
represent expected behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 85ab126e-1f99-4401-8c1b-8223a099d592
⛔ Files ignored due to path filters (11)
.vortex/docs/static/img/build.svgis excluded by!**/*.svg.vortex/docs/static/img/installer.svgis excluded by!**/*.svg.vortex/docs/static/img/lint.pngis excluded by!**/*.png.vortex/docs/static/img/lint.svgis excluded by!**/*.svg.vortex/docs/static/img/provision.pngis excluded by!**/*.png.vortex/docs/static/img/provision.svgis excluded by!**/*.svg.vortex/docs/static/img/test-bdd.pngis excluded by!**/*.png.vortex/docs/static/img/test-bdd.svgis excluded by!**/*.svg.vortex/docs/static/img/test.pngis excluded by!**/*.png.vortex/docs/static/img/test.svgis excluded by!**/*.svgweb/themes/custom/your_site_theme/yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (8)
.vortex/docs/.utils/VideoRecorder.php.vortex/docs/static/img/build.json.vortex/docs/static/img/installer.json.vortex/docs/static/img/lint.json.vortex/docs/static/img/provision.json.vortex/docs/static/img/test-bdd.json.vortex/docs/static/img/test.jsoncomposer.json
This comment has been minimized.
This comment has been minimized.
|
📖 Documentation preview for this pull request has been deployed to Netlify: https://6a3b5653a244155f5092193b--vortex-docs.netlify.app This preview is rebuilt on every commit and is not the production documentation site. |
4f7c718 to
48aee21
Compare
|
Code coverage (threshold: 90%) Per-class coverage |
This comment has been minimized.
This comment has been minimized.
2 similar comments
This comment has been minimized.
This comment has been minimized.
|
Code coverage (threshold: 90%) Per-class coverage |
This branch prepares the Vortex 1.40.0 release: it bumps Composer production and dev-tool constraints, refreshes the theme
yarn.lock, and fixes a credential-disclosure bug in the documentation video pipeline that was embedding a realPACKAGE_TOKENinto the committed demo assets.Changes
Dependencies
drupal/core-composer-scaffoldanddrupal/core-recommended:~11.3.12→~11.3.13drush/drush:^13.7.3→^13.7.4drupal/coder:^9@alpha→^9.0.1@alpharector/rector:^2.5.0→^2.5.2vincentlanglet/twig-cs-fixer:^4.0→^4.0.1yarn.lock(sass, prettier, terser, and friends)Documentation video pipeline - secret masking
Added
VideoRecorder::redactSecrets()as a post-processing step that runs after the existing login-token redaction. Before the cast is rendered to SVG and PNG, it replaces:ghp_,gho_,ghp_,ghs_,ghr_,ghu_prefixesgithub_pat_...)AKIA...,ASIA...)PACKAGE_TOKEN,GITHUB_TOKEN, andVORTEX_CONTAINER_REGISTRY_PASS(defence-in-depth for unrecognised formats)The bug: a cached Docker
RUNbuild layer was replaying the realPACKAGE_TOKENverbatim into the capturedahoy buildoutput, and the unmasked value was being committed as part of the.jsonasciicast and rendered into the.svg/.pngposter.Regenerated demo videos
All six demo videos (
installer,build,provision,lint,test,test-bdd) re-recorded. Thebuildvideo now showsXXXXXwhere the token previously appeared.Screenshots
N/A - no running-app UI changed; the updated assets are committed documentation videos.
Before / After
Summary by CodeRabbit
New Features
Tests
Dependencies