Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@snap/react-camera-kit",
"version": "0.5.0",
"version": "0.5.1",
"description": "React Camera Kit for web applications",
"type": "module",
"main": "./dist/cjs/index.js",
Expand Down
6 changes: 4 additions & 2 deletions src/usePlaybackOptions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -202,11 +202,13 @@ describe("usePlaybackOptions", () => {
});
});

it("should not set screen regions when undefined", () => {
it("should clear screen regions when undefined", async () => {
Comment thread
andriiboliboksc marked this conversation as resolved.
const options: PlaybackOptions = {};
renderHook(() => usePlaybackOptions(options));

expect(mockSetScreenRegions).not.toHaveBeenCalled();
await waitFor(() => {
expect(mockSetScreenRegions).toHaveBeenCalledWith({});
});
});

it("should update screen regions when changed", async () => {
Expand Down
6 changes: 3 additions & 3 deletions src/usePlaybackOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ export function usePlaybackOptions(options: PlaybackOptions) {
}, [currentSession, sdkStatus, options.muted, setMuted, log]);

useEffect(() => {
if (sdkStatus !== "ready" || !currentSession || !options.screenRegions) return;

setScreenRegions(options.screenRegions).catch((error) => {
if (sdkStatus !== "ready" || !currentSession) return;
// Coalesce to {} so clearing the prop clears the regions — setScreenRegions replaces the full set.
setScreenRegions(options.screenRegions ?? {}).catch((error) => {
log.error("screen_regions_apply_failed", { screenRegions: options.screenRegions }, error);
});
}, [currentSession, sdkStatus, options.screenRegions, setScreenRegions, log]);
Expand Down