@bongos/core 1.21.73 → 1.21.74
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 +46 -31
- package/bin/bongos.js +1 -0
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +4 -0
- package/clients/bongos-client/index.cjs +4 -0
- package/clients/bongos-client/index.d.ts +7 -0
- package/clients/bongos-client/index.mjs +4 -0
- package/docs/adr/0369-ship-mode-decides-who-starts-a-ship-not-how-it-lands.md +44 -0
- package/docs/adr/README.md +1 -0
- package/docs/api/openapi.json +139 -3
- package/docs/api-reference.md +4 -2
- package/docs/copy-inventory.md +18 -14
- package/docs/copy-registry.json +72 -26
- package/docs/module-api-changelog.md +2 -0
- package/docs/page-readings.json +8 -8
- package/modules/hall-ui/public/project-settings.css +15 -0
- package/modules/hall-ui/public/project-settings.html +4 -4
- package/modules/hall-ui/public/project-settings.js +42 -0
- package/modules/lifecycle/routes/project-settings.js +65 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +6 -0
- package/scripts/gds/shipping-mode.js +71 -0
- package/src/bongos/project-settings.js +67 -0
- package/src/module-api.js +7 -1
- package/tests/project_settings_page.mjs +8 -5
- package/tests/ship_mode.mjs +171 -0
package/docs/copy-inventory.md
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
> Deterministic on a given tree — regenerate and commit rather than hand-editing.
|
|
5
5
|
> Machine-readable twin: [`copy-registry.json`](copy-registry.json).
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
**2604 strings** across 3 surfaces · 2211 distinct pieces of copy · 2604 certain, 0 heuristic · 231 shown in more than one place.
|
|
8
8
|
|
|
9
9
|
## Surfaces
|
|
10
10
|
|
|
11
11
|
| surface | lives at | files | strings |
|
|
12
12
|
|---|---|---|---|
|
|
13
|
-
| `builders-hall` | `modules/hall-ui/public` | 133 |
|
|
13
|
+
| `builders-hall` | `modules/hall-ui/public` | 133 | 1836 |
|
|
14
14
|
| `status-dashboard` | `modules/status-ui/public` | 4 | 100 |
|
|
15
15
|
| `landing` | `modules/public-landing/public` | 8 | 668 |
|
|
16
16
|
|
|
@@ -76,9 +76,9 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
76
76
|
| `9c728558d6e7` | 3x | Drachmae & karma | modules/hall-ui/public/drachmae.html:22, modules/hall-ui/public/drachmae.html:22, modules/hall-ui/public/drachmae.html:37 |
|
|
77
77
|
| `e0e2606e1104` | 3x | Fleet costs | modules/hall-ui/public/fleet.html:15, modules/hall-ui/public/fleet.html:15, modules/hall-ui/public/fleet.html:24 |
|
|
78
78
|
| `f6f68ba322be` | 3x | Open {…} | modules/hall-ui/public/goal-inbox.js:53, modules/hall-ui/public/goal-inbox.js:69, modules/hall-ui/public/goals.js:67 |
|
|
79
|
-
| … | |
|
|
79
|
+
| … | | _191 more in the JSON registry_ | |
|
|
80
80
|
|
|
81
|
-
## `builders-hall` —
|
|
81
|
+
## `builders-hall` — 1836 strings
|
|
82
82
|
|
|
83
83
|
| id | conf | text | where |
|
|
84
84
|
|---|---|---|---|
|
|
@@ -118,6 +118,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
118
118
|
| `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/watch.js:334` |
|
|
119
119
|
| `b57b99aa31e9` | certain | A body on a ring. Lit and drifting while a builder holds it; a hairline, drifting slower, while it waits to be | `modules/hall-ui/public/sky-panel.js:103` |
|
|
120
120
|
| `568d58fd26cc` | certain | A configured value could not be used: | `modules/hall-ui/public/project-settings.js:103` |
|
|
121
|
+
| `568d58fd26cc` | certain | A configured value could not be used: | `modules/hall-ui/public/project-settings.js:131` |
|
|
121
122
|
| `518e5acc9184` | certain | A dependency keeps this task out of the claimable queue until that one ships. Remove one with the × beside it | `modules/hall-ui/public/task.js:592` |
|
|
122
123
|
| `a22df5ebbd5e` | certain | A flag needs a reason an artist can act on. What is wrong with it, and what would better look like? | `modules/hall-ui/public/copy-desk.js:372` |
|
|
123
124
|
| `b8f70e36c7f9` | certain | A goal may only be added to a version that is still in planning. These were added after this version started b | `modules/hall-ui/public/roadmap.js:95` |
|
|
@@ -248,7 +249,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
248
249
|
| `084eb64bce72` | certain | Capabilities held by a machine identity, never by a person or a rank. Shown for completeness; nothing here can | `modules/hall-ui/public/government.html:123` |
|
|
249
250
|
| `bdca1f219e6f` | certain | Cast objection | `modules/hall-ui/public/board-room.js:377` |
|
|
250
251
|
| `a974494e44f3` | certain | Catalog at a glance | `modules/hall-ui/public/modules.html:53` |
|
|
251
|
-
| `c1c7158e0a43` | certain | Category saved. | `modules/hall-ui/public/project-settings.js:
|
|
252
|
+
| `c1c7158e0a43` | certain | Category saved. | `modules/hall-ui/public/project-settings.js:256` |
|
|
252
253
|
| `0279db21e29a` | certain | Change in Settings → | `modules/hall-ui/public/hall-render.js:581` |
|
|
253
254
|
| `2637480ee2b8` | certain | Change to | `modules/hall-ui/public/deploy.js:297` |
|
|
254
255
|
| `f040fb66f250` | certain | Changed files | `modules/hall-ui/public/gate.js:151` |
|
|
@@ -345,7 +346,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
345
346
|
| `fa309d1d0104` | certain | Could not create rank: {…} | `modules/hall-ui/public/government.js:448` |
|
|
346
347
|
| `7054cd87b5ec` | certain | Could not end that session: {…} | `modules/hall-ui/public/settings-sessions.js:85` |
|
|
347
348
|
| `71da00d47492` | certain | Could not invite: {…} | `modules/hall-ui/public/watch.js:344` |
|
|
348
|
-
| `90691bceaf68` | certain | Could not load | `modules/hall-ui/public/project-settings.js:
|
|
349
|
+
| `90691bceaf68` | certain | Could not load | `modules/hall-ui/public/project-settings.js:284` |
|
|
349
350
|
| `90691bceaf68` | certain | Could not load | `modules/hall-ui/public/task.js:1022` |
|
|
350
351
|
| `589a4cfc5442` | certain | Could not load idea {…}. | `modules/hall-ui/public/ideas.js:1018` |
|
|
351
352
|
| `192c893fc64e` | certain | Could not load modules. | `modules/hall-ui/public/modules.js:335` |
|
|
@@ -513,7 +514,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
513
514
|
| `86ef86c5c647` | certain | Fit to view | `modules/hall-ui/public/diagram-viewer.js:100` |
|
|
514
515
|
| `78107a76a755` | certain | Five diagrams that show, at a glance, how work flows through {{worldName}}'s development system. | `modules/hall-ui/public/diagrams.html:33` |
|
|
515
516
|
| `18ab1be9d3ad` | certain | Five questions, and a score that counts how much of each you actually answered. | `modules/hall-ui/public/ideas.js:1010` |
|
|
516
|
-
| `c6c9d3129ab2` | certain | Five things every project settles. Two of them are knobs you can turn here; the other three are decided in com | `modules/hall-ui/public/project-settings.html:41` |
|
|
517
517
|
| `b9267033b1f1` | certain | Flag this copy | `modules/hall-ui/public/copy-desk.html:83` |
|
|
518
518
|
| `82149b1deacd` | certain | Flag this… | `modules/hall-ui/public/copy-desk.js:164` |
|
|
519
519
|
| `448d00771dc8` | certain | Flagged. It is in the queue. | `modules/hall-ui/public/copy-desk.js:391` |
|
|
@@ -540,7 +540,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
540
540
|
| `2ae2114b61db` | certain | Get a free key ↗ | `modules/hall-ui/public/settings.js:839` |
|
|
541
541
|
| `4794a991de3d` | certain | Getting started | `modules/hall-ui/public/hall-widgets.js:59` |
|
|
542
542
|
| `a28b1a567f1a` | certain | GitHub username | `modules/hall-ui/public/hall-render.js:297` |
|
|
543
|
-
| `8e52f0649662` | certain | Give the category a label. | `modules/hall-ui/public/project-settings.js:
|
|
543
|
+
| `8e52f0649662` | certain | Give the category a label. | `modules/hall-ui/public/project-settings.js:231` |
|
|
544
544
|
| `79934b879a12` | certain | Give the nod | `modules/hall-ui/public/goal-inbox.js:296` |
|
|
545
545
|
| `3225725455b7` | certain | Go through them again | `modules/hall-ui/public/settings-specialities.js:163` |
|
|
546
546
|
| `988e2c60df3d` | certain | Goal archived. | `modules/hall-ui/public/goals-render.js:1078` |
|
|
@@ -587,6 +587,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
587
587
|
| `0bae5deb899d` | certain | How readily Claude opens a | `modules/hall-ui/public/settings.html:304` |
|
|
588
588
|
| `63dbe9873b4e` | certain | How replies are pitched for you — the vocabulary assumed, how much hand-holding local tooling gets, how long a | `modules/hall-ui/public/settings.html:219` |
|
|
589
589
|
| `868cf6930d64` | certain | How task estimates compare with the time work actually took. | `modules/hall-ui/public/watch.html:152` |
|
|
590
|
+
| `76f344dd4727` | certain | How tasks ship | `modules/hall-ui/public/project-settings.js:134` |
|
|
590
591
|
| `6fad68f727e2` | certain | How the session read to this builder, scored against their own interaction profile. Advisory — it gates nothin | `modules/hall-ui/public/sessions.html:78` |
|
|
591
592
|
| `81fa43a51f8f` | certain | How the system works | `modules/hall-ui/public/diagrams.html:32` |
|
|
592
593
|
| `06cb721a03e1` | certain | How the system works — {{worldName}} | `modules/hall-ui/public/diagrams.html:6` |
|
|
@@ -710,7 +711,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
710
711
|
| `73677b6839d7` | certain | Looks good | `modules/hall-ui/public/studio.js:191` |
|
|
711
712
|
| `06b4ede3fb58` | certain | Machine principals | `modules/hall-ui/public/government.html:122` |
|
|
712
713
|
| `b8a2b32fdbb1` | certain | Main role | `modules/hall-ui/public/settings.html:125` |
|
|
713
|
-
| `4e261fd15bd5` | certain | Manage this project on {…} | `modules/hall-ui/public/project-settings.js:
|
|
714
|
+
| `4e261fd15bd5` | certain | Manage this project on {…} | `modules/hall-ui/public/project-settings.js:302` |
|
|
714
715
|
| `6b3d660e0e31` | certain | Map view | `modules/hall-ui/public/atlas.html:46` |
|
|
715
716
|
| `525e085a6770` | certain | Mark backend-only | `modules/hall-ui/public/criterion-uat-ui.js:85` |
|
|
716
717
|
| `4924438fb299` | certain | Mark resolved | `modules/hall-ui/public/collab.js:278` |
|
|
@@ -746,7 +747,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
746
747
|
| `83197947ee8d` | certain | Needed by | `modules/hall-ui/public/goal-forest-render.js:146` |
|
|
747
748
|
| `3970d299c95a` | certain | Needs work | `modules/hall-ui/public/studio.js:191` |
|
|
748
749
|
| `7def635421ea` | certain | Needs your attention | `modules/hall-ui/public/goal-inbox.js:597` |
|
|
749
|
-
| `87f09d983f6c` | certain | New category label | `modules/hall-ui/public/project-settings.js:
|
|
750
|
+
| `87f09d983f6c` | certain | New category label | `modules/hall-ui/public/project-settings.js:162` |
|
|
750
751
|
| `d427d9dab01c` | certain | New claims are paused: {…} confirmed {…} can't land yet, so {…} reward is pending. Rebase and re-ship, or rele | `modules/hall-ui/public/hall-render.js:678` |
|
|
751
752
|
| `7fcc2583c372` | certain | New custom rank | `modules/hall-ui/public/government.html:79` |
|
|
752
753
|
| `9e06c14d155a` | certain | New here — request access | `modules/hall-ui/public/hall-render.js:297` |
|
|
@@ -902,6 +903,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
902
903
|
| `a69aff719f1a` | certain | People asking to join. Approve or dismiss each request, re-read the ones you already decided, and take back an | `modules/hall-ui/public/watch.html:65` |
|
|
903
904
|
| `4a46b478edaf` | certain | Per page | `modules/hall-ui/public/hall-kit.js:74` |
|
|
904
905
|
| `e1e10dc5e357` | certain | Permissions is the Archon administration surface. The Constitution and the Board Room are yours to read. | `modules/hall-ui/public/government.js:1030` |
|
|
906
|
+
| `3ce534eb733f` | certain | Pick Auto or Manual. | `modules/hall-ui/public/project-settings.js:198` |
|
|
905
907
|
| `6bc03d97457b` | certain | Pick a priority first. | `modules/hall-ui/public/task.js:900` |
|
|
906
908
|
| `fcf996d77050` | certain | Pick a rank to see what it may do. The four ladder ranks ship with the platform; a custom rank is yours to sha | `modules/hall-ui/public/government.html:76` |
|
|
907
909
|
| `4f87d5b17b54` | certain | Pick one. You can switch any time from the top bar. | `modules/hall-ui/public/craft-mode.js:422` |
|
|
@@ -1111,6 +1113,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1111
1113
|
| `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:829` |
|
|
1112
1114
|
| `8ad669ab2565` | certain | Sign out everywhere | `modules/hall-ui/public/settings.html:168` |
|
|
1113
1115
|
| `b71029028a4e` | certain | Signing off… | `modules/hall-ui/public/criterion-uat-ui.js:232` |
|
|
1116
|
+
| `ce994c34804e` | certain | Six things every project settles. Three of them are knobs you can turn here; the other three are decided in co | `modules/hall-ui/public/project-settings.html:41` |
|
|
1114
1117
|
| `ecc12c1dd4de` | certain | Skill voices | `modules/hall-ui/public/settings.html:339` |
|
|
1115
1118
|
| `4b0ca7d7171f` | certain | Skill {…} of {…} in {…} | `modules/hall-ui/public/settings-specialities.js:130` |
|
|
1116
1119
|
| `bbbb6e8ab564` | certain | Skills it offers | `modules/hall-ui/public/settings.html:288` |
|
|
@@ -1131,7 +1134,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1131
1134
|
| `ccca0c49fdc4` | certain | Splitting into ideas… | `modules/hall-ui/public/lightbulb.js:150` |
|
|
1132
1135
|
| `aee9d47c6b99` | certain | Splitting your feedback into ideas… | `modules/hall-ui/public/page-notes.js:222` |
|
|
1133
1136
|
| `f2a4d855d82d` | certain | Stale claims | `modules/hall-ui/public/watch.html:51` |
|
|
1134
|
-
| `6d4a7bf5ab0e` | certain | Stale timer is now {…} days. | `modules/hall-ui/public/project-settings.js:
|
|
1137
|
+
| `6d4a7bf5ab0e` | certain | Stale timer is now {…} days. | `modules/hall-ui/public/project-settings.js:218` |
|
|
1135
1138
|
| `98d037e427b8` | certain | Stale — describes something that changed | `modules/hall-ui/public/copy-desk.html:92` |
|
|
1136
1139
|
| `9d4372b173cf` | certain | Standing sections | `modules/hall-ui/public/index.html:83` |
|
|
1137
1140
|
| `ec1c2dae4a90` | certain | Standing there | `modules/hall-ui/public/profile.js:393` |
|
|
@@ -1325,7 +1328,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1325
1328
|
| `e7a289134dc3` | certain | This page shows no words the reader could find. | `modules/hall-ui/public/tweak-editor.js:246` |
|
|
1326
1329
|
| `d4b3b5556986` | certain | This page's reference docs | `modules/hall-ui/public/page-notes.js:113` |
|
|
1327
1330
|
| `5bdcbec770dd` | certain | This project has no slash commands yet. | `modules/hall-ui/public/commands.js:38` |
|
|
1328
|
-
| `e97b2d549f10` | certain | This project is hosted on {…}, and that is where it is taken offline or removed. Both links below open this pr | `modules/hall-ui/public/project-settings.js:
|
|
1331
|
+
| `e97b2d549f10` | certain | This project is hosted on {…}, and that is where it is taken offline or removed. Both links below open this pr | `modules/hall-ui/public/project-settings.js:301` |
|
|
1329
1332
|
| `fcd43f045614` | certain | This project is upgraded on the server that runs it: | `modules/hall-ui/public/settings-software-update.js:121` |
|
|
1330
1333
|
| `53e287924841` | certain | This project runs on a server that {…} looks after, so they install its updates. Ask them for this one and the | `modules/hall-ui/public/settings-software-update.js:100` |
|
|
1331
1334
|
| `3c8aaec39c40` | certain | This project's code expects {…} database change{…} that its database has not applied yet. Anything that relies | `modules/hall-ui/public/deploy.js:582` |
|
|
@@ -1797,7 +1800,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1797
1800
|
| `3491d859e66a` | certain | your thinking | `modules/hall-ui/public/thinking.html:77` |
|
|
1798
1801
|
| `66d979d0db89` | certain | your vote | `modules/hall-ui/public/board-room.js:177` |
|
|
1799
1802
|
| `78a3ca07861a` | certain | { const parts = window.OTB.splitCriterion ? window.OTB.splitCriterion(c.criterion_md) : { label: c.criterion_m | `modules/hall-ui/public/goals-render.js:722` |
|
|
1800
|
-
| `
|
|
1803
|
+
| `fbb02bc079c3` | certain | { if (row.key === 'ship_mode' && row.editable) return rowHtml(row, shipBodyHtml(row)); if (row.key === 'rot_ti | `modules/hall-ui/public/project-settings.js:176` |
|
|
1801
1804
|
| `3d8611c2e79d` | certain | {{worldName}} · studio | `modules/hall-ui/public/studio.html:79` |
|
|
1802
1805
|
| `50d4a70a2eb2` | certain | {…} Access is invite-based: an Archon approves each new builder. To begin, request access below. | `modules/hall-ui/public/hall-render.js:297` |
|
|
1803
1806
|
| `9aac280c89ec` | certain | {…} Anyone with a GitHub account can join: sign in and you're in, starting at the newcomer rank. | `modules/hall-ui/public/hall-render.js:280` |
|
|
@@ -1817,7 +1820,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1817
1820
|
| `78ba2bd4bc44` | certain | {…} criteria · started {…} | `modules/hall-ui/public/roadmap.js:289` |
|
|
1818
1821
|
| `cf89ac85440d` | certain | {…} earned | `modules/hall-ui/public/goals-render.js:828` |
|
|
1819
1822
|
| `3efa67dc6e07` | certain | {…} file{…} | `modules/hall-ui/public/gate.js:151` |
|
|
1820
|
-
| `00c50715f271` | certain | {…} fundamentals · {…} you can change here | `modules/hall-ui/public/project-settings.js:
|
|
1823
|
+
| `00c50715f271` | certain | {…} fundamentals · {…} you can change here | `modules/hall-ui/public/project-settings.js:270` |
|
|
1821
1824
|
| `55b949873848` | certain | {…} is in. | `modules/hall-ui/public/tweak-editor.js:566` |
|
|
1822
1825
|
| `80b4aa799a4b` | certain | {…} is writing this page now. You can read it, download it, or take another page from the studio. | `modules/hall-ui/public/tweak-editor.js:319` |
|
|
1823
1826
|
| `830d2be6f859` | certain | {…} line | `modules/hall-ui/public/tweak-editor.js:235` |
|
|
@@ -1885,6 +1888,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1885
1888
|
| `d3afa6d6dd9e` | certain | — your words, in your voice. Needed for a note or a follow-up. | `modules/hall-ui/public/studio.js:191` |
|
|
1886
1889
|
| `68b547166d48` | certain | — {…} confirmed {…} can't land yet, so {…} reward is pending (it lands on ship). Rebase + re-ship or release { | `modules/hall-ui/public/hall-render.js:561` |
|
|
1887
1890
|
| `8f2eba6e0da8` | certain | — {…} {…} of work landed between core {…} and {…}{…}: | `modules/hall-ui/public/deploy.js:553` |
|
|
1891
|
+
| `66ff2fea159b` | certain | — {…}. The mode above is the fallback that is actually in force. | `modules/hall-ui/public/project-settings.js:131` |
|
|
1888
1892
|
| `28fef677706c` | certain | — {…}. The project restarts as part of this, and puts itself back on {…} if the new core does not answer. This | `modules/hall-ui/public/deploy.js:333` |
|
|
1889
1893
|
| `9a1cef2da08d` | certain | …and {…} more goals — | `modules/hall-ui/public/goal-inbox.js:127` |
|
|
1890
1894
|
| `5b9fa7cb4fb0` | certain | …and {…} more waiting — | `modules/hall-ui/public/goal-inbox.js:158` |
|
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": 2604,
|
|
7
|
+
"unique_ids": 2211,
|
|
8
|
+
"certain": 2604,
|
|
9
9
|
"heuristic": 0,
|
|
10
|
-
"duplicate_ids":
|
|
10
|
+
"duplicate_ids": 231
|
|
11
11
|
},
|
|
12
12
|
"surfaces": {
|
|
13
13
|
"builders-hall": {
|
|
14
14
|
"at": "modules/hall-ui/public",
|
|
15
15
|
"files": 133,
|
|
16
|
-
"strings":
|
|
16
|
+
"strings": 1836
|
|
17
17
|
},
|
|
18
18
|
"status-dashboard": {
|
|
19
19
|
"at": "modules/status-ui/public",
|
|
@@ -730,6 +730,16 @@
|
|
|
730
730
|
"modules/hall-ui/public/watch.js:334"
|
|
731
731
|
]
|
|
732
732
|
},
|
|
733
|
+
{
|
|
734
|
+
"id": "568d58fd26cc",
|
|
735
|
+
"surface": "builders-hall",
|
|
736
|
+
"text": "A configured value could not be used:",
|
|
737
|
+
"occurrences": 2,
|
|
738
|
+
"at": [
|
|
739
|
+
"modules/hall-ui/public/project-settings.js:103",
|
|
740
|
+
"modules/hall-ui/public/project-settings.js:131"
|
|
741
|
+
]
|
|
742
|
+
},
|
|
733
743
|
{
|
|
734
744
|
"id": "a07c7b335a66",
|
|
735
745
|
"surface": "builders-hall",
|
|
@@ -1016,7 +1026,7 @@
|
|
|
1016
1026
|
"text": "Could not load",
|
|
1017
1027
|
"occurrences": 2,
|
|
1018
1028
|
"at": [
|
|
1019
|
-
"modules/hall-ui/public/project-settings.js:
|
|
1029
|
+
"modules/hall-ui/public/project-settings.js:284",
|
|
1020
1030
|
"modules/hall-ui/public/task.js:1022"
|
|
1021
1031
|
]
|
|
1022
1032
|
},
|
|
@@ -2826,6 +2836,15 @@
|
|
|
2826
2836
|
"origin": "js-markup",
|
|
2827
2837
|
"confidence": "certain"
|
|
2828
2838
|
},
|
|
2839
|
+
{
|
|
2840
|
+
"id": "568d58fd26cc",
|
|
2841
|
+
"surface": "builders-hall",
|
|
2842
|
+
"text": "A configured value could not be used:",
|
|
2843
|
+
"file": "modules/hall-ui/public/project-settings.js",
|
|
2844
|
+
"line": 131,
|
|
2845
|
+
"origin": "js-markup",
|
|
2846
|
+
"confidence": "certain"
|
|
2847
|
+
},
|
|
2829
2848
|
{
|
|
2830
2849
|
"id": "518e5acc9184",
|
|
2831
2850
|
"surface": "builders-hall",
|
|
@@ -4001,7 +4020,7 @@
|
|
|
4001
4020
|
"surface": "builders-hall",
|
|
4002
4021
|
"text": "Category saved.",
|
|
4003
4022
|
"file": "modules/hall-ui/public/project-settings.js",
|
|
4004
|
-
"line":
|
|
4023
|
+
"line": 256,
|
|
4005
4024
|
"origin": "js-notice",
|
|
4006
4025
|
"confidence": "certain"
|
|
4007
4026
|
},
|
|
@@ -4874,7 +4893,7 @@
|
|
|
4874
4893
|
"surface": "builders-hall",
|
|
4875
4894
|
"text": "Could not load",
|
|
4876
4895
|
"file": "modules/hall-ui/public/project-settings.js",
|
|
4877
|
-
"line":
|
|
4896
|
+
"line": 284,
|
|
4878
4897
|
"origin": "js-text-assign",
|
|
4879
4898
|
"confidence": "certain"
|
|
4880
4899
|
},
|
|
@@ -6381,15 +6400,6 @@
|
|
|
6381
6400
|
"origin": "js-text-assign",
|
|
6382
6401
|
"confidence": "certain"
|
|
6383
6402
|
},
|
|
6384
|
-
{
|
|
6385
|
-
"id": "c6c9d3129ab2",
|
|
6386
|
-
"surface": "builders-hall",
|
|
6387
|
-
"text": "Five things every project settles. Two of them are knobs you can turn here; the other three are decided in committed configuration, and each says which file decides it.",
|
|
6388
|
-
"file": "modules/hall-ui/public/project-settings.html",
|
|
6389
|
-
"line": 41,
|
|
6390
|
-
"origin": "html-text",
|
|
6391
|
-
"confidence": "certain"
|
|
6392
|
-
},
|
|
6393
6403
|
{
|
|
6394
6404
|
"id": "b9267033b1f1",
|
|
6395
6405
|
"surface": "builders-hall",
|
|
@@ -6629,7 +6639,7 @@
|
|
|
6629
6639
|
"surface": "builders-hall",
|
|
6630
6640
|
"text": "Give the category a label.",
|
|
6631
6641
|
"file": "modules/hall-ui/public/project-settings.js",
|
|
6632
|
-
"line":
|
|
6642
|
+
"line": 231,
|
|
6633
6643
|
"origin": "js-notice",
|
|
6634
6644
|
"confidence": "certain"
|
|
6635
6645
|
},
|
|
@@ -7047,6 +7057,15 @@
|
|
|
7047
7057
|
"origin": "html-text",
|
|
7048
7058
|
"confidence": "certain"
|
|
7049
7059
|
},
|
|
7060
|
+
{
|
|
7061
|
+
"id": "76f344dd4727",
|
|
7062
|
+
"surface": "builders-hall",
|
|
7063
|
+
"text": "How tasks ship",
|
|
7064
|
+
"file": "modules/hall-ui/public/project-settings.js",
|
|
7065
|
+
"line": 134,
|
|
7066
|
+
"origin": "js-markup",
|
|
7067
|
+
"confidence": "certain"
|
|
7068
|
+
},
|
|
7050
7069
|
{
|
|
7051
7070
|
"id": "6fad68f727e2",
|
|
7052
7071
|
"surface": "builders-hall",
|
|
@@ -8159,7 +8178,7 @@
|
|
|
8159
8178
|
"surface": "builders-hall",
|
|
8160
8179
|
"text": "Manage this project on {…}",
|
|
8161
8180
|
"file": "modules/hall-ui/public/project-settings.js",
|
|
8162
|
-
"line":
|
|
8181
|
+
"line": 302,
|
|
8163
8182
|
"origin": "js-text-assign",
|
|
8164
8183
|
"confidence": "certain"
|
|
8165
8184
|
},
|
|
@@ -8483,7 +8502,7 @@
|
|
|
8483
8502
|
"surface": "builders-hall",
|
|
8484
8503
|
"text": "New category label",
|
|
8485
8504
|
"file": "modules/hall-ui/public/project-settings.js",
|
|
8486
|
-
"line":
|
|
8505
|
+
"line": 162,
|
|
8487
8506
|
"origin": "js-markup",
|
|
8488
8507
|
"confidence": "certain"
|
|
8489
8508
|
},
|
|
@@ -9882,6 +9901,15 @@
|
|
|
9882
9901
|
"origin": "js-markup",
|
|
9883
9902
|
"confidence": "certain"
|
|
9884
9903
|
},
|
|
9904
|
+
{
|
|
9905
|
+
"id": "3ce534eb733f",
|
|
9906
|
+
"surface": "builders-hall",
|
|
9907
|
+
"text": "Pick Auto or Manual.",
|
|
9908
|
+
"file": "modules/hall-ui/public/project-settings.js",
|
|
9909
|
+
"line": 198,
|
|
9910
|
+
"origin": "js-notice",
|
|
9911
|
+
"confidence": "certain"
|
|
9912
|
+
},
|
|
9885
9913
|
{
|
|
9886
9914
|
"id": "6bc03d97457b",
|
|
9887
9915
|
"surface": "builders-hall",
|
|
@@ -11763,6 +11791,15 @@
|
|
|
11763
11791
|
"origin": "js-text-assign",
|
|
11764
11792
|
"confidence": "certain"
|
|
11765
11793
|
},
|
|
11794
|
+
{
|
|
11795
|
+
"id": "ce994c34804e",
|
|
11796
|
+
"surface": "builders-hall",
|
|
11797
|
+
"text": "Six things every project settles. Three of them are knobs you can turn here; the other three are decided in committed configuration, and each says which file decides it.",
|
|
11798
|
+
"file": "modules/hall-ui/public/project-settings.html",
|
|
11799
|
+
"line": 41,
|
|
11800
|
+
"origin": "html-text",
|
|
11801
|
+
"confidence": "certain"
|
|
11802
|
+
},
|
|
11766
11803
|
{
|
|
11767
11804
|
"id": "ecc12c1dd4de",
|
|
11768
11805
|
"surface": "builders-hall",
|
|
@@ -11948,7 +11985,7 @@
|
|
|
11948
11985
|
"surface": "builders-hall",
|
|
11949
11986
|
"text": "Stale timer is now {…} days.",
|
|
11950
11987
|
"file": "modules/hall-ui/public/project-settings.js",
|
|
11951
|
-
"line":
|
|
11988
|
+
"line": 218,
|
|
11952
11989
|
"origin": "js-notice",
|
|
11953
11990
|
"confidence": "certain"
|
|
11954
11991
|
},
|
|
@@ -13694,7 +13731,7 @@
|
|
|
13694
13731
|
"surface": "builders-hall",
|
|
13695
13732
|
"text": "This project is hosted on {…}, and that is where it is taken offline or removed. Both links below open this project’s page there.",
|
|
13696
13733
|
"file": "modules/hall-ui/public/project-settings.js",
|
|
13697
|
-
"line":
|
|
13734
|
+
"line": 301,
|
|
13698
13735
|
"origin": "js-text-assign",
|
|
13699
13736
|
"confidence": "certain"
|
|
13700
13737
|
},
|
|
@@ -17938,11 +17975,11 @@
|
|
|
17938
17975
|
"confidence": "certain"
|
|
17939
17976
|
},
|
|
17940
17977
|
{
|
|
17941
|
-
"id": "
|
|
17978
|
+
"id": "fbb02bc079c3",
|
|
17942
17979
|
"surface": "builders-hall",
|
|
17943
|
-
"text": "{ if (row.key === 'rot_timer' && row.editable) return rowHtml(row, rotBodyHtml(row)); if (row.key === 'work_categories' && row.editable) return rowHtml(row, catsBodyHtml(row)); return rowHtml(row, ''); }).join('')}",
|
|
17980
|
+
"text": "{ if (row.key === 'ship_mode' && row.editable) return rowHtml(row, shipBodyHtml(row)); if (row.key === 'rot_timer' && row.editable) return rowHtml(row, rotBodyHtml(row)); if (row.key === 'work_categories' && row.editable) return rowHtml(row, catsBodyHtml(row)); return rowHtml(row, ''); }).join('')}",
|
|
17944
17981
|
"file": "modules/hall-ui/public/project-settings.js",
|
|
17945
|
-
"line":
|
|
17982
|
+
"line": 176,
|
|
17946
17983
|
"origin": "js-markup",
|
|
17947
17984
|
"confidence": "certain"
|
|
17948
17985
|
},
|
|
@@ -18122,7 +18159,7 @@
|
|
|
18122
18159
|
"surface": "builders-hall",
|
|
18123
18160
|
"text": "{…} fundamentals · {…} you can change here",
|
|
18124
18161
|
"file": "modules/hall-ui/public/project-settings.js",
|
|
18125
|
-
"line":
|
|
18162
|
+
"line": 270,
|
|
18126
18163
|
"origin": "js-text-assign",
|
|
18127
18164
|
"confidence": "certain"
|
|
18128
18165
|
},
|
|
@@ -18729,6 +18766,15 @@
|
|
|
18729
18766
|
"origin": "js-markup",
|
|
18730
18767
|
"confidence": "certain"
|
|
18731
18768
|
},
|
|
18769
|
+
{
|
|
18770
|
+
"id": "66ff2fea159b",
|
|
18771
|
+
"surface": "builders-hall",
|
|
18772
|
+
"text": "— {…}. The mode above is the fallback that is actually in force.",
|
|
18773
|
+
"file": "modules/hall-ui/public/project-settings.js",
|
|
18774
|
+
"line": 131,
|
|
18775
|
+
"origin": "js-markup",
|
|
18776
|
+
"confidence": "certain"
|
|
18777
|
+
},
|
|
18732
18778
|
{
|
|
18733
18779
|
"id": "28fef677706c",
|
|
18734
18780
|
"surface": "builders-hall",
|
|
@@ -2978,5 +2978,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
2978
2978
|
landed since 1.21.71 with no explicit bump. run 37800413480. (task 1002620)
|
|
2979
2979
|
1.21.73 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2980
2980
|
landed since 1.21.72 with no explicit bump. run 37803458577. (task 1002620)
|
|
2981
|
+
1.21.74 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2982
|
+
landed since 1.21.73 with no explicit bump. run 37815719494. (task 1002620)
|
|
2981
2983
|
---------------------------------------------------------------------------
|
|
2982
2984
|
```
|
package/docs/page-readings.json
CHANGED
|
@@ -503,7 +503,7 @@
|
|
|
503
503
|
"surface": "builders",
|
|
504
504
|
"title": "Deploy",
|
|
505
505
|
"states_read": ["work","out"],
|
|
506
|
-
"files_hash": "
|
|
506
|
+
"files_hash": "535c116eea07d320",
|
|
507
507
|
"reading_hash": "b9fc5f83cc76b257",
|
|
508
508
|
"counts": {"lines":21,"placed":5,"shared":9,"unplaced":7},
|
|
509
509
|
"omitted": {"data":1},
|
|
@@ -1035,7 +1035,7 @@
|
|
|
1035
1035
|
"surface": "builders",
|
|
1036
1036
|
"title": "Fleet costs",
|
|
1037
1037
|
"states_read": ["ledger","out"],
|
|
1038
|
-
"files_hash": "
|
|
1038
|
+
"files_hash": "153446369d287bc8",
|
|
1039
1039
|
"reading_hash": "db04003c871f8317",
|
|
1040
1040
|
"counts": {"lines":36,"placed":11,"shared":9,"unplaced":16},
|
|
1041
1041
|
"omitted": {"data":11},
|
|
@@ -2586,8 +2586,8 @@
|
|
|
2586
2586
|
"surface": "builders",
|
|
2587
2587
|
"title": "Project settings",
|
|
2588
2588
|
"states_read": ["default"],
|
|
2589
|
-
"files_hash": "
|
|
2590
|
-
"reading_hash": "
|
|
2589
|
+
"files_hash": "525a8712c618456d",
|
|
2590
|
+
"reading_hash": "8bbf4ff80ec8097c",
|
|
2591
2591
|
"counts": {"lines":31,"placed":17,"shared":9,"unplaced":5},
|
|
2592
2592
|
"omitted": {"data":1},
|
|
2593
2593
|
"notes": [],
|
|
@@ -2601,13 +2601,13 @@
|
|
|
2601
2601
|
{"key":"L0007","section":"top bar","text":"Ideating","placement":"shared"},
|
|
2602
2602
|
{"key":"L0008","section":"top bar","text":"Governing","placement":"shared"},
|
|
2603
2603
|
{"key":"L0009","section":"Project settings","text":"Project settings","placement":"placed","file":"modules/hall-ui/public/project-settings.html","line":15,"string_id":"e08628967f2f"},
|
|
2604
|
-
{"key":"L0010","section":"Project settings","text":"Could not load","placement":"placed","file":"modules/hall-ui/public/project-settings.js","line":
|
|
2604
|
+
{"key":"L0010","section":"Project settings","text":"Could not load","placement":"placed","file":"modules/hall-ui/public/project-settings.js","line":284,"string_id":"90691bceaf68"},
|
|
2605
2605
|
{"key":"L0011","section":"The fundamentals","text":"The fundamentals","placement":"placed","file":"modules/hall-ui/public/project-settings.html","line":40,"string_id":"cb7c7879eeba"},
|
|
2606
|
-
{"key":"L0012","section":"The fundamentals","text":"
|
|
2606
|
+
{"key":"L0012","section":"The fundamentals","text":"Six things every project settles. Three of them are knobs you can turn here; the other three are decided in committed configuration, and each says which file decides it.","placement":"placed","file":"modules/hall-ui/public/project-settings.html","line":41,"string_id":"ce994c34804e"},
|
|
2607
2607
|
{"key":"L0013","section":"The fundamentals","text":"{…} project{…}","placement":"placed","file":"modules/hall-ui/public/fleet.js","line":39,"string_id":"771bef3d31b5"},
|
|
2608
2608
|
{"key":"L0014","section":"Danger zone","text":"Danger zone","placement":"placed","file":"modules/hall-ui/public/project-settings.html","line":57,"string_id":"13b22e48d9fb"},
|
|
2609
|
-
{"key":"L0015","section":"Danger zone","text":"This project is hosted on {…}, and that is where it is taken offline or removed. Both links below open this project’s page there.","placement":"placed","file":"modules/hall-ui/public/project-settings.js","line":
|
|
2610
|
-
{"key":"L0016","section":"Danger zone","text":"Manage this project on {…}","placement":"placed","file":"modules/hall-ui/public/project-settings.js","line":
|
|
2609
|
+
{"key":"L0015","section":"Danger zone","text":"This project is hosted on {…}, and that is where it is taken offline or removed. Both links below open this project’s page there.","placement":"placed","file":"modules/hall-ui/public/project-settings.js","line":301,"string_id":"e97b2d549f10"},
|
|
2610
|
+
{"key":"L0016","section":"Danger zone","text":"Manage this project on {…}","placement":"placed","file":"modules/hall-ui/public/project-settings.js","line":302,"string_id":"4e261fd15bd5"},
|
|
2611
2611
|
{"key":"L0017","section":"Danger zone","text":"Take it offline","placement":"placed","file":"modules/hall-ui/public/project-settings.html","line":60,"string_id":"da9da6e866bd"},
|
|
2612
2612
|
{"key":"L0018","section":"Danger zone","text":"— stops the project and its nightly backups but keeps everything: its database, its backups and your repository on GitHub. You can bring it back.","placement":"placed","file":"modules/hall-ui/public/project-settings.html","line":60,"string_id":"61ebc5d684fd"},
|
|
2613
2613
|
{"key":"L0019","section":"Danger zone","text":"Disconnect from Bongos entirely","placement":"placed","file":"modules/hall-ui/public/project-settings.html","line":61,"string_id":"d3efd513694b"},
|
|
@@ -219,3 +219,18 @@
|
|
|
219
219
|
one sentence saying what it does. Plain list, the lede's measure. */
|
|
220
220
|
.ps-danger__list { margin: 10px 0 0; padding-left: 18px; line-height: 1.6; max-width: var(--measure); }
|
|
221
221
|
.ps-danger__list li + li { margin-top: 8px; }
|
|
222
|
+
|
|
223
|
+
/* Ship mode (task 1004628): two radio choices, each a full-width row whose whole
|
|
224
|
+
line is the hit target, so the 24px floor holds on a phone without a bigger dot. */
|
|
225
|
+
.ps-ship { margin: 10px 0 0; padding: 0; border: 0; }
|
|
226
|
+
.ps-ship__legend { padding: 0; font-size: 12px; color: var(--ink-soft); }
|
|
227
|
+
.ps-ship__choice {
|
|
228
|
+
display: flex;
|
|
229
|
+
align-items: flex-start;
|
|
230
|
+
gap: 8px;
|
|
231
|
+
min-height: 24px;
|
|
232
|
+
padding: 6px 0;
|
|
233
|
+
line-height: 1.5;
|
|
234
|
+
cursor: pointer;
|
|
235
|
+
}
|
|
236
|
+
.ps-ship__choice input { margin-top: 4px; flex: 0 0 auto; }
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Project settings — {{worldName}}</title>
|
|
7
|
-
<meta name="description" content="The fundamentals of this project in one place — the stale timer, the category set, how credits are calculated, whether equity is real, and what share of upmarket revenue is paid on credits.">
|
|
7
|
+
<meta name="description" content="The fundamentals of this project in one place — how tasks ship, the stale timer, the category set, how credits are calculated, whether equity is real, and what share of upmarket revenue is paid on credits.">
|
|
8
8
|
<link rel="icon" href="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><text x='16' y='24' font-size='24' text-anchor='middle' font-family='sans-serif'>⌂</text></svg>">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
<section class="scroll" id="ps-body" aria-labelledby="ps-body-h" hidden>
|
|
40
40
|
<h2 class="scroll__h" id="ps-body-h">The fundamentals</h2>
|
|
41
41
|
<p class="scroll__lede">
|
|
42
|
-
|
|
42
|
+
Six things every project settles. Three of them are knobs you can turn here;
|
|
43
43
|
the other three are decided in committed configuration, and each says which
|
|
44
44
|
file decides it.
|
|
45
45
|
</p>
|
|
46
|
-
<!-- One mount,
|
|
46
|
+
<!-- One mount, six rows, written by project-settings.js. The rows are NOT
|
|
47
47
|
authored in this file: each carries a value plus the provenance the
|
|
48
48
|
server resolved it through, and markup that could drift from that is the
|
|
49
49
|
thing this page exists to end. -->
|
|
@@ -77,6 +77,6 @@
|
|
|
77
77
|
<script src="/builders/palette.js" defer></script>
|
|
78
78
|
<script src="/builders/dom-utils.js?v=2026-06-16-gate"></script>
|
|
79
79
|
<script src="/builders/hall-kit.js"></script>
|
|
80
|
-
<script src="/builders/project-settings.js?v=2026-
|
|
80
|
+
<script src="/builders/project-settings.js?v=2026-10-08-ship-mode"></script>
|
|
81
81
|
</body>
|
|
82
82
|
</html>
|
|
@@ -122,6 +122,30 @@
|
|
|
122
122
|
${sib}`;
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
+
// Ship mode (task 1004628): two choices, each with the sentence the SERVER wrote,
|
|
126
|
+
// so the page never re-types what Auto or Manual means.
|
|
127
|
+
function shipBodyHtml(row) {
|
|
128
|
+
const v = row.value || {};
|
|
129
|
+
const choices = Array.isArray(row.choices) ? row.choices : [];
|
|
130
|
+
const invalid = row.invalid
|
|
131
|
+
? `<p class="ps-invalid">A configured value could not be used: <code>${escapeHtml(String(row.invalid.raw))}</code>
|
|
132
|
+
— ${escapeHtml(String(row.invalid.reason))}. The mode above is the fallback that is actually in force.</p>`
|
|
133
|
+
: '';
|
|
134
|
+
return `
|
|
135
|
+
${invalid}
|
|
136
|
+
<fieldset class="ps-ship">
|
|
137
|
+
<legend class="ps-ship__legend">How tasks ship</legend>
|
|
138
|
+
${choices.map((c) => `
|
|
139
|
+
<label class="ps-ship__choice">
|
|
140
|
+
<input type="radio" name="ps-ship-mode" value="${escapeHtml(String(c.mode))}" ${c.mode === v.mode ? 'checked' : ''}>
|
|
141
|
+
<span><strong>${escapeHtml(String(c.label))}</strong> — ${escapeHtml(String(c.sentence))}</span>
|
|
142
|
+
</label>`).join('')}
|
|
143
|
+
</fieldset>
|
|
144
|
+
<div class="ps-controls">
|
|
145
|
+
<button type="button" class="btn" id="ps-ship-save">Save</button>
|
|
146
|
+
</div>`;
|
|
147
|
+
}
|
|
148
|
+
|
|
125
149
|
function catsBodyHtml(row) {
|
|
126
150
|
const v = row.value || {};
|
|
127
151
|
const cats = Array.isArray(v.categories) ? v.categories : [];
|
|
@@ -150,6 +174,7 @@
|
|
|
150
174
|
function render() {
|
|
151
175
|
const mount = $('ps-rows');
|
|
152
176
|
mount.innerHTML = `<ul class="ov-rows">${rows.map((row) => {
|
|
177
|
+
if (row.key === 'ship_mode' && row.editable) return rowHtml(row, shipBodyHtml(row));
|
|
153
178
|
if (row.key === 'rot_timer' && row.editable) return rowHtml(row, rotBodyHtml(row));
|
|
154
179
|
if (row.key === 'work_categories' && row.editable) return rowHtml(row, catsBodyHtml(row));
|
|
155
180
|
return rowHtml(row, '');
|
|
@@ -166,6 +191,23 @@
|
|
|
166
191
|
}
|
|
167
192
|
|
|
168
193
|
function wire() {
|
|
194
|
+
const shipSave = $('ps-ship-save');
|
|
195
|
+
if (shipSave) {
|
|
196
|
+
shipSave.addEventListener('click', async () => {
|
|
197
|
+
const picked = document.querySelector('input[name="ps-ship-mode"]:checked');
|
|
198
|
+
if (!picked) { toast('Pick Auto or Manual.'); return; }
|
|
199
|
+
setBusy(true);
|
|
200
|
+
try {
|
|
201
|
+
const out = await sendJson('PATCH', '/project-settings/ship-mode', { mode: picked.value });
|
|
202
|
+
toast(out.mode === 'manual' ? 'Ship mode is now Manual.' : 'Ship mode is now Auto.');
|
|
203
|
+
await load();
|
|
204
|
+
} catch (err) {
|
|
205
|
+
toast(err.message || 'Could not save the ship mode.');
|
|
206
|
+
setBusy(false);
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
|
|
169
211
|
const rotSave = $('ps-rot-save');
|
|
170
212
|
if (rotSave) {
|
|
171
213
|
rotSave.addEventListener('click', async () => {
|