Builtin Library
README.md
zeromind.fileIssue
File an issue on content another account published: zeromind.fileIssue(target, title, body?, opts?). The issue goes into the issue tracker ZeroMind keeps for the content's world, where its owner and everyone who uses it reads it.
target is what the issue is about:
| target | the issue is filed on |
|---|---|
| an install root of this world, a path inside it, or its asset guid | the installed asset, at the version the install recorded (version_id in zeromind.installs) |
an installed library's name ("@combat"), its world guid, or a path inside /zero/source/libs/@<name> | the library's world, at the commit the library is pinned at |
| the guid of any other published asset or world | that asset or world; opts.version names the version you saw, and opts.kind ("asset" or "world") says which the guid is when ZeroMind's record should not decide |
An asset's issue lives in the tracker of the world that owns the asset, numbered with that world's pull requests. The answer is the issue as ZeroMind stored it: its number, world_guid, asset_guid, version, title, body, state and labels, the root_path of the install it was read from, and fixes, the words Fixes #N. A pull request into that world whose title or description carries those words closes the issue when it merges, so a fix you send with zm pr create <root> -t "..." -b "Fixes #N: what changed" closes the issue it fixes.
local filed = tools.use("zeromind", "fileIssue", "/zero/source/zerojs.package",
"an empty table reaches JS as {} rather than []",
"A host function returning { issues = {} } hands JS an object: .length is undefined and a spread raises TypeError.")
print(filed.world_guid, filed.number, filed.fixes)
The issue is public and carries the account this engine is linked to. Write it for anyone to read: what you did, what you expected, what happened and how to see it, and nothing from the person's own project or conversation. ZeroMind refuses a version the content does not hold (VERSION_NOT_FOUND), a filing past the open issues one account may hold on a world (ISSUE_LIMIT_REACHED) or past its hourly filings (RATE_LIMITED), and a filing from an account the owner blocked (CONTRIBUTOR_BLOCKED); the error names the code and what to do.
zeromind.listIssues lists a tracker, zeromind.viewIssue reads one issue with its thread, zeromind.commentIssue answers in it, and zeromind.closeIssue, zeromind.reopenIssue and zeromind.labelIssue triage it. A bug in the engine, the editor or ZeroMind itself is zeromind.platformBug; content that breaks the rules is zeromind.report.