secondlife / secondlife/viewer
`object.content.save` silently stops a script when `running` is omitted
@Rider-Linden is already working on this.
Since Aug 26, 2026.
- Dominant language
- C++
- Stars
- 299
- Forks
- 146
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 88
Description
Repo: viewer
Labels: bug, protocol, data-loss
Summary
object.content.save accepts an optional running parameter that sets the script's run state
after compilation. When the parameter is absent it defaults to false, which stops a script
that was previously running.
Evidence
indra/newview/llscripteditorws.cpp, saveScript:
bool is_running = params.has("running") ? params["running"].asBoolean() : false;
The value is passed to LLScriptAssetUpload as the post-compile run state.
Impact
An optional field whose absence destroys state. It reads like a safe default and is not. Any
third-party client that saves a running script without explicitly echoing running: true will
silently stop it, with no error and no indication anything happened.
Proposed fix
When running is absent, leave the script's current run state unchanged. Only an explicit
true/false should change it.
Notes
Documented as a stopgap with a warning callout in the ObjectContentSave section of
Message_Interfaces.md. That callout should be revisited if this is fixed.
Test plan
- test steps:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.