@dylanpiercey/work 0.0.73 → 0.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/{_a4E7JVTq.js → _C4T3WOc-.js} +327 -293
  2. package/dist/{_hclnI8dX.js → _JZKScK_6.js} +2 -2
  3. package/dist/index.mjs +146 -146
  4. package/dist/public/assets/{_29x9Ht-Q2.js → _0_BxD6tA2.js} +1 -1
  5. package/dist/public/assets/_0_BxD6tA2.js.br +0 -0
  6. package/dist/public/assets/{_B-PT04Ok2.js → _B-ZLatX02.js} +1 -1
  7. package/dist/public/assets/_B-ZLatX02.js.br +0 -0
  8. package/dist/public/assets/{_ynuKZgua2.js → _B-vJ063K2.js} +1 -1
  9. package/dist/public/assets/_B-vJ063K2.js.br +0 -0
  10. package/dist/public/assets/{_CdWuqeZK.js → _B3-kV650.js} +1 -1
  11. package/dist/public/assets/_B3-kV650.js.br +0 -0
  12. package/dist/public/assets/{_DswD_yru2.js → _B6cp2Tnt2.js} +1 -1
  13. package/dist/public/assets/_B6cp2Tnt2.js.br +0 -0
  14. package/dist/public/assets/{_BYAOEh2-.js → _B7qLfWk7.js} +1 -1
  15. package/dist/public/assets/_B7qLfWk7.js.br +0 -0
  16. package/dist/public/assets/{_Dnrrwurs.js → _B8yL5yfH.js} +1 -1
  17. package/dist/public/assets/_B8yL5yfH.js.br +0 -0
  18. package/dist/public/assets/{_YuhWYT9L.js → _BAM8hQx8.js} +1 -1
  19. package/dist/public/assets/_BAM8hQx8.js.br +0 -0
  20. package/dist/public/assets/{_CYjQ_rQU.js → _BCELU8uk.js} +1 -1
  21. package/dist/public/assets/_BCELU8uk.js.br +0 -0
  22. package/dist/public/assets/{_DC8LVwVY.js → _BEsGJwj1.js} +1 -1
  23. package/dist/public/assets/_BEsGJwj1.js.br +0 -0
  24. package/dist/public/assets/{_CdB7VHwX2.js → _BIlkaSXj2.js} +1 -1
  25. package/dist/public/assets/_BIlkaSXj2.js.br +0 -0
  26. package/dist/public/assets/{_ByMM8N1r.js → _BRKdH0Xv.js} +1 -1
  27. package/dist/public/assets/_BRKdH0Xv.js.br +0 -0
  28. package/dist/public/assets/{_D-P8DqvK2.js → _BRrshe202.js} +1 -1
  29. package/dist/public/assets/{_CMkaOgq5.js → _BSnpBPhR.js} +1 -1
  30. package/dist/public/assets/_BSnpBPhR.js.br +0 -0
  31. package/dist/public/assets/{_Bud2gpcs.js → _Bf8W6hR7.js} +1 -1
  32. package/dist/public/assets/_Bf8W6hR7.js.br +0 -0
  33. package/dist/public/assets/{_C-JDWYNo2.js → _BjS-vjVo2.js} +1 -1
  34. package/dist/public/assets/_BjS-vjVo2.js.br +0 -0
  35. package/dist/public/assets/{_D7mRLhwX2.js → _BsMtWEvw2.js} +1 -1
  36. package/dist/public/assets/_BsMtWEvw2.js.br +0 -0
  37. package/dist/public/assets/{_DQSUDhad.js → _Bsi-MUb-.js} +1 -1
  38. package/dist/public/assets/_Bsi-MUb-.js.br +0 -0
  39. package/dist/public/assets/{_DJARroah2.js → _C4OOpxns2.js} +1 -1
  40. package/dist/public/assets/_C4OOpxns2.js.br +0 -0
  41. package/dist/public/assets/{_BhRT35mT.js → _C4bcAkxw.js} +4 -4
  42. package/dist/public/assets/_C4bcAkxw.js.br +0 -0
  43. package/dist/public/assets/{_C6iBocvM2.js → _CEjOmogC2.js} +1 -1
  44. package/dist/public/assets/_CEjOmogC2.js.br +0 -0
  45. package/dist/public/assets/{_Ce-R03cZ2.js → _CHUg0ksH2.js} +1 -1
  46. package/dist/public/assets/_CHUg0ksH2.js.br +0 -0
  47. package/dist/public/assets/{_BmDB0rQV.js → _CJmkmGNg.js} +1 -1
  48. package/dist/public/assets/_CJmkmGNg.js.br +0 -0
  49. package/dist/public/assets/{_CkNCn2942.js → _CKkkXYf42.js} +1 -1
  50. package/dist/public/assets/_CKkkXYf42.js.br +0 -0
  51. package/dist/public/assets/{_ChkPwLnS2.js → _CL6hsAgf2.js} +1 -1
  52. package/dist/public/assets/_CL6hsAgf2.js.br +0 -0
  53. package/dist/public/assets/{_DynCQhpp.js → _CNHWN4ne.js} +1 -1
  54. package/dist/public/assets/_CNHWN4ne.js.br +0 -0
  55. package/dist/public/assets/{_Mggy21Fi.js → _COQdreVN.js} +1 -1
  56. package/dist/public/assets/_COQdreVN.js.br +0 -0
  57. package/dist/public/assets/{_QfF14R_b.js → _CRzcId75.js} +1 -1
  58. package/dist/public/assets/_CRzcId75.js.br +0 -0
  59. package/dist/public/assets/{_mn9C4e-7.js → _CSSWCImt.js} +1 -1
  60. package/dist/public/assets/_CSSWCImt.js.br +0 -0
  61. package/dist/public/assets/{_DKHAhfGs.js → _CTIj6y6q.js} +1 -1
  62. package/dist/public/assets/_CTIj6y6q.js.br +0 -0
  63. package/dist/public/assets/{_DcXafbQI.js → _CVQsXn4K.js} +1 -1
  64. package/dist/public/assets/_CVQsXn4K.js.br +0 -0
  65. package/dist/public/assets/{_CnaMcooO.js → _CY8DnUYp.js} +1 -1
  66. package/dist/public/assets/_CY8DnUYp.js.br +0 -0
  67. package/dist/public/assets/{_Bx-jImeN.js → _CbnLiunX.js} +1 -1
  68. package/dist/public/assets/_CbnLiunX.js.br +0 -0
  69. package/dist/public/assets/{_C7CzRI13.js → _Ckz3mCrC.js} +1 -1
  70. package/dist/public/assets/_Ckz3mCrC.js.br +0 -0
  71. package/dist/public/assets/{_BUc_Vl5e.js → _Cl6zL1rb.js} +1 -1
  72. package/dist/public/assets/_Cl6zL1rb.js.br +0 -0
  73. package/dist/public/assets/{_Ce2B5H6R.js → _CmATrSbQ.js} +1 -1
  74. package/dist/public/assets/_CmATrSbQ.js.br +0 -0
  75. package/dist/public/assets/{_CQ_0JcVs2.js → _Cq4B-czG2.js} +1 -1
  76. package/dist/public/assets/_Cq4B-czG2.js.br +0 -0
  77. package/dist/public/assets/{_Dh1jAyYX.js → _CqJy9zqf.js} +1 -1
  78. package/dist/public/assets/_CqJy9zqf.js.br +0 -0
  79. package/dist/public/assets/{_D6MZcQKP.js → _Cv5cB1Gc.js} +1 -1
  80. package/dist/public/assets/_Cv5cB1Gc.js.br +0 -0
  81. package/dist/public/assets/{_bYuFEVvN.js → _CvqFUYec.js} +1 -1
  82. package/dist/public/assets/_CvqFUYec.js.br +0 -0
  83. package/dist/public/assets/{_A-SnIf68.js → _Cy4Qu_lY.js} +1 -1
  84. package/dist/public/assets/_Cy4Qu_lY.js.br +0 -0
  85. package/dist/public/assets/{_EA4z6Ocg.js → _Cy6s-DjW.js} +1 -1
  86. package/dist/public/assets/_Cy6s-DjW.js.br +0 -0
  87. package/dist/public/assets/{_CJDpwABS.js → _Cymp0KkN.js} +1 -1
  88. package/dist/public/assets/_Cymp0KkN.js.br +0 -0
  89. package/dist/public/assets/{_srUTg489.js → _CzvbtXgZ.js} +1 -1
  90. package/dist/public/assets/_CzvbtXgZ.js.br +0 -0
  91. package/dist/public/assets/{_C6Eavzmt.js → _D-wyWmAu.js} +1 -1
  92. package/dist/public/assets/_D-wyWmAu.js.br +0 -0
  93. package/dist/public/assets/{_BN-ThWaS.js → _DAQlNNDT.js} +1 -1
  94. package/dist/public/assets/_DAQlNNDT.js.br +0 -0
  95. package/dist/public/assets/{_CiYb_Bp1.js → _DCLWmEuS.js} +1 -1
  96. package/dist/public/assets/_DCLWmEuS.js.br +0 -0
  97. package/dist/public/assets/{_DK6p9z1j2.js → _DHth5jay2.js} +1 -1
  98. package/dist/public/assets/_DHth5jay2.js.br +0 -0
  99. package/dist/public/assets/{_CIkNdjAJ.js → _DI_ZoCy4.js} +1 -1
  100. package/dist/public/assets/_DI_ZoCy4.js.br +0 -0
  101. package/dist/public/assets/{_CkABEOAv.js → _DPPdU-Av.js} +1 -1
  102. package/dist/public/assets/_DPPdU-Av.js.br +0 -0
  103. package/dist/public/assets/{_C-ifLHsW.js → _DPfjt9fQ.js} +1 -1
  104. package/dist/public/assets/_DPfjt9fQ.js.br +0 -0
  105. package/dist/public/assets/{_UJESRnqQ.js → _DTZJyM9w.js} +1 -1
  106. package/dist/public/assets/_DTZJyM9w.js.br +0 -0
  107. package/dist/public/assets/{_DSWOPuxC2.js → _DXCkImvC2.js} +1 -1
  108. package/dist/public/assets/{_BU_ZD020.js → _DdSK0SaL.js} +1 -1
  109. package/dist/public/assets/_DdSK0SaL.js.br +0 -0
  110. package/dist/public/assets/{_D99GO9JW2.js → _Dim3Qa8e2.js} +1 -1
  111. package/dist/public/assets/_Dim3Qa8e2.js.br +0 -0
  112. package/dist/public/assets/{_Bpr7lRdd.js → _DncKjJb4.js} +1 -1
  113. package/dist/public/assets/_DncKjJb4.js.br +0 -0
  114. package/dist/public/assets/{_DSiaWqg3.js → _DsjVSWqF.js} +1 -1
  115. package/dist/public/assets/_DsjVSWqF.js.br +0 -0
  116. package/dist/public/assets/{_CSfPA_mo.js → _DwvzTp2-.js} +1 -1
  117. package/dist/public/assets/_DwvzTp2-.js.br +0 -0
  118. package/dist/public/assets/{_C9CdATEd2.js → _DxrYm2uA2.js} +1 -1
  119. package/dist/public/assets/_DxrYm2uA2.js.br +0 -0
  120. package/dist/public/assets/{_CHhO4fFL.js → _DztmqTsm.js} +1 -1
  121. package/dist/public/assets/_DztmqTsm.js.br +0 -0
  122. package/dist/public/assets/{_T__665hy.js → _ETZIHvA2.js} +1 -1
  123. package/dist/public/assets/_ETZIHvA2.js.br +0 -0
  124. package/dist/public/assets/{_DngVnDg5.js → _FgVKeYCS.js} +1 -1
  125. package/dist/public/assets/_FgVKeYCS.js.br +0 -0
  126. package/dist/public/assets/{_DgqFUsuu.js → _JL1loQ5W.js} +1 -1
  127. package/dist/public/assets/_JL1loQ5W.js.br +0 -0
  128. package/dist/public/assets/{_C1RzE6Mp.js → _QP0MFlyi.js} +1 -1
  129. package/dist/public/assets/_QP0MFlyi.js.br +0 -0
  130. package/dist/public/assets/{_DcfF8nxm.js → _RZIVk7xV.js} +1 -1
  131. package/dist/public/assets/_RZIVk7xV.js.br +0 -0
  132. package/dist/public/assets/{_BTjgy5c62.js → _RjnwisyN2.js} +1 -1
  133. package/dist/public/assets/_RjnwisyN2.js.br +0 -0
  134. package/dist/public/assets/{_CtowbQCb2.js → _U11SdqZG2.js} +1 -1
  135. package/dist/public/assets/_U11SdqZG2.js.br +0 -0
  136. package/dist/public/assets/{_CKSRE8zv2.js → _XSVpb5jO2.js} +1 -1
  137. package/dist/public/assets/_XSVpb5jO2.js.br +0 -0
  138. package/dist/public/assets/{_YxDFo3_J.js → _fDUiWXKb.js} +1 -1
  139. package/dist/public/assets/_fDUiWXKb.js.br +0 -0
  140. package/dist/public/assets/{_DESY84xu2.js → _kVKsguoi2.js} +1 -1
  141. package/dist/public/assets/_kVKsguoi2.js.br +0 -0
  142. package/dist/public/assets/{_DoN89b6G2.js → _o_bMNXwQ2.js} +1 -1
  143. package/dist/public/assets/_o_bMNXwQ2.js.br +0 -0
  144. package/dist/public/assets/{_CQeNDnCp.js → _tP5Jh-Ws.js} +45 -45
  145. package/dist/public/assets/_tP5Jh-Ws.js.br +0 -0
  146. package/dist/public/assets/{_C0xjFWIM.js → _tpRUSSso.js} +1 -1
  147. package/dist/public/assets/_tpRUSSso.js.br +0 -0
  148. package/dist/public/assets/{_CE-w6G87.js → _uEb-xDmI.js} +1 -1
  149. package/dist/public/assets/{_CpByMJ40.js → _uKsdufG5.js} +1 -1
  150. package/dist/public/assets/_uKsdufG5.js.br +0 -0
  151. package/dist/public/assets/{_BGsHhxfZ2.js → _vs0DFS9r2.js} +1 -1
  152. package/dist/public/assets/_vs0DFS9r2.js.br +0 -0
  153. package/dist/public/assets/{app-page-B0jusuKZ.css → app-page-KK8yJIbR.css} +1 -1
  154. package/dist/public/assets/app-page-KK8yJIbR.css.br +0 -0
  155. package/dist/public/assets/diff-view-TbHko8ib.css +1 -0
  156. package/dist/public/assets/diff-view-TbHko8ib.css.br +0 -0
  157. package/dist/public/assets/new-OSO__hUI.js +1 -0
  158. package/dist/public/assets/settings-OSO__hUI.js +1 -0
  159. package/dist/public/assets/w-OSO__hUI.js +1 -0
  160. package/dist/public/assets/w._-BVUaVdRa.js +1 -0
  161. package/dist/public/assets/w._-OSO__hUI.js +1 -0
  162. package/package.json +1 -1
  163. package/dist/public/assets/_29x9Ht-Q2.js.br +0 -0
  164. package/dist/public/assets/_A-SnIf68.js.br +0 -0
  165. package/dist/public/assets/_B-PT04Ok2.js.br +0 -0
  166. package/dist/public/assets/_BGsHhxfZ2.js.br +0 -0
  167. package/dist/public/assets/_BN-ThWaS.js.br +0 -0
  168. package/dist/public/assets/_BTjgy5c62.js.br +0 -0
  169. package/dist/public/assets/_BU_ZD020.js.br +0 -0
  170. package/dist/public/assets/_BUc_Vl5e.js.br +0 -0
  171. package/dist/public/assets/_BYAOEh2-.js.br +0 -0
  172. package/dist/public/assets/_BhRT35mT.js.br +0 -0
  173. package/dist/public/assets/_BmDB0rQV.js.br +0 -0
  174. package/dist/public/assets/_Bpr7lRdd.js.br +0 -0
  175. package/dist/public/assets/_Bud2gpcs.js.br +0 -0
  176. package/dist/public/assets/_Bx-jImeN.js.br +0 -0
  177. package/dist/public/assets/_ByMM8N1r.js.br +0 -0
  178. package/dist/public/assets/_C-JDWYNo2.js.br +0 -0
  179. package/dist/public/assets/_C-ifLHsW.js.br +0 -0
  180. package/dist/public/assets/_C0xjFWIM.js.br +0 -0
  181. package/dist/public/assets/_C1RzE6Mp.js.br +0 -0
  182. package/dist/public/assets/_C6Eavzmt.js.br +0 -0
  183. package/dist/public/assets/_C6iBocvM2.js.br +0 -0
  184. package/dist/public/assets/_C7CzRI13.js.br +0 -0
  185. package/dist/public/assets/_C9CdATEd2.js.br +0 -0
  186. package/dist/public/assets/_CHhO4fFL.js.br +0 -0
  187. package/dist/public/assets/_CIkNdjAJ.js.br +0 -0
  188. package/dist/public/assets/_CJDpwABS.js.br +0 -0
  189. package/dist/public/assets/_CKSRE8zv2.js.br +0 -0
  190. package/dist/public/assets/_CMkaOgq5.js.br +0 -0
  191. package/dist/public/assets/_CQ_0JcVs2.js.br +0 -0
  192. package/dist/public/assets/_CQeNDnCp.js.br +0 -0
  193. package/dist/public/assets/_CSfPA_mo.js.br +0 -0
  194. package/dist/public/assets/_CYjQ_rQU.js.br +0 -0
  195. package/dist/public/assets/_CdB7VHwX2.js.br +0 -0
  196. package/dist/public/assets/_CdWuqeZK.js.br +0 -0
  197. package/dist/public/assets/_Ce-R03cZ2.js.br +0 -0
  198. package/dist/public/assets/_Ce2B5H6R.js.br +0 -0
  199. package/dist/public/assets/_ChkPwLnS2.js.br +0 -0
  200. package/dist/public/assets/_CiYb_Bp1.js.br +0 -0
  201. package/dist/public/assets/_CkABEOAv.js.br +0 -0
  202. package/dist/public/assets/_CkNCn2942.js.br +0 -0
  203. package/dist/public/assets/_CnaMcooO.js.br +0 -0
  204. package/dist/public/assets/_CpByMJ40.js.br +0 -0
  205. package/dist/public/assets/_CtowbQCb2.js.br +0 -0
  206. package/dist/public/assets/_D6MZcQKP.js.br +0 -0
  207. package/dist/public/assets/_D7mRLhwX2.js.br +0 -0
  208. package/dist/public/assets/_D99GO9JW2.js.br +0 -0
  209. package/dist/public/assets/_DC8LVwVY.js.br +0 -0
  210. package/dist/public/assets/_DESY84xu2.js.br +0 -0
  211. package/dist/public/assets/_DJARroah2.js.br +0 -0
  212. package/dist/public/assets/_DK6p9z1j2.js.br +0 -0
  213. package/dist/public/assets/_DKHAhfGs.js.br +0 -0
  214. package/dist/public/assets/_DQSUDhad.js.br +0 -0
  215. package/dist/public/assets/_DSiaWqg3.js.br +0 -0
  216. package/dist/public/assets/_DcXafbQI.js.br +0 -0
  217. package/dist/public/assets/_DcfF8nxm.js.br +0 -0
  218. package/dist/public/assets/_DgqFUsuu.js.br +0 -0
  219. package/dist/public/assets/_Dh1jAyYX.js.br +0 -0
  220. package/dist/public/assets/_DngVnDg5.js.br +0 -0
  221. package/dist/public/assets/_Dnrrwurs.js.br +0 -0
  222. package/dist/public/assets/_DoN89b6G2.js.br +0 -0
  223. package/dist/public/assets/_DswD_yru2.js.br +0 -0
  224. package/dist/public/assets/_DynCQhpp.js.br +0 -0
  225. package/dist/public/assets/_EA4z6Ocg.js.br +0 -0
  226. package/dist/public/assets/_Mggy21Fi.js.br +0 -0
  227. package/dist/public/assets/_QfF14R_b.js.br +0 -0
  228. package/dist/public/assets/_T__665hy.js.br +0 -0
  229. package/dist/public/assets/_UJESRnqQ.js.br +0 -0
  230. package/dist/public/assets/_YuhWYT9L.js.br +0 -0
  231. package/dist/public/assets/_YxDFo3_J.js.br +0 -0
  232. package/dist/public/assets/_bYuFEVvN.js.br +0 -0
  233. package/dist/public/assets/_mn9C4e-7.js.br +0 -0
  234. package/dist/public/assets/_srUTg489.js.br +0 -0
  235. package/dist/public/assets/_ynuKZgua2.js.br +0 -0
  236. package/dist/public/assets/app-page-B0jusuKZ.css.br +0 -0
  237. package/dist/public/assets/diff-view-CXzNOw49.css +0 -1
  238. package/dist/public/assets/diff-view-CXzNOw49.css.br +0 -0
  239. package/dist/public/assets/new-DEf08lXy.js +0 -1
  240. package/dist/public/assets/settings-DEf08lXy.js +0 -1
  241. package/dist/public/assets/w-DEf08lXy.js +0 -1
  242. package/dist/public/assets/w._-C3AKQvSa.js +0 -1
  243. package/dist/public/assets/w._-DEf08lXy.js +0 -1
