- Change card aspect ratio from fixed 0.85 to dynamic with 4:3 cover
- Remove weight-based layout for more flexible sizing
- Add refresh() method to reload workflows on screen entry
- Use LaunchedEffect to trigger refresh when screen appears
- Remove onSetCoverClick from ImageGallery component
- Add onSetCover callback to ImagePreviewScreen
- Display set-cover and save buttons in preview bottom row
- Add EMPTY_LATENT_IMAGE to EditableNodeType enum
- Detect empty latent image nodes by class type
- Add EmptyLatentImageEditor with width/height/batch_size inputs
- Replace cyan/indigo primary colors with Blue 600/400
- Use Slate gray scale for backgrounds and surfaces
- Update extended colors (card, shimmer, node status)
- Maintain consistent color naming with Tailwind CSS
- Observe WsConnectionState and update status bar accordingly
- Show reconnection attempts count during reconnecting
- Display error message when max retries exceeded
- Add disconnect() method and proper cleanup in onDispose()
- Initialize randomSeedNodes for KSampler nodes in init block
- Add ReconnectPolicy with configurable max attempts, delays and jitter
- Add WsConnectionStatus enum and WsConnectionState for tracking
- Implement exponential backoff retry logic with max 5 attempts
- Add connectionState StateFlow for UI observation
- Add disconnectAsync() for non-blocking disconnect