-
Notifications
You must be signed in to change notification settings - Fork 3.4k
internal: (studio) add manifest for all of the cloud delivered files #31923
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
Conversation
cypress
|
||||||||||||||||||||||||||||||||||||||||
| Project |
cypress
|
| Branch Review |
ryanm/chore/add-manifest-for-studio
|
| Run status |
|
| Run duration | 18m 25s |
| Commit |
|
| Committer | Ryan Manuel |
| View all properties for this run ↗︎ | |
| Test results | |
|---|---|
|
|
0
|
|
|
10
|
|
|
1232
|
|
|
0
|
|
|
32178
|
| View all changes introduced in this branch ↗︎ | |
UI Coverage
45.56%
|
|
|---|---|
|
|
191
|
|
|
164
|
Accessibility
92.74%
|
|
|---|---|
|
|
3 critical
9 serious
2 moderate
2 minor
|
|
|
695
|
Co-authored-by: Copilot <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a manifest file into the cloud-delivered bundles, adding SHA-256 hash verification and signature checking to ensure file integrity. Key changes include adding manifest handling to the bundle extraction logic, updating studio and API tests to verify manifest-related behavior, and modifying studio manager setup to use the manifest for server script hash verification.
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/after-pack-hook.js | Reorders and groups file writes to include new studio protocol and environment files. |
| packages/types/src/studio/studio-server-types.ts | Adds definitions for manifest and verifyHash in studio server options. |
| packages/server/test/unit/cloud/studio/studio_spec.ts | Updates tests to include a manifest property in studio server options. |
| packages/server/test/unit/cloud/studio/ensure_studio_bundle_spec.ts | Extends tests to check for manifest presence and signature validation error paths. |
| packages/server/test/unit/cloud/studio/StudioLifecycleManager_spec.ts | Incorporates manifest usage in studio lifecycle manager tests and error handling for missing/incorrect studio script hashes. |
| packages/server/test/unit/cloud/api/studio/get_studio_bundle_spec.ts | Validates the retrieval and checking of the manifest signature from response headers. |
| packages/server/lib/cloud/studio/studio.ts | Integrates the manifest and hash verification logic during studio server creation. |
| packages/server/lib/cloud/studio/ensure_studio_bundle.ts | Implements manifest extraction, file existence check, signature verification, and JSON parsing. |
| packages/server/lib/cloud/studio/StudioLifecycleManager.ts | Updates studio manager lifecycle to use the manifest for verifying the studio server script’s hash. |
| packages/server/lib/cloud/encryption.ts | Updates verifySignature to accept BinaryLike input rather than a string. |
| packages/server/lib/cloud/api/studio/get_studio_bundle.ts | Retrieves and returns the manifest signature from response headers and handles its absence. |
|
Released in This comment thread has been locked. If you are still experiencing this issue after upgrading to |
Additional details
The general idea behind the manifest is:
Steps to test
How has the user experience changed?
PR Tasks
cypress-documentation?type definitions?