feat: delete a decision, manage assets while writing, and sweep before deploying
Four things an author could not do, and the check that should have caught them. A Decision could not be deleted. Case, Reference and Question all could, so an author who opened a decision draft had no way to close it. The contract gained the operation and the list now offers it for every kind. Its path carries the project because a decision belongs to one; a row with no project says so rather than failing. Assets could only be managed by leaving the document. The picker now deletes one in place — the server still refuses an asset a document uses — so a mistaken upload does not cost the author their editing session. Zoom was decided for the author and could not be changed: only a DIAGRAM got it, so a screenshot uploaded as an image or attachment went in with zoom off and no way to turn it on. It now defaults on for images and the picker offers the choice. The toggle is a picker control, not a document field, and carries its own class — wearing the field class put it in the editor's field list. `scripts/smoke/production-sweep.ts` walks every public and Studio screen and the document flow, reporting console errors, failed API calls and error text. It exists because verifying only the screen I had just changed is what let broken screens reach production repeatedly; this runs before a deploy, not after a report.
This commit is contained in:
@@ -38,28 +38,28 @@
|
||||
},
|
||||
"contractSet": {
|
||||
"setAlgorithm": "CA_CONTRACT_SET_V1",
|
||||
"setDigest": "sha256:a7983cb56b824a32866f99f778ec92812e3d59d4fda1a3f632985e4b54560b8f",
|
||||
"setDigest": "sha256:38329cfe645e1d6cbfc7a9bb3e20e23b579a286ad0d1254982c70de5c6055ae8",
|
||||
"packages": [
|
||||
{
|
||||
"packageId": "@tech-log/management-contract",
|
||||
"version": "1.0.0",
|
||||
"digest": "sha256:9efc7709b29404db96a7cc7acecdd9ec7b27cb95f3389e5da2c4953e2e3e23aa",
|
||||
"digest": "sha256:d19ae7c4fbcac924a356bbb0cc1a46a4046ecec701158ca0a9b7cc089bbaf878",
|
||||
"runtimeProtocolVersion": 1,
|
||||
"sourceRevision": "dc290b4"
|
||||
"sourceRevision": "65a04fc"
|
||||
},
|
||||
{
|
||||
"packageId": "@tech-log/public-contract",
|
||||
"version": "2.0.0",
|
||||
"digest": "sha256:8ac71425b38658f34641102b4c2e6e21288c811efebdb92c0a46fb9d4790e23e",
|
||||
"digest": "sha256:6575a09317a1ffe951747b12102ad2cf884110007426a45d6f59a53b65612d59",
|
||||
"runtimeProtocolVersion": 1,
|
||||
"sourceRevision": "dc290b4"
|
||||
"sourceRevision": "65a04fc"
|
||||
},
|
||||
{
|
||||
"packageId": "@tech-log/studio-contract",
|
||||
"version": "3.0.0",
|
||||
"digest": "sha256:5229865c3d242f19d75030d3f524a44dfebbf444324068d6ae88e43b8047dba4",
|
||||
"runtimeProtocolVersion": 1,
|
||||
"sourceRevision": "dc290b4"
|
||||
"sourceRevision": "65a04fc"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user