## Description
Brave emits additional SysEx framing bytes around an already complete Web MIDI
SysEx message. The same JavaScript, MIDI interface, cable, device, and macOS
system produce the correct packet in Chrome, Edge, and Firefox.
This makes request/reply SysEx protocols fail. In this case the target is a
Lumatone isomorphic keyboard. Its identity request receives no reply in Brave
because the transmitted stream is malformed.
Brave Shields were disabled for the test; this did not change the result.
## Environment
- Brave Browser: `152.1.94.117` (Brave `1.94.117`)
- macOS: `26.5.2` (`25F84`)
- Hardware: Apple silicon Mac
- MIDI device: Lumatone, firmware `1.3.0`
- Lumatone Editor: `1.0.2`
- SysEx permission: granted
## Steps to reproduce
1. Connect a MIDI device or MIDI monitor endpoint on macOS.
2. Open the attached `brave-web-midi-sysex-repro.html` from a secure context.
3. Click **Enable Web MIDI SysEx** and grant MIDI/SysEx access.
4. Select the output endpoint.
5. Click **Send Lumatone identity request**.
6. Inspect the output using Snoize MIDI Monitor or another CoreMIDI monitor.
The JavaScript sends one complete packet:
```js
output.send(
new Uint8Array([
0xf0, 0x00, 0x21, 0x50, 0x00, 0x23,
0x7f, 0x00, 0x00, 0x00, 0xf7,
]),
);
```
## Expected result
One 11-byte SysEx message is delivered to CoreMIDI:
```text
F0 00 21 50 00 23 7F 00 00 00 F7
```
The Lumatone replies with its 20-byte serial identity response.
## Actual result in Brave
MIDI Monitor reports an extra standalone SysEx start, the complete message, and
an invalid trailing byte/message:
```text
To Lumatone SysEx 1 byte F0
To Lumatone SysEx 11 bytes F0 00 21 50 00 23 7F 00 00 00 F7
To Lumatone Invalid 1 byte
```
The device does not reply.
## Cross-browser control
The same packet works correctly in current Chrome, Edge, and Firefox on the
same machine. Chrome receives the expected identity response and the subsequent
firmware query reports Lumatone firmware `1.3.0`:
```text
TX F0 00 21 50 00 23 7F 00 00 00 F7
RX F0 00 21 50 00 23 01 0E 00 0F 0F 0F 01 0D 09 01 01 00 0D F7
TX F0 00 21 50 00 31 00 00 00 00 F7
RX F0 00 21 50 00 31 01 01 03 00 F7
```
This appears to be a Brave-specific regression in the Web MIDI/CoreMIDI SysEx
output path rather than a device protocol, permission, or web application bug.
here a test html page:
Brave Web MIDI SysEx framing reproduction body { font: 16px/1.5 system-ui, sans-serif; margin: 2rem; max-width: 52rem; } button, select { font: inherit; margin: 0.25rem; padding: 0.4rem 0.6rem; } pre { background: #eee; padding: 1rem; white-space: pre-wrap; }Web MIDI SysEx framing reproduction
Serve this file from localhost or another secure context. Enable SysEx,
select an output, and monitor the CoreMIDI output while sending one packet.
Enable Web MIDI SysEx
Send Lumatone identity request
Not enabled.