Skip to content

Conversation

@BP602
Copy link
Owner

@BP602 BP602 commented Oct 3, 2025

No description provided.

BP602 and others added 8 commits August 21, 2025 16:40
- Add cross-platform icon handling for Linux/macOS support
- Convert Windows .ico to .png for non-Windows platforms
- Update tray and thumbar icons to use platform-appropriate format

Fixes application crashes on Linux due to unsupported .ico format

Authored-by: BP602 <BP602@pontet.eu>
* Fix cross-platform icon compatibility

- Add cross-platform icon handling for Linux/macOS support
- Convert Windows .ico to .png for non-Windows platforms
- Update tray and thumbar icons to use platform-appropriate format

Fixes application crashes on Linux due to unsupported .ico format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add configurable auto-update settings

- Add auto-update toggle in General settings (enabled by default)
- Check settings before performing automatic update checks on startup
- Skip auto-updater when disabled in settings
- Add IPC handler for runtime setting changes
- Maintain existing manual update functionality

Users can now disable automatic update checking while keeping the ability to manually check for updates through the UI.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Improve auto-update settings: dismiss notifications when disabled

- Add immediate dismissal of update notifications when auto-update is disabled in settings
- No longer need to restart app to hide existing update notifications
- Add onDismiss method to update API in preload script
- Listen for autoUpdate setting changes in main process
- Update Updater component to handle dismiss events

Now when users disable auto-update in settings, any active update notifications disappear immediately instead of persisting until restart.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: BP602 <BP602@pontet.eu>
Co-authored-by: Claude <noreply@anthropic.com>
* Replace scrollToIndex with built-in followOutput

- Remove manual scrollToIndex implementation in favor of Virtuoso's
  followOutput prop
- Set followOutput to a function that always returns true for consistent
  scrolling during fast updates
- Adjust atBottomThreshold from 100 to 6 to fix messages being cut off
- Add padding-bottom: 6px to .message class for proper scroll alignment
- Fixes issue where messages appear halfway cut off at the bottom

* Use smooth scrolling for followOutput
* Fix cross-platform icon compatibility

- Add cross-platform icon handling for Linux/macOS support
- Convert Windows .ico to .png for non-Windows platforms
- Update tray and thumbar icons to use platform-appropriate format

Fixes application crashes on Linux due to unsupported .ico format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(chat): correct chatters selector for @ mention autocomplete

Fixes the data selector for chatters in the chat input component.
The selector was looking for chatters in state.chatrooms[].chatters
but the data is actually stored in state.chatters[chatroomId].

Resolves #40

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
* Fix cross-platform icon compatibility

- Add cross-platform icon handling for Linux/macOS support
- Convert Windows .ico to .png for non-Windows platforms
- Update tray and thumbar icons to use platform-appropriate format

Fixes application crashes on Linux due to unsupported .ico format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: add missing dependencies @lexical/text and lodash

Resolves #35

- Add @lexical/text dependency required by Chat Input component
- Add lodash dependency required by hooks utility
- These dependencies were missing from package.json preventing compilation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
* Fix cross-platform icon compatibility

- Add cross-platform icon handling for Linux/macOS support
- Convert Windows .ico to .png for non-Windows platforms
- Update tray and thumbar icons to use platform-appropriate format

Fixes application crashes on Linux due to unsupported .ico format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix emote rendering in reply message previews

- Remove type === "reply" check that forced Kick emotes to render as text
- Pass sevenTVSettings to MessageParser in ReplyMessage component
- Enable both Kick and 7TV emotes to render as images in reply previews

Fixes #38

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
)

* Fix cross-platform icon compatibility

- Add cross-platform icon handling for Linux/macOS support
- Convert Windows .ico to .png for non-Windows platforms
- Update tray and thumbar icons to use platform-appropriate format

Fixes application crashes on Linux due to unsupported .ico format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(7tv): null-guard channel avatar in EmoteDialogs to prevent includes on undefined. Fixes #46

---------

Co-authored-by: Claude <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Oct 3, 2025

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

BP602 and others added 3 commits October 3, 2025 21:30
* Fix critical memory leaks and implement memory management

- Add size limits to chatters array (1000 per chatroom with LRU eviction)
- Add size limits to mentions array (200 per chatroom)
- Implement automatic cleanup for stvPresenceUpdates Map
- Add periodic cleanup system (every 10 minutes)
- Clean up old presence updates and message batches
- Prevent unbounded memory growth in long-running sessions

Memory leak fixes:
- Global stvPresenceUpdates Map now auto-cleans old entries
- Chatters arrays limited with timestamp-based LRU eviction
- Mentions arrays limited to most recent 200 entries
- Automatic cleanup of disconnected chatroom data
- Periodic maintenance prevents accumulation over time

Expected improvement: Stable memory usage instead of growing to 4.5GB+ after extended use

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update ChatProvider.jsx

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Dark <124302864+thedrkness@users.noreply.github.com>
…st (#27)

* Fix cross-platform icon compatibility

- Add cross-platform icon handling for Linux/macOS support
- Convert Windows .ico to .png for non-Windows platforms
- Update tray and thumbar icons to use platform-appropriate format

Fixes application crashes on Linux due to unsupported .ico format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Implement connection pooling optimization for massive performance boost

- Replace individual WebSocket connections with shared connection pools
- Reduce WebSocket connections from 42 to 2 (95.2% reduction)
- Add SharedKickPusher for multiplexed Kick chat connections
- Add SharedStvWebSocket for multiplexed 7TV event connections
- Implement ConnectionManager with staggered batch initialization
- Add emote caching system to prevent duplicate API calls
- Fix message filtering type coercion issue (number vs string IDs)
- Add historical message loading to shared connection system
- Optimize ChatroomTab with useShallow and useMemo to prevent infinite loops
- Maintain full functionality while dramatically improving startup performance

Expected improvements:
- ~75% faster startup time with multiple chatrooms
- Reduced memory usage and connection overhead
- Better scalability for users with many chatrooms

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add live status fetching and debug improvements to connection pooling

- Fix circular import issues with callback pattern for ChatProvider methods
- Add initial livestream status fetching during connection setup
- Include debug functions for testing live status in development
- Remove excessive console logging for cleaner output
- Clean up code style and fix whitespace issues

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Added useAccessibleKickEmotes from BP602 fork

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Dark <124302864+thedrkness@users.noreply.github.com>
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