Resolve ESLint errors in LeadManager
- Change 'let filtered' to 'const filtered' (prefer-const) - Replace 'any' types with proper PinnedLead interface - Remove unused PushPin import - Add explicit ...
Add pinned urgent leads functionality to datagrid
- Add pinned rows feature (default 5 rows) for latest urgent contact leads - Pinned rows always visible at top regardless of filters or sorting - Modern styling...
Update status column to show parent > child format and use enum-based mock data
- Update mock data generation to use actual status/sub-status pairs from Java enum - Change "Sub Status" column header to "Status" - Display status in "{parent}...
Update leads page with status filters, remove phone column, add sub-tabs
- Remove phone number column from leads grid - Increase width of Created and Assigned columns to fit datetime data - Add status and sub-status dropdown filters ...
Add saggy bounce animation to connection lines with arrow heads
- Converted straight lines to curved SVG paths using quadratic bezier curves - Added continuous saggy bounce animation using requestAnimationFrame - Longer conn...
Restore connection dragging functionality between task items
- Fixed startConnection function to properly accept answerIndex parameter - Added SVG rendering for connection lines (both existing and dragging) - Connection l...
Resolve TypeScript type error for react-draggable nodeRef
- Updated nodeRefs Map type to accept RefObject<HTMLDivElement | null> - Added type assertion when passing nodeRef to Draggable component - Fixes build error: T...
Resolve findDOMNode error on tasks page for React 19 compatibility
- Added nodeRef prop to react-draggable components to avoid deprecated findDOMNode - Created ref map to store refs for each draggable item - Added cleanup logic...
Add Adjust Features functionality to apps in account settings
- Added 'Adjust Features' button/link to each enabled app card - Button appears in both grid and list view modes - Added 'Adjust Features' option to context men...
Correct button layout and make side buttons twice as wide
- Moved clear button to the right of call button - Backspace button remains on the left - Both side buttons (backspace and clear) are now twice as wide - Double...
Reduce dial tone volume and add modernized clear button
- Reduced dial tone volume by 50% (from 0.5 to 0.25) - Added clear button (CallEnd icon) that appears when numbers are entered - Clear button clears all digits ...
Enhance phone number display field with modern animations
- Added auto-scroll to follow last dialed digit when number is too long - Implemented digit-by-digit pop-in animations with staggered timing - Added focus state...
Remove duplicate onMouseLeave prop in dial pad buttons
- Combined duplicate onMouseLeave handlers into single handler - Fixes build error: No duplicate props allowed
Improve dial pad with audio preloading and modern animations
- Preload all DTMF audio files when dialpad tab opens for instant playback - Add modern button animations with hover and press states - Implement visual feedbac...
Add DTMF touch tone sounds to dial pad in chatbox
- Added DTMF tone generation script (generate-dtmf-tones.js) - Generated WAV files for all dial pad buttons (1-9, *, #, 0) - Integrated touch tone playback into...
Resolve build errors in pipeline components
- Fixed Grid component usage: changed from Grid item xs={12} to Grid size={{ xs: 12 }} (MUI v6 Grid2 API) - Fixed invalid icon imports: replaced Package with In...
Add Pipeline page with Applications, Orders, Shipments, and Returns tabs
- Created pipeline page using SettingsView component similar to account pages - Added Applications tab with application management and status tracking - Added O...
Add Pipeline button to NavPri navigation
- Added Pipeline button with TimelineIcon after Accounts button - Links to /pipeline route - Always visible (not conditional on organization features)
Update account page tabs to new account type categories
- Changed tabs from status-based to account type categories: - "Clients & Customers" (BusinessCenter icon) - "Members & Subscribers" (People icon) - "Empl...
Rename /hr/ folder to /account/ throughout the project
- Renamed app/hr/ to app/account/ - Renamed app/components/hr/ to app/components/account/ - Updated all references from /hr to /account in: - NavPri.tsx (navi...
Simplify getDisplayName to use userInfo.usernameAlias directly
- Removed unnecessary fallback logic and error checks - Use userInfo.usernameAlias directly from *** session data - Only show ROFL if userInfo is missing or use...
Resolve "Welcome back" user name display issue in NavTop
- Fixed getDisplayName() to only show "ROFL" on actual errors, not during loading - Added loading state handling to show "Welcome back..." while fetching user i...
Add detailed logging to my-networks API route
- Added logging for request URL, headers, and cookie presence - Added specific logging for *** cookie detection - Added detailed error logging for 401 responses...
Prevent automatic logout on 401 errors in network page
- Changed 401 error handling to show error message instead of immediately redirecting to /logout - Added retry button to error alert for easier recovery - Users...
Add Employee Browser for HR page with EmployeeManager component
- Created EmployeeManager component similar to LeadManager with employee-specific fields - Updated /hr/page.tsx to match doc manager layout with gradient header...
Remove invalid onWebSocketClose and onWebSocketError from ClientOptions
- Removed onWebSocketClose and onWebSocketError handlers as they are not valid ClientOptions properties - WebSocket close and error events are already handled i...
Move onWebSocketClose and onWebSocketError to Client constructor options
- Moved onWebSocketClose and onWebSocketError from property assignment to Client constructor options - These handlers should be defined in ClientOptions, not as...
Remove invalid 'active' property check from STOMP Client
- Removed clientRef.current.active check which doesn't exist on Client type - Using only clientRef.current.connected which is the correct property
Replace StompSubscription with Subscription from @stomp/stompjs
- Changed import from StompSubscription to Subscription (correct export name) - Updated all type references to use Subscription instead of StompSubscription
Remove invalid connectionTimeout property from STOMP ClientOptions
- Removed connectionTimeout property which is not part of ClientOptions type - Connection timeout is already handled manually via connectionTimeoutRef
Resolve TypeScript build error in LeadManager component
- Fixed Chip icon prop type error by changing ReactNode to ReactElement - Removed unused imports and props - Fixed useMemo dependency warning by wrapping IdRend...
Update leads page with LeadManager component matching doc manager layout
- Created LeadManager component similar to DocManager with lead-specific fields - Updated /leads/page.tsx to match doc manager layout with gradient header - Add...
Auto-scroll chat to bottom on load and new messages
Track previous message count and scroll smoothly when new messages arrive; scroll immediately on initial load or when un-minimizing
Frontend WebSocket persistence - match backend timing and faster reconnect
Heartbeat: 4s -> 20s to match backend, reconnect delay: 5s -> 1s, add 30s connection timeout
Unified header design spanning both chat and softphone panels
REMOVED: Status bar from softphone (wifi, signal, time - unnecessary for web app) SHARED HEADER: Title bar now spans both softphone and chat when expanded LAY...
Optimize softphone to fit all content without scrolling at 680px height
CHATBOX HEIGHT: 550px -> 680px (optimal balance) PHONE DISPLAY: Reduced minHeight (100/75 -> 85/65), padding (14/16 -> 12/14) CALL CONTROLS: All 9 buttons - p...
Reduce ChatBox height to more comfortable 550px
Changed from 85% viewport (750-850px) to fixed 550px for better UX WebRTC call controls remain fully intact and functional
Add premium enterprise features - Analytics, CRM, AI Assistant, Advanced
ANALYTICS DASHBOARD - Real-time call metrics with interactive charts CRM INTEGRATION - Customer data, lifetime value, activity tracking AI ASSISTANT - Sentime...
Implement 100% enterprise VoIP desk phone features
Complete implementation of 100+ features matching Cisco 8800, Polycom VVX 600, Yealink T58A 7 Tabs: Dialpad, Speed Dial/BLF, History, Voicemail, Contacts, Queu...
Make softphone fully visible without scrolling - comprehensive compact layout
CHATBOX HEIGHT: - Changed from fixed 600px to 85% of viewport height - Uses Math.floor(window.innerHeight * 0.85) for responsive sizing - Provides much more ver...
Eliminate horizontal scrollbars and increase softphone visibility
LAYOUT FIXES: - Increase DOCKED_HEIGHT from 480px to 600px for better vertical space - Add explicit width constraints (minWidth, maxWidth) to SoftphonePanel roo...
Elevate softphone to enterprise-grade with premium features
ENTERPRISE FEATURES: - Call Recording with visual indicator and pulsing animation - Call Transfer functionality for seamless handoffs - Call Notes with expandab...
Add expandable softphone panel to ChatBox
- Add PhoneInTalk icon button to ChatBox header for softphone toggle - Create comprehensive SoftphonePanel component with full UI - Implement dialpad with 0-9, ...
Remove connected check and add debug logging for STOMP activation
STOMP client was not activating because connected check was preventing it. Added debug logs to diagnose.
Activate STOMP client only after SockJS opens
Critical bug fix: STOMP client was being activated before SockJS opened, causing immediate disconnect. Now waits for SockJS onopen event before activating STOMP...
WebSocket接続用のSockJSフォールバックトランスポートを有効にする
WebSocketのアップグレードが失敗した場合、xhr-streamingとxhr-pollingをフォールバックとして許可します.
Enhance ChatBox with dynamic color system and increased height
- Increase message viewing area by 33% (DOCKED_HEIGHT: 360 -> 480) - Create ChatBoxStyles.tsx with dynamic CSS variable-based color system - Apply primary color...
プロのポーランド語でチャットボックスのデザインを近代化
- 微妙な灰色の勾配ときれいな白い背景を実装 - プライマリカラースキームと統合されたカスタムスクロールバースタイリングを追加 - 勾配の背景および非対称の境界のメッセージの泡を高めて下さい - 丸型の設計および焦点リング効果の入力分野を近代化して下さい - 改良されたアバターのスタイリングおよび勾配の背景のヘッダーを...
UseChatWebSocket で無効な 'active' プロパティチェックを削除
@stomp/stompjs からのクライアントタイプには、'active' プロパティはありません。 client.activate() がクライアント作成直後に呼び出されるため、無効なチェックを削除しました.
STOMP クライアントをアクティブにする前に SockJS を開くのを待ちます
- SockJS接続が準備される前にSTOMPクライアントが活性化したレース条件を修正 - client.activate() を SockJS のオープンコールバックに移動 - これは、リアルタイムメッセージを防ぐ即時接続閉鎖の問題を修正する必要があります