Skip to content

Release: Staging to Production - 2025.11.03 - #655

Merged
maxtechera merged 2 commits into
productionfrom
staging
Nov 3, 2025
Merged

Release: Staging to Production - 2025.11.03#655
maxtechera merged 2 commits into
productionfrom
staging

Conversation

@maxtechera

@maxtechera maxtechera commented Nov 3, 2025

Copy link
Copy Markdown
Collaborator

Release: Staging to Production - November 3, 2025

This release brings chat UI feature parity with Flowise Studio and fixes critical release automation.


🔥 Critical Infrastructure Fix

Release Automation Restored

Impact: Fixes automated GitHub release creation

Since October 20 (v1.7.1), GitHub releases stopped being created despite successful PR merges. Root cause: semantic-release wasn't recognizing "Release:" commit prefix used in staging→production merges.

Fix Applied:

  • Configured semantic-release to recognize Release: and HOTFIX: commit types
  • Both trigger patch version bumps
  • Restores automatic version tagging and release notes generation

Verification: After merging this PR, a new GitHub release should auto-create within minutes.


✨ Major Feature: Chat UI Parity (ANS-65, ANS-72)

Complete Flowise Studio Feature Parity

Brings web app chat UI to full feature parity with Flowise Studio for AgentflowV2 workflows.

New Capabilities:

  • AgentflowV2 Execution Visualization - Node-by-node execution tree with status tracking
  • Artifact Rendering - Images, HTML, markdown, CSV, and JSON display
  • Multi-Agent Orchestration - Visual indicators for agent transitions
  • Enhanced Agent Reasoning - Artifact display within reasoning cards
  • Complete SSE Streaming - All 19 event types now supported
  • Token Usage Display - Metadata tracking and display

Critical Bug Fix (ANS-72):

  • Fixed missing file upload button in main chat UI
  • Restored document upload (PDFs, Word, Excel) affecting multiple customers
  • Separated image and document upload controls
  • Maintains Sidekick Studio/Chrome extension compatibility

New Components:

  • ArtifactRenderer.tsx - Unified artifact display
  • AgentExecutedDataCard.tsx - Execution tree visualization
  • NodeExecutionDetails.tsx - Execution detail modal
  • SafeHTML.tsx - XSS-safe HTML rendering with DOMPurify

Dependencies Added:

  • @mui/x-tree-view - Tree visualization
  • dompurify - HTML sanitization

📊 Release Statistics

  • Files Changed: 108 files
  • Additions: 8,011 lines
  • Deletions: 32,587 lines
  • Commits: 4 commits since last production release

✅ Testing Checklist

  • Chat UI features tested in staging environment
  • File upload (images, PDFs, Word, Excel) verified
  • AgentflowV2 execution tree displays correctly
  • Artifact rendering works for all formats
  • Semantic-release configuration tested locally

🚀 Post-Merge Actions

  1. Verify Release Creation - Check that GitHub automatically creates a new release (v1.7.2 or v1.8.0)
  2. Monitor Chat UI - Verify file upload and artifacts work in production
  3. Check Release Notes - Ensure automated release notes are generated correctly

Closes: ANS-65, ANS-72

Reviewers: Please approve so we can restore automated release creation and deliver chat UI improvements to customers.

## Summary

This PR brings the web app chat UI to feature parity with Flowise Studio
and fixes a critical file upload regression affecting multiple
customers.

**ANS-65: Chat UI Feature Parity**
- Complete AgentflowV2 execution visualization with node-by-node
tracking
- Artifact rendering for images, HTML, markdown, CSV, and JSON
- Multi-agent orchestration indicators with next agent transitions
- Enhanced agent reasoning with artifact display
- Full SSE streaming event coverage (19/19 events)
- Token usage metadata display

**ANS-72: File Upload Fix**
- Restored missing file upload button in main chat UI
- Fixed document upload (PDFs, Word, Excel) for customer reports (Last
Rev LLC, WOW)
- Separated image and document upload controls
- Maintains existing Sidekick Studio/Chrome extension functionality

## Key Changes

### New Components
- **ArtifactRenderer.tsx** - Unified artifact display with support for
multiple formats
- **AgentExecutedDataCard.tsx** - AgentflowV2 execution tree
visualization (ported from Flowise)
- **NodeExecutionDetails.tsx** - Detailed execution modal for debugging
multi-step flows
- **SafeHTML.tsx** - XSS-safe HTML rendering using DOMPurify
- **agentflow.ts** - Icon definitions for 15+ node types

### Enhanced Components
- **AnswersContext.tsx**
- 6 new SSE event handlers (`artifacts`, `metadata`, `agentFlow`, etc.)
  - FILE-STORAGE:: URL transformation for secure file access
  - Improved streaming state management
  
- **ChatInput.tsx**
  - Fixed file upload button visibility logic
  - Separate controls for images vs documents
  - Proper file type validation and size limits
  - Support for `fullFileUpload` mode

