termcast 1.3.53 → 1.4.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/action-utils.d.ts.map +1 -1
- package/dist/action-utils.js +17 -132
- package/dist/action-utils.js.map +1 -1
- package/dist/apis/cache.d.ts +8 -30
- package/dist/apis/cache.d.ts.map +1 -1
- package/dist/apis/cache.js +9 -271
- package/dist/apis/cache.js.map +1 -1
- package/dist/apis/clipboard.d.ts +4 -2
- package/dist/apis/clipboard.d.ts.map +1 -1
- package/dist/apis/clipboard.js +18 -31
- package/dist/apis/clipboard.js.map +1 -1
- package/dist/apis/environment.d.ts.map +1 -1
- package/dist/apis/environment.js +14 -49
- package/dist/apis/environment.js.map +1 -1
- package/dist/apis/localstorage.d.ts +7 -12
- package/dist/apis/localstorage.d.ts.map +1 -1
- package/dist/apis/localstorage.js +7 -184
- package/dist/apis/localstorage.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +46 -20
- package/dist/app.js.map +1 -1
- package/dist/cli.js +7 -6
- package/dist/cli.js.map +1 -1
- package/dist/components/actions.d.ts.map +1 -1
- package/dist/components/actions.js +13 -2
- package/dist/components/actions.js.map +1 -1
- package/dist/components/candle-chart.d.ts +110 -0
- package/dist/components/candle-chart.d.ts.map +1 -0
- package/dist/components/candle-chart.js +295 -0
- package/dist/components/candle-chart.js.map +1 -0
- package/dist/components/extension-preferences.d.ts.map +1 -1
- package/dist/components/extension-preferences.js +7 -8
- package/dist/components/extension-preferences.js.map +1 -1
- package/dist/components/form/file-autocomplete.js +2 -2
- package/dist/components/form/file-autocomplete.js.map +1 -1
- package/dist/components/list.d.ts.map +1 -1
- package/dist/components/list.js +242 -14
- package/dist/components/list.js.map +1 -1
- package/dist/components/table.d.ts +2 -0
- package/dist/components/table.d.ts.map +1 -1
- package/dist/components/table.js +41 -4
- package/dist/components/table.js.map +1 -1
- package/dist/e2e-node.d.ts.map +1 -1
- package/dist/e2e-node.js +5 -4
- package/dist/e2e-node.js.map +1 -1
- package/dist/examples/simple-candle-chart-data.d.ts +9064 -0
- package/dist/examples/simple-candle-chart-data.d.ts.map +1 -0
- package/dist/examples/simple-candle-chart-data.js +12683 -0
- package/dist/examples/simple-candle-chart-data.js.map +1 -0
- package/dist/examples/simple-candle-chart.d.ts +2 -0
- package/dist/examples/simple-candle-chart.d.ts.map +1 -0
- package/dist/examples/simple-candle-chart.js +125 -0
- package/dist/examples/simple-candle-chart.js.map +1 -0
- package/dist/extensions/dev.d.ts.map +1 -1
- package/dist/extensions/dev.js +5 -2
- package/dist/extensions/dev.js.map +1 -1
- package/dist/globals.d.ts.map +1 -1
- package/dist/globals.js +2 -1
- package/dist/globals.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/error-handler.d.ts.map +1 -1
- package/dist/internal/error-handler.js +21 -19
- package/dist/internal/error-handler.js.map +1 -1
- package/dist/internal/providers.d.ts.map +1 -1
- package/dist/internal/providers.js +41 -1
- package/dist/internal/providers.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +31 -29
- package/dist/logger.js.map +1 -1
- package/dist/platform/browser/cache.d.ts +41 -0
- package/dist/platform/browser/cache.d.ts.map +1 -0
- package/dist/platform/browser/cache.js +262 -0
- package/dist/platform/browser/cache.js.map +1 -0
- package/dist/platform/browser/localstorage.d.ts +20 -0
- package/dist/platform/browser/localstorage.d.ts.map +1 -0
- package/dist/platform/browser/localstorage.js +102 -0
- package/dist/platform/browser/localstorage.js.map +1 -0
- package/dist/platform/browser/runtime.d.ts +51 -0
- package/dist/platform/browser/runtime.d.ts.map +1 -0
- package/dist/platform/browser/runtime.js +164 -0
- package/dist/platform/browser/runtime.js.map +1 -0
- package/dist/platform/bun/sqlite.d.ts +17 -0
- package/dist/platform/bun/sqlite.d.ts.map +1 -0
- package/dist/platform/bun/sqlite.js +6 -0
- package/dist/platform/bun/sqlite.js.map +1 -0
- package/dist/platform/node/cache.d.ts +35 -0
- package/dist/platform/node/cache.d.ts.map +1 -0
- package/dist/platform/node/cache.js +269 -0
- package/dist/platform/node/cache.js.map +1 -0
- package/dist/platform/node/localstorage.d.ts +17 -0
- package/dist/platform/node/localstorage.d.ts.map +1 -0
- package/dist/platform/node/localstorage.js +186 -0
- package/dist/platform/node/localstorage.js.map +1 -0
- package/dist/platform/node/runtime.d.ts +52 -0
- package/dist/platform/node/runtime.d.ts.map +1 -0
- package/dist/platform/node/runtime.js +230 -0
- package/dist/platform/node/runtime.js.map +1 -0
- package/dist/platform/node/sqlite.d.ts +27 -0
- package/dist/platform/node/sqlite.d.ts.map +1 -0
- package/dist/platform/node/sqlite.js +21 -0
- package/dist/platform/node/sqlite.js.map +1 -0
- package/dist/state.d.ts +5 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +6 -28
- package/dist/state.js.map +1 -1
- package/dist/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js +17 -22
- package/dist/utils/file-system.js.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +42 -47
- package/dist/utils.js.map +1 -1
- package/dist/vim-mode.d.ts +40 -0
- package/dist/vim-mode.d.ts.map +1 -0
- package/dist/vim-mode.js +135 -0
- package/dist/vim-mode.js.map +1 -0
- package/fonts/Inconsolata.otf +0 -0
- package/fonts/SIL Open Font License.txt +41 -0
- package/package.json +60 -8
- package/src/action-utils.tsx +27 -124
- package/src/apis/cache.test.ts +1 -1
- package/src/apis/cache.tsx +9 -373
- package/src/apis/clipboard.tsx +29 -38
- package/src/apis/environment.tsx +25 -52
- package/src/apis/localstorage.tsx +8 -214
- package/src/app.tsx +51 -20
- package/src/cli.tsx +14 -15
- package/src/compile.vitest.tsx +2 -2
- package/src/components/actions.tsx +19 -1
- package/src/components/candle-chart.tsx +410 -0
- package/src/components/extension-preferences.tsx +7 -8
- package/src/components/form/file-autocomplete.tsx +2 -2
- package/src/components/list.tsx +279 -14
- package/src/components/table.tsx +46 -4
- package/src/e2e-node.tsx +7 -7
- package/src/examples/action-shortcut.vitest.tsx +2 -2
- package/src/examples/actions-context.vitest.tsx +1 -1
- package/src/examples/bar-graph-weekly.vitest.tsx +10 -36
- package/src/examples/detail-metadata-showcase.vitest.tsx +36 -36
- package/src/examples/form-basic.vitest.tsx +21 -17
- package/src/examples/github.vitest.tsx +4 -4
- package/src/examples/graph-bar-chart.vitest.tsx +13 -11
- package/src/examples/graph-polymarket.vitest.tsx +2 -2
- package/src/examples/graph-row.vitest.tsx +66 -66
- package/src/examples/graph-styles.vitest.tsx +12 -12
- package/src/examples/internal/simple-scrollbox.vitest.tsx +14 -48
- package/src/examples/list-detail-metadata.vitest.tsx +5 -5
- package/src/examples/list-fetch-data.vitest.tsx +3 -3
- package/src/examples/list-item-accessories.vitest.tsx +2 -2
- package/src/examples/list-loading-empty-view.vitest.tsx +1 -1
- package/src/examples/list-no-actions.vitest.tsx +2 -2
- package/src/examples/list-scrollbox.vitest.tsx +5 -5
- package/src/examples/list-spacing-mode.vitest.tsx +3 -3
- package/src/examples/list-with-detail.vitest.tsx +68 -68
- package/src/examples/list-with-dropdown.vitest.tsx +5 -5
- package/src/examples/list-with-sections.vitest.tsx +27 -27
- package/src/examples/simple-candle-chart-data.ts +12683 -0
- package/src/examples/simple-candle-chart.tsx +363 -0
- package/src/examples/simple-candle-chart.vitest.tsx +269 -0
- package/src/examples/simple-detail-markdown.vitest.tsx +8 -8
- package/src/examples/simple-detail-table.vitest.tsx +10 -10
- package/src/examples/simple-graph.vitest.tsx +3 -3
- package/src/examples/simple-grid.vitest.tsx +14 -14
- package/src/examples/simple-heatmap.vitest.tsx +1 -1
- package/src/examples/simple-navigation.vitest.tsx +17 -17
- package/src/examples/simple-progress-bar.vitest.tsx +1 -1
- package/src/examples/simple-table-wrap.vitest.tsx +19 -19
- package/src/examples/store.vitest.tsx +1 -1
- package/src/examples/swift-extension.vitest.tsx +2 -2
- package/src/examples/table-edge-cases.vitest.tsx +18 -18
- package/src/examples/table-flex-grow.vitest.tsx +8 -8
- package/src/examples/toast-action.vitest.tsx +2 -2
- package/src/extensions/dev.tsx +5 -2
- package/src/extensions/dev.vitest.tsx +3 -3
- package/src/globals.ts +2 -1
- package/src/index.tsx +7 -0
- package/src/internal/error-handler.tsx +19 -21
- package/src/internal/providers.tsx +39 -0
- package/src/logger.tsx +38 -41
- package/src/platform/browser/cache.ts +327 -0
- package/src/platform/browser/localstorage.ts +119 -0
- package/src/platform/browser/runtime.ts +209 -0
- package/src/platform/bun/sqlite.ts +19 -0
- package/src/platform/node/cache.ts +372 -0
- package/src/platform/node/localstorage.ts +214 -0
- package/src/platform/node/runtime.ts +264 -0
- package/src/platform/node/sqlite.ts +43 -0
- package/src/state.tsx +17 -28
- package/src/utils/file-system.ts +17 -22
- package/src/utils.test.tsx +1 -1
- package/src/utils.tsx +56 -47
- package/src/vim-mode.tsx +153 -0
- package/src/apis/sqlite.ts +0 -14
|
@@ -48,39 +48,31 @@ test('detail metadata showcase renders markdown and metadata together', async ()
|
|
|
48
48
|
|
|
49
49
|
Project Update: Q1 2024 Review
|
|
50
50
|
|
|
51
|
-
This detail view demonstrates markdown content alongside metadata.
|
|
52
51
|
|
|
52
|
+
This detail view demonstrates markdown content alongside metadata.
|
|
53
53
|
---
|
|
54
|
-
|
|
55
54
|
Summary
|
|
56
55
|
|
|
57
|
-
The project has made significant progress this quarter. Key highlights include:
|
|
58
56
|
|
|
57
|
+
The project has made significant progress this quarter. Key highlights include:
|
|
59
58
|
- Completed the new authentication system
|
|
60
59
|
- Migrated 85% of users to the new platform
|
|
61
60
|
- Reduced API response time by 40%
|
|
62
|
-
|
|
63
|
-
|
|
64
61
|
Technical Details
|
|
65
62
|
|
|
66
|
-
The refactoring effort focused on three main areas:
|
|
67
63
|
|
|
64
|
+
The refactoring effort focused on three main areas:
|
|
68
65
|
1. Database optimization - Indexed frequently queried columns
|
|
69
66
|
2. Caching layer - Added Redis for session management
|
|
70
67
|
3. Code cleanup - Removed deprecated endpoints
|
|
71
|
-
|
|
72
|
-
|
|
73
68
|
Next Steps
|
|
74
69
|
|
|
75
|
-
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
76
70
|
|
|
71
|
+
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
77
72
|
- Finishing the remaining user migrations
|
|
78
73
|
- Implementing the new dashboard
|
|
79
74
|
- Writing integration tests
|
|
80
|
-
|
|
81
|
-
|
|
82
75
|
---
|
|
83
|
-
|
|
84
76
|
Last updated: January 20, 2024
|
|
85
77
|
|
|
86
78
|
Basic Information
|
|
@@ -160,6 +152,14 @@ test('detail metadata showcase renders markdown and metadata together', async ()
|
|
|
160
152
|
|
|
161
153
|
|
|
162
154
|
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
163
|
|
|
164
164
|
"
|
|
165
165
|
`)
|
|
@@ -219,39 +219,31 @@ test('detail metadata renders long values in column layout', async () => {
|
|
|
219
219
|
|
|
220
220
|
Project Update: Q1 2024 Review
|
|
221
221
|
|
|
222
|
-
This detail view demonstrates markdown content alongside metadata.
|
|
223
222
|
|
|
223
|
+
This detail view demonstrates markdown content alongside metadata.
|
|
224
224
|
---
|
|
225
|
-
|
|
226
225
|
Summary
|
|
227
226
|
|
|
228
|
-
The project has made significant progress this quarter. Key highlights include:
|
|
229
227
|
|
|
228
|
+
The project has made significant progress this quarter. Key highlights include:
|
|
230
229
|
- Completed the new authentication system
|
|
231
230
|
- Migrated 85% of users to the new platform
|
|
232
231
|
- Reduced API response time by 40%
|
|
233
|
-
|
|
234
|
-
|
|
235
232
|
Technical Details
|
|
236
233
|
|
|
237
|
-
The refactoring effort focused on three main areas:
|
|
238
234
|
|
|
235
|
+
The refactoring effort focused on three main areas:
|
|
239
236
|
1. Database optimization - Indexed frequently queried columns
|
|
240
237
|
2. Caching layer - Added Redis for session management
|
|
241
238
|
3. Code cleanup - Removed deprecated endpoints
|
|
242
|
-
|
|
243
|
-
|
|
244
239
|
Next Steps
|
|
245
240
|
|
|
246
|
-
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
247
241
|
|
|
242
|
+
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
248
243
|
- Finishing the remaining user migrations
|
|
249
244
|
- Implementing the new dashboard
|
|
250
245
|
- Writing integration tests
|
|
251
|
-
|
|
252
|
-
|
|
253
246
|
---
|
|
254
|
-
|
|
255
247
|
Last updated: January 20, 2024
|
|
256
248
|
|
|
257
249
|
Basic Information
|
|
@@ -331,6 +323,14 @@ test('detail metadata renders long values in column layout', async () => {
|
|
|
331
323
|
|
|
332
324
|
|
|
333
325
|
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
334
|
|
|
335
335
|
"
|
|
336
336
|
`)
|
|
@@ -400,39 +400,31 @@ test('detail metadata renders tag lists with multiple items', async () => {
|
|
|
400
400
|
|
|
401
401
|
Project Update: Q1 2024 Review
|
|
402
402
|
|
|
403
|
-
This detail view demonstrates markdown content alongside metadata.
|
|
404
403
|
|
|
404
|
+
This detail view demonstrates markdown content alongside metadata.
|
|
405
405
|
---
|
|
406
|
-
|
|
407
406
|
Summary
|
|
408
407
|
|
|
409
|
-
The project has made significant progress this quarter. Key highlights include:
|
|
410
408
|
|
|
409
|
+
The project has made significant progress this quarter. Key highlights include:
|
|
411
410
|
- Completed the new authentication system
|
|
412
411
|
- Migrated 85% of users to the new platform
|
|
413
412
|
- Reduced API response time by 40%
|
|
414
|
-
|
|
415
|
-
|
|
416
413
|
Technical Details
|
|
417
414
|
|
|
418
|
-
The refactoring effort focused on three main areas:
|
|
419
415
|
|
|
416
|
+
The refactoring effort focused on three main areas:
|
|
420
417
|
1. Database optimization - Indexed frequently queried columns
|
|
421
418
|
2. Caching layer - Added Redis for session management
|
|
422
419
|
3. Code cleanup - Removed deprecated endpoints
|
|
423
|
-
|
|
424
|
-
|
|
425
420
|
Next Steps
|
|
426
421
|
|
|
427
|
-
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
428
422
|
|
|
423
|
+
We will continue with Phase 2 in the upcoming sprint. The team should prioritize:
|
|
429
424
|
- Finishing the remaining user migrations
|
|
430
425
|
- Implementing the new dashboard
|
|
431
426
|
- Writing integration tests
|
|
432
|
-
|
|
433
|
-
|
|
434
427
|
---
|
|
435
|
-
|
|
436
428
|
Last updated: January 20, 2024
|
|
437
429
|
|
|
438
430
|
Basic Information
|
|
@@ -512,6 +504,14 @@ test('detail metadata renders tag lists with multiple items', async () => {
|
|
|
512
504
|
|
|
513
505
|
|
|
514
506
|
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
|
|
515
515
|
|
|
516
516
|
"
|
|
517
517
|
`)
|
|
@@ -221,7 +221,7 @@ test('form date picker selection with space and enter', async () => {
|
|
|
221
221
|
◇ Date of Birth
|
|
222
222
|
│
|
|
223
223
|
│ ← 2026 →
|
|
224
|
-
│ ←
|
|
224
|
+
│ ← April →
|
|
225
225
|
|
|
226
226
|
|
|
227
227
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -279,7 +279,7 @@ test('form date picker selection with space and enter', async () => {
|
|
|
279
279
|
◇ Date of Birth
|
|
280
280
|
│
|
|
281
281
|
│ ← 2026 →
|
|
282
|
-
│ ←
|
|
282
|
+
│ ← April →
|
|
283
283
|
|
|
284
284
|
|
|
285
285
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -338,7 +338,7 @@ test('form date picker selection with space and enter', async () => {
|
|
|
338
338
|
◇ Date of Birth
|
|
339
339
|
│
|
|
340
340
|
│ ← 2026 →
|
|
341
|
-
│ ←
|
|
341
|
+
│ ← April →
|
|
342
342
|
|
|
343
343
|
|
|
344
344
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -413,7 +413,7 @@ test('form dropdown navigation', async () => {
|
|
|
413
413
|
◇ Date of Birth
|
|
414
414
|
│
|
|
415
415
|
│ ← 2026 →
|
|
416
|
-
│ ←
|
|
416
|
+
│ ← April →
|
|
417
417
|
|
|
418
418
|
|
|
419
419
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -471,7 +471,7 @@ test('form dropdown navigation', async () => {
|
|
|
471
471
|
◇ Date of Birth
|
|
472
472
|
│
|
|
473
473
|
│ ← 2026 →
|
|
474
|
-
│ ←
|
|
474
|
+
│ ← April →
|
|
475
475
|
|
|
476
476
|
|
|
477
477
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -531,7 +531,7 @@ test('form dropdown navigation', async () => {
|
|
|
531
531
|
◇ Date of Birth
|
|
532
532
|
│
|
|
533
533
|
│ ← 2026 →
|
|
534
|
-
│ ←
|
|
534
|
+
│ ← April →
|
|
535
535
|
|
|
536
536
|
|
|
537
537
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -589,7 +589,7 @@ test('form dropdown navigation', async () => {
|
|
|
589
589
|
◇ Date of Birth
|
|
590
590
|
│
|
|
591
591
|
│ ← 2026 →
|
|
592
|
-
│ ←
|
|
592
|
+
│ ← April →
|
|
593
593
|
|
|
594
594
|
|
|
595
595
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -648,17 +648,17 @@ test('form scrolls with mouse wheel', async () => {
|
|
|
648
648
|
|
|
649
649
|
|
|
650
650
|
|
|
651
|
-
│ This demonstrates all available form input types. Use arrow ▀
|
|
652
|
-
│ keys or Tab to navigate between fields.
|
|
653
|
-
│
|
|
654
|
-
◇ Username
|
|
655
651
|
│ Enter your username
|
|
656
|
-
│
|
|
652
|
+
│ ▀
|
|
657
653
|
│ Required field
|
|
658
654
|
│
|
|
659
655
|
◇ Password
|
|
660
656
|
│ Enter secure password
|
|
661
657
|
│
|
|
658
|
+
│ Must be at least 8 characters
|
|
659
|
+
│
|
|
660
|
+
◇ Biography
|
|
661
|
+
│ Tell us about yourself...
|
|
662
662
|
|
|
663
663
|
|
|
664
664
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -676,9 +676,7 @@ test('form scrolls with mouse wheel', async () => {
|
|
|
676
676
|
|
|
677
677
|
|
|
678
678
|
|
|
679
|
-
|
|
680
|
-
│ This demonstrates all available form input types. Use arrow
|
|
681
|
-
│ keys or Tab to navigate between fields.
|
|
679
|
+
│ keys or Tab to navigate between fields. ▄
|
|
682
680
|
│
|
|
683
681
|
◇ Username
|
|
684
682
|
│ Enter your username
|
|
@@ -687,6 +685,8 @@ test('form scrolls with mouse wheel', async () => {
|
|
|
687
685
|
│
|
|
688
686
|
◇ Password
|
|
689
687
|
│ Enter secure password
|
|
688
|
+
│
|
|
689
|
+
│ Must be at least 8 characters
|
|
690
690
|
|
|
691
691
|
|
|
692
692
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -763,7 +763,7 @@ test('arrow down from checkbox to dropdown lands on first item', async () => {
|
|
|
763
763
|
◇ Date of Birth
|
|
764
764
|
│
|
|
765
765
|
│ ← 2026 →
|
|
766
|
-
│ ←
|
|
766
|
+
│ ← April →
|
|
767
767
|
|
|
768
768
|
|
|
769
769
|
ctrl ↵ submit tab navigate ^k actions
|
|
@@ -855,13 +855,17 @@ test('date picker down boundary moves focus to next form field', async () => {
|
|
|
855
855
|
const datePickerFocusedSnapshot = await session.text()
|
|
856
856
|
expect(datePickerFocusedSnapshot).toMatch(/◆\s+Date of Birth/)
|
|
857
857
|
|
|
858
|
-
|
|
858
|
+
// Type day 5: always needs exactly 4 downs to exit the calendar
|
|
859
|
+
// regardless of month length (5→12→19→26→exit works for 28-31 day months).
|
|
860
|
+
// Day 10 is month-dependent: 4 downs in 31-day months, 3 downs in 30-day months.
|
|
861
|
+
await session.type('5')
|
|
859
862
|
await session.press('down')
|
|
860
863
|
|
|
861
864
|
const nonBoundaryDownSnapshot = await session.text()
|
|
862
865
|
expect(nonBoundaryDownSnapshot).toMatch(/◆\s+Date of Birth/)
|
|
863
866
|
expect(nonBoundaryDownSnapshot).not.toMatch(/◆\s+Upload Documents/)
|
|
864
867
|
|
|
868
|
+
await session.press('down')
|
|
865
869
|
await session.press('down')
|
|
866
870
|
await session.press('down')
|
|
867
871
|
|
|
@@ -97,7 +97,7 @@ test.skipIf(!extensionExists)('github extension shows command list on launch', a
|
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
↵ run command ↑↓ navigate ^k actions
|
|
100
|
+
↵ run command ↑↓ navigate ^k actions :vim powered by termcast.app
|
|
101
101
|
|
|
102
102
|
|
|
103
103
|
|
|
@@ -146,7 +146,7 @@ test.skipIf(!extensionExists)('github extension can navigate commands', async ()
|
|
|
146
146
|
|
|
147
147
|
|
|
148
148
|
|
|
149
|
-
↵ run command ↑↓ navigate ^k actions
|
|
149
|
+
↵ run command ↑↓ navigate ^k actions :vim powered by termcast.app
|
|
150
150
|
|
|
151
151
|
|
|
152
152
|
|
|
@@ -192,10 +192,10 @@ test.skipIf(!extensionExists)('github extension can open actions panel', async (
|
|
|
192
192
|
│ Settings │
|
|
193
193
|
│ Configure GitHub... ⌃⇧, │
|
|
194
194
|
│ Change Theme... │
|
|
195
|
+
│ Enable Vim Mode │
|
|
195
196
|
│ Toggle Console Logs │
|
|
196
197
|
│ │
|
|
197
198
|
│ │
|
|
198
|
-
│ │
|
|
199
199
|
│ ↵ select ↑↓ navigate │
|
|
200
200
|
│ │
|
|
201
201
|
╰──────────────────────────────────────────────────────────────────────────╯
|
|
@@ -239,7 +239,7 @@ test.skipIf(!extensionExists)('github extension can search commands', async () =
|
|
|
239
239
|
|
|
240
240
|
|
|
241
241
|
|
|
242
|
-
↵ run command ↑↓ navigate ^k actions
|
|
242
|
+
↵ run command ↑↓ navigate ^k actions :vim powered by termcast.app
|
|
243
243
|
|
|
244
244
|
|
|
245
245
|
|
|
@@ -17,12 +17,14 @@ afterEach(() => {
|
|
|
17
17
|
})
|
|
18
18
|
|
|
19
19
|
test('initial render shows bar chart for Monthly Budget', async () => {
|
|
20
|
-
|
|
20
|
+
await session.text({
|
|
21
21
|
waitFor: (text) => {
|
|
22
22
|
return text.includes('Monthly Budget') && text.includes('Spent')
|
|
23
23
|
},
|
|
24
24
|
timeout: 10000,
|
|
25
25
|
})
|
|
26
|
+
await session.waitIdle()
|
|
27
|
+
const text = await session.text()
|
|
26
28
|
|
|
27
29
|
expect(text).toMatchInlineSnapshot(`
|
|
28
30
|
"
|
|
@@ -46,7 +48,7 @@ test('initial render shows bar chart for Monthly Budget', async () => {
|
|
|
46
48
|
Stress Test (20 items) Many small equal segmen │
|
|
47
49
|
│
|
|
48
50
|
│
|
|
49
|
-
↵ open detail ↑↓ navigate ^k actions
|
|
51
|
+
↵ open detail ↑↓ navigate ^k actions :vi │
|
|
50
52
|
|
|
51
53
|
|
|
52
54
|
|
|
@@ -103,7 +105,7 @@ test('navigate to Market Share - dominant + tiny segments', async () => {
|
|
|
103
105
|
Stress Test (20 items) Many small equal segmen │
|
|
104
106
|
│
|
|
105
107
|
│
|
|
106
|
-
↵ open detail ↑↓ navigate ^k actions
|
|
108
|
+
↵ open detail ↑↓ navigate ^k actions :vi │
|
|
107
109
|
|
|
108
110
|
|
|
109
111
|
|
|
@@ -159,7 +161,7 @@ test('navigate to Equal Distribution - 10 segments', async () => {
|
|
|
159
161
|
Stress Test (20 items) Many small equal segmen │
|
|
160
162
|
│
|
|
161
163
|
│
|
|
162
|
-
↵ open detail ↑↓ navigate ^k actions
|
|
164
|
+
↵ open detail ↑↓ navigate ^k actions :vi │
|
|
163
165
|
|
|
164
166
|
|
|
165
167
|
|
|
@@ -215,7 +217,7 @@ test('navigate to Stress Test - 20 segments', async () => {
|
|
|
215
217
|
›Stress Test (20 items) Many small equal segmen │
|
|
216
218
|
│
|
|
217
219
|
│
|
|
218
|
-
↵ open detail ↑↓ navigate ^k actions
|
|
220
|
+
↵ open detail ↑↓ navigate ^k actions :vi │
|
|
219
221
|
|
|
220
222
|
|
|
221
223
|
|
|
@@ -253,18 +255,16 @@ test('enter pushes full detail view with bar chart', async () => {
|
|
|
253
255
|
█
|
|
254
256
|
█
|
|
255
257
|
Monthly Budget █
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
258
|
+
█
|
|
259
|
+
█
|
|
260
|
+
Spent / Remaining / Savings ▀
|
|
259
261
|
Monthly Budget
|
|
260
262
|
|
|
261
|
-
Budget allocation for the current month.
|
|
262
263
|
|
|
264
|
+
Budget allocation for the current month.
|
|
263
265
|
- Spent: $4,850 (78.6%)
|
|
264
266
|
- Remaining: $707 (11.5%)
|
|
265
267
|
- Savings: $617 (10.0%)
|
|
266
|
-
|
|
267
|
-
|
|
268
268
|
Segments: 3
|
|
269
269
|
Total: 6,174
|
|
270
270
|
|
|
@@ -273,6 +273,8 @@ test('enter pushes full detail view with bar chart', async () => {
|
|
|
273
273
|
|
|
274
274
|
────────────────────────────────────────────────────────────────────────────────────────────
|
|
275
275
|
|
|
276
|
+
Total: $6,174
|
|
277
|
+
|
|
276
278
|
|
|
277
279
|
|
|
278
280
|
esc go back ^k actions ↵ Go Back powered by termcast.app
|
|
@@ -50,7 +50,7 @@ test('polymarket list with graph detail renders correctly', async () => {
|
|
|
50
50
|
│
|
|
51
51
|
│ ────────────────────────────────────────────
|
|
52
52
|
│
|
|
53
|
-
↵ buy yes ↑↓ navigate ^k actions
|
|
53
|
+
↵ buy yes ↑↓ navigate ^k actions :vim │ Probability (30d)
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
@@ -113,7 +113,7 @@ test('navigating to different market updates the graph', async () => {
|
|
|
113
113
|
│
|
|
114
114
|
│ ────────────────────────────────────────────
|
|
115
115
|
│
|
|
116
|
-
↵ buy yes ↑↓ navigate ^k actions
|
|
116
|
+
↵ buy yes ↑↓ navigate ^k actions :vim │ Probability (30d)
|
|
117
117
|
|
|
118
118
|
|
|
119
119
|
|
|
@@ -32,28 +32,28 @@ test('side detail shows two graphs in a row', async () => {
|
|
|
32
32
|
|
|
33
33
|
> Search...
|
|
34
34
|
|
|
35
|
-
›CPU vs Memory Area + Filled side by side │
|
|
36
|
-
Disk I/O Read vs Write operations │
|
|
37
|
-
Revenue vs Expenses Striped comparison │
|
|
38
|
-
Weather Station Temperature + Humidity │
|
|
39
|
-
Mixed Variants Area left, Striped right │
|
|
40
|
-
Sparse Data (Zeros) Filled vs Striped with zer │
|
|
41
|
-
│
|
|
42
|
-
│
|
|
43
|
-
│
|
|
44
|
-
│
|
|
45
|
-
│
|
|
46
|
-
│ │
|
|
47
|
-
│
|
|
48
|
-
│
|
|
49
|
-
│
|
|
50
|
-
│
|
|
35
|
+
›CPU vs Memory Area + Filled side by side │ ▲
|
|
36
|
+
Disk I/O Read vs Write operations │ █
|
|
37
|
+
Revenue vs Expenses Striped comparison │ █
|
|
38
|
+
Weather Station Temperature + Humidity │ █
|
|
39
|
+
Mixed Variants Area left, Striped right │ █
|
|
40
|
+
Sparse Data (Zeros) Filled vs Striped with zer │ █
|
|
41
|
+
│ █
|
|
42
|
+
│ █
|
|
43
|
+
│ 100│ ⡀ 100│ █
|
|
44
|
+
│ │ ⡄ ⣼⣷⡀ │ ▖▖▌▌ █
|
|
45
|
+
│ 67│ ⣸⣿⡄ ⣸⣿⣿⣧ 67│ ▖▖▌▌▌▌▌▌▌ █
|
|
46
|
+
│ │ ⣼⣶⣿⣿⣷⡀ ⢰⣿⣿⣿⣿⣧ │ ▖▖▌▌▌▌▌▌▌▌▌▌▌▌
|
|
47
|
+
│ │ ⢸⣿⣿⣿⣿⣿⣷⣀⣿⣿⣿⣿⣿⣿⣇ │▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
48
|
+
│ 33│⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ 33│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
49
|
+
│ │⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
50
|
+
│ 0│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 0│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
51
|
+
│ 0h 6h 12h 18h24h 0h 6h 12h 18h24h
|
|
51
52
|
│
|
|
52
|
-
│
|
|
53
|
+
│ ───────────────────────────────────────────
|
|
53
54
|
│
|
|
54
55
|
│ CPU Peak: 90%
|
|
55
|
-
|
|
56
|
-
↵ open detail ↑↓ navigate ^k actions │ Mem Peak: 86%
|
|
56
|
+
↵ open detail ↑↓ navigate ^k actions :vi │ ▼
|
|
57
57
|
|
|
58
58
|
"
|
|
59
59
|
`)
|
|
@@ -88,10 +88,11 @@ test('enter pushes full detail with two graphs', async () => {
|
|
|
88
88
|
█
|
|
89
89
|
CPU vs Memory ▀
|
|
90
90
|
|
|
91
|
-
Area + Filled side by side
|
|
92
91
|
|
|
92
|
+
Area + Filled side by side
|
|
93
93
|
CPU vs Memory
|
|
94
94
|
|
|
95
|
+
|
|
95
96
|
Area chart (left) shows CPU with high variance.
|
|
96
97
|
Filled chart (right) shows memory steadily climbing.
|
|
97
98
|
|
|
@@ -106,7 +107,6 @@ test('enter pushes full detail with two graphs', async () => {
|
|
|
106
107
|
│⣀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
107
108
|
│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
108
109
|
│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
109
|
-
0│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 0│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
110
110
|
|
|
111
111
|
|
|
112
112
|
esc go back ^k actions ↵ Go Back powered by termcast.app
|
|
@@ -151,28 +151,28 @@ test('esc returns from detail to list', async () => {
|
|
|
151
151
|
|
|
152
152
|
> Search...
|
|
153
153
|
|
|
154
|
-
›CPU vs Memory Area + Filled side by side │ CPU vs Memory
|
|
155
|
-
Disk I/O Read vs Write operations │
|
|
156
|
-
Revenue vs Expenses Striped comparison │
|
|
157
|
-
Weather Station Temperature + Humidity │
|
|
158
|
-
Mixed Variants Area left, Striped right │
|
|
159
|
-
Sparse Data (Zeros) Filled vs Striped with zer │
|
|
160
|
-
│
|
|
161
|
-
│
|
|
162
|
-
│
|
|
163
|
-
│
|
|
164
|
-
│
|
|
165
|
-
│ │
|
|
166
|
-
│
|
|
167
|
-
│
|
|
168
|
-
│
|
|
169
|
-
│
|
|
154
|
+
›CPU vs Memory Area + Filled side by side │ CPU vs Memory ▲
|
|
155
|
+
Disk I/O Read vs Write operations │ █
|
|
156
|
+
Revenue vs Expenses Striped comparison │ █
|
|
157
|
+
Weather Station Temperature + Humidity │ Area chart (left) shows CPU with high █
|
|
158
|
+
Mixed Variants Area left, Striped right │ variance. █
|
|
159
|
+
Sparse Data (Zeros) Filled vs Striped with zer │ Filled chart (right) shows memory steadily █
|
|
160
|
+
│ climbing. █
|
|
161
|
+
│ █
|
|
162
|
+
│ 100│ ⡀ 100│ █
|
|
163
|
+
│ │ ⡄ ⣼⣷⡀ │ ▖▖▌▌ █
|
|
164
|
+
│ 67│ ⣸⣿⡄ ⣸⣿⣿⣧ 67│ ▖▖▌▌▌▌▌▌▌ █
|
|
165
|
+
│ │ ⣼⣶⣿⣿⣷⡀ ⢰⣿⣿⣿⣿⣧ │ ▖▖▌▌▌▌▌▌▌▌▌▌▌▌
|
|
166
|
+
│ │ ⢸⣿⣿⣿⣿⣿⣷⣀⣿⣿⣿⣿⣿⣿⣇ │▖▖▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
167
|
+
│ 33│⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ 33│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
168
|
+
│ │⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ │▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
169
|
+
│ 0│⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ 0│▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
|
|
170
|
+
│ 0h 6h 12h 18h24h 0h 6h 12h 18h24h
|
|
170
171
|
│
|
|
171
|
-
│
|
|
172
|
+
│ ───────────────────────────────────────────
|
|
172
173
|
│
|
|
173
174
|
│ CPU Peak: 90%
|
|
174
|
-
|
|
175
|
-
↵ open detail ↑↓ navigate ^k actions │ Mem Peak: 86%
|
|
175
|
+
↵ open detail ↑↓ navigate ^k actions :vi │ ▼
|
|
176
176
|
|
|
177
177
|
"
|
|
178
178
|
`)
|
|
@@ -208,28 +208,28 @@ test('sparse data with zeros shows baseline', async () => {
|
|
|
208
208
|
|
|
209
209
|
> Search...
|
|
210
210
|
|
|
211
|
-
CPU vs Memory Area + Filled side by side │ Sparse Data
|
|
212
|
-
Disk I/O Read vs Write operations │
|
|
213
|
-
Revenue vs Expenses Striped comparison │
|
|
214
|
-
Weather Station Temperature + Humidity │
|
|
215
|
-
Mixed Variants Area left, Striped right │
|
|
216
|
-
›Sparse Data (Zeros) Filled vs Striped with zer │
|
|
217
|
-
│
|
|
218
|
-
│
|
|
219
|
-
│
|
|
220
|
-
│
|
|
221
|
-
│ │
|
|
222
|
-
│ │ ▌▌
|
|
223
|
-
│
|
|
224
|
-
│
|
|
225
|
-
│
|
|
226
|
-
│
|
|
211
|
+
CPU vs Memory Area + Filled side by side │ Sparse Data ▲
|
|
212
|
+
Disk I/O Read vs Write operations │ █
|
|
213
|
+
Revenue vs Expenses Striped comparison │ █
|
|
214
|
+
Weather Station Temperature + Humidity │ Data with many zero values should show a █
|
|
215
|
+
Mixed Variants Area left, Striped right │ thin █
|
|
216
|
+
›Sparse Data (Zeros) Filled vs Striped with zer │ baseline line so bars are visible even at █
|
|
217
|
+
│ zero. █
|
|
218
|
+
│ █
|
|
219
|
+
│ 100│ ▖ 100│ ▖ █
|
|
220
|
+
│ │ ▖ ▖▌ │ ▖ ▖▌ █
|
|
221
|
+
│ 67│ ▌ ▌▌ 67│ ▌ ▌▌ █
|
|
222
|
+
│ │ ▌▌ ▖▌ ▌▌ │ ▌▌ ▖▌ ▌▌
|
|
223
|
+
│ │ ▌▌ ▌▌ ▌▌▖ │ ▌▌ ▌▌ ▌▌▖
|
|
224
|
+
│ 33│ ▖ ▌▌▌ ▌▌▖ ▌▌▌ 33│ ▖ ▌▌▌ ▌▌▖ ▌▌▌
|
|
225
|
+
│ │ ▌▌▌▌▌▌▌▌▌▌ ▌▌▌ │ ▌▌▌▌▌▌▌▌▌▌ ▌▌▌
|
|
226
|
+
│ 0│▖▌▌▌▌▌▌▌▌▌▌▌▖▌▌▌▖ 0│▖▌▌▌▌▌▌▌▌▌▌▌▖▌▌▌▖
|
|
227
|
+
│ 0h 6h 12h 18h24h 0h 6h 12h 18h24h
|
|
227
228
|
│
|
|
228
|
-
│
|
|
229
|
+
│ ───────────────────────────────────────────
|
|
229
230
|
│
|
|
230
231
|
│ Zeros: 12 of 20
|
|
231
|
-
|
|
232
|
-
↵ open detail ↑↓ navigate ^k actions │ Peak: 90
|
|
232
|
+
↵ open detail ↑↓ navigate ^k actions :vi │ ▼
|
|
233
233
|
|
|
234
234
|
"
|
|
235
235
|
`)
|
|
@@ -266,12 +266,11 @@ test('navigate to striped pair', async () => {
|
|
|
266
266
|
|
|
267
267
|
CPU vs Memory Area + Filled side by side │ Revenue vs Expenses ▲
|
|
268
268
|
Disk I/O Read vs Write operations │ █
|
|
269
|
-
›Revenue vs Expenses Striped comparison │
|
|
270
|
-
Weather Station Temperature + Humidity │
|
|
271
|
-
Mixed Variants Area left, Striped right │
|
|
272
|
-
Sparse Data (Zeros) Filled vs Striped with zer │ - Revenue: $10k to
|
|
273
|
-
│ - Expenses: $8k to
|
|
274
|
-
│
|
|
269
|
+
›Revenue vs Expenses Striped comparison │ █
|
|
270
|
+
Weather Station Temperature + Humidity │ Revenue growing faster than expenses. █
|
|
271
|
+
Mixed Variants Area left, Striped right │ Profit margin widening over the year. █
|
|
272
|
+
Sparse Data (Zeros) Filled vs Striped with zer │ - Revenue: $10k** to **$75k █
|
|
273
|
+
│ - Expenses: $8k** to **$45k
|
|
275
274
|
│
|
|
276
275
|
│ 78│ ▖ 47│ ▖
|
|
277
276
|
│ │ ▖▌▌▌ │ ▖▖▌▌▌
|
|
@@ -285,7 +284,8 @@ test('navigate to striped pair', async () => {
|
|
|
285
284
|
│
|
|
286
285
|
│ ───────────────────────────────────────────
|
|
287
286
|
│
|
|
288
|
-
|
|
287
|
+
│ Revenue: $75k
|
|
288
|
+
↵ open detail ↑↓ navigate ^k actions :vi │ ▼
|
|
289
289
|
|
|
290
290
|
"
|
|
291
291
|
`)
|