Skip to content

obs-websocket: Fix the screenshot caller compilation regression - #661

Closed
zackees wants to merge 1 commit into
masterfrom
fix/659-websocket-compile
Closed

zackees wants to merge 1 commit into
masterfrom
fix/659-websocket-compile

Conversation

@zackees

@zackees zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member

Dependency: obs-rust/obs-websocket#10 was merged externally as 547f5ea8e2b1ff00a5263784f642a89f99a51f54. This parent pin uses its exact head 175a666420cfcdb47ee79ccf2ca9bf64172f940f, which is an ancestor of fork master and has the same tree as that merge. Native build proof remains pending; the external merge alone does not establish it.

Fixes #659. Required by #635 release-package validation.

Change

Update the websocket submodule to the candidate containing a direct include of utils/ImageFormat.h in RequestHandler_Sources.cpp. The old pinned caller cannot compile its Utils::ImageFormat::MimeType reference. The new fork head also contains the fork's previously merged input/event/stats fixes; the full candidate frontend and protocol startup are validated together rather than assuming that the standalone helper test covers them.

The additional merged fork changes are:

  • Filter setting updates emit the existing SourceFilterSettingsChanged event through paired source signals.
  • Scene counting initializes its accumulator before enumeration.
  • GetStats includes rescaled encoder frame counts using the existing parent libobs API.
    Request names, response fields, and event schemas remain unchanged. The coordinated integration review found no concrete defects.

RED

Actual full Windows x64 and macOS arm64 builds of the old pin fail at caller line 231. Windows reports C3083/C2039/C3861; macOS reports no member ImageFormat in namespace Utils.

Validation

The five unchanged MIME helper tests pass against the exact fork checkout; formatting and review are clean. Mandatory ./lint and ./unittest pass: Rust Tiers 1–3 plus OFF/ON CTest each report 0 failures out of 191, with 15 environment-dependent PipeWire/Pulse/VLC tests skipped per lane; exports are identical (1766). The exact-head attestation passed all four lanes in 438 seconds at ebf72b1d9e6c (tree 377c93f07549). Native full builds are pending; this stays draft until exact-head results are recorded. The linked ARM64 release candidate will exercise this prerequisite through the normal production build/package workflow in nonpublishing verification mode.

Pinned native frontend builds fail at RequestHandler_Sources.cpp:231 because Utils::ImageFormat is undeclared. The fork candidate adds its directly used header. Native GREEN remains required before merging this parent integration.

Local-Gate: v1 tree=377c93f075497eaa73214ae719daa54df4290f54 secs=438 lanes=lint:run,rust-test:run,cross:run,tier2-linux:run
Ci-Attestation: {"at":1791938104,"gate":"rust/all/fmt","host":"linux-x86_64","key":"78bf5c65ee34c99356ba4c2183f83300f2686e2da8a504a7cfac5209be1b9eed","lane":"lint","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":40,"stamp":"3c2c8529e929adc557d715982fd25653","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
Ci-Attestation: {"at":1791938104,"gate":"rust/x86_64-unknown-linux-gnu/clippy","host":"linux-x86_64","key":"78bf5c65ee34c99356ba4c2183f83300f2686e2da8a504a7cfac5209be1b9eed","lane":"lint","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":40,"stamp":"b1d9cc196881c7e18b2857410dfbac91","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
Ci-Attestation: {"at":1791938104,"gate":"rust/x86_64-unknown-linux-gnu/test","host":"linux-x86_64","key":"2de9cf7d2be097371d8dc91028a2bc267cde2b1d8e45d235bca2b477b28063b2","lane":"rust-test","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":141,"stamp":"edd662b9c123fb7f470c6eefbfe48d49","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
Ci-Attestation: {"at":1791938104,"gate":"rust/x86_64-pc-windows-msvc/clippy","host":"linux-x86_64","key":"54ac777362253c18a88cc7c671d8057f53d5a530dbf1063a1b3107cef8b468fa","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":142,"stamp":"79c9a38f289882b9bd4a57602d7e2e51","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
Ci-Attestation: {"at":1791938104,"gate":"rust/x86_64-pc-windows-msvc/dylint","host":"linux-x86_64","key":"54ac777362253c18a88cc7c671d8057f53d5a530dbf1063a1b3107cef8b468fa","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":142,"stamp":"34c8f5be99e31d5df5d380d3e7f4f198","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
Ci-Attestation: {"at":1791938104,"gate":"rust/aarch64-apple-darwin/clippy","host":"linux-x86_64","key":"54ac777362253c18a88cc7c671d8057f53d5a530dbf1063a1b3107cef8b468fa","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":142,"stamp":"6f5f4a218ca141a5c99cbbc8cfd76e5a","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
Ci-Attestation: {"at":1791938104,"gate":"rust/aarch64-apple-darwin/dylint","host":"linux-x86_64","key":"54ac777362253c18a88cc7c671d8057f53d5a530dbf1063a1b3107cef8b468fa","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":142,"stamp":"d94b33306ef666d19d557ccd3c5ffd67","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
Ci-Attestation: {"at":1791938104,"gate":"rust/x86_64-apple-darwin/clippy","host":"linux-x86_64","key":"54ac777362253c18a88cc7c671d8057f53d5a530dbf1063a1b3107cef8b468fa","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":142,"stamp":"99dc41c5fb54d538f9a0dbb1641322cf","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
Ci-Attestation: {"at":1791938104,"gate":"rust/x86_64-apple-darwin/dylint","host":"linux-x86_64","key":"54ac777362253c18a88cc7c671d8057f53d5a530dbf1063a1b3107cef8b468fa","lane":"cross","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":142,"stamp":"e4cb214157c354fe049670b93b7710cf","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
Ci-Attestation: {"at":1791938104,"gate":"cpp/linux-x64/tier2","host":"linux-x86_64","key":"f51efe2e56466cee7031c36b2e85bf5b30158bba50313ed99aa5a9e625ca3a09","lane":"tier2-linux","parents":["08483ba1e85e1fd3b79c46a9f9924a968b31a47c"],"secs":115,"stamp":"03c7b3524582528e3ed08f8be372c063","tree":"377c93f075497eaa73214ae719daa54df4290f54","v":1,"via":"run"}
@zackees

zackees commented Oct 14, 2026

Copy link
Copy Markdown
Member Author

Superseded by #660, the earlier duplicate parent integration with full native builds already running. The source trees of fork pins 175a666 and 547f5ea are identical. Local gate/review details and the pending native validation requirement were carried to #660; the #629 saved-profile package candidate will validate runtime behavior. Closing this duplicate preserves that live native run.

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.

bug: obs-websocket: Missing ImageFormat declaration breaks full native builds

1 participant