Skip to content

[bot] Merge 26.7 to 26.8 - #1177

Merged
github-actions[bot] merged 3 commits into
release26.8-SNAPSHOTfrom
26.8_fb_bot_merge_26.7
Aug 4, 2026
Merged

[bot] Merge 26.7 to 26.8#1177
github-actions[bot] merged 3 commits into
release26.8-SNAPSHOTfrom
26.8_fb_bot_merge_26.7

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Generated automatically.
Merging changes from: 5fda1bf
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=26.8_fb_bot_merge_26.7

labkey-martyp and others added 3 commits July 29, 2026 08:06
## Rationale

Fixes a set of bugs that let the EHR bulk add importer write wrong or
incomplete data without reporting anything, in the UI, the browser
console, or the server log.

Because nothing fails, the damage is only discoverable by diffing the
loaded data back against the source, so an import can appear clean while
carrying shifted dates, missing dates, lookup values swapped for
unrelated ones, animal ids carrying stray whitespace, whole columns
absent because their header was spelled differently, and — on tables
whose key is assigned by the server — only the last of the pasted rows.
The reporting added here echoes pasted text back to the user, so it is
escaped; an import commonly starts from a spreadsheet someone else
produced.

## Changes

- Every date column is parsed like the form's primary date field. The
others were read as UTC, so they landed a day early in a negative-offset
timezone, and a date on the epoch was dropped as empty.
- Lookup and project values require an exact match rather than a leading
substring, so a value can no longer resolve to an unrelated record that
merely starts with the same text. Matching stays case-insensitive and
accepts either the display value or the key.
- Every pasted cell is trimmed. A padded animal id previously went in as
pasted, registering a second animal on forms that create the animals
they name.
- A value that resolves to no lookup, project, or date is reported
against its row instead of being written through as raw text or left
empty, and the import stops so the source can be corrected first.
- Pasted text is escaped wherever it appears in an error message.
- Headers are matched by a field's name, label, or any import alias, as
the rest of the product does. Only the exact name and a single alias
were tried before, so any other spelling dropped the column silently.
- An unrecognized or duplicated header stops the import before any row
is read. Note the behavior change: a spreadsheet carrying extra columns
the form does not have must have them removed, where previously they
were ignored.
- Trimming the pasted block no longer strips tabs, which were the final
row's empty trailing cells and made an otherwise correct row look
truncated.
- A line holding no values is skipped rather than reported as missing
every required field, and no longer counts toward the 250-row limit.
- A row is measured against the last column a required field occupies
rather than the number of required fields, so a row missing only
optional trailing cells is no longer rejected.
- A problem belonging to the header row is reported once rather than
restated on every one of up to 250 rows.
- Several rows pasted into a table keyed on a server-assigned column
stay separate records instead of collapsing onto the last one.
In 26.7 I noticed some error logs on our server. It's cause by this
query no longer parsing correctly. I dont know why it's just now being
reported (maybe LK tightened some query syntax in 26.7). Nonetheless, I
think this is an obvious (and old) typo.
@github-actions
github-actions Bot merged commit f75a4c1 into release26.8-SNAPSHOT Aug 4, 2026
8 of 9 checks passed
@github-actions
github-actions Bot deleted the 26.8_fb_bot_merge_26.7 branch August 4, 2026 15:31
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.

4 participants