codehost 0.20.2 → 0.20.4
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/CHANGELOG.md +14 -0
- package/package.json +1 -1
- package/src/web/discovery.tsx +24 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [0.20.4](https://github.com/snomiao/codehost/compare/v0.20.3...v0.20.4) (2026-06-12)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **web:** a root card with many checkouts spans the full grid row so its links actually flow into columns ([21d65ff](https://github.com/snomiao/codehost/commit/21d65ff18a8e266a32b6e314f0de03d26cc97c4c))
|
|
7
|
+
|
|
8
|
+
## [0.20.3](https://github.com/snomiao/codehost/compare/v0.20.2...v0.20.3) (2026-06-12)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **web:** stop wasting wide screens — workspace cards and checkout links flow into grid columns ([3e4b41c](https://github.com/snomiao/codehost/commit/3e4b41c70f111aeff015ba1e50ae687e98d9d5eb))
|
|
14
|
+
|
|
1
15
|
## [0.20.2](https://github.com/snomiao/codehost/compare/v0.20.1...v0.20.2) (2026-06-11)
|
|
2
16
|
|
|
3
17
|
|
package/package.json
CHANGED
package/src/web/discovery.tsx
CHANGED
|
@@ -862,6 +862,9 @@ export function Discovery() {
|
|
|
862
862
|
</header>
|
|
863
863
|
|
|
864
864
|
<main style={styles.main}>
|
|
865
|
+
{/* Inputs stay at a readable measure; the workspace grid below uses
|
|
866
|
+
the full width. */}
|
|
867
|
+
<div style={styles.controls}>
|
|
865
868
|
{resolving && (
|
|
866
869
|
<p style={{ color: "#dcb67a", marginBottom: 12 }}>
|
|
867
870
|
Looking for <code style={styles.code}>{resolving}</code> in your rooms…{" "}
|
|
@@ -963,6 +966,7 @@ export function Discovery() {
|
|
|
963
966
|
{ghError && <p style={styles.tokenError}>{ghError}</p>}
|
|
964
967
|
</>
|
|
965
968
|
)}
|
|
969
|
+
</div>
|
|
966
970
|
|
|
967
971
|
<div style={styles.listHead}>
|
|
968
972
|
<h2 style={styles.h2}>Workspaces</h2>
|
|
@@ -1040,8 +1044,11 @@ export function Discovery() {
|
|
|
1040
1044
|
<ul style={styles.list}>
|
|
1041
1045
|
{g.items.map(({ server: s, room, name, tags }) => {
|
|
1042
1046
|
const isActive = s.peerId === activePeerId;
|
|
1047
|
+
// A root daemon listing many checkouts gets the whole row,
|
|
1048
|
+
// so its links can flow into columns.
|
|
1049
|
+
const wide = (s.meta?.workspaces?.length ?? 0) > 3;
|
|
1043
1050
|
return (
|
|
1044
|
-
<li key={s.peerId} style={styles.card}>
|
|
1051
|
+
<li key={s.peerId} style={{ ...styles.card, ...(wide ? { gridColumn: "1 / -1" } : {}) }}>
|
|
1045
1052
|
<div style={styles.cardMain}>
|
|
1046
1053
|
<div style={styles.cardName}>{name}</div>
|
|
1047
1054
|
<div style={styles.tagRow}>
|
|
@@ -1106,7 +1113,11 @@ const styles: Record<string, React.CSSProperties> = {
|
|
|
1106
1113
|
brand: { fontFamily: "monospace", fontWeight: 700, color: "#fff" },
|
|
1107
1114
|
dim: { color: "#888", fontSize: 12 },
|
|
1108
1115
|
status: { fontSize: 12 },
|
|
1109
|
-
|
|
1116
|
+
// Wide cap + per-host card GRID below: a 4K monitor gets several columns of
|
|
1117
|
+
// workspaces instead of one skinny 760px strip. Inputs keep a readable
|
|
1118
|
+
// measure via `controls`.
|
|
1119
|
+
main: { flex: 1, overflow: "auto", padding: "20px 24px", maxWidth: 1560, width: "100%", margin: "0 auto", boxSizing: "border-box" },
|
|
1120
|
+
controls: { maxWidth: 760 },
|
|
1110
1121
|
tokenForm: { display: "flex", alignItems: "center", gap: 8, marginBottom: 8 },
|
|
1111
1122
|
tokenHint: { margin: "0 0 20px", fontSize: 12, color: "#888" },
|
|
1112
1123
|
tokenError: { margin: "0 0 20px", fontSize: 12, color: "#f48771" },
|
|
@@ -1138,13 +1149,22 @@ const styles: Record<string, React.CSSProperties> = {
|
|
|
1138
1149
|
border: "1px solid #3d3d3d", background: "transparent", color: "#9aa4af", cursor: "pointer",
|
|
1139
1150
|
},
|
|
1140
1151
|
idLine: { fontFamily: "monospace", fontSize: 11, color: "#666", marginTop: 6 },
|
|
1141
|
-
|
|
1152
|
+
// Workspace links flow into columns on wide screens (a busy root daemon can
|
|
1153
|
+
// advertise 50+ checkouts — a single column wasted the whole viewport).
|
|
1154
|
+
wsRow: {
|
|
1155
|
+
display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(280px, 1fr))",
|
|
1156
|
+
gap: "2px 14px", marginTop: 8,
|
|
1157
|
+
},
|
|
1142
1158
|
wsLink: {
|
|
1143
1159
|
fontFamily: "monospace", fontSize: 12, padding: "2px 0", border: "none", background: "transparent",
|
|
1144
1160
|
color: "#75beff", cursor: "pointer", textAlign: "left",
|
|
1145
1161
|
},
|
|
1146
1162
|
code: { background: "#252525", padding: "2px 6px", borderRadius: 4, fontFamily: "monospace", fontSize: 12 },
|
|
1147
|
-
list: {
|
|
1163
|
+
list: {
|
|
1164
|
+
listStyle: "none", margin: "0 0 14px", padding: 0,
|
|
1165
|
+
display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(360px, 1fr))", gap: 8,
|
|
1166
|
+
alignItems: "start",
|
|
1167
|
+
},
|
|
1148
1168
|
hostHead: { display: "flex", alignItems: "baseline", gap: 10, margin: "0 0 8px" },
|
|
1149
1169
|
hostName: { fontSize: 13, fontWeight: 600, color: "#dcdcaa", fontFamily: "monospace" },
|
|
1150
1170
|
agentRow: { display: "flex", flexWrap: "wrap", gap: 6, margin: "0 0 8px" },
|