)]}'
{
  "commit": "65b0fe9dab7dd2921d7416edd2ed5393fc8e9da7",
  "tree": "7840cad9f15fa77d914059cc843565158a06e2f1",
  "parents": [
    "6d08a5cabb5552acac50a46897b065bf0a11cb05"
  ],
  "author": {
    "name": "Dylan Pulver",
    "email": "dylanpulver@users.noreply.github.com",
    "time": "Tue Sep 01 15:13:16 2026"
  },
  "committer": {
    "name": "Samuel Thibault",
    "email": "samuel.thibault@ens-lyon.org",
    "time": "Tue Sep 01 22:01:38 2026"
  },
  "message": "fix: spd_set_notification must not always send NOTIFICATION ALL\n\nNOTIFICATION_SET tests a single bit, but SPD_ALL is 0x3f, the union of\nthe six event bits (include/speechd_types.h:76-83). So\n\"SET SELF NOTIFICATION ALL\" was emitted for any non-zero argument, and\nlast, and set_notification_self() (src/server/set.c:502-508) applies\n\"all\" to all six events.\n\nspd_set_notification_on(conn, SPD_END) therefore enabled every event,\nand spd_set_notification_off(conn, SPD_BEGIN) disabled every event,\nincluding the END and CANCEL a client may be waiting on.\n\nTest every bit of val instead of any. For the six single-bit values the\ntwo tests are equivalent, so only the SPD_ALL line changes behaviour.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "adc72c9bc8c2357103cc335fc687db18274cc262",
      "old_mode": 33188,
      "old_path": "src/api/c/libspeechd.c",
      "new_id": "dc6d2f5b183cbb6d45514ba1356c22b996907b83",
      "new_mode": 33188,
      "new_path": "src/api/c/libspeechd.c"
    }
  ]
}
