)]}'
{
  "commit": "375693fc936c67b7460d4801d49d4c8527dbc789",
  "tree": "84e3624b3b2fdd35f9c7c19e1912bdf899d0f59f",
  "parents": [
    "417b8f76440c2a5fe5f8bf83847e425b4438ac27"
  ],
  "author": {
    "name": "AstroHan",
    "email": "lei.yuhan@outlook.com",
    "time": "Thu Aug 13 17:37:56 2026 +0800"
  },
  "committer": {
    "name": "AstroHan",
    "email": "lei.yuhan@outlook.com",
    "time": "Thu Aug 13 17:37:56 2026 +0800"
  },
  "message": "refactor(ui): collapse the composer send slot to one control\n\nThe send slot held two buttons mid-turn — Stop plus a primary Steer arrow —\nwhich is a control group in the position Astryx defines as a single send/stop\ntoggle. The second button was also redundant: Enter already steered, and Esc\nalready interrupts.\n\nThe slot is one button with two states again. Mid-turn an empty draft has\nnothing to submit, so it reads Stop; once there is a draft, submitting is the\nonly meaningful action there and it returns to the arrow. Stop stays on Esc in\nthat window.\n\nWith one submit on the surface, `onStreamingSubmit` has nothing left to mean:\nwhat handing the draft over does mid-turn is the host\u0027s reading of the same\naction, so both hosts now fold steering into `onSend`. Removing the prop takes\nthe composer\u0027s knowledge of steering with it.\n\nGenerated-by: Claude Code\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c7277ff978722ddf8b9393c0b2ca1e307bda98f4",
      "old_mode": 33188,
      "old_path": "apps/desktop/src/renderer/app-shell.tsx",
      "new_id": "1f31e47947b14102fe5c0417e063c6d3ca25193f",
      "new_mode": 33188,
      "new_path": "apps/desktop/src/renderer/app-shell.tsx"
    },
    {
      "type": "modify",
      "old_id": "e0437c928bb52590c536fe1d96a7031643fddefe",
      "old_mode": 33188,
      "old_path": "apps/desktop/src/renderer/quote-companion-panel.tsx",
      "new_id": "50aa549c0f45a2de6b3810a2980788153aefddb0",
      "new_mode": 33188,
      "new_path": "apps/desktop/src/renderer/quote-companion-panel.tsx"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9a4b70e5d0fab518c31fab7851f21d3c264221ee",
      "new_mode": 33188,
      "new_path": "packages/ui/src/__tests__/composer-send-toggle.test.tsx"
    },
    {
      "type": "modify",
      "old_id": "3f5cbb48114f931eb7f3483512214f14f1af61c7",
      "old_mode": 33188,
      "old_path": "packages/ui/src/composer.tsx",
      "new_id": "6e47bebea28b014b3fc1e1b9e9a13f99b1b7f5c5",
      "new_mode": 33188,
      "new_path": "packages/ui/src/composer.tsx"
    },
    {
      "type": "modify",
      "old_id": "9b35d3de3e4c134f6a4b406738a4de6450dbb7e6",
      "old_mode": 33188,
      "old_path": "packages/ui/src/styles.css",
      "new_id": "216e1c3a241d6e1213eb1d22002d9d91769a1442",
      "new_mode": 33188,
      "new_path": "packages/ui/src/styles.css"
    }
  ]
}
