@dylanpiercey/work 0.0.82 → 0.0.83

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 (247) hide show
  1. package/dist/{_CbGuzk5A.js → _BLfl5xCk.js} +2 -2
  2. package/dist/{_hKCo6x-v.js → _Ca65AieL.js} +217 -181
  3. package/dist/index.mjs +54 -54
  4. package/dist/public/assets/{_Cc65kW932.js → _1lHl-1Rm2.js} +1 -1
  5. package/dist/public/assets/{_CWA7J2mn.js → _5zsw-7Cr.js} +1 -1
  6. package/dist/public/assets/_5zsw-7Cr.js.br +0 -0
  7. package/dist/public/assets/{_Bje7gfya.js → _71X9fj6D.js} +1 -1
  8. package/dist/public/assets/_71X9fj6D.js.br +0 -0
  9. package/dist/public/assets/{_DJ8uQzwM.js → _9c4YB0Zk.js} +1 -1
  10. package/dist/public/assets/_9c4YB0Zk.js.br +0 -0
  11. package/dist/public/assets/{_uHbq-iwP.js → _B-AJiJGO.js} +1 -1
  12. package/dist/public/assets/_B-AJiJGO.js.br +0 -0
  13. package/dist/public/assets/{_DOetJUUJ2.js → _B4ZyyQsV2.js} +1 -1
  14. package/dist/public/assets/_B4ZyyQsV2.js.br +0 -0
  15. package/dist/public/assets/{_FPrhjJGN2.js → _B8DzQMv92.js} +1 -1
  16. package/dist/public/assets/_B8DzQMv92.js.br +0 -0
  17. package/dist/public/assets/{_CdH2klbl2.js → _B8WT48P_2.js} +1 -1
  18. package/dist/public/assets/_B8WT48P_2.js.br +0 -0
  19. package/dist/public/assets/{_nR-jfrht.js → _BBiuY4UK.js} +1 -1
  20. package/dist/public/assets/_BBiuY4UK.js.br +0 -0
  21. package/dist/public/assets/{_DI682Elr.js → _BNAx3Tvj.js} +1 -1
  22. package/dist/public/assets/_BNAx3Tvj.js.br +0 -0
  23. package/dist/public/assets/{_BmC3EX2D.js → _BNdhhhCZ.js} +1 -1
  24. package/dist/public/assets/_BNdhhhCZ.js.br +0 -0
  25. package/dist/public/assets/{_BR-05adR.js → _BTBSshGN.js} +1 -1
  26. package/dist/public/assets/_BTBSshGN.js.br +0 -0
  27. package/dist/public/assets/{_BtwlJ5_o.js → _BeJffPsp.js} +3 -3
  28. package/dist/public/assets/_BeJffPsp.js.br +0 -0
  29. package/dist/public/assets/{_CbNXWLgc2.js → _BkJekmrD2.js} +1 -1
  30. package/dist/public/assets/_BkJekmrD2.js.br +0 -0
  31. package/dist/public/assets/{_DFO3qhdR2.js → _BpH_rTuR2.js} +1 -1
  32. package/dist/public/assets/_BpH_rTuR2.js.br +0 -0
  33. package/dist/public/assets/{_a9F3-2zU.js → _Bw8PBJao.js} +1 -1
  34. package/dist/public/assets/_Bw8PBJao.js.br +0 -0
  35. package/dist/public/assets/{_DS4oOWLT2.js → _C0-yuWNo2.js} +1 -1
  36. package/dist/public/assets/_C0-yuWNo2.js.br +0 -0
  37. package/dist/public/assets/{_osI_OYpe.js → _C2LcDpnr.js} +1 -1
  38. package/dist/public/assets/_C2LcDpnr.js.br +0 -0
  39. package/dist/public/assets/{_CrDF0eeY2.js → _CB9aQE1R2.js} +1 -1
  40. package/dist/public/assets/_CB9aQE1R2.js.br +0 -0
  41. package/dist/public/assets/{_CFFvNT1q.js → _CC7YPvFo.js} +1 -1
  42. package/dist/public/assets/_CC7YPvFo.js.br +0 -0
  43. package/dist/public/assets/{_BECV_Fyx.js → _CE_6fit5.js} +1 -1
  44. package/dist/public/assets/{_CaAVXtkO2.js → _CGtQk7b82.js} +1 -1
  45. package/dist/public/assets/_CGtQk7b82.js.br +0 -0
  46. package/dist/public/assets/{_CSixW3RB.js → _CIjpqTI-.js} +1 -1
  47. package/dist/public/assets/_CIjpqTI-.js.br +0 -0
  48. package/dist/public/assets/{_DOKljOTH.js → _CKhhDaA8.js} +1 -1
  49. package/dist/public/assets/_CKhhDaA8.js.br +0 -0
  50. package/dist/public/assets/{_CJEPOhMj.js → _CMWsOFy3.js} +1 -1
  51. package/dist/public/assets/_CMWsOFy3.js.br +0 -0
  52. package/dist/public/assets/{_DtgGBSSq2.js → _CN3D32Vg2.js} +1 -1
  53. package/dist/public/assets/{_CkepOsOW.js → _COBgV0Ex.js} +1 -1
  54. package/dist/public/assets/_COBgV0Ex.js.br +0 -0
  55. package/dist/public/assets/{_odilh0Si2.js → _CSZL_zs72.js} +1 -1
  56. package/dist/public/assets/_CSZL_zs72.js.br +0 -0
  57. package/dist/public/assets/{_j9oyPgbB.js → _CURT6lGE.js} +1 -1
  58. package/dist/public/assets/_CURT6lGE.js.br +0 -0
  59. package/dist/public/assets/{_la5VE3W4.js → _CWGeGR1-.js} +1 -1
  60. package/dist/public/assets/_CWGeGR1-.js.br +0 -0
  61. package/dist/public/assets/{_CEnYcVq1.js → _CXWT7nK9.js} +1 -1
  62. package/dist/public/assets/_CXWT7nK9.js.br +0 -0
  63. package/dist/public/assets/{_BbzwTGW82.js → _CfZzHhpg2.js} +1 -1
  64. package/dist/public/assets/_CfZzHhpg2.js.br +0 -0
  65. package/dist/public/assets/{_CIa8PHfy.js → _CivgOlHG.js} +1 -1
  66. package/dist/public/assets/_CivgOlHG.js.br +0 -0
  67. package/dist/public/assets/{_C_P5f4EK.js → _ClQgvU1_.js} +1 -1
  68. package/dist/public/assets/_ClQgvU1_.js.br +0 -0
  69. package/dist/public/assets/{_Cx9GIPHc.js → _CqrvgCsT.js} +1 -1
  70. package/dist/public/assets/_CqrvgCsT.js.br +0 -0
  71. package/dist/public/assets/{_BQOF_Y8b2.js → _Cqt93gRb2.js} +1 -1
  72. package/dist/public/assets/_Cqt93gRb2.js.br +0 -0
  73. package/dist/public/assets/{_BiD1U5_T2.js → _Cs_y81HQ2.js} +1 -1
  74. package/dist/public/assets/_Cs_y81HQ2.js.br +0 -0
  75. package/dist/public/assets/{_z9QRJCjN.js → _CvL7IC5I.js} +1 -1
  76. package/dist/public/assets/_CvL7IC5I.js.br +4 -0
  77. package/dist/public/assets/{_Bk_G8M5C.js → _Cwv4XAV0.js} +1 -1
  78. package/dist/public/assets/_Cwv4XAV0.js.br +0 -0
  79. package/dist/public/assets/{_CGMSNnL-2.js → _Cywp9KWf2.js} +1 -1
  80. package/dist/public/assets/_Cywp9KWf2.js.br +0 -0
  81. package/dist/public/assets/{_BIgywKPY.js → _Cz2jRq37.js} +1 -1
  82. package/dist/public/assets/_Cz2jRq37.js.br +0 -0
  83. package/dist/public/assets/{_CZe9PNFm.js → _D2MGiD8V.js} +1 -1
  84. package/dist/public/assets/_D2MGiD8V.js.br +0 -0
  85. package/dist/public/assets/{_DorHpq9j.js → _D2bGG_RX.js} +1 -1
  86. package/dist/public/assets/_D2bGG_RX.js.br +0 -0
  87. package/dist/public/assets/{_DVsvhhCG.js → _D2x1WYfZ.js} +1 -1
  88. package/dist/public/assets/_D2x1WYfZ.js.br +0 -0
  89. package/dist/public/assets/{_BnbIEqHf.js → _D3IUSXVw.js} +1 -1
  90. package/dist/public/assets/_D3IUSXVw.js.br +0 -0
  91. package/dist/public/assets/{_BUZroJmM.js → _D5cWvWuM.js} +1 -1
  92. package/dist/public/assets/_D5cWvWuM.js.br +0 -0
  93. package/dist/public/assets/{_yDuqFLgJ2.js → _D8BrjHYz2.js} +1 -1
  94. package/dist/public/assets/_D8BrjHYz2.js.br +0 -0
  95. package/dist/public/assets/{_Bh9yRaD72.js → _DDSIV5XW2.js} +1 -1
  96. package/dist/public/assets/_DDSIV5XW2.js.br +0 -0
  97. package/dist/public/assets/{_BhCMFVhP.js → _DDUZJRiJ.js} +1 -1
  98. package/dist/public/assets/_DDUZJRiJ.js.br +0 -0
  99. package/dist/public/assets/{_Dz665X0g.js → _DK8vvdFF.js} +1 -1
  100. package/dist/public/assets/_DK8vvdFF.js.br +0 -0
  101. package/dist/public/assets/{_D1sMicdw2.js → _DRA2wEgv2.js} +1 -1
  102. package/dist/public/assets/_DRA2wEgv2.js.br +0 -0
  103. package/dist/public/assets/{_C8yn_Acw2.js → _DVn08SF42.js} +1 -1
  104. package/dist/public/assets/_DVn08SF42.js.br +0 -0
  105. package/dist/public/assets/{_DwGU_M9s.js → _DWIUnSeX.js} +1 -1
  106. package/dist/public/assets/_DWIUnSeX.js.br +0 -0
  107. package/dist/public/assets/{_Dql2UFNc.js → _DXW9fmgm.js} +1 -1
  108. package/dist/public/assets/_DXW9fmgm.js.br +0 -0
  109. package/dist/public/assets/{_CJnIf-SF.js → _DXmHpEMS.js} +1 -1
  110. package/dist/public/assets/_DXmHpEMS.js.br +0 -0
  111. package/dist/public/assets/{_CAPotJs-2.js → _DbpmyGgl2.js} +1 -1
  112. package/dist/public/assets/_DbpmyGgl2.js.br +0 -0
  113. package/dist/public/assets/{_B3oBmIsx.js → _DcVr_TjS.js} +1 -1
  114. package/dist/public/assets/_DcVr_TjS.js.br +0 -0
  115. package/dist/public/assets/{_DwT8V2US.js → _De67jPbo.js} +1 -1
  116. package/dist/public/assets/_De67jPbo.js.br +0 -0
  117. package/dist/public/assets/{_DVPmBDiv.js → _DoAI1Cio.js} +1 -1
  118. package/dist/public/assets/_DoAI1Cio.js.br +0 -0
  119. package/dist/public/assets/{_GQj_poV52.js → _DsFfIB9W2.js} +1 -1
  120. package/dist/public/assets/_DsFfIB9W2.js.br +0 -0
  121. package/dist/public/assets/{_BeFwce1T.js → _Dxbfkc2B.js} +1 -1
  122. package/dist/public/assets/_Dxbfkc2B.js.br +0 -0
  123. package/dist/public/assets/{_CHkkF2px.js → _DyY5UoNQ.js} +1 -1
  124. package/dist/public/assets/_DyY5UoNQ.js.br +0 -0
  125. package/dist/public/assets/{_FYqVfoUp2.js → _IeYqvfsh2.js} +1 -1
  126. package/dist/public/assets/_IeYqvfsh2.js.br +0 -0
  127. package/dist/public/assets/{_B41OOAWE.js → _J_yTPbzZ.js} +1 -1
  128. package/dist/public/assets/_J_yTPbzZ.js.br +0 -0
  129. package/dist/public/assets/{_B_wtJBDf.js → _P3pi7WhS.js} +1 -1
  130. package/dist/public/assets/_P3pi7WhS.js.br +0 -0
  131. package/dist/public/assets/_WenLkIjY.js +1536 -0
  132. package/dist/public/assets/_WenLkIjY.js.br +0 -0
  133. package/dist/public/assets/{_Br4zw_mV.js → _XM5e4Yae.js} +1 -1
  134. package/dist/public/assets/_XM5e4Yae.js.br +0 -0
  135. package/dist/public/assets/{_Lj3aaNpd.js → _ZQ-ezWX8.js} +1 -1
  136. package/dist/public/assets/_ZQ-ezWX8.js.br +0 -0
  137. package/dist/public/assets/{_Ds0rpfZI2.js → _ahQRSeLl2.js} +1 -1
  138. package/dist/public/assets/_ahQRSeLl2.js.br +0 -0
  139. package/dist/public/assets/{_Bxewhqaw.js → _e7CPMPrv.js} +1 -1
  140. package/dist/public/assets/_e7CPMPrv.js.br +0 -0
  141. package/dist/public/assets/{_CkXiLyKj.js → _i7IDJStN.js} +1 -1
  142. package/dist/public/assets/_i7IDJStN.js.br +0 -0
  143. package/dist/public/assets/{_Cy8XPyIc.js → _idtdrYvz.js} +1 -1
  144. package/dist/public/assets/_idtdrYvz.js.br +0 -0
  145. package/dist/public/assets/{_Un9uXTqQ.js → _lolrb9dN.js} +1 -1
  146. package/dist/public/assets/_lolrb9dN.js.br +0 -0
  147. package/dist/public/assets/{_BLw2dqrD.js → _m_DP0WPC.js} +1 -1
  148. package/dist/public/assets/_m_DP0WPC.js.br +0 -0
  149. package/dist/public/assets/{_ilBoZ9l9.js → _qNUpyBGd.js} +1 -1
  150. package/dist/public/assets/_qNUpyBGd.js.br +0 -0
  151. package/dist/public/assets/{__YcMOMHo2.js → _sCtbaNyE2.js} +1 -1
  152. package/dist/public/assets/_sCtbaNyE2.js.br +0 -0
  153. package/dist/public/assets/{app-page-D8sTRvm0.css → app-page-5plmHdjK.css} +1 -1
  154. package/dist/public/assets/app-page-5plmHdjK.css.br +0 -0
  155. package/dist/public/assets/{diff-view-wmRIejo2.css → diff-view-DzsI9FBu.css} +1 -1
  156. package/dist/public/assets/diff-view-DzsI9FBu.css.br +0 -0
  157. package/dist/public/assets/new-LrOl93NC.js +1 -0
  158. package/dist/public/assets/settings-LrOl93NC.js +1 -0
  159. package/dist/public/assets/w-LrOl93NC.js +1 -0
  160. package/dist/public/assets/w._-GgKc86fL.js +1 -0
  161. package/dist/public/assets/w._-LrOl93NC.js +1 -0
  162. package/dist/public/assets/wasm-S0UXjx1m.js +1 -0
  163. package/dist/public/assets/wasm-S0UXjx1m.js.br +0 -0
  164. package/dist/public/assets/worker-DZo603XT.js +161 -0
  165. package/dist/public/assets/worker-DZo603XT.js.br +0 -0
  166. package/package.json +1 -1
  167. package/dist/public/assets/_B3oBmIsx.js.br +0 -0
  168. package/dist/public/assets/_B41OOAWE.js.br +0 -0
  169. package/dist/public/assets/_BIgywKPY.js.br +0 -0
  170. package/dist/public/assets/_BLw2dqrD.js.br +0 -0
  171. package/dist/public/assets/_BQOF_Y8b2.js.br +0 -0
  172. package/dist/public/assets/_BR-05adR.js.br +0 -0
  173. package/dist/public/assets/_BUZroJmM.js.br +0 -0
  174. package/dist/public/assets/_B_wtJBDf.js.br +0 -0
  175. package/dist/public/assets/_BbzwTGW82.js.br +0 -0
  176. package/dist/public/assets/_BeFwce1T.js.br +0 -0
  177. package/dist/public/assets/_Bh9yRaD72.js.br +0 -0
  178. package/dist/public/assets/_BhCMFVhP.js.br +0 -0
  179. package/dist/public/assets/_BiD1U5_T2.js.br +0 -0
  180. package/dist/public/assets/_Bje7gfya.js.br +0 -0
  181. package/dist/public/assets/_Bk_G8M5C.js.br +0 -0
  182. package/dist/public/assets/_BmC3EX2D.js.br +0 -0
  183. package/dist/public/assets/_BnbIEqHf.js.br +0 -0
  184. package/dist/public/assets/_Br4zw_mV.js.br +0 -0
  185. package/dist/public/assets/_BtwlJ5_o.js.br +0 -0
  186. package/dist/public/assets/_Bxewhqaw.js.br +0 -0
  187. package/dist/public/assets/_C8yn_Acw2.js.br +0 -0
  188. package/dist/public/assets/_CAPotJs-2.js.br +0 -0
  189. package/dist/public/assets/_CEnYcVq1.js.br +0 -0
  190. package/dist/public/assets/_CFFvNT1q.js.br +0 -0
  191. package/dist/public/assets/_CGMSNnL-2.js.br +0 -0
  192. package/dist/public/assets/_CHkkF2px.js.br +0 -0
  193. package/dist/public/assets/_CIa8PHfy.js.br +0 -0
  194. package/dist/public/assets/_CJEPOhMj.js.br +0 -0
  195. package/dist/public/assets/_CJnIf-SF.js.br +0 -0
  196. package/dist/public/assets/_CSixW3RB.js.br +0 -0
  197. package/dist/public/assets/_CWA7J2mn.js.br +0 -0
  198. package/dist/public/assets/_CZe9PNFm.js.br +0 -0
  199. package/dist/public/assets/_C_P5f4EK.js.br +0 -0
  200. package/dist/public/assets/_CaAVXtkO2.js.br +0 -0
  201. package/dist/public/assets/_CbNXWLgc2.js.br +0 -0
  202. package/dist/public/assets/_CdH2klbl2.js.br +0 -0
  203. package/dist/public/assets/_CkXiLyKj.js.br +0 -0
  204. package/dist/public/assets/_CkepOsOW.js.br +0 -0
  205. package/dist/public/assets/_CrDF0eeY2.js.br +0 -0
  206. package/dist/public/assets/_Cx9GIPHc.js.br +0 -0
  207. package/dist/public/assets/_Cy8XPyIc.js.br +0 -0
  208. package/dist/public/assets/_D1sMicdw2.js.br +0 -0
  209. package/dist/public/assets/_DFO3qhdR2.js.br +0 -0
  210. package/dist/public/assets/_DI682Elr.js.br +0 -0
  211. package/dist/public/assets/_DJ8uQzwM.js.br +0 -0
  212. package/dist/public/assets/_DOKljOTH.js.br +0 -0
  213. package/dist/public/assets/_DOetJUUJ2.js.br +0 -0
  214. package/dist/public/assets/_DPu8iLt3.js +0 -1532
  215. package/dist/public/assets/_DPu8iLt3.js.br +0 -0
  216. package/dist/public/assets/_DS4oOWLT2.js.br +0 -0
  217. package/dist/public/assets/_DVPmBDiv.js.br +0 -0
  218. package/dist/public/assets/_DVsvhhCG.js.br +0 -0
  219. package/dist/public/assets/_DorHpq9j.js.br +0 -0
  220. package/dist/public/assets/_Dql2UFNc.js.br +0 -0
  221. package/dist/public/assets/_Ds0rpfZI2.js.br +0 -0
  222. package/dist/public/assets/_DwGU_M9s.js.br +0 -0
  223. package/dist/public/assets/_DwT8V2US.js.br +0 -0
  224. package/dist/public/assets/_Dz665X0g.js.br +0 -0
  225. package/dist/public/assets/_FPrhjJGN2.js.br +0 -0
  226. package/dist/public/assets/_FYqVfoUp2.js.br +0 -0
  227. package/dist/public/assets/_GQj_poV52.js.br +0 -0
  228. package/dist/public/assets/_Lj3aaNpd.js.br +0 -0
  229. package/dist/public/assets/_Un9uXTqQ.js.br +0 -0
  230. package/dist/public/assets/__YcMOMHo2.js.br +0 -0
  231. package/dist/public/assets/_a9F3-2zU.js.br +0 -0
  232. package/dist/public/assets/_ilBoZ9l9.js.br +0 -0
  233. package/dist/public/assets/_j9oyPgbB.js.br +0 -0
  234. package/dist/public/assets/_la5VE3W4.js.br +0 -0
  235. package/dist/public/assets/_nR-jfrht.js.br +0 -0
  236. package/dist/public/assets/_odilh0Si2.js.br +0 -0
  237. package/dist/public/assets/_osI_OYpe.js.br +0 -0
  238. package/dist/public/assets/_uHbq-iwP.js.br +0 -0
  239. package/dist/public/assets/_yDuqFLgJ2.js.br +0 -0
  240. package/dist/public/assets/_z9QRJCjN.js.br +0 -0
  241. package/dist/public/assets/app-page-D8sTRvm0.css.br +0 -0
  242. package/dist/public/assets/diff-view-wmRIejo2.css.br +0 -0
  243. package/dist/public/assets/new-oVr2dYr3.js +0 -1
  244. package/dist/public/assets/settings-oVr2dYr3.js +0 -1
  245. package/dist/public/assets/w-oVr2dYr3.js +0 -1
  246. package/dist/public/assets/w._-BXx4vFQJ.js +0 -1
  247. package/dist/public/assets/w._-oVr2dYr3.js +0 -1
