Skip to content

[bot] Merge 26.7 to develop - #7885

Open
github-actions[bot] wants to merge 8 commits into
developfrom
fb_bot_merge_26.7
Open

[bot] Merge 26.7 to develop#7885
github-actions[bot] wants to merge 8 commits into
developfrom
fb_bot_merge_26.7

Conversation

@github-actions

Copy link
Copy Markdown

Generated automatically.
Merging changes from: 5feb5cd
Approve all matching PRs simultaneously.
Approval will trigger automatic merge.
Verify all PRs before approving: https://internal.labkey.com/Scrumtime/Backlog/harvest-gitOpenPullRequests.view?branch=fb_bot_merge_26.7

labkey-martyp and others added 8 commits July 22, 2026 10:59
…7862)

## Rationale

The Rhino sandbox terminates any server-side JavaScript (such as trigger
scripts) after a hard-coded 60 seconds of wall-clock time, which
includes database and other Java operations invoked by the script.
Long-running but legitimate operations, such as bulk imports that fire
per-row triggers, can exceed this budget with no recourse. This change
makes the timeout a configurable site setting so admins can raise it, or
disable it entirely, without a code change.

## Related Pull Requests

None.

## Changes

- New `scriptExecutionTimeout` site setting (default 60 seconds, 0
disables) exposed on the Site Settings admin page and as a
`SiteSettings.scriptExecutionTimeout` startup property.
- The Rhino sandbox resolves the timeout once per script execution
instead of using the hard-coded constant, so setting changes take effect
immediately for new script runs; the elapsed-time comparison is promoted
to `long` to avoid overflow with large values.
- The Site Settings form binds the new field as a nullable `Integer`, so
a POST that omits the parameter leaves the stored setting unchanged
rather than silently disabling the timeout.
- Added `RhinoService.TestCase.timeoutTest` (BVT) covering both a short
timeout aborting a runaway script and 0 disabling the watchdog.
## Rationale
This code is cleaner and avoids false positive sql check.

## Related Pull Requests
- <!-- list of links to related pull requests (replace this comment) -->

## Changes
- <!-- list of descriptions of changes that are worth noting (replace
this comment) -->

<!-- list of standard tasks (remove this comment to enable)
## Tasks 📍
- [ ] Claude Code Review
- [ ] Manual Testing
- [ ] Test Automation
- [ ] Verify Fix
-->
## Rationale
A misconfigured query produced ~2 million messages in 30 minutes because
it logged once per row per query execution.

## Changes
- Throttle the complaints when we have a format string that can't be
applied to the value given
- Tame similar areas that do per-row logging about config/value problems
## Rationale
Previous work to better ensure the user has permission to see the
announcement wasn't specific enough.

## Changes
- Switch to asking the announcement itself about permissions, supporting
secure and normal message boards
## Rationale
Targeted changes to help AI Assistant avoid and self-correct SQL
generation mistakes.
Added support for CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP

## Related Pull Requests
- <!-- list of links to related pull requests (replace this comment) -->

## Changes
- <!-- list of descriptions of changes that are worth noting (replace
this comment) -->

<!-- list of standard tasks (remove this comment to enable)
## Tasks 📍
- [ ] Claude Code Review
- [ ] Manual Testing
- [ ] Test Automation
- [ ] Verify Fix
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants