@bongos/core 1.21.53 → 1.21.55
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 +33 -28
- package/docs/file-map.md +1 -0
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +2 -1
- package/docs/page-readings.json +88 -79
- package/modules/government/docket.js +9 -4
- package/modules/hall-ui/public/street-card.css +18 -0
- package/modules/hall-ui/public/street-card.js +285 -5
- package/modules/hall-ui/public/street-desk.js +51 -10
- package/modules/hall-ui/public/street.css +2 -0
- package/modules/hall-ui/public/street.html +4 -4
- package/modules/hall-ui/public/street.js +180 -18
- package/modules/hall-ui/public/street.states.json +41 -1
- package/modules/hall-ui/records/governor-street.md +28 -0
- package/modules/lifecycle/goal-category.js +15 -0
- package/modules/lifecycle/routes/project-settings.js +42 -7
- 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/tests/goal_category.mjs +16 -0
- package/tests/hall_street_desk.mjs +541 -9
- package/tests/privacy_matrix.mjs +689 -0
package/.bongos-core.json
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
"artifact": "bongos-core",
|
|
3
3
|
"manifest_schema": 1,
|
|
4
4
|
"generator": "scripts/gds/package-core.js",
|
|
5
|
-
"core_version": "1.21.
|
|
6
|
-
"core_contract": "1.21.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.21.55",
|
|
6
|
+
"core_contract": "1.21.55",
|
|
7
|
+
"source_commit": "1864ecd11c97630fa5f4633056f1839564384e92",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-10-
|
|
9
|
+
"built_at": "2026-10-05T00:36:13.382Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 582,
|
|
13
13
|
"agent_docs_stubbed": 28,
|
|
14
|
-
"functional_verbatim":
|
|
14
|
+
"functional_verbatim": 2933,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 3544,
|
|
20
|
+
"tree_sha256": "38d5adac392fe84690cb4880851a98170bcf415374a17a882d070b97cb8e7625",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -2822,7 +2822,7 @@
|
|
|
2822
2822
|
{
|
|
2823
2823
|
"path": "docs/file-map.md",
|
|
2824
2824
|
"mode": "0000644",
|
|
2825
|
-
"sha256": "
|
|
2825
|
+
"sha256": "b7de27150a5254d894b854f93b1548edabd5389592896c53e851ceca355199e4"
|
|
2826
2826
|
},
|
|
2827
2827
|
{
|
|
2828
2828
|
"path": "docs/handoff-template.md",
|
|
@@ -2832,7 +2832,7 @@
|
|
|
2832
2832
|
{
|
|
2833
2833
|
"path": "docs/module-api-changelog.md",
|
|
2834
2834
|
"mode": "0000644",
|
|
2835
|
-
"sha256": "
|
|
2835
|
+
"sha256": "b3a234ea27a7e2a48a8e99f66b18bed4a8028609b7acdfeb529c2a3fa73b02c5"
|
|
2836
2836
|
},
|
|
2837
2837
|
{
|
|
2838
2838
|
"path": "docs/modules-contract.md",
|
|
@@ -2917,12 +2917,12 @@
|
|
|
2917
2917
|
{
|
|
2918
2918
|
"path": "docs/page-inventory.json",
|
|
2919
2919
|
"mode": "0000644",
|
|
2920
|
-
"sha256": "
|
|
2920
|
+
"sha256": "94ced703e26214d875077545403f98785c8aca04c65e8a4e9366e86c48d51b51"
|
|
2921
2921
|
},
|
|
2922
2922
|
{
|
|
2923
2923
|
"path": "docs/page-readings.json",
|
|
2924
2924
|
"mode": "0000644",
|
|
2925
|
-
"sha256": "
|
|
2925
|
+
"sha256": "43ed6054c60200b76fb244ccbe6428143d29511bfc76386ffa8f10fa28661428"
|
|
2926
2926
|
},
|
|
2927
2927
|
{
|
|
2928
2928
|
"path": "docs/project-context.template.md",
|
|
@@ -4902,7 +4902,7 @@
|
|
|
4902
4902
|
{
|
|
4903
4903
|
"path": "modules/government/docket.js",
|
|
4904
4904
|
"mode": "0000644",
|
|
4905
|
-
"sha256": "
|
|
4905
|
+
"sha256": "0b2c0ea001eef63401d14dbb95a5d3a46aa2f5b298d40945b901fb5fff54517f"
|
|
4906
4906
|
},
|
|
4907
4907
|
{
|
|
4908
4908
|
"path": "modules/government/membership-predicate.js",
|
|
@@ -6207,12 +6207,12 @@
|
|
|
6207
6207
|
{
|
|
6208
6208
|
"path": "modules/hall-ui/public/street-card.css",
|
|
6209
6209
|
"mode": "0000644",
|
|
6210
|
-
"sha256": "
|
|
6210
|
+
"sha256": "7c635571a875b07630ffa2c8ef0b08e4c6f5797f28da45d6e7d7b4dfe086d515"
|
|
6211
6211
|
},
|
|
6212
6212
|
{
|
|
6213
6213
|
"path": "modules/hall-ui/public/street-card.js",
|
|
6214
6214
|
"mode": "0000644",
|
|
6215
|
-
"sha256": "
|
|
6215
|
+
"sha256": "8cc05311b6691ba8da9a5bcc5c464e92840fed19b236258836540eb64eeaa2f0"
|
|
6216
6216
|
},
|
|
6217
6217
|
{
|
|
6218
6218
|
"path": "modules/hall-ui/public/street-card.states.json",
|
|
@@ -6222,7 +6222,7 @@
|
|
|
6222
6222
|
{
|
|
6223
6223
|
"path": "modules/hall-ui/public/street-desk.js",
|
|
6224
6224
|
"mode": "0000644",
|
|
6225
|
-
"sha256": "
|
|
6225
|
+
"sha256": "bee1e84349aebb1b7cde211e27655488ef48a976760c4dd7db8e769d9df4597d"
|
|
6226
6226
|
},
|
|
6227
6227
|
{
|
|
6228
6228
|
"path": "modules/hall-ui/public/street-draw.js",
|
|
@@ -6237,22 +6237,22 @@
|
|
|
6237
6237
|
{
|
|
6238
6238
|
"path": "modules/hall-ui/public/street.css",
|
|
6239
6239
|
"mode": "0000644",
|
|
6240
|
-
"sha256": "
|
|
6240
|
+
"sha256": "2f10306261ed4b5130dbff82df1aec547f9c100c1973e797dd4dc3c81bf67cf2"
|
|
6241
6241
|
},
|
|
6242
6242
|
{
|
|
6243
6243
|
"path": "modules/hall-ui/public/street.html",
|
|
6244
6244
|
"mode": "0000644",
|
|
6245
|
-
"sha256": "
|
|
6245
|
+
"sha256": "3e08c2f7029a7f93cccc373daf0991cd0bf49287e33d3776d1a14eef066f69e2"
|
|
6246
6246
|
},
|
|
6247
6247
|
{
|
|
6248
6248
|
"path": "modules/hall-ui/public/street.js",
|
|
6249
6249
|
"mode": "0000644",
|
|
6250
|
-
"sha256": "
|
|
6250
|
+
"sha256": "a8c4ac040b8bab2d96f4d7c834901fc959f62f2b260c5920588c3cabd796c4a2"
|
|
6251
6251
|
},
|
|
6252
6252
|
{
|
|
6253
6253
|
"path": "modules/hall-ui/public/street.states.json",
|
|
6254
6254
|
"mode": "0000644",
|
|
6255
|
-
"sha256": "
|
|
6255
|
+
"sha256": "e1c3338d485129f31886c2837e8fe7fd0372fe6a609f0be4dfa368988f372d29"
|
|
6256
6256
|
},
|
|
6257
6257
|
{
|
|
6258
6258
|
"path": "modules/hall-ui/public/studio-lib.js",
|
|
@@ -6467,7 +6467,7 @@
|
|
|
6467
6467
|
{
|
|
6468
6468
|
"path": "modules/hall-ui/records/governor-street.md",
|
|
6469
6469
|
"mode": "0000644",
|
|
6470
|
-
"sha256": "
|
|
6470
|
+
"sha256": "bfd8e0a369e12843b0265026db04dc1fe43e05ab44a42111bacec1bd4333eedf"
|
|
6471
6471
|
},
|
|
6472
6472
|
{
|
|
6473
6473
|
"path": "modules/hall-ui/records/hall-navigation.md",
|
|
@@ -6932,7 +6932,7 @@
|
|
|
6932
6932
|
{
|
|
6933
6933
|
"path": "modules/lifecycle/goal-category.js",
|
|
6934
6934
|
"mode": "0000644",
|
|
6935
|
-
"sha256": "
|
|
6935
|
+
"sha256": "7d171a84adcdb1c2462bdd31c6d7deb606adf94ca24fda12db65ec4710fe90bd"
|
|
6936
6936
|
},
|
|
6937
6937
|
{
|
|
6938
6938
|
"path": "modules/lifecycle/goal-close-sweep.js",
|
|
@@ -7277,7 +7277,7 @@
|
|
|
7277
7277
|
{
|
|
7278
7278
|
"path": "modules/lifecycle/routes/project-settings.js",
|
|
7279
7279
|
"mode": "0000644",
|
|
7280
|
-
"sha256": "
|
|
7280
|
+
"sha256": "d9ea6b9a8f2290c8618ced3da55547a07f86f02cdaba04e7ec6dd5c4a81b8616"
|
|
7281
7281
|
},
|
|
7282
7282
|
{
|
|
7283
7283
|
"path": "modules/lifecycle/routes/recommendations.js",
|
|
@@ -9902,12 +9902,12 @@
|
|
|
9902
9902
|
{
|
|
9903
9903
|
"path": "package-lock.json",
|
|
9904
9904
|
"mode": "0000644",
|
|
9905
|
-
"sha256": "
|
|
9905
|
+
"sha256": "1fb8d3ba8afb6daef58842d961f477020740f14dcdf5b2c185612f84dfa9f560"
|
|
9906
9906
|
},
|
|
9907
9907
|
{
|
|
9908
9908
|
"path": "package.json",
|
|
9909
9909
|
"mode": "0000644",
|
|
9910
|
-
"sha256": "
|
|
9910
|
+
"sha256": "4ef9def1dd7cafe0b776a5653dd46696e466699e1559fa75eaa186950a6e98f7"
|
|
9911
9911
|
},
|
|
9912
9912
|
{
|
|
9913
9913
|
"path": "public-docs/index.html",
|
|
@@ -9927,7 +9927,7 @@
|
|
|
9927
9927
|
{
|
|
9928
9928
|
"path": "release-notes.json",
|
|
9929
9929
|
"mode": "0000644",
|
|
9930
|
-
"sha256": "
|
|
9930
|
+
"sha256": "23a987a10627a685bd963312f0d8d681a7db503f82068cbd0c8f562b1df0bd8c"
|
|
9931
9931
|
},
|
|
9932
9932
|
{
|
|
9933
9933
|
"path": "scripts/cron/style_guide_audit.sh",
|
|
@@ -12147,7 +12147,7 @@
|
|
|
12147
12147
|
{
|
|
12148
12148
|
"path": "src/module-api.js",
|
|
12149
12149
|
"mode": "0000644",
|
|
12150
|
-
"sha256": "
|
|
12150
|
+
"sha256": "5f1b67a5cb08bd13acb08bfec265814632d046cb44adff27140cceab0666823c"
|
|
12151
12151
|
},
|
|
12152
12152
|
{
|
|
12153
12153
|
"path": "src/module-loader/catalog.js",
|
|
@@ -13817,7 +13817,7 @@
|
|
|
13817
13817
|
{
|
|
13818
13818
|
"path": "tests/goal_category.mjs",
|
|
13819
13819
|
"mode": "0000644",
|
|
13820
|
-
"sha256": "
|
|
13820
|
+
"sha256": "0f21ed0244ece6c1ccf38f34cc3602370360e4cfde90227b1293238f5bf76a52"
|
|
13821
13821
|
},
|
|
13822
13822
|
{
|
|
13823
13823
|
"path": "tests/goal_category_ui.mjs",
|
|
@@ -14557,7 +14557,7 @@
|
|
|
14557
14557
|
{
|
|
14558
14558
|
"path": "tests/hall_street_desk.mjs",
|
|
14559
14559
|
"mode": "0000644",
|
|
14560
|
-
"sha256": "
|
|
14560
|
+
"sha256": "7fb9381e6e1b178c2d70f67de23a656e9bc14b45d46345b9a3e9f5066450a3d1"
|
|
14561
14561
|
},
|
|
14562
14562
|
{
|
|
14563
14563
|
"path": "tests/hall_street_inside.mjs",
|
|
@@ -15834,6 +15834,11 @@
|
|
|
15834
15834
|
"mode": "0000644",
|
|
15835
15835
|
"sha256": "3c85d28ecc55e375988f3e55aee993c8c84220889678262d8207146c2772f3f5"
|
|
15836
15836
|
},
|
|
15837
|
+
{
|
|
15838
|
+
"path": "tests/privacy_matrix.mjs",
|
|
15839
|
+
"mode": "0000644",
|
|
15840
|
+
"sha256": "c409bf3f72c33086ccd75e65dc019297e38029c71b5bb6bec9ecc08e4c34d929"
|
|
15841
|
+
},
|
|
15837
15842
|
{
|
|
15838
15843
|
"path": "tests/probe_cache.mjs",
|
|
15839
15844
|
"mode": "0000644",
|
package/docs/file-map.md
CHANGED
|
@@ -358,6 +358,7 @@ tests/
|
|
|
358
358
|
├── terms_acceptance.mjs ← (task 1002913, goal 1000045, ADR 0213): the platform T&C acceptance record. Proves the four properties that make it evidence rather than a claim — the /terms page carries the cross-project consent ADR 0141 §4 deferred to it and it is apex-only; acceptance is written ONLY by the hub's own /sso/authorize (driven over the real router with an attacker-controlled query string, so a forged timestamp/version/activate flag reaches nothing); it is written ONCE (the fake pool interprets the upsert's own column assignments, so COALESCE is executed, not string-matched, and an assignment shape it cannot read throws instead of reading as "unchanged"); and consent is two columns in the shared predicate, so an account the hub witnessed before the terms existed publishes nothing. Plus the projection rule — every read whose row a JS twin judges must select both consent columns, or the twin denies everyone silently. DB-free `unit` lane, asserts its own lane membership.
|
|
359
359
|
├── applicant_profile_boundary.mjs ← (task 1002972, goal 1000045 C4, privacy spec D7, ADR 0241): THE D7 BOUNDARY proof for the applicant view a reviewer sees. Whitelists read from the MODULES’ own exports — the private branch against `recruiter-sliver`’s `SLIVER_KEYS`/`SLIVER_KEYS_HIDDEN`, the public branch against the public-page payload’s key list — so a third shape (the “new disclosure class” D7 forbids) reds this file. Pins THE CONSENT SWAP in both directions on the same account: a private builder who never opted into recruiting gets an applicant view and gets `null` from `getRecruiterSliver`, so a refactor routing the port through the recruiter sliver cannot pass quietly. `hide_stats` beats the application in both branches; provisional and terms-never-accepted disclose nothing; planted sentinels asserted absent from the whole body with the avatar-embedded `github_id` pinned as the one honest exception. Plus the federated gate (ADR 0205): no echo → 404 and NO account row read (asserted on the statement log), the witness matched against the AUTHENTICATED client, an out-of-window echo stops working, and `Cache-Control: no-store`. Real router + real HTTP over in-memory tables filtered by each statement’s own WHERE clause. DB-free `unit` lane, asserted in the file itself.
|
|
360
360
|
├── recruiter_sliver_boundary.mjs ← (task 1002968, goal 1000045 C2/C5, privacy spec D3, ADR 0215): THE PRE-ACCEPT BOUNDARY proof for the D3 recruiter sliver. A WHITELIST over the module's own exported key list (a sixth key fails whether or not this file was told about it), planted improbable sentinels asserted absent from the WHOLE response body with two controls against vacuity, the ceiling assertion (the handle a recruiter is handed 404s at `GET /profiles/:handle`, with a 200 control) and the gate (both recruiting routes admit the same two audiences and refuse byte-identically). Real router + real HTTP over an in-memory table filtered by each statement's own WHERE clause. DB-free `unit` lane, asserted in the file itself.
|
|
361
|
+
├── privacy_matrix.mjs ← (task 1002973, goal 1000110, privacy spec D2/D3/D4): THE PRIVACY MATRIX as one table — a fixture account per D2 row (provisional, public shown, public hidden, private, private+discoverable, private+discoverable+hidden, opted out of recruiting) × every viewer (Anon, Builder, Recruiter, Self) × every cross-project surface that exists (`/profiles/:handle`, `/me/cross-project`, `/community/search`, `/community/leaderboard`, `/scouting`, `/scouting/:handle`), asserted against a literal transcription of the spec's cells; then the rules swept across EVERY recorded response (hidden numbers reach nobody but Self, private/provisional are absent, private+discoverable is named only by the sliver), the D3 key lists pinned, and an expired invite refused by the real `hasInvitedAccessRequest`. Real routers + real HTTP over in-memory tables filtered by each statement's own WHERE (boolean structure read, calibrated against the JS twins). The declined-invite row is task 1004444's. DB-free `unit` lane, asserted in the file itself.
|
|
361
362
|
└── public_task_resolver.mjs ← (#604): the public `/public/tasks/:id` projection — title/value_summary exposed only for shipped|confirmed; withheld for in-flight so unshipped/security task names can't leak.
|
|
362
363
|
```
|
|
363
364
|
|
|
@@ -2933,5 +2933,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
2933
2933
|
landed since 1.21.51 with no explicit bump. run 37243572142. (task 1002620)
|
|
2934
2934
|
1.21.53 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2935
2935
|
landed since 1.21.52 with no explicit bump. run 37244559329. (task 1002620)
|
|
2936
|
+
1.21.54 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2937
|
+
landed since 1.21.53 with no explicit bump. run 37245549793. (task 1002620)
|
|
2938
|
+
1.21.55 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2939
|
+
landed since 1.21.54 with no explicit bump. run 37248119513. (task 1002620)
|
|
2936
2940
|
---------------------------------------------------------------------------
|
|
2937
2941
|
```
|
package/docs/page-inventory.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"pages": 42,
|
|
14
14
|
"surfaces": 3,
|
|
15
15
|
"with_states": 35,
|
|
16
|
-
"states":
|
|
16
|
+
"states": 273
|
|
17
17
|
},
|
|
18
18
|
"surfaces": [
|
|
19
19
|
{
|
|
@@ -1037,6 +1037,7 @@
|
|
|
1037
1037
|
"desk-automation-goals",
|
|
1038
1038
|
"desk-release-core",
|
|
1039
1039
|
"desk-rules",
|
|
1040
|
+
"desk-rules-category",
|
|
1040
1041
|
"desk-planning-priorities",
|
|
1041
1042
|
"desk-planning-ideas",
|
|
1042
1043
|
"desk-planning-blockers",
|
package/docs/page-readings.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"adr": "0341 D3",
|
|
6
6
|
"reread": "node scripts/gds/page-reader.js --stale",
|
|
7
7
|
"how": ["Generated by node scripts/gds/page-reader.js (BV2.TW04, task 1004315; ADR 0341 D3). Do not hand-edit.","One entry per page of docs/page-inventory.json. Lines are in page order: the default state first, and a line only another state shows sits where that state shows it, with its state named.","placement: placed = a docs/copy-registry.json row renders it (file, line, string_id); shared = shell text every page of the surface carries (top bar, sidebar, footer), with its row when the registry has one; unplaced = the registry cannot place it (a rewrite becomes an engineer task, ADR 0341 D4).","text keeps {…} where the registry row has a hole, or where a value the page read from its API was filled in. A string that is only such data is counted under omitted.data, not listed.","reading_hash is over the non-shared lines (key, section, text); files_hash is over the page's inventory files. --check compares files_hash only and never opens a browser.","Rendered through the hall-preview harness (hall) and the ui-design kit stub (landing, status), at 1280x800 with the clock pinned, so a reading is the fixture world's page."],
|
|
8
|
-
"counts": {"pages":42,"lines":
|
|
8
|
+
"counts": {"pages":42,"lines":4942,"placed":1558,"shared":385,"unplaced":2999,"omitted_data":2472},
|
|
9
9
|
"pages": [
|
|
10
10
|
{
|
|
11
11
|
"id": "builders:atlas",
|
|
@@ -3077,11 +3077,11 @@
|
|
|
3077
3077
|
"id": "builders:street",
|
|
3078
3078
|
"surface": "builders",
|
|
3079
3079
|
"title": "The street",
|
|
3080
|
-
"states_read": ["street","fullscreen","card","switched","focus","here","inside-rules","inside-disputes","inside-people","inside-planning","inside-automation","inside-review","inside-release","inside-treasury","floor","amend","district","desk","desk-facts","desk-quiet","desk-people-builders","desk-people-tier","desk-disputes","desk-automation-goals","desk-release-core","desk-rules","desk-planning-priorities","desk-planning-ideas","desk-planning-blockers","pins","pins-pager","sitting","object","voted","admission","settled","blocker","blocker-more","report","report-more","core","core-more","recheck","recheck-more","idea","idea-more","queue","queue-more","automation","automation-more"],
|
|
3081
|
-
"files_hash": "
|
|
3082
|
-
"reading_hash": "
|
|
3083
|
-
"counts": {"lines":
|
|
3084
|
-
"omitted": {"data":
|
|
3080
|
+
"states_read": ["street","fullscreen","card","switched","focus","here","inside-rules","inside-disputes","inside-people","inside-planning","inside-automation","inside-review","inside-release","inside-treasury","floor","amend","district","desk","desk-facts","desk-quiet","desk-people-builders","desk-people-tier","desk-disputes","desk-automation-goals","desk-release-core","desk-rules","desk-rules-category","desk-planning-priorities","desk-planning-ideas","desk-planning-blockers","pins","pins-pager","sitting","object","voted","admission","settled","blocker","blocker-more","report","report-more","core","core-more","recheck","recheck-more","idea","idea-more","queue","queue-more","automation","automation-more"],
|
|
3081
|
+
"files_hash": "5b176192a6bbc23e",
|
|
3082
|
+
"reading_hash": "e3d864f627eddabc",
|
|
3083
|
+
"counts": {"lines":438,"placed":79,"shared":8,"unplaced":351},
|
|
3084
|
+
"omitted": {"data":478},
|
|
3085
3085
|
"notes": ["fullscreen: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","card: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","switched: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","floor: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","amend: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","settled: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","blocker: an action failed (page.evaluate: Error: dispatchClick: nothing matches .street-pin[data-matter=\"blockers:11\"]); read as it stood","blocker-more: an action failed (page.evaluate: Error: dispatchClick: nothing matches .street-pin[data-matter=\"blockers:11\"]); read as it stood","recheck: an action failed (page.evaluate: Error: dispatchClick: nothing matches .street-pin[data-matter=\"module_rechecks:7\"]); read as it stood","recheck-more: an action failed (page.evaluate: Error: dispatchClick: nothing matches .street-pin[data-matter=\"module_rechecks:7\"]); read as it stood"],
|
|
3086
3086
|
"lines": [
|
|
3087
3087
|
{"key":"L0001","section":"skip link","text":"Skip to content","placement":"shared","file":"modules/hall-ui/public/shell.js","line":811,"string_id":"87cee78ca134"},
|
|
@@ -3388,7 +3388,7 @@
|
|
|
3388
3388
|
{"key":"L0302","section":"Waiting on {…}","text":"sep","placement":"unplaced","state":"desk-planning-blockers"},
|
|
3389
3389
|
{"key":"L0303","section":"Waiting on {…}","text":"needs you","placement":"placed","file":"modules/hall-ui/public/street.html","line":77,"string_id":"e07cafb1f696","state":"desk-planning-blockers"},
|
|
3390
3390
|
{"key":"L0304","section":"Priorities","text":"Priorities","placement":"unplaced","state":"desk-planning-priorities"},
|
|
3391
|
-
{"key":"L0305","section":"Priorities","text":"
|
|
3391
|
+
{"key":"L0305","section":"Priorities","text":"{…} in order","placement":"unplaced","state":"desk-planning-priorities"},
|
|
3392
3392
|
{"key":"L0306","section":"Priorities","text":"{…} kept","placement":"unplaced","state":"desk-planning-priorities"},
|
|
3393
3393
|
{"key":"L0307","section":"Priorities","text":"on record","placement":"unplaced","state":"desk-planning-priorities"},
|
|
3394
3394
|
{"key":"L0308","section":"Priorities","text":"PA","placement":"unplaced","state":"desk-planning-priorities"},
|
|
@@ -3441,78 +3441,87 @@
|
|
|
3441
3441
|
{"key":"L0355","section":"{…} in {…}","text":"not from here","placement":"unplaced","state":"inside-rules"},
|
|
3442
3442
|
{"key":"L0356","section":"{…} in {…}","text":"RT","placement":"unplaced","state":"inside-rules"},
|
|
3443
3443
|
{"key":"L0357","section":"{…} in {…}","text":"set","placement":"unplaced","state":"inside-rules"},
|
|
3444
|
-
{"key":"L0358","section":"{…} in {…}","text":"
|
|
3445
|
-
{"key":"L0359","section":"{…} in {…}","text":"
|
|
3446
|
-
{"key":"L0360","section":"{…} in {…}","text":"
|
|
3447
|
-
{"key":"L0361","section":"{…} in {…}","text":"
|
|
3448
|
-
{"key":"L0362","section":"{…} in {…}","text":"
|
|
3449
|
-
{"key":"L0363","section":"{…} in {…}","text":"
|
|
3450
|
-
{"key":"L0364","section":"{…} in {…}","text":"
|
|
3451
|
-
{"key":"L0365","section":"{…} in {…}","text":"
|
|
3452
|
-
{"key":"L0366","section":"{…} in {…}","text":"
|
|
3453
|
-
{"key":"L0367","section":"{…} in {…}","text":"
|
|
3454
|
-
{"key":"L0368","section":"{…} in {…}","text":"
|
|
3455
|
-
{"key":"L0369","section":"{…} in {…}","text":"
|
|
3456
|
-
{"key":"L0370","section":"{…} in {…}","text":"
|
|
3457
|
-
{"key":"L0371","section":"{…} in {…}","text":"
|
|
3458
|
-
{"key":"L0372","section":"{…} in {…}","text":"
|
|
3459
|
-
{"key":"L0373","section":"{…} in {…}","text":"
|
|
3460
|
-
{"key":"L0374","section":"{…} in {…}","text":"
|
|
3461
|
-
{"key":"L0375","section":"{…}","text":"{…}
|
|
3462
|
-
{"key":"L0376","section":"{…}","text":"
|
|
3463
|
-
{"key":"L0377","section":"{…}","text":"
|
|
3464
|
-
{"key":"L0378","section":"{…}","text":"
|
|
3465
|
-
{"key":"L0379","section":"{…}","text":"
|
|
3466
|
-
{"key":"L0380","section":"{…}","text":"
|
|
3467
|
-
{"key":"L0381","section":"{…}","text":"
|
|
3468
|
-
{"key":"L0382","section":"
|
|
3469
|
-
{"key":"L0383","section":"{…}","text":"
|
|
3470
|
-
{"key":"L0384","section":"
|
|
3471
|
-
{"key":"L0385","section":"{…}","text":"
|
|
3472
|
-
{"key":"L0386","section":"{…}","text":"
|
|
3473
|
-
{"key":"L0387","section":"{…}","text":"
|
|
3474
|
-
{"key":"L0388","section":"{…}","text":"
|
|
3475
|
-
{"key":"L0389","section":"{…}","text":"
|
|
3476
|
-
{"key":"L0390","section":"{…}","text":"
|
|
3477
|
-
{"key":"L0391","section":"
|
|
3478
|
-
{"key":"L0392","section":"{…}","text":"
|
|
3479
|
-
{"key":"L0393","section":"
|
|
3480
|
-
{"key":"L0394","section":"{…}","text":"
|
|
3481
|
-
{"key":"L0395","section":"{…}","text":"
|
|
3482
|
-
{"key":"L0396","section":"{…}","text":"
|
|
3483
|
-
{"key":"L0397","section":"{…}","text":"
|
|
3484
|
-
{"key":"L0398","section":"{…}","text":"
|
|
3485
|
-
{"key":"L0399","section":"{…}","text":"
|
|
3486
|
-
{"key":"L0400","section":"
|
|
3487
|
-
{"key":"L0401","section":"{…}","text":"
|
|
3488
|
-
{"key":"L0402","section":"{…}","text":"
|
|
3489
|
-
{"key":"L0403","section":"
|
|
3490
|
-
{"key":"L0404","section":"{…}","text":"
|
|
3491
|
-
{"key":"L0405","section":"{…}","text":"
|
|
3492
|
-
{"key":"L0406","section":"{…}","text":"
|
|
3493
|
-
{"key":"L0407","section":"{…}","text":"
|
|
3494
|
-
{"key":"L0408","section":"{…}","text":"
|
|
3495
|
-
{"key":"L0409","section":"
|
|
3496
|
-
{"key":"L0410","section":"{…}","text":"
|
|
3497
|
-
{"key":"L0411","section":"{…}","text":"
|
|
3498
|
-
{"key":"L0412","section":"
|
|
3499
|
-
{"key":"L0413","section":"{…}","text":"
|
|
3500
|
-
{"key":"L0414","section":"
|
|
3501
|
-
{"key":"L0415","section":"
|
|
3502
|
-
{"key":"L0416","section":"
|
|
3503
|
-
{"key":"L0417","section":"
|
|
3504
|
-
{"key":"L0418","section":"
|
|
3505
|
-
{"key":"L0419","section":"
|
|
3506
|
-
{"key":"L0420","section":"
|
|
3507
|
-
{"key":"L0421","section":"
|
|
3508
|
-
{"key":"L0422","section":"
|
|
3509
|
-
{"key":"L0423","section":"
|
|
3510
|
-
{"key":"L0424","section":"
|
|
3511
|
-
{"key":"L0425","section":"
|
|
3512
|
-
{"key":"L0426","section":"
|
|
3513
|
-
{"key":"L0427","section":"
|
|
3514
|
-
{"key":"L0428","section":"
|
|
3515
|
-
{"key":"L0429","section":"
|
|
3444
|
+
{"key":"L0358","section":"{…} in {…}","text":"SE","placement":"unplaced","state":"inside-rules"},
|
|
3445
|
+
{"key":"L0359","section":"{…} in {…}","text":"EC","placement":"unplaced","state":"inside-rules","occurrences":2},
|
|
3446
|
+
{"key":"L0360","section":"{…} in {…}","text":"BE","placement":"unplaced","state":"inside-rules"},
|
|
3447
|
+
{"key":"L0361","section":"{…} in {…}","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"desk-rules-category"},
|
|
3448
|
+
{"key":"L0362","section":"{…} in {…}","text":"move up","placement":"unplaced","state":"desk-rules-category"},
|
|
3449
|
+
{"key":"L0363","section":"{…} in {…}","text":"move {…}","placement":"unplaced","state":"desk-rules-category"},
|
|
3450
|
+
{"key":"L0364","section":"{…} in {…}","text":"MO","placement":"unplaced","state":"inside-rules"},
|
|
3451
|
+
{"key":"L0365","section":"{…} in {…}","text":"GO","placement":"unplaced","state":"inside-rules"},
|
|
3452
|
+
{"key":"L0366","section":"{…} in {…}","text":"BH","placement":"unplaced","state":"inside-rules"},
|
|
3453
|
+
{"key":"L0367","section":"{…} in {…}","text":"LE","placement":"unplaced","state":"inside-rules"},
|
|
3454
|
+
{"key":"L0368","section":"{…} in {…}","text":"bring back","placement":"unplaced","state":"inside-rules"},
|
|
3455
|
+
{"key":"L0369","section":"{…} in {…}","text":"NC","placement":"unplaced","state":"inside-rules"},
|
|
3456
|
+
{"key":"L0370","section":"{…} in {…}","text":"DI","placement":"unplaced","state":"inside-rules"},
|
|
3457
|
+
{"key":"L0371","section":"{…} in {…}","text":"turn off","placement":"unplaced","state":"inside-rules"},
|
|
3458
|
+
{"key":"L0372","section":"{…} in {…}","text":"turn on","placement":"unplaced","state":"inside-rules"},
|
|
3459
|
+
{"key":"L0373","section":"{…} in {…}","text":"record","placement":"unplaced","state":"inside-rules"},
|
|
3460
|
+
{"key":"L0374","section":"{…} in {…}","text":"The landing {…} sett… · today","placement":"unplaced","state":"inside-rules"},
|
|
3461
|
+
{"key":"L0375","section":"{…} in {…}","text":"The landing {…} {…}… · 4w","placement":"unplaced","state":"inside-rules"},
|
|
3462
|
+
{"key":"L0376","section":"{…} in {…}","text":"The landing {…} {…}… · 8w","placement":"unplaced","state":"inside-rules"},
|
|
3463
|
+
{"key":"L0377","section":"{…} in {…}","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":174,"string_id":"4bde7b562cf4","state":"inside-rules"},
|
|
3464
|
+
{"key":"L0378","section":"{…} in {…}","text":"1 matter on the docket · 3 on the record","placement":"unplaced","state":"inside-rules"},
|
|
3465
|
+
{"key":"L0379","section":"{…} in {…}","text":"oct","placement":"unplaced","state":"inside-rules"},
|
|
3466
|
+
{"key":"L0380","section":"{…} in {…}","text":"sep","placement":"unplaced","state":"inside-rules"},
|
|
3467
|
+
{"key":"L0381","section":"{…} in {…}","text":"aug","placement":"unplaced","state":"inside-rules"},
|
|
3468
|
+
{"key":"L0382","section":"{…} in {…}","text":"needs you","placement":"placed","file":"modules/hall-ui/public/street.html","line":77,"string_id":"e07cafb1f696","state":"inside-rules"},
|
|
3469
|
+
{"key":"L0383","section":"{…} in {…}","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":352,"string_id":"fd1903586e8e","state":"inside-rules"},
|
|
3470
|
+
{"key":"L0384","section":"{…}","text":"{…}: stop runner for performance…","placement":"unplaced","state":"automation"},
|
|
3471
|
+
{"key":"L0385","section":"{…}","text":"Whether work is built while no one is watching.","placement":"unplaced","state":"automation"},
|
|
3472
|
+
{"key":"L0386","section":"{…}","text":"{…} on","placement":"unplaced","state":"automation"},
|
|
3473
|
+
{"key":"L0387","section":"{…}","text":"less","placement":"unplaced","state":"automation-more","occurrences":5},
|
|
3474
|
+
{"key":"L0388","section":"{…}","text":"Raised by {…}. opened {…}","placement":"unplaced","state":"automation-more"},
|
|
3475
|
+
{"key":"L0389","section":"{…}","text":"how it is decided: {…}","placement":"unplaced","state":"automation-more","occurrences":4},
|
|
3476
|
+
{"key":"L0390","section":"{…}","text":"more","placement":"placed","file":"modules/hall-ui/public/gate.js","line":149,"string_id":"05da3082c8c5","state":"automation","occurrences":7},
|
|
3477
|
+
{"key":"L0391","section":"the street","text":"{…} · exports","placement":"unplaced","state":"queue"},
|
|
3478
|
+
{"key":"L0392","section":"{…}","text":"sign off","placement":"unplaced","state":"queue"},
|
|
3479
|
+
{"key":"L0393","section":"the street","text":"dec 31","placement":"unplaced","state":"idea"},
|
|
3480
|
+
{"key":"L0394","section":"{…}","text":"revised","placement":"unplaced","state":"idea"},
|
|
3481
|
+
{"key":"L0395","section":"{…}","text":"Read its sections under more, then vote.","placement":"unplaced","state":"idea"},
|
|
3482
|
+
{"key":"L0396","section":"{…}","text":"abstain","placement":"unplaced","state":"idea","occurrences":2},
|
|
3483
|
+
{"key":"L0397","section":"{…}","text":"what it is for","placement":"unplaced","state":"idea-more"},
|
|
3484
|
+
{"key":"L0398","section":"{…}","text":"the big picture","placement":"unplaced","state":"idea-more"},
|
|
3485
|
+
{"key":"L0399","section":"{…}","text":"why we had it","placement":"unplaced","state":"idea-more"},
|
|
3486
|
+
{"key":"L0400","section":"{…}","text":"why it matters","placement":"unplaced","state":"idea-more","occurrences":2},
|
|
3487
|
+
{"key":"L0401","section":"{…}","text":"how it fits the rest","placement":"unplaced","state":"idea-more"},
|
|
3488
|
+
{"key":"L0402","section":"{…}","text":"Put up by {…}. opened {…} · closes {…}","placement":"unplaced","state":"idea-more"},
|
|
3489
|
+
{"key":"L0403","section":"{…}","text":"an earlier sitting sent it back to be revised","placement":"unplaced","state":"idea-more"},
|
|
3490
|
+
{"key":"L0404","section":"{…}","text":"{…} · {…} voted for","placement":"unplaced","state":"idea-more"},
|
|
3491
|
+
{"key":"L0405","section":"{…}","text":"A newer {…} is out. Check it {…}; taking it moves the {…} pin.","placement":"unplaced","state":"core"},
|
|
3492
|
+
{"key":"L0406","section":"{…}","text":"take it","placement":"placed","file":"modules/hall-ui/public/studio.js","line":685,"string_id":"70bbd20d223f","state":"core"},
|
|
3493
|
+
{"key":"L0407","section":"{…}","text":"Target: /auth/sign-in","placement":"unplaced","state":"report"},
|
|
3494
|
+
{"key":"L0408","section":"{…}","text":"opened {…}","placement":"unplaced","state":"report-more"},
|
|
3495
|
+
{"key":"L0409","section":"the street","text":"sat","placement":"unplaced","state":"admission"},
|
|
3496
|
+
{"key":"L0410","section":"{…}","text":"The call is yours. Fine by you lets them in; an objection keeps them out.","placement":"unplaced","state":"admission"},
|
|
3497
|
+
{"key":"L0411","section":"{…}","text":"let in","placement":"unplaced","state":"admission"},
|
|
3498
|
+
{"key":"L0412","section":"the street","text":"oct 6","placement":"unplaced","state":"sitting"},
|
|
3499
|
+
{"key":"L0413","section":"{…}","text":"the change","placement":"unplaced","state":"sitting"},
|
|
3500
|
+
{"key":"L0414","section":"{…}","text":"3 for · 0 against · {…}","placement":"unplaced","state":"sitting"},
|
|
3501
|
+
{"key":"L0415","section":"{…}","text":"counsel","placement":"unplaced","state":"sitting"},
|
|
3502
|
+
{"key":"L0416","section":"{…}","text":"Everyone who votes has to agree, so one objection sends it back to Builder to revise. If you object, say what would answer it.","placement":"unplaced","state":"sitting"},
|
|
3503
|
+
{"key":"L0417","section":"{…}","text":"why","placement":"unplaced","state":"object"},
|
|
3504
|
+
{"key":"L0418","section":"{…}","text":"what it changes","placement":"unplaced","state":"object"},
|
|
3505
|
+
{"key":"L0419","section":"{…}","text":"its purpose","placement":"unplaced","state":"object"},
|
|
3506
|
+
{"key":"L0420","section":"{…}","text":"how it fits","placement":"unplaced","state":"object"},
|
|
3507
|
+
{"key":"L0421","section":"{…}","text":"how to measure","placement":"unplaced","state":"object"},
|
|
3508
|
+
{"key":"L0422","section":"{…}","text":"Your yes is on the record.","placement":"unplaced","state":"voted"},
|
|
3509
|
+
{"key":"L0423","section":"Pick the host for the preview builds before the {…} window…","text":"Pick the host for the preview builds before the {…} window…","placement":"unplaced","state":"pins-pager"},
|
|
3510
|
+
{"key":"L0424","section":"Pick the host for the preview builds before the {…} window…","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"pins-pager"},
|
|
3511
|
+
{"key":"L0425","section":"Pick the host for the preview builds before the {…} window…","text":"The preview builds need a host that can…","placement":"unplaced","state":"pins-pager"},
|
|
3512
|
+
{"key":"L0426","section":"Pick the host for the preview builds before the {…} window…","text":"It holds work until someone decides.","placement":"unplaced","state":"pins-pager"},
|
|
3513
|
+
{"key":"L0427","section":"Pick the host for the preview builds before the {…} window…","text":"pick one","placement":"unplaced","state":"pins-pager"},
|
|
3514
|
+
{"key":"L0428","section":"Pick the host for the preview builds before the {…} window…","text":"more","placement":"placed","file":"modules/hall-ui/public/gate.js","line":149,"string_id":"05da3082c8c5","state":"pins-pager"},
|
|
3515
|
+
{"key":"L0429","section":"the street","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":352,"string_id":"fd1903586e8e"},
|
|
3516
|
+
{"key":"L0430","section":"What are you doing now?","text":"What are you doing now?","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":353,"string_id":"60853319f290"},
|
|
3517
|
+
{"key":"L0431","section":"What are you doing now?","text":"Pick one. You can switch any time from the top bar.","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":354,"string_id":"4f87d5b17b54"},
|
|
3518
|
+
{"key":"L0432","section":"What are you doing now?","text":"Building","placement":"unplaced"},
|
|
3519
|
+
{"key":"L0433","section":"What are you doing now?","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","occurrences":3},
|
|
3520
|
+
{"key":"L0434","section":"What are you doing now?","text":"Artistry","placement":"unplaced"},
|
|
3521
|
+
{"key":"L0435","section":"What are you doing now?","text":"Ideating","placement":"unplaced"},
|
|
3522
|
+
{"key":"L0436","section":"What are you doing now?","text":"Turn thoughts into {…}.","placement":"unplaced"},
|
|
3523
|
+
{"key":"L0437","section":"What are you doing now?","text":"Governing","placement":"unplaced"},
|
|
3524
|
+
{"key":"L0438","section":"What are you doing now?","text":"Ask me again next session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":357,"string_id":"fa86bf403775"}
|
|
3516
3525
|
]
|
|
3517
3526
|
},
|
|
3518
3527
|
{
|
|
@@ -212,9 +212,9 @@ const MAX_ACTS = 2;
|
|
|
212
212
|
const MAX_OPTIONS = 5;
|
|
213
213
|
const ACT_KEY_RE = /^[a-z][a-z_]{1,23}$/;
|
|
214
214
|
const PICKS = Object.freeze(['open_goals']);
|
|
215
|
-
// The
|
|
216
|
-
// reason; reasons stay chips
|
|
217
|
-
const FIELDS = Object.freeze(['github_login']);
|
|
215
|
+
// The things a desk may type: a GitHub name to invite, and a work category's
|
|
216
|
+
// name (task 1004580). Each is a name, not a reason; reasons stay chips.
|
|
217
|
+
const FIELDS = Object.freeze(['github_login', 'name']);
|
|
218
218
|
function normalizeActs(raw) {
|
|
219
219
|
if (!Array.isArray(raw)) return [];
|
|
220
220
|
return raw.filter((a) => a && typeof a === 'object' && ACT_KEY_RE.test(String(a.key))).slice(0, MAX_ACTS).map((a) => {
|
|
@@ -267,14 +267,19 @@ function normalizeDeskRow(raw, { desk, building }) {
|
|
|
267
267
|
...deskExtras(raw),
|
|
268
268
|
};
|
|
269
269
|
}
|
|
270
|
-
//
|
|
270
|
+
// Optional shapes a desk row may carry (task 1004560): `pips`, promises kept
|
|
271
271
|
// of total drawn as squares (at most 12), and `set`, the ordered set the row sits
|
|
272
272
|
// in (a version id) so the desk can reorder its rows and save the order whole.
|
|
273
|
+
// Task 1004580: `seq`, a whole-number place the desk moves the row by in place
|
|
274
|
+
// (a work category's sort_order), and `stay`, a row that stays after an act
|
|
275
|
+
// because it is a thing being edited, not a matter decided.
|
|
273
276
|
function deskExtras(raw) {
|
|
274
277
|
const out = {};
|
|
275
278
|
const p = raw.pips;
|
|
276
279
|
if (p && Number.isInteger(p.of) && p.of > 0 && p.of <= 12 && Number.isInteger(p.on) && p.on >= 0 && p.on <= p.of) out.pips = { on: p.on, of: p.of };
|
|
277
280
|
if (typeof raw.set === 'string' && /^[A-Za-z0-9._-]{1,64}$/.test(raw.set)) out.set = raw.set;
|
|
281
|
+
if (Number.isSafeInteger(raw.seq)) out.seq = raw.seq;
|
|
282
|
+
if (raw.stay === true) out.stay = true;
|
|
278
283
|
return out;
|
|
279
284
|
}
|
|
280
285
|
|
|
@@ -82,6 +82,24 @@ body[data-page="street"] {
|
|
|
82
82
|
.mcard-chip[disabled] { opacity: .55; cursor: progress; }
|
|
83
83
|
.mcard-chips__field { flex: 1 1 140px; min-width: 0; height: 32px; box-sizing: border-box; padding: 0 10px; font-family: var(--font-body); font-size: 14px; color: var(--ink); background: var(--bg); border: 1px solid var(--street-rule-strong); border-radius: 8px; }
|
|
84
84
|
|
|
85
|
+
/* the recorded sign-off's one line (task 1004579), on the card and the desk row
|
|
86
|
+
alike: the file or the why, a hairline bar that fills while it is sent, and
|
|
87
|
+
the chips. The file input sits inside its chip, out of sight but focusable. */
|
|
88
|
+
.rec { position: relative; flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-bottom: 8px; }
|
|
89
|
+
.rec__line { flex: 1 1 160px; min-width: 0; font-size: 13.5px; color: var(--ink-soft); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
|
|
90
|
+
.rec--busy .rec__line { color: var(--ink); }
|
|
91
|
+
.rec--error .rec__line { color: var(--street-accent-text); white-space: normal; }
|
|
92
|
+
.rec__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 2px; background: var(--street-rule); overflow: hidden; }
|
|
93
|
+
.rec__bar[hidden] { display: none; }
|
|
94
|
+
.rec__fill { display: block; width: 0; height: 100%; border-radius: 2px; background: var(--accent); transition: width 200ms linear; }
|
|
95
|
+
.rec__pick { position: relative; display: inline-flex; align-items: center; box-sizing: border-box; }
|
|
96
|
+
.rec__file { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 0; }
|
|
97
|
+
.rec__file[disabled] { cursor: progress; }
|
|
98
|
+
.rec__pick:focus-within { outline: 2px solid var(--accent); outline-offset: 3px; }
|
|
99
|
+
.rec--over { outline: 1px dashed var(--accent); outline-offset: 4px; border-radius: 8px; }
|
|
100
|
+
.mcard-chip.rec__go { background: var(--accent); color: var(--accent-on); border-color: transparent; }
|
|
101
|
+
.desk-chip.rec__go { background: var(--ink); color: var(--bg); border-color: var(--ink); }
|
|
102
|
+
|
|
85
103
|
/* more: the detail, in place */
|
|
86
104
|
.mcard-more__toggle { margin-top: -2px; }
|
|
87
105
|
/* the pager: "1 of N" with previous and next, when a pin holds more than one matter (task 1004569) */
|