@@ -1,4 +1,4 @@
1
- import { $ as _el_resume, A as iconBtnRow, B as _attr_input_value, F as tone, L as _attr, Ot as writeScope, Q as _el_read_error, R as _attr_class, S as icon_xmark_default, U as _attr_select_value, V as _attr_option_value, W as _attr_style, Y as _content_resume, Z as _el, _ as icon_refresh_default, _t as _serialize_guard, a as diffPos, bt as _subscribe, c as setDiffPos, ct as _if, dt as _resume_branch, et as _escape, ft as _scope_id, g as icon_back_default, gt as _sep, h as icon_search_default, ht as _script, i as diffFilter, k as iconBtnLg, l as setDiffScope, lt as _peek_scope_id, mt as _scope_with_id, n as findInput, o as diffScope, ot as _html, p as fuzzy, pt as _scope_reason, r as icon_sidebar_default, rt as _for_of, s as diffTreeOpen, t as findIconBtn, tt as _existing_scope, ut as _resume, vt as _serialize_if, w as repoLabel, x as toast_default, xt as _template, yt as _set_serialize_reason, z as _attr_details_or_dialog_open } from "./_CbGuzk5A.js";
1
+ import { $ as _el_resume, A as iconBtnRow, B as _attr_input_value, F as tone, L as _attr, Ot as writeScope, Q as _el_read_error, R as _attr_class, S as icon_xmark_default, U as _attr_select_value, V as _attr_option_value, W as _attr_style, Y as _content_resume, Z as _el, _ as icon_refresh_default, _t as _serialize_guard, a as diffPos, bt as _subscribe, c as setDiffPos, ct as _if, dt as _resume_branch, et as _escape, ft as _scope_id, g as icon_back_default, gt as _sep, h as icon_search_default, ht as _script, i as diffFilter, k as iconBtnLg, l as setDiffScope, lt as _peek_scope_id, mt as _scope_with_id, n as findInput, o as diffScope, ot as _html, p as fuzzy, pt as _scope_reason, r as icon_sidebar_default, rt as _for_of, s as diffTreeOpen, t as findIconBtn, tt as _existing_scope, ut as _resume, vt as _serialize_if, w as repoLabel, x as toast_default, xt as _template, yt as _set_serialize_reason, z as _attr_details_or_dialog_open } from "./_BLfl5xCk.js";
2
2
  //#region src/client/router.ts