@@ -1,4 +1,4 @@
1
- import { B as _attr_select_value, D as iconBtnRow, Dt as writeScope, E as iconBtnLg, F as _attr_class, I as _attr_details_or_dialog_open, J as _el, K as _content_resume, L as _attr_input_value, M as tone, P as _attr, Q as _existing_scope, R as _attr_option_value, V as _attr_style, X as _el_resume, Y as _el_read_error, Z as _escape, _t as _show_end, a as diffTreeOpen, at as _if, bt as _template, ct as _resume_branch, dt as _scope_with_id, et as _for_of, f as icon_search_default, ft as _script, gt as _set_serialize_reason, ht as _serialize_if, i as diffScope, lt as _scope_id, m as icon_refresh_default, mt as _serialize_guard, n as findInput, o as setDiffScope, ot as _peek_scope_id, p as icon_back_default, pt as _sep, r as icon_sidebar_default, rt as _html, st as _resume, t as findIconBtn, u as fuzzy, ut as _scope_reason, v as toast_default, vt as _show_start, x as repoLabel, y as icon_xmark_default, yt as _subscribe } from "./_hclnI8dX.js";
1
+ import { B as _attr_select_value, D as iconBtnRow, Dt as writeScope, E as iconBtnLg, F as _attr_class, I as _attr_details_or_dialog_open, J as _el, K as _content_resume, L as _attr_input_value, M as tone, P as _attr, Q as _existing_scope, R as _attr_option_value, V as _attr_style, X as _el_resume, Y as _el_read_error, Z as _escape, _t as _show_end, a as diffTreeOpen, at as _if, bt as _template, ct as _resume_branch, dt as _scope_with_id, et as _for_of, f as icon_search_default, ft as _script, gt as _set_serialize_reason, ht as _serialize_if, i as diffScope, lt as _scope_id, m as icon_refresh_default, mt as _serialize_guard, n as findInput, o as setDiffScope, ot as _peek_scope_id, p as icon_back_default, pt as _sep, r as icon_sidebar_default, rt as _html, st as _resume, t as findIconBtn, u as fuzzy, ut as _scope_reason, v as toast_default, vt as _show_start, x as repoLabel, y as icon_xmark_default, yt as _subscribe } from "./_JZKScK_6.js";
2
2
  //#region src/client/router.ts
