Skip to content

feat: Add hardware acceleration toggle with restart confirmation (Desktop only) [WPB-22425]#20441

Open
EnricoSchw wants to merge 4 commits intodevfrom
fix/camera-decoding-issue-WPB-22425
Open

feat: Add hardware acceleration toggle with restart confirmation (Desktop only) [WPB-22425]#20441
EnricoSchw wants to merge 4 commits intodevfrom
fix/camera-decoding-issue-WPB-22425

Conversation

@EnricoSchw
Copy link
Contributor

@EnricoSchw EnricoSchw commented Feb 18, 2026

BugWPB-22425 [Web] - Camera Decoding Issue

#Summary

This PR introduces a hardware acceleration toggle in the Call Preferences (Desktop only).

Since hardware acceleration can only be applied during application startup, changing this setting now requires a restart. A confirmation modal is shown before applying the change.


Security Checklist (required)

  • External inputs are validated & sanitized on client and/or server where applicable.
  • API responses are validated; unexpected shapes are handled safely (fallbacks or errors).
  • No unsafe HTML is rendered; if unavoidable, sanitization is applied and documented where it happens.
  • Injection risks (XSS/SQL/command) are prevented via safe APIs and/or escaping.

Accessibility (required)

Standards Acknowledgement (required)


Screenshots or demo (if the user interface changed)

Bildschirmfoto 2026-02-18 um 15 07 17

Notes for reviewers

  • Trade-offs:
  • Follow-ups (linked issues):
  • Linked PRs (e.g. web-packages):

@sonarqubecloud
Copy link

@github-actions
Copy link
Contributor

🔗 Download Full Report Artifact

🧪 Playwright Test Summary

  • Passed: 9
  • Failed: 0
  • Skipped: 4
  • 🔁 Flaky: 1
  • 📊 Total: 14
  • Total Runtime: 325.7s (~ 5 min 26 sec)
specs/CriticalFlow/conversationManagement-TC-8636.spec.ts (❌ 0 failed, ⚠️ 1 flaky)
  • ⚠️ Conversation Management (tags: TC-8636, crit-flow-web)

return window.desktopAppConfig;
},
getDesktopSettings: () => {
if (!Runtime.isDesktopApp) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
if (!Runtime.isDesktopApp) {
if (!Runtime.isDesktopApp()) {

<Checkbox
onChange={handleHardwareAccelerationChange}
checked={hardwareAccelerationEnabled}
data-uie-name="status-preference-hardware-acceleration"
Copy link
Contributor

Choose a reason for hiding this comment

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

the htmlFor attribute in the CheckboxLabel looks for id in the Checkbox

Suggested change
data-uie-name="status-preference-hardware-acceleration"
id="status-preference-hardware-acceleration" data-uie-name="status-preference-hardware-acceleration"


setShowHwRestartModal(false);

amplify.publish(WebAppEvents.LIFECYCLE.RESTART);
Copy link
Contributor

Choose a reason for hiding this comment

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

if restart is delayed then pendingHwValue will be stale

Suggested change
amplify.publish(WebAppEvents.LIFECYCLE.RESTART);
amplify.publish(WebAppEvents.LIFECYCLE.RESTART);
setPendingHwValue(null);

'preferencesOptionsEmojiReplaceDetail': `:-) → [icon]`;
'preferencesOptionsEnableAgcCheckbox': `Automatic gain control (AGC)`;
'preferencesOptionsEnableAgcDetails': `Enable to allow your microphone volume to be adjusted automatically to ensure all participants in a call are heard with similar and comfortable loudness.`;
'preferencesOptionsEnableHardwareAcceleration': `Enable Hardware Acceleration (Recommended)`;
Copy link
Contributor

Choose a reason for hiding this comment

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

These keys must also be added in the en-US.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants