What happened
In Maka Desktop, model-visible structured content cannot consistently be sent unless the inline editor also contains text.
- A reference-sized paste is staged as a "Pasted text" quote, but a quote-only submit is rejected or fails before the provider request.
- An image or other attachment cannot be submitted by itself.
- When a quote-only message is projected into the transcript, an empty user bubble is rendered beside the quote chip.
Expected: inline text, a quote, or an attachment should each be sufficient message content. Structured-only turns should reach the model and should not render an empty text bubble.
How to reproduce
- Run Maka Desktop from source.
- Paste enough text for the composer to stage it as a "Pasted text" quote, or attach an image.
- Leave the inline message editor empty.
- Press Send.
For quote-only turns that get past the composer, the Runtime Host fails the turn before the model call. A later plain-text message succeeds with the same connection.
Environment
- Maka commit: e562a87
- OS: Windows 10.0.26200.0 (x64)
- Surface: Desktop
- Node.js: v22.23.2
- Locale: zh-CN
Logs, screenshots, or additional context
The failed quote-only run records:
durable current-run projection is not replayable
Its replay diagnostics include:
The durable user RuntimeEvent has an empty text field and a non-empty quotes array. The replay visibility predicate checks only text length, so it drops model-visible structured context and rejects the resulting projection. The same text-only admission assumption also exists at the Desktop IPC, Runtime Host protocol, and root-turn persistence boundaries.
What happened
In Maka Desktop, model-visible structured content cannot consistently be sent unless the inline editor also contains text.
Expected: inline text, a quote, or an attachment should each be sufficient message content. Structured-only turns should reach the model and should not render an empty text bubble.
How to reproduce
For quote-only turns that get past the composer, the Runtime Host fails the turn before the model call. A later plain-text message succeeds with the same connection.
Environment
Logs, screenshots, or additional context
The failed quote-only run records:
Its replay diagnostics include:
The durable user RuntimeEvent has an empty text field and a non-empty quotes array. The replay visibility predicate checks only text length, so it drops model-visible structured context and rejects the resulting projection. The same text-only admission assumption also exists at the Desktop IPC, Runtime Host protocol, and root-turn persistence boundaries.