conductor-remote 1.62.2 → 1.63.0
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/index.html
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<title>Conductor Remote</title>
|
|
14
14
|
<!-- Runs before the module bundle so it can catch a stale shell that fails to boot. -->
|
|
15
15
|
<script src="/self-heal.js"></script>
|
|
16
|
-
<script type="module" crossorigin src="/assets/index-
|
|
16
|
+
<script type="module" crossorigin src="/assets/index-CTzJRyLU.js"></script>
|
|
17
17
|
<link rel="stylesheet" crossorigin href="/assets/index-BhxPTIyU.css">
|
|
18
18
|
<link rel="manifest" href="/manifest.webmanifest"></head>
|
|
19
19
|
<body>
|
package/dist/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let l={};const t=e=>i(e,o),c={module:{uri:o},exports:l,require:t};s[o]=Promise.all(n.map(e=>c[e]||t(e))).then(e=>(r(...e),l))}}define(["./workbox-9c191d2f"],function(e){"use strict";importScripts("/push-sw.js"),self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),e.clientsClaim(),e.precacheAndRoute([{url:"self-heal.js",revision:"49bd63adb25a09341f8d2610e8bd3c76"},{url:"push-sw.js",revision:"e1e682e2e5e88fa03b7808ae9db8e098"},{url:"index.html",revision:"
|
|
1
|
+
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let l={};const t=e=>i(e,o),c={module:{uri:o},exports:l,require:t};s[o]=Promise.all(n.map(e=>c[e]||t(e))).then(e=>(r(...e),l))}}define(["./workbox-9c191d2f"],function(e){"use strict";importScripts("/push-sw.js"),self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),e.clientsClaim(),e.precacheAndRoute([{url:"self-heal.js",revision:"49bd63adb25a09341f8d2610e8bd3c76"},{url:"push-sw.js",revision:"e1e682e2e5e88fa03b7808ae9db8e098"},{url:"index.html",revision:"c895548b5df74ddd23be27040cbf8552"},{url:"assets/workbox-window.prod.es5-BBnX5xw4.js",revision:null},{url:"assets/index-CTzJRyLU.js",revision:null},{url:"assets/index-BhxPTIyU.css",revision:null},{url:"apple-touch-icon.png",revision:"2b9301416b880d45d4bb655f2600d1f2"},{url:"icon-192.png",revision:"c5e01ac58768627e18ee7b8b6a9239ef"},{url:"icon-512.png",revision:"a40638c55e310312457a621c9a0002c8"},{url:"icon-maskable-512.png",revision:"a40638c55e310312457a621c9a0002c8"},{url:"icon.svg",revision:"c1aee186821798733dd477e69a0ef243"},{url:"manifest.webmanifest",revision:"cf88fbc5755108a7fe0616fa160a8a15"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api\//]}))});
|
package/dist-node/src/reads.js
CHANGED
|
@@ -132,15 +132,29 @@ export class Reads {
|
|
|
132
132
|
return this.listWorkspaces().find(w => w.id === id) ?? null;
|
|
133
133
|
}
|
|
134
134
|
/**
|
|
135
|
-
* The repos Conductor knows about,
|
|
135
|
+
* The repos Conductor knows about, most recently used first. `root_path` is
|
|
136
136
|
* what a `conductor://…&path=` deep link needs to pick the target repo — with
|
|
137
137
|
* no path Conductor silently falls back to the *first* repo.
|
|
138
|
+
*
|
|
139
|
+
* "Used" is the newest workspace in the repo, never `repos.updated_at`: that
|
|
140
|
+
* column moves when the repo's *settings* change, so the repo worked in every
|
|
141
|
+
* day here reads as last touched six weeks ago. Repos with no workspace at all
|
|
142
|
+
* keep Conductor's own sidebar order, behind every repo that has one.
|
|
143
|
+
*
|
|
144
|
+
* The `replace()`s are load-bearing: `created_at` is always `YYYY-MM-DD HH:MM:SS`
|
|
145
|
+
* while `updated_at` is written both that way (306 rows) and as ISO with a `Z`
|
|
146
|
+
* (1,819), and 'T' sorts after ' ', so an untouched string compare can rank an
|
|
147
|
+
* earlier ISO row above a later plain one on the same day.
|
|
138
148
|
*/
|
|
139
149
|
listRepos() {
|
|
140
|
-
const rows = this.db.query(`SELECT name, root_path, default_branch, icon, remote_url
|
|
141
|
-
FROM repos
|
|
142
|
-
|
|
143
|
-
|
|
150
|
+
const rows = this.db.query(`SELECT r.name, r.root_path, r.default_branch, r.icon, r.remote_url
|
|
151
|
+
FROM repos r
|
|
152
|
+
LEFT JOIN workspaces w ON w.repository_id = r.id
|
|
153
|
+
WHERE COALESCE(r.hidden, 0) = 0
|
|
154
|
+
GROUP BY r.id
|
|
155
|
+
ORDER BY (MAX(MAX(REPLACE(REPLACE(w.updated_at, 'T', ' '), 'Z', ''), w.created_at)) IS NULL),
|
|
156
|
+
MAX(MAX(REPLACE(REPLACE(w.updated_at, 'T', ' '), 'Z', ''), w.created_at)) DESC,
|
|
157
|
+
(r.display_order IS NULL), r.display_order, r.name`);
|
|
144
158
|
return rows.map(r => ({
|
|
145
159
|
name: r.name,
|
|
146
160
|
root_path: r.root_path,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conductor-remote",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.63.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"packageManager": "yarn@4.15.0",
|
|
6
6
|
"description": "Phone control panel for local Conductor agents. Reads ride SQLite + git; prompts ride Conductor's own dispatch path.",
|