Skip to content

feat: visca commands on timeline#438

Draft
Julusian wants to merge 1 commit into
mainfrom
feat/visca-timeline
Draft

feat: visca commands on timeline#438
Julusian wants to merge 1 commit into
mainfrom
feat/visca-timeline

Conversation

@Julusian
Copy link
Copy Markdown
Member

About the Contributor

This pull request is posted on behalf of the BBC

Type of Contribution

This is a: Feature

New Behavior

The VISCA device exposes functionality as TSR actions, but not on the timeline. This translates relevant portions to be addressable on the timeline too.

Testing Instructions

Other Information

Status

  • PR is ready to be reviewed.
  • The functionality has been tested by the author.
  • Relevant unit tests has been added / updated.
  • Relevant documentation (code comments, system documentation) has been added / updated.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 23, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • ✅ Review completed - (🔄 Check again to review again)
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/visca-timeline

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Julusian Julusian force-pushed the feat/visca-timeline branch from cd7d0c6 to 52d7748 Compare February 23, 2026 16:48
@Julusian Julusian force-pushed the feat/visca-timeline branch from 52d7748 to a76c777 Compare February 23, 2026 16:52
@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/timeline-state-resolver/src/integrations/viscaOverIP/state.ts`:
- Around line 33-40: convertStateToVisca currently only filters by device type,
which can cause cross-device contamination when multiple VISCA_OVER_IP devices
share mappings; update convertStateToVisca to additionally check deviceId so
only layers mapped to the target device are processed. Modify the function
(convertStateToVisca) to accept a deviceId parameter or read deviceId from
this.context, then when iterating tlObject and resolving mapping
(mappings[tlObject.layer]), validate mapping.deviceId === deviceId along with
the existing checks (mapping && mapping.device === DeviceType.VISCA_OVER_IP &&
tlObject.content.deviceType === DeviceType.VISCA_OVER_IP) before processing the
tlObject. Ensure you handle undefined mapping.deviceId safely and add/update
tests for multiple VISCA_OVER_IP devices to prevent regressions.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0ea44b4 and a76c777.

⛔ Files ignored due to path filters (3)
  • packages/timeline-state-resolver-types/src/__tests__/__snapshots__/index.spec.ts.snap is excluded by !**/*.snap
  • packages/timeline-state-resolver-types/src/generated/viscaOverIP.ts is excluded by !**/generated/**
  • packages/timeline-state-resolver/src/__tests__/__snapshots__/index.spec.ts.snap is excluded by !**/*.snap
📒 Files selected for processing (14)
  • packages/timeline-state-resolver-api/$schemas/mapping-schema.json
  • packages/timeline-state-resolver-types/src/index.ts
  • packages/timeline-state-resolver-types/src/integrations/viscaOverIP.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/$schemas/mappings.json
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/__tests__/diff.spec.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/__tests__/state.spec.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/connection/commands/visca/focusCommand.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/connection/commands/visca/panTiltDriveCommand.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/connection/commands/visca/presetCommand.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/connection/commands/visca/zoomCommand.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/connection/lib/socket.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/diff.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/index.ts
  • packages/timeline-state-resolver/src/integrations/viscaOverIP/state.ts

@Julusian Julusian added the contribution from BBC Contributions sponsored by BBC (bbc.co.uk) label Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contribution from BBC Contributions sponsored by BBC (bbc.co.uk)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant