viveworker 0.7.0-beta.2 → 0.7.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 +10 -0
- package/package.json +2 -1
- package/scripts/share-cli.mjs +553 -3
- package/scripts/viveworker-bridge.mjs +1147 -148
- package/viveworker.env.example +4 -0
- package/web/app.css +126 -4
- package/web/app.js +207 -57
- package/web/i18n.js +42 -8
- package/web/index.html +84 -0
- package/web/sw.js +2 -2
package/viveworker.env.example
CHANGED
|
@@ -101,3 +101,7 @@ APP_SERVER_NOTIFY_COMPLETIONS=0
|
|
|
101
101
|
# hazBase wallet / x402 backend
|
|
102
102
|
HAZBASE_API_URL=https://api.hazbase.com
|
|
103
103
|
HAZBASE_DEVICE_LABEL=viveworker
|
|
104
|
+
# Require paired-device approval before `viveworker share pay` signs x402
|
|
105
|
+
# payments. Set to 0 only for trusted smoke tests / CI.
|
|
106
|
+
VIVEWORKER_PAYMENT_APPROVALS=1
|
|
107
|
+
VIVEWORKER_PAYMENT_APPROVAL_TIMEOUT_SEC=600
|
package/web/app.css
CHANGED
|
@@ -33,10 +33,16 @@
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
html {
|
|
36
|
+
width: 100%;
|
|
37
|
+
max-width: 100%;
|
|
38
|
+
overflow-x: hidden;
|
|
36
39
|
background: var(--bg);
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
body {
|
|
43
|
+
width: 100%;
|
|
44
|
+
max-width: 100%;
|
|
45
|
+
min-width: 0;
|
|
40
46
|
margin: 0;
|
|
41
47
|
min-height: 100vh;
|
|
42
48
|
overflow-x: hidden;
|
|
@@ -63,8 +69,17 @@ code {
|
|
|
63
69
|
background: rgba(156, 181, 197, 0.12);
|
|
64
70
|
}
|
|
65
71
|
|
|
72
|
+
#app {
|
|
73
|
+
width: 100%;
|
|
74
|
+
max-width: 100%;
|
|
75
|
+
min-width: 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
66
78
|
.app-shell {
|
|
79
|
+
width: 100%;
|
|
80
|
+
max-width: 100%;
|
|
67
81
|
min-height: 100vh;
|
|
82
|
+
overflow-x: clip;
|
|
68
83
|
padding:
|
|
69
84
|
max(1rem, env(safe-area-inset-top))
|
|
70
85
|
1rem
|
|
@@ -389,6 +404,8 @@ code {
|
|
|
389
404
|
}
|
|
390
405
|
|
|
391
406
|
.app-main {
|
|
407
|
+
width: 100%;
|
|
408
|
+
max-width: 100%;
|
|
392
409
|
display: grid;
|
|
393
410
|
gap: 1rem;
|
|
394
411
|
min-width: 0;
|
|
@@ -403,6 +420,16 @@ code {
|
|
|
403
420
|
.choice-stack {
|
|
404
421
|
display: grid;
|
|
405
422
|
gap: 1rem;
|
|
423
|
+
min-width: 0;
|
|
424
|
+
max-width: 100%;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
.timeline-shell,
|
|
428
|
+
.timeline-list,
|
|
429
|
+
.timeline-thread-filter,
|
|
430
|
+
.timeline-thread-filter__row {
|
|
431
|
+
min-width: 0;
|
|
432
|
+
max-width: 100%;
|
|
406
433
|
}
|
|
407
434
|
|
|
408
435
|
.detail-shell,
|
|
@@ -892,12 +919,37 @@ code {
|
|
|
892
919
|
gap: 0.18rem;
|
|
893
920
|
}
|
|
894
921
|
|
|
922
|
+
.settings-row__title-line {
|
|
923
|
+
min-width: 0;
|
|
924
|
+
display: inline-flex;
|
|
925
|
+
align-items: center;
|
|
926
|
+
gap: 0.42rem;
|
|
927
|
+
}
|
|
928
|
+
|
|
895
929
|
.settings-row__title,
|
|
896
930
|
.settings-info-row__label {
|
|
931
|
+
min-width: 0;
|
|
897
932
|
font-size: 1rem;
|
|
898
933
|
line-height: 1.3;
|
|
899
934
|
}
|
|
900
935
|
|
|
936
|
+
.settings-row__badge {
|
|
937
|
+
flex: 0 0 auto;
|
|
938
|
+
display: inline-flex;
|
|
939
|
+
align-items: center;
|
|
940
|
+
min-height: 1.18rem;
|
|
941
|
+
padding: 0.08rem 0.42rem 0.1rem;
|
|
942
|
+
border-radius: 999px;
|
|
943
|
+
border: 1px solid rgba(240, 180, 40, 0.26);
|
|
944
|
+
background: rgba(240, 180, 40, 0.11);
|
|
945
|
+
color: rgba(255, 220, 140, 0.96);
|
|
946
|
+
font-size: 0.66rem;
|
|
947
|
+
font-weight: 800;
|
|
948
|
+
letter-spacing: 0.04em;
|
|
949
|
+
line-height: 1;
|
|
950
|
+
text-transform: uppercase;
|
|
951
|
+
}
|
|
952
|
+
|
|
901
953
|
.settings-row__subtitle {
|
|
902
954
|
color: var(--muted);
|
|
903
955
|
font-size: 0.84rem;
|
|
@@ -1117,6 +1169,11 @@ code {
|
|
|
1117
1169
|
background: linear-gradient(180deg, rgba(28, 40, 49, 0.98), rgba(20, 27, 34, 0.96));
|
|
1118
1170
|
}
|
|
1119
1171
|
|
|
1172
|
+
.wallet-flow-banner--session-expired {
|
|
1173
|
+
border-color: rgba(255, 190, 92, 0.28);
|
|
1174
|
+
background: linear-gradient(180deg, rgba(49, 39, 28, 0.98), rgba(24, 28, 30, 0.96));
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1120
1177
|
.wallet-flow-banner__eyebrow {
|
|
1121
1178
|
margin: 0;
|
|
1122
1179
|
font-size: 0.72rem;
|
|
@@ -1232,6 +1289,42 @@ code {
|
|
|
1232
1289
|
background: rgba(53, 26, 29, 0.96);
|
|
1233
1290
|
}
|
|
1234
1291
|
|
|
1292
|
+
.wallet-beta-notice {
|
|
1293
|
+
border-color: rgba(240, 180, 40, 0.18);
|
|
1294
|
+
background: rgba(42, 34, 22, 0.78);
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
.wallet-beta-notice p {
|
|
1298
|
+
margin: 0;
|
|
1299
|
+
color: rgba(255, 220, 140, 0.9);
|
|
1300
|
+
font-size: 0.84rem;
|
|
1301
|
+
line-height: 1.5;
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
.settings-update-notice {
|
|
1305
|
+
margin-top: 0.85rem;
|
|
1306
|
+
border-color: rgba(121, 196, 255, 0.22);
|
|
1307
|
+
background: linear-gradient(180deg, rgba(28, 40, 49, 0.98), rgba(20, 27, 34, 0.96));
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
.settings-update-notice__title {
|
|
1311
|
+
margin: 0;
|
|
1312
|
+
font-weight: 700;
|
|
1313
|
+
color: var(--text);
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
.settings-update-notice__command {
|
|
1317
|
+
display: block;
|
|
1318
|
+
width: fit-content;
|
|
1319
|
+
max-width: 100%;
|
|
1320
|
+
margin-top: 0.35rem;
|
|
1321
|
+
padding: 0.32rem 0.5rem;
|
|
1322
|
+
border-radius: 10px;
|
|
1323
|
+
background: rgba(3, 10, 16, 0.38);
|
|
1324
|
+
color: rgba(233, 247, 255, 0.92);
|
|
1325
|
+
overflow-wrap: anywhere;
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1235
1328
|
/* Brand attribution at the very bottom of the wallet settings page.
|
|
1236
1329
|
Sits below the advanced-actions panel as plain small text so it reads
|
|
1237
1330
|
as a credit, not another card. The link inherits the muted color and
|
|
@@ -1292,7 +1385,8 @@ code {
|
|
|
1292
1385
|
border-color: rgba(112, 202, 157, 0.16);
|
|
1293
1386
|
}
|
|
1294
1387
|
|
|
1295
|
-
.wallet-step-card--locked
|
|
1388
|
+
.wallet-step-card--locked,
|
|
1389
|
+
.wallet-step-card--comingSoon {
|
|
1296
1390
|
opacity: 0.78;
|
|
1297
1391
|
}
|
|
1298
1392
|
|
|
@@ -1379,7 +1473,8 @@ code {
|
|
|
1379
1473
|
color: rgba(205, 220, 231, 0.6);
|
|
1380
1474
|
}
|
|
1381
1475
|
|
|
1382
|
-
.wallet-step-card__status--optional
|
|
1476
|
+
.wallet-step-card__status--optional,
|
|
1477
|
+
.wallet-step-card__status--comingSoon {
|
|
1383
1478
|
border-color: rgba(240, 180, 40, 0.22);
|
|
1384
1479
|
background: rgba(240, 180, 40, 0.12);
|
|
1385
1480
|
color: rgba(255, 220, 140, 0.96);
|
|
@@ -1706,12 +1801,17 @@ code {
|
|
|
1706
1801
|
}
|
|
1707
1802
|
|
|
1708
1803
|
.card-list {
|
|
1804
|
+
width: 100%;
|
|
1805
|
+
max-width: 100%;
|
|
1806
|
+
min-width: 0;
|
|
1709
1807
|
display: grid;
|
|
1710
1808
|
gap: 0.85rem;
|
|
1711
1809
|
}
|
|
1712
1810
|
|
|
1713
1811
|
.item-card {
|
|
1714
1812
|
width: 100%;
|
|
1813
|
+
min-width: 0;
|
|
1814
|
+
overflow: hidden;
|
|
1715
1815
|
display: grid;
|
|
1716
1816
|
gap: 0.8rem;
|
|
1717
1817
|
padding: 0.95rem;
|
|
@@ -1725,6 +1825,7 @@ code {
|
|
|
1725
1825
|
}
|
|
1726
1826
|
|
|
1727
1827
|
.item-card__header {
|
|
1828
|
+
min-width: 0;
|
|
1728
1829
|
display: flex;
|
|
1729
1830
|
justify-content: space-between;
|
|
1730
1831
|
gap: 0.8rem;
|
|
@@ -1732,11 +1833,12 @@ code {
|
|
|
1732
1833
|
}
|
|
1733
1834
|
|
|
1734
1835
|
.item-card__header-right {
|
|
1836
|
+
flex: 0 0 auto;
|
|
1735
1837
|
display: inline-flex;
|
|
1736
1838
|
align-items: center;
|
|
1737
1839
|
justify-content: flex-end;
|
|
1738
1840
|
gap: 0.55rem;
|
|
1739
|
-
min-width:
|
|
1841
|
+
min-width: 0;
|
|
1740
1842
|
}
|
|
1741
1843
|
|
|
1742
1844
|
.item-card__header--completion-readonly {
|
|
@@ -1746,18 +1848,21 @@ code {
|
|
|
1746
1848
|
|
|
1747
1849
|
.item-card__meta,
|
|
1748
1850
|
.detail-pills {
|
|
1851
|
+
min-width: 0;
|
|
1749
1852
|
display: flex;
|
|
1750
1853
|
flex-wrap: wrap;
|
|
1751
1854
|
gap: 0.55rem;
|
|
1752
1855
|
}
|
|
1753
1856
|
|
|
1754
1857
|
.item-card__content {
|
|
1858
|
+
min-width: 0;
|
|
1755
1859
|
display: grid;
|
|
1756
1860
|
gap: 0.38rem;
|
|
1757
1861
|
}
|
|
1758
1862
|
|
|
1759
1863
|
.item-card__intent,
|
|
1760
1864
|
.detail-intent {
|
|
1865
|
+
min-width: 0;
|
|
1761
1866
|
margin: 0;
|
|
1762
1867
|
display: inline-flex;
|
|
1763
1868
|
align-items: center;
|
|
@@ -1765,6 +1870,7 @@ code {
|
|
|
1765
1870
|
color: rgba(236, 248, 255, 0.86);
|
|
1766
1871
|
font-size: 0.84rem;
|
|
1767
1872
|
line-height: 1.35;
|
|
1873
|
+
overflow-wrap: anywhere;
|
|
1768
1874
|
}
|
|
1769
1875
|
|
|
1770
1876
|
.item-card__intent {
|
|
@@ -1781,6 +1887,7 @@ code {
|
|
|
1781
1887
|
}
|
|
1782
1888
|
|
|
1783
1889
|
.item-card__title {
|
|
1890
|
+
min-width: 0;
|
|
1784
1891
|
margin: 0;
|
|
1785
1892
|
font-size: 1.08rem;
|
|
1786
1893
|
line-height: 1.35;
|
|
@@ -1788,6 +1895,7 @@ code {
|
|
|
1788
1895
|
}
|
|
1789
1896
|
|
|
1790
1897
|
.item-card__summary {
|
|
1898
|
+
min-width: 0;
|
|
1791
1899
|
margin: 0;
|
|
1792
1900
|
color: var(--muted);
|
|
1793
1901
|
line-height: 1.45;
|
|
@@ -1799,6 +1907,7 @@ code {
|
|
|
1799
1907
|
}
|
|
1800
1908
|
|
|
1801
1909
|
.item-card__thread {
|
|
1910
|
+
min-width: 0;
|
|
1802
1911
|
margin: 0;
|
|
1803
1912
|
color: var(--muted);
|
|
1804
1913
|
font-size: 0.82rem;
|
|
@@ -2072,6 +2181,8 @@ code {
|
|
|
2072
2181
|
|
|
2073
2182
|
.timeline-entry {
|
|
2074
2183
|
width: 100%;
|
|
2184
|
+
min-width: 0;
|
|
2185
|
+
overflow: hidden;
|
|
2075
2186
|
display: grid;
|
|
2076
2187
|
gap: 0.55rem;
|
|
2077
2188
|
padding: 0.92rem;
|
|
@@ -2259,6 +2370,7 @@ code {
|
|
|
2259
2370
|
}
|
|
2260
2371
|
|
|
2261
2372
|
.timeline-entry__meta {
|
|
2373
|
+
min-width: 0;
|
|
2262
2374
|
display: grid;
|
|
2263
2375
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
2264
2376
|
gap: 0.75rem;
|
|
@@ -2276,6 +2388,7 @@ code {
|
|
|
2276
2388
|
min-width: 0;
|
|
2277
2389
|
display: inline-flex;
|
|
2278
2390
|
align-items: center;
|
|
2391
|
+
flex-wrap: wrap;
|
|
2279
2392
|
gap: 0.42rem;
|
|
2280
2393
|
color: #edf8ff;
|
|
2281
2394
|
font-size: 0.8rem;
|
|
@@ -2309,6 +2422,7 @@ code {
|
|
|
2309
2422
|
}
|
|
2310
2423
|
|
|
2311
2424
|
.timeline-entry__body {
|
|
2425
|
+
min-width: 0;
|
|
2312
2426
|
display: grid;
|
|
2313
2427
|
gap: 0.34rem;
|
|
2314
2428
|
}
|
|
@@ -2379,6 +2493,7 @@ code {
|
|
|
2379
2493
|
|
|
2380
2494
|
.timeline-entry__title,
|
|
2381
2495
|
.timeline-entry__summary {
|
|
2496
|
+
min-width: 0;
|
|
2382
2497
|
margin: 0;
|
|
2383
2498
|
overflow-wrap: anywhere;
|
|
2384
2499
|
}
|
|
@@ -4692,7 +4807,9 @@ button[aria-busy="true"]:not(.is-loading) {
|
|
|
4692
4807
|
}
|
|
4693
4808
|
|
|
4694
4809
|
.provider-filter {
|
|
4695
|
-
|
|
4810
|
+
width: 100%;
|
|
4811
|
+
min-width: 0;
|
|
4812
|
+
display: flex;
|
|
4696
4813
|
align-items: center;
|
|
4697
4814
|
gap: 0.25rem;
|
|
4698
4815
|
padding: 0.2rem;
|
|
@@ -4703,8 +4820,13 @@ button[aria-busy="true"]:not(.is-loading) {
|
|
|
4703
4820
|
max-width: 100%;
|
|
4704
4821
|
overflow-x: auto;
|
|
4705
4822
|
-webkit-overflow-scrolling: touch;
|
|
4823
|
+
scrollbar-width: none;
|
|
4824
|
+
}
|
|
4825
|
+
.provider-filter::-webkit-scrollbar {
|
|
4826
|
+
display: none;
|
|
4706
4827
|
}
|
|
4707
4828
|
.provider-filter__button {
|
|
4829
|
+
min-width: 0;
|
|
4708
4830
|
appearance: none;
|
|
4709
4831
|
background: transparent;
|
|
4710
4832
|
color: var(--text-muted, #9aa6b2);
|