- **Message.tsx**
  - Integrated execution tree, artifacts, and next agent indicators
  - Enhanced source document display
  - Improved message layout and spacing

### New APIs & Utilities
- **tts.js** - Text-to-speech API integration
- Enhanced type definitions (Artifact, AgentFlowExecutionNode,
UsageMetadata)

### Dependencies
- `@mui/x-tree-view` - Tree visualization for execution flows
- `dompurify` - HTML sanitization for security

## Testing

**AgentflowV2 Features:**
- [x] Multi-agent workflows show execution tree
- [x] Artifacts render correctly (all formats)
- [x] Next agent transition indicators display
- [x] Token usage metadata appears

**File Upload (ANS-72):**
- [x] Image upload works in main chat UI
- [x] Document upload (PDF, Word, Excel) works
- [x] File type validation functions correctly
- [x] Maintains compatibility with Sidekick Studio

## Related Issues

Closes ANS-65
Closes ANS-72

---

**Reviewers:** Please verify artifact rendering and file upload
functionality work in staging environment before merging.
Comment thread .github/workflows/publish-packages.yml Fixed
@vercel

vercel Bot commented Nov 3, 2025

Copy link
Copy Markdown

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

Project Deployment Preview Updated (UTC)
answerai-docs Ready Ready Preview Nov 3, 2025 3:18pm
the-answerai Building Building Preview Nov 3, 2025 3:18pm

@github-advanced-security github-advanced-security AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

- Add custom release rules for 'Release:' and 'HOTFIX:' commit types
- Both types trigger patch version bumps
- Fixes issue where releases stopped being created after v1.7.1
- Recent staging->production merges use 'Release:' prefix which wasn't recognized

This ensures automatic releases are created when staging->production PRs are merged.
@chatgpt-codex-connector

Copy link
Copy Markdown

💡 Codex Review

const fetchResponseFromEventStream = async (chatflowid, params) => {
const chatId = params.chatId
const input = params.question
const token = sessionStorage.getItem('access_token')
params.streaming = true
await fetchEventSource(`${baseURL}/api/v1/internal-prediction/${chatflowid}`, {
openWhenHidden: true,
method: 'POST',
body: JSON.stringify(params),
headers: {
'Content-Type': 'application/json',
Authorization: token ? `Bearer ${token}` : username && password ? `Basic ${btoa(`${username}:${password}`)}` : undefined,

P1 Badge Undefined Basic auth variables break streaming fallback

The refactor of fetchResponseFromEventStream now only reads sessionStorage for a bearer token, but the Authorization header still falls back to username/password for Basic auth. Those variables are no longer defined, so when no bearer token exists (e.g. self-hosted setups that still rely on Basic auth) evaluating the header throws a ReferenceError before the fetch call runs, causing chat streaming to fail. Reintroducing the localStorage lookups or removing the unused fallback would avoid the runtime crash.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@maxtechera
maxtechera merged commit 6dc0846 into production Nov 3, 2025
11 of 12 checks passed
maxtechera added a commit that referenced this pull request Nov 3, 2025
## Problem

GitHub releases were being created but had **empty release notes**
(e.g., v1.7.2).

**Root Cause:** 
- Merge commits used `Release: Staging to Production - DATE` format
- semantic-release couldn't parse this format (not conventional commits)
- Release notes generator had nothing to work with → empty body

## Solution

Configure semantic-release to use conventional commits format and
enforce it via git hooks.

## Changes

### 1. `.releaserc.json` - semantic-release Configuration
- Added `conventionalcommits` preset for proper commit parsing
- Configured release notes generator to group by type (Features, Bug
Fixes, etc.)
- Added rule for `chore(release)` commits to trigger patch releases
- Will now generate proper release notes from commit messages

### 2. `.claude/agents/git-pr-manager.md` - Enhanced Agent
- Added special handling for staging→production release PRs
- Format: `chore(release): staging to production - YYYY.MM.DD`
- Includes automatic release detection and note generation
- Added commit validation rules and examples

### 3. `.husky/commit-msg` - Git Hook (NEW)
- Validates all commits follow conventional format
- Blocks invalid commit messages with helpful error messages
- Provides examples of correct format

## Commit Format

**Going forward, all commits must follow:**
```
type(scope): description

Types: feat, fix, chore, docs, refactor, test, style, perf, ci, build, revert
```

**Examples:**
- `feat(chat): add file upload support` → Minor release
- `fix(api): resolve race condition` → Patch release  
- `chore(release): staging to production - 2025.11.03` → Patch release
with full notes

## Testing

✅ Validated commit-msg hook accepts valid conventional commits
✅ Validated commit-msg hook rejects invalid formats
✅ Tested release commit format: `chore(release): ...`

## Impact

- **Next release will have proper release notes** with Features/Bug
Fixes sections
- **All future commits will be validated** before being created
- **Release automation fully restored** with comprehensive release notes

## Related

Fixes the issue identified in PR #655 where release v1.7.2 had empty
notes.
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.

2 participants