@swimmingliu/autovpn 1.6.9 → 1.8.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/README.md +5 -0
- package/dist/backend/node-backend.js +7 -22
- package/dist/jobs/commands.js +38 -7
- package/dist/jobs/read.js +9 -22
- package/dist/pipeline/availability.js +38 -36
- package/dist/pipeline/country-codes.js +12 -0
- package/dist/pipeline/geoip.js +232 -0
- package/dist/pipeline/network-retry.js +54 -0
- package/dist/pipeline/orchestrator.js +1027 -844
- package/dist/pipeline/postprocess.js +2 -2
- package/dist/pipeline/proxy-runtime.js +130 -28
- package/dist/pipeline/run-store.js +654 -0
- package/dist/pipeline/speedtest.js +44 -66
- package/dist/pipeline/streaming-coordinator.js +154 -0
- package/dist/web/renderer/app.js +275 -52
- package/dist/web/renderer/assets/fonts/AutoVPNVisualTest-NotoSansSC.woff2 +0 -0
- package/dist/web/renderer/assets/fonts/OFL.txt +92 -0
- package/dist/web/renderer/assets/fonts/README.md +5 -0
- package/dist/web/renderer/i18n.js +1 -1
- package/dist/web/renderer/index.html +1 -1
- package/dist/web/renderer/state.js +8 -0
- package/dist/web/renderer/styles.css +410 -19
- package/dist/web/renderer/views.js +96 -51
- package/package.json +1 -1
|
@@ -21,6 +21,31 @@
|
|
|
21
21
|
--terminal-soft: #1b2436;
|
|
22
22
|
--terminal-text: #d6e2ff;
|
|
23
23
|
--shadow: 0 20px 44px rgba(29, 39, 71, 0.08);
|
|
24
|
+
--z-sticky: 30;
|
|
25
|
+
--z-bottom-nav: 40;
|
|
26
|
+
--z-backdrop: 50;
|
|
27
|
+
--z-sheet: 60;
|
|
28
|
+
--z-toast: 70;
|
|
29
|
+
--safe-area-top: env(safe-area-inset-top, 0px);
|
|
30
|
+
--safe-area-right: env(safe-area-inset-right, 0px);
|
|
31
|
+
--safe-area-bottom: env(safe-area-inset-bottom, 0px);
|
|
32
|
+
--safe-area-left: env(safe-area-inset-left, 0px);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@font-face {
|
|
36
|
+
font-family: "AutoVPN Visual Test";
|
|
37
|
+
src: url("./assets/fonts/AutoVPNVisualTest-NotoSansSC.woff2") format("woff2");
|
|
38
|
+
font-style: normal;
|
|
39
|
+
font-weight: 100 900;
|
|
40
|
+
font-display: block;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
html[data-visual-test] body,
|
|
44
|
+
html[data-visual-test] input,
|
|
45
|
+
html[data-visual-test] button,
|
|
46
|
+
html[data-visual-test] select,
|
|
47
|
+
html[data-visual-test] textarea {
|
|
48
|
+
font-family: "AutoVPN Visual Test", sans-serif;
|
|
24
49
|
}
|
|
25
50
|
|
|
26
51
|
* {
|
|
@@ -804,12 +829,33 @@ body[data-page="logs"] .page-content {
|
|
|
804
829
|
}
|
|
805
830
|
|
|
806
831
|
.run-control-panel {
|
|
832
|
+
display: block;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
.mobile-run-bar {
|
|
807
836
|
display: grid;
|
|
808
|
-
grid-template-columns: repeat(
|
|
809
|
-
|
|
837
|
+
grid-template-columns: repeat(2, minmax(160px, 1fr));
|
|
838
|
+
grid-column: 1 / -1;
|
|
839
|
+
align-self: start;
|
|
810
840
|
gap: 14px;
|
|
811
841
|
}
|
|
812
842
|
|
|
843
|
+
#runsWorkspace {
|
|
844
|
+
display: block;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
#runsWorkspace > .runs-grid {
|
|
848
|
+
margin-top: 16px;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
.run-secondary-controls > summary {
|
|
852
|
+
display: none;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
.run-secondary-controls:not([open]) > :not(summary) {
|
|
856
|
+
display: block;
|
|
857
|
+
}
|
|
858
|
+
|
|
813
859
|
.retry-control-card {
|
|
814
860
|
grid-column: 1 / -1;
|
|
815
861
|
display: grid;
|
|
@@ -880,7 +926,6 @@ body[data-page="logs"] .page-content {
|
|
|
880
926
|
|
|
881
927
|
.run-options,
|
|
882
928
|
.format-row {
|
|
883
|
-
grid-column: 1 / -1;
|
|
884
929
|
display: flex;
|
|
885
930
|
flex-wrap: wrap;
|
|
886
931
|
gap: 8px;
|
|
@@ -890,7 +935,7 @@ body[data-page="logs"] .page-content {
|
|
|
890
935
|
position: fixed;
|
|
891
936
|
top: 58px;
|
|
892
937
|
right: 28px;
|
|
893
|
-
z-index:
|
|
938
|
+
z-index: var(--z-toast);
|
|
894
939
|
display: grid;
|
|
895
940
|
gap: 8px;
|
|
896
941
|
pointer-events: none;
|
|
@@ -969,6 +1014,25 @@ body[data-page="logs"] .page-content {
|
|
|
969
1014
|
margin-top: 16px;
|
|
970
1015
|
}
|
|
971
1016
|
|
|
1017
|
+
.log-utility-actions,
|
|
1018
|
+
.log-destructive-actions {
|
|
1019
|
+
display: flex;
|
|
1020
|
+
gap: 8px;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
.log-destructive-actions {
|
|
1024
|
+
margin-left: 8px;
|
|
1025
|
+
padding-left: 12px;
|
|
1026
|
+
border-left: 1px solid rgba(255, 135, 148, 0.45);
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
.log-jump-latest,
|
|
1030
|
+
.log-undo-clear {
|
|
1031
|
+
justify-self: end;
|
|
1032
|
+
margin: 8px 0;
|
|
1033
|
+
min-height: 44px;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
972
1036
|
.compact-result-table {
|
|
973
1037
|
min-width: 560px;
|
|
974
1038
|
}
|
|
@@ -1020,7 +1084,7 @@ body[data-page="logs"] #logsWorkspace > .panel {
|
|
|
1020
1084
|
|
|
1021
1085
|
body[data-page="logs"] #logsWorkspace > .panel {
|
|
1022
1086
|
display: grid;
|
|
1023
|
-
grid-template-rows: auto minmax(0, 1fr);
|
|
1087
|
+
grid-template-rows: auto auto auto minmax(0, 1fr);
|
|
1024
1088
|
}
|
|
1025
1089
|
|
|
1026
1090
|
body[data-page="logs"] #logCenterTable {
|
|
@@ -1338,7 +1402,7 @@ body[data-page="logs"] #logCenterTable {
|
|
|
1338
1402
|
align-items: center;
|
|
1339
1403
|
justify-content: center;
|
|
1340
1404
|
padding: 24px;
|
|
1341
|
-
z-index:
|
|
1405
|
+
z-index: var(--z-backdrop);
|
|
1342
1406
|
}
|
|
1343
1407
|
|
|
1344
1408
|
.settings-drawer-shell[data-open="false"] {
|
|
@@ -1350,6 +1414,9 @@ body[data-page="logs"] #logCenterTable {
|
|
|
1350
1414
|
}
|
|
1351
1415
|
|
|
1352
1416
|
.settings-drawer-backdrop {
|
|
1417
|
+
position: absolute;
|
|
1418
|
+
inset: 0;
|
|
1419
|
+
border: 0;
|
|
1353
1420
|
background: rgba(17, 24, 38, 0.22);
|
|
1354
1421
|
opacity: 0;
|
|
1355
1422
|
transition: opacity 0.18s ease;
|
|
@@ -1364,7 +1431,7 @@ body[data-page="logs"] #logCenterTable {
|
|
|
1364
1431
|
max-width: 1320px;
|
|
1365
1432
|
max-height: min(88vh, 960px);
|
|
1366
1433
|
padding: 26px 26px 24px;
|
|
1367
|
-
background:
|
|
1434
|
+
background: #fff;
|
|
1368
1435
|
border: 1px solid var(--border);
|
|
1369
1436
|
border-radius: 26px;
|
|
1370
1437
|
box-shadow: 0 16px 48px rgba(29, 39, 71, 0.16);
|
|
@@ -1375,6 +1442,7 @@ body[data-page="logs"] #logCenterTable {
|
|
|
1375
1442
|
opacity: 0;
|
|
1376
1443
|
transition: transform 0.2s ease, opacity 0.2s ease;
|
|
1377
1444
|
position: relative;
|
|
1445
|
+
z-index: var(--z-sheet);
|
|
1378
1446
|
}
|
|
1379
1447
|
|
|
1380
1448
|
.settings-drawer-shell[data-section="availability_targets"] .settings-drawer-panel {
|
|
@@ -1395,6 +1463,10 @@ body[data-page="logs"] #logCenterTable {
|
|
|
1395
1463
|
cursor: grab;
|
|
1396
1464
|
}
|
|
1397
1465
|
|
|
1466
|
+
.settings-drawer-close {
|
|
1467
|
+
flex: 0 0 auto;
|
|
1468
|
+
}
|
|
1469
|
+
|
|
1398
1470
|
.settings-drawer-head:active {
|
|
1399
1471
|
cursor: grabbing;
|
|
1400
1472
|
}
|
|
@@ -1729,6 +1801,19 @@ body[data-page="logs"] #logCenterTable {
|
|
|
1729
1801
|
font-weight: 650;
|
|
1730
1802
|
}
|
|
1731
1803
|
|
|
1804
|
+
.qr-status {
|
|
1805
|
+
display: grid;
|
|
1806
|
+
justify-items: center;
|
|
1807
|
+
gap: 10px;
|
|
1808
|
+
max-width: 260px;
|
|
1809
|
+
text-align: center;
|
|
1810
|
+
color: var(--text-soft);
|
|
1811
|
+
}
|
|
1812
|
+
|
|
1813
|
+
.node-card-field {
|
|
1814
|
+
display: none;
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1732
1817
|
.qr-grid {
|
|
1733
1818
|
width: 162px;
|
|
1734
1819
|
display: grid;
|
|
@@ -1984,6 +2069,17 @@ body[data-page="logs"] #logCenterTable {
|
|
|
1984
2069
|
padding-bottom: 4px;
|
|
1985
2070
|
}
|
|
1986
2071
|
|
|
2072
|
+
.nav-copy {
|
|
2073
|
+
display: block;
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
.nav-item {
|
|
2077
|
+
justify-content: flex-start;
|
|
2078
|
+
min-width: 112px;
|
|
2079
|
+
min-height: 44px;
|
|
2080
|
+
padding-inline: 10px;
|
|
2081
|
+
}
|
|
2082
|
+
|
|
1987
2083
|
.main-shell {
|
|
1988
2084
|
min-height: calc(100vh - 132px);
|
|
1989
2085
|
}
|
|
@@ -2022,6 +2118,50 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2022
2118
|
}
|
|
2023
2119
|
|
|
2024
2120
|
@media (max-width: 720px) {
|
|
2121
|
+
|
|
2122
|
+
.subscriptions-primary-panel .action-grid .btn {
|
|
2123
|
+
min-height: 48px;
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2126
|
+
.decoded-node-table thead {
|
|
2127
|
+
display: none;
|
|
2128
|
+
}
|
|
2129
|
+
|
|
2130
|
+
.decoded-node-table,
|
|
2131
|
+
.decoded-node-table tbody,
|
|
2132
|
+
.decoded-node-table tr,
|
|
2133
|
+
.decoded-node-table td {
|
|
2134
|
+
display: block;
|
|
2135
|
+
width: 100%;
|
|
2136
|
+
}
|
|
2137
|
+
|
|
2138
|
+
.decoded-node-table {
|
|
2139
|
+
min-width: 0;
|
|
2140
|
+
}
|
|
2141
|
+
|
|
2142
|
+
.decoded-node-table tr {
|
|
2143
|
+
display: grid;
|
|
2144
|
+
gap: 10px;
|
|
2145
|
+
padding: 14px;
|
|
2146
|
+
border: 1px solid var(--border);
|
|
2147
|
+
border-radius: 16px;
|
|
2148
|
+
overflow-wrap: anywhere;
|
|
2149
|
+
}
|
|
2150
|
+
|
|
2151
|
+
.decoded-node-table td {
|
|
2152
|
+
display: grid;
|
|
2153
|
+
grid-template-columns: minmax(72px, 0.35fr) minmax(0, 1fr);
|
|
2154
|
+
gap: 10px;
|
|
2155
|
+
padding: 0;
|
|
2156
|
+
border: 0;
|
|
2157
|
+
}
|
|
2158
|
+
|
|
2159
|
+
.node-card-field {
|
|
2160
|
+
display: inline;
|
|
2161
|
+
color: var(--text-soft);
|
|
2162
|
+
font-family: inherit;
|
|
2163
|
+
font-weight: 700;
|
|
2164
|
+
}
|
|
2025
2165
|
html,
|
|
2026
2166
|
body,
|
|
2027
2167
|
.app-frame,
|
|
@@ -2029,11 +2169,153 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2029
2169
|
min-height: 100%;
|
|
2030
2170
|
}
|
|
2031
2171
|
|
|
2172
|
+
.app-frame {
|
|
2173
|
+
height: auto;
|
|
2174
|
+
}
|
|
2175
|
+
|
|
2176
|
+
.app-content-shell {
|
|
2177
|
+
overflow: visible;
|
|
2178
|
+
}
|
|
2179
|
+
|
|
2180
|
+
html {
|
|
2181
|
+
scroll-padding-bottom: calc(86px + var(--safe-area-bottom));
|
|
2182
|
+
}
|
|
2183
|
+
|
|
2184
|
+
#settingsWorkspace button,
|
|
2185
|
+
#settingsWorkspace input,
|
|
2186
|
+
#settingsWorkspace select {
|
|
2187
|
+
scroll-margin-bottom: calc(86px + var(--safe-area-bottom));
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
#settingsWorkspace {
|
|
2191
|
+
padding-bottom: calc(86px + var(--safe-area-bottom));
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2032
2194
|
body {
|
|
2033
2195
|
overflow: auto;
|
|
2034
2196
|
background: linear-gradient(180deg, #fbfcff 0%, var(--bg) 100%);
|
|
2035
2197
|
}
|
|
2036
2198
|
|
|
2199
|
+
.settings-drawer-shell {
|
|
2200
|
+
padding: 0;
|
|
2201
|
+
}
|
|
2202
|
+
|
|
2203
|
+
.settings-drawer-panel,
|
|
2204
|
+
.settings-drawer-shell[data-section="availability_targets"] .settings-drawer-panel {
|
|
2205
|
+
width: 100vw;
|
|
2206
|
+
max-width: none;
|
|
2207
|
+
height: 100vh;
|
|
2208
|
+
height: 100dvh;
|
|
2209
|
+
max-height: none;
|
|
2210
|
+
padding: 0;
|
|
2211
|
+
gap: 0;
|
|
2212
|
+
border: 0;
|
|
2213
|
+
border-radius: 0;
|
|
2214
|
+
transform: none !important;
|
|
2215
|
+
overflow: hidden;
|
|
2216
|
+
background: #fff;
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2219
|
+
.settings-drawer-head {
|
|
2220
|
+
padding: calc(14px + var(--safe-area-top)) 16px 14px;
|
|
2221
|
+
border-bottom: 1px solid var(--border);
|
|
2222
|
+
cursor: default;
|
|
2223
|
+
}
|
|
2224
|
+
|
|
2225
|
+
.settings-drawer-head h3 {
|
|
2226
|
+
font-size: 22px;
|
|
2227
|
+
}
|
|
2228
|
+
|
|
2229
|
+
.settings-drawer-body {
|
|
2230
|
+
max-height: none;
|
|
2231
|
+
padding: 16px;
|
|
2232
|
+
overflow-y: auto;
|
|
2233
|
+
overflow-x: hidden;
|
|
2234
|
+
overscroll-behavior: contain;
|
|
2235
|
+
}
|
|
2236
|
+
|
|
2237
|
+
.settings-drawer-actions {
|
|
2238
|
+
position: sticky;
|
|
2239
|
+
bottom: 0;
|
|
2240
|
+
padding: 12px 16px calc(12px + var(--safe-area-bottom));
|
|
2241
|
+
background: rgba(255, 255, 255, 0.98);
|
|
2242
|
+
border-top: 1px solid var(--border);
|
|
2243
|
+
}
|
|
2244
|
+
|
|
2245
|
+
.settings-drawer-actions .btn {
|
|
2246
|
+
flex: 1;
|
|
2247
|
+
min-height: 48px;
|
|
2248
|
+
}
|
|
2249
|
+
|
|
2250
|
+
.settings-source-table,
|
|
2251
|
+
.availability-target-table {
|
|
2252
|
+
min-width: 0;
|
|
2253
|
+
}
|
|
2254
|
+
|
|
2255
|
+
.settings-source-table thead,
|
|
2256
|
+
.settings-source-table colgroup,
|
|
2257
|
+
.availability-target-table thead,
|
|
2258
|
+
.availability-target-table colgroup {
|
|
2259
|
+
display: none;
|
|
2260
|
+
}
|
|
2261
|
+
|
|
2262
|
+
.settings-source-table tbody,
|
|
2263
|
+
.settings-source-table tr,
|
|
2264
|
+
.settings-source-table td,
|
|
2265
|
+
.availability-target-table tbody,
|
|
2266
|
+
.availability-target-table tr,
|
|
2267
|
+
.availability-target-table td {
|
|
2268
|
+
display: block;
|
|
2269
|
+
width: 100%;
|
|
2270
|
+
}
|
|
2271
|
+
|
|
2272
|
+
.settings-source-table tr,
|
|
2273
|
+
.availability-target-table tr {
|
|
2274
|
+
margin-bottom: 14px;
|
|
2275
|
+
padding: 12px;
|
|
2276
|
+
border: 1px solid var(--border);
|
|
2277
|
+
border-radius: 14px;
|
|
2278
|
+
}
|
|
2279
|
+
|
|
2280
|
+
.settings-source-table td,
|
|
2281
|
+
.availability-target-table td {
|
|
2282
|
+
padding: 6px 0;
|
|
2283
|
+
border: 0;
|
|
2284
|
+
}
|
|
2285
|
+
|
|
2286
|
+
.settings-source-table td::before,
|
|
2287
|
+
.availability-target-table td::before {
|
|
2288
|
+
content: attr(data-field-label);
|
|
2289
|
+
display: block;
|
|
2290
|
+
margin-bottom: 5px;
|
|
2291
|
+
color: var(--text-soft);
|
|
2292
|
+
font-size: 12px;
|
|
2293
|
+
font-weight: 700;
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2296
|
+
.settings-source-table input,
|
|
2297
|
+
.settings-source-table textarea,
|
|
2298
|
+
.availability-target-table input,
|
|
2299
|
+
.availability-target-table textarea,
|
|
2300
|
+
.availability-target-table button {
|
|
2301
|
+
width: 100%;
|
|
2302
|
+
max-width: 100%;
|
|
2303
|
+
min-height: 44px;
|
|
2304
|
+
}
|
|
2305
|
+
|
|
2306
|
+
.settings-source-table input,
|
|
2307
|
+
.availability-target-table input {
|
|
2308
|
+
min-height: 44px;
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
.settings-source-table input[type="checkbox"],
|
|
2312
|
+
.availability-target-table input[type="checkbox"] {
|
|
2313
|
+
width: 44px;
|
|
2314
|
+
min-width: 44px;
|
|
2315
|
+
height: 44px;
|
|
2316
|
+
min-height: 44px;
|
|
2317
|
+
}
|
|
2318
|
+
|
|
2037
2319
|
.app-frame {
|
|
2038
2320
|
display: block;
|
|
2039
2321
|
height: auto;
|
|
@@ -2042,7 +2324,7 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2042
2324
|
.workspace-shell {
|
|
2043
2325
|
display: block;
|
|
2044
2326
|
min-height: 100vh;
|
|
2045
|
-
padding-bottom: calc(76px +
|
|
2327
|
+
padding-bottom: calc(76px + var(--safe-area-bottom));
|
|
2046
2328
|
}
|
|
2047
2329
|
|
|
2048
2330
|
.sidebar {
|
|
@@ -2050,9 +2332,9 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2050
2332
|
left: 0;
|
|
2051
2333
|
right: 0;
|
|
2052
2334
|
bottom: 0;
|
|
2053
|
-
z-index:
|
|
2335
|
+
z-index: var(--z-bottom-nav);
|
|
2054
2336
|
display: block;
|
|
2055
|
-
padding: 8px 10px calc(8px +
|
|
2337
|
+
padding: 8px 10px calc(8px + var(--safe-area-bottom));
|
|
2056
2338
|
border: 1px solid rgba(207, 215, 239, 0.82);
|
|
2057
2339
|
border-width: 1px 0 0;
|
|
2058
2340
|
background: rgba(255, 255, 255, 0.96);
|
|
@@ -2068,11 +2350,13 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2068
2350
|
display: grid;
|
|
2069
2351
|
grid-template-columns: repeat(6, minmax(0, 1fr));
|
|
2070
2352
|
gap: 4px;
|
|
2071
|
-
overflow:
|
|
2353
|
+
overflow-x: auto;
|
|
2354
|
+
overscroll-behavior-x: contain;
|
|
2072
2355
|
padding: 0;
|
|
2073
2356
|
}
|
|
2074
2357
|
|
|
2075
2358
|
.nav-item {
|
|
2359
|
+
min-width: 0;
|
|
2076
2360
|
min-height: 58px;
|
|
2077
2361
|
display: grid;
|
|
2078
2362
|
justify-items: center;
|
|
@@ -2103,13 +2387,13 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2103
2387
|
.main-shell {
|
|
2104
2388
|
display: block;
|
|
2105
2389
|
min-height: auto;
|
|
2106
|
-
padding: 12px 12px 18px;
|
|
2390
|
+
padding: max(12px, var(--safe-area-top)) max(12px, var(--safe-area-right)) 18px max(12px, var(--safe-area-left));
|
|
2107
2391
|
}
|
|
2108
2392
|
|
|
2109
2393
|
.topbar {
|
|
2110
2394
|
position: sticky;
|
|
2111
2395
|
top: 0;
|
|
2112
|
-
z-index:
|
|
2396
|
+
z-index: var(--z-sticky);
|
|
2113
2397
|
grid-template-columns: 1fr;
|
|
2114
2398
|
gap: 12px;
|
|
2115
2399
|
padding: 14px;
|
|
@@ -2141,7 +2425,7 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2141
2425
|
.topbar-actions .btn {
|
|
2142
2426
|
min-width: 0;
|
|
2143
2427
|
padding: 0 8px;
|
|
2144
|
-
min-height:
|
|
2428
|
+
min-height: 48px;
|
|
2145
2429
|
border-radius: 12px;
|
|
2146
2430
|
font-size: 13px;
|
|
2147
2431
|
}
|
|
@@ -2234,20 +2518,64 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2234
2518
|
}
|
|
2235
2519
|
|
|
2236
2520
|
.run-control-panel {
|
|
2237
|
-
position:
|
|
2238
|
-
|
|
2239
|
-
|
|
2521
|
+
position: static;
|
|
2522
|
+
}
|
|
2523
|
+
|
|
2524
|
+
.mobile-run-bar {
|
|
2525
|
+
position: fixed;
|
|
2526
|
+
inset: auto max(12px, var(--safe-area-right)) calc(76px + var(--safe-area-bottom)) max(12px, var(--safe-area-left));
|
|
2527
|
+
z-index: var(--z-sticky);
|
|
2240
2528
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2241
2529
|
gap: 10px;
|
|
2530
|
+
padding: 10px;
|
|
2242
2531
|
background: rgba(255, 255, 255, 0.98);
|
|
2243
2532
|
backdrop-filter: blur(16px);
|
|
2533
|
+
border: 1px solid var(--border);
|
|
2534
|
+
border-radius: 16px;
|
|
2535
|
+
}
|
|
2536
|
+
|
|
2537
|
+
#runsCurrentStage {
|
|
2538
|
+
scroll-margin-bottom: 170px;
|
|
2244
2539
|
}
|
|
2245
2540
|
|
|
2541
|
+
#runsWorkspace {
|
|
2542
|
+
padding-bottom: 170px;
|
|
2543
|
+
}
|
|
2544
|
+
|
|
2545
|
+
.run-secondary-controls > summary {
|
|
2546
|
+
display: list-item;
|
|
2547
|
+
min-height: 44px;
|
|
2548
|
+
margin-top: 12px;
|
|
2549
|
+
padding: 12px;
|
|
2550
|
+
cursor: pointer;
|
|
2551
|
+
font-weight: 750;
|
|
2552
|
+
}
|
|
2553
|
+
|
|
2554
|
+
.run-secondary-controls:not([open]) > :not(summary) {
|
|
2555
|
+
display: none;
|
|
2556
|
+
}
|
|
2557
|
+
|
|
2558
|
+
.timeline { display: grid; grid-template-columns: 1fr; }
|
|
2559
|
+
|
|
2246
2560
|
.run-big {
|
|
2247
2561
|
min-height: 50px;
|
|
2248
2562
|
border-radius: 14px;
|
|
2249
2563
|
}
|
|
2250
2564
|
|
|
2565
|
+
.btn.small,
|
|
2566
|
+
.retry-field select,
|
|
2567
|
+
.retry-stage-button,
|
|
2568
|
+
.checkbox-chip,
|
|
2569
|
+
.subtab {
|
|
2570
|
+
min-width: 44px;
|
|
2571
|
+
min-height: 44px;
|
|
2572
|
+
}
|
|
2573
|
+
|
|
2574
|
+
.icon-btn {
|
|
2575
|
+
width: 44px;
|
|
2576
|
+
height: 44px;
|
|
2577
|
+
}
|
|
2578
|
+
|
|
2251
2579
|
.retry-control-card {
|
|
2252
2580
|
grid-template-columns: 1fr;
|
|
2253
2581
|
gap: 10px;
|
|
@@ -2274,6 +2602,21 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2274
2602
|
width: 100%;
|
|
2275
2603
|
}
|
|
2276
2604
|
|
|
2605
|
+
.log-utility-actions,
|
|
2606
|
+
.log-destructive-actions {
|
|
2607
|
+
display: grid;
|
|
2608
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2609
|
+
margin-left: 0;
|
|
2610
|
+
padding-left: 0;
|
|
2611
|
+
border-left: 0;
|
|
2612
|
+
}
|
|
2613
|
+
|
|
2614
|
+
.log-destructive-actions {
|
|
2615
|
+
grid-template-columns: 1fr;
|
|
2616
|
+
padding-top: 8px;
|
|
2617
|
+
border-top: 1px solid rgba(255, 135, 148, 0.45);
|
|
2618
|
+
}
|
|
2619
|
+
|
|
2277
2620
|
.terminal-output,
|
|
2278
2621
|
.log-stream {
|
|
2279
2622
|
max-height: 58vh;
|
|
@@ -2302,13 +2645,14 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2302
2645
|
width: 100vw;
|
|
2303
2646
|
max-width: none;
|
|
2304
2647
|
height: 100vh;
|
|
2648
|
+
height: 100dvh;
|
|
2305
2649
|
max-height: none;
|
|
2306
2650
|
border-radius: 0;
|
|
2307
2651
|
transform: none !important;
|
|
2308
2652
|
}
|
|
2309
2653
|
|
|
2310
2654
|
.settings-drawer-body {
|
|
2311
|
-
max-height:
|
|
2655
|
+
max-height: none;
|
|
2312
2656
|
overflow: auto;
|
|
2313
2657
|
}
|
|
2314
2658
|
|
|
@@ -2319,7 +2663,54 @@ body[data-page="logs"] #logCenterTable {
|
|
|
2319
2663
|
.toast-root {
|
|
2320
2664
|
left: 12px;
|
|
2321
2665
|
right: 12px;
|
|
2322
|
-
bottom: calc(86px +
|
|
2666
|
+
bottom: calc(86px + var(--safe-area-bottom));
|
|
2667
|
+
}
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2670
|
+
@media (max-width: 320px) {
|
|
2671
|
+
.sidebar-nav {
|
|
2672
|
+
grid-template-columns: none;
|
|
2673
|
+
grid-auto-flow: column;
|
|
2674
|
+
grid-auto-columns: 56px;
|
|
2675
|
+
}
|
|
2676
|
+
}
|
|
2677
|
+
|
|
2678
|
+
@media (orientation: landscape) and (max-height: 500px) {
|
|
2679
|
+
.btn.small,
|
|
2680
|
+
.subtab {
|
|
2681
|
+
min-width: 44px;
|
|
2682
|
+
min-height: 44px;
|
|
2683
|
+
}
|
|
2684
|
+
.topbar {
|
|
2685
|
+
position: static;
|
|
2686
|
+
}
|
|
2687
|
+
|
|
2688
|
+
.topbar-heading p,
|
|
2689
|
+
.page-header-card {
|
|
2690
|
+
display: none;
|
|
2691
|
+
}
|
|
2692
|
+
|
|
2693
|
+
.terminal-output,
|
|
2694
|
+
.log-stream,
|
|
2695
|
+
body[data-page="logs"] #logCenterTable {
|
|
2696
|
+
min-height: 180px;
|
|
2697
|
+
height: 46dvh;
|
|
2698
|
+
max-height: 46dvh;
|
|
2699
|
+
}
|
|
2700
|
+
}
|
|
2701
|
+
|
|
2702
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2703
|
+
*,
|
|
2704
|
+
*::before,
|
|
2705
|
+
*::after {
|
|
2706
|
+
scroll-behavior: auto !important;
|
|
2707
|
+
transition-duration: 0.01ms !important;
|
|
2708
|
+
animation-duration: 0.01ms !important;
|
|
2709
|
+
animation-iteration-count: 1 !important;
|
|
2710
|
+
}
|
|
2711
|
+
|
|
2712
|
+
.settings-drawer-panel {
|
|
2713
|
+
transform: none !important;
|
|
2323
2714
|
}
|
|
2324
2715
|
}
|
|
2325
2716
|
|