Skip to content

Conversation

@abhattachar5
Copy link
Owner

@abhattachar5 abhattachar5 commented Nov 2, 2025

…nd UI improvements

  • Fixed TypeScript compilation errors (signal types, unused imports, etc.)
  • Fixed API response mapping for answer submission (backend wraps response)
  • Fixed error message handling for date fields and validation constraints
  • Added refresh button to header with proper icon styling [] [] []
  • Fixed duplicate question prevention in message list
  • Improved form control state management (disabled state handling)
  • Updated validator logic to apply min/max only for appropriate field types
  • Fixed Angular Signals context errors (runInInjectionContext)
  • Enhanced error messages with type-specific formatting
  • Improved UI styling for header, input bar, and message list
  • Fixed CORB issues in demo embedding
  • Updated TypeScript configuration and dependencies

Note

Stabilizes signals and form validation, adapts to wrapped API responses, adds refresh and UI/UX tweaks, and updates the demo/init config.

  • Widget Shell (chat-widget-shell):
    • Adds refresh action with tooltips; exposes expand(); wraps effects in runInInjectionContext and fixes signal usages; prevents duplicate questions; restart flow via refresh(); wiring fixes for inputs/controls.
  • Input Bar (input-bar):
    • Switches isLoading to boolean; improves placeholders/ARIA; converts submit to labeled button; enables/disables via form control; per-type min/max validators; clearer error messages; format example helper.
  • Message List / Navigation / Mic:
    • Corrects empty state and viewport closing; style and timestamp tweaks; nav inputs use booleans; mic disabled is boolean and tooltip position adjusted.
  • Services:
    • api: support apiBaseUrl; map wrapped submitAnswer response; retry/backoff cleanup; typing fixes.
    • session: update session progress from envelopes; refine clear/set flows.
    • analytics: relaxed payload typing; remove unnecessary casts.
    • accessibility: minor focus handler cleanups.
  • Models:
    • WidgetConfig: optional apiBaseUrl.
    • QuestionEnvelope: question nullable, optional sessionId, add progress, decision, decisionReason.
  • Transcript Tab:
    • Load/reload via effects in injection context; simplify subscriptions.
  • Module:
    • Import standalone components directly in InsuranceChatWidgetModule.
  • Demo App:
    • Auto-expand widget on load; richer feature list; updated config/init (init over setConfig, demo JWT, apiBaseUrl); TS config includes *.ts.
  • Dependencies:
    • Bump typescript to ~5.4.0.

Written by Cursor Bugbot for commit 5d09222. This will update automatically on new commits. Configure here.

…nd UI improvements

- Fixed TypeScript compilation errors (signal types, unused imports, etc.)
- Fixed API response mapping for answer submission (backend wraps response)
- Fixed error message handling for date fields and validation constraints
- Added refresh button to header with proper icon styling [] [] []
- Fixed duplicate question prevention in message list
- Improved form control state management (disabled state handling)
- Updated validator logic to apply min/max only for appropriate field types
- Fixed Angular Signals context errors (runInInjectionContext)
- Enhanced error messages with type-specific formatting
- Improved UI styling for header, input bar, and message list
- Fixed CORB issues in demo embedding
- Updated TypeScript configuration and dependencies
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

This is the final PR Bugbot will review for you during this billing cycle

Your free Bugbot reviews will reset on December 12

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.


canGoForward = computed(() => {
return this.allowForwardNav();
return this.allowForwardNav;
Copy link

Choose a reason for hiding this comment

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

Bug: Stale Computed Values from Non-Signal Inputs

The computed() function is being used with non-signal @input properties (allowBackNav, isFirstQuestion, allowForwardNav). Angular's computed() expects to read from signals to track dependencies and react to changes. Since these are plain boolean properties, the computed values will not update when the input properties change, causing the navigation buttons to have stale enabled/disabled states.

Fix in Cursor Fix in Web


// Restart session
this.startSession();
}
Copy link

Choose a reason for hiding this comment

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

Bug: Memory Leak: Refresh Fails to Unsubscribe Subscriptions

The refresh() method does not unsubscribe from existing subscriptions before calling startSession(). When refresh is called, it clears the session and messages, then starts a new session which adds new subscriptions to this.subscriptions. However, any in-flight HTTP requests from the previous session will continue and their subscriptions remain active, potentially causing memory leaks and unexpected behavior if they complete after the refresh. The method should call this.subscriptions.unsubscribe() and reinitialize this.subscriptions = new Subscription() before starting a new session.

Fix in Cursor Fix in Web

Copy link
Owner Author

@abhattachar5 abhattachar5 left a comment

Choose a reason for hiding this comment

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

approved for merge

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