Skip to content

requesthandler: Include the screenshot MIME declaration - #10

Merged
zackees merged 1 commit into
masterfrom
feat/screenshot-mime-include
Oct 14, 2026
Merged

zackees merged 1 commit into
masterfrom
feat/screenshot-mime-include

Conversation

@zackees

@zackees zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member

Coordinated with obs-rust/obs-studio#659 and the release repair in obs-rust/obs-studio#635. Parent integration PR will be linked when opened.

Change

Include ../utils/ImageFormat.h directly in the translation unit that calls Utils::ImageFormat::MimeType. RequestHandler.h includes Obs.h, which does not declare that helper. Runtime behavior and protocol output are unchanged.

RED evidence

The pinned caller fails actual full frontend builds on Windows x64 (C3083/C2039/C3861) and macOS arm64 (no member named ImageFormat in namespace Utils). These are caller-compilation failures; the standalone helper test cannot expose them.

Validation so far

  • clang-format 22.1.3 and git diff --check pass.
  • Five unchanged parent cmocka MIME tests pass when compiled against this exact sibling checkout, using the existing Linux validation image.
  • clud-review: clean (one reviewer).

Native full frontend GREEN builds and packaged saved-profile validation remain pending on the linked parent candidate. This PR stays draft until that evidence exists.

The full Windows/macOS frontend builds fail at the MimeType caller because RequestHandler.h includes Obs.h, not the Utils.h umbrella declaring ImageFormat. Include the directly used declaration in its translation unit.
@zackees
zackees marked this pull request as ready for review October 14, 2026 00:26
@zackees
zackees merged commit 547f5ea into master Oct 14, 2026
1 check passed
@zackees

zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

Merged to unbreak obs-studio master: the #652 submodule bump doesn't compile without this include, and every full build is failing. Submodule bump PR to follow in obs-rust/obs-studio.

@zackees

zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

Linked parent integration: obs-rust/obs-studio#661. The parent pins exact candidate 175a666, an ancestor of the fork merge with an identical tree. Local mandatory lint/unit/attestation pass, including 1766 identical OFF/ON exports; native full frontend GREEN and packaged runtime validation remain pending. The ARM64 release candidate will exercise real PNG/JPEG screenshots over the wire after saved-profile startup.

@zackees
zackees deleted the feat/screenshot-mime-include branch October 14, 2026 01:02
zackees added a commit to ProtonDev-sys/obs-studio that referenced this pull request Oct 15, 2026
obs-rust#652's submodule bump does not compile: RequestHandler_Sources.cpp uses
Utils::ImageFormat::MimeType without including utils/ImageFormat.h, so
every full build fails. Fork PR obs-rust/obs-websocket#10 adds it.

The fork's master also carries the already-merged fork PRs obs-rust#4 (obs-rust#514),

Local-Gate: v1 tree=2c043672b59777c9875e71d75f8962a2fdcb2e27 secs=390 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run
Ci-Attestation: {"at":1791938027,"gate":"rust/all/fmt","host":"linux-x86_64","key":"0081647f2e1e319399eadebe73c4c68f82d82cf39f79ff14c6ce573cf603b987","lane":"lint","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":44,"stamp":"d8f293eff24644b378fcc7f31784e730","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
Ci-Attestation: {"at":1791938027,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"0081647f2e1e319399eadebe73c4c68f82d82cf39f79ff14c6ce573cf603b987","lane":"lint","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":44,"stamp":"f941a2368ea561c6cc1dd404c2254082","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
Ci-Attestation: {"at":1791938027,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"b13eada16907902b0fe80a2fe16e3a0b69505f862a9c2cf24825f5001a0fb44e","lane":"rust-test","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":110,"stamp":"90332b84a5900768164f7d01a143f8d9","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
Ci-Attestation: {"at":1791938027,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"e53f213473aa96a3b2882f11a7db911cb5cf490f619ab3ed4a39d7155ed11370","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":73,"stamp":"e3d99bf3954d09c8d88d4448fb238619","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
Ci-Attestation: {"at":1791938027,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"e53f213473aa96a3b2882f11a7db911cb5cf490f619ab3ed4a39d7155ed11370","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":73,"stamp":"ba366c0508bf9aaa859018ca425f4155","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
Ci-Attestation: {"at":1791938027,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"e53f213473aa96a3b2882f11a7db911cb5cf490f619ab3ed4a39d7155ed11370","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":73,"stamp":"b24b299806567a535ad007d4d651ba6e","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
Ci-Attestation: {"at":1791938027,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"e53f213473aa96a3b2882f11a7db911cb5cf490f619ab3ed4a39d7155ed11370","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":73,"stamp":"bcdc3176b3f88ddf85a00b2b33e3f740","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
Ci-Attestation: {"at":1791938027,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"e53f213473aa96a3b2882f11a7db911cb5cf490f619ab3ed4a39d7155ed11370","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":73,"stamp":"0a29c50a3e9953e8b80c58d25a705081","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
Ci-Attestation: {"at":1791938027,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"e53f213473aa96a3b2882f11a7db911cb5cf490f619ab3ed4a39d7155ed11370","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":73,"stamp":"7df3b007f64dbc45d235c8b685613569","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
Ci-Attestation: {"at":1791938027,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"e892aee0e6c73f12c54e4b950ce1a04d39e07265b66aec3f515500b36ff4f4e2","lane":"tier2-linux","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":163,"stamp":"ea01d6463104759ff9cf3a70a9074f33","tree":"2c043672b59777c9875e71d75f8962a2fdcb2e27","v":1,"via":"run"}
obs-rust#5 (obs-rust#519) and obs-rust#7 (obs-rust#536).
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.

1 participant