Skip to content

chore(release): staging to production - 2026.05.05#1064

Merged
ct3685 merged 3 commits into
productionfrom
staging
May 5, 2026
Merged

chore(release): staging to production - 2026.05.05#1064
ct3685 merged 3 commits into
productionfrom
staging

Conversation

@github-actions
Copy link
Copy Markdown

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

🚀 Release: Staging to Production

Release Date: 2026-05-05

Changes in this release


This PR is automatically created/updated when commits are pushed to staging.
Merging this PR will trigger the release workflow to create a new GitHub release.

…g 500 (#1063)

## Summary

Fixes the 500 error users hit when clicking **Add new credential**
inline on a Jira node in an existing chatflow. Root cause was a case
mismatch between the legacy `JiraApi` baked into saved chatflow JSON and
the live credential pool key `jiraApi`, compounded by an over-broad
`catch` in the components-credentials service that masked NOT_FOUND as
500.

Three layers of defense, plus a code review:

- **Server**: `componentsCredentialsService.getComponentByName` /
`getSingleComponentsCredentialIcon` now do a case-insensitive fallback
against the in-memory pool, and the `catch` re-throws
`InternalFlowiseError` as-is so 404 stays 404.
- **Frontend**: canvas `CredentialInputHandler.addAsyncOption` resolves
stale `credentialNames` to the current canonical key before issuing the
lookup, and surfaces unresolved names as a persistent error toast
instead of silently `console.error`-ing.
- **Data**: one-shot AAI migration
(`1770000000001-NormalizeLegacyCredentialNames`) rewrites `JiraApi` ->
`jiraApi` inside `chat_flow.flowData` JSON (in any `credentialNames`
array or `credentialName` field) and inside the
`credential.credentialName` column. Idempotent, narrow `LIKE`
pre-filter, no-op `down()`.
- **Docs**: `JIRA_ATLASSIAN_REVIEW.md` walks every Jira / Atlassian
touchpoint with prioritized findings (6 Critical / 6 High / 6 Medium / 6
Low) for follow-up tickets.

### Why no node version bumps

No node interface or `init()` behavior changed. The migration is
reconciling stored data with credential code that already says `name:
'jiraApi'`. Version bumps would only be needed if/when we act on review
findings H2 (host validation) or M3 (move host onto the credential).

## Test plan

- [ ] \`pnpm --filter flowise-server build\` compiles cleanly
- [ ] \`pnpm --filter flowise-ui build\` compiles cleanly
- [ ] \`GET /api/v1/components-credentials/jiraApi\` returns 200 with
the credential object (canonical case still works)
- [ ] \`GET /api/v1/components-credentials/JiraApi\` returns 200 with
the same \`jiraApi\` object (regression for the user-reported case)
- [ ] \`GET /api/v1/components-credentials/totallyMadeUp\` returns a
clean **404** (not 500) with a single-prefixed message
- [ ] Snapshot DB, run \`pnpm migration:run\`, inspect
\`[NormalizeLegacyCredentialNames]\` log output - confirm only expected
rows touched
- [ ] Re-running the migration is a no-op (idempotency check)
- [ ] In the UI, open the affected chatflow with the Jira node, click
**Add new credential** - dialog opens with the live \`jiraApi\` template
- [ ] Smoke test on a non-Jira node (e.g. OpenAI) - Add new credential
still works (canonical-case path unaffected)
- [ ] Editing an existing Jira credential row whose stored
\`credentialName\` was \`JiraApi\` opens the dialog without a 500

## Out of scope (called out in the review doc)

- Renaming the 5 PascalCase credentials (\`PostgresApi\`,
\`PostgresUrl\`, \`MySQLApi\`, \`AlibabaApi\`, \`E2BApi\`)
- The 6 Critical security findings in the Atlassian OAuth flow (origin
checks, \`state\` reuse, in-process pending-registration map,
\`JSON.stringify(Error)\`, \`mcp_client_secret\` round-tripping,
\`updateAndRefreshAtlassianToken\` 500-wrapping) - flagged for separate
tickets
- MySQL / MariaDB / SQLite migration parity (no \`aai/\` subfolder for
those dialects in this repo; case-insensitive server lookup still covers
them at runtime)
@vercel
Copy link
Copy Markdown

vercel Bot commented May 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
answerai-docs Building Building Preview May 4, 2026 9:32pm
the-answerai Building Building Preview May 4, 2026 9:32pm

Request Review

)

## Summary

`LLMChain.run` was logging the raw prediction result to stdout for
**every** chain invocation:

```
*****FINAL RESULT*****
{ json: { ... } }
```

That is fine for one-off local debugging but spams server logs in any
chatflow that uses an LLM Chain — most visibly during CSV transformer
cron runs that invoke the chain once per row. Removed both `console.log`
lines (and their `eslint-disable` markers) from
`packages/components/nodes/chains/LLMChain/LLMChain.ts`.

## Why

Surfaced while triaging the CSV cron output (PR #1062) — every processed
row was emitting two stdout lines from the LLM Chain node, drowning the
structured logger output and making the cron logs hard to read.

## Test plan

- [ ] Build succeeds (`pnpm --filter flowise-components build`).
- [ ] Run a chatflow that uses an `LLMChain` node and confirm the
`*****FINAL RESULT*****` block no longer appears in server logs.
- [ ] CSV transformer cron run logs are now clean of the raw `{ json: {
... } }` dumps for each row.
@github-actions github-actions Bot changed the title chore(release): staging to production - 2026.05.04 chore(release): staging to production - 2026.05.05 May 5, 2026
… and CSV UI polish (#1066)

## Summary

### CSV Transformer — Worker Status via API
- Added `GET /api/v1/csv-parser/worker-status` endpoint on the Flowise
server that exposes whether `ENABLE_CSV_RUN_CRON` is enabled
- Introduced `packages/server/src/utils/isCsvRunCronEnabled.ts` as
single source of truth for the flag (used by both cron registration and
the new endpoint)
- `CsvTransformer.Client.tsx` now fetches worker status from the API at
runtime — the web app no longer needs `ENABLE_CSV_RUN_CRON` in its
environment variables
- Removed `cronEnabled` prop from `CsvTransformerClient` and `page.tsx`;
banner state is now `loading | enabled | disabled | error` driven by the
live API response

### Global Theme Fixes (`muiOverrides.ts`)
- Fixed `MuiChip`: replaced blanket `glassSubtle` spread (invisible text
in both modes) with solid, mode-aware surface + explicit `text.primary`
label; scoped to `:not([class*="MuiChip-color"])` and
`:not(.MuiChip-colorDefault)` so status chips keep MUI palette colors
- Fixed `MuiButton.contained` dark mode: was `glassPrimary` =
`rgba(0,0,0,0.6)` (near-invisible); now solid `#2196f3` with proper
hover
- Fixed `MuiPaper`, `MuiDialog`: replaced `glassSecondary` with solid
surfaces + explicit `text.primary`
- Fixed `MuiMenu`/`MuiMenuItem`: solid backgrounds + `action.hover`
hover (was `glassHover` = white-on-white in light mode)
- Fixed `MuiButton.root`: removed `glassSubtle` spread (was adding
`backdropFilter: blur` to every button)
- Fixed `MuiTabs.root`: removed `glassSubtle` (was adding blur +
near-white background)
- Fixed `MuiAccordion`, `MuiAlert`: replaced glass spreads with solid
surfaces + explicit text colors
- Fixed `MuiBackdrop`: removed `blur(8px)` that was blurring the full
page on every dropdown/select

### CSV Transformer UI Polish
- `ProcessCsv.tsx`: column selection chips now use solid `#2196f3` for
selected / visible mode-aware grey for unselected (via `sx` theme
callback); no longer relies on `palette.primary.main`
- `ProcessCsv.tsx`: AI Processor `Select` uses `MenuProps` to suppress
full-page backdrop blur; added "Create new processor…" option that opens
CSV marketplace in a new tab
- `ProcessCsv.tsx`: all navigation buttons (`Back`, `Cancel`, `Next`,
`Process and Download`) use consistent `variant="outlined"` style
- Overview sidebar step titles: replaced `color="primary"` (invisible in
dark mode) with `color="text.primary"` / `color="text.secondary"`
- `ProcessingHistory.tsx`: DataGrid replaced hardcoded `color: 'white'`
with `text.primary` / `text.secondary` palette tokens
- `parseCsv.ts`: strip BOM/zero-width chars from headers; deduplicate
column names; export `formatCsvHeaderForUi` helper
- Fixed HTML entity literals (`'`, `"`, `'`) inside JS
string literals in `ProcessCsv.tsx`, `jlinc-partnership.tsx`,
`webinar-thank-you.tsx`

## Test Plan
- [ ] CSV Transformer: upload CSV, verify all column chips visible and
togglable in both light and dark mode
- [ ] CSV Transformer: verify "Create new processor…" opens marketplace
in new tab
- [ ] CSV Transformer: verify worker status banner shows correct state
without `ENABLE_CSV_RUN_CRON` on the web env
- [ ] Processing History: verify table text readable in light and dark
mode
- [ ] Spot-check chips, buttons, menus, alerts, dialogs in light and
dark mode across the app
- [ ] Confirm `flowise` server build passes (`pnpm --filter flowise
build`)
@ct3685 ct3685 merged commit d5a5705 into production May 5, 2026
6 of 11 checks passed
@maxtechera maxtechera temporarily deployed to staging - aai-unified2-flowise-moonstruck May 5, 2026 23:04 — with Render Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants