@dylanpiercey/work 0.0.133 → 0.0.135
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.
- package/dist/_B1bgL2tH.js +2 -0
- package/dist/_B3qThpAM.js +2 -0
- package/dist/_BIxwPE98.js +2 -0
- package/dist/{_BBmEhpPH.js → _BJg54Xa1.js} +7 -3
- package/dist/{_CM_NBV_t.js → _BZpXh6Js.js} +2 -2
- package/dist/{_CdtfdUWD.js → _Boofe5nI.js} +15 -15
- package/dist/{_Dud_1oT_.js → _DwK89Lz-.js} +81 -28
- package/dist/{_D--C0YAu.js → _Fhn3V9QC.js} +13 -13
- package/dist/index.mjs +149 -149
- package/dist/public/assets/{_DE4TfPd_2.js → _0fZEmB9p2.js} +1 -1
- package/dist/public/assets/_0fZEmB9p2.js.br +0 -0
- package/dist/public/assets/{_Dc180U8E.js → _68z4FCtL.js} +1 -1
- package/dist/public/assets/_68z4FCtL.js.br +0 -0
- package/dist/public/assets/{_DtTOv7W8.js → _7ulm5F25.js} +1 -1
- package/dist/public/assets/_7ulm5F25.js.br +0 -0
- package/dist/public/assets/{_BqJwQmzo2.js → _9ekMcw4E2.js} +1 -1
- package/dist/public/assets/_9ekMcw4E2.js.br +0 -0
- package/dist/public/assets/{_Bt_7l3mX.js → _B1NjOKqM.js} +1 -1
- package/dist/public/assets/_B1NjOKqM.js.br +0 -0
- package/dist/public/assets/{_BYCpNqiL.js → _B1dh4BjF.js} +1 -1
- package/dist/public/assets/_B1dh4BjF.js.br +0 -0
- package/dist/public/assets/{_qSvlTqpM.js → _B2TmPLZR.js} +1 -1
- package/dist/public/assets/_B2TmPLZR.js.br +0 -0
- package/dist/public/assets/{_DOXVydQk.js → _B2oJT0Iz.js} +1 -1
- package/dist/public/assets/_B2oJT0Iz.js.br +0 -0
- package/dist/public/assets/{_CeZ5Cp0c.js → _BCBCXuNF.js} +1 -1
- package/dist/public/assets/_BCBCXuNF.js.br +0 -0
- package/dist/public/assets/{_D390gdTI.js → _BECiMBRI.js} +4 -4
- package/dist/public/assets/_BECiMBRI.js.br +0 -0
- package/dist/public/assets/{_Dti7zj_m2.js → _BEE7mDcv2.js} +1 -1
- package/dist/public/assets/_BEE7mDcv2.js.br +0 -0
- package/dist/public/assets/{_BWb8DQ89.js → _BHioPQAc.js} +1 -1
- package/dist/public/assets/_BHioPQAc.js.br +0 -0
- package/dist/public/assets/{_Cgn64O7y2.js → _BLJqnkdL2.js} +1 -1
- package/dist/public/assets/_BLJqnkdL2.js.br +0 -0
- package/dist/public/assets/{_D8lG_qkF.js → _BRgSM65d.js} +1 -1
- package/dist/public/assets/_BRgSM65d.js.br +0 -0
- package/dist/public/assets/{_D7VoWiP32.js → _BTbmN-k-2.js} +1 -1
- package/dist/public/assets/_BTbmN-k-2.js.br +0 -0
- package/dist/public/assets/{_DSm3oEmt.js → _BfpaQCZS.js} +1 -1
- package/dist/public/assets/_BfpaQCZS.js.br +0 -0
- package/dist/public/assets/{_C3rX0kPY.js → _BhXU-Nbg.js} +1 -1
- package/dist/public/assets/_BhXU-Nbg.js.br +0 -0
- package/dist/public/assets/{_WsvU9QbI.js → _BiVy2gzm.js} +1 -1
- package/dist/public/assets/_BiVy2gzm.js.br +0 -0
- package/dist/public/assets/{_CsEEAWm6.js → _BndzfRf5.js} +1 -1
- package/dist/public/assets/_BndzfRf5.js.br +0 -0
- package/dist/public/assets/{_Cr0d_-K72.js → _Boj0LPAV2.js} +1 -1
- package/dist/public/assets/{_336Unliu.js → _BrWQpYKG.js} +1 -1
- package/dist/public/assets/_BrWQpYKG.js.br +0 -0
- package/dist/public/assets/{_B5jJoqyN2.js → _BrtXr1ji2.js} +1 -1
- package/dist/public/assets/_BrtXr1ji2.js.br +0 -0
- package/dist/public/assets/{_hOk60eQo.js → _BuS3Vglx.js} +1 -1
- package/dist/public/assets/_BuS3Vglx.js.br +0 -0
- package/dist/public/assets/{_BitfBqfc.js → _BxpVjKkc.js} +1 -1
- package/dist/public/assets/_BxpVjKkc.js.br +0 -0
- package/dist/public/assets/{_CGFBnyeU2.js → _C001rM4U2.js} +1 -1
- package/dist/public/assets/_C001rM4U2.js.br +0 -0
- package/dist/public/assets/{_fMd05DIW.js → _C0ZA5CMc.js} +1 -1
- package/dist/public/assets/_C0ZA5CMc.js.br +0 -0
- package/dist/public/assets/{_vCWVZzMf.js → _C1QAOE9L.js} +1 -1
- package/dist/public/assets/_C1QAOE9L.js.br +0 -0
- package/dist/public/assets/{_D0zFtirx.js → _C6MDqF6r.js} +5 -5
- package/dist/public/assets/_C6MDqF6r.js.br +0 -0
- package/dist/public/assets/{_BKCWqy_g.js → _C6ws5wwF.js} +1 -1
- package/dist/public/assets/_C6ws5wwF.js.br +0 -0
- package/dist/public/assets/{_DRnRvLVd.js → _CAKHEQZH.js} +1 -1
- package/dist/public/assets/_CAKHEQZH.js.br +0 -0
- package/dist/public/assets/{_Czr_mCv6.js → _CCPtn0et.js} +1 -1
- package/dist/public/assets/_CCPtn0et.js.br +0 -0
- package/dist/public/assets/{_-Y6OQk6f.js → _CEodf7tu.js} +1 -1
- package/dist/public/assets/_CEodf7tu.js.br +0 -0
- package/dist/public/assets/{_DKsD43Py2.js → _CHEDeh4O2.js} +1 -1
- package/dist/public/assets/_CHEDeh4O2.js.br +0 -0
- package/dist/public/assets/{_DNQyz1Dv.js → _CKHv8GUc.js} +1 -1
- package/dist/public/assets/_CKHv8GUc.js.br +0 -0
- package/dist/public/assets/{_CJKYak5x.js → _COhqAPLE.js} +1 -1
- package/dist/public/assets/_COhqAPLE.js.br +0 -0
- package/dist/public/assets/{_DQ8S5Jdr.js → _CauzJ22b.js} +1 -1
- package/dist/public/assets/_CauzJ22b.js.br +0 -0
- package/dist/public/assets/{_DLPKGh342.js → _Cm1ANqbQ2.js} +1 -1
- package/dist/public/assets/_Cm1ANqbQ2.js.br +0 -0
- package/dist/public/assets/{_DJBRxKE2.js → _CsQiYtel.js} +1 -1
- package/dist/public/assets/_CsQiYtel.js.br +0 -0
- package/dist/public/assets/{_BdGb_NIH2.js → _Cv7lWjV32.js} +1 -1
- package/dist/public/assets/_Cv7lWjV32.js.br +0 -0
- package/dist/public/assets/{_yQM2xxWk.js → _CvIyYSuF.js} +1 -1
- package/dist/public/assets/_CvIyYSuF.js.br +0 -0
- package/dist/public/assets/{_DcGlariG.js → _CwaR4-O6.js} +1 -1
- package/dist/public/assets/_CwaR4-O6.js.br +0 -0
- package/dist/public/assets/{_Dp0X0OEj2.js → _CxxWbLuC2.js} +1 -1
- package/dist/public/assets/_CxxWbLuC2.js.br +0 -0
- package/dist/public/assets/{_CsNc62Si.js → _CzbSiMaL.js} +1 -1
- package/dist/public/assets/_CzbSiMaL.js.br +0 -0
- package/dist/public/assets/{_BCKvSty22.js → _Czvgy_oc2.js} +1 -1
- package/dist/public/assets/_Czvgy_oc2.js.br +0 -0
- package/dist/public/assets/{_BQOSbYm82.js → _D3_3zitd2.js} +1 -1
- package/dist/public/assets/_D3_3zitd2.js.br +0 -0
- package/dist/public/assets/{_DAzvTdol.js → _D7CWWH5a.js} +1 -1
- package/dist/public/assets/_D7CWWH5a.js.br +0 -0
- package/dist/public/assets/{_BM_uVAuI.js → _D9BL0gZh.js} +1 -1
- package/dist/public/assets/_D9BL0gZh.js.br +0 -0
- package/dist/public/assets/{_TK_KMjpE.js → _DIEL2YtS.js} +1 -1
- package/dist/public/assets/_DIEL2YtS.js.br +0 -0
- package/dist/public/assets/{_CcRIiU572.js → _DK5vdxh32.js} +1 -1
- package/dist/public/assets/_DK5vdxh32.js.br +0 -0
- package/dist/public/assets/{_6ducUNCS.js → _DXVzDS8p.js} +1 -1
- package/dist/public/assets/_DXVzDS8p.js.br +0 -0
- package/dist/public/assets/{_CnwEDX72.js → _DXsjW21V.js} +1 -1
- package/dist/public/assets/_DXsjW21V.js.br +0 -0
- package/dist/public/assets/{_DWs8yHFx2.js → _Dbh4cPK_2.js} +1 -1
- package/dist/public/assets/_Dbh4cPK_2.js.br +0 -0
- package/dist/public/assets/{_DSAAEdBx.js → _DjkUqeYn.js} +1 -1
- package/dist/public/assets/_DjkUqeYn.js.br +0 -0
- package/dist/public/assets/{_CGqMpQCH2.js → _DlikdYjR2.js} +1 -1
- package/dist/public/assets/_DlikdYjR2.js.br +0 -0
- package/dist/public/assets/{_BmoA9RLw.js → _DotQ9eyD.js} +1 -1
- package/dist/public/assets/_DotQ9eyD.js.br +0 -0
- package/dist/public/assets/{_Bl4c1xqN.js → _Dsh7sPtX.js} +1 -1
- package/dist/public/assets/_Dsh7sPtX.js.br +0 -0
- package/dist/public/assets/{_BL3Yqcs8.js → _DszGB6Nm.js} +1 -1
- package/dist/public/assets/_DszGB6Nm.js.br +0 -0
- package/dist/public/assets/{_DKgp50DK.js → _DtjFcpep.js} +1 -1
- package/dist/public/assets/_DtjFcpep.js.br +0 -0
- package/dist/public/assets/{_C605xYHH.js → _DwLDpDkb.js} +1 -1
- package/dist/public/assets/_DwLDpDkb.js.br +0 -0
- package/dist/public/assets/{_CS8tE97O.js → _DwnnREUT.js} +1 -1
- package/dist/public/assets/_DwnnREUT.js.br +0 -0
- package/dist/public/assets/{_CwxbRHXQ.js → _DzvR3HtZ.js} +1 -1
- package/dist/public/assets/_DzvR3HtZ.js.br +0 -0
- package/dist/public/assets/{_DLCwd_Ai.js → _FFoEJg8c.js} +1 -1
- package/dist/public/assets/{_Co4DpOFA.js → _KlGqeoIr.js} +1 -1
- package/dist/public/assets/_KlGqeoIr.js.br +0 -0
- package/dist/public/assets/{_DQLTL499.js → _WknOXr2p.js} +1 -1
- package/dist/public/assets/_WknOXr2p.js.br +0 -0
- package/dist/public/assets/{_CDqZkwOX.js → _XBtiwca3.js} +1 -1
- package/dist/public/assets/_XBtiwca3.js.br +0 -0
- package/dist/public/assets/{_D-3qr50_.js → _b7W0qIUu.js} +1 -1
- package/dist/public/assets/_b7W0qIUu.js.br +0 -0
- package/dist/public/assets/{_DxyaUwtt.js → _hoypU4ON.js} +1 -1
- package/dist/public/assets/_hoypU4ON.js.br +0 -0
- package/dist/public/assets/{_sAQcXZ9h2.js → _jJgk9rI72.js} +1 -1
- package/dist/public/assets/{_CkHn_zcY2.js → _jzzAY-_W2.js} +1 -1
- package/dist/public/assets/_jzzAY-_W2.js.br +0 -0
- package/dist/public/assets/{_DC3RSJ1J.js → _l8ryHBkA.js} +1 -1
- package/dist/public/assets/_l8ryHBkA.js.br +0 -0
- package/dist/public/assets/{_Ct5fyf0T2.js → _q-MpIvSC2.js} +1 -1
- package/dist/public/assets/_q-MpIvSC2.js.br +0 -0
- package/dist/public/assets/{_C16aaAR72.js → _tEOeZ26b2.js} +1 -1
- package/dist/public/assets/_tEOeZ26b2.js.br +0 -0
- package/dist/public/assets/{_BSnEbg6J2.js → _u8bPqpkk2.js} +1 -1
- package/dist/public/assets/_u8bPqpkk2.js.br +0 -0
- package/dist/public/assets/{_B-lfZPO52.js → _x71nmEt92.js} +1 -1
- package/dist/public/assets/_x71nmEt92.js.br +0 -0
- package/dist/public/assets/{_DFd_RThf2.js → _zUM5lYgT2.js} +1 -1
- package/dist/public/assets/_zUM5lYgT2.js.br +0 -0
- package/dist/public/assets/{__e648QtL.js → _zoKtmmeV.js} +1 -1
- package/dist/public/assets/_zoKtmmeV.js.br +0 -0
- package/dist/public/assets/{app-page-BkhB1v4W.css → app-page-DL7rHeQL.css} +1 -1
- package/dist/public/assets/app-page-DL7rHeQL.css.br +0 -0
- package/dist/public/assets/{diff-view-BZ8j55Fj.css → diff-view-CQTNRT5q.css} +1 -1
- package/dist/public/assets/diff-view-CQTNRT5q.css.br +0 -0
- package/dist/public/assets/new-KOmGuG9T.js +1 -0
- package/dist/public/assets/settings-KOmGuG9T.js +1 -0
- package/dist/public/assets/w-KOmGuG9T.js +1 -0
- package/dist/public/assets/w._-CQegKUC3.js +1 -0
- package/dist/public/assets/w._-KOmGuG9T.js +1 -0
- package/package.json +1 -1
- package/dist/_B4-5M9y6.js +0 -2
- package/dist/_BTtOB0g5.js +0 -2
- package/dist/_DaZ1KKTE.js +0 -2
- package/dist/public/assets/_-Y6OQk6f.js.br +0 -0
- package/dist/public/assets/_336Unliu.js.br +0 -0
- package/dist/public/assets/_6ducUNCS.js.br +0 -0
- package/dist/public/assets/_B-lfZPO52.js.br +0 -0
- package/dist/public/assets/_B5jJoqyN2.js.br +0 -0
- package/dist/public/assets/_BCKvSty22.js.br +0 -0
- package/dist/public/assets/_BKCWqy_g.js.br +0 -0
- package/dist/public/assets/_BL3Yqcs8.js.br +0 -0
- package/dist/public/assets/_BM_uVAuI.js.br +0 -0
- package/dist/public/assets/_BQOSbYm82.js.br +0 -0
- package/dist/public/assets/_BSnEbg6J2.js.br +0 -0
- package/dist/public/assets/_BWb8DQ89.js.br +0 -0
- package/dist/public/assets/_BYCpNqiL.js.br +0 -0
- package/dist/public/assets/_BdGb_NIH2.js.br +0 -0
- package/dist/public/assets/_BitfBqfc.js.br +0 -0
- package/dist/public/assets/_Bl4c1xqN.js.br +0 -0
- package/dist/public/assets/_BmoA9RLw.js.br +0 -0
- package/dist/public/assets/_BqJwQmzo2.js.br +0 -0
- package/dist/public/assets/_Bt_7l3mX.js.br +0 -0
- package/dist/public/assets/_C16aaAR72.js.br +0 -0
- package/dist/public/assets/_C3rX0kPY.js.br +0 -0
- package/dist/public/assets/_C605xYHH.js.br +0 -0
- package/dist/public/assets/_CDqZkwOX.js.br +0 -0
- package/dist/public/assets/_CGFBnyeU2.js.br +0 -0
- package/dist/public/assets/_CGqMpQCH2.js.br +0 -0
- package/dist/public/assets/_CJKYak5x.js.br +0 -0
- package/dist/public/assets/_CS8tE97O.js.br +0 -0
- package/dist/public/assets/_CcRIiU572.js.br +0 -0
- package/dist/public/assets/_CeZ5Cp0c.js.br +0 -0
- package/dist/public/assets/_Cgn64O7y2.js.br +0 -0
- package/dist/public/assets/_CkHn_zcY2.js.br +0 -0
- package/dist/public/assets/_CnwEDX72.js.br +0 -0
- package/dist/public/assets/_Co4DpOFA.js.br +0 -0
- package/dist/public/assets/_CsEEAWm6.js.br +0 -0
- package/dist/public/assets/_CsNc62Si.js.br +0 -0
- package/dist/public/assets/_Ct5fyf0T2.js.br +0 -0
- package/dist/public/assets/_CwxbRHXQ.js.br +0 -0
- package/dist/public/assets/_Czr_mCv6.js.br +0 -0
- package/dist/public/assets/_D-3qr50_.js.br +0 -0
- package/dist/public/assets/_D0zFtirx.js.br +0 -0
- package/dist/public/assets/_D390gdTI.js.br +0 -0
- package/dist/public/assets/_D7VoWiP32.js.br +0 -0
- package/dist/public/assets/_D8lG_qkF.js.br +0 -0
- package/dist/public/assets/_DAzvTdol.js.br +0 -0
- package/dist/public/assets/_DC3RSJ1J.js.br +0 -0
- package/dist/public/assets/_DE4TfPd_2.js.br +0 -0
- package/dist/public/assets/_DFd_RThf2.js.br +0 -0
- package/dist/public/assets/_DJBRxKE2.js.br +0 -0
- package/dist/public/assets/_DKgp50DK.js.br +0 -0
- package/dist/public/assets/_DKsD43Py2.js.br +0 -0
- package/dist/public/assets/_DLPKGh342.js.br +0 -0
- package/dist/public/assets/_DNQyz1Dv.js.br +0 -0
- package/dist/public/assets/_DOXVydQk.js.br +0 -0
- package/dist/public/assets/_DQ8S5Jdr.js.br +0 -0
- package/dist/public/assets/_DQLTL499.js.br +0 -0
- package/dist/public/assets/_DRnRvLVd.js.br +0 -0
- package/dist/public/assets/_DSAAEdBx.js.br +0 -0
- package/dist/public/assets/_DSm3oEmt.js.br +0 -0
- package/dist/public/assets/_DWs8yHFx2.js.br +0 -0
- package/dist/public/assets/_Dc180U8E.js.br +0 -0
- package/dist/public/assets/_DcGlariG.js.br +0 -0
- package/dist/public/assets/_Dp0X0OEj2.js.br +0 -0
- package/dist/public/assets/_DtTOv7W8.js.br +0 -0
- package/dist/public/assets/_Dti7zj_m2.js.br +0 -0
- package/dist/public/assets/_DxyaUwtt.js.br +0 -0
- package/dist/public/assets/_TK_KMjpE.js.br +0 -0
- package/dist/public/assets/_WsvU9QbI.js.br +0 -0
- package/dist/public/assets/__e648QtL.js.br +0 -0
- package/dist/public/assets/_fMd05DIW.js.br +0 -0
- package/dist/public/assets/_hOk60eQo.js.br +0 -0
- package/dist/public/assets/_qSvlTqpM.js.br +0 -0
- package/dist/public/assets/_vCWVZzMf.js.br +0 -0
- package/dist/public/assets/_yQM2xxWk.js.br +0 -0
- package/dist/public/assets/app-page-BkhB1v4W.css.br +0 -0
- package/dist/public/assets/diff-view-BZ8j55Fj.css.br +0 -0
- package/dist/public/assets/new-DEzYPlB7.js +0 -1
- package/dist/public/assets/settings-DEzYPlB7.js +0 -1
- package/dist/public/assets/w-DEzYPlB7.js +0 -1
- package/dist/public/assets/w._-CYc55EZn.js +0 -1
- package/dist/public/assets/w._-DEzYPlB7.js +0 -1
|
@@ -39,11 +39,15 @@ fs.mkdirSync(config.dataDir, { recursive: true });
|
|
|
39
39
|
* user's default tmux. */
|
|
40
40
|
var TMUX_SOCKET = "work";
|
|
41
41
|
var execFileAsync = promisify(execFile);
|
|
42
|
-
async function run$1(cmd, args, cwd, env) {
|
|
42
|
+
async function run$1(cmd, args, cwd, env, opts = {}) {
|
|
43
43
|
const { stdout } = await execFileAsync(cmd, args, {
|
|
44
44
|
cwd,
|
|
45
45
|
env,
|
|
46
|
-
maxBuffer: 67108864
|
|
46
|
+
maxBuffer: 67108864,
|
|
47
|
+
...opts.timeoutMs && {
|
|
48
|
+
timeout: opts.timeoutMs,
|
|
49
|
+
killSignal: "SIGKILL"
|
|
50
|
+
}
|
|
47
51
|
});
|
|
48
52
|
return stdout.trim();
|
|
49
53
|
}
|
|
@@ -6569,7 +6573,7 @@ function publishChange(sessionId) {
|
|
|
6569
6573
|
const row = get("SELECT workspace_id FROM sessions WHERE id = ?", sessionId);
|
|
6570
6574
|
if (row?.workspace_id) {
|
|
6571
6575
|
const workspaceId = row.workspace_id;
|
|
6572
|
-
import("./
|
|
6576
|
+
import("./_B3qThpAM.js").then((m) => m.notifySessionsChanged(workspaceId));
|
|
6573
6577
|
return;
|
|
6574
6578
|
}
|
|
6575
6579
|
publish("sessions.changed");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { U as subscriberCount, V as publish, W as subscriberJoins, dt as all, ft as db, g as sessionStates, l as listSessions } from "./
|
|
2
|
-
import { A as portsByWorkspace, J as hostToken, K as forgetToken, M as headOid, Q as ownsBranch, R as repoParent, V as DEFAULT_HOST, Y as joinRepo, Z as splitRepo, h as listWorkspaces, o as pushFailureFor, q as graphqlUrl, z as swr } from "./
|
|
1
|
+
import { U as subscriberCount, V as publish, W as subscriberJoins, dt as all, ft as db, g as sessionStates, l as listSessions } from "./_BJg54Xa1.js";
|
|
2
|
+
import { A as portsByWorkspace, J as hostToken, K as forgetToken, M as headOid, Q as ownsBranch, R as repoParent, V as DEFAULT_HOST, Y as joinRepo, Z as splitRepo, h as listWorkspaces, o as pushFailureFor, q as graphqlUrl, z as swr } from "./_DwK89Lz-.js";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
//#region src/server/github-api.ts
|
|
5
5
|
/** Run a GraphQL query against one host.
|
|
@@ -1967,14 +1967,14 @@ function repoLabel(fullName) {
|
|
|
1967
1967
|
return fullName;
|
|
1968
1968
|
}
|
|
1969
1969
|
var toastKind = {
|
|
1970
|
-
error: "
|
|
1971
|
-
warn: "
|
|
1972
|
-
info: "
|
|
1970
|
+
error: "_bd",
|
|
1971
|
+
warn: "_be",
|
|
1972
|
+
info: "_bf"
|
|
1973
1973
|
};
|
|
1974
1974
|
var toastTitle = {
|
|
1975
|
-
error: "
|
|
1976
|
-
warn: "
|
|
1977
|
-
info: "
|
|
1975
|
+
error: "_bg",
|
|
1976
|
+
warn: "_bh",
|
|
1977
|
+
info: "_bi"
|
|
1978
1978
|
};
|
|
1979
1979
|
//#endregion
|
|
1980
1980
|
//#region src/tags/icons/icon-base.marko
|
|
@@ -2012,18 +2012,18 @@ var toast_default = _template("E", (input) => {
|
|
|
2012
2012
|
const kind = inputKind || "error";
|
|
2013
2013
|
const placement = inputPlacement || "float";
|
|
2014
2014
|
const placementClass = {
|
|
2015
|
-
float: "
|
|
2016
|
-
inline: "
|
|
2015
|
+
float: "_bb",
|
|
2016
|
+
inline: "_bc"
|
|
2017
2017
|
}[placement];
|
|
2018
2018
|
_html(`<div${_attr_class([
|
|
2019
|
-
"
|
|
2019
|
+
"_ba",
|
|
2020
2020
|
toastKind[kind],
|
|
2021
2021
|
placementClass,
|
|
2022
2022
|
inputClass
|
|
2023
2023
|
])} role=${kind === "error" ? "alert" : "status"}${_attrs_partial(htmlInput, {
|
|
2024
2024
|
class: 1,
|
|
2025
2025
|
role: 1
|
|
2026
|
-
}, "a", $scope0_id, "div")}><div${_attr_class("
|
|
2026
|
+
}, "a", $scope0_id, "div")}><div${_attr_class("_bj")}>`);
|
|
2027
2027
|
_if(() => {
|
|
2028
2028
|
if (title) {
|
|
2029
2029
|
const $scope1_id = _scope_id();
|
|
@@ -2035,7 +2035,7 @@ var toast_default = _template("E", (input) => {
|
|
|
2035
2035
|
_if(() => {
|
|
2036
2036
|
if (content) {
|
|
2037
2037
|
const $scope2_id = _scope_id();
|
|
2038
|
-
_html(`<div${_attr_class("
|
|
2038
|
+
_html(`<div${_attr_class("_bk")}>`);
|
|
2039
2039
|
_dynamic_tag($scope2_id, "b", content, {}, 0, 0, $sg__input_content);
|
|
2040
2040
|
_html("</div>");
|
|
2041
2041
|
$si__input_content && writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
|
|
@@ -2046,7 +2046,7 @@ var toast_default = _template("E", (input) => {
|
|
|
2046
2046
|
_if(() => {
|
|
2047
2047
|
if (action || onDismiss) {
|
|
2048
2048
|
const $scope3_id = _scope_id();
|
|
2049
|
-
_html(`<div${_attr_class("
|
|
2049
|
+
_html(`<div${_attr_class("_bl")}>`);
|
|
2050
2050
|
_if(() => {
|
|
2051
2051
|
if (action) {
|
|
2052
2052
|
const $scope4_id = _scope_id();
|
|
@@ -2058,7 +2058,7 @@ var toast_default = _template("E", (input) => {
|
|
|
2058
2058
|
_if(() => {
|
|
2059
2059
|
if (onDismiss) {
|
|
2060
2060
|
const $scope5_id = _scope_id();
|
|
2061
|
-
_html(`<button${_attr_class([iconBtnRow, "
|
|
2061
|
+
_html(`<button${_attr_class([iconBtnRow, "_bm"])} type=button title=Dismiss aria-label=Dismiss>`);
|
|
2062
2062
|
icon_xmark_default({ size: 14 });
|
|
2063
2063
|
_html(`</button>${_el_resume($scope5_id, "a")}`);
|
|
2064
2064
|
_script($scope5_id, "E0");
|
|
@@ -2173,8 +2173,8 @@ function theme() {
|
|
|
2173
2173
|
function setTheme(mode) {
|
|
2174
2174
|
set("theme", mode === "system" ? null : mode);
|
|
2175
2175
|
}
|
|
2176
|
-
var sectionCount = "
|
|
2177
|
-
var row = "
|
|
2176
|
+
var sectionCount = "_bq _H _I";
|
|
2177
|
+
var row = "_bB _bt";
|
|
2178
2178
|
var iconBtn = "_Z _j";
|
|
2179
2179
|
//#endregion
|
|
2180
2180
|
//#region src/tags/icons/icon-refresh.marko
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as setSetting, V as publish, Y as getSetting, _t as git, bt as config, c as killWorkspaceSessions, dt as all, ft as db, gt as gh, i as disposeSessions, l as listSessions, nt as ghKnownHosts, ot as DEFAULT_GITHUB_HOST, p as panePids, pt as get, vt as run } from "./
|
|
1
|
+
import { $ as setSetting, V as publish, Y as getSetting, _t as git, bt as config, c as killWorkspaceSessions, dt as all, ft as db, gt as gh, i as disposeSessions, l as listSessions, nt as ghKnownHosts, ot as DEFAULT_GITHUB_HOST, p as panePids, pt as get, vt as run } from "./_BJg54Xa1.js";
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
@@ -598,6 +598,38 @@ var isDir = (file) => fs$1.stat(file).then((s) => s.isDirectory(), () => false);
|
|
|
598
598
|
//#endregion
|
|
599
599
|
//#region src/server/procs.ts
|
|
600
600
|
var darwin = process.platform === "darwin";
|
|
601
|
+
/** Upper bound on one process probe. lsof normally answers in well under a
|
|
602
|
+
* second; past this it is wedged behind something (endpoint-security
|
|
603
|
+
* vetting every stat, a hung mount) and the answer is worth less than the
|
|
604
|
+
* CPU it would keep burning. */
|
|
605
|
+
var PROBE_TIMEOUT_MS = 2e4;
|
|
606
|
+
var probe = (cmd, args) => run(cmd, args, void 0, void 0, { timeoutMs: PROBE_TIMEOUT_MS });
|
|
607
|
+
/** One sweep at a time, and a short reuse window. Every status compute
|
|
608
|
+
* wants the port table, and status is recomputed on every invalidation
|
|
609
|
+
* (PR refresh, push hook, client `?fresh`) — without this each of those
|
|
610
|
+
* spawned its own lsof pair while the previous ones were still running,
|
|
611
|
+
* and on a slow machine the sweeps piled up faster than they finished.
|
|
612
|
+
* Ports do not change in the time between two computes worth telling
|
|
613
|
+
* apart, so joining the in-flight sweep or reusing a seconds-old result
|
|
614
|
+
* is the right answer, not another process. */
|
|
615
|
+
function shared(fn, ttlMs) {
|
|
616
|
+
let inflight = null;
|
|
617
|
+
let last = null;
|
|
618
|
+
return () => {
|
|
619
|
+
if (last && Date.now() - last.at < ttlMs) return Promise.resolve(last.value);
|
|
620
|
+
if (!inflight) inflight = fn().then((value) => {
|
|
621
|
+
last = {
|
|
622
|
+
at: Date.now(),
|
|
623
|
+
value
|
|
624
|
+
};
|
|
625
|
+
return value;
|
|
626
|
+
}).finally(() => {
|
|
627
|
+
inflight = null;
|
|
628
|
+
});
|
|
629
|
+
return inflight;
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
var SWEEP_TTL_MS = 5e3;
|
|
601
633
|
/** Is `cwd` the workspace root or somewhere under it? The trailing slash is
|
|
602
634
|
* the whole point: a sibling `…/work-2` must not read as inside `…/work`. */
|
|
603
635
|
function inside(cwd, root) {
|
|
@@ -607,15 +639,8 @@ function inside(cwd, root) {
|
|
|
607
639
|
async function portsByWorkspace(paths) {
|
|
608
640
|
const result = /* @__PURE__ */ new Map();
|
|
609
641
|
const canonical = new Map([...paths].map(([wsId, p]) => [wsId, realPath(p)]));
|
|
610
|
-
const
|
|
611
|
-
|
|
612
|
-
const cwds = /* @__PURE__ */ new Map();
|
|
613
|
-
await Promise.all([...new Set(ports.map((p) => p.pid))].map(async (pid) => {
|
|
614
|
-
const cwd = await readCwd(pid);
|
|
615
|
-
if (cwd) cwds.set(pid, cwd);
|
|
616
|
-
}));
|
|
617
|
-
return [ports, cwds];
|
|
618
|
-
})();
|
|
642
|
+
const ports = await listeningPorts();
|
|
643
|
+
const cwds = await cwdsOf([...new Set(ports.map((p) => p.pid))]);
|
|
619
644
|
for (const info of ports) {
|
|
620
645
|
const cwd = cwds.get(info.pid);
|
|
621
646
|
if (!cwd) continue;
|
|
@@ -675,11 +700,12 @@ async function killWorkspaceProc(pid, wsPaths) {
|
|
|
675
700
|
}
|
|
676
701
|
/** Every listening TCP port with its owning pid/command: `ss` on Linux,
|
|
677
702
|
* `lsof` on macOS (no /proc, no ss there). */
|
|
678
|
-
|
|
703
|
+
var listeningPorts = shared(listeningPortsNow, SWEEP_TTL_MS);
|
|
704
|
+
async function listeningPortsNow() {
|
|
679
705
|
const seen = /* @__PURE__ */ new Set();
|
|
680
706
|
const ports = [];
|
|
681
707
|
if (darwin) {
|
|
682
|
-
const out = await
|
|
708
|
+
const out = await probe("/usr/sbin/lsof", [
|
|
683
709
|
"-nP",
|
|
684
710
|
"-iTCP",
|
|
685
711
|
"-sTCP:LISTEN",
|
|
@@ -701,7 +727,7 @@ async function listeningPorts() {
|
|
|
701
727
|
}
|
|
702
728
|
return ports;
|
|
703
729
|
}
|
|
704
|
-
const out = await
|
|
730
|
+
const out = await probe("ss", ["-tlnpH"]).catch(() => "");
|
|
705
731
|
for (const line of out.split("\n")) {
|
|
706
732
|
const port = Number(line.match(/:(\d+)\s/)?.[1]);
|
|
707
733
|
const pid = Number(line.match(/pid=(\d+)/)?.[1]);
|
|
@@ -717,10 +743,11 @@ async function listeningPorts() {
|
|
|
717
743
|
return ports;
|
|
718
744
|
}
|
|
719
745
|
/** Every process's cwd: /proc scan on Linux, one `lsof` sweep on macOS. */
|
|
720
|
-
|
|
746
|
+
var processCwds = shared(processCwdsNow, SWEEP_TTL_MS);
|
|
747
|
+
async function processCwdsNow() {
|
|
721
748
|
const cwds = /* @__PURE__ */ new Map();
|
|
722
749
|
if (darwin) {
|
|
723
|
-
const out = await
|
|
750
|
+
const out = await probe("/usr/sbin/lsof", [
|
|
724
751
|
"-a",
|
|
725
752
|
"-d",
|
|
726
753
|
"cwd",
|
|
@@ -741,7 +768,7 @@ async function processCwds() {
|
|
|
741
768
|
}
|
|
742
769
|
/** A process's argv (best-effort; empty when it died or is unreadable). */
|
|
743
770
|
async function procArgs(pid) {
|
|
744
|
-
if (darwin) return (await
|
|
771
|
+
if (darwin) return (await probe("ps", [
|
|
745
772
|
"-p",
|
|
746
773
|
String(pid),
|
|
747
774
|
"-o",
|
|
@@ -753,9 +780,34 @@ async function procArgs(pid) {
|
|
|
753
780
|
return [];
|
|
754
781
|
}
|
|
755
782
|
}
|
|
783
|
+
/** cwd of each given pid. macOS: one lsof over the pid list (a spawn per
|
|
784
|
+
* pid costs more past two or three); Linux: readlink each. */
|
|
785
|
+
async function cwdsOf(pids) {
|
|
786
|
+
const cwds = /* @__PURE__ */ new Map();
|
|
787
|
+
if (!pids.length) return cwds;
|
|
788
|
+
if (darwin) {
|
|
789
|
+
const out = await probe("/usr/sbin/lsof", [
|
|
790
|
+
"-a",
|
|
791
|
+
"-d",
|
|
792
|
+
"cwd",
|
|
793
|
+
"-p",
|
|
794
|
+
pids.join(","),
|
|
795
|
+
"-Fpn"
|
|
796
|
+
]).catch((err) => err?.stdout ?? "");
|
|
797
|
+
let pid = 0;
|
|
798
|
+
for (const line of out.split("\n")) if (line.startsWith("p")) pid = Number(line.slice(1));
|
|
799
|
+
else if (line.startsWith("n") && pid) cwds.set(pid, line.slice(1));
|
|
800
|
+
return cwds;
|
|
801
|
+
}
|
|
802
|
+
await Promise.all(pids.map(async (pid) => {
|
|
803
|
+
const cwd = await readCwd(pid);
|
|
804
|
+
if (cwd) cwds.set(pid, cwd);
|
|
805
|
+
}));
|
|
806
|
+
return cwds;
|
|
807
|
+
}
|
|
756
808
|
async function readCwd(pid) {
|
|
757
809
|
if (darwin) {
|
|
758
|
-
const line = (await
|
|
810
|
+
const line = (await probe("/usr/sbin/lsof", [
|
|
759
811
|
"-a",
|
|
760
812
|
"-d",
|
|
761
813
|
"cwd",
|
|
@@ -1005,7 +1057,7 @@ async function materializeWorkspace(id) {
|
|
|
1005
1057
|
repo.default_branch = defaultBranch;
|
|
1006
1058
|
db.prepare("UPDATE repos SET base_branch = ?, default_branch = ? WHERE workspace_id = ? AND full_name = ?").run(repo.base_branch, defaultBranch, id, repo.full_name);
|
|
1007
1059
|
}
|
|
1008
|
-
(await import("./
|
|
1060
|
+
(await import("./_B1bgL2tH.js")).muteAutoPush(repo.full_name, ws.branch);
|
|
1009
1061
|
await addWorkspaceWorktree(bare, path.join(ws.path, repo.worktree), ws.branch, repo.base_branch);
|
|
1010
1062
|
added.push(repo);
|
|
1011
1063
|
});
|
|
@@ -1490,16 +1542,16 @@ ${origin ? `- **Shared workspace:** \`${branch}\` is a lane on \`${origin}\`, an
|
|
|
1490
1542
|
rebase onto it. Never push to \`${origin}\` itself. Once \`${origin}\` has
|
|
1491
1543
|
landed and is gone from origin: \`git fetch --prune\`, rebase onto
|
|
1492
1544
|
\`origin/<base>\`, and retarget the PR (\`gh pr edit --base <base>\`).
|
|
1493
|
-
` : ""}- **Branches:** stay on \`${branch}\` and keep pushing it: one
|
|
1545
|
+
` : ""}- **Branches:** stay on \`${branch}\` and keep pushing it: one branch, more
|
|
1494
1546
|
commits. After it lands, \`git fetch\` and reset \`${branch}\` to
|
|
1495
1547
|
\`origin/<base>\` so the next change reuses this branch. Do not cut a
|
|
1496
1548
|
\`${branch}-<topic>\` just to start the next piece of work.
|
|
1497
1549
|
A topic lane is only for when \`${branch}\` must stay unmerged (a larger
|
|
1498
|
-
change) and you need a second
|
|
1550
|
+
change) and you need a second change on top of it. Then push every repo's
|
|
1499
1551
|
workspace branch first, cut from the parent
|
|
1500
1552
|
(\`git switch -c ${branch}-<topic> origin/${branch}\`), and keep the prefix.
|
|
1501
|
-
Only two levels: never \`${branch}-a-b\`. Tooling finds
|
|
1502
|
-
so a branch named anything else is invisible: never invent one.
|
|
1553
|
+
Only two levels: never \`${branch}-a-b\`. Tooling finds branches by that
|
|
1554
|
+
prefix, so a branch named anything else is invisible: never invent one.
|
|
1503
1555
|
- **Repos:**
|
|
1504
1556
|
${repoLines}
|
|
1505
1557
|
- **Repo agents files:** you **MUST** read a repo's \`AGENTS.md\` (or
|
|
@@ -1507,16 +1559,17 @@ ${repoLines}
|
|
|
1507
1559
|
- **No \`git stash\`:** every workspace using a repo shares one stash stack, so
|
|
1508
1560
|
a pop can take another workspace's work. Commit as you go; uncommitted
|
|
1509
1561
|
work isn't part of the review.
|
|
1510
|
-
- **Push:** \`git push -u origin HEAD\` in each repo
|
|
1511
|
-
Never commit on a base branch.
|
|
1562
|
+
- **Push:** \`git push -u origin HEAD\` in each repo — pushing the branch is
|
|
1563
|
+
how work goes up for review. Never commit on a base branch.
|
|
1512
1564
|
- **Rebase after merge:** when \`${branch}\` is still open and \`origin/<base>\`
|
|
1513
1565
|
moves, rebase onto it. A squash-merge does not move the fork point, so the
|
|
1514
1566
|
review keeps showing landed work until you do. On a topic lane, rebase onto
|
|
1515
1567
|
\`${branch}\` when the parent moves; after the parent merges: \`git fetch
|
|
1516
1568
|
--prune\`, rebase onto \`origin/<base>\`, and retarget (\`gh pr edit --base
|
|
1517
1569
|
<base>\`).
|
|
1518
|
-
- **PRs:** the
|
|
1519
|
-
|
|
1570
|
+
- **PRs:** the user opens PRs; never open one unless they ask. When they do:
|
|
1571
|
+
the description covers only what is in the diff, a few sentences on what
|
|
1572
|
+
changed and why. No verification logs or file-by-file detail. A topic
|
|
1520
1573
|
lane's PR is \`gh pr create --base ${branch}\`. GitHub will otherwise target
|
|
1521
1574
|
the repo default, and the local review will disagree with the files tab.
|
|
1522
1575
|
- **Ask \`work\` for facts:** the \`work\` CLI answers from the same data as
|
|
@@ -1639,7 +1692,7 @@ async function noteRemoteRef(fullName, branch, oid) {
|
|
|
1639
1692
|
if (await revParse(barePath(fullName), `refs/heads/${branch}`) !== oid) return;
|
|
1640
1693
|
rememberPushed(k, oid);
|
|
1641
1694
|
if (failures.delete(k)) {
|
|
1642
|
-
const { pokeStatusWatch } = await import("./
|
|
1695
|
+
const { pokeStatusWatch } = await import("./_BIxwPE98.js");
|
|
1643
1696
|
pokeStatusWatch();
|
|
1644
1697
|
}
|
|
1645
1698
|
}
|
|
@@ -1704,7 +1757,7 @@ async function pushOnce(fullName, branch, bases) {
|
|
|
1704
1757
|
}
|
|
1705
1758
|
async function fail(k, why) {
|
|
1706
1759
|
failures.set(k, why);
|
|
1707
|
-
const { pokeStatusWatch } = await import("./
|
|
1760
|
+
const { pokeStatusWatch } = await import("./_BIxwPE98.js");
|
|
1708
1761
|
pokeStatusWatch();
|
|
1709
1762
|
return why;
|
|
1710
1763
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as _attr_style, At as _subscribe, Ct as _scope_reason, D as toast_default, Dt as _serialize_guard, Et as _sep, G as _attr_class, H as tone, I as iconBtnLg, J as _attr_input_value, K as _attr_details_or_dialog_open, L as iconBtnRow, O as icon_xmark_default, Ot as _serialize_if, Q as _attr_select_value, R as iconBtnXs, Rt as writeScope, St as _scope_id, Tt as _script, W as _attr, X as _attr_option_value, _ as diffScope, a as fuzzy, b as setDiffPos, bt as _resume, c as icon_arrow_up_default, ct as _el_resume, d as icon_refresh_default, dt as _existing_scope, g as diffPos, gt as _html, h as diffFilter, i as icon_sidebar_default, it as _content_resume, j as repoLabel, jt as _template, k as icon_base_default, kt as _set_serialize_reason, l as icon_chevron_right_default, lt as _escape, n as findIconBtn, ot as _el, pt as _for_of, r as findInput, s as icon_search_default, st as _el_read_error, t as icon_arrow_down_default, u as icon_back_default, v as diffTreeOpen, vt as _if, wt as _scope_with_id, x as setDiffScope, xt as _resume_branch, yt as _peek_scope_id } from "./
|
|
1
|
+
import { $ as _attr_style, At as _subscribe, Ct as _scope_reason, D as toast_default, Dt as _serialize_guard, Et as _sep, G as _attr_class, H as tone, I as iconBtnLg, J as _attr_input_value, K as _attr_details_or_dialog_open, L as iconBtnRow, O as icon_xmark_default, Ot as _serialize_if, Q as _attr_select_value, R as iconBtnXs, Rt as writeScope, St as _scope_id, Tt as _script, W as _attr, X as _attr_option_value, _ as diffScope, a as fuzzy, b as setDiffPos, bt as _resume, c as icon_arrow_up_default, ct as _el_resume, d as icon_refresh_default, dt as _existing_scope, g as diffPos, gt as _html, h as diffFilter, i as icon_sidebar_default, it as _content_resume, j as repoLabel, jt as _template, k as icon_base_default, kt as _set_serialize_reason, l as icon_chevron_right_default, lt as _escape, n as findIconBtn, ot as _el, pt as _for_of, r as findInput, s as icon_search_default, st as _el_read_error, t as icon_arrow_down_default, u as icon_back_default, v as diffTreeOpen, vt as _if, wt as _scope_with_id, x as setDiffScope, xt as _resume_branch, yt as _peek_scope_id } from "./_Boofe5nI.js";
|
|
2
2
|
//#region src/client/router.ts
|
|
3
3
|
function urlFor(r) {
|
|
4
4
|
if (r.view === "settings") return "/settings";
|
|
@@ -2792,9 +2792,9 @@ var diff_file_sheet_default = _template("g", (input) => {
|
|
|
2792
2792
|
_if(() => {
|
|
2793
2793
|
if (open) {
|
|
2794
2794
|
const $scope1_id = _scope_id();
|
|
2795
|
-
_html(`<div${_attr_class("
|
|
2795
|
+
_html(`<div${_attr_class("_hd")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_he")} role=dialog aria-label="Jump to file"><div${_attr_class("_hf")}><strong${_attr_class("_hc")}>Files</strong><span${_attr_class("_hg")}>${_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, "_hb"])} title=Close aria-label=Close>`);
|
|
2796
2796
|
icon_xmark_default({ size: 16 });
|
|
2797
|
-
_html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("
|
|
2797
|
+
_html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_ho")}>`);
|
|
2798
2798
|
_set_serialize_reason(2);
|
|
2799
2799
|
const $childScope = _peek_scope_id();
|
|
2800
2800
|
file_filter_default({
|
|
@@ -2803,28 +2803,28 @@ var diff_file_sheet_default = _template("g", (input) => {
|
|
|
2803
2803
|
filter = _new_filter;
|
|
2804
2804
|
}, "g1", $scope1_id)
|
|
2805
2805
|
});
|
|
2806
|
-
_html(`</div><div${_attr_class("
|
|
2806
|
+
_html(`</div><div${_attr_class("_hh")}>`);
|
|
2807
2807
|
_for_of(groups, (group) => {
|
|
2808
2808
|
const $scope2_id = _scope_id();
|
|
2809
|
-
_html(`<div${_attr_class("
|
|
2809
|
+
_html(`<div${_attr_class("_hi")}><div${_attr_class("_hj")}>${_escape(group.repo)}${_el_resume($scope2_id, "c", $sg__input_files)}</div>`);
|
|
2810
2810
|
_for_of(group.dirs, ({ dir, files }) => {
|
|
2811
2811
|
const $scope3_id = _scope_id();
|
|
2812
|
-
_html(`<div${_attr_class("
|
|
2812
|
+
_html(`<div${_attr_class("_hk")}>`);
|
|
2813
2813
|
_if(() => {
|
|
2814
2814
|
if (dir) {
|
|
2815
2815
|
const $scope5_id = _scope_id();
|
|
2816
|
-
_html(`<div${_attr_class("
|
|
2816
|
+
_html(`<div${_attr_class("_hm")}${_attr("title", dir)}><bdi>${_escape(dir)}${_el_resume($scope5_id, "b", $sg__input_files)}/</bdi></div>${_el_resume($scope5_id, "a", $sg__input_files)}`);
|
|
2817
2817
|
$si__input_files && writeScope($scope5_id, { _: _scope_with_id($scope3_id) });
|
|
2818
2818
|
return 0;
|
|
2819
2819
|
}
|
|
2820
2820
|
}, $scope3_id, "b", $sg__input_files, $sg__input_files, $sg__input_files, 0, 1);
|
|
2821
2821
|
_for_of(files, ({ file, name }) => {
|
|
2822
2822
|
const $scope4_id = _scope_id();
|
|
2823
|
-
_html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["
|
|
2823
|
+
_html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_hl", "_w"])}><span${_attr_class("_hs")}${_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("_hn")}><bdi>${_escape(name)}${_el_resume($scope4_id, "e", $sg__input_files)}</bdi></span>`);
|
|
2824
2824
|
_if(() => {
|
|
2825
2825
|
if (newKeys.has(file.key)) {
|
|
2826
2826
|
const $scope6_id = _scope_id();
|
|
2827
|
-
_html(`<span${_attr_class(["_y", "
|
|
2827
|
+
_html(`<span${_attr_class(["_y", "_hq"])} title="Changed since your last visit"></span>`);
|
|
2828
2828
|
_serialize_if($scope0_reason, 1) && writeScope($scope6_id, {});
|
|
2829
2829
|
return 0;
|
|
2830
2830
|
}
|
|
@@ -2834,7 +2834,7 @@ var diff_file_sheet_default = _template("g", (input) => {
|
|
|
2834
2834
|
const $scope7_id = _scope_id();
|
|
2835
2835
|
icon_comment_default({
|
|
2836
2836
|
size: 12,
|
|
2837
|
-
class: "
|
|
2837
|
+
class: "_hr"
|
|
2838
2838
|
});
|
|
2839
2839
|
_serialize_if($scope0_reason, 0) && writeScope($scope7_id, {});
|
|
2840
2840
|
return 0;
|
|
@@ -2859,7 +2859,7 @@ var diff_file_sheet_default = _template("g", (input) => {
|
|
|
2859
2859
|
_if(() => {
|
|
2860
2860
|
if (!input.files.length) {
|
|
2861
2861
|
const $scope8_id = _scope_id();
|
|
2862
|
-
_html(`<p${_attr_class("
|
|
2862
|
+
_html(`<p${_attr_class("_hp")}>No files match.</p>`);
|
|
2863
2863
|
$si__input_files_length && writeScope($scope8_id, {});
|
|
2864
2864
|
return 0;
|
|
2865
2865
|
}
|
|
@@ -3559,12 +3559,12 @@ var diff_view_default = _template("m", (input) => {
|
|
|
3559
3559
|
_if(() => {
|
|
3560
3560
|
if (repos && !allFiles.length) {
|
|
3561
3561
|
const $scope11_id = _scope_id();
|
|
3562
|
-
_html(`<p${_attr_class("
|
|
3562
|
+
_html(`<p${_attr_class("_bA")}>${repoList.some((r) => r.unborn) ? "No commits yet." : scope === "dirty" ? "Nothing uncommitted." : repoList.some((r) => r.pr) ? "No file changes on these PRs." : "No changes vs base."}${_el_resume($scope11_id, "b")}</p>`);
|
|
3563
3563
|
writeScope($scope11_id, {});
|
|
3564
3564
|
return 0;
|
|
3565
3565
|
} else if (repos && !shownFiles.length && !findState.hit) {
|
|
3566
3566
|
const $scope8_id = _scope_id();
|
|
3567
|
-
_html(`<p${_attr_class("
|
|
3567
|
+
_html(`<p${_attr_class("_bA")}>${findState.query.trim() ? "No matches in review." : onlyNew && !fileFilter ? "Nothing changed since your last visit." : `No files match "${_escape(`${fileFilter}`)}".`}${_el_resume($scope8_id, "b")}</p>`);
|
|
3568
3568
|
writeScope($scope8_id, {});
|
|
3569
3569
|
return 1;
|
|
3570
3570
|
}
|