Skip to content

Fix: _WD_CapabilitiesAdd wiping vendor object on empty primitive value - #557

Open
Danp2 wants to merge 1 commit into
masterfrom
fix/capabilitiesadd-empty-value-vendor-wipe
Open

Fix: _WD_CapabilitiesAdd wiping vendor object on empty primitive value#557
Danp2 wants to merge 1 commit into
masterfrom
fix/capabilitiesadd-empty-value-vendor-wipe

Conversation

@Danp2

@Danp2 Danp2 commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Pull request

Proposed changes

In the SPECIFICVENDOR_PRIMITIVE branch, the capability key name was only appended to the JSON notation when $value1 was non-empty. Since $value1 defaults to '' when the caller omits it, a call like _WD_CapabilitiesAdd('detach') left $s_Notation pointing at the whole vendor-options object (e.g. "ms:edgeOptions"), and the subsequent Json_Put() replaced that entire object with '', destroying any previously-added sibling capabilities (args, prefs, etc).

Always append the key, matching the unconditional behavior already used by the neighboring SPECIFICVENDOR_ARRAY/SPECIFICVENDOR_OBJECT branches.

Checklist

Put an x in the boxes that apply. If you're unsure about any of them, don't hesitate to ask. We are here to help!

This is simply a reminder of what we are going to look for before merging your code.

  • I have read and noticed the CODE OF CONDUCT document
  • I have read and noticed the CONTRIBUTING document
  • I have added necessary documentation or screenshots (if appropriate)

Types of changes

Please check x the type of change your PR introduces:

  • Bugfix (change which fixes an issue)
  • Feature (change which adds functionality)
  • Code style update (formatting, renaming)
  • Refactoring (functional, structural)
  • Documentation content changes
  • Other (please describe)

What is the current behavior?

Please describe the current behavior that you are modifying, or link to a relevant issue.

What is the new behavior?

Please describe the behavior or changes that are being added by this PR.

Influences and relationship to other functionality

Describe how the changes will affect other functions, potential script breaking changes, etc.

Additional context

Add any other context about the problem here.

System under test

Please complete the following information.

  • OS: [e.g. Windows 10]
  • OS Arch.: [e.g. X64]
  • Browser [e.g. firefox]
  • Browser version [e.g. 96.0.3]

In the SPECIFICVENDOR_PRIMITIVE branch, the capability key name was
only appended to the JSON notation when $value1 was non-empty. Since
$value1 defaults to '' when the caller omits it, a call like
_WD_CapabilitiesAdd('detach') left $s_Notation pointing at the whole
vendor-options object (e.g. "ms:edgeOptions"), and the subsequent
Json_Put() replaced that entire object with '', destroying any
previously-added sibling capabilities (args, prefs, etc). Always
append the key, matching the unconditional behavior already used by
the neighboring SPECIFICVENDOR_ARRAY/SPECIFICVENDOR_OBJECT branches.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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