@bongos/core 1.19.346 → 1.19.348
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/.bongos-core.json +57 -22
- package/docs/copy-inventory.md +49 -37
- package/docs/copy-registry.json +170 -42
- package/modules/hall-ui/public/collab-lib.js +77 -0
- package/modules/hall-ui/public/collab.css +36 -0
- package/modules/hall-ui/public/collab.html +66 -0
- package/modules/hall-ui/public/collab.js +139 -0
- package/modules/hall-ui/public/idea.js +9 -1
- package/modules/hall-ui/public/ideas.js +17 -5
- package/modules/hall-ui/public/shell.js +4 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scripts/gds/client-baseurl-guard.js +116 -0
- package/scripts/gds/deploy-divergence.js +34 -3
- package/scripts/gds/fitness.js +1 -0
- package/scripts/gds/update-channel.js +121 -5
- package/src/bongos/serve-internal.js +4 -1
- package/src/module-api.js +5 -1
- package/tests/client_baseurl_guard.mjs +122 -0
- package/tests/collab_page.mjs +172 -0
- package/tests/hall_nav.mjs +7 -1
- package/tests/idea_hall_composer.mjs +11 -0
- package/tests/update_channel.mjs +125 -0
package/docs/copy-registry.json
CHANGED
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
"generator": "scripts/gds/copy-inventory.js",
|
|
4
4
|
"goal": 1000074,
|
|
5
5
|
"counts": {
|
|
6
|
-
"strings":
|
|
7
|
-
"unique_ids":
|
|
8
|
-
"certain":
|
|
6
|
+
"strings": 1397,
|
|
7
|
+
"unique_ids": 1238,
|
|
8
|
+
"certain": 1397,
|
|
9
9
|
"heuristic": 0,
|
|
10
|
-
"duplicate_ids":
|
|
10
|
+
"duplicate_ids": 129
|
|
11
11
|
},
|
|
12
12
|
"surfaces": {
|
|
13
13
|
"builders-hall": {
|
|
14
14
|
"at": "modules/hall-ui/public",
|
|
15
|
-
"files":
|
|
16
|
-
"strings":
|
|
15
|
+
"files": 70,
|
|
16
|
+
"strings": 1108
|
|
17
17
|
},
|
|
18
18
|
"status-dashboard": {
|
|
19
19
|
"at": "modules/status-ui/public",
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
"at": [
|
|
192
192
|
"modules/hall-ui/public/hall-render.js:252",
|
|
193
193
|
"modules/hall-ui/public/hall-render.js:355",
|
|
194
|
-
"modules/hall-ui/public/shell.js:
|
|
194
|
+
"modules/hall-ui/public/shell.js:277"
|
|
195
195
|
]
|
|
196
196
|
},
|
|
197
197
|
{
|
|
@@ -338,6 +338,16 @@
|
|
|
338
338
|
"modules/hall-ui/public/watch.html:31"
|
|
339
339
|
]
|
|
340
340
|
},
|
|
341
|
+
{
|
|
342
|
+
"id": "b2656d0b2402",
|
|
343
|
+
"surface": "builders-hall",
|
|
344
|
+
"text": "Asked {…}",
|
|
345
|
+
"occurrences": 2,
|
|
346
|
+
"at": [
|
|
347
|
+
"modules/hall-ui/public/collab.js:36",
|
|
348
|
+
"modules/hall-ui/public/watch.js:205"
|
|
349
|
+
]
|
|
350
|
+
},
|
|
341
351
|
{
|
|
342
352
|
"id": "08afb1257b71",
|
|
343
353
|
"surface": "builders-hall",
|
|
@@ -398,6 +408,16 @@
|
|
|
398
408
|
"modules/hall-ui/public/box-panel.js:370"
|
|
399
409
|
]
|
|
400
410
|
},
|
|
411
|
+
{
|
|
412
|
+
"id": "c72c97dc33fe",
|
|
413
|
+
"surface": "builders-hall",
|
|
414
|
+
"text": "Collab — {{worldName}}",
|
|
415
|
+
"occurrences": 2,
|
|
416
|
+
"at": [
|
|
417
|
+
"modules/hall-ui/public/collab.html:6",
|
|
418
|
+
"modules/hall-ui/public/collab.html:6"
|
|
419
|
+
]
|
|
420
|
+
},
|
|
401
421
|
{
|
|
402
422
|
"id": "9b16a22bf24c",
|
|
403
423
|
"surface": "builders-hall",
|
|
@@ -1064,8 +1084,8 @@
|
|
|
1064
1084
|
"text": "Sign out",
|
|
1065
1085
|
"occurrences": 2,
|
|
1066
1086
|
"at": [
|
|
1067
|
-
"modules/hall-ui/public/shell.js:
|
|
1068
|
-
"modules/hall-ui/public/shell.js:
|
|
1087
|
+
"modules/hall-ui/public/shell.js:295",
|
|
1088
|
+
"modules/hall-ui/public/shell.js:430"
|
|
1069
1089
|
]
|
|
1070
1090
|
},
|
|
1071
1091
|
{
|
|
@@ -1204,8 +1224,8 @@
|
|
|
1204
1224
|
"text": "idea {…}",
|
|
1205
1225
|
"occurrences": 2,
|
|
1206
1226
|
"at": [
|
|
1207
|
-
"modules/hall-ui/public/idea.js:
|
|
1208
|
-
"modules/hall-ui/public/ideas.js:
|
|
1227
|
+
"modules/hall-ui/public/idea.js:198",
|
|
1228
|
+
"modules/hall-ui/public/ideas.js:334"
|
|
1209
1229
|
]
|
|
1210
1230
|
},
|
|
1211
1231
|
{
|
|
@@ -1245,7 +1265,7 @@
|
|
|
1245
1265
|
"occurrences": 2,
|
|
1246
1266
|
"at": [
|
|
1247
1267
|
"modules/hall-ui/public/gate.js:123",
|
|
1248
|
-
"modules/hall-ui/public/idea.js:
|
|
1268
|
+
"modules/hall-ui/public/idea.js:195"
|
|
1249
1269
|
]
|
|
1250
1270
|
},
|
|
1251
1271
|
{
|
|
@@ -1732,7 +1752,7 @@
|
|
|
1732
1752
|
"surface": "builders-hall",
|
|
1733
1753
|
"text": "A quick idea is a thought filed fast. It is not an unfinished Full Idea — only its author can offer it up for development.",
|
|
1734
1754
|
"file": "modules/hall-ui/public/idea.js",
|
|
1735
|
-
"line":
|
|
1755
|
+
"line": 245,
|
|
1736
1756
|
"origin": "js-markup",
|
|
1737
1757
|
"confidence": "certain"
|
|
1738
1758
|
},
|
|
@@ -1930,7 +1950,7 @@
|
|
|
1930
1950
|
"surface": "builders-hall",
|
|
1931
1951
|
"text": "Answer the five questions and this spark becomes a Full Idea.",
|
|
1932
1952
|
"file": "modules/hall-ui/public/ideas.js",
|
|
1933
|
-
"line":
|
|
1953
|
+
"line": 423,
|
|
1934
1954
|
"origin": "js-text-assign",
|
|
1935
1955
|
"confidence": "certain"
|
|
1936
1956
|
},
|
|
@@ -2092,7 +2112,25 @@
|
|
|
2092
2112
|
"surface": "builders-hall",
|
|
2093
2113
|
"text": "As first filed",
|
|
2094
2114
|
"file": "modules/hall-ui/public/idea.js",
|
|
2095
|
-
"line":
|
|
2115
|
+
"line": 237,
|
|
2116
|
+
"origin": "js-markup",
|
|
2117
|
+
"confidence": "certain"
|
|
2118
|
+
},
|
|
2119
|
+
{
|
|
2120
|
+
"id": "688cc6dd38ee",
|
|
2121
|
+
"surface": "builders-hall",
|
|
2122
|
+
"text": "Asked of you",
|
|
2123
|
+
"file": "modules/hall-ui/public/collab.html",
|
|
2124
|
+
"line": 32,
|
|
2125
|
+
"origin": "html-text",
|
|
2126
|
+
"confidence": "certain"
|
|
2127
|
+
},
|
|
2128
|
+
{
|
|
2129
|
+
"id": "b2656d0b2402",
|
|
2130
|
+
"surface": "builders-hall",
|
|
2131
|
+
"text": "Asked {…}",
|
|
2132
|
+
"file": "modules/hall-ui/public/collab.js",
|
|
2133
|
+
"line": 36,
|
|
2096
2134
|
"origin": "js-markup",
|
|
2097
2135
|
"confidence": "certain"
|
|
2098
2136
|
},
|
|
@@ -2708,6 +2746,24 @@
|
|
|
2708
2746
|
"origin": "html-attr:aria-label",
|
|
2709
2747
|
"confidence": "certain"
|
|
2710
2748
|
},
|
|
2749
|
+
{
|
|
2750
|
+
"id": "c72c97dc33fe",
|
|
2751
|
+
"surface": "builders-hall",
|
|
2752
|
+
"text": "Collab — {{worldName}}",
|
|
2753
|
+
"file": "modules/hall-ui/public/collab.html",
|
|
2754
|
+
"line": 6,
|
|
2755
|
+
"origin": "html-text",
|
|
2756
|
+
"confidence": "certain"
|
|
2757
|
+
},
|
|
2758
|
+
{
|
|
2759
|
+
"id": "c72c97dc33fe",
|
|
2760
|
+
"surface": "builders-hall",
|
|
2761
|
+
"text": "Collab — {{worldName}}",
|
|
2762
|
+
"file": "modules/hall-ui/public/collab.html",
|
|
2763
|
+
"line": 6,
|
|
2764
|
+
"origin": "html-title",
|
|
2765
|
+
"confidence": "certain"
|
|
2766
|
+
},
|
|
2711
2767
|
{
|
|
2712
2768
|
"id": "2867c85d196d",
|
|
2713
2769
|
"surface": "builders-hall",
|
|
@@ -3091,7 +3147,7 @@
|
|
|
3091
3147
|
"surface": "builders-hall",
|
|
3092
3148
|
"text": "Could not load idea {…}.",
|
|
3093
3149
|
"file": "modules/hall-ui/public/ideas.js",
|
|
3094
|
-
"line":
|
|
3150
|
+
"line": 456,
|
|
3095
3151
|
"origin": "js-text-assign",
|
|
3096
3152
|
"confidence": "certain"
|
|
3097
3153
|
},
|
|
@@ -3113,6 +3169,15 @@
|
|
|
3113
3169
|
"origin": "js-text-assign",
|
|
3114
3170
|
"confidence": "certain"
|
|
3115
3171
|
},
|
|
3172
|
+
{
|
|
3173
|
+
"id": "8a4b590fa1a0",
|
|
3174
|
+
"surface": "builders-hall",
|
|
3175
|
+
"text": "Could not load requests.",
|
|
3176
|
+
"file": "modules/hall-ui/public/collab.js",
|
|
3177
|
+
"line": 137,
|
|
3178
|
+
"origin": "js-text-assign",
|
|
3179
|
+
"confidence": "certain"
|
|
3180
|
+
},
|
|
3116
3181
|
{
|
|
3117
3182
|
"id": "7775fec0fa85",
|
|
3118
3183
|
"surface": "builders-hall",
|
|
@@ -3163,7 +3228,7 @@
|
|
|
3163
3228
|
"surface": "builders-hall",
|
|
3164
3229
|
"text": "Could not load the idea template. Reload, or file from the terminal with capture.js.",
|
|
3165
3230
|
"file": "modules/hall-ui/public/ideas.js",
|
|
3166
|
-
"line":
|
|
3231
|
+
"line": 438,
|
|
3167
3232
|
"origin": "js-text-assign",
|
|
3168
3233
|
"confidence": "certain"
|
|
3169
3234
|
},
|
|
@@ -3190,7 +3255,7 @@
|
|
|
3190
3255
|
"surface": "builders-hall",
|
|
3191
3256
|
"text": "Could not load the question labels; showing the answers as stored.",
|
|
3192
3257
|
"file": "modules/hall-ui/public/idea.js",
|
|
3193
|
-
"line":
|
|
3258
|
+
"line": 229,
|
|
3194
3259
|
"origin": "js-markup",
|
|
3195
3260
|
"confidence": "certain"
|
|
3196
3261
|
},
|
|
@@ -3199,7 +3264,7 @@
|
|
|
3199
3264
|
"surface": "builders-hall",
|
|
3200
3265
|
"text": "Could not load the queue just now.",
|
|
3201
3266
|
"file": "modules/hall-ui/public/ideas.js",
|
|
3202
|
-
"line":
|
|
3267
|
+
"line": 387,
|
|
3203
3268
|
"origin": "js-markup",
|
|
3204
3269
|
"confidence": "certain"
|
|
3205
3270
|
},
|
|
@@ -3739,7 +3804,7 @@
|
|
|
3739
3804
|
"surface": "builders-hall",
|
|
3740
3805
|
"text": "Develop this idea",
|
|
3741
3806
|
"file": "modules/hall-ui/public/ideas.js",
|
|
3742
|
-
"line":
|
|
3807
|
+
"line": 422,
|
|
3743
3808
|
"origin": "js-text-assign",
|
|
3744
3809
|
"confidence": "certain"
|
|
3745
3810
|
},
|
|
@@ -3928,7 +3993,7 @@
|
|
|
3928
3993
|
"surface": "builders-hall",
|
|
3929
3994
|
"text": "Draft discarded.",
|
|
3930
3995
|
"file": "modules/hall-ui/public/ideas.js",
|
|
3931
|
-
"line":
|
|
3996
|
+
"line": 347,
|
|
3932
3997
|
"origin": "js-notice",
|
|
3933
3998
|
"confidence": "certain"
|
|
3934
3999
|
},
|
|
@@ -4198,7 +4263,7 @@
|
|
|
4198
4263
|
"surface": "builders-hall",
|
|
4199
4264
|
"text": "Five questions, and a score that counts how much of each you actually answered.",
|
|
4200
4265
|
"file": "modules/hall-ui/public/ideas.js",
|
|
4201
|
-
"line":
|
|
4266
|
+
"line": 448,
|
|
4202
4267
|
"origin": "js-text-assign",
|
|
4203
4268
|
"confidence": "certain"
|
|
4204
4269
|
},
|
|
@@ -4675,7 +4740,7 @@
|
|
|
4675
4740
|
"surface": "builders-hall",
|
|
4676
4741
|
"text": "Idea {…}",
|
|
4677
4742
|
"file": "modules/hall-ui/public/idea.js",
|
|
4678
|
-
"line":
|
|
4743
|
+
"line": 252,
|
|
4679
4744
|
"origin": "js-text-assign",
|
|
4680
4745
|
"confidence": "certain"
|
|
4681
4746
|
},
|
|
@@ -4819,7 +4884,7 @@
|
|
|
4819
4884
|
"surface": "builders-hall",
|
|
4820
4885
|
"text": "Its author marked this as needing development — anyone can turn it into a Full Idea, and they keep the credit for having had it.",
|
|
4821
4886
|
"file": "modules/hall-ui/public/idea.js",
|
|
4822
|
-
"line":
|
|
4887
|
+
"line": 243,
|
|
4823
4888
|
"origin": "js-markup",
|
|
4824
4889
|
"confidence": "certain"
|
|
4825
4890
|
},
|
|
@@ -4882,7 +4947,7 @@
|
|
|
4882
4947
|
"surface": "builders-hall",
|
|
4883
4948
|
"text": "Jump to a page or record",
|
|
4884
4949
|
"file": "modules/hall-ui/public/shell.js",
|
|
4885
|
-
"line":
|
|
4950
|
+
"line": 316,
|
|
4886
4951
|
"origin": "js-markup",
|
|
4887
4952
|
"confidence": "certain"
|
|
4888
4953
|
},
|
|
@@ -4891,7 +4956,7 @@
|
|
|
4891
4956
|
"surface": "builders-hall",
|
|
4892
4957
|
"text": "Jump to…",
|
|
4893
4958
|
"file": "modules/hall-ui/public/shell.js",
|
|
4894
|
-
"line":
|
|
4959
|
+
"line": 318,
|
|
4895
4960
|
"origin": "js-markup",
|
|
4896
4961
|
"confidence": "certain"
|
|
4897
4962
|
},
|
|
@@ -5647,7 +5712,7 @@
|
|
|
5647
5712
|
"surface": "builders-hall",
|
|
5648
5713
|
"text": "No description.",
|
|
5649
5714
|
"file": "modules/hall-ui/public/idea.js",
|
|
5650
|
-
"line":
|
|
5715
|
+
"line": 114,
|
|
5651
5716
|
"origin": "js-markup",
|
|
5652
5717
|
"confidence": "certain"
|
|
5653
5718
|
},
|
|
@@ -5881,7 +5946,7 @@
|
|
|
5881
5946
|
"surface": "builders-hall",
|
|
5882
5947
|
"text": "Not scored.",
|
|
5883
5948
|
"file": "modules/hall-ui/public/idea.js",
|
|
5884
|
-
"line":
|
|
5949
|
+
"line": 78,
|
|
5885
5950
|
"origin": "js-markup",
|
|
5886
5951
|
"confidence": "certain"
|
|
5887
5952
|
},
|
|
@@ -5957,6 +6022,15 @@
|
|
|
5957
6022
|
"origin": "js-markup",
|
|
5958
6023
|
"confidence": "certain"
|
|
5959
6024
|
},
|
|
6025
|
+
{
|
|
6026
|
+
"id": "2c6e0dfbd781",
|
|
6027
|
+
"surface": "builders-hall",
|
|
6028
|
+
"text": "Nothing is waiting on you. Requests reach you by your craft — set yours in",
|
|
6029
|
+
"file": "modules/hall-ui/public/collab.html",
|
|
6030
|
+
"line": 38,
|
|
6031
|
+
"origin": "html-text",
|
|
6032
|
+
"confidence": "certain"
|
|
6033
|
+
},
|
|
5960
6034
|
{
|
|
5961
6035
|
"id": "18ce0723be0d",
|
|
5962
6036
|
"surface": "builders-hall",
|
|
@@ -5971,7 +6045,7 @@
|
|
|
5971
6045
|
"surface": "builders-hall",
|
|
5972
6046
|
"text": "Nothing is waiting. A spark appears here when its author offers a quick idea up for development.",
|
|
5973
6047
|
"file": "modules/hall-ui/public/ideas.js",
|
|
5974
|
-
"line":
|
|
6048
|
+
"line": 365,
|
|
5975
6049
|
"origin": "js-markup",
|
|
5976
6050
|
"confidence": "certain"
|
|
5977
6051
|
},
|
|
@@ -6074,6 +6148,15 @@
|
|
|
6074
6148
|
"origin": "js-notice",
|
|
6075
6149
|
"confidence": "certain"
|
|
6076
6150
|
},
|
|
6151
|
+
{
|
|
6152
|
+
"id": "0c471e06cfc1",
|
|
6153
|
+
"surface": "builders-hall",
|
|
6154
|
+
"text": "Only you can settle your own request — mark it answered when someone helped, or withdraw it when you no longer need it.",
|
|
6155
|
+
"file": "modules/hall-ui/public/collab.html",
|
|
6156
|
+
"line": 46,
|
|
6157
|
+
"origin": "html-text",
|
|
6158
|
+
"confidence": "certain"
|
|
6159
|
+
},
|
|
6077
6160
|
{
|
|
6078
6161
|
"id": "6912678b962b",
|
|
6079
6162
|
"surface": "builders-hall",
|
|
@@ -6106,7 +6189,7 @@
|
|
|
6106
6189
|
"surface": "builders-hall",
|
|
6107
6190
|
"text": "Open navigation",
|
|
6108
6191
|
"file": "modules/hall-ui/public/shell.js",
|
|
6109
|
-
"line":
|
|
6192
|
+
"line": 307,
|
|
6110
6193
|
"origin": "js-markup",
|
|
6111
6194
|
"confidence": "certain"
|
|
6112
6195
|
},
|
|
@@ -6965,6 +7048,15 @@
|
|
|
6965
7048
|
"origin": "js-notice",
|
|
6966
7049
|
"confidence": "certain"
|
|
6967
7050
|
},
|
|
7051
|
+
{
|
|
7052
|
+
"id": "61f862ffb9eb",
|
|
7053
|
+
"surface": "builders-hall",
|
|
7054
|
+
"text": "Requests addressed to your craft, or to you by name. Answering is optional and declining costs nothing — nobody is assigned by being asked.",
|
|
7055
|
+
"file": "modules/hall-ui/public/collab.html",
|
|
7056
|
+
"line": 33,
|
|
7057
|
+
"origin": "html-text",
|
|
7058
|
+
"confidence": "certain"
|
|
7059
|
+
},
|
|
6968
7060
|
{
|
|
6969
7061
|
"id": "a030881168b5",
|
|
6970
7062
|
"surface": "builders-hall",
|
|
@@ -7456,7 +7548,7 @@
|
|
|
7456
7548
|
"surface": "builders-hall",
|
|
7457
7549
|
"text": "Showing {…} of {…}.",
|
|
7458
7550
|
"file": "modules/hall-ui/public/ideas.js",
|
|
7459
|
-
"line":
|
|
7551
|
+
"line": 369,
|
|
7460
7552
|
"origin": "js-markup",
|
|
7461
7553
|
"confidence": "certain"
|
|
7462
7554
|
},
|
|
@@ -7510,7 +7602,7 @@
|
|
|
7510
7602
|
"surface": "builders-hall",
|
|
7511
7603
|
"text": "Sign in with GitHub",
|
|
7512
7604
|
"file": "modules/hall-ui/public/shell.js",
|
|
7513
|
-
"line":
|
|
7605
|
+
"line": 277,
|
|
7514
7606
|
"origin": "js-markup",
|
|
7515
7607
|
"confidence": "certain"
|
|
7516
7608
|
},
|
|
@@ -7519,7 +7611,7 @@
|
|
|
7519
7611
|
"surface": "builders-hall",
|
|
7520
7612
|
"text": "Sign out",
|
|
7521
7613
|
"file": "modules/hall-ui/public/shell.js",
|
|
7522
|
-
"line":
|
|
7614
|
+
"line": 295,
|
|
7523
7615
|
"origin": "js-markup",
|
|
7524
7616
|
"confidence": "certain"
|
|
7525
7617
|
},
|
|
@@ -7528,7 +7620,7 @@
|
|
|
7528
7620
|
"surface": "builders-hall",
|
|
7529
7621
|
"text": "Sign out",
|
|
7530
7622
|
"file": "modules/hall-ui/public/shell.js",
|
|
7531
|
-
"line":
|
|
7623
|
+
"line": 430,
|
|
7532
7624
|
"origin": "js-markup",
|
|
7533
7625
|
"confidence": "certain"
|
|
7534
7626
|
},
|
|
@@ -7559,6 +7651,15 @@
|
|
|
7559
7651
|
"origin": "js-markup",
|
|
7560
7652
|
"confidence": "certain"
|
|
7561
7653
|
},
|
|
7654
|
+
{
|
|
7655
|
+
"id": "7da6a848cd26",
|
|
7656
|
+
"surface": "builders-hall",
|
|
7657
|
+
"text": "Someone helped",
|
|
7658
|
+
"file": "modules/hall-ui/public/collab.js",
|
|
7659
|
+
"line": 65,
|
|
7660
|
+
"origin": "js-markup",
|
|
7661
|
+
"confidence": "certain"
|
|
7662
|
+
},
|
|
7562
7663
|
{
|
|
7563
7664
|
"id": "867df58c9aaa",
|
|
7564
7665
|
"surface": "builders-hall",
|
|
@@ -7690,7 +7791,7 @@
|
|
|
7690
7791
|
"surface": "builders-hall",
|
|
7691
7792
|
"text": "Switch theme",
|
|
7692
7793
|
"file": "modules/hall-ui/public/shell.js",
|
|
7693
|
-
"line":
|
|
7794
|
+
"line": 322,
|
|
7694
7795
|
"origin": "js-markup",
|
|
7695
7796
|
"confidence": "certain"
|
|
7696
7797
|
},
|
|
@@ -7825,7 +7926,7 @@
|
|
|
7825
7926
|
"surface": "builders-hall",
|
|
7826
7927
|
"text": "Text size",
|
|
7827
7928
|
"file": "modules/hall-ui/public/shell.js",
|
|
7828
|
-
"line":
|
|
7929
|
+
"line": 321,
|
|
7829
7930
|
"origin": "js-markup",
|
|
7830
7931
|
"confidence": "certain"
|
|
7831
7932
|
},
|
|
@@ -8860,7 +8961,7 @@
|
|
|
8860
8961
|
"surface": "builders-hall",
|
|
8861
8962
|
"text": "Write one",
|
|
8862
8963
|
"file": "modules/hall-ui/public/idea.js",
|
|
8863
|
-
"line":
|
|
8964
|
+
"line": 243,
|
|
8864
8965
|
"origin": "js-markup",
|
|
8865
8966
|
"confidence": "certain"
|
|
8866
8967
|
},
|
|
@@ -8945,6 +9046,15 @@
|
|
|
8945
9046
|
"origin": "js-notice",
|
|
8946
9047
|
"confidence": "certain"
|
|
8947
9048
|
},
|
|
9049
|
+
{
|
|
9050
|
+
"id": "da274462bb30",
|
|
9051
|
+
"surface": "builders-hall",
|
|
9052
|
+
"text": "You have no open asks.",
|
|
9053
|
+
"file": "modules/hall-ui/public/collab.html",
|
|
9054
|
+
"line": 51,
|
|
9055
|
+
"origin": "html-text",
|
|
9056
|
+
"confidence": "certain"
|
|
9057
|
+
},
|
|
8948
9058
|
{
|
|
8949
9059
|
"id": "3e5b3271bdb4",
|
|
8950
9060
|
"surface": "builders-hall",
|
|
@@ -8999,6 +9109,15 @@
|
|
|
8999
9109
|
"origin": "html-text",
|
|
9000
9110
|
"confidence": "certain"
|
|
9001
9111
|
},
|
|
9112
|
+
{
|
|
9113
|
+
"id": "7d26333b5fb0",
|
|
9114
|
+
"surface": "builders-hall",
|
|
9115
|
+
"text": "Your asks",
|
|
9116
|
+
"file": "modules/hall-ui/public/collab.html",
|
|
9117
|
+
"line": 45,
|
|
9118
|
+
"origin": "html-text",
|
|
9119
|
+
"confidence": "certain"
|
|
9120
|
+
},
|
|
9002
9121
|
{
|
|
9003
9122
|
"id": "59a66b5ac5dd",
|
|
9004
9123
|
"surface": "builders-hall",
|
|
@@ -9688,7 +9807,7 @@
|
|
|
9688
9807
|
"surface": "builders-hall",
|
|
9689
9808
|
"text": "idea {…}",
|
|
9690
9809
|
"file": "modules/hall-ui/public/idea.js",
|
|
9691
|
-
"line":
|
|
9810
|
+
"line": 198,
|
|
9692
9811
|
"origin": "js-markup",
|
|
9693
9812
|
"confidence": "certain"
|
|
9694
9813
|
},
|
|
@@ -9697,10 +9816,19 @@
|
|
|
9697
9816
|
"surface": "builders-hall",
|
|
9698
9817
|
"text": "idea {…}",
|
|
9699
9818
|
"file": "modules/hall-ui/public/ideas.js",
|
|
9700
|
-
"line":
|
|
9819
|
+
"line": 334,
|
|
9701
9820
|
"origin": "js-markup",
|
|
9702
9821
|
"confidence": "certain"
|
|
9703
9822
|
},
|
|
9823
|
+
{
|
|
9824
|
+
"id": "2123a62d69e3",
|
|
9825
|
+
"surface": "builders-hall",
|
|
9826
|
+
"text": "if this stays empty.",
|
|
9827
|
+
"file": "modules/hall-ui/public/collab.html",
|
|
9828
|
+
"line": 40,
|
|
9829
|
+
"origin": "html-text",
|
|
9830
|
+
"confidence": "certain"
|
|
9831
|
+
},
|
|
9704
9832
|
{
|
|
9705
9833
|
"id": "b2b399fdd6a4",
|
|
9706
9834
|
"surface": "builders-hall",
|
|
@@ -9859,7 +9987,7 @@
|
|
|
9859
9987
|
"surface": "builders-hall",
|
|
9860
9988
|
"text": "merged into",
|
|
9861
9989
|
"file": "modules/hall-ui/public/idea.js",
|
|
9862
|
-
"line":
|
|
9990
|
+
"line": 198,
|
|
9863
9991
|
"origin": "js-markup",
|
|
9864
9992
|
"confidence": "certain"
|
|
9865
9993
|
},
|
|
@@ -10255,7 +10383,7 @@
|
|
|
10255
10383
|
"surface": "builders-hall",
|
|
10256
10384
|
"text": "task {…}",
|
|
10257
10385
|
"file": "modules/hall-ui/public/idea.js",
|
|
10258
|
-
"line":
|
|
10386
|
+
"line": 195,
|
|
10259
10387
|
"origin": "js-markup",
|
|
10260
10388
|
"confidence": "certain"
|
|
10261
10389
|
},
|
|
@@ -10822,7 +10950,7 @@
|
|
|
10822
10950
|
"surface": "builders-hall",
|
|
10823
10951
|
"text": "{…}/100 complete",
|
|
10824
10952
|
"file": "modules/hall-ui/public/idea.js",
|
|
10825
|
-
"line":
|
|
10953
|
+
"line": 81,
|
|
10826
10954
|
"origin": "js-markup",
|
|
10827
10955
|
"confidence": "certain"
|
|
10828
10956
|
},
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// modules/hall-ui/public/collab-lib.js — the Collab page's PURE helpers, exposed
|
|
2
|
+
// as window.OTBCollabLib (task 1003172 / C02, goal 1000075).
|
|
3
|
+
//
|
|
4
|
+
// Same split as goals-lib.js: everything here is a pure function of its
|
|
5
|
+
// arguments, so the rules can be executed by a test instead of grepped out of a
|
|
6
|
+
// DOM file. Loaded by collab.html BEFORE collab.js.
|
|
7
|
+
//
|
|
8
|
+
// THE RULE THAT MATTERS IS THE AGEING ONE. The criterion says a request nobody
|
|
9
|
+
// takes must be "visibly aging rather than silently dead" — so age is a BAND with
|
|
10
|
+
// its own label and class, not a sort order. Sorting alone fails the criterion:
|
|
11
|
+
// the oldest request looks identical to the newest, just lower down, and "nobody
|
|
12
|
+
// answered this for nine days" is exactly the fact the page exists to make
|
|
13
|
+
// impossible to miss.
|
|
14
|
+
(function () {
|
|
15
|
+
'use strict';
|
|
16
|
+
|
|
17
|
+
// Bands, oldest-first so the first match wins. Deliberately coarse: an exact
|
|
18
|
+
// hour count invites reading precision into a signal that only needs to say
|
|
19
|
+
// "this has been sitting a while".
|
|
20
|
+
var BANDS = [
|
|
21
|
+
{ id: 'stale', minDays: 7, label: 'waiting over a week', severity: 3 },
|
|
22
|
+
{ id: 'aging', minDays: 3, label: 'waiting a few days', severity: 2 },
|
|
23
|
+
{ id: 'waiting', minDays: 1, label: 'waiting a day', severity: 1 },
|
|
24
|
+
{ id: 'fresh', minDays: 0, label: 'just asked', severity: 0 },
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
var DAY_MS = 24 * 60 * 60 * 1000;
|
|
28
|
+
|
|
29
|
+
// ageBand(createdAt, nowMs) -> band. `nowMs` is injected so this is testable
|
|
30
|
+
// without a clock, and so a test can assert the boundaries rather than trust
|
|
31
|
+
// them. An unparseable date reads as 'fresh': an unknown age must never be
|
|
32
|
+
// rendered as an accusation.
|
|
33
|
+
function ageBand(createdAt, nowMs) {
|
|
34
|
+
var then = createdAt ? Date.parse(createdAt) : NaN;
|
|
35
|
+
var now = typeof nowMs === 'number' ? nowMs : Date.now();
|
|
36
|
+
if (isNaN(then)) return BANDS[BANDS.length - 1];
|
|
37
|
+
var days = (now - then) / DAY_MS;
|
|
38
|
+
for (var i = 0; i < BANDS.length; i += 1) {
|
|
39
|
+
if (days >= BANDS[i].minDays) return BANDS[i];
|
|
40
|
+
}
|
|
41
|
+
return BANDS[BANDS.length - 1];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Oldest first WITHIN the page, because the thing most at risk of dying
|
|
45
|
+
// silently should be read first. This is in ADDITION to the band, never
|
|
46
|
+
// instead of it.
|
|
47
|
+
function byAgeOldestFirst(a, b) {
|
|
48
|
+
var ta = a && a.created_at ? Date.parse(a.created_at) : 0;
|
|
49
|
+
var tb = b && b.created_at ? Date.parse(b.created_at) : 0;
|
|
50
|
+
return (ta || 0) - (tb || 0);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Who a request is addressed to, in words. A craft request and a by-name
|
|
54
|
+
// request read differently on purpose: "asked of builders" is a call anyone of
|
|
55
|
+
// that craft may take, "asked of you" is personal and should feel it.
|
|
56
|
+
function addressedTo(req, viewerId) {
|
|
57
|
+
if (req && req.needs_builder_id != null) {
|
|
58
|
+
return String(req.needs_builder_id) === String(viewerId) ? 'asked of you by name' : 'asked of one person';
|
|
59
|
+
}
|
|
60
|
+
if (req && req.needs_craft) return 'asked of ' + req.needs_craft + 's';
|
|
61
|
+
return 'asked';
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// What the request is about, if anything. Returns null rather than an empty
|
|
65
|
+
// string so a caller can skip the element entirely.
|
|
66
|
+
function contextOf(req) {
|
|
67
|
+
if (!req) return null;
|
|
68
|
+
if (req.task_id != null) return { kind: 'task', id: req.task_id, href: '/builders/task/' + req.task_id };
|
|
69
|
+
if (req.goal_id != null) return { kind: 'goal', id: req.goal_id, href: '/builders/goals#/goal/' + req.goal_id };
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
window.OTBCollabLib = {
|
|
74
|
+
BANDS: BANDS, ageBand: ageBand, byAgeOldestFirst: byAgeOldestFirst,
|
|
75
|
+
addressedTo: addressedTo, contextOf: contextOf,
|
|
76
|
+
};
|
|
77
|
+
})();
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/* modules/hall-ui/public/collab.css — the Collab page (task 1003172 / C02).
|
|
2
|
+
Tokens only from style.css's real set: inventing one renders as nothing, which
|
|
3
|
+
is how copy-desk.css ended up with invisible fallbacks (idea 1000821). */
|
|
4
|
+
|
|
5
|
+
.cb-list { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
|
|
6
|
+
|
|
7
|
+
.cb-item {
|
|
8
|
+
border: 1px solid var(--rule);
|
|
9
|
+
border-left: 3px solid var(--rule);
|
|
10
|
+
border-radius: var(--radius-sm);
|
|
11
|
+
background: var(--surface);
|
|
12
|
+
padding: 10px 12px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.cb-item__stuck { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.5; white-space: pre-wrap; }
|
|
16
|
+
.cb-item__meta { margin: 6px 0 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12px; }
|
|
17
|
+
.cb-item__actions { margin: 8px 0 0; display: flex; gap: 8px; }
|
|
18
|
+
.cb-who { color: var(--ink-soft); }
|
|
19
|
+
.cb-ctx { color: var(--accent); text-decoration: none; }
|
|
20
|
+
.cb-ctx:hover { text-decoration: underline; }
|
|
21
|
+
.cb-empty { color: var(--ink-faint); font-size: 13px; margin: 10px 0 0; }
|
|
22
|
+
|
|
23
|
+
/* THE AGEING SIGNAL. The criterion asks that a request nobody takes be visibly
|
|
24
|
+
aging rather than silently dead — so age changes how a row LOOKS, not only
|
|
25
|
+
where it sits. The left border carries it (a band of colour that reads at a
|
|
26
|
+
glance down a list) and the chip says it in words, because colour alone is not
|
|
27
|
+
a message and not everyone sees it. */
|
|
28
|
+
.cb-age { color: var(--ink-faint); font-size: 11.5px; letter-spacing: 0.01em; }
|
|
29
|
+
.cb-item--fresh { border-left-color: var(--rule); }
|
|
30
|
+
.cb-item--waiting { border-left-color: var(--ink-faint); }
|
|
31
|
+
.cb-item--aging { border-left-color: var(--warn); }
|
|
32
|
+
.cb-item--stale { border-left-color: var(--danger); }
|
|
33
|
+
.cb-item--aging .cb-age { color: var(--warn); }
|
|
34
|
+
.cb-item--stale .cb-age { color: var(--danger); font-weight: 600; }
|
|
35
|
+
|
|
36
|
+
.btn--quiet { background: transparent; color: var(--ink-soft); border-color: var(--rule); }
|