3
3
  function urlFor(r) {
4
4
  if (r.view === "settings") return "/settings";
@@ -252,7 +252,7 @@ var diff_send_default = _template("i", (input) => {
252
252
  let sendTarget = null;
253
253
  const sessions = input.sessions || [];
254
254
  const sendPick = sessions.some((s) => s.id === sendTarget) ? sendTarget : sessions[0]?.id ?? null;
255
- _html(`<span${_attr_class("_fk")}><button type=button${_attr_class("_o")} title="Copy comments as markdown">Copy${_el_resume($scope0_id, "c")}</button>${_el_resume($scope0_id, "b")}`);
255
+ _html(`<span${_attr_class("_e8")}><button type=button${_attr_class("_o")} title="Copy comments as markdown">Copy${_el_resume($scope0_id, "c")}</button>${_el_resume($scope0_id, "b")}`);
256
256
  _if(() => {
257
257
  if (sessions.length === 1) {
258
258
  const $scope1_id = _scope_id();
@@ -262,11 +262,11 @@ var diff_send_default = _template("i", (input) => {
262
262
  return 0;
263
263
  } else if (sessions.length) {
264
264
  const $scope2_id = _scope_id();
265
- _html(`<span${_attr_class("_fl")}><button type=button${_attr_class(["_p", "_fm"])}${_attr("disabled", sending)}>Send to${_el_resume($scope2_id, "c")}</button>${_el_resume($scope2_id, "b")}`);
265
+ _html(`<span${_attr_class("_e9")}><button type=button${_attr_class(["_p", "_e_"])}${_attr("disabled", sending)}>Send to${_el_resume($scope2_id, "c")}</button>${_el_resume($scope2_id, "b")}`);
266
266
  _attr_select_value($scope2_id, "d", sendTarget, _resume((_new_sendTarget) => {
267
267
  sendTarget = _new_sendTarget;
268
268
  }, "i0", $scope2_id), () => {
269
- _html(`<select${_attr_class("_fn")} aria-label="Send comments to session"${_attr("disabled", sending)}>`);
269
+ _html(`<select${_attr_class("_fa")} aria-label="Send comments to session"${_attr("disabled", sending)}>`);
270
270
  _for_of(sessions, (s) => {
271
271
  const $scope3_id = _scope_id();
272
272
  _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)}`);
@@ -1630,27 +1630,57 @@ function createMissingFile() {
1630
1630
  contents: ""
1631
1631
  };
1632
1632
  }
1633
- //#endregion
1634
- //#region src/client/diff-search.ts
1635
- var MAX_HITS = 200;
1636
1633
  var MAX_PER_FILE = 40;
1637
1634
  /** Substring search over path + lines pierre actually renders (hunk
1638
1635
  * change + context). Full-file old/new text is much larger than the
1639
1636
  * visible diff — counting those made Next feel broken ("32 matches"
1640
1637
  * with nothing on screen for many steps). */
1638
+ /** Last search, keyed by files identity + query: the find box asks up to
1639
+ * three times per keystroke (immediate paint, debounced state, template). */
1640
+ var last;
1641
+ /** Files with hits, or null when the list hit its cap and so can't say
1642
+ * which files are clean (paint then falls back to walking every host). */
1643
+ function hitKeys(hits) {
1644
+ return hits.length >= 200 ? null : [...new Set(hits.map((h) => h.key))];
1645
+ }
1641
1646
  function searchDiffFiles(files, raw) {
1642
1647
  const query = raw.trim();
1643
1648
  if (!query) return [];
1649
+ if (last && last.files === files && last.query === query) return last.hits;
1650
+ const hits = searchUncached(files, query);
1651
+ last = {
1652
+ files,
1653
+ query,
1654
+ hits
1655
+ };
1656
+ return hits;
1657
+ }
1658
+ /** Hunk line sets and split lines are query-independent and dominate the
1659
+ * cost (pierre re-parses the whole file); keep them per file object. */
1660
+ var parsed = /* @__PURE__ */ new WeakMap();
1661
+ function parsedFor(file) {
1662
+ let p = parsed.get(file);
1663
+ if (!p) {
1664
+ p = {
1665
+ visible: visibleHunkLines(file.old, file.new),
1666
+ newLines: file.new == null ? null : file.new.split("\n"),
1667
+ oldLines: file.old == null ? null : file.old.split("\n")
1668
+ };
1669
+ parsed.set(file, p);
1670
+ }
1671
+ return p;
1672
+ }
1673
+ function searchUncached(files, query) {
1644
1674
  const sensitive = /[A-Z]/.test(query);
1645
1675
  const needle = sensitive ? query : query.toLowerCase();
1646
1676
  const hits = [];
1647
1677
  for (const file of files) {
1648
- if (hits.length >= MAX_HITS) break;
1678
+ if (hits.length >= 200) break;
1649
1679
  const before = hits.length;
1650
- const visible = visibleHunkLines(file.old, file.new);
1680
+ const { visible, newLines, oldLines } = parsedFor(file);
1651
1681
  const seen = /* @__PURE__ */ new Set();
1652
- scanSide(file, file.new, "additions", needle, sensitive, seen, hits, visible.additions);
1653
- scanSide(file, file.old, "deletions", needle, sensitive, seen, hits, visible.deletions);
1682
+ scanSide(file, newLines, "additions", needle, sensitive, seen, hits, visible.additions);
1683
+ scanSide(file, oldLines, "deletions", needle, sensitive, seen, hits, visible.deletions);
1654
1684
  if (hits.length === before && pathMeaningfulMatch(file.path, needle, sensitive)) hits.push({
1655
1685
  key: file.key,
1656
1686
  path: file.path,
@@ -1703,12 +1733,11 @@ function visibleHunkLines(oldText, newText) {
1703
1733
  deletions
1704
1734
  };
1705
1735
  }
1706
- function scanSide(file, text, side, needle, sensitive, seen, hits, visible) {
1707
- if (!text || hits.length >= MAX_HITS || !visible.size) return;
1736
+ function scanSide(file, lines, side, needle, sensitive, seen, hits, visible) {
1737
+ if (!lines || hits.length >= 200 || !visible.size) return;
1708
1738
  let fromFile = 0;
1709
- const lines = text.split("\n");
1710
1739
  for (let i = 0; i < lines.length; i++) {
1711
- if (hits.length >= MAX_HITS || fromFile >= MAX_PER_FILE) return;
1740
+ if (hits.length >= 200 || fromFile >= MAX_PER_FILE) return;
1712
1741
  const lineNo = i + 1;
1713
1742
  if (!visible.has(lineNo)) continue;
1714
1743
  const line = lines[i];
@@ -1754,21 +1783,22 @@ var diff_find_default = _template("h", (input) => {
1754
1783
  const emit = _resume((q, i) => {
1755
1784
  if (!live.open) return;
1756
1785
  const list = searchDiffFiles(input.files, q);
1757
- [...new Set(list.map((h) => h.key))];
1786
+ const keys = [...new Set(list.map((h) => h.key))];
1758
1787
  if (!list.length) {
1759
1788
  hi = 0;
1760
- setSearchPaint$1(q, null);
1789
+ setSearchPaint$1(q, null, keys);
1761
1790
  return;
1762
1791
  }
1763
1792
  hi = (i % list.length + list.length) % list.length;
1764
1793
  const hit = list[hi];
1765
- setSearchPaint$1(q, hit);
1794
+ setSearchPaint$1(q, hit, hitKeys(list) ?? void 0);
1766
1795
  }, "h1", $scope0_id);
1767
1796
  const type = _resume((v) => {
1768
1797
  if (!live.open) return;
1769
1798
  query = v;
1770
1799
  hi = 0;
1771
- setSearchPaint$1(v, searchDiffFiles(input.files, v)[0] ?? null);
1800
+ const list = searchDiffFiles(input.files, v);
1801
+ setSearchPaint$1(v, list[0] ?? null, hitKeys(list) ?? void 0);
1772
1802
  if (box.timer) clearTimeout(box.timer);
1773
1803
  box.timer = setTimeout(() => {
1774
1804
  box.timer = 0;
@@ -1802,9 +1832,9 @@ var diff_find_default = _template("h", (input) => {
1802
1832
  el.select();
1803
1833
  }, 0);
1804
1834
  }, "h5", $scope0_id);
1805
- _html(`<div${_attr_class(["_e9", !open && "_e8"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
1835
+ _html(`<div${_attr_class(["_fc", !open && "_fb"])} aria-hidden=${open ? "false" : "true"}><input${_attr_input_value($scope0_id, "b", query || "", _resume(function(v) {
1806
1836
  type(v);
1807
- }, "h0", $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("_fb")}>${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"}>`);
1837
+ }, "h0", $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("_ff")}>${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"}>`);
1808
1838
  icon_xmark_default({ size: 14 });
1809
1839
  _html(`</button>${_el_resume($scope0_id, "g")}</div>${_el_resume($scope0_id, "a")}`);
1810
1840
  _script($scope0_id, "h6");
@@ -2319,7 +2349,7 @@ var $content = (input) => {
2319
2349
  _for_of(dir.dirs, (child) => {
2320
2350
  const $scope1_id = _scope_id();
2321
2351
  const shut = input.collapsed.has(input.collapsedKey(child.path));
2322
- _html(`<div${_attr_class("_fw")}><button type=button${_attr_class(["_fx", { ["_fo"]: shut }])}${_attr("title", child.path)}${_attr_style(`--depth:${child.depth}`)}><span${_attr_class("_fE")}>${shut ? "▸" : "▾"}${_el_resume($scope1_id, "d", $sg__input)}</span><span${_attr_class("_fy")}>${_escape(child.label)}${_el_resume($scope1_id, "f", $sg__input_dir)}/</span></button>${_el_resume($scope1_id, "b")}`);
2352
+ _html(`<div${_attr_class("_fN")}><button type=button${_attr_class(["_fO", { ["_fF"]: shut }])}${_attr("title", child.path)}${_attr_style(`--depth:${child.depth}`)}><span${_attr_class("_fV")}>${shut ? "▸" : "▾"}${_el_resume($scope1_id, "d", $sg__input)}</span><span${_attr_class("_fP")}>${_escape(child.label)}${_el_resume($scope1_id, "f", $sg__input_dir)}/</span></button>${_el_resume($scope1_id, "b")}`);
2323
2353
  _if(() => {
2324
2354
  if (!shut) {
2325
2355
  const $scope2_id = _scope_id();
@@ -2366,11 +2396,11 @@ var $content = (input) => {
2366
2396
  }, "path", $scope0_id, "a", $sg__input, $sg__input_dir, $sg__input_dir, 0, 1);
2367
2397
  _for_of(dir.files, ({ file, name }) => {
2368
2398
  const $scope3_id = _scope_id();
2369
- _html(`<a${_attr("href", input.hrefFor(file.key))}${_attr_class(["_fA", { ["_fz"]: input.collapsedFiles?.has(file.key) }])}${input.collapsedFiles?.has(file.key) ? _attr("title", `${file.path} (folded — click to open)`) : _attr("title", file.path)}${_attr_style(`--depth:${dir.depth + 1}`)}><span${_attr_class("_fF")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope3_id, "c", $sg__input_dir)}</span>${_el_resume($scope3_id, "b", $sg__input_dir)}<span${_attr_class("_fB")}>${_escape(name)}${_el_resume($scope3_id, "e", $sg__input_dir)}</span>`);
2399
+ _html(`<a${_attr("href", input.hrefFor(file.key))}${_attr_class(["_fR", { ["_fQ"]: input.collapsedFiles?.has(file.key) }])}${input.collapsedFiles?.has(file.key) ? _attr("title", `${file.path} (folded — click to open)`) : _attr("title", file.path)}${_attr_style(`--depth:${dir.depth + 1}`)}><span${_attr_class("_fW")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope3_id, "c", $sg__input_dir)}</span>${_el_resume($scope3_id, "b", $sg__input_dir)}<span${_attr_class("_fS")}>${_escape(name)}${_el_resume($scope3_id, "e", $sg__input_dir)}</span>`);
2370
2400
  _if(() => {
2371
2401
  if (input.newKeys.has(file.key)) {
2372
2402
  const $scope4_id = _scope_id();
2373
- _html(`<span${_attr_class(["_z", "_fC"])} title="Changed since your last visit"></span>`);
2403
+ _html(`<span${_attr_class(["_z", "_fT"])} title="Changed since your last visit"></span>`);
2374
2404
  _serialize_if($scope0_reason, 1) && writeScope($scope4_id, {});
2375
2405
  return 0;
2376
2406
  }
@@ -2378,7 +2408,7 @@ var $content = (input) => {
2378
2408
  _if(() => {
2379
2409
  if (input.commentKeys.has(file.key)) {
2380
2410
  const $scope5_id = _scope_id();
2381
- _html(`<span${_attr_class("_fD")}>💬</span>`);
2411
+ _html(`<span${_attr_class("_fU")}>💬</span>`);
2382
2412
  _serialize_if($scope0_reason, 0) && writeScope($scope5_id, {});
2383
2413
  return 0;
2384
2414
  }
@@ -2434,7 +2464,7 @@ var diff_tree_default = _template("k", (input) => {
2434
2464
  scope: input.scope ?? null,
2435
2465
  file: key
2436
2466
  }), "k0", $scope0_id);
2437
- _html(`<aside${_attr_class(["_fp", { ["_fo"]: input.open === false }])}><div${_attr_class("_fq")}>`);
2467
+ _html(`<aside${_attr_class(["_fG", { ["_fF"]: input.open === false }])}><div${_attr_class("_fH")}>`);
2438
2468
  _set_serialize_reason(2);
2439
2469
  const $childScope = _peek_scope_id();
2440
2470
  file_filter_default({
@@ -2443,23 +2473,23 @@ var diff_tree_default = _template("k", (input) => {
2443
2473
  filter = _new_filter;
2444
2474
  }, "k1", $scope0_id)
2445
2475
  });
2446
- _html(`</div><div${_attr_class("_fr")}>`);
2476
+ _html(`</div><div${_attr_class("_fI")}>`);
2447
2477
  _if(() => {
2448
2478
  if (!input.sections.length && filter) {
2449
2479
  const $scope3_id = _scope_id();
2450
- _html(`<p${_attr_class("_fs")}>No files match.</p>`);
2480
+ _html(`<p${_attr_class("_fJ")}>No files match.</p>`);
2451
2481
  writeScope($scope3_id, {});
2452
2482
  return 0;
2453
2483
  }
2454
2484
  }, $scope0_id, "e", 1, 1, 1, 0, 1);
2455
2485
  _for_of(input.sections, (section) => {
2456
2486
  const $scope1_id = _scope_id();
2457
- _html(`<div${_attr_class("_ft")}><button type=button${_attr_class(["_fu", { ["_fo"]: collapsedRepos.has(section.id) }])}><span${_attr_class("_fE")}>${collapsedRepos.has(section.id) ? "▸" : "▾"}${_el_resume($scope1_id, "d")}</span><span${_attr_class("_fy")}>${_escape(section.label)}${_el_resume($scope1_id, "f", $sg__input_sections)}</span></button>${_el_resume($scope1_id, "b")}`);
2487
+ _html(`<div${_attr_class("_fK")}><button type=button${_attr_class(["_fL", { ["_fF"]: collapsedRepos.has(section.id) }])}><span${_attr_class("_fV")}>${collapsedRepos.has(section.id) ? "▸" : "▾"}${_el_resume($scope1_id, "d")}</span><span${_attr_class("_fP")}>${_escape(section.label)}${_el_resume($scope1_id, "f", $sg__input_sections)}</span></button>${_el_resume($scope1_id, "b")}`);
2458
2488
  _if(() => {
2459
2489
  if (!collapsedRepos.has(section.id) || openedRepos.has(section.id)) {
2460
2490
  const $scope2_id = _scope_id();
2461
2491
  const root = treeDirs(section.files);
2462
- _html(`<div${_attr_class("_fv")}${_attr("hidden", collapsedRepos.has(section.id))}>`);
2492
+ _html(`<div${_attr_class("_fM")}${_attr("hidden", collapsedRepos.has(section.id))}>`);
2463
2493
  _set_serialize_reason(1);
2464
2494
  const $childScope2 = _peek_scope_id();
2465
2495
  diff_tree_dir_default({
@@ -2584,9 +2614,9 @@ var diff_file_sheet_default = _template("f", (input) => {
2584
2614
  _if(() => {
2585
2615
  if (open) {
2586
2616
  const $scope1_id = _scope_id();
2587
- _html(`<div${_attr_class("_fI")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_fJ")} role=dialog aria-label="Jump to file"><div${_attr_class("_fK")}><strong${_attr_class("_fH")}>Files</strong><span${_attr_class("_fL")}>${_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, "_fG"])} title=Close aria-label=Close>`);
2617
+ _html(`<div${_attr_class("_fq")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_fr")} role=dialog aria-label="Jump to file"><div${_attr_class("_fs")}><strong${_attr_class("_fp")}>Files</strong><span${_attr_class("_ft")}>${_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, "_fo"])} title=Close aria-label=Close>`);
2588
2618
  icon_xmark_default({ size: 16 });
2589
- _html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_fT")}>`);
2619
+ _html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_fB")}>`);
2590
2620
  _set_serialize_reason(2);
2591
2621
  const $childScope = _peek_scope_id();
2592
2622
  file_filter_default({
@@ -2595,28 +2625,28 @@ var diff_file_sheet_default = _template("f", (input) => {
2595
2625
  filter = _new_filter;
2596
2626
  }, "f1", $scope1_id)
2597
2627
  });
2598
- _html(`</div><div${_attr_class("_fM")}>`);
2628
+ _html(`</div><div${_attr_class("_fu")}>`);
2599
2629
  _for_of(groups, (group) => {
2600
2630
  const $scope2_id = _scope_id();
2601
- _html(`<div${_attr_class("_fN")}><div${_attr_class("_fO")}>${_escape(group.repo)}${_el_resume($scope2_id, "c", $sg__input_files)}</div>`);
2631
+ _html(`<div${_attr_class("_fv")}><div${_attr_class("_fw")}>${_escape(group.repo)}${_el_resume($scope2_id, "c", $sg__input_files)}</div>`);
2602
2632
  _for_of(group.dirs, ({ dir, files }) => {
2603
2633
  const $scope3_id = _scope_id();
2604
- _html(`<div${_attr_class("_fP")}>`);
2634
+ _html(`<div${_attr_class("_fx")}>`);
2605
2635
  _if(() => {
2606
2636
  if (dir) {
2607
2637
  const $scope5_id = _scope_id();
2608
- _html(`<div${_attr_class("_fR")}${_attr("title", dir)}><bdi>${_escape(dir)}${_el_resume($scope5_id, "b", $sg__input_files)}/</bdi></div>${_el_resume($scope5_id, "a", $sg__input_files)}`);
2638
+ _html(`<div${_attr_class("_fz")}${_attr("title", dir)}><bdi>${_escape(dir)}${_el_resume($scope5_id, "b", $sg__input_files)}/</bdi></div>${_el_resume($scope5_id, "a", $sg__input_files)}`);
2609
2639
  $si__input_files && writeScope($scope5_id, { _: _scope_with_id($scope3_id) });
2610
2640
  return 0;
2611
2641
  }
2612
2642
  }, $scope3_id, "b", $sg__input_files, $sg__input_files, $sg__input_files, 0, 1);
2613
2643
  _for_of(files, ({ file, name }) => {
2614
2644
  const $scope4_id = _scope_id();
2615
- _html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_fQ", "_x"])}><span${_attr_class("_fW")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope4_id, "c", $sg__input_files)}</span>${_el_resume($scope4_id, "b", $sg__input_files)}<span${_attr_class("_fS")}><bdi>${_escape(name)}${_el_resume($scope4_id, "e", $sg__input_files)}</bdi></span>`);
2645
+ _html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_fy", "_x"])}><span${_attr_class("_fE")}${_attr("data-status", file.status)}>${_escape(file.status)}${_el_resume($scope4_id, "c", $sg__input_files)}</span>${_el_resume($scope4_id, "b", $sg__input_files)}<span${_attr_class("_fA")}><bdi>${_escape(name)}${_el_resume($scope4_id, "e", $sg__input_files)}</bdi></span>`);
2616
2646
  _if(() => {
2617
2647
  if (newKeys.has(file.key)) {
2618
2648
  const $scope6_id = _scope_id();
2619
- _html(`<span${_attr_class(["_z", "_fV"])} title="Changed since your last visit"></span>`);
2649
+ _html(`<span${_attr_class(["_z", "_fD"])} title="Changed since your last visit"></span>`);
2620
2650
  _serialize_if($scope0_reason, 1) && writeScope($scope6_id, {});
2621
2651
  return 0;
2622
2652
  }
@@ -2648,7 +2678,7 @@ var diff_file_sheet_default = _template("f", (input) => {
2648
2678
  _if(() => {
2649
2679
  if (!input.files.length) {
2650
2680
  const $scope8_id = _scope_id();
2651
- _html(`<p${_attr_class("_fU")}>No files match.</p>`);
2681
+ _html(`<p${_attr_class("_fC")}>No files match.</p>`);
2652
2682
  $si__input_files_length && writeScope($scope8_id, {});
2653
2683
  return 0;
2654
2684
  }
@@ -2794,6 +2824,13 @@ var diff_view_default = _template("l", (input) => {
2794
2824
  const top = el.getBoundingClientRect().top - root.getBoundingClientRect().top + root.scrollTop;
2795
2825
  root.scrollTo({ top: Math.max(0, top - 8) });
2796
2826
  }, "l5", $scope0_id);
2827
+ const retryFrames = _resume((attempt, ms = 2500) => {
2828
+ const started = Date.now();
2829
+ const tick = () => {
2830
+ if (!attempt() && Date.now() - started < ms) requestAnimationFrame(tick);
2831
+ };
2832
+ tick();
2833
+ }, "l6");
2797
2834
  const focusPrSection = _resume((pr) => {
2798
2835
  if (!pr) return;
2799
2836
  const list = repos || [];
@@ -2806,37 +2843,26 @@ var diff_view_default = _template("l", (input) => {
2806
2843
  for (const r of list) if (!focused || r.id !== focused.id) next.add(r.id);
2807
2844
  collapsedRepos = next;
2808
2845
  expandingRepos = /* @__PURE__ */ new Set();
2809
- const started = Date.now();
2810
- const tryScroll = () => {
2811
- const root = ((scrollEl) => scrollEl())(_el_read_error);
2812
- const el = root?.querySelector(`[data-pr="${CSS.escape(pr)}"]`);
2813
- if (!root || !el) {
2814
- if (Date.now() - started < 2500) requestAnimationFrame(tryScroll);
2815
- return;
2816
- }
2817
- pinToTop(el);
2818
- };
2819
- requestAnimationFrame(tryScroll);
2820
- }, "l6", $scope0_id);
2821
- const findFile = _resume((key) => ((scrollEl) => scrollEl())(_el_read_error)?.querySelector(`details[data-key="${CSS.escape(key)}"]`) ?? null, "l7", $scope0_id);
2846
+ retryFrames(() => {
2847
+ const el = ((scrollEl) => scrollEl())(_el_read_error)?.querySelector(`[data-pr="${CSS.escape(pr)}"]`);
2848
+ if (el) pinToTop(el);
2849
+ return !!el;
2850
+ });
2851
+ }, "l7", $scope0_id);
2852
+ const findFile = _resume((key) => ((scrollEl) => scrollEl())(_el_read_error)?.querySelector(`details[data-key="${CSS.escape(key)}"]`) ?? null, "l8", $scope0_id);
2822
2853
  const openFile = _resume((key) => {
2823
2854
  const el = findFile(key);
2824
2855
  if (el) el.open = true;
2825
2856
  return el;
2826
- }, "l8", $scope0_id);
2857
+ }, "l9", $scope0_id);
2827
2858
  const jumpTo = _resume((key) => {
2828
2859
  input.onFileChange?.(key);
2829
- const started = Date.now();
2830
- const tryJump = () => {
2860
+ retryFrames(() => {
2831
2861
  const el = openFile(key);
2832
- if (el) {
2833
- pinToTop(el);
2834
- return;
2835
- }
2836
- if (Date.now() - started < 2500) requestAnimationFrame(tryJump);
2837
- };
2838
- tryJump();
2839
- }, "l9", $scope0_id);
2862
+ if (el) pinToTop(el);
2863
+ return !!el;
2864
+ });
2865
+ }, "l10", $scope0_id);
2840
2866
  const posBox = {
2841
2867
  anchor: null,
2842
2868
  raf: 0,
@@ -2858,17 +2884,17 @@ var diff_view_default = _template("l", (input) => {
2858
2884
  };
2859
2885
  }
2860
2886
  return best;
2861
- }, "l10", $scope0_id);
2887
+ }, "l11", $scope0_id);
2862
2888
  const noteScroll = _resume(() => {
2863
2889
  if (posBox.raf) return;
2864
2890
  posBox.raf = requestAnimationFrame(() => {
2865
2891
  posBox.raf = 0;
2866
2892
  if (((scrollEl) => scrollEl())(_el_read_error)?.isConnected) posBox.anchor = anchorAt();
2867
2893
  });
2868
- }, "l11", $scope0_id);
2894
+ }, "l12", $scope0_id);
2869
2895
  const savePos = _resume(() => {
2870
2896
  if (repos) setDiffPos(input.workspaceId, posBox.anchor);
2871
- }, "l12", $scope0_id);
2897
+ }, "l13", $scope0_id);
2872
2898
  const restorePos = _resume((pos) => {
2873
2899
  const run = ++posBox.run;
2874
2900
  const started = Date.now();
@@ -2898,7 +2924,7 @@ var diff_view_default = _template("l", (input) => {
2898
2924
  } else if (!pinnedAt && Date.now() - started < 2500) requestAnimationFrame(tick);
2899
2925
  };
2900
2926
  requestAnimationFrame(tick);
2901
- }, "l13", $scope0_id);
2927
+ }, "l14", $scope0_id);
2902
2928
  const headBox = {
2903
2929
  sig: "",
2904
2930
  timer: 0
@@ -2930,14 +2956,14 @@ var diff_view_default = _template("l", (input) => {
2930
2956
  } finally {
2931
2957
  if (seq === loadBox.seq) loading = false;
2932
2958
  }
2933
- }, "l14", $scope0_id);
2959
+ }, "l15", $scope0_id);
2934
2960
  const setScope = _resume((next, persist = true) => {
2935
2961
  if (next === scope$1) return;
2936
2962
  scope$1 = next;
2937
2963
  if (persist) setDiffScope(next);
2938
2964
  input.onScopeChange?.(next);
2939
2965
  load(next);
2940
- }, "l15", $scope0_id);
2966
+ }, "l16", $scope0_id);
2941
2967
  const sendGate = { busy: 0 };
2942
2968
  const loadReview = _resume(async () => {
2943
2969
  if (sendGate.busy) return;
@@ -2946,15 +2972,15 @@ var diff_view_default = _template("l", (input) => {
2946
2972
  if (sendGate.busy) return;
2947
2973
  comments = reviewData.comments || [];
2948
2974
  } catch {}
2949
- }, "l16", $scope0_id);
2950
- const reload = _resume(() => load(scope$1, true), "l17", $scope0_id);
2975
+ }, "l17", $scope0_id);
2976
+ const reload = _resume(() => load(scope$1, true), "l18", $scope0_id);
2951
2977
  const reloadSoon = _resume(() => {
2952
2978
  if (headBox.timer) clearTimeout(headBox.timer);
2953
2979
  headBox.timer = setTimeout(() => {
2954
2980
  headBox.timer = 0;
2955
2981
  reload();
2956
2982
  }, 250);
2957
- }, "l18", $scope0_id);
2983
+ }, "l19", $scope0_id);
2958
2984
  const markSeen = _resume(() => {
2959
2985
  if (!repos) return;
2960
2986
  const heads = {};
@@ -2973,14 +2999,13 @@ var diff_view_default = _template("l", (input) => {
2973
2999
  }),
2974
3000
  keepalive: true
2975
3001
  }).catch(() => {});
2976
- }, "l19", $scope0_id);
3002
+ }, "l20", $scope0_id);
2977
3003
  const repoList = repos || [];
2978
3004
  const allFiles = repoList.flatMap((r) => r.files.map((f) => ({
2979
3005
  ...f,
2980
3006
  repo: r.id,
2981
3007
  key: `${r.worktree}/${f.path}`
2982
3008
  })));
2983
- allFiles.filter((f) => f.changedSince).length;
2984
3009
  const fileFiltered = (() => {
2985
3010
  const match = makeFileFilter(fileFilter);
2986
3011
  return allFiles.filter((f) => match(f.key) && (!onlyNew || f.changedSince));
@@ -2989,8 +3014,17 @@ var diff_view_default = _template("l", (input) => {
2989
3014
  const shownFiles = findKeys ? fileFiltered.filter((f) => findKeys.has(f.key) || f.key === findState.hit?.key) : fileFiltered;
2990
3015
  const shownKeySet = new Set(shownFiles.map((f) => f.key));
2991
3016
  const newKeys = new Set(allFiles.filter((f) => f.changedSince).map((f) => f.key));
2992
- const filesByRepo = new Map(repoList.map((r) => [r.id, allFiles.filter((f) => f.repo === r.id)]));
2993
- const shownByRepo = new Map(repoList.map((r) => [r.id, shownFiles.filter((f) => f.repo === r.id)]));
3017
+ const groupByRepo = _resume((files) => {
3018
+ const map = /* @__PURE__ */ new Map();
3019
+ for (const f of files) {
3020
+ const list = map.get(f.repo);
3021
+ if (list) list.push(f);
3022
+ else map.set(f.repo, [f]);
3023
+ }
3024
+ return map;
3025
+ }, "l21");
3026
+ const filesByRepo = groupByRepo(allFiles);
3027
+ const shownByRepo = groupByRepo(shownFiles);
2994
3028
  const commentsByFile = (() => {
2995
3029
  const map = /* @__PURE__ */ new Map();
2996
3030
  for (const c of comments) {
@@ -3007,7 +3041,7 @@ var diff_view_default = _template("l", (input) => {
3007
3041
  }));
3008
3042
  const localDifferIds = new Set(repoList.filter((repo) => !!repo.pr && !!repo.localHead && (repo.localHead !== repo.head || repo.branch !== repo.pr.headRefName)).map((r) => r.id));
3009
3043
  const hasFiles = !repos || allFiles.length > 0;
3010
- const fileWorktree = _resume((repo) => repo.includes("#") ? repo.split("#")[0] : repo, "l20");
3044
+ const fileWorktree = _resume((repo) => repo.includes("#") ? repo.split("#")[0] : repo, "l22");
3011
3045
  const anchorFor = _resume((file, range) => {
3012
3046
  const section = repoList.find((r) => r.id === file.repo);
3013
3047
  const source = range.side === "deletions" ? file.old : file.new;
@@ -3015,7 +3049,7 @@ var diff_view_default = _template("l", (input) => {
3015
3049
  head: section?.head,
3016
3050
  snippet: source == null ? void 0 : quoteRange(source, range.start, range.end, range.side === "deletions" ? "deletions" : "additions")
3017
3051
  };
3018
- }, "l21", $scope0_id);
3052
+ }, "l23", $scope0_id);
3019
3053
  const saveComment = _resume(async (file, text) => {
3020
3054
  const range = draft;
3021
3055
  draft = null;
@@ -3039,16 +3073,16 @@ var diff_view_default = _template("l", (input) => {
3039
3073
  } catch (err) {
3040
3074
  error = String(err.message || err);
3041
3075
  }
3042
- }, "l22", $scope0_id);
3076
+ }, "l24", $scope0_id);
3043
3077
  const deleteRemote = _resume((ids) => ids === "all" ? fetch(`/api/workspaces/${input.workspaceId}/review`, {
3044
3078
  method: "POST",
3045
3079
  headers: { "content-type": "application/json" },
3046
3080
  body: JSON.stringify({ action: "clear" })
3047
- }) : Promise.all(ids.map((id) => fetch(`/api/workspaces/${input.workspaceId}/review/${id}`, { method: "DELETE" }))), "l23", $scope0_id);
3081
+ }) : Promise.all(ids.map((id) => fetch(`/api/workspaces/${input.workspaceId}/review/${id}`, { method: "DELETE" }))), "l25", $scope0_id);
3048
3082
  const removeComment = _resume(async (id) => {
3049
3083
  comments = comments.filter((c) => c.id !== id);
3050
3084
  await deleteRemote([id]).catch(() => {});
3051
- }, "l24", $scope0_id);
3085
+ }, "l26", $scope0_id);
3052
3086
  const dispatch = _resume(async (list, to, consume) => {
3053
3087
  if (!list.length) return true;
3054
3088
  sendGate.busy++;
@@ -3084,13 +3118,13 @@ var diff_view_default = _template("l", (input) => {
3084
3118
  } finally {
3085
3119
  sendGate.busy--;
3086
3120
  }
3087
- }, "l25", $scope0_id);
3088
- const copyMarkdown = _resume(() => dispatch(comments, { clipboard: true }, "all"), "l26", $scope0_id);
3089
- const sendTo = _resume((sessionId) => dispatch(comments, { session: sessionId }, "all"), "l27", $scope0_id);
3121
+ }, "l27", $scope0_id);
3122
+ const copyMarkdown = _resume(() => dispatch(comments, { clipboard: true }, "all"), "l28", $scope0_id);
3123
+ const sendTo = _resume((sessionId) => dispatch(comments, { session: sessionId }, "all"), "l29", $scope0_id);
3090
3124
  const sendOneComment = _resume((id, sessionId) => {
3091
3125
  const comment = comments.find((c) => c.id === id);
3092
3126
  return comment ? dispatch([comment], { session: sessionId }, [id]) : Promise.resolve(false);
3093
- }, "l28", $scope0_id);
3127
+ }, "l30", $scope0_id);
3094
3128
  const sendDraftComment = _resume((file, text, sessionId) => {
3095
3129
  const range = draft;
3096
3130
  const trimmed = text.trim();
@@ -3108,12 +3142,12 @@ var diff_view_default = _template("l", (input) => {
3108
3142
  ...anchorFor(file, range)
3109
3143
  };
3110
3144
  return dispatch([one], { session: sessionId }, []);
3111
- }, "l29", $scope0_id);
3145
+ }, "l31", $scope0_id);
3112
3146
  const openFind = _resume(() => {
3113
3147
  findOpen = true;
3114
3148
  findTick++;
3115
3149
  findFocusRef.focus();
3116
- }, "l30", $scope0_id);
3150
+ }, "l32", $scope0_id);
3117
3151
  const onFindState = _resume((next) => {
3118
3152
  findState = next;
3119
3153
  if (!next.hit) return;
@@ -3128,7 +3162,7 @@ var diff_view_default = _template("l", (input) => {
3128
3162
  setSearchPaint(next.query, hit);
3129
3163
  revealSearchHit();
3130
3164
  }, 0);
3131
- }, "l31", $scope0_id);
3165
+ }, "l33", $scope0_id);
3132
3166
  const toggleSection = _resume((id) => {
3133
3167
  if (expandingRepos.has(id)) {
3134
3168
  const busy = new Set(expandingRepos);
@@ -3160,7 +3194,7 @@ var diff_view_default = _template("l", (input) => {
3160
3194
  openedRepos = /* @__PURE__ */ new Set([...openedRepos, id]);
3161
3195
  collapsedRepos = /* @__PURE__ */ new Set([...collapsedRepos, id]);
3162
3196
  }
3163
- }, "l32", $scope0_id);
3197
+ }, "l34", $scope0_id);
3164
3198
  _html(`<div${_attr_class("_ew")}><div${_attr_class("_eB")}><div${_attr_class("_eC")}><div${_attr_class(["_eM", { ["_eL"]: !comments.length }])}>`);
3165
3199
  _if(() => {
3166
3200
  if (input.onExit) {
@@ -3208,7 +3242,7 @@ var diff_view_default = _template("l", (input) => {
3208
3242
  ])} title=${treeOpen ? "\"Hide file tree\"" : "\"Show file tree\""}>`);
3209
3243
  icon_sidebar_default({ size: 14 });
3210
3244
  _html(`</button>${_el_resume($scope12_id, "a")}`);
3211
- _script($scope12_id, "l50");
3245
+ _script($scope12_id, "l52");
3212
3246
  writeScope($scope12_id, {});
3213
3247
  return 0;
3214
3248
  }
@@ -3225,7 +3259,7 @@ var diff_view_default = _template("l", (input) => {
3225
3259
  if (hasFiles) {
3226
3260
  const $scope13_id = _scope_id();
3227
3261
  _html(`<button${_attr_class(["_o", "_eY"])} title="Jump to file">Files (<!>${_escape(shownFiles.length)}${_el_resume($scope13_id, "b")})</button>${_el_resume($scope13_id, "a")}`);
3228
- _script($scope13_id, "l51");
3262
+ _script($scope13_id, "l53");
3229
3263
  writeScope($scope13_id, {});
3230
3264
  return 0;
3231
3265
  }
@@ -3245,11 +3279,11 @@ var diff_view_default = _template("l", (input) => {
3245
3279
  open: findOpen,
3246
3280
  openChange: _resume((_new_findOpen) => {
3247
3281
  findOpen = _new_findOpen;
3248
- }, "l33", $scope0_id),
3282
+ }, "l35", $scope0_id),
3249
3283
  focusRef: findFocusRef,
3250
3284
  stateChange: _resume(function(s) {
3251
3285
  onFindState(s);
3252
- }, "l34", $scope0_id)
3286
+ }, "l36", $scope0_id)
3253
3287
  });
3254
3288
  _html(`</div>${_el_resume($scope0_id, "t")}`);
3255
3289
  _if(() => {
@@ -3262,7 +3296,7 @@ var diff_view_default = _template("l", (input) => {
3262
3296
  ])} title="Find in review (⌘/Ctrl+F)" aria-label="Find in review"${_attr("hidden", findOpen)}>`);
3263
3297
  icon_search_default({ size: 14 });
3264
3298
  _html(`</button>${_el_resume($scope14_id, "a")}`);
3265
- _script($scope14_id, "l52");
3299
+ _script($scope14_id, "l54");
3266
3300
  writeScope($scope14_id, {});
3267
3301
  return 0;
3268
3302
  }
@@ -3274,8 +3308,8 @@ var diff_view_default = _template("l", (input) => {
3274
3308
  toast_default({
3275
3309
  onDismiss: _resume(function() {
3276
3310
  error = null;
3277
- }, "l35", $scope6_id),
3278
- content: _content_resume("l53", () => {
3311
+ }, "l37", $scope6_id),
3312
+ content: _content_resume("l55", () => {
3279
3313
  _scope_reason();
3280
3314
  const $scope7_id = _scope_id();
3281
3315
  _html(`${_escape(error)}${_el_resume($scope7_id, "a")}`);
@@ -3304,7 +3338,7 @@ var diff_view_default = _template("l", (input) => {
3304
3338
  kind: "warn",
3305
3339
  placement: "inline",
3306
3340
  title: `${repo.worktree}: base not found`,
3307
- content: _content_resume("l54", () => {
3341
+ content: _content_resume("l56", () => {
3308
3342
  _scope_reason();
3309
3343
  const $scope10_id = _scope_id();
3310
3344
  _html(`${_escape(repo.base)}${_el_resume($scope10_id, "a")}<!>${scope$1 !== "committed" ? ", showing uncommitted changes only" : ""}${_el_resume($scope10_id, "b")}.`);
@@ -3349,14 +3383,14 @@ var diff_view_default = _template("l", (input) => {
3349
3383
  opened: openedRepos.has(repo.id),
3350
3384
  onToggle: _resume(function() {
3351
3385
  toggleSection(repo.id);
3352
- }, "l36", $scope4_id),
3386
+ }, "l38", $scope4_id),
3353
3387
  workspaceBranch: input.workspaceBranch || "",
3354
3388
  workspaceName: input.workspaceName || "",
3355
3389
  localDiffers: localDifferIds.has(repo.id),
3356
3390
  onlyNew,
3357
3391
  onToggleNew: _resume(function() {
3358
3392
  onlyNew = !onlyNew;
3359
- }, "l37", $scope4_id),
3393
+ }, "l39", $scope4_id),
3360
3394
  onReload: reload,
3361
3395
  loading,
3362
3396
  findHit: findState.hit,
@@ -3367,7 +3401,7 @@ var diff_view_default = _template("l", (input) => {
3367
3401
  collapsedFiles,
3368
3402
  onFileToggle: _resume(function(key, open) {
3369
3403
  setFilesCollapsed([key], !open);
3370
- }, "l38", $scope4_id),
3404
+ }, "l40", $scope4_id),
3371
3405
  onSelect: _resume(function(file, range) {
3372
3406
  draft = {
3373
3407
  key: file.key,
@@ -3375,25 +3409,25 @@ var diff_view_default = _template("l", (input) => {
3375
3409
  start: Math.min(range.start, range.end),
3376
3410
  end: Math.max(range.start, range.end)
3377
3411
  };
3378
- }, "l39", $scope4_id),
3412
+ }, "l41", $scope4_id),
3379
3413
  onSaveComment: _resume(function(file, text) {
3380
3414
  saveComment(file, text);
3381
- }, "l40", $scope4_id),
3415
+ }, "l42", $scope4_id),
3382
3416
  onSendDraft: _resume(function(file, text, sessionId) {
3383
3417
  sendDraftComment(file, text, sessionId);
3384
- }, "l41", $scope4_id),
3418
+ }, "l43", $scope4_id),
3385
3419
  onCancelDraft: _resume(function() {
3386
3420
  draft = null;
3387
- }, "l42", $scope4_id),
3421
+ }, "l44", $scope4_id),
3388
3422
  onDeleteComment: _resume(function(id) {
3389
3423
  removeComment(id);
3390
- }, "l43", $scope4_id),
3424
+ }, "l45", $scope4_id),
3391
3425
  onSendComment: _resume(function(id, sessionId) {
3392
3426
  sendOneComment(id, sessionId);
3393
- }, "l44", $scope4_id),
3427
+ }, "l46", $scope4_id),
3394
3428
  onError: _resume(function(message) {
3395
3429
  error = message;
3396
- }, "l45", $scope4_id)
3430
+ }, "l47", $scope4_id)
3397
3431
  });
3398
3432
  _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) })))))))))))))))))))))));
