@bongos/core 1.21.66 → 1.21.68
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 +111 -41
- package/docs/copy-inventory.md +414 -386
- package/docs/copy-registry.json +815 -537
- package/docs/file-map.md +1 -0
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +45 -12
- package/docs/page-readings.json +959 -907
- package/modules/platform-identity/routes/my-projects.js +1 -1
- package/modules/public-landing/public/account.html +1 -1
- package/modules/public-landing/public/assets/cosmos.css +12 -10
- package/modules/public-landing/public/contact.html +1 -1
- package/modules/public-landing/public/guild.html +1 -1
- package/modules/public-landing/public/index-cli.states.json +20 -0
- package/modules/public-landing/public/index.html +68 -1
- package/modules/public-landing/public/index.states.json +4 -4
- package/modules/public-landing/public/invitations-empty.states.json +56 -0
- package/modules/public-landing/public/invitations-picker.states.json +84 -0
- package/modules/public-landing/public/invitations.html +965 -0
- package/modules/public-landing/public/invitations.probes.json +430 -0
- package/modules/public-landing/public/invitations.states.json +473 -0
- package/modules/public-landing/public/privacy.html +1 -1
- package/modules/public-landing/public/projects.html +18 -543
- package/modules/public-landing/public/projects.probes.json +0 -29
- package/modules/public-landing/public/projects.states.json +0 -6
- package/modules/public-landing/public/terms.html +1 -1
- package/modules/ui-design/kit/fixtures/bongos-cli-latest-sample.json +10 -0
- package/modules/ui-design/kit/fixtures/featured-invitations.json +183 -0
- package/modules/ui-design/kit/fixtures/guilds-empty.json +1 -0
- package/modules/ui-design/kit/fixtures/me-guild-engagements-empty.json +1 -0
- package/modules/ui-design/kit/fixtures/me-guild-requests-empty.json +1 -0
- package/modules/ui-design/kit/fixtures/my-projects-applied.json +29 -0
- package/modules/ui-design/kit/fixtures/my-projects-invites-empty.json +1 -0
- package/modules/ui-design/kit/serve.js +5 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +16 -0
- package/src/module-api.js +1 -1
- package/src/platform-server.js +11 -0
- package/tests/hub_account_page.mjs +1 -1
- package/tests/hub_engagement_cards.mjs +44 -40
- package/tests/hub_guild_cards.mjs +24 -22
- package/tests/hub_invitations_page.mjs +429 -0
- package/tests/join_relay_outcome.mjs +1 -1
- package/tests/landing_legal_pages.mjs +8 -6
- package/tests/landing_page.mjs +125 -3
- package/tests/my_projects_surface.mjs +14 -6
- package/tests/public_landing_projects.mjs +12 -14
- package/tests/render_check.mjs +3 -2
- package/tests/ui_design_kit.mjs +3 -3
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_": "The invitations page's interaction contract for modules/ui-design/kit/probe.js (task 1004276): the door signed out, the bar's current place, the join field, and the guild cards' probes that moved here from projects.probes.json with them.",
|
|
3
|
+
"page": "/invitations",
|
|
4
|
+
"surface": "public-landing",
|
|
5
|
+
"probes": [
|
|
6
|
+
{
|
|
7
|
+
"name": "invitations signed out: the door, and no lists",
|
|
8
|
+
"auth": false,
|
|
9
|
+
"width": 1440,
|
|
10
|
+
"steps": [
|
|
11
|
+
[
|
|
12
|
+
"wait",
|
|
13
|
+
300
|
|
14
|
+
]
|
|
15
|
+
],
|
|
16
|
+
"expect": {
|
|
17
|
+
"visible": [
|
|
18
|
+
"#door",
|
|
19
|
+
"#signin"
|
|
20
|
+
],
|
|
21
|
+
"hidden": [
|
|
22
|
+
"#invtBody"
|
|
23
|
+
],
|
|
24
|
+
"href": [
|
|
25
|
+
[
|
|
26
|
+
"#signin",
|
|
27
|
+
"/api/bongos/auth/web/start?return=/invitations&repos=1"
|
|
28
|
+
]
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "invitations signed in: the profile band names this page as the current place",
|
|
34
|
+
"auth": true,
|
|
35
|
+
"width": 1440,
|
|
36
|
+
"steps": [
|
|
37
|
+
[
|
|
38
|
+
"wait",
|
|
39
|
+
600
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
"click",
|
|
43
|
+
"#who"
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
"wait",
|
|
47
|
+
150
|
|
48
|
+
]
|
|
49
|
+
],
|
|
50
|
+
"expect": {
|
|
51
|
+
"open": "#menuProfile",
|
|
52
|
+
"count": [
|
|
53
|
+
[
|
|
54
|
+
"#menuProfile a[aria-current=\"page\"]",
|
|
55
|
+
1
|
|
56
|
+
]
|
|
57
|
+
],
|
|
58
|
+
"text": [
|
|
59
|
+
[
|
|
60
|
+
"#menuProfile a[aria-current=\"page\"]",
|
|
61
|
+
"Invitations"
|
|
62
|
+
]
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "invitations: a bare host is applied for as https, and the receipt reads applied",
|
|
68
|
+
"continue": true,
|
|
69
|
+
"steps": [
|
|
70
|
+
[
|
|
71
|
+
"press",
|
|
72
|
+
"Escape"
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
"fill",
|
|
76
|
+
"#joinOrigin",
|
|
77
|
+
"grove.cloudbongos.com"
|
|
78
|
+
],
|
|
79
|
+
[
|
|
80
|
+
"click",
|
|
81
|
+
"#joinBtn"
|
|
82
|
+
],
|
|
83
|
+
[
|
|
84
|
+
"wait",
|
|
85
|
+
300
|
|
86
|
+
]
|
|
87
|
+
],
|
|
88
|
+
"expect": {
|
|
89
|
+
"hasClass": [
|
|
90
|
+
[
|
|
91
|
+
"#joinStatus",
|
|
92
|
+
"ok"
|
|
93
|
+
]
|
|
94
|
+
],
|
|
95
|
+
"text": [
|
|
96
|
+
[
|
|
97
|
+
"#joinStatus",
|
|
98
|
+
"Applied. The project’s owner admits new builders; once approved, sign in to enter."
|
|
99
|
+
]
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "invitations: an empty address is a question, not a request",
|
|
105
|
+
"continue": true,
|
|
106
|
+
"steps": [
|
|
107
|
+
[
|
|
108
|
+
"click",
|
|
109
|
+
"#joinBtn"
|
|
110
|
+
],
|
|
111
|
+
[
|
|
112
|
+
"wait",
|
|
113
|
+
100
|
|
114
|
+
]
|
|
115
|
+
],
|
|
116
|
+
"expect": {
|
|
117
|
+
"hasClass": [
|
|
118
|
+
[
|
|
119
|
+
"#joinStatus",
|
|
120
|
+
"err"
|
|
121
|
+
]
|
|
122
|
+
],
|
|
123
|
+
"text": [
|
|
124
|
+
[
|
|
125
|
+
"#joinStatus",
|
|
126
|
+
"Pick a project or enter its address."
|
|
127
|
+
]
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "guild cards (task 1002303, R27): the page lists what your guilds have going, each card with its own Apply",
|
|
133
|
+
"auth": true,
|
|
134
|
+
"width": 1440,
|
|
135
|
+
"url": "/invitations",
|
|
136
|
+
"steps": [
|
|
137
|
+
[
|
|
138
|
+
"wait",
|
|
139
|
+
900
|
|
140
|
+
]
|
|
141
|
+
],
|
|
142
|
+
"expect": {
|
|
143
|
+
"visible": [
|
|
144
|
+
"#mineInvites",
|
|
145
|
+
"#engageList"
|
|
146
|
+
],
|
|
147
|
+
"count": [
|
|
148
|
+
[
|
|
149
|
+
"#engageList .engageRow",
|
|
150
|
+
2
|
|
151
|
+
],
|
|
152
|
+
[
|
|
153
|
+
"#engageList .engageRow .mineJoinNote:not([hidden])",
|
|
154
|
+
0
|
|
155
|
+
]
|
|
156
|
+
],
|
|
157
|
+
"text": [
|
|
158
|
+
[
|
|
159
|
+
"#engageList .engageRow:nth-child(1) .mineRow__name",
|
|
160
|
+
"Forge Crew is applying to Tidepool — apply with them?"
|
|
161
|
+
],
|
|
162
|
+
[
|
|
163
|
+
"#engageList .engageRow:nth-child(2) .mineRow__name",
|
|
164
|
+
"Lantern Works invited Forge Crew"
|
|
165
|
+
]
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "guild cards: Add a note opens the card's own note; Apply sends it with the guild (the stub refuses a guild with no engagement) and the card says it went through",
|
|
171
|
+
"continue": true,
|
|
172
|
+
"steps": [
|
|
173
|
+
[
|
|
174
|
+
"click",
|
|
175
|
+
"#engageList .engageRow:first-child .linklike"
|
|
176
|
+
],
|
|
177
|
+
[
|
|
178
|
+
"fill",
|
|
179
|
+
"#engageList .engageRow:first-child .mineJoinNote",
|
|
180
|
+
"Happy to take the migrations."
|
|
181
|
+
],
|
|
182
|
+
[
|
|
183
|
+
"click",
|
|
184
|
+
"#engageList .engageRow:first-child .btn"
|
|
185
|
+
],
|
|
186
|
+
[
|
|
187
|
+
"wait",
|
|
188
|
+
400
|
|
189
|
+
]
|
|
190
|
+
],
|
|
191
|
+
"expect": {
|
|
192
|
+
"hidden": [
|
|
193
|
+
"#engageList .engageRow:first-child .mineJoinNote"
|
|
194
|
+
],
|
|
195
|
+
"hasClass": [
|
|
196
|
+
[
|
|
197
|
+
"#engageList .engageRow:first-child .projMsg",
|
|
198
|
+
"ok"
|
|
199
|
+
]
|
|
200
|
+
],
|
|
201
|
+
"text": [
|
|
202
|
+
[
|
|
203
|
+
"#engageList .engageRow:first-child .btn",
|
|
204
|
+
"Applied"
|
|
205
|
+
],
|
|
206
|
+
[
|
|
207
|
+
"#engageList .engageRow:first-child .projMsg",
|
|
208
|
+
"Applied. The project’s owner admits new builders; once approved, sign in to enter."
|
|
209
|
+
]
|
|
210
|
+
]
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"name": "guild cards: the invited card applies on its own, with no note",
|
|
215
|
+
"continue": true,
|
|
216
|
+
"steps": [
|
|
217
|
+
[
|
|
218
|
+
"click",
|
|
219
|
+
"#engageList .engageRow:nth-child(2) .btn"
|
|
220
|
+
],
|
|
221
|
+
[
|
|
222
|
+
"wait",
|
|
223
|
+
400
|
|
224
|
+
]
|
|
225
|
+
],
|
|
226
|
+
"expect": {
|
|
227
|
+
"text": [
|
|
228
|
+
[
|
|
229
|
+
"#engageList .engageRow:nth-child(2) .btn",
|
|
230
|
+
"Applied"
|
|
231
|
+
]
|
|
232
|
+
],
|
|
233
|
+
"hasClass": [
|
|
234
|
+
[
|
|
235
|
+
"#engageList .engageRow:nth-child(2) .projMsg",
|
|
236
|
+
"ok"
|
|
237
|
+
]
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "guild invite cards (task 1004583): each says what joining shows and, before accept, that your numbers count — with the switch right there, set to count",
|
|
243
|
+
"auth": true,
|
|
244
|
+
"width": 1440,
|
|
245
|
+
"url": "/invitations",
|
|
246
|
+
"steps": [
|
|
247
|
+
[
|
|
248
|
+
"wait",
|
|
249
|
+
900
|
|
250
|
+
]
|
|
251
|
+
],
|
|
252
|
+
"expect": {
|
|
253
|
+
"visible": [
|
|
254
|
+
"#guildInviteList",
|
|
255
|
+
"#guildInviteList .guildRow:first-child .guildCount"
|
|
256
|
+
],
|
|
257
|
+
"count": [
|
|
258
|
+
[
|
|
259
|
+
"#guildInviteList .guildRow",
|
|
260
|
+
2
|
|
261
|
+
],
|
|
262
|
+
[
|
|
263
|
+
"#guildInviteList .guildRow:first-child a.linklike:not([hidden])",
|
|
264
|
+
1
|
|
265
|
+
],
|
|
266
|
+
[
|
|
267
|
+
"#guildInviteList .guildRow:nth-child(2) a.linklike:not([hidden])",
|
|
268
|
+
0
|
|
269
|
+
]
|
|
270
|
+
],
|
|
271
|
+
"text": [
|
|
272
|
+
[
|
|
273
|
+
"#guildInviteList .guildRow:first-child .mineRow__name",
|
|
274
|
+
"You’re invited to join Open Hands"
|
|
275
|
+
],
|
|
276
|
+
[
|
|
277
|
+
"#guildInviteList .guildRow:first-child .guildCount__what",
|
|
278
|
+
"Your numbers count toward this guild’s rounded totals — even while your record is hidden or your account is private. They are never shown on their own: only inside totals rounded down to a band (10+, 20+, 50+ …) and counted once a week. Leave them out of any guild you’d rather not share them with."
|
|
279
|
+
]
|
|
280
|
+
],
|
|
281
|
+
"checked": "#guildInviteList .guildRow:first-child input[value=\"on\"]"
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"name": "guild invite: Leave them out says what that means before anything is sent",
|
|
286
|
+
"continue": true,
|
|
287
|
+
"steps": [
|
|
288
|
+
[
|
|
289
|
+
"click",
|
|
290
|
+
"#guildInviteList .guildRow:first-child .guildCount__opt:nth-child(2)"
|
|
291
|
+
],
|
|
292
|
+
[
|
|
293
|
+
"wait",
|
|
294
|
+
150
|
|
295
|
+
]
|
|
296
|
+
],
|
|
297
|
+
"expect": {
|
|
298
|
+
"checked": "#guildInviteList .guildRow:first-child input[value=\"off\"]",
|
|
299
|
+
"text": [
|
|
300
|
+
[
|
|
301
|
+
"#guildInviteList .guildRow:first-child .guildCount__what",
|
|
302
|
+
"Your numbers are left out of this guild’s totals, from its next weekly count."
|
|
303
|
+
]
|
|
304
|
+
]
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"name": "guild invite: Accept sends the card's visibility and the switch (the stub refuses an accept without the card's visibility) and the card says where your numbers went",
|
|
309
|
+
"continue": true,
|
|
310
|
+
"steps": [
|
|
311
|
+
[
|
|
312
|
+
"click",
|
|
313
|
+
"#guildInviteList .guildRow:first-child .btn"
|
|
314
|
+
],
|
|
315
|
+
[
|
|
316
|
+
"wait",
|
|
317
|
+
400
|
|
318
|
+
]
|
|
319
|
+
],
|
|
320
|
+
"expect": {
|
|
321
|
+
"hasClass": [
|
|
322
|
+
[
|
|
323
|
+
"#guildInviteList .guildRow:first-child .projMsg",
|
|
324
|
+
"ok"
|
|
325
|
+
],
|
|
326
|
+
[
|
|
327
|
+
"#guildInviteList .guildRow:first-child .btn",
|
|
328
|
+
"ghost"
|
|
329
|
+
]
|
|
330
|
+
],
|
|
331
|
+
"text": [
|
|
332
|
+
[
|
|
333
|
+
"#guildInviteList .guildRow:first-child .btn",
|
|
334
|
+
"Joined"
|
|
335
|
+
],
|
|
336
|
+
[
|
|
337
|
+
"#guildInviteList .guildRow:first-child .projMsg",
|
|
338
|
+
"You’ve joined Open Hands, and your numbers are left out of its totals."
|
|
339
|
+
]
|
|
340
|
+
]
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"name": "guild invite: Decline drops the card, silently",
|
|
345
|
+
"continue": true,
|
|
346
|
+
"steps": [
|
|
347
|
+
[
|
|
348
|
+
"click",
|
|
349
|
+
"#guildInviteList .guildRow:nth-child(2) .btn.ghost"
|
|
350
|
+
],
|
|
351
|
+
[
|
|
352
|
+
"wait",
|
|
353
|
+
400
|
|
354
|
+
]
|
|
355
|
+
],
|
|
356
|
+
"expect": {
|
|
357
|
+
"count": [
|
|
358
|
+
[
|
|
359
|
+
"#guildInviteList .guildRow",
|
|
360
|
+
1
|
|
361
|
+
]
|
|
362
|
+
]
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"name": "join request (task 1004583): the owner of Night Shift accepts one and declines the other, from the hub",
|
|
367
|
+
"continue": true,
|
|
368
|
+
"steps": [
|
|
369
|
+
[
|
|
370
|
+
"click",
|
|
371
|
+
"#guildRequestList .guildRow:first-child .btn"
|
|
372
|
+
],
|
|
373
|
+
[
|
|
374
|
+
"wait",
|
|
375
|
+
400
|
|
376
|
+
],
|
|
377
|
+
[
|
|
378
|
+
"click",
|
|
379
|
+
"#guildRequestList .guildRow:nth-child(2) .btn.ghost"
|
|
380
|
+
],
|
|
381
|
+
[
|
|
382
|
+
"wait",
|
|
383
|
+
400
|
|
384
|
+
]
|
|
385
|
+
],
|
|
386
|
+
"expect": {
|
|
387
|
+
"count": [
|
|
388
|
+
[
|
|
389
|
+
"#guildRequestList .guildRow",
|
|
390
|
+
1
|
|
391
|
+
]
|
|
392
|
+
],
|
|
393
|
+
"hasClass": [
|
|
394
|
+
[
|
|
395
|
+
"#guildRequestList .guildRow:first-child .projMsg",
|
|
396
|
+
"ok"
|
|
397
|
+
]
|
|
398
|
+
],
|
|
399
|
+
"text": [
|
|
400
|
+
[
|
|
401
|
+
"#guildRequestList .guildRow:first-child .btn",
|
|
402
|
+
"Accepted"
|
|
403
|
+
],
|
|
404
|
+
[
|
|
405
|
+
"#guildRequestList .guildRow:first-child .projMsg",
|
|
406
|
+
"Tomás Ek is in Night Shift now."
|
|
407
|
+
]
|
|
408
|
+
]
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"name": "guild cards at 320: the switch stacks and nothing scrolls sideways",
|
|
413
|
+
"auth": true,
|
|
414
|
+
"width": 320,
|
|
415
|
+
"url": "/invitations",
|
|
416
|
+
"steps": [
|
|
417
|
+
[
|
|
418
|
+
"wait",
|
|
419
|
+
900
|
|
420
|
+
]
|
|
421
|
+
],
|
|
422
|
+
"expect": {
|
|
423
|
+
"noOverflow": true,
|
|
424
|
+
"visible": [
|
|
425
|
+
"#guildInviteList .guildRow:first-child .guildCount"
|
|
426
|
+
]
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
]
|
|
430
|
+
}
|