@bongos/core 1.21.66 → 1.21.67
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 +2 -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 +956 -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 +10 -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 +414 -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,473 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_": "The invitations page (task 1004276) for modules/ui-design/kit/render.js: signed out (the door), signed in with every list filled (the main fixtures: a project invite, two guild engagements, two guild invites, two join requests to a guild you own), the join field applying, and the guild cards' states that moved here with them from projects.states.json. Dark only, like every apex page (ADR 0204). The empty page is invitations-empty.states.json.",
|
|
3
|
+
"page": "/invitations",
|
|
4
|
+
"surface": "public-landing",
|
|
5
|
+
"modes": [
|
|
6
|
+
"dark"
|
|
7
|
+
],
|
|
8
|
+
"modeQuery": false,
|
|
9
|
+
"ignoreRequests": [
|
|
10
|
+
"/api/(gds|bongos)/me$",
|
|
11
|
+
"/my-projects",
|
|
12
|
+
"/me/guild-"
|
|
13
|
+
],
|
|
14
|
+
"ignoreConsole": [
|
|
15
|
+
"/api/(gds|bongos)/me",
|
|
16
|
+
"\\b401\\b",
|
|
17
|
+
"Unauthorized"
|
|
18
|
+
],
|
|
19
|
+
"ignoreControls": [
|
|
20
|
+
".skip",
|
|
21
|
+
".vh"
|
|
22
|
+
],
|
|
23
|
+
"states": {
|
|
24
|
+
"out": {
|
|
25
|
+
"auth": false,
|
|
26
|
+
"expect": {
|
|
27
|
+
"visible": [
|
|
28
|
+
"#door",
|
|
29
|
+
"#signin",
|
|
30
|
+
"#signinTop"
|
|
31
|
+
],
|
|
32
|
+
"hidden": [
|
|
33
|
+
"#invtBody",
|
|
34
|
+
"#loading",
|
|
35
|
+
"#who"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"in": {
|
|
40
|
+
"auth": true,
|
|
41
|
+
"actions": [
|
|
42
|
+
[
|
|
43
|
+
"wait",
|
|
44
|
+
900
|
|
45
|
+
]
|
|
46
|
+
],
|
|
47
|
+
"expect": {
|
|
48
|
+
"visible": [
|
|
49
|
+
"#invtBody",
|
|
50
|
+
"#mineInvites",
|
|
51
|
+
"#invitesList",
|
|
52
|
+
"#who"
|
|
53
|
+
],
|
|
54
|
+
"hidden": [
|
|
55
|
+
"#door",
|
|
56
|
+
"#loading",
|
|
57
|
+
"#invitesNone"
|
|
58
|
+
],
|
|
59
|
+
"count": [
|
|
60
|
+
[
|
|
61
|
+
"#invitesList .mineRow",
|
|
62
|
+
1
|
|
63
|
+
],
|
|
64
|
+
[
|
|
65
|
+
"#menuProfile a[aria-current=\"page\"]",
|
|
66
|
+
1
|
|
67
|
+
]
|
|
68
|
+
],
|
|
69
|
+
"text": [
|
|
70
|
+
[
|
|
71
|
+
"#invitesList .mineRow:first-child .mineRow__name",
|
|
72
|
+
"The Grove"
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
"#invitesList .mineRow:first-child .btn",
|
|
76
|
+
"Open project →"
|
|
77
|
+
],
|
|
78
|
+
[
|
|
79
|
+
"#joinBtn",
|
|
80
|
+
"Apply to join"
|
|
81
|
+
]
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"in-join-applied": {
|
|
86
|
+
"auth": true,
|
|
87
|
+
"actions": [
|
|
88
|
+
[
|
|
89
|
+
"wait",
|
|
90
|
+
900
|
|
91
|
+
],
|
|
92
|
+
[
|
|
93
|
+
"fill",
|
|
94
|
+
"#joinOrigin",
|
|
95
|
+
"grove.cloudbongos.com"
|
|
96
|
+
],
|
|
97
|
+
[
|
|
98
|
+
"fill",
|
|
99
|
+
"#joinNote",
|
|
100
|
+
"Happy to start on the docs."
|
|
101
|
+
],
|
|
102
|
+
[
|
|
103
|
+
"click",
|
|
104
|
+
"#joinBtn"
|
|
105
|
+
],
|
|
106
|
+
[
|
|
107
|
+
"wait",
|
|
108
|
+
400
|
|
109
|
+
]
|
|
110
|
+
],
|
|
111
|
+
"expect": {
|
|
112
|
+
"hasClass": [
|
|
113
|
+
[
|
|
114
|
+
"#joinStatus",
|
|
115
|
+
"ok"
|
|
116
|
+
]
|
|
117
|
+
],
|
|
118
|
+
"text": [
|
|
119
|
+
[
|
|
120
|
+
"#joinStatus",
|
|
121
|
+
"Applied. The project’s owner admits new builders; once approved, sign in to enter."
|
|
122
|
+
]
|
|
123
|
+
],
|
|
124
|
+
"value": [
|
|
125
|
+
[
|
|
126
|
+
"#joinOrigin",
|
|
127
|
+
""
|
|
128
|
+
],
|
|
129
|
+
[
|
|
130
|
+
"#joinNote",
|
|
131
|
+
""
|
|
132
|
+
]
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"in-profile": {
|
|
137
|
+
"auth": true,
|
|
138
|
+
"actions": [
|
|
139
|
+
[
|
|
140
|
+
"wait",
|
|
141
|
+
600
|
|
142
|
+
],
|
|
143
|
+
[
|
|
144
|
+
"click",
|
|
145
|
+
"#who"
|
|
146
|
+
],
|
|
147
|
+
[
|
|
148
|
+
"wait",
|
|
149
|
+
350
|
|
150
|
+
]
|
|
151
|
+
],
|
|
152
|
+
"expect": {
|
|
153
|
+
"expanded": true,
|
|
154
|
+
"open": "#menuProfile",
|
|
155
|
+
"count": [
|
|
156
|
+
[
|
|
157
|
+
"#menuProfile a[href=\"/invitations\"][aria-current=\"page\"]",
|
|
158
|
+
1
|
|
159
|
+
]
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"in-engagements": {
|
|
164
|
+
"auth": true,
|
|
165
|
+
"url": "/invitations",
|
|
166
|
+
"actions": [
|
|
167
|
+
[
|
|
168
|
+
"wait",
|
|
169
|
+
900
|
|
170
|
+
],
|
|
171
|
+
[
|
|
172
|
+
"focus",
|
|
173
|
+
"#engageList .engageRow:first-child .btn"
|
|
174
|
+
],
|
|
175
|
+
[
|
|
176
|
+
"wait",
|
|
177
|
+
200
|
|
178
|
+
]
|
|
179
|
+
],
|
|
180
|
+
"expect": {
|
|
181
|
+
"visible": [
|
|
182
|
+
"#mineInvites",
|
|
183
|
+
"#invitesList",
|
|
184
|
+
"#engageList"
|
|
185
|
+
],
|
|
186
|
+
"count": [
|
|
187
|
+
[
|
|
188
|
+
"#engageList .engageRow",
|
|
189
|
+
2
|
|
190
|
+
],
|
|
191
|
+
[
|
|
192
|
+
"#engageList .engageRow .mineJoinNote:not([hidden])",
|
|
193
|
+
0
|
|
194
|
+
]
|
|
195
|
+
],
|
|
196
|
+
"text": [
|
|
197
|
+
[
|
|
198
|
+
"#engageList .engageRow:nth-child(1) .mineRow__name",
|
|
199
|
+
"Forge Crew is applying to Tidepool — apply with them?"
|
|
200
|
+
],
|
|
201
|
+
[
|
|
202
|
+
"#engageList .engageRow:nth-child(1) .mineRow__host",
|
|
203
|
+
"tidepool.cloudbongos.com"
|
|
204
|
+
],
|
|
205
|
+
[
|
|
206
|
+
"#engageList .engageRow:nth-child(2) .mineRow__name",
|
|
207
|
+
"Lantern Works invited Forge Crew"
|
|
208
|
+
],
|
|
209
|
+
[
|
|
210
|
+
"#engageList .engageRow:nth-child(1) .mineRow__hint",
|
|
211
|
+
"You apply as yourself — add a note for the owner if you like."
|
|
212
|
+
],
|
|
213
|
+
[
|
|
214
|
+
"#engageList .engageRow:nth-child(1) .btn",
|
|
215
|
+
"Apply to join"
|
|
216
|
+
]
|
|
217
|
+
]
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
"in-engagement-note": {
|
|
221
|
+
"auth": true,
|
|
222
|
+
"url": "/invitations",
|
|
223
|
+
"actions": [
|
|
224
|
+
[
|
|
225
|
+
"wait",
|
|
226
|
+
900
|
|
227
|
+
],
|
|
228
|
+
[
|
|
229
|
+
"click",
|
|
230
|
+
"#engageList .engageRow:first-child .linklike"
|
|
231
|
+
],
|
|
232
|
+
[
|
|
233
|
+
"fill",
|
|
234
|
+
"#engageList .engageRow:first-child .mineJoinNote",
|
|
235
|
+
"I like the boring parts too: migrations and the deploy path."
|
|
236
|
+
],
|
|
237
|
+
[
|
|
238
|
+
"wait",
|
|
239
|
+
150
|
|
240
|
+
]
|
|
241
|
+
],
|
|
242
|
+
"expect": {
|
|
243
|
+
"visible": [
|
|
244
|
+
"#engageList .engageRow:first-child .mineJoinNote"
|
|
245
|
+
],
|
|
246
|
+
"hidden": [
|
|
247
|
+
"#engageList .engageRow:first-child .linklike"
|
|
248
|
+
],
|
|
249
|
+
"value": [
|
|
250
|
+
[
|
|
251
|
+
"#engageList .engageRow:first-child .mineJoinNote",
|
|
252
|
+
"I like the boring parts too: migrations and the deploy path."
|
|
253
|
+
]
|
|
254
|
+
]
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
"in-engagement-applied": {
|
|
258
|
+
"auth": true,
|
|
259
|
+
"url": "/invitations",
|
|
260
|
+
"actions": [
|
|
261
|
+
[
|
|
262
|
+
"wait",
|
|
263
|
+
900
|
|
264
|
+
],
|
|
265
|
+
[
|
|
266
|
+
"click",
|
|
267
|
+
"#engageList .engageRow:first-child .linklike"
|
|
268
|
+
],
|
|
269
|
+
[
|
|
270
|
+
"fill",
|
|
271
|
+
"#engageList .engageRow:first-child .mineJoinNote",
|
|
272
|
+
"I like the boring parts too: migrations and the deploy path."
|
|
273
|
+
],
|
|
274
|
+
[
|
|
275
|
+
"click",
|
|
276
|
+
"#engageList .engageRow:first-child .btn"
|
|
277
|
+
],
|
|
278
|
+
[
|
|
279
|
+
"wait",
|
|
280
|
+
400
|
|
281
|
+
]
|
|
282
|
+
],
|
|
283
|
+
"expect": {
|
|
284
|
+
"hidden": [
|
|
285
|
+
"#engageList .engageRow:first-child .mineJoinNote",
|
|
286
|
+
"#engageList .engageRow:first-child .linklike"
|
|
287
|
+
],
|
|
288
|
+
"hasClass": [
|
|
289
|
+
[
|
|
290
|
+
"#engageList .engageRow:first-child .projMsg",
|
|
291
|
+
"ok"
|
|
292
|
+
],
|
|
293
|
+
[
|
|
294
|
+
"#engageList .engageRow:first-child .btn",
|
|
295
|
+
"ghost"
|
|
296
|
+
]
|
|
297
|
+
],
|
|
298
|
+
"text": [
|
|
299
|
+
[
|
|
300
|
+
"#engageList .engageRow:first-child .btn",
|
|
301
|
+
"Applied"
|
|
302
|
+
],
|
|
303
|
+
[
|
|
304
|
+
"#engageList .engageRow:first-child .projMsg",
|
|
305
|
+
"Applied. The project’s owner admits new builders; once approved, sign in to enter."
|
|
306
|
+
],
|
|
307
|
+
[
|
|
308
|
+
"#engageList .engageRow:nth-child(2) .btn",
|
|
309
|
+
"Apply to join"
|
|
310
|
+
]
|
|
311
|
+
]
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
"in-guild-cards": {
|
|
315
|
+
"auth": true,
|
|
316
|
+
"url": "/invitations",
|
|
317
|
+
"actions": [
|
|
318
|
+
[
|
|
319
|
+
"wait",
|
|
320
|
+
900
|
|
321
|
+
],
|
|
322
|
+
[
|
|
323
|
+
"focus",
|
|
324
|
+
"#guildInviteList .guildRow:first-child .btn"
|
|
325
|
+
],
|
|
326
|
+
[
|
|
327
|
+
"wait",
|
|
328
|
+
200
|
|
329
|
+
]
|
|
330
|
+
],
|
|
331
|
+
"expect": {
|
|
332
|
+
"visible": [
|
|
333
|
+
"#mineInvites",
|
|
334
|
+
"#guildInviteList",
|
|
335
|
+
"#guildRequestList",
|
|
336
|
+
"#guildInviteList .guildRow:first-child .guildCount"
|
|
337
|
+
],
|
|
338
|
+
"count": [
|
|
339
|
+
[
|
|
340
|
+
"#guildInviteList .guildRow",
|
|
341
|
+
2
|
|
342
|
+
],
|
|
343
|
+
[
|
|
344
|
+
"#guildRequestList .guildRow",
|
|
345
|
+
2
|
|
346
|
+
],
|
|
347
|
+
[
|
|
348
|
+
"#guildInviteList .guildRow .guildCount",
|
|
349
|
+
2
|
|
350
|
+
],
|
|
351
|
+
[
|
|
352
|
+
"#guildRequestList .guildRow .guildCount",
|
|
353
|
+
0
|
|
354
|
+
]
|
|
355
|
+
],
|
|
356
|
+
"text": [
|
|
357
|
+
[
|
|
358
|
+
"#guildInviteList .guildRow:nth-child(1) .mineRow__name",
|
|
359
|
+
"You’re invited to join Open Hands"
|
|
360
|
+
],
|
|
361
|
+
[
|
|
362
|
+
"#guildInviteList .guildRow:nth-child(2) .mineRow__name",
|
|
363
|
+
"You’re invited to join Quiet Room"
|
|
364
|
+
],
|
|
365
|
+
[
|
|
366
|
+
"#guildInviteList .guildRow:nth-child(1) .guildCount__what",
|
|
367
|
+
"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."
|
|
368
|
+
],
|
|
369
|
+
[
|
|
370
|
+
"#guildRequestList .guildRow:nth-child(1) .mineRow__name",
|
|
371
|
+
"Tomás Ek asked to join Night Shift"
|
|
372
|
+
],
|
|
373
|
+
[
|
|
374
|
+
"#guildRequestList .guildRow:nth-child(2) .mineRow__name",
|
|
375
|
+
"@kai-lowe asked to join Night Shift"
|
|
376
|
+
]
|
|
377
|
+
],
|
|
378
|
+
"checked": "#guildInviteList .guildRow:first-child input[value=\"on\"]"
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
"in-guild-count-off": {
|
|
382
|
+
"auth": true,
|
|
383
|
+
"url": "/invitations",
|
|
384
|
+
"actions": [
|
|
385
|
+
[
|
|
386
|
+
"wait",
|
|
387
|
+
900
|
|
388
|
+
],
|
|
389
|
+
[
|
|
390
|
+
"click",
|
|
391
|
+
"#guildInviteList .guildRow:first-child .guildCount__opt:nth-child(2)"
|
|
392
|
+
],
|
|
393
|
+
[
|
|
394
|
+
"wait",
|
|
395
|
+
150
|
|
396
|
+
]
|
|
397
|
+
],
|
|
398
|
+
"expect": {
|
|
399
|
+
"checked": "#guildInviteList .guildRow:first-child input[value=\"off\"]",
|
|
400
|
+
"text": [
|
|
401
|
+
[
|
|
402
|
+
"#guildInviteList .guildRow:first-child .guildCount__what",
|
|
403
|
+
"Your numbers are left out of this guild’s totals, from its next weekly count."
|
|
404
|
+
],
|
|
405
|
+
[
|
|
406
|
+
"#guildInviteList .guildRow:first-child .btn",
|
|
407
|
+
"Accept"
|
|
408
|
+
]
|
|
409
|
+
]
|
|
410
|
+
}
|
|
411
|
+
},
|
|
412
|
+
"in-guild-joined": {
|
|
413
|
+
"auth": true,
|
|
414
|
+
"url": "/invitations",
|
|
415
|
+
"actions": [
|
|
416
|
+
[
|
|
417
|
+
"wait",
|
|
418
|
+
900
|
|
419
|
+
],
|
|
420
|
+
[
|
|
421
|
+
"click",
|
|
422
|
+
"#guildInviteList .guildRow:first-child .guildCount__opt:nth-child(2)"
|
|
423
|
+
],
|
|
424
|
+
[
|
|
425
|
+
"click",
|
|
426
|
+
"#guildInviteList .guildRow:first-child .btn"
|
|
427
|
+
],
|
|
428
|
+
[
|
|
429
|
+
"wait",
|
|
430
|
+
400
|
|
431
|
+
]
|
|
432
|
+
],
|
|
433
|
+
"expect": {
|
|
434
|
+
"hidden": [
|
|
435
|
+
"#guildInviteList .guildRow:first-child .btn.ghost + .btn"
|
|
436
|
+
],
|
|
437
|
+
"hasClass": [
|
|
438
|
+
[
|
|
439
|
+
"#guildInviteList .guildRow:first-child .projMsg",
|
|
440
|
+
"ok"
|
|
441
|
+
],
|
|
442
|
+
[
|
|
443
|
+
"#guildInviteList .guildRow:first-child .btn",
|
|
444
|
+
"ghost"
|
|
445
|
+
]
|
|
446
|
+
],
|
|
447
|
+
"text": [
|
|
448
|
+
[
|
|
449
|
+
"#guildInviteList .guildRow:first-child .btn",
|
|
450
|
+
"Joined"
|
|
451
|
+
],
|
|
452
|
+
[
|
|
453
|
+
"#guildInviteList .guildRow:first-child .projMsg",
|
|
454
|
+
"You’ve joined Open Hands, and your numbers are left out of its totals."
|
|
455
|
+
]
|
|
456
|
+
]
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
},
|
|
460
|
+
"reducedMotion": {
|
|
461
|
+
"auth": true,
|
|
462
|
+
"actions": [
|
|
463
|
+
[
|
|
464
|
+
"click",
|
|
465
|
+
"#projTrig"
|
|
466
|
+
],
|
|
467
|
+
[
|
|
468
|
+
"wait",
|
|
469
|
+
100
|
|
470
|
+
]
|
|
471
|
+
]
|
|
472
|
+
}
|
|
473
|
+
}
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
<li class="bandCell"><a class="bandT" href="/projects?view=mine">My projects</a></li>
|
|
85
85
|
<!-- apex-only because /account is: it is served only where platform-identity
|
|
86
86
|
runs, so a child instance loses the item whole (as on projects.html) -->
|
|
87
|
-
<!--apex-only:start--><li class="bandCell"><a class="bandT" href="/account">Account</a></li><!--apex-only:end-->
|
|
87
|
+
<!--apex-only:start--><li class="bandCell"><a class="bandT" href="/invitations">Invitations</a></li><li class="bandCell"><a class="bandT" href="/account">Account</a></li><!--apex-only:end-->
|
|
88
88
|
<!-- the honest hover target; assets/hub-bar.js upgrades the click to the POST -->
|
|
89
89
|
<li class="bandCell"><a class="bandT signout" href="/api/bongos/auth/logout">Sign out</a></li>
|
|
90
90
|
</ul>
|