Commit Graph
3 Commits
Author SHA1 Message Date
John CostaandGitHub 1cdbde58f5 fix: remove optimistic UI updates in external actions to prevent race condition (#4711)
When adding/deleting external actions, the UI would sometimes show
duplicated or cloned rows due to a race condition between:
1. The optimistic setActions() call updating local state
2. The save() callback updating externalActions in context
3. The useEffect syncing actions from externalActions

This fix removes the optimistic updates and lets the server response
be the single source of truth, updating the UI only after the context
is updated via the save() success callback.

Fixes #4347
2026-01-17 14:44:33 -08:00
John CostaandGitHub 9f169ce96e fix: preserve chat input text across window resize (#4717)
Adds a Recoil atom (chatInputDraftAtom) to store the chat input draft,
which persists the text when the chat component unmounts/remounts during
mobile/desktop mode transitions.

Changes:
- Add chatInputDraftAtom to ClientConfigStore
- Update ChatTextField to save draft on input change
- Restore draft when component mounts
- Clear draft when message is sent

Closes #3615
2026-01-17 14:33:02 -08:00
John CostaandGitHub 9c747e865a fix: consolidate browser notification learn more text into single localized string (#4716)
- Combines 'Learn more' link and surrounding text into one Translation
- Fixes double space issue (was   + regular space)
- Enables full sentence to be localized: '<a>Learn more</a> about Owncast browser notifications.'

Closes #4655
2026-01-14 12:57:14 -08:00