Repository navigation
fix(widget-dev): say which check refused a folder at a restart, and the real limits of the folder id - #665
Merged
Conversation
…he real limits of the folder id A session stopped as root-refused keeps the start check's code in an optional stopCode. A folder Clark is no longer allowed to watch on its own still asks the person to choose it again. A folder that now resolves to a network share or into the data folder says that choosing it again is refused too, and asks to copy the project; its develop card row offers no Develop again. A stop with no known code gets a line that holds for every case. The docs no longer say a freed inode comes back only at once, since ext4 can hand it back much later. They now name FAT32 and exFAT on Windows, where a remade folder can get the same id and nothing holds the folder open. "May no longer watch" becomes "is no longer allowed to watch", and the inserted lines are re-wrapped. Refs #662
…-copy # Conflicts: # docs/manifest.json
… code, and say the one-build and downgrade limits A root-refused stop with no known code now tells Clark to develop the folder again and copy the project if that is refused, as the status line and card say. The restart test checks that a new start clears the stop and its code. The open interfaces docs say that the client and node ship as one build, that the code is what that restart found, and that an older build moves a sessions.json holding stopCode or chosenFolderId aside. The stiff wording in the copy is smoothed in English and Vietnamese. Refs #662
Contributor
Author
|
Review attestation: ready to merge at A push to this PR makes this attestation stale; the new head needs its own review. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Makes the remade-folder copy and the folder-id docs precise, as the isolated review of #660 asked.
Root-refused now says which check refused the folder. A session stopped as
root-refusedat a restart keeps the start check's code in a new optionalstopCodefield (session store andWidgetDevSessionView):ROOT_NOT_OWNED: Clark is no longer allowed to watch the folder on its own, for example a chosen folder deleted and made again. The status line, thedevelopcard row and the tool description still say to choose the folder again with /develop (or copy the project into the widget workspace).ROOT_NOT_LOCAL/ROOT_IN_DATA_FOLDER: the folder now resolves to a network share or device path, or into the data folder. Choosing it again is refused too, so the copy says that and asks the person to copy the project into the widget workspace or another local project folder. The card row offers no Develop again button, because that press could only fail.stopCodeis optional and typed as a string. A missing code (a session stopped by an earlier build) or one this client does not know falls back to the general line.widgetDevRootRefusedCodein contracts maps a view to a known code. The client parses the session view with a strict schema, so it does not ignore unknown fields: the client and node ship as one build. The code is what that restart found and is not re-checked while the session stays stopped. A press re-checks the folder.Downgrade caveat.
sessions.jsonis also parsed strictly. If an older build reads a store that holdsstopCode(orchosenFolderIdfrom #641), it moves the whole file aside assessions.json.unreadable-<time>and starts with no sessions. Nothing in the file is lost, but it has to be moved back by hand once a newer build runs.docs/open-interfaces(.vi).mdnow says this.Review round:
origin/main(with fix(contracts): let the manifest reader skip facet kinds it does not know #653) and re-ran--fix-manifest.stopCodeandstopReasonare cleared on a new start.Docs (
docs/open-interfaces(.vi).md,docs/widget-development(.vi).md, thedevRootIdentityOfcomment in core):git cloneinto the same path the next day.stopCode.Official docs: digitopvn/clarkcant-web#144
Verification
mainand pass here:apps/runtime/test/widget-dev-root-refused.spec.ts(new),packages/conversation-client/test/widget-dev-status.spec.ts, and the two restart tests inapps/runtime/test/widget-dev-sessions.spec.ts.pnpm verifypasses (invariants, typecheck, lint, test). The docs manifest was refreshed with--fix-manifest.Fixes #662
Refs #643, #660