3399
3433
  return 0;
@@ -3415,17 +3449,17 @@ var diff_view_default = _template("l", (input) => {
3415
3449
  collapsedRepos,
3416
3450
  collapsedReposChange: _resume((_new_collapsedRepos) => {
3417
3451
  collapsedRepos = _new_collapsedRepos;
3418
- }, "l46", $scope0_id),
3452
+ }, "l48", $scope0_id),
3419
3453
  openedRepos,
3420
3454
  openedReposChange: _resume((_new_openedRepos) => {
3421
3455
  openedRepos = _new_openedRepos;
3422
- }, "l47", $scope0_id),
3456
+ }, "l49", $scope0_id),
3423
3457
  commentKeys,
3424
3458
  newKeys,
3425
3459
  collapsedFiles,
3426
3460
  onDirToggle: _resume(function(keys, collapsed) {
3427
3461
  setFilesCollapsed(keys, collapsed);
3428
- }, "l48", $scope0_id),
3462
+ }, "l50", $scope0_id),
3429
3463
  workspaceId: input.workspaceId,
3430
3464
  scope: scope$1
3431
3465
  });
@@ -3435,7 +3469,7 @@ var diff_view_default = _template("l", (input) => {
3435
3469
  open: fileSheet,
3436
3470
  openChange: _resume((_new_fileSheet) => {
3437
3471
  fileSheet = _new_fileSheet;
3438
- }, "l49", $scope0_id),
3472
+ }, "l51", $scope0_id),
3439
3473
  files: shownFiles,
