Add new /chat route with full-page chat interface featuring:
- Conversation list sidebar with delete functionality
- Newest-first message ordering
- Auto-scroll to latest message
- Starter prompt buttons
- Response details with confidence/citations/verification
- Feedback system (helpful/needs work)
LocalStorage persistence:
- Conversations sorted by updatedAt
- Max 50 conversations, 200 messages each
- Active conversation tracking
Frontend fixes:
- Messages display newest on top (reverse chronological)
- Auto-scroll to top when new messages arrive
- Template ref for scroll control
Related issue: Fix chat page UI/UX for natural conversation flow
Replace robotic system prompts with conversational responses for:
- Greetings (hi, hello, hey, etc.) - returns friendly varied responses
- Acknowledgments (thanks, ok, great) - returns polite follow-ups
- Default queries - 3 varied helpful options instead of canned text
Keeps specialized responses for identity/usage/capability queries.
Updated tests to check for conversational patterns instead of
specific robotic phrases.
Fixes issue where casual queries like "hi" would return
"I am Ghostfolio AI. I can help with..." style responses.
* fix(lib): update displayedColumns type
* feat(lib): use input function for holdings
* feat(lib): make isLoading a computed signal
* feat(lib): make paginator and sort viewchild signals
* feat(lib): make dataSource a computed signal
* feat(lib): use input function for hasPermission fields
* feat(lib): make displayedColumns a computed signal
* feat(lib): remove ngOnChanges
* feat(lib): update types in holdings mock
* fix(lib): update imports for treemap chart component
* fix(lib): remove unused routeQueryParams variable
* fix(lib): prevent creating new table data source every time the signal changes
* fix(lib): remove unused unsubscribe subject as there is no observable subscription
* fix(lib): revert changes to dataSource in the template
* fix(lib): changed locale to input signal
* fix(lib): change ignoreAssetSubClasses to protected
* fix(lib): create canShowDetails function
* fix(lib): remove unused baseCurrency and deviceType inputs
* fix(lib): remove unused baseCurrency and deviceType inputs from stories
* feat(lib): make constructor as public
* fix(lib): prevent table data source to be created every time
* fix(lib): remove unused unsubscribeSubject variable
* fix(lib): change to protected methods
* feat(lib): change locale to signal input
* feat(lib): remove unused deviceType input
* feat(lib): change hasPermissionToOpenDetails to signal input
* feat(lib): change showFooter to signal input
* feat(lib): change activitiesCount to signal input
* feat(lib): change baseCurrency to signal input
* feat(lib): change totalBalanceInBaseCurrency to signal input
* feat(lib): change totalValueInBaseCurrency to signal input
* feat(lib): change outputs to signal outputs
* Adapt accounts and tags of assistant in impersonation mode
* Update changelog
---------
Co-authored-by: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>