3
3
  function urlFor(r) {
4
4
  if (r.view === "settings") return "/settings";
@@ -247,7 +247,7 @@ function treeRows(files) {
247
247
  walk(root, 0, "");
248
248
  return rows;
249
249
  }
250
- var treeToggle = "_c_ _X _g";
250
+ var treeToggle = "_ef _X _g";
251
251
  //#endregion
252
252
  //#region src/tags/diff-send.marko
253
253
  var diff_send_default = _template("h", (input) => {
@@ -257,7 +257,7 @@ var diff_send_default = _template("h", (input) => {
257
257
  let sendTarget = null;
258
258
  const sessions = input.sessions || [];
259
259
  const sendPick = sessions.some((s) => s.id === sendTarget) ? sendTarget : sessions[0]?.id ?? null;
260
- _html(`<span${_attr_class("_ef")}><button type=button${_attr_class("_l")} title="Copy comments as markdown">Copy${_el_resume($scope0_id, "c")}</button>${_el_resume($scope0_id, "b")}`);
260
+ _html(`<span${_attr_class("_eF")}><button type=button${_attr_class("_l")} title="Copy comments as markdown">Copy${_el_resume($scope0_id, "c")}</button>${_el_resume($scope0_id, "b")}`);
261
261
  _if(() => {
262
262
  if (sessions.length === 1) {
263
263
  const $scope1_id = _scope_id();
@@ -267,11 +267,11 @@ var diff_send_default = _template("h", (input) => {
267
267
  return 0;
268
268
  } else if (sessions.length) {
269
269
  const $scope2_id = _scope_id();
270
- _html(`<span${_attr_class("_eg")}><button type=button${_attr_class(["_m", "_eh"])}${_attr("disabled", sending)}>Send to${_el_resume($scope2_id, "c")}</button>${_el_resume($scope2_id, "b")}`);
270
+ _html(`<span${_attr_class("_eG")}><button type=button${_attr_class(["_m", "_eH"])}${_attr("disabled", sending)}>Send to${_el_resume($scope2_id, "c")}</button>${_el_resume($scope2_id, "b")}`);
271
271
  _attr_select_value($scope2_id, "d", sendTarget, _resume((_new_sendTarget) => {
272
272
  sendTarget = _new_sendTarget;
273
273
  }, "h0", $scope2_id), () => {
274
- _html(`<select${_attr_class("_ei")} aria-label="Send comments to session"${_attr("disabled", sending)}>`);
274
+ _html(`<select${_attr_class("_eI")} aria-label="Send comments to session"${_attr("disabled", sending)}>`);
275
275
  _for_of(sessions, (s) => {
276
276
  const $scope3_id = _scope_id();
277
277
  _html(`<option${_attr_option_value(s.id)}>${_escape(s.title || s.agent)}${_el_resume($scope3_id, "b", $sg__input_sessions)}</option>${_el_resume($scope3_id, "a", $sg__input_sessions)}`);
@@ -1807,9 +1807,9 @@ var diff_find_default = _template("g", (input) => {
1807
1807
  el.select();
1808
1808
  }, 0);
1809
1809
  }, "g5", $scope0_id);
1810
- _html(`<div${_attr_class(["_eN", !open && "_eM"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
1810
+ _html(`<div${_attr_class(["_eK", !open && "_eJ"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
1811
1811
  type(v);
1812
- }, "g0", $scope0_id))}${_attr_class(findInput)} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in review" aria-label="Find in review">${_el_resume($scope0_id, "b")}<span${_attr_class("_eQ")}>${open && (query || "").trim() ? hits.length ? `${_escape(`${at + 1}`)}/${_escape(`${hits.length}`)}` : "0/0" : ""}${_el_resume($scope0_id, "d")}</span><button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>↑</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class(findIconBtn)} title="Next match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>↓</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class(findIconBtn)} title="Close find" tabindex=${open ? "0" : "-1"}>`);
1812
+ }, "g0", $scope0_id))}${_attr_class(findInput)} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in review" aria-label="Find in review">${_el_resume($scope0_id, "b")}<span${_attr_class("_eN")}>${open && (query || "").trim() ? hits.length ? `${_escape(`${at + 1}`)}/${_escape(`${hits.length}`)}` : "0/0" : ""}${_el_resume($scope0_id, "d")}</span><button type=button${_attr_class(findIconBtn)} title="Previous match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>↑</button>${_el_resume($scope0_id, "e")}<button type=button${_attr_class(findIconBtn)} title="Next match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>↓</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class(findIconBtn)} title="Close find" tabindex=${open ? "0" : "-1"}>`);
1813
1813
  icon_xmark_default({ size: 14 });
1814
1814
  _html(`</button>${_el_resume($scope0_id, "g")}</div>${_el_resume($scope0_id, "a")}`);
1815
1815
  _script($scope0_id, "g6");
@@ -1906,14 +1906,14 @@ function shortBranch(name, wsBranch = "", wsName = "") {
1906
1906
  }
1907
1907
  return shortHeadFallback(head);
1908
1908
  }
1909
- var repoWorktree = "_fw _u";
1910
- var repoTitle = "_fC _t";
1909
+ var repoWorktree = "_f6 _u";
1910
+ var repoTitle = "_gb _t";
1911
1911
  tone.warn;
1912
1912
  var diff_file_default = _template("f", (input) => {
1913
1913
  _scope_reason();
1914
1914
  const $scope0_id = _scope_id();
1915
1915
  _el($scope0_id, "f0");
1916
- _html(`<div${_attr_class(["_gq", input.class])}></div>${_el_resume($scope0_id, "a")}`);
1916
+ _html(`<div${_attr_class(["_gw", input.class])}></div>${_el_resume($scope0_id, "a")}`);
1917
1917
  _script($scope0_id, "f1");
1918
1918
  writeScope($scope0_id, {
1919
1919
  e: input.file,
@@ -1933,7 +1933,7 @@ var diff_file_default = _template("f", (input) => {
1933
1933
  //#endregion
1934
1934
  //#region src/tags/review-section.marko
1935
1935
  var review_section_default = _template("r", (input) => {
1936
- const $scope0_reason = _scope_reason(), $sg__input_repo = _serialize_guard($scope0_reason, 30), $si__input_repo = _serialize_if($scope0_reason, 30), $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened = _serialize_guard($scope0_reason, 27), $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName = _serialize_guard($scope0_reason, 12), $sg__input_repo__OR__input_files_length = _serialize_guard($scope0_reason, 0), $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName = _serialize_if($scope0_reason, 12), $sg__input_files__OR__input_shownKeys = _serialize_guard($scope0_reason, 3), $sg__input_files__OR__input_onlyNew = _serialize_guard($scope0_reason, 4), $sg__input_files = _serialize_guard($scope0_reason, 31), $sg__input_files__OR__input_commentsByFile = _serialize_guard($scope0_reason, 5), $si__input_files = _serialize_if($scope0_reason, 31), $si__input_files__OR__input_commentsByFile = _serialize_if($scope0_reason, 5), $si__input_findHit_key = _serialize_if($scope0_reason, 38), $sg__input_collapsible__OR__input_collapsed = _serialize_guard($scope0_reason, 8), $si__input_repo__OR__input_files__OR__input_shownKeys = _serialize_if($scope0_reason, 10), $si__input_collapsible__OR__input_collapsed = _serialize_if($scope0_reason, 8), $si__input_files__OR__input_collapsible__OR__input_collapsed__OR__input_opened = _serialize_if($scope0_reason, 21), $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_localDiffers = _serialize_if($scope0_reason, 20), $si__input_files__OR__input_shownKeys = _serialize_if($scope0_reason, 3), $si__input_files__OR__input_onlyNew = _serialize_if($scope0_reason, 4), $si__input = _serialize_if($scope0_reason, 29), $si__input_draft = _serialize_if($scope0_reason, 40), $si__input_sessions = _serialize_if($scope0_reason, 41), $si__input_onSelect = _serialize_if($scope0_reason, 42), $si__input_onSaveComment = _serialize_if($scope0_reason, 43), $si__input_onSendDraft = _serialize_if($scope0_reason, 44), $si__input_onCancelDraft = _serialize_if($scope0_reason, 45), $si__input_onDeleteComment = _serialize_if($scope0_reason, 46), $si__input_onSendComment = _serialize_if($scope0_reason, 47), $si__input_onError = _serialize_if($scope0_reason, 48), $si__input_shownKeys = _serialize_if($scope0_reason, 32), $si__input_commentsByFile = _serialize_if($scope0_reason, 37), $si__input_findHit_line = _serialize_if($scope0_reason, 39);
1936
+ const $scope0_reason = _scope_reason(), $sg__input_repo = _serialize_guard($scope0_reason, 33), $si__input_repo = _serialize_if($scope0_reason, 33), $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened = _serialize_guard($scope0_reason, 30), $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName = _serialize_guard($scope0_reason, 13), $sg__input_repo__OR__input_files_length = _serialize_guard($scope0_reason, 0), $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName = _serialize_if($scope0_reason, 13), $sg__input_files__OR__input_shownKeys = _serialize_guard($scope0_reason, 3), $sg__input_files__OR__input_onlyNew = _serialize_guard($scope0_reason, 4), $sg__input_files = _serialize_guard($scope0_reason, 34), $sg__input_files__OR__input_commentsByFile = _serialize_guard($scope0_reason, 5), $sg__input_files__OR__input_commentsByFile__OR__input_collapsedFiles = _serialize_guard($scope0_reason, 17), $si__input_files__OR__input_collapsedFiles = _serialize_if($scope0_reason, 6), $si__input_files = _serialize_if($scope0_reason, 34), $si__input_files__OR__input_commentsByFile = _serialize_if($scope0_reason, 5), $si__input_findHit_key = _serialize_if($scope0_reason, 42), $sg__input_files__OR__input_collapsedFiles = _serialize_guard($scope0_reason, 6), $si__input_onFileToggle = _serialize_if($scope0_reason, 43), $sg__input_collapsible__OR__input_collapsed = _serialize_guard($scope0_reason, 9), $si__input_repo__OR__input_files__OR__input_shownKeys = _serialize_if($scope0_reason, 11), $si__input_collapsible__OR__input_collapsed = _serialize_if($scope0_reason, 9), $si__input_files__OR__input_collapsible__OR__input_collapsed__OR__input_opened = _serialize_if($scope0_reason, 23), $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_localDiffers = _serialize_if($scope0_reason, 22), $si__input_files__OR__input_shownKeys = _serialize_if($scope0_reason, 3), $si__input_files__OR__input_onlyNew = _serialize_if($scope0_reason, 4), $si__input = _serialize_if($scope0_reason, 32), $si__input_draft = _serialize_if($scope0_reason, 45), $si__input_sessions = _serialize_if($scope0_reason, 46), $si__input_onSelect = _serialize_if($scope0_reason, 47), $si__input_onSaveComment = _serialize_if($scope0_reason, 48), $si__input_onSendDraft = _serialize_if($scope0_reason, 49), $si__input_onCancelDraft = _serialize_if($scope0_reason, 50), $si__input_onDeleteComment = _serialize_if($scope0_reason, 51), $si__input_onSendComment = _serialize_if($scope0_reason, 52), $si__input_onError = _serialize_if($scope0_reason, 53), $si__input_shownKeys = _serialize_if($scope0_reason, 35), $si__input_commentsByFile = _serialize_if($scope0_reason, 40), $si__input_collapsedFiles = _serialize_if($scope0_reason, 41), $si__input_findHit_line = _serialize_if($scope0_reason, 44);
1937
1937
  const $scope0_id = _scope_id();
1938
1938
  const $input__closures = /* @__PURE__ */ new Set();
1939
1939
  const $input_draft__closures = /* @__PURE__ */ new Set();
@@ -1948,6 +1948,8 @@ var review_section_default = _template("r", (input) => {
1948
1948
  const $input_findHit_key__closures = /* @__PURE__ */ new Set();
1949
1949
  const $input_shownKeys__closures = /* @__PURE__ */ new Set();
1950
1950
  const $input_commentsByFile__closures = /* @__PURE__ */ new Set();
1951
+ const $input_collapsedFiles__closures = /* @__PURE__ */ new Set();
1952
+ const $input_onFileToggle__closures = /* @__PURE__ */ new Set();
1951
1953
  const $input_findHit_line__closures = /* @__PURE__ */ new Set();
1952
1954
  const repo = input.repo;
1953
1955
  const shownFiles = input.files.filter((f) => input.shownKeys.has(f.key));
@@ -1968,16 +1970,16 @@ var review_section_default = _template("r", (input) => {
1968
1970
  const newCount = input.files.filter((f) => f.changedSince).length;
1969
1971
  const compare$1 = reviewCompareLabel(repo.pr?.baseRefName || repo.base, repo.pr?.headRefName || repo.branch, input.workspaceBranch, input.workspaceName);
1970
1972
  const prTitle = repo.pr ? `${repo.pr.title}: ${repo.pr.headRefName} ${repo.head} vs ${repo.base} ${repo.baseSha}` : "";
1971
- _html(`<section${_attr_class("_fs")}${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}${_attr("hidden", !shownCount && !repo.pr && input.findHit?.repo !== repo.id)}><div${_attr_class(["_ft", { ["_fu"]: input.collapsible && input.collapsed }])}>`);
1973
+ _html(`<section${_attr_class("_f2")}${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}${_attr("hidden", !shownCount && !repo.pr && input.findHit?.repo !== repo.id)}><div${_attr_class(["_f3", { ["_f4"]: input.collapsible && input.collapsed }])}>`);
1972
1974
  _if(() => {
1973
1975
  if (input.collapsible) {
1974
1976
  const $scope1_id = _scope_id();
1975
- _html(`<button type=button${_attr_class("_fv")} aria-expanded=${!input.collapsed ? "true" : "false"} aria-busy=${input.expanding ? "true" : "false"}${input.collapsed ? _attr("title", `Show ${countLabel} files`) : " title=\"Hide files\""}><span${_attr_class([
1976
- "_fP",
1977
- !input.collapsed && "_fQ",
1978
- input.expanding && "_fR"
1979
- ])} aria-hidden=true>${input.collapsed ? "▸" : "▾"}${_el_resume($scope1_id, "c", _serialize_guard($scope0_reason, 35))}</span>${_el_resume($scope1_id, "b", _serialize_guard($scope0_reason, 9))}<span${_attr_class(repoWorktree)}>${_escape(repo.worktree)}${_el_resume($scope1_id, "e", $sg__input_repo)}</span></button>${_el_resume($scope1_id, "a")}`);
1980
- _script($scope1_id, "r7");
1977
+ _html(`<button type=button${_attr_class("_f5")} aria-expanded=${!input.collapsed ? "true" : "false"} aria-busy=${input.expanding ? "true" : "false"}${input.collapsed ? _attr("title", `Show ${countLabel} files`) : " title=\"Hide files\""}><span${_attr_class([
1978
+ "_go",
1979
+ !input.collapsed && "_gp",
1980
+ input.expanding && "_gq"
1981
+ ])} aria-hidden=true>${input.collapsed ? "▸" : "▾"}${_el_resume($scope1_id, "c", _serialize_guard($scope0_reason, 38))}</span>${_el_resume($scope1_id, "b", _serialize_guard($scope0_reason, 10))}<span${_attr_class(repoWorktree)}>${_escape(repo.worktree)}${_el_resume($scope1_id, "e", $sg__input_repo)}</span></button>${_el_resume($scope1_id, "a")}`);
1982
+ _script($scope1_id, "r8");
1981
1983
  writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
1982
1984
  return 0;
1983
1985
  } else {
@@ -1986,7 +1988,7 @@ var review_section_default = _template("r", (input) => {
1986
1988
  _serialize_if($scope0_reason, 1) && writeScope($scope10_id, { _: $si__input_repo && _scope_with_id($scope0_id) });
1987
1989
  return 1;
1988
1990
  }
1989
- }, $scope0_id, "c", _serialize_guard($scope0_reason, 1) || _serialize_guard($scope0_reason, 25), _serialize_guard($scope0_reason, 34), $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened, 0, 1);
1991
+ }, $scope0_id, "c", _serialize_guard($scope0_reason, 1) || _serialize_guard($scope0_reason, 27), _serialize_guard($scope0_reason, 37), $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened, 0, 1);
1990
1992
  _if(() => {
1991
1993
  if (repo.pr) {
1992
1994
  const $scope11_id = _scope_id();
@@ -2000,14 +2002,14 @@ var review_section_default = _template("r", (input) => {
2000
2002
  return 1;
2001
2003
  }
2002
2004
  }, $scope0_id, "d", $sg__input_repo, $sg__input_repo, $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened);
2003
- _html(`<span${_attr_class("_fD")}${_attr("title", `${compare$1.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class(["_F", "_fE"])}>${_escape(compare$1.base)}${_el_resume($scope0_id, "g", $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span><span${_attr_class(["_H", "_fG"])} aria-hidden=true>vs</span><span${_attr_class(["_F", "_fF"])}>${_escape(compare$1.head)}${_el_resume($scope0_id, "j", $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span>`);
2005
+ _html(`<span${_attr_class("_gc")}${_attr("title", `${compare$1.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class(["_F", "_gd"])}>${_escape(compare$1.base)}${_el_resume($scope0_id, "g", $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span><span${_attr_class(["_H", "_gf"])} aria-hidden=true>vs</span><span${_attr_class(["_F", "_ge"])}>${_escape(compare$1.head)}${_el_resume($scope0_id, "j", $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span>`);
2004
2006
  _if(() => {
2005
2007
  if (compare$1.topic) {
2006
2008
  const $scope15_id = _scope_id();
2007
2009
  _html(`<span${_attr_class([
2008
2010
  "_F",
2009
2011
  tone.accent,
2010
- "_fH"
2012
+ "_gg"
2011
2013
  ])}>${_escape(compare$1.topic)}${_el_resume($scope15_id, "b", $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span>`);
2012
2014
  $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && writeScope($scope15_id, { _: _scope_with_id($scope0_id) });
2013
2015
  return 0;
@@ -2020,9 +2022,9 @@ var review_section_default = _template("r", (input) => {
2020
2022
  _html(`<button type=button${_attr_class([
2021
2023
  "_F",
2022
2024
  tone.warn,
2023
- "_fI"
2025
+ "_gh"
2024
2026
  ])}${_attr("title", `origin/${repo.pr.headRefName} ${repo.head} · GitHub ${repo.pr.headRefOid}. Reload to re-ask GitHub`)}${_attr("disabled", input.loading)}>behind GitHub ${_sep($sg__input_repo)}${_escape(shortSha(repo.head, 7))}${_el_resume($scope2_id, "b", $sg__input_repo)} → ${_sep($sg__input_repo)}${_escape(shortSha(repo.pr.headRefOid, 7))}${_el_resume($scope2_id, "c", $sg__input_repo)}</button>${_el_resume($scope2_id, "a")}`);
2025
- _script($scope2_id, "r8");
2027
+ _script($scope2_id, "r9");
2026
2028
  writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
2027
2029
  return 0;
2028
2030
  }
@@ -2030,7 +2032,7 @@ var review_section_default = _template("r", (input) => {
2030
2032
  _if(() => {
2031
2033
  if (repo.contained && input.files.length) {
2032
2034
  const $scope13_id = _scope_id();
2033
- _html(`<span${_attr_class(["_F", "_fI"])}${_attr("title", `${repo.pr ? `#${repo.pr.number}` : repo.branch} is already in ${repo.base}; showing the working tree only`)}>already in ${_sep($sg__input_repo)}${_escape(repo.base)}${_el_resume($scope13_id, "b", $sg__input_repo)}</span>${_el_resume($scope13_id, "a", $sg__input_repo)}`);
2035
+ _html(`<span${_attr_class(["_F", "_gh"])}${_attr("title", `${repo.pr ? `#${repo.pr.number}` : repo.branch} is already in ${repo.base}; showing the working tree only`)}>already in ${_sep($sg__input_repo)}${_escape(repo.base)}${_el_resume($scope13_id, "b", $sg__input_repo)}</span>${_el_resume($scope13_id, "a", $sg__input_repo)}`);
2034
2036
  _serialize_if($scope0_reason, 0) && writeScope($scope13_id, { _: $si__input_repo && _scope_with_id($scope0_id) });
2035
2037
  return 0;
2036
2038
  }
@@ -2038,16 +2040,16 @@ var review_section_default = _template("r", (input) => {
2038
2040
  _if(() => {
2039
2041
  if (input.localDiffers) {
2040
2042
  const $scope3_id = _scope_id();
2041
- _html(`<span${_attr_class(["_F", "_fI"])}${_attr("title", `This view is ${shortSha(repo.head)} (${repo.pr.headRefName}); checked out is ${shortSha(repo.localHead)} (${repo.branch})`)}>local ${_sep($sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}${_escape(shortBranch(repo.branch, input.workspaceBranch, input.workspaceName))}${_el_resume($scope3_id, "b", $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)} ${_sep($sg__input_repo)}${_escape(shortSha(repo.localHead, 7))}${_el_resume($scope3_id, "c", $sg__input_repo)}</span>${_el_resume($scope3_id, "a", $sg__input_repo)}`);
2043
+ _html(`<span${_attr_class(["_F", "_gh"])}${_attr("title", `This view is ${shortSha(repo.head)} (${repo.pr.headRefName}); checked out is ${shortSha(repo.localHead)} (${repo.branch})`)}>local ${_sep($sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}${_escape(shortBranch(repo.branch, input.workspaceBranch, input.workspaceName))}${_el_resume($scope3_id, "b", $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)} ${_sep($sg__input_repo)}${_escape(shortSha(repo.localHead, 7))}${_el_resume($scope3_id, "c", $sg__input_repo)}</span>${_el_resume($scope3_id, "a", $sg__input_repo)}`);
2042
2044
  $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_localDiffers && writeScope($scope3_id, { _: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && _scope_with_id($scope0_id) });
2043
2045
  return 0;
2044
2046
  }
2045
- }, $scope0_id, "n", _serialize_guard($scope0_reason, 20), _serialize_guard($scope0_reason, 36), $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened, 0, 1);
2046
- _html(`<span${_attr_class("_fx")}><span>${_escape(countLabel)}${_el_resume($scope0_id, "p", $sg__input_files__OR__input_shownKeys)} file${_sep($sg__input_files__OR__input_shownKeys)}${countLabel === 1 ? "" : "s"}${_el_resume($scope0_id, "q", $sg__input_files__OR__input_shownKeys)}</span>`);
2047
+ }, $scope0_id, "n", _serialize_guard($scope0_reason, 22), _serialize_guard($scope0_reason, 39), $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened, 0, 1);
2048
+ _html(`<span${_attr_class("_f7")}><span>${_escape(countLabel)}${_el_resume($scope0_id, "p", $sg__input_files__OR__input_shownKeys)} file${_sep($sg__input_files__OR__input_shownKeys)}${countLabel === 1 ? "" : "s"}${_el_resume($scope0_id, "q", $sg__input_files__OR__input_shownKeys)}</span>`);
2047
2049
  _if(() => {
2048
2050
  if (stats.additions || stats.deletions) {
2049
2051
  const $scope14_id = _scope_id();
2050
- _html(`<span${_attr_class("_fy")}>+${_sep($sg__input_files__OR__input_shownKeys)}${_escape(stats.additions)}${_el_resume($scope14_id, "b", $sg__input_files__OR__input_shownKeys)}</span><span${_attr_class("_fz")}>−${_sep($sg__input_files__OR__input_shownKeys)}${_escape(stats.deletions)}${_el_resume($scope14_id, "d", $sg__input_files__OR__input_shownKeys)}</span>`);
2052
+ _html(`<span${_attr_class("_f8")}>+${_sep($sg__input_files__OR__input_shownKeys)}${_escape(stats.additions)}${_el_resume($scope14_id, "b", $sg__input_files__OR__input_shownKeys)}</span><span${_attr_class("_f9")}>−${_sep($sg__input_files__OR__input_shownKeys)}${_escape(stats.deletions)}${_el_resume($scope14_id, "d", $sg__input_files__OR__input_shownKeys)}</span>`);
2051
2053
  $si__input_files__OR__input_shownKeys && writeScope($scope14_id, { _: _scope_with_id($scope0_id) });
2052
2054
  return 0;
2053
2055
  }
@@ -2055,8 +2057,8 @@ var review_section_default = _template("r", (input) => {
2055
2057
  _if(() => {
2056
2058
  if (newCount || input.onlyNew) {
2057
2059
  const $scope4_id = _scope_id();
2058
- _html(`<button type=button${_attr_class(["_fB", { ["_fA"]: input.onlyNew }])} aria-pressed=${input.onlyNew ? "true" : "false"} title=${input.onlyNew ? "\"Show every file\"" : "\"Show only files changed since your last visit\""}>${_escape(newCount)}${_el_resume($scope4_id, "b", $sg__input_files)} new</button>${_el_resume($scope4_id, "a")}`);
2059
- _script($scope4_id, "r9");
2060
+ _html(`<button type=button${_attr_class(["_ga", { ["_f_"]: input.onlyNew }])} aria-pressed=${input.onlyNew ? "true" : "false"} title=${input.onlyNew ? "\"Show every file\"" : "\"Show only files changed since your last visit\""}>${_escape(newCount)}${_el_resume($scope4_id, "b", $sg__input_files)} new</button>${_el_resume($scope4_id, "a")}`);
2061
+ _script($scope4_id, "r10");
2060
2062
  writeScope($scope4_id, { _: _scope_with_id($scope0_id) });
2061
2063
  return 0;
2062
2064
  }
@@ -2067,23 +2069,25 @@ var review_section_default = _template("r", (input) => {
2067
2069
  const $scope5_id = _scope_id();
2068
2070
  const $show = !input.collapsible || !input.collapsed;
2069
2071
  _show_start($show);
2070
- _html(`<div${_attr_class("_fK")}>`);
2072
+ _html(`<div${_attr_class("_gj")}>`);
2071
2073
  _for_of(input.files, (file$1) => {
2072
2074
  const $scope6_id = _scope_id();
2073
2075
  const $for_content__file__closures = /* @__PURE__ */ new Set();
2074
2076
  const $for_content__file_key__closures = /* @__PURE__ */ new Set();
2075
2077
  const $for_content__fileComments__closures = /* @__PURE__ */ new Set();
2076
2078
  const fileComments = input.commentsByFile.get(file$1.key) || [];
2077
- let expanded = true;
2078
- _html(`<details${_attr_details_or_dialog_open($scope6_id, "a", expanded)}${_attr_class(["_fL", input.findHit?.key === file$1.key && "_fq"])}${_attr("data-key", file$1.key)}${_attr("hidden", !input.shownKeys.has(file$1.key))}><summary${_attr_class("_fN")}><span${_attr_class("_fS")}${_attr("data-status", file$1.status)}>${_escape(file$1.status)}${_el_resume($scope6_id, "d", $sg__input_files)}</span>${_el_resume($scope6_id, "c", $sg__input_files)}<span${_attr_class(["_fT", input.findHit?.key === file$1.key && input.findHit.line < 1 && "_fr"])}${_attr("title", file$1.path)}><bdi>${_escape(file$1.path)}${_el_resume($scope6_id, "f", $sg__input_files)}</bdi></span>${_el_resume($scope6_id, "e", _serialize_guard($scope0_reason, 16))}`);
2079
+ const expanded = !input.collapsedFiles.has(file$1.key);
2080
+ _html(`<details${_attr_details_or_dialog_open($scope6_id, "a", expanded, _resume(function(open) {
2081
+ input.onFileToggle(file$1.key, open);
2082
+ }, "r0", $scope6_id))}${_attr_class(["_gk", input.findHit?.key === file$1.key && "_f0"])}${_attr("data-key", file$1.key)}${_attr("hidden", !input.shownKeys.has(file$1.key))}><summary${_attr_class("_gm")}><span${_attr_class("_gr")}${_attr("data-status", file$1.status)}>${_escape(file$1.status)}${_el_resume($scope6_id, "d", $sg__input_files)}</span>${_el_resume($scope6_id, "c", $sg__input_files)}<span${_attr_class(["_gs", input.findHit?.key === file$1.key && input.findHit.line < 1 && "_f1"])}${_attr("title", file$1.path)}><bdi>${_escape(file$1.path)}${_el_resume($scope6_id, "f", $sg__input_files)}</bdi></span>${_el_resume($scope6_id, "e", _serialize_guard($scope0_reason, 18))}`);
2079
2083
  _if(() => {
2080
2084
  if (file$1.changedSince) {
2081
2085
  const $scope17_id = _scope_id();
2082
- _html(`<span${_attr_class(["_w", "_fJ"])} title="Changed since your last visit"></span>`);
2086
+ _html(`<span${_attr_class(["_w", "_gi"])} title="Changed since your last visit"></span>`);
2083
2087
  $si__input_files && writeScope($scope17_id, {});
2084
2088
  return 0;
2085
2089
  }
2086
- }, $scope6_id, "g", $sg__input_files, $sg__input_files, 1, 0, 1);
2090
+ }, $scope6_id, "g", $sg__input_files, $sg__input_files, $sg__input_files__OR__input_commentsByFile__OR__input_collapsedFiles, 0, 1);
2087
2091
  _if(() => {
2088
2092
  if (fileComments.length) {
2089
2093
  const $scope16_id = _scope_id();
@@ -2091,112 +2095,113 @@ var review_section_default = _template("r", (input) => {
2091
2095
  $si__input_files__OR__input_commentsByFile && writeScope($scope16_id, { _: _scope_with_id($scope6_id) });
2092
2096
  return 0;
2093
2097
  }
2094
- }, $scope6_id, "h", $sg__input_files__OR__input_commentsByFile, $sg__input_files__OR__input_commentsByFile, 1, 0, 1);
2098
+ }, $scope6_id, "h", $sg__input_files__OR__input_commentsByFile, $sg__input_files__OR__input_commentsByFile, $sg__input_files__OR__input_commentsByFile__OR__input_collapsedFiles, 0, 1);
2095
2099
  _html("</summary>");
2096
2100
  _if(() => {
2097
2101
  if (file$1.binary) {
2098
2102
  const $scope18_id = _scope_id();
2099
- _html(`<p${_attr_class(["_fU", "_fM"])}>binary file</p>`);
2100
- writeScope($scope18_id, {});
2103
+ _html(`<p${_attr_class(["_gt", "_gl"])}>binary file</p>`);
2104
+ $si__input_files__OR__input_collapsedFiles && writeScope($scope18_id, {});
2101
2105
  return 0;
2102
2106
  } else if (file$1.tooLarge) {
2103
2107
  const $scope19_id = _scope_id();
2104
- _html(`<p${_attr_class(["_fU", "_fM"])}>file too large to display</p>`);
2105
- writeScope($scope19_id, {});
2108
+ _html(`<p${_attr_class(["_gt", "_gl"])}>file too large to display</p>`);
2109
+ $si__input_files__OR__input_collapsedFiles && writeScope($scope19_id, {});
2106
2110
  return 1;
2107
2111
  } else if (file$1.old == null && file$1.new == null) {
2108
2112
  const $scope20_id = _scope_id();
2109
- _html(`<p${_attr_class(["_fU", "_fM"])}>file could not be read</p>`);
2110
- writeScope($scope20_id, {});
2113
+ _html(`<p${_attr_class(["_gt", "_gl"])}>file could not be read</p>`);
2114
+ $si__input_files__OR__input_collapsedFiles && writeScope($scope20_id, {});
2111
2115
  return 2;
2112
- } else {
2116
+ } else if (expanded) {
2113
2117
  const $scope7_id = _scope_id();
2114
2118
  let near = false;
2115
2119
  const forceNear = input.findHit?.key === file$1.key;
2116
2120
  _if(() => {
2117
2121
  if (!forceNear) {
2118
2122
  const $scope8_id = _scope_id();
2119
- _html(`<div${_attr_class(["_fO", "_fM"])}></div>${_el_resume($scope8_id, "a")}`);
2120
- _script($scope8_id, "r10");
2123
+ _html(`<div${_attr_class(["_gn", "_gl"])}></div>${_el_resume($scope8_id, "a")}`);
2124
+ _script($scope8_id, "r11");
2121
2125
  _subscribe($si__input && $input__closures, writeScope($scope8_id, {}));
2122
2126
  return 0;
2123
2127
  } else {
2124
2128
  const $scope9_id = _scope_id();
2125
2129
  const $childScope = _peek_scope_id();
2126
2130
  diff_file_default({
2127
- class: "_fM",
2131
+ class: "_gl",
2128
2132
  file: file$1,
2129
2133
  comments: fileComments,
2130
2134
  draft: input.draft && input.draft.key === file$1.key ? input.draft : null,
2131
2135
  sessions: input.sessions,
2132
2136
  onSelect: _resume(function(range) {
2133
2137
  input.onSelect(file$1, range);
2134
- }, "r0", $scope9_id),
2138
+ }, "r1", $scope9_id),
2135
2139
  onSaveComment: _resume(function(text) {
2136
2140
  input.onSaveComment(file$1, text);
2137
- }, "r1", $scope9_id),
2141
+ }, "r2", $scope9_id),
2138
2142
  onSendDraft: _resume(function(text, sessionId) {
2139
2143
  input.onSendDraft(file$1, text, sessionId);
2140
- }, "r2", $scope9_id),
2144
+ }, "r3", $scope9_id),
2141
2145
  onCancelDraft: _resume(function() {
2142
2146
  input.onCancelDraft();
2143
- }, "r3", $scope9_id),
2147
+ }, "r4", $scope9_id),
2144
2148
  onDeleteComment: _resume(function(id) {
2145
2149
  input.onDeleteComment(id);
2146
- }, "r4", $scope9_id),
2150
+ }, "r5", $scope9_id),
2147
2151
  onSendComment: _resume(function(id, sessionId) {
2148
2152
  input.onSendComment(id, sessionId);
2149
- }, "r5", $scope9_id),
2153
+ }, "r6", $scope9_id),
2150
2154
  onError: _resume(function(message) {
2151
2155
  input.onError(message);
2152
- }, "r6", $scope9_id)
2156
+ }, "r7", $scope9_id)
2153
2157
  });
2154
- _subscribe($si__input_files__OR__input_commentsByFile && $for_content__fileComments__closures, _subscribe($si__input_files && $for_content__file_key__closures, _subscribe($si__input_files && $for_content__file__closures, _subscribe($si__input_onError && $input_onError__closures, _subscribe($si__input_onSendComment && $input_onSendComment__closures, _subscribe($si__input_onDeleteComment && $input_onDeleteComment__closures, _subscribe($si__input_onCancelDraft && $input_onCancelDraft__closures, _subscribe($si__input_onSendDraft && $input_onSendDraft__closures, _subscribe($si__input_onSaveComment && $input_onSaveComment__closures, _subscribe($si__input_onSelect && $input_onSelect__closures, _subscribe($si__input_sessions && $input_sessions__closures, _subscribe($si__input_draft && $input_draft__closures, writeScope($scope9_id, { a: _serialize_if($scope0_reason, 28) && _existing_scope($childScope) })))))))))))));
2158
+ _subscribe($si__input_files__OR__input_commentsByFile && $for_content__fileComments__closures, _subscribe($si__input_files && $for_content__file_key__closures, _subscribe($si__input_files && $for_content__file__closures, _subscribe($si__input_onError && $input_onError__closures, _subscribe($si__input_onSendComment && $input_onSendComment__closures, _subscribe($si__input_onDeleteComment && $input_onDeleteComment__closures, _subscribe($si__input_onCancelDraft && $input_onCancelDraft__closures, _subscribe($si__input_onSendDraft && $input_onSendDraft__closures, _subscribe($si__input_onSaveComment && $input_onSaveComment__closures, _subscribe($si__input_onSelect && $input_onSelect__closures, _subscribe($si__input_sessions && $input_sessions__closures, _subscribe($si__input_draft && $input_draft__closures, writeScope($scope9_id, { a: _serialize_if($scope0_reason, 31) && _existing_scope($childScope) })))))))))))));
2155
2159
  return 1;
2156
2160
  }
2157
2161
  }, $scope7_id, "a", 1, 1, 1, 0, 1);
2158
2162
  _subscribe($si__input_findHit_key && $input_findHit_key__closures, writeScope($scope7_id, {
2159
- b: _serialize_if($scope0_reason, 6) && near,
2163
+ b: _serialize_if($scope0_reason, 7) && near,
2160
2164
  c: forceNear,
2161
- Cc7: $si__input_findHit_key && 1
2165
+ _: _scope_with_id($scope6_id),
2166
+ Cca: $si__input_findHit_key && 1
2162
2167
  }));
2163
2168
  return 3;
2164
2169
  }
2165
- }, $scope6_id, "i");
2170
+ }, $scope6_id, "i", $sg__input_files__OR__input_collapsedFiles, $sg__input_files__OR__input_collapsedFiles, $sg__input_files__OR__input_commentsByFile__OR__input_collapsedFiles);
2166
2171
  _html(`</details>${_el_resume($scope6_id, "a")}`);
2167
- _script($scope6_id, "r11");
2168
- _subscribe($si__input_findHit_line && $input_findHit_line__closures, _subscribe($si__input_findHit_key && $input_findHit_key__closures, _subscribe($si__input_commentsByFile && $input_commentsByFile__closures, _subscribe($si__input_shownKeys && $input_shownKeys__closures, writeScope($scope6_id, {
2172
+ _script($scope6_id, "r12");
2173
+ _subscribe($si__input_findHit_line && $input_findHit_line__closures, _subscribe($si__input_onFileToggle && $input_onFileToggle__closures, _subscribe($si__input_findHit_key && $input_findHit_key__closures, _subscribe($si__input_collapsedFiles && $input_collapsedFiles__closures, _subscribe($si__input_commentsByFile && $input_commentsByFile__closures, _subscribe($si__input_shownKeys && $input_shownKeys__closures, writeScope($scope6_id, {
2169
2174
  k: file$1,
2170
2175
  l: file$1?.key,
2171
- t: file$1?.binary,
2172
- u: file$1?.tooLarge,
2173
- v: file$1?.old,
2174
- w: file$1?.new,
2175
- x: fileComments,
2176
- y: $si__input_files__OR__input_commentsByFile && fileComments.length,
2177
- z: $si__input_files && expanded,
2176
+ u: $si__input_files__OR__input_collapsedFiles && file$1?.binary,
2177
+ v: $si__input_files__OR__input_collapsedFiles && file$1?.tooLarge,
2178
+ w: $si__input_files__OR__input_collapsedFiles && file$1?.old,
2179
+ x: $si__input_files__OR__input_collapsedFiles && file$1?.new,
2180
+ y: fileComments,
2181
+ z: $si__input_files__OR__input_commentsByFile && fileComments.length,
2182
+ a0: $si__input_onFileToggle && expanded,
2178
2183
  _: _scope_with_id($scope5_id),
2179
- a1: $si__input_files && $for_content__file__closures,
2180
- a2: $si__input_files && $for_content__file_key__closures,
2181
- a3: $si__input_files__OR__input_commentsByFile && $for_content__fileComments__closures
2182
- })))));
2184
+ a3: $si__input_files && $for_content__file__closures,
2185
+ a4: $si__input_files && $for_content__file_key__closures,
2186
+ a5: $si__input_files__OR__input_commentsByFile && $for_content__fileComments__closures
2187
+ })))))));
2183
2188
  }, "key", $scope5_id, "b", $sg__input_files, $sg__input_files, $sg__input_files, "</div>", 1);
2184
2189
  _show_end($scope5_id, "c", $show, $sg__input_collapsible__OR__input_collapsed, $sg__input_collapsible__OR__input_collapsed, 0, 1);
2185
2190
  writeScope($scope5_id, { _: _scope_with_id($scope0_id) });
2186
2191
  return 0;
2187
2192
  }
2188
- }, $scope0_id, "t", _serialize_guard($scope0_reason, 21), _serialize_guard($scope0_reason, 17), $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened);
2189
- _html(`</section>${_el_resume($scope0_id, "a", _serialize_guard($scope0_reason, 18))}`);
2193
+ }, $scope0_id, "t", _serialize_guard($scope0_reason, 23), _serialize_guard($scope0_reason, 19), $sg__input_repo__OR__input_files__OR__input_shownKeys__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_collapsible__OR__input_collapsed__OR__input_localDiffers__OR__input_onlyNew__OR__input_opened);
2194
+ _html(`</section>${_el_resume($scope0_id, "a", _serialize_guard($scope0_reason, 20))}`);
2190
2195
  writeScope($scope0_id, {
2191
2196
  v: input,
2192
- x: _serialize_if($scope0_reason, 22) && input.files,
2197
+ x: _serialize_if($scope0_reason, 24) && input.files,
2193
2198
  y: $si__input_files__OR__input_collapsible__OR__input_collapsed__OR__input_opened && input.shownKeys,
2194
2199
  a0: $si__input_repo__OR__input_files__OR__input_shownKeys && input.files?.length,
2195
- a1: _serialize_if($scope0_reason, 14) && input.workspaceBranch,
2196
- a2: _serialize_if($scope0_reason, 13) && input.workspaceName,
2200
+ a1: _serialize_if($scope0_reason, 15) && input.workspaceBranch,
2201
+ a2: _serialize_if($scope0_reason, 14) && input.workspaceName,
2197
2202
  a4: $si__input_repo__OR__input_files__OR__input_shownKeys && input.findHit?.repo,
2198
- a5: _serialize_if($scope0_reason, 17) && input.collapsible,
2199
- a6: _serialize_if($scope0_reason, 26) && input.collapsed,
2203
+ a5: _serialize_if($scope0_reason, 19) && input.collapsible,
2204
+ a6: _serialize_if($scope0_reason, 28) && input.collapsed,
2200
2205
  a8: $si__input_collapsible__OR__input_collapsed && input.expanding,
2201
2206
  a9: input.onToggle,
2202
2207
  aa: $si__input_repo && input.loading,
@@ -2205,57 +2210,61 @@ var review_section_default = _template("r", (input) => {
2205
2210
  ae: input.onToggleNew,
2206
2211
  af: $si__input_collapsible__OR__input_collapsed && input.opened,
2207
2212
  ah: $si__input_files__OR__input_collapsible__OR__input_collapsed__OR__input_opened && input.commentsByFile,
2208
- ai: input.findHit?.key,
2209
- aj: _serialize_if($scope0_reason, 24) && input.findHit?.line,
2210
- ak: input.draft,
2211
- al: input.sessions,
2212
- am: input.onSelect,
2213
- an: input.onSaveComment,
2214
- ao: input.onSendDraft,
2215
- ap: input.onCancelDraft,
2216
- aq: input.onDeleteComment,
2217
- ar: input.onSendComment,
2218
- as: input.onError,
2219
- au: _serialize_if($scope0_reason, 18) && repo?.pr,
2220
- av: _serialize_if($scope0_reason, 7) && repo?.pr?.baseRefName,
2221
- aw: _serialize_if($scope0_reason, 19) && repo?.base,
2222
- ax: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_localDiffers && repo?.pr?.headRefName,
2223
- ay: _serialize_if($scope0_reason, 23) && repo?.branch,
2224
- b0: $si__input_repo && repo?.pr?.title,
2225
- b1: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_localDiffers && repo?.head,
2226
- b2: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && repo?.baseSha,
2227
- b3: _serialize_if($scope0_reason, 34) && repo?.worktree,
2228
- b4: $si__input_repo && repo?.pr?.number,
2229
- b5: _serialize_if($scope0_reason, 15) && repo?.id,
2230
- b6: $si__input_repo && repo?.pr?.url,
2231
- b7: $si__input_repo && repo?.full_name,
2232
- b9: $si__input_repo && repo?.pr?.headRefOid,
2233
- ba: _serialize_if($scope0_reason, 33) && repo?.contained,
2234
- bc: _serialize_if($scope0_reason, 36) && repo?.localHead,
2235
- bf: _serialize_if($scope0_reason, 11) && shownCount,
2236
- bi: $si__input_collapsible__OR__input_collapsed && countLabel,
2237
- bk: $si__input_files__OR__input_shownKeys && stats?.additions,
2238
- bl: $si__input_files__OR__input_shownKeys && stats?.deletions,
2239
- bn: $si__input_files__OR__input_onlyNew && newCount,
2240
- bu: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && compare$1?.topic,
2241
- bv: $si__input_repo && prTitle,
2242
- bw: $si__input && $input__closures,
2243
- c9: $si__input_draft && $input_draft__closures,
2244
- ca: $si__input_sessions && $input_sessions__closures,
2245
- cb: $si__input_onSelect && $input_onSelect__closures,
2246
- cc: $si__input_onSaveComment && $input_onSaveComment__closures,
2247
- cd: $si__input_onSendDraft && $input_onSendDraft__closures,
2248
- ce: $si__input_onCancelDraft && $input_onCancelDraft__closures,
2249
- cf: $si__input_onDeleteComment && $input_onDeleteComment__closures,
2250
- cg: $si__input_onSendComment && $input_onSendComment__closures,
2251
- ch: $si__input_onError && $input_onError__closures,
2252
- c7: $si__input_findHit_key && $input_findHit_key__closures,
2253
- by: $si__input_shownKeys && $input_shownKeys__closures,
2254
- c6: $si__input_commentsByFile && $input_commentsByFile__closures,
2255
- c8: $si__input_findHit_line && $input_findHit_line__closures
2213
+ ai: $si__input_files__OR__input_collapsible__OR__input_collapsed__OR__input_opened && input.collapsedFiles,
2214
+ aj: _serialize_if($scope0_reason, 29) && input.findHit?.key,
2215
+ ak: input.onFileToggle,
2216
+ al: _serialize_if($scope0_reason, 26) && input.findHit?.line,
2217
+ am: input.draft,
2218
+ an: input.sessions,
2219
+ ao: input.onSelect,
2220
+ ap: input.onSaveComment,
2221
+ aq: input.onSendDraft,
2222
+ ar: input.onCancelDraft,
2223
+ as: input.onDeleteComment,
2224
+ at: input.onSendComment,
2225
+ au: input.onError,
2226
+ aw: _serialize_if($scope0_reason, 20) && repo?.pr,
2227
+ ax: _serialize_if($scope0_reason, 8) && repo?.pr?.baseRefName,
2228
+ ay: _serialize_if($scope0_reason, 21) && repo?.base,
2229
+ az: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_localDiffers && repo?.pr?.headRefName,
2230
+ b0: _serialize_if($scope0_reason, 25) && repo?.branch,
2231
+ b2: $si__input_repo && repo?.pr?.title,
2232
+ b3: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_localDiffers && repo?.head,
2233
+ b4: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && repo?.baseSha,
2234
+ b5: _serialize_if($scope0_reason, 37) && repo?.worktree,
2235
+ b6: $si__input_repo && repo?.pr?.number,
2236
+ b7: _serialize_if($scope0_reason, 16) && repo?.id,
2237
+ b8: $si__input_repo && repo?.pr?.url,
2238
+ b9: $si__input_repo && repo?.full_name,
2239
+ bb: $si__input_repo && repo?.pr?.headRefOid,
2240
+ bc: _serialize_if($scope0_reason, 36) && repo?.contained,
2241
+ be: _serialize_if($scope0_reason, 39) && repo?.localHead,
2242
+ bh: _serialize_if($scope0_reason, 12) && shownCount,
2243
+ bk: $si__input_collapsible__OR__input_collapsed && countLabel,
2244
+ bm: $si__input_files__OR__input_shownKeys && stats?.additions,
2245
+ bn: $si__input_files__OR__input_shownKeys && stats?.deletions,
2246
+ bp: $si__input_files__OR__input_onlyNew && newCount,
2247
+ bw: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && compare$1?.topic,
2248
+ bx: $si__input_repo && prTitle,
2249
+ by: $si__input && $input__closures,
2250
+ cd: $si__input_draft && $input_draft__closures,
2251
+ ce: $si__input_sessions && $input_sessions__closures,
2252
+ cf: $si__input_onSelect && $input_onSelect__closures,
2253
+ cg: $si__input_onSaveComment && $input_onSaveComment__closures,
2254
+ ch: $si__input_onSendDraft && $input_onSendDraft__closures,
2255
+ ci: $si__input_onCancelDraft && $input_onCancelDraft__closures,
2256
+ cj: $si__input_onDeleteComment && $input_onDeleteComment__closures,
2257
+ ck: $si__input_onSendComment && $input_onSendComment__closures,
2258
+ cl: $si__input_onError && $input_onError__closures,
2259
+ ca: $si__input_findHit_key && $input_findHit_key__closures,
2260
+ c0: $si__input_shownKeys && $input_shownKeys__closures,
2261
+ c8: $si__input_commentsByFile && $input_commentsByFile__closures,
2262
+ c9: $si__input_collapsedFiles && $input_collapsedFiles__closures,
2263
+ cb: $si__input_onFileToggle && $input_onFileToggle__closures,
2264
+ cc: $si__input_findHit_line && $input_findHit_line__closures
2256
2265
  });
2257
2266
  });
2258
- var fileFilter = "_gs _i";
2267
+ var fileFilter = "_gv _i";
2259
2268
  //#endregion
2260
2269
  //#region src/tags/file-filter.marko
2261
2270
  var file_filter_default = _template("k", (input) => {
@@ -2285,7 +2294,7 @@ var file_filter_default = _template("k", (input) => {
2285
2294
  pending = v;
2286
2295
  box.timer = setTimeout(flush, 150);
2287
2296
  }, "k2", $scope0_id);
2288
- _html(`<div${_attr_class("_gr")}><input${_attr_input_value($scope0_id, "b", draft, _resume(function(v) {
2297
+ _html(`<div${_attr_class("_gu")}><input${_attr_input_value($scope0_id, "b", draft, _resume(function(v) {
2289
2298
  type(v);
2290
2299
  }, "k0", $scope0_id))}${_attr_class(fileFilter)} type=search placeholder="Filter files…" aria-label="Filter files">${_el_resume($scope0_id, "b")}</div>`);
2291
2300
  _script($scope0_id, "k3");
@@ -2305,9 +2314,10 @@ var file_filter_default = _template("k", (input) => {
2305
2314
  //#endregion
2306
2315
  //#region src/tags/diff-tree.marko
2307
2316
  var diff_tree_default = _template("i", (input) => {
2308
- const $scope0_reason = _scope_reason(), $sg__input_sections = _serialize_guard($scope0_reason, 14), $sg__input_newKeys__OR__input_sections = _serialize_guard($scope0_reason, 1), $sg__input_commentKeys__OR__input_newKeys__OR__input_sections = _serialize_guard($scope0_reason, 3), $sg__input_commentKeys__OR__input_sections = _serialize_guard($scope0_reason, 0), $si__input_sections = _serialize_if($scope0_reason, 14), $si__input_commentKeys = _serialize_if($scope0_reason, 11), $si__input_newKeys = _serialize_if($scope0_reason, 12), $si__input_workspaceId__OR__input_scope = _serialize_if($scope0_reason, 2);
2317
+ const $scope0_reason = _scope_reason(), $sg__input_sections = _serialize_guard($scope0_reason, 14), $sg__input_newKeys__OR__input_sections = _serialize_guard($scope0_reason, 1), $sg__input_commentKeys__OR__input_newKeys__OR__input_sections = _serialize_guard($scope0_reason, 3), $sg__input_commentKeys__OR__input_sections = _serialize_guard($scope0_reason, 0), $si__input_sections = _serialize_if($scope0_reason, 14), $si__input_collapsedFiles = _serialize_if($scope0_reason, 16), $si__input_commentKeys = _serialize_if($scope0_reason, 11), $si__input_newKeys = _serialize_if($scope0_reason, 12), $si__input_workspaceId__OR__input_scope = _serialize_if($scope0_reason, 2);
2309
2318
  const $scope0_id = _scope_id();
2310
2319
  const $collapsedDirs__closures = /* @__PURE__ */ new Set();
2320
+ const $input_collapsedFiles__closures = /* @__PURE__ */ new Set();
2311
2321
  const $commentKeys__closures = /* @__PURE__ */ new Set();
2312
2322
  const $newKeys__closures = /* @__PURE__ */ new Set();
2313
2323
  const $hrefFor2__closures = /* @__PURE__ */ new Set();
@@ -2324,7 +2334,7 @@ var diff_tree_default = _template("i", (input) => {
2324
2334
  scope: input.scope ?? null,
2325
2335
  file: key
2326
2336
  }), "i0", $scope0_id);
2327
- _html(`<aside${_attr_class(["_fe", { ["_fd"]: input.open === false }])}><div${_attr_class("_ff")}>`);
2337
+ _html(`<aside${_attr_class(["_e5", { ["_e4"]: input.open === false }])}><div${_attr_class("_e6")}>`);
2328
2338
  _set_serialize_reason(2);
2329
2339
  const $childScope = _peek_scope_id();
2330
2340
  file_filter_default({
@@ -2337,14 +2347,14 @@ var diff_tree_default = _template("i", (input) => {
2337
2347
  _if(() => {
2338
2348
  if (!input.sections.length && filter) {
2339
2349
  const $scope6_id = _scope_id();
2340
- _html(`<p${_attr_class("_fg")}>No files match.</p>`);
2350
+ _html(`<p${_attr_class("_e7")}>No files match.</p>`);
2341
2351
  writeScope($scope6_id, {});
2342
2352
  return 0;
2343
2353
  }
2344
2354
  }, $scope0_id, "d", 1, 1, 1, 0, 1);
2345
2355
  _for_of(input.sections, (section) => {
2346
2356
  const $scope1_id = _scope_id();
2347
- _html(`<div${_attr_class("_fh")}><button type=button${_attr_class(["_fi", { ["_fd"]: collapsedRepos.has(section.id) }])}><span${_attr_class("_fo")}>${collapsedRepos.has(section.id) ? "▸" : "▾"}${_el_resume($scope1_id, "d")}</span>${_sep($sg__input_sections)}${_escape(section.label)}${_el_resume($scope1_id, "e", $sg__input_sections)}</button>${_el_resume($scope1_id, "b")}`);
2357
+ _html(`<div${_attr_class("_e8")}><button type=button${_attr_class(["_e9", { ["_e4"]: collapsedRepos.has(section.id) }])}><span${_attr_class("_ff")}>${collapsedRepos.has(section.id) ? "▸" : "▾"}${_el_resume($scope1_id, "d")}</span>${_sep($sg__input_sections)}${_escape(section.label)}${_el_resume($scope1_id, "e", $sg__input_sections)}</button>${_el_resume($scope1_id, "b")}`);
2348
2358
  _if(() => {
2349
2359
  if (!collapsedRepos.has(section.id) || openedRepos.has(section.id)) {
2350
2360
  const $scope2_id = _scope_id();
@@ -2371,17 +2381,17 @@ var diff_tree_default = _template("i", (input) => {
2371
2381
  _if(() => {
2372
2382
  if (!hiddenByCollapse(row) && row.kind === "dir") {
2373
2383
  const $scope4_id = _scope_id();
2374
- _html(`<button type=button${_attr_class(["_fj", { ["_fd"]: collapsedDirs.has(dirKey(row.path)) }])}${_attr("title", row.path)}${_attr_style(`padding-left:${.35 + row.depth * .75}rem`)}><span${_attr_class("_fo")}>${collapsedDirs.has(dirKey(row.path)) ? "▸" : "▾"}${_el_resume($scope4_id, "c")}</span>${_escape(row.label)}${_el_resume($scope4_id, "d", $sg__input_sections)}/</button>${_el_resume($scope4_id, "a")}`);
2384
+ _html(`<button type=button${_attr_class(["_e_", { ["_e4"]: collapsedDirs.has(dirKey(row.path)) }])}${_attr("title", row.path)}${_attr_style(`padding-left:${.35 + row.depth * .75}rem`)}><span${_attr_class("_ff")}>${collapsedDirs.has(dirKey(row.path)) ? "▸" : "▾"}${_el_resume($scope4_id, "c")}</span>${_escape(row.label)}${_el_resume($scope4_id, "d", $sg__input_sections)}/</button>${_el_resume($scope4_id, "a")}`);
2375
2385
  _script($scope4_id, "i5");
2376
- _subscribe($si__input_sections && $if_content__dirKey__closures, _subscribe($collapsedDirs__closures, writeScope($scope4_id, { Cab: 1 })));
2386
+ _subscribe($si__input_sections && $if_content__dirKey__closures, _subscribe($collapsedDirs__closures, writeScope($scope4_id, { Cae: 1 })));
2377
2387
  return 0;
2378
2388
  } else if (!hiddenByCollapse(row) && row.kind !== "dir") {
2379
2389
  const $scope5_id = _scope_id();
2380
- _html(`<a${_attr("href", hrefFor(row.file.key))}${_attr_class("_fk")}${_attr("title", row.file.path)}${_attr_style(`padding-left:${.5 + row.depth * .75}rem`)}><span${_attr_class("_fp")}${_attr("data-status", row.file.status)}>${_escape(row.file.status)}${_el_resume($scope5_id, "c", $sg__input_sections)}</span>${_el_resume($scope5_id, "b", $sg__input_sections)}<span${_attr_class("_fl")}>${_escape(row.name)}${_el_resume($scope5_id, "e", $sg__input_sections)}</span>`);
2390
+ _html(`<a${_attr("href", hrefFor(row.file.key))}${_attr_class(["_fb", { ["_fa"]: input.collapsedFiles?.has(row.file.key) }])}${input.collapsedFiles?.has(row.file.key) ? _attr("title", `${row.file.path} (folded — click to open)`) : _attr("title", row.file.path)}${_attr_style(`padding-left:${.5 + row.depth * .75}rem`)}><span${_attr_class("_fg")}${_attr("data-status", row.file.status)}>${_escape(row.file.status)}${_el_resume($scope5_id, "c", $sg__input_sections)}</span>${_el_resume($scope5_id, "b", $sg__input_sections)}<span${_attr_class("_fc")}>${_escape(row.name)}${_el_resume($scope5_id, "e", $sg__input_sections)}</span>`);
2381
2391
  _if(() => {
2382
2392
  if (newKeys.has(row.file.key)) {
2383
2393
  const $scope7_id = _scope_id();
2384
- _html(`<span${_attr_class(["_w", "_fm"])} title="Changed since your last visit"></span>`);
2394
+ _html(`<span${_attr_class(["_w", "_fd"])} title="Changed since your last visit"></span>`);
2385
2395
  _serialize_if($scope0_reason, 1) && writeScope($scope7_id, {});
2386
2396
  return 0;
2387
2397
  }
@@ -2389,13 +2399,13 @@ var diff_tree_default = _template("i", (input) => {
2389
2399
  _if(() => {
2390
2400
  if (commentKeys.has(row.file.key)) {
2391
2401
  const $scope8_id = _scope_id();
2392
- _html(`<span${_attr_class("_fn")}>💬</span>`);
2402
+ _html(`<span${_attr_class("_fe")}>💬</span>`);
2393
2403
  _serialize_if($scope0_reason, 0) && writeScope($scope8_id, {});
2394
2404
  return 0;
2395
2405
  }
2396
2406
  }, $scope5_id, "g", $sg__input_commentKeys__OR__input_sections, $sg__input_commentKeys__OR__input_sections, $sg__input_commentKeys__OR__input_newKeys__OR__input_sections, 0, 1);
2397
2407
  _html(`</a>${_el_resume($scope5_id, "a", _serialize_guard($scope0_reason, 4))}`);
2398
- _subscribe($si__input_workspaceId__OR__input_scope && $hrefFor2__closures, _subscribe($si__input_newKeys && $newKeys__closures, _subscribe($si__input_commentKeys && $commentKeys__closures, writeScope($scope5_id, {}))));
2408
+ _subscribe($si__input_workspaceId__OR__input_scope && $hrefFor2__closures, _subscribe($si__input_newKeys && $newKeys__closures, _subscribe($si__input_commentKeys && $commentKeys__closures, _subscribe($si__input_collapsedFiles && $input_collapsedFiles__closures, writeScope($scope5_id, {})))));
2399
2409
  return 1;
2400
2410
  }
2401
2411
  }, $scope3_id, "a", 1, 1, 1, 0, 1);
@@ -2440,22 +2450,25 @@ var diff_tree_default = _template("i", (input) => {
2440
2450
  s: input.workspaceId,
2441
2451
  t: input.scope,
2442
2452
  x: input.sections?.length,
2443
- y: collapsedRepos,
2444
- a0: openedRepos,
2445
- a2: _serialize_if($scope0_reason, 15) && filter,
2446
- a5: collapsedDirs,
2447
- a6: commentKeys,
2448
- a7: newKeys,
2449
- a8: hrefFor,
2450
- z: input.collapsedReposChange || void 0,
2451
- a1: input.openedReposChange || void 0,
2452
- a3: input.filterChange || void 0,
2453
+ y: input.onDirToggle,
2454
+ z: input.collapsedFiles,
2455
+ a0: collapsedRepos,
2456
+ a2: openedRepos,
2457
+ a4: _serialize_if($scope0_reason, 15) && filter,
2458
+ a7: collapsedDirs,
2459
+ a8: commentKeys,
2460
+ a9: newKeys,
2461
+ aa: hrefFor,
2462
+ a1: input.collapsedReposChange || void 0,
2463
+ a3: input.openedReposChange || void 0,
2464
+ a5: input.filterChange || void 0,
2453
2465
  c: _existing_scope($childScope),
2454
- ab: $collapsedDirs__closures,
2455
- ac: $si__input_commentKeys && $commentKeys__closures,
2456
- ad: $si__input_newKeys && $newKeys__closures,
2457
- ae: $si__input_workspaceId__OR__input_scope && $hrefFor2__closures,
2458
- a9: $collapsedRepos__closures
2466
+ ae: $collapsedDirs__closures,
2467
+ ab: $si__input_collapsedFiles && $input_collapsedFiles__closures,
2468
+ af: $si__input_commentKeys && $commentKeys__closures,
2469
+ ag: $si__input_newKeys && $newKeys__closures,
2470
+ ah: $si__input_workspaceId__OR__input_scope && $hrefFor2__closures,
2471
+ ac: $collapsedRepos__closures
2459
2472
  });
2460
2473
  _resume_branch($scope0_id);
2461
2474
  });
@@ -2491,9 +2504,9 @@ var diff_file_sheet_default = _template("e", (input) => {
2491
2504
  _if(() => {
2492
2505
  if (open) {
2493
2506
  const $scope1_id = _scope_id();
2494
- _html(`<div${_attr_class("_e1")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_e2")} role=dialog aria-label="Jump to file"><div${_attr_class("_e3")}><strong${_attr_class("_e0")}>Files</strong><span${_attr_class("_e4")}>${_escape(input.files.length)}${_el_resume($scope1_id, "f", $sg__input_files_length)}${_sep($sg__input_total__OR__input_files_length)}${input.files.length !== total ? ` / ${_escape(`${total}`)}` : ""}${_el_resume($scope1_id, "g", $sg__input_total__OR__input_files_length)}</span><button type=button${_attr_class([iconBtnLg, "_eZ"])} title=Close aria-label=Close>`);
2507
+ _html(`<div${_attr_class("_fj")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_fk")} role=dialog aria-label="Jump to file"><div${_attr_class("_fl")}><strong${_attr_class("_fi")}>Files</strong><span${_attr_class("_fm")}>${_escape(input.files.length)}${_el_resume($scope1_id, "f", $sg__input_files_length)}${_sep($sg__input_total__OR__input_files_length)}${input.files.length !== total ? ` / ${_escape(`${total}`)}` : ""}${_el_resume($scope1_id, "g", $sg__input_total__OR__input_files_length)}</span><button type=button${_attr_class([iconBtnLg, "_fh"])} title=Close aria-label=Close>`);
2495
2508
  icon_xmark_default({ size: 16 });
2496
- _html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_e_")}>`);
2509
+ _html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_fs")}>`);
2497
2510
  _set_serialize_reason(2);
2498
2511
  const $childScope = _peek_scope_id();
2499
2512
  file_filter_default({
@@ -2502,24 +2515,24 @@ var diff_file_sheet_default = _template("e", (input) => {
2502
2515
  filter = _new_filter;
2503
2516
  }, "e2", $scope1_id)
2504
2517
  });
2505
- _html(`</div><div${_attr_class("_e5")}>`);
2518
+ _html(`</div><div${_attr_class("_fn")}>`);
2506
2519
  _for_of(input.files, (file) => {
2507
2520
  const $scope2_id = _scope_id();
2508
2521
  const parts = splitKey(file.key);
2509
- _html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_e6", "_u"])}><span${_attr_class("_fc")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope2_id, "c", $sg__input_files)}</span>${_el_resume($scope2_id, "b", $sg__input_files)}<span${_attr_class("_e7")}>`);
2522
+ _html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_fo", "_u"])}><span${_attr_class("_fv")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope2_id, "c", $sg__input_files)}</span>${_el_resume($scope2_id, "b", $sg__input_files)}<span${_attr_class("_fp")}>`);
2510
2523
  _if(() => {
2511
2524
  if (parts.dir) {
2512
2525
  const $scope3_id = _scope_id();
2513
- _html(`<span${_attr_class("_e8")}><bdi>${_escape(parts.dir)}${_el_resume($scope3_id, "b", $sg__input_files)}/</bdi></span>`);
2526
+ _html(`<span${_attr_class("_fq")}><bdi>${_escape(parts.dir)}${_el_resume($scope3_id, "b", $sg__input_files)}/</bdi></span>`);
2514
2527
  $si__input_files && writeScope($scope3_id, { _: _scope_with_id($scope2_id) });
2515
2528
  return 0;
2516
2529
  }
2517
2530
  }, $scope2_id, "e", $sg__input_files, $sg__input_files, $sg__input_commentKeys__OR__input_newKeys__OR__input_files, 0, 1);
2518
- _html(`<span${_attr_class("_e9")}><bdi>${_escape(parts.name)}${_el_resume($scope2_id, "g", $sg__input_files)}</bdi></span></span>`);
2531
+ _html(`<span${_attr_class("_fr")}><bdi>${_escape(parts.name)}${_el_resume($scope2_id, "g", $sg__input_files)}</bdi></span></span>`);
2519
2532
  _if(() => {
2520
2533
  if (newKeys.has(file.key)) {
2521
2534
  const $scope4_id = _scope_id();
2522
- _html(`<span${_attr_class(["_w", "_fb"])} title="Changed since your last visit"></span>`);
2535
+ _html(`<span${_attr_class(["_w", "_fu"])} title="Changed since your last visit"></span>`);
2523
2536
  _serialize_if($scope0_reason, 1) && writeScope($scope4_id, {});
2524
2537
  return 0;
2525
2538
  }
@@ -2543,7 +2556,7 @@ var diff_file_sheet_default = _template("e", (input) => {
2543
2556
  _if(() => {
2544
2557
  if (!input.files.length) {
2545
2558
  const $scope6_id = _scope_id();
2546
- _html(`<p${_attr_class("_fa")}>No files match.</p>`);
2559
+ _html(`<p${_attr_class("_ft")}>No files match.</p>`);
2547
2560
  $si__input_files_length && writeScope($scope6_id, {});
2548
2561
  return 0;
2549
2562
  }
@@ -2597,6 +2610,8 @@ var diff_view_default = _template("j", (input) => {
2597
2610
  const $onlyNew__closures = /* @__PURE__ */ new Set();
2598
2611
  const $findState_hit__closures = /* @__PURE__ */ new Set();
2599
2612
  const $collapsedRepos__closures = /* @__PURE__ */ new Set();
2613
+ const $collapsedFiles__closures = /* @__PURE__ */ new Set();
2614
+ const $setFilesCollapsed2__closures = /* @__PURE__ */ new Set();
2600
2615
  const $openedRepos__closures = /* @__PURE__ */ new Set();
2601
2616
  const $expandingRepos__closures = /* @__PURE__ */ new Set();
2602
2617
  const $reload2__closures = /* @__PURE__ */ new Set();
@@ -2631,6 +2646,13 @@ var diff_view_default = _template("j", (input) => {
2631
2646
  keys: []
2632
2647
  };
2633
2648
  let collapsedRepos = /* @__PURE__ */ new Set();
2649
+ let collapsedFiles = /* @__PURE__ */ new Set();
2650
+ const setFilesCollapsed = _resume((keys, collapsed) => {
2651
+ const next = new Set(collapsedFiles);
2652
+ for (const key of keys) if (collapsed) next.add(key);
2653
+ else next.delete(key);
2654
+ if (next.size !== collapsedFiles.size || [...next].some((k) => !collapsedFiles.has(k))) collapsedFiles = next;
2655
+ }, "j3", $scope0_id);
2634
2656
  let openedRepos = /* @__PURE__ */ new Set();
2635
2657
  let expandingRepos = /* @__PURE__ */ new Set();
2636
2658
  const nearBox = {
@@ -2671,7 +2693,7 @@ var diff_view_default = _template("j", (input) => {
2671
2693
  cb();
2672
2694
  }
2673
2695
  });
2674
- }, "j3", $scope0_id);
2696
+ }, "j4", $scope0_id);
2675
2697
  const pinToTop = _resume((el) => {
2676
2698
  const root = ((scrollEl) => scrollEl())(_el_read_error);
2677
2699
  if (!root) {
@@ -2680,7 +2702,7 @@ var diff_view_default = _template("j", (input) => {
2680
2702
  }
2681
2703
  const top = el.getBoundingClientRect().top - root.getBoundingClientRect().top + root.scrollTop;
2682
2704
  root.scrollTo({ top: Math.max(0, top - 8) });
2683
- }, "j4", $scope0_id);
2705
+ }, "j5", $scope0_id);
2684
2706
  const focusPrSection = _resume((pr) => {
2685
2707
  if (!pr) return;
2686
2708
  const list = repos || [];
@@ -2704,12 +2726,12 @@ var diff_view_default = _template("j", (input) => {
2704
2726
  pinToTop(el);
2705
2727
  };
2706
2728
  requestAnimationFrame(tryScroll);
2707
- }, "j5", $scope0_id);
2729
+ }, "j6", $scope0_id);
2708
2730
  const openFile = _resume((key) => {
2709
2731
  const el = ((scrollEl) => scrollEl())(_el_read_error)?.querySelector(`details[data-key="${CSS.escape(key)}"]`);
2710
2732
  if (el) el.open = true;
2711
2733
  return el;
2712
- }, "j6", $scope0_id);
2734
+ }, "j7", $scope0_id);
2713
2735
  const jumpTo = _resume((key) => {
2714
2736
  input.onFileChange?.(key);
2715
2737
  const started = Date.now();
@@ -2722,7 +2744,7 @@ var diff_view_default = _template("j", (input) => {
2722
2744
  if (Date.now() - started < 2500) requestAnimationFrame(tryJump);
2723
2745
  };
2724
2746
  tryJump();
2725
- }, "j7", $scope0_id);
2747
+ }, "j8", $scope0_id);
2726
2748
  const headBox = {
2727
2749
  sig: "",
2728
2750
  timer: 0
@@ -2750,14 +2772,14 @@ var diff_view_default = _template("j", (input) => {
2750
2772
  } finally {
2751
2773
  if (seq === loadBox.seq) loading = false;
2752
2774
  }
2753
- }, "j8", $scope0_id);
2775
+ }, "j9", $scope0_id);
2754
2776
  const setScope = _resume((next, persist = true) => {
2755
2777
  if (next === scope$1) return;
2756
2778
  scope$1 = next;
2757
2779
  if (persist) setDiffScope(next);
2758
2780
  input.onScopeChange?.(next);
2759
2781
  load(next);
2760
- }, "j9", $scope0_id);
2782
+ }, "j10", $scope0_id);
2761
2783
  const sendGate = { busy: 0 };
2762
2784
  const loadReview = _resume(async () => {
2763
2785
  if (sendGate.busy) return;
@@ -2766,15 +2788,15 @@ var diff_view_default = _template("j", (input) => {
2766
2788
  if (sendGate.busy) return;
2767
2789
  comments = reviewData.comments || [];
2768
2790
  } catch {}
2769
- }, "j10", $scope0_id);
2770
- const reload = _resume(() => load(scope$1, true), "j11", $scope0_id);
2791
+ }, "j11", $scope0_id);
2792
+ const reload = _resume(() => load(scope$1, true), "j12", $scope0_id);
2771
2793
  const reloadSoon = _resume(() => {
2772
2794
  if (headBox.timer) clearTimeout(headBox.timer);
2773
2795
  headBox.timer = setTimeout(() => {
2774
2796
  headBox.timer = 0;
2775
2797
  reload();
2776
2798
  }, 250);
2777
- }, "j12", $scope0_id);
2799
+ }, "j13", $scope0_id);
2778
2800
  const markSeen = _resume(() => {
2779
2801
  if (!repos) return;
2780
2802
  const heads = {};
@@ -2793,7 +2815,7 @@ var diff_view_default = _template("j", (input) => {
2793
2815
  }),
2794
2816
  keepalive: true
2795
2817
  }).catch(() => {});
2796
- }, "j13", $scope0_id);
2818
+ }, "j14", $scope0_id);
2797
2819
  const repoList = repos || [];
2798
2820
  const allFiles = repoList.flatMap((r) => r.files.map((f) => ({
2799
2821
  ...f,
@@ -2827,7 +2849,7 @@ var diff_view_default = _template("j", (input) => {
2827
2849
  }));
2828
2850
  const localDifferIds = new Set(repoList.filter((repo) => !!repo.pr && !!repo.localHead && (repo.localHead !== repo.head || repo.branch !== repo.pr.headRefName)).map((r) => r.id));
2829
2851
  const hasFiles = !repos || allFiles.length > 0;
2830
- const fileWorktree = _resume((repo) => repo.includes("#") ? repo.split("#")[0] : repo, "j14");
2852
+ const fileWorktree = _resume((repo) => repo.includes("#") ? repo.split("#")[0] : repo, "j15");
2831
2853
  const anchorFor = _resume((file, range) => {
2832
2854
  const section = repoList.find((r) => r.id === file.repo);
2833
2855
  const source = range.side === "deletions" ? file.old : file.new;
@@ -2835,7 +2857,7 @@ var diff_view_default = _template("j", (input) => {
2835
2857
  head: section?.head,
2836
2858
  snippet: source == null ? void 0 : quoteRange(source, range.start, range.end, range.side === "deletions" ? "deletions" : "additions")
2837
2859
  };
2838
- }, "j15", $scope0_id);
2860
+ }, "j16", $scope0_id);
2839
2861
  const saveComment = _resume(async (file, text) => {
2840
2862
  const range = draft;
2841
2863
  draft = null;
@@ -2859,16 +2881,16 @@ var diff_view_default = _template("j", (input) => {
2859
2881
  } catch (err) {
2860
2882
  error = String(err.message || err);
2861
2883
  }
2862
- }, "j16", $scope0_id);
2884
+ }, "j17", $scope0_id);
2863
2885
  const deleteRemote = _resume((ids) => ids === "all" ? fetch(`/api/workspaces/${input.workspaceId}/review`, {
2864
2886
  method: "POST",
2865
2887
  headers: { "content-type": "application/json" },
2866
2888
  body: JSON.stringify({ action: "clear" })
2867
- }) : Promise.all(ids.map((id) => fetch(`/api/workspaces/${input.workspaceId}/review/${id}`, { method: "DELETE" }))), "j17", $scope0_id);
2889
+ }) : Promise.all(ids.map((id) => fetch(`/api/workspaces/${input.workspaceId}/review/${id}`, { method: "DELETE" }))), "j18", $scope0_id);
2868
2890
  const removeComment = _resume(async (id) => {
2869
2891
  comments = comments.filter((c) => c.id !== id);
2870
2892
  await deleteRemote([id]).catch(() => {});
2871
- }, "j18", $scope0_id);
2893
+ }, "j19", $scope0_id);
2872
2894
  const dispatch = _resume(async (list, to, consume) => {
2873
2895
  if (!list.length) return true;
2874
2896
  sendGate.busy++;
@@ -2904,13 +2926,13 @@ var diff_view_default = _template("j", (input) => {
2904
2926
  } finally {
2905
2927
  sendGate.busy--;
2906
2928
  }
2907
- }, "j19", $scope0_id);
2908
- const copyMarkdown = _resume(() => dispatch(comments, { clipboard: true }, "all"), "j20", $scope0_id);
2909
- const sendTo = _resume((sessionId) => dispatch(comments, { session: sessionId }, "all"), "j21", $scope0_id);
2929
+ }, "j20", $scope0_id);
2930
+ const copyMarkdown = _resume(() => dispatch(comments, { clipboard: true }, "all"), "j21", $scope0_id);
2931
+ const sendTo = _resume((sessionId) => dispatch(comments, { session: sessionId }, "all"), "j22", $scope0_id);
2910
2932
  const sendOneComment = _resume((id, sessionId) => {
2911
2933
  const comment = comments.find((c) => c.id === id);
2912
2934
  return comment ? dispatch([comment], { session: sessionId }, [id]) : Promise.resolve(false);
2913
- }, "j22", $scope0_id);
2935
+ }, "j23", $scope0_id);
2914
2936
  const sendDraftComment = _resume((file, text, sessionId) => {
2915
2937
  const range = draft;
2916
2938
  const trimmed = text.trim();
@@ -2928,12 +2950,12 @@ var diff_view_default = _template("j", (input) => {
2928
2950
  ...anchorFor(file, range)
2929
2951
  };
2930
2952
  return dispatch([one], { session: sessionId }, []);
2931
- }, "j23", $scope0_id);
2953
+ }, "j24", $scope0_id);
2932
2954
  const openFind = _resume(() => {
2933
2955
  findOpen = true;
2934
2956
  findTick++;
2935
2957
  findFocusRef.focus();
2936
- }, "j24", $scope0_id);
2958
+ }, "j25", $scope0_id);
2937
2959
  const onFindState = _resume((next) => {
2938
2960
  findState = next;
2939
2961
  if (!next.hit) return;
@@ -2948,7 +2970,7 @@ var diff_view_default = _template("j", (input) => {
2948
2970
  setSearchPaint(next.query, hit);
2949
2971
  revealSearchHit();
2950
2972
  }, 0);
2951
- }, "j25", $scope0_id);
2973
+ }, "j26", $scope0_id);
2952
2974
  const toggleSection = _resume((id) => {
2953
2975
  if (expandingRepos.has(id)) {
2954
2976
  const busy = new Set(expandingRepos);
@@ -2980,23 +3002,23 @@ var diff_view_default = _template("j", (input) => {
2980
3002
  openedRepos = /* @__PURE__ */ new Set([...openedRepos, id]);
2981
3003
  collapsedRepos = /* @__PURE__ */ new Set([...collapsedRepos, id]);
2982
3004
  }
2983
- }, "j26", $scope0_id);
2984
- _html(`<div${_attr_class("_c7")}><div${_attr_class("_db")}><div${_attr_class("_dc")}><div${_attr_class(["_dm", { ["_dl"]: !comments.length }])}>`);
3005
+ }, "j27", $scope0_id);
3006
+ _html(`<div${_attr_class("_ec")}><div${_attr_class("_eh")}><div${_attr_class("_ei")}><div${_attr_class(["_es", { ["_er"]: !comments.length }])}>`);
2985
3007
  _if(() => {
2986
3008
  if (input.onExit) {
2987
3009
  const $scope1_id = _scope_id();
2988
- _html(`<a${_attr("href", `/w/${input.workspaceId}`)}${_attr_class([iconBtnRow, "_dd"])} title="Back to terminal (Esc)">`);
3010
+ _html(`<a${_attr("href", `/w/${input.workspaceId}`)}${_attr_class([iconBtnRow, "_ej"])} title="Back to terminal (Esc)">`);
2989
3011
  icon_back_default({ size: 14 });
2990
3012
  _html(`</a>${_el_resume($scope1_id, "a", _serialize_guard($scope0_reason, 3))}`);
2991
3013
  _serialize_if($scope0_reason, 0) && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 3) && _scope_with_id($scope0_id) });
2992
3014
  return 0;
2993
3015
  }
2994
3016
  }, $scope0_id, "e", _serialize_guard($scope0_reason, 0), _serialize_guard($scope0_reason, 4), 1, 0, 1);
2995
- _html(`<h1${_attr_class("_dg")}>Review</h1>`);
3017
+ _html(`<h1${_attr_class("_em")}>Review</h1>`);
2996
3018
  _if(() => {
2997
3019
  if (comments.length) {
2998
3020
  const $scope5_id = _scope_id();
2999
- _html(`<span${_attr_class("_df")}>${_escape(comments.length)}${_el_resume($scope5_id, "b")} comment<!>${comments.length === 1 ? "" : "s"}${_el_resume($scope5_id, "c")}</span>`);
3021
+ _html(`<span${_attr_class("_el")}>${_escape(comments.length)}${_el_resume($scope5_id, "b")} comment<!>${comments.length === 1 ? "" : "s"}${_el_resume($scope5_id, "c")}</span>`);
3000
3022
  writeScope($scope5_id, {});
3001
3023
  return 0;
3002
3024
  }
@@ -3004,7 +3026,7 @@ var diff_view_default = _template("j", (input) => {
3004
3026
  _if(() => {
3005
3027
  if (comments.length) {
3006
3028
  const $scope2_id = _scope_id();
3007
- _html(`<span${_attr_class("_de")}>`);
3029
+ _html(`<span${_attr_class("_ek")}>`);
3008
3030
  _set_serialize_reason(_serialize_guard($scope0_reason, 5));
3009
3031
  const $childScope = _peek_scope_id();
3010
3032
  diff_send_default({
@@ -3017,23 +3039,23 @@ var diff_view_default = _template("j", (input) => {
3017
3039
  return 0;
3018
3040
  }
3019
3041
  }, $scope0_id, "h", 1, 1, 1, 0, 1);
3020
- _html(`</div>${_el_resume($scope0_id, "d")}<div${_attr_class("_da")}>`);
3042
+ _html(`</div>${_el_resume($scope0_id, "d")}<div${_attr_class("_eg")}>`);
3021
3043
  _if(() => {
3022
3044
  if (hasFiles) {
3023
3045
  const $scope12_id = _scope_id();
3024
3046
  _html(`<button${_attr_class([
3025
3047
  treeToggle,
3026
- "_c9",
3027
- { ["_c8"]: treeOpen }
3048
+ "_ee",
3049
+ { ["_ed"]: treeOpen }
3028
3050
  ])} title=${treeOpen ? "\"Hide file tree\"" : "\"Show file tree\""}>`);
3029
3051
  icon_sidebar_default({ size: 14 });
3030
3052
  _html(`</button>${_el_resume($scope12_id, "a")}`);
3031
- _script($scope12_id, "j42");
3053
+ _script($scope12_id, "j45");
3032
3054
  writeScope($scope12_id, {});
3033
3055
  return 0;
3034
3056
  }
3035
3057
  }, $scope0_id, "j", 1, 1, 1, 0, 1);
3036
- _html(`<button${_attr_class([iconBtnRow, "_c9"])} title="Refresh diff"${_attr("disabled", loading)}>`);
3058
+ _html(`<button${_attr_class([iconBtnRow, "_ee"])} title="Refresh diff"${_attr("disabled", loading)}>`);
3037
3059
  _set_serialize_reason(1);
3038
3060
  const $childScope2 = _peek_scope_id();
3039
3061
  icon_refresh_default({
@@ -3044,19 +3066,19 @@ var diff_view_default = _template("j", (input) => {
3044
3066
  _if(() => {
3045
3067
  if (hasFiles) {
3046
3068
  const $scope13_id = _scope_id();
3047
- _html(`<button${_attr_class(["_l", "_dy"])} title="Jump to file">Files (<!>${_escape(shownFiles.length)}${_el_resume($scope13_id, "b")})</button>${_el_resume($scope13_id, "a")}`);
3048
- _script($scope13_id, "j43");
3069
+ _html(`<button${_attr_class(["_l", "_eE"])} title="Jump to file">Files (<!>${_escape(shownFiles.length)}${_el_resume($scope13_id, "b")})</button>${_el_resume($scope13_id, "a")}`);
3070
+ _script($scope13_id, "j46");
3049
3071
  writeScope($scope13_id, {});
3050
3072
  return 0;
3051
3073
  }
3052
3074
  }, $scope0_id, "m", 1, 1, 1, 0, 1);
3053
- _html(`<div${_attr_class("_dn")} role=group aria-label="Review scope"><button type=button${_attr_class(["_dp", { ["_do"]: scope$1 === "committed" }])} aria-pressed=${scope$1 === "committed" ? "true" : "false"} title="Committed changes only (base…tip, no working-tree edits)"${_attr("disabled", loading)}>Committed</button>${_el_resume($scope0_id, "o")}<button type=button${_attr_class(["_dp", { ["_do"]: scope$1 === "working" }])} aria-pressed=${scope$1 === "working" ? "true" : "false"} title="Committed changes plus uncommitted and untracked files"${_attr("disabled", loading)}>Working tree</button>${_el_resume($scope0_id, "p")}<button type=button${_attr_class(["_dp", { ["_do"]: scope$1 === "dirty" }])} aria-pressed=${scope$1 === "dirty" ? "true" : "false"} title="Only uncommitted and untracked files, against HEAD"${_attr("disabled", loading)}>Uncommitted</button>${_el_resume($scope0_id, "q")}</div><span${_attr_class(["_j", "_dq"])}>`);
3075
+ _html(`<div${_attr_class("_et")} role=group aria-label="Review scope"><button type=button${_attr_class(["_ev", { ["_eu"]: scope$1 === "committed" }])} aria-pressed=${scope$1 === "committed" ? "true" : "false"} title="Committed changes only (base…tip, no working-tree edits)"${_attr("disabled", loading)}>Committed</button>${_el_resume($scope0_id, "o")}<button type=button${_attr_class(["_ev", { ["_eu"]: scope$1 === "working" }])} aria-pressed=${scope$1 === "working" ? "true" : "false"} title="Committed changes plus uncommitted and untracked files"${_attr("disabled", loading)}>Working tree</button>${_el_resume($scope0_id, "p")}<button type=button${_attr_class(["_ev", { ["_eu"]: scope$1 === "dirty" }])} aria-pressed=${scope$1 === "dirty" ? "true" : "false"} title="Only uncommitted and untracked files, against HEAD"${_attr("disabled", loading)}>Uncommitted</button>${_el_resume($scope0_id, "q")}</div><span${_attr_class(["_j", "_ew"])}>`);
3054
3076
  _attr_select_value($scope0_id, "s", scope$1, _resume(function(v) {
3055
3077
  setScope(v);
3056
3078
  }, "j0", $scope0_id), () => {
3057
- _html(`<select${_attr_class(["_k", "_dr"])} aria-label="Review scope"${_attr("disabled", loading)}><option${_attr_option_value("committed")}>Committed</option><option${_attr_option_value("working")}>Working tree</option><option${_attr_option_value("dirty")}>Uncommitted</option></select>`);
3079
+ _html(`<select${_attr_class(["_k", "_ex"])} aria-label="Review scope"${_attr("disabled", loading)}><option${_attr_option_value("committed")}>Committed</option><option${_attr_option_value("working")}>Working tree</option><option${_attr_option_value("dirty")}>Uncommitted</option></select>`);
3058
3080
  });
3059
- _html(`${_el_resume($scope0_id, "s")}</span><div${_attr_class(["_dj", { ["_di"]: !findOpen }])}>`);
3081
+ _html(`${_el_resume($scope0_id, "s")}</span><div${_attr_class(["_ep", { ["_eo"]: !findOpen }])}>`);
3060
3082
  _set_serialize_reason(2);
3061
3083
  const $childScope3 = _peek_scope_id();
3062
3084
  diff_find_default({
@@ -3065,11 +3087,11 @@ var diff_view_default = _template("j", (input) => {
3065
3087
  open: findOpen,
3066
3088
  openChange: _resume((_new_findOpen) => {
3067
3089
  findOpen = _new_findOpen;
3068
- }, "j27", $scope0_id),
3090
+ }, "j28", $scope0_id),
3069
3091
  focusRef: findFocusRef,
3070
3092
  stateChange: _resume(function(s) {
3071
3093
  onFindState(s);
3072
- }, "j28", $scope0_id)
3094
+ }, "j29", $scope0_id)
3073
3095
  });
3074
3096
  _html(`</div>${_el_resume($scope0_id, "t")}`);
3075
3097
  _if(() => {
@@ -3077,25 +3099,25 @@ var diff_view_default = _template("j", (input) => {
3077
3099
  const $scope14_id = _scope_id();
3078
3100
  _html(`<button${_attr_class([
3079
3101
  iconBtnRow,
3080
- "_dh",
3081
- "_c9"
3102
+ "_en",
3103
+ "_ee"
3082
3104
  ])} title="Find in review (⌘/Ctrl+F)" aria-label="Find in review"${_attr("hidden", findOpen)}>`);
3083
3105
  icon_search_default({ size: 14 });
3084
3106
  _html(`</button>${_el_resume($scope14_id, "a")}`);
3085
- _script($scope14_id, "j44");
3107
+ _script($scope14_id, "j47");
3086
3108
  writeScope($scope14_id, {});
3087
3109
  return 0;
3088
3110
  }
3089
3111
  }, $scope0_id, "v", 1, 1, 1, 0, 1);
3090
- _html(`</div></div><div${_attr_class("_dk")} data-diff-main>`);
3112
+ _html(`</div></div><div${_attr_class("_eq")} data-diff-main>`);
3091
3113
  _if(() => {
3092
3114
  if (error) {
3093
3115
  const $scope6_id = _scope_id();
3094
3116
  toast_default({
3095
3117
  onDismiss: _resume(function() {
3096
3118
  error = null;
3097
- }, "j29", $scope6_id),
3098
- content: _content_resume("j45", () => {
3119
+ }, "j30", $scope6_id),
3120
+ content: _content_resume("j48", () => {
3099
3121
  _scope_reason();
3100
3122
  const $scope7_id = _scope_id();
3101
3123
  _html(`${_escape(error)}${_el_resume($scope7_id, "a")}`);
@@ -3110,7 +3132,7 @@ var diff_view_default = _template("j", (input) => {
3110
3132
  _if(() => {
3111
3133
  if (!repos && loading) {
3112
3134
  const $scope15_id = _scope_id();
3113
- _html(`<div${_attr_class("_dt")} aria-hidden=true><div${_attr_class(["_du", "_dv"])}></div><div${_attr_class(["_du", "_dw"])}></div><div${_attr_class(["_du", "_dx"])}></div><div${_attr_class(["_du", "_dw"])}></div><div${_attr_class(["_du", "_dx"])}></div></div>`);
3135
+ _html(`<div${_attr_class("_ez")} aria-hidden=true><div${_attr_class(["_eA", "_eB"])}></div><div${_attr_class(["_eA", "_eC"])}></div><div${_attr_class(["_eA", "_eD"])}></div><div${_attr_class(["_eA", "_eC"])}></div><div${_attr_class(["_eA", "_eD"])}></div></div>`);
3114
3136
  writeScope($scope15_id, {});
3115
3137
  return 0;
3116
3138
  }
@@ -3124,7 +3146,7 @@ var diff_view_default = _template("j", (input) => {
3124
3146
  kind: "warn",
3125
3147
  placement: "inline",
3126
3148
  title: `${repo.worktree}: base not found`,
3127
- content: _content_resume("j46", () => {
3149
+ content: _content_resume("j49", () => {
3128
3150
  _scope_reason();
3129
3151
  const $scope10_id = _scope_id();
3130
3152
  _html(`${_escape(repo.base)}${_el_resume($scope10_id, "a")}<!>${scope$1 !== "committed" ? ", showing uncommitted changes only" : ""}${_el_resume($scope10_id, "b")}.`);
@@ -3169,14 +3191,14 @@ var diff_view_default = _template("j", (input) => {
3169
3191
  opened: openedRepos.has(repo.id),
3170
3192
  onToggle: _resume(function() {
3171
3193
  toggleSection(repo.id);
3172
- }, "j30", $scope4_id),
3194
+ }, "j31", $scope4_id),
3173
3195
  workspaceBranch: input.workspaceBranch || "",
3174
3196
  workspaceName: input.workspaceName || "",
3175
3197
  localDiffers: localDifferIds.has(repo.id),
3176
3198
  onlyNew,
3177
3199
  onToggleNew: _resume(function() {
3178
3200
  onlyNew = !onlyNew;
3179
- }, "j31", $scope4_id),
3201
+ }, "j32", $scope4_id),
3180
3202
  onReload: reload,
3181
3203
  loading,
3182
3204
  findHit: findState.hit,
@@ -3184,6 +3206,10 @@ var diff_view_default = _template("j", (input) => {
3184
3206
  draft,
3185
3207
  sessions: input.sessions || [],
3186
3208
  observeNear,
3209
+ collapsedFiles,
3210
+ onFileToggle: _resume(function(key, open) {
3211
+ setFilesCollapsed([key], !open);
3212
+ }, "j33", $scope4_id),
3187
3213
  onSelect: _resume(function(file, range) {
3188
3214
  draft = {
3189
3215
  key: file.key,
@@ -3191,27 +3217,27 @@ var diff_view_default = _template("j", (input) => {
3191
3217
  start: Math.min(range.start, range.end),
3192
3218
  end: Math.max(range.start, range.end)
3193
3219
  };
3194
- }, "j32", $scope4_id),
3220
+ }, "j34", $scope4_id),
3195
3221
  onSaveComment: _resume(function(file, text) {
3196
3222
  saveComment(file, text);
3197
- }, "j33", $scope4_id),
3223
+ }, "j35", $scope4_id),
3198
3224
  onSendDraft: _resume(function(file, text, sessionId) {
3199
3225
  sendDraftComment(file, text, sessionId);
3200
- }, "j34", $scope4_id),
3226
+ }, "j36", $scope4_id),
3201
3227
  onCancelDraft: _resume(function() {
3202
3228
  draft = null;
3203
- }, "j35", $scope4_id),
3229
+ }, "j37", $scope4_id),
3204
3230
  onDeleteComment: _resume(function(id) {
3205
3231
  removeComment(id);
3206
- }, "j36", $scope4_id),
3232
+ }, "j38", $scope4_id),
3207
3233
  onSendComment: _resume(function(id, sessionId) {
3208
3234
  sendOneComment(id, sessionId);
3209
- }, "j37", $scope4_id),
3235
+ }, "j39", $scope4_id),
3210
3236
  onError: _resume(function(message) {
3211
3237
  error = message;
3212
- }, "j38", $scope4_id)
3238
+ }, "j40", $scope4_id)
3213
3239
  });
3214
- _subscribe($toggleSection2__closures, _subscribe($sendDraftComment2__closures, _subscribe($sendOneComment2__closures, _subscribe($removeComment2__closures, _subscribe($saveComment2__closures, _subscribe($localDifferIds__closures, _subscribe($commentsByFile__closures, _subscribe($shownKeySet__closures, _subscribe($repoList_length__closures, _subscribe($reload2__closures, _subscribe($expandingRepos__closures, _subscribe($openedRepos__closures, _subscribe($collapsedRepos__closures, _subscribe($findState_hit__closures, _subscribe($onlyNew__closures, _subscribe($loading__closures, _subscribe($draft__closures, _subscribe($si__input_workspaceName && $input_workspaceName__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, _subscribe($si__input_sessions && $input_sessions__closures, writeScope($scope4_id, { a: _existing_scope($childScope5) })))))))))))))))))))));
3240
+ _subscribe($toggleSection2__closures, _subscribe($sendDraftComment2__closures, _subscribe($sendOneComment2__closures, _subscribe($removeComment2__closures, _subscribe($saveComment2__closures, _subscribe($localDifferIds__closures, _subscribe($commentsByFile__closures, _subscribe($shownKeySet__closures, _subscribe($repoList_length__closures, _subscribe($reload2__closures, _subscribe($expandingRepos__closures, _subscribe($openedRepos__closures, _subscribe($setFilesCollapsed2__closures, _subscribe($collapsedFiles__closures, _subscribe($collapsedRepos__closures, _subscribe($findState_hit__closures, _subscribe($onlyNew__closures, _subscribe($loading__closures, _subscribe($draft__closures, _subscribe($si__input_workspaceName && $input_workspaceName__closures, _subscribe($si__input_workspaceBranch && $input_workspaceBranch__closures, _subscribe($si__input_sessions && $input_sessions__closures, writeScope($scope4_id, { a: _existing_scope($childScope5) })))))))))))))))))))))));
3215
3241
  return 0;
3216
3242
  }
3217
3243
  }, $scope3_id, "a", 1, 1, 1, 0, 1);
@@ -3221,7 +3247,7 @@ var diff_view_default = _template("j", (input) => {
3221
3247
  });
3222
3248
  }, "id", $scope0_id, "a1");
3223
3249
  _html(`</div>${_el_resume($scope0_id, "w")}</div>`);
3224
- _set_serialize_reason(128382);
3250
+ _set_serialize_reason(259454);
3225
3251
  const $childScope6 = _peek_scope_id();
3226
3252
  diff_tree_default({
3227
3253
  open: treeOpen,
@@ -3231,13 +3257,17 @@ var diff_view_default = _template("j", (input) => {
3231
3257
  collapsedRepos,
3232
3258
  collapsedReposChange: _resume((_new_collapsedRepos) => {
3233
3259
  collapsedRepos = _new_collapsedRepos;
3234
- }, "j39", $scope0_id),
3260
+ }, "j41", $scope0_id),
3235
3261
  openedRepos,
3236
3262
  openedReposChange: _resume((_new_openedRepos) => {
3237
3263
  openedRepos = _new_openedRepos;
3238
- }, "j40", $scope0_id),
3264
+ }, "j42", $scope0_id),
3239
3265
  commentKeys,
3240
3266
  newKeys,
3267
+ collapsedFiles,
3268
+ onDirToggle: _resume(function(keys, collapsed) {
3269
+ setFilesCollapsed(keys, collapsed);
3270
+ }, "j43", $scope0_id),
3241
3271
  workspaceId: input.workspaceId,
3242
3272
  scope: scope$1
3243
3273
  });
@@ -3247,7 +3277,7 @@ var diff_view_default = _template("j", (input) => {
3247
3277
  open: fileSheet,
3248
3278
  openChange: _resume((_new_fileSheet) => {
3249
3279
  fileSheet = _new_fileSheet;
3250
- }, "j41", $scope0_id),
3280
+ }, "j44", $scope0_id),
3251
3281
  files: shownFiles,
3252
3282
  filter: fileFilter,
3253
3283
  filterChange: $filterChange,
@@ -3258,10 +3288,10 @@ var diff_view_default = _template("j", (input) => {
3258
3288
  scope: scope$1
3259
3289
  });
3260
3290
  _html("</div>");
3261
- _script($scope0_id, "j47");
3262
- _script($scope0_id, "j48");
3263
- _script($scope0_id, "j49");
3264
3291
  _script($scope0_id, "j50");
3292
+ _script($scope0_id, "j51");
3293
+ _script($scope0_id, "j52");
3294
+ _script($scope0_id, "j53");
3265
3295
  writeScope($scope0_id, {
3266
3296
  a6: input.scope,
3267
3297
  a7: _serialize_if($scope0_reason, 2) && input.findOpen,
@@ -3296,76 +3326,80 @@ var diff_view_default = _template("j", (input) => {
3296
3326
  bc: findState?.hit,
3297
3327
  bd: findState?.hit?.key,
3298
3328
  be: collapsedRepos,
3299
- bf: openedRepos,
3300
- bg: expandingRepos,
3301
- bj: nearBox.cbs,
3302
- bk: nearBox.io,
3303
- bl: nearBox.root,
3304
- bn: observeNear,
3305
- bo: pinToTop,
3306
- bq: focusPrSection,
3307
- br: openFile,
3308
- bu: jumpTo,
3309
- bw: headBox.sig,
3310
- bx: headBox.timer,
3311
- bz: loadBox.seq,
3312
- c1: load,
3313
- c4: setScope,
3314
- c7: sendGate.busy,
3315
- c9: loadReview,
3316
- ca: reload,
3317
- cc: reloadSoon,
3318
- cd: markSeen,
3319
- cf: repoList,
3320
- cg: repoList.length,
3321
- ch: allFiles,
3322
- cj: allFiles?.length,
3323
- ck: fileFiltered,
3324
- cl: findKeys,
3325
- cp: shownFiles?.length,
3326
- cr: shownKeySet,
3327
- ct: filesByRepo,
3328
- cw: commentsByFile,
3329
- cz: localDifferIds,
3330
- d0: hasFiles,
3331
- d1: fileWorktree,
3332
- d2: anchorFor,
3333
- d4: saveComment,
3334
- d5: deleteRemote,
3335
- d8: removeComment,
3336
- d9: dispatch,
3337
- dc: copyMarkdown,
3338
- dd: sendTo,
3339
- de: sendOneComment,
3340
- df: sendDraftComment,
3341
- dg: openFind,
3342
- di: onFindState,
3343
- dj: toggleSection,
3329
+ bf: collapsedFiles,
3330
+ bg: setFilesCollapsed,
3331
+ bh: openedRepos,
3332
+ bi: expandingRepos,
3333
+ bl: nearBox.cbs,
3334
+ bm: nearBox.io,
3335
+ bn: nearBox.root,
3336
+ bp: observeNear,
3337
+ bq: pinToTop,
3338
+ bs: focusPrSection,
3339
+ bt: openFile,
3340
+ bw: jumpTo,
3341
+ by: headBox.sig,
3342
+ bz: headBox.timer,
3343
+ c1: loadBox.seq,
3344
+ c3: load,
3345
+ c6: setScope,
3346
+ c9: sendGate.busy,
3347
+ cb: loadReview,
3348
+ cc: reload,
3349
+ ce: reloadSoon,
3350
+ cf: markSeen,
3351
+ ch: repoList,
3352
+ ci: repoList.length,
3353
+ cj: allFiles,
3354
+ cl: allFiles?.length,
3355
+ cm: fileFiltered,
3356
+ cn: findKeys,
3357
+ cr: shownFiles?.length,
3358
+ ct: shownKeySet,
3359
+ cv: filesByRepo,
3360
+ cy: commentsByFile,
3361
+ d1: localDifferIds,
3362
+ d2: hasFiles,
3363
+ d3: fileWorktree,
3364
+ d4: anchorFor,
3365
+ d6: saveComment,
3366
+ d7: deleteRemote,
3367
+ da: removeComment,
3368
+ db: dispatch,
3369
+ de: copyMarkdown,
3370
+ df: sendTo,
3371
+ dg: sendOneComment,
3372
+ dh: sendDraftComment,
3373
+ di: openFind,
3374
+ dk: onFindState,
3375
+ dl: toggleSection,
3344
3376
  b4: input.findOpenChange || void 0,
3345
3377
  l: _existing_scope($childScope2),
3346
3378
  u: _existing_scope($childScope3),
3347
- dq: $error__closures,
3348
- du: $scope__closures,
3349
- dl: $si__input_sessions && $input_sessions__closures,
3350
- dm: $si__input_workspaceBranch && $input_workspaceBranch__closures,
3351
- dn: $si__input_workspaceName && $input_workspaceName__closures,
3352
- dp: $draft__closures,
3353
- dr: $loading__closures,
3354
- dt: $onlyNew__closures,
3355
- dy: $findState_hit__closures,
3356
- dz: $collapsedRepos__closures,
3357
- e0: $openedRepos__closures,
3358
- e1: $expandingRepos__closures,
3359
- e3: $reload2__closures,
3360
- e5: $repoList_length__closures,
3361
- e7: $shownKeySet__closures,
3362
- e9: $commentsByFile__closures,
3363
- ea: $localDifferIds__closures,
3364
- ec: $saveComment2__closures,
3365
- ed: $removeComment2__closures,
3366
- eg: $sendOneComment2__closures,
3367
- eh: $sendDraftComment2__closures,
3368
- ei: $toggleSection2__closures,
3379
+ ds: $error__closures,
3380
+ dw: $scope__closures,
3381
+ dn: $si__input_sessions && $input_sessions__closures,
3382
+ do: $si__input_workspaceBranch && $input_workspaceBranch__closures,
3383
+ dp: $si__input_workspaceName && $input_workspaceName__closures,
3384
+ dr: $draft__closures,
3385
+ dt: $loading__closures,
3386
+ dv: $onlyNew__closures,
3387
+ e0: $findState_hit__closures,
3388
+ e1: $collapsedRepos__closures,
3389
+ e2: $collapsedFiles__closures,
3390
+ e3: $setFilesCollapsed2__closures,
3391
+ e4: $openedRepos__closures,
3392
+ e5: $expandingRepos__closures,
3393
+ e7: $reload2__closures,
3394
+ e9: $repoList_length__closures,
3395
+ eb: $shownKeySet__closures,
3396
+ ed: $commentsByFile__closures,
3397
+ ee: $localDifferIds__closures,
3398
+ eg: $saveComment2__closures,
3399
+ eh: $removeComment2__closures,
3400
+ ek: $sendOneComment2__closures,
3401
+ el: $sendDraftComment2__closures,
3402
+ em: $toggleSection2__closures,
3369
3403
  a2: _existing_scope($childScope6),
3370
3404
  a3: _existing_scope($childScope7)
3371
3405
  });