3440
3474
  filter: fileFilter,
3441
3475
  filterChange: $filterChange,
@@ -3446,11 +3480,11 @@ var diff_view_default = _template("l", (input) => {
3446
3480
  scope: scope$1
3447
3481
  });
3448
3482
  _html("</div>");
3449
- _script($scope0_id, "l55");
3450
- _script($scope0_id, "l56");
3451
3483
  _script($scope0_id, "l57");
3452
3484
  _script($scope0_id, "l58");
3453
3485
  _script($scope0_id, "l59");
3486
+ _script($scope0_id, "l60");
3487
+ _script($scope0_id, "l61");
3454
3488
  writeScope($scope0_id, {
3455
3489
  a6: input.workspaceId,
3456
3490
  a7: input.scope,
@@ -3494,79 +3528,81 @@ var diff_view_default = _template("l", (input) => {
3494
3528
  bo: nearBox.root,
3495
3529
  bq: observeNear,
3496
3530
  br: pinToTop,
3497
- bt: focusPrSection,
3498
- bu: findFile,
3499
- bv: openFile,
3500
- by: jumpTo,
3501
- c0: posBox.raf,
3502
- c1: posBox.anchor,
3503
- c3: posBox.run,
3504
- c5: anchorAt,
3505
- c7: noteScroll,
3506
- c8: savePos,
3507
- c9: restorePos,
3508
- cb: headBox.sig,
3509
- cc: headBox.timer,
3510
- ce: loadBox.seq,
3511
- cg: load,
3512
- cj: setScope,
3513
- cm: sendGate.busy,
3514
- co: loadReview,
3515
- cp: reload,
3516
- cr: reloadSoon,
3517
- cs: markSeen,
3518
- cu: repoList,
3519
- cv: repoList.length,
3520
- cw: allFiles,
3521
- cy: allFiles?.length,
3522
- cz: fileFiltered,
3523
- d0: findKeys,
3531
+ bs: retryFrames,
3532
+ bu: focusPrSection,
3533
+ bv: findFile,
3534
+ bw: openFile,
3535
+ bz: jumpTo,
3536
+ c1: posBox.raf,
3537
+ c2: posBox.anchor,
3538
+ c4: posBox.run,
3539
+ c6: anchorAt,
3540
+ c8: noteScroll,
3541
+ c9: savePos,
3542
+ ca: restorePos,
3543
+ cc: headBox.sig,
3544
+ cd: headBox.timer,
3545
+ cf: loadBox.seq,
3546
+ ch: load,
3547
+ ck: setScope,
3548
+ cn: sendGate.busy,
3549
+ cp: loadReview,
3550
+ cq: reload,
3551
+ cs: reloadSoon,
3552
+ ct: markSeen,
3553
+ cv: repoList,
3554
+ cw: repoList.length,
3555
+ cx: allFiles,
3556
+ cz: allFiles?.length,
3557
+ d0: fileFiltered,
3558
+ d1: findKeys,
3524
3559
  d4: shownFiles?.length,
3525
3560
  d6: shownKeySet,
3526
- d8: filesByRepo,
3527
- db: commentsByFile,
3528
- de: localDifferIds,
3529
- df: hasFiles,
3530
- dg: fileWorktree,
3531
- dh: anchorFor,
3532
- dj: saveComment,
3533
- dk: deleteRemote,
3534
- dn: removeComment,
3535
- do: dispatch,
3536
- dr: copyMarkdown,
3537
- ds: sendTo,
3538
- dt: sendOneComment,
3539
- du: sendDraftComment,
3540
- dv: openFind,
3541
- dx: onFindState,
3542
- dy: toggleSection,
3561
+ d8: groupByRepo,
3562
+ db: filesByRepo,
3563
+ de: commentsByFile,
3564
+ dh: localDifferIds,
3565
+ di: hasFiles,
3566
+ dj: fileWorktree,
3567
+ dk: anchorFor,
3568
+ dm: saveComment,
3569
+ dn: deleteRemote,
3570
+ dq: removeComment,
3571
+ dr: dispatch,
3572
+ du: copyMarkdown,
3573
+ dv: sendTo,
3574
+ dw: sendOneComment,
3575
+ dx: sendDraftComment,
3576
+ dy: openFind,
3577
+ e0: onFindState,
3578
+ e1: toggleSection,
3543
3579
  b5: input.findOpenChange || void 0,
3544
3580
  l: _existing_scope($childScope2),
3545
3581
  u: _existing_scope($childScope3),
3546
- e5: $error__closures,
3547
- e9: $scope__closures,
3548
- e0: $si__input_sessions && $input_sessions__closures,
3549
- e1: $si__input_workspaceBranch && $input_workspaceBranch__closures,
3550
- e2: $si__input_workspaceName && $input_workspaceName__closures,
3551
- e4: $draft__closures,
3552
- e6: $loading__closures,
3553
- e8: $onlyNew__closures,
3554
- ed: $findState_hit__closures,
3555
- ee: $collapsedRepos__closures,
3556
- ef: $collapsedFiles__closures,
3557
- eg: $setFilesCollapsed2__closures,
3558
- eh: $openedRepos__closures,
3559
- ei: $expandingRepos__closures,
3560
- ek: $reload2__closures,
3561
- em: $repoList_length__closures,
3562
- eo: $shownKeySet__closures,
3563
- eq: $commentsByFile__closures,
3564
- er: $localDifferIds__closures,
3565
- et: $saveComment2__closures,
3566
- eu: $removeComment2__closures,
3567
- ex: $sendOneComment2__closures,
3568
- ey: $sendDraftComment2__closures,
3569
- ez: $toggleSection2__closures,
3582
+ e8: $error__closures,
3583
+ ec: $scope__closures,
3584
+ e3: $si__input_sessions && $input_sessions__closures,
3585
+ e4: $si__input_workspaceBranch && $input_workspaceBranch__closures,
3586
+ e5: $si__input_workspaceName && $input_workspaceName__closures,
3587
+ e7: $draft__closures,
3588
+ e9: $loading__closures,
3589
+ eb: $onlyNew__closures,
3590
+ eg: $findState_hit__closures,
3591
+ eh: $collapsedRepos__closures,
3592
+ ei: $collapsedFiles__closures,
3593
+ ej: $setFilesCollapsed2__closures,
3594
+ ek: $openedRepos__closures,
3595
+ el: $expandingRepos__closures,
3596
+ en: $reload2__closures,
3597
+ ep: $repoList_length__closures,
3598
+ er: $shownKeySet__closures,
3599
+ et: $commentsByFile__closures,
3600
+ eu: $localDifferIds__closures,
3601
+ ew: $saveComment2__closures,
3602
+ ex: $removeComment2__closures,
3603
+ f0: $sendOneComment2__closures,
3604
+ f1: $sendDraftComment2__closures,
3605
+ f2: $toggleSection2__closures,
3570
3606
  a2: _existing_scope($childScope6),
3571
3607
  a3: _existing_scope($childScope7)
3572
3608
  });