Skip to content

Conversation

@bcolemanau
Copy link

Changes

  • Home Page Redirect: Base URL now redirects to /workbench/map\ to make workbench the default home view
  • Chat Input Overflow Fix: Fixed chat input hanging off bottom of screen by switching from absolute positioning to flex layout
    • Removed conflicting \�bsolute inset-0\ positioning from \StickyToBottomContent\
    • Implemented flex layout with proper height constraints throughout the component tree
    • Added explicit flex constraints to Thread wrapper in shell
    • Content area is now scrollable with \ lex: 1 1 auto\
    • Footer stays at bottom with \ lexShrink: 0\ and overflow constraints
  • ESLint Fixes: Fixed unused expression warnings in \shell.tsx\

Testing

  • Build passes successfully
  • Home page redirects correctly
  • Chat input positioning improvements (may need further refinement based on RRWEB analysis)

Commits

  • \823c255\ - fix: add stricter height constraints to prevent chat input overflow
  • \df42f5e\ - fix: remove absolute positioning from StickyToBottomContent to fix chat input overflow
  • \60b2848\ - fix: chat input overflow by switching to flex layout instead of absolute positioning
  • \ c158a6\ - fix: ESLint errors in shell.tsx - add void to reflow expressions
  • \

bencoleman-au and others added 27 commits January 23, 2026 13:43
Railway's native build cache (enabled in railway.toml) will handle caching instead of Docker BuildKit cache mounts.
Frontend was signing JWT tokens with NEXTAUTH_SECRET, but backend validates with REFLEXION_JWT_SECRET. This mismatch caused 'Invalid token: Not enough segments' errors.

Now frontend uses REFLEXION_JWT_SECRET (with fallback to NEXTAUTH_SECRET for local dev) to ensure tokens are validated correctly by the backend.
- Remove configured apiKey from passthrough so client's X-Api-Key header is forwarded
- Client sends JWT token via X-Api-Key header from session.user.idToken
- Passthrough was overriding client header with configured LANGSMITH_API_KEY
- This should fix 401 errors on /api/threads endpoint
- Replace langgraph-nextjs-api-passthrough with custom proxy implementation
- Explicitly forward client's X-Api-Key or Authorization header to backend
- Bypass passthrough's configured apiKey to ensure client JWT is used
- Forward all headers from client request to maintain compatibility
- This should fix 'invalid api key or token' errors on stream endpoint
- Create new EnrichmentView component in workbench
- Move enrichment approval from modal to dedicated workbench tab
- Add collapsible left sidebar for projects
- Add resizable bottom panel for agent chat
- Pass thread_id query param when fetching enrichment proposals
- Fix D3 force simulation error for missing nodes in map view
- Improve project name display (format UUIDs as friendly names)
- Add draggable resizer for agent panel height adjustment

Resolves Issue #12 - Harmonize Artifact Ingestion
- Change serialize return type from string | null to string
- Return empty string instead of null when value is empty
- Fixes Railway build failure
- Emphasize folder upload, automatic enrichment, and KG integration
- Better reflect the harmonized artifact ingestion improvements
- Include workbench layout enhancements as supporting features
- Lead with Customer Administrator user story
- Position as completion of Customer Onboarding experience
- Add business value section highlighting accelerated onboarding, accuracy, iterative refinement, audit trail, and unified experience
- Set context for Concept → Design → Operations loop
- Fix JSON syntax error (duplicate closing brackets)
- Create Markdown version of release notes with full formatting
- Update ReleaseNotesTab to fetch and render Markdown using MarkdownText component
- Add markdown file to public/data for static serving
- Remove label from debug logging (not part of Node interface)
- Add type assertion for label access in diff nodes (any type)
- Add 'enrichment' to valid workbench view types
- Next.js API proxy can't handle multipart/form-data file uploads
- File uploads now call backend directly instead of through /api proxy
- Detects Railway staging vs localhost and uses appropriate backend URL
- Fixes 'Failed to proxy request' error for folder uploads
- Changed from /enrich (FormData) to /enrichment (JSON) endpoint
- Avoids Next.js proxy issues with multipart/form-data
- Backend supports both endpoints, JSON works through proxy
…pass

- uploadDocument was using duplicate inline logic instead of the helper
- Improved getDirectBackendUrl to always bypass proxy for relative URLs
- Better Railway detection and handling of absolute URLs pointing to frontend
- Ensures file uploads always go directly to backend, never through Next.js proxy
…ensive logging

- uploadDocument now uses getDirectBackendUrl helper (like uploadFolder)
- Improved getDirectBackendUrl with better Railway detection and decision logging
- Added comprehensive logging throughout upload flow:
  * Start/end markers for each upload
  * File details, apiUrl resolution, proxy bypass status
  * Request/response details with timing
  * Detailed error information
- This will help debug file upload issues on Railway staging
- Updated enrichment-view.tsx to use direct backend URL helper
- Updated enrichment-approval.tsx to use direct backend URL helper
- Both components now bypass Next.js proxy for all enrichment endpoints
- Fixes network errors where requests were incorrectly forwarded to LangGraph
- Moved height constraint to outer container for proper flexbox layout
- Removed conflicting explicit height from content div
- Added overflow-hidden to ensure proper scrolling within Thread component
- Chat content now visible and scrollable without requiring panel resize
- Add fallback to GITHUB_REPO_NAME env var (used by backend)
- Add validation for repo URL format
- Improve error messages with more diagnostic information
- Better logging for GitHub API errors
- Implemented NodeDetailPanel with content renderer registry
- Added Architecture, Markdown, Text, and Binary content renderers
- Enhanced artifacts list view with filtering, sorting, and resizable detail panel
- Fixed map view node selection and highlighting
- Improved C4 diagram layout to prevent component overflow
- Fixed scrollbar issues and header visibility
- Added comprehensive logging for debugging

Closes #16
…etailview

Feature/issue 16 architecture detailview
- Redirect root URL to /workbench/map to make workbench the default home view
- Fix chat input going off-screen on page load using useLayoutEffect
- Add proper height constraints and layout recalculation on mount
- Ensure Thread component respects parent container constraints

Fixes chat input positioning issues in Railway staging environment
- Added explicit flex layout to StickToBottom container
- Added overflow hidden and box-sizing to footer
- Added flex constraints to Thread wrapper in shell
- Ensures all containers respect max-height constraints
@vercel
Copy link

vercel bot commented Jan 26, 2026

@bencoleman-au is attempting to deploy a commit to the LangChain Team on Vercel.

A member of the Team first needs to authorize it.

- Header is h-10 (40px) and must be subtracted from content area
- Content area now uses calc(100% - 40px) to properly constrain height
- Prevents chat input from overflowing by ensuring content respects header space
- Fix chat input being obscured by content: adjust z-index layering, increase padding, and ensure footer stays above scrollable content
- Improve RRWeb recording button: add error handling, user feedback when disabled, and proper state management
- Ensure footer has proper background and positioning to prevent content overlap
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