Merged
Conversation
…n initialization paths. - Splitter sideEffects by functional areas.
…c issues - Debounce SM ack (<a/>) responses to reduce excessive network traffic during high-volume activity. - Fix ackQueue crash issue caused by empty outbound queue after page reload.
…e proxy restart handling
- Introduced `useChatActive` for lightweight active conversation state and actions. - Updated `ChatView` to use `useChatActive` instead of `useChat` to prevent unnecessary re-renders. - Exported `useChatActive` in index files to make it available for reuse.
- Introduced `useChatActive` for lightweight active conversation state and actions. - Updated `ChatView` to use `useChatActive` instead of `useChat` to prevent unnecessary re-renders. - Exported `useChatActive` in index files to make it available for reuse.
…robust handling of various scenarios
…longside `Contact` and remove unused presence logic in `ChatView`.
…mponent to simplify implementation.
…mponent to simplify implementation.
…d update tests accordingly
RPM rejects hyphens in Version field, causing beta releases to fail. Split prerelease into Version + Release fields (e.g. 0.13.2 + 0.1.beta.1). Convert hyphens to tildes for Debian (~beta.1 sorts correctly as pre-release). Update rename script regex patterns to match both stable and prerelease filenames.
…ereleases MSI requires numeric-only version identifiers. Convert prerelease versions (e.g. 0.13.2-beta.1 → 0.13.2.1) in tauri.conf.json before building on Windows and macOS. Only applied when the tag is detected as a prerelease.
…r for deb Tauri v2 validates version from both tauri.conf.json and Cargo.toml, so patch both for prerelease builds. Use # as sed delimiter for debian changelog to avoid potential conflicts with version string characters.
The is_prerelease output from create-release job may not propagate correctly to downstream jobs. Remove the if condition and handle stable vs prerelease inline with a bash check instead.
Tauri v2 requires strict semver (X.Y.Z) — both prerelease suffixes (0.13.2-beta.1) and 4-segment versions (0.13.2.1) are rejected. - prepare-release.js: write base version into tauri.conf.json and Cargo.toml, keeping full prerelease in package.json files - release.yml: all 4 build jobs now strip to base version consistently; added missing patch step for both Linux builds
Bash 5+ applies tilde expansion to the replacement string in
${var//-/~}, turning ~ into $HOME (/home/runner on CI).
Use sed 's/-/~/g' to safely convert hyphens to tildes for Debian
version formatting.
…watchdog integration
…tors This covers: - Creating useRoomActive() hook for RoomView (mirrors existing useChatActive() pattern) - Updating SDK room/chat selectors and store methods to iterate roomEntities/roomMeta/conversationMeta instead of combined maps - Replacing heavy useEvents()/useAdmin() hooks in Sidebar with focused store selectors
This covers: - New render stability test suite (8 test files) proving hooks like useChatActive/useRoomActive isolate components from background store updates - Memoization of store selectors (joinedRooms, allRooms, sortedContacts, etc.) by Map reference identity — reduces repeated calls from O(n log n) to O(1) - Fix app test setup: global mock for renderLoopDetector, add useRosterStore to ChatView/ChatHeader test mocks.
…and framing.rs modules
…k -> proxy) and log WS miss - Tauri/proxy path now does a fast XEP-0156 check and skips default wss://<domain>/ws fallback. - Web/no-proxy path keeps default WebSocket fallback. - Login resolution now prefers embedded well-known WebSocket URLs first. - Added explicit log when XEP-0156 has no endpoint and fallback switches to proxy.
…t on Windows/Linux
…hide/show Work around tao CSD bug (tauri#11856) where client-side decoration hit-test regions become stale after a hide→show cycle, making titlebar buttons and webview clicks unresponsive. Briefly toggle fullscreen after show() to force GTK to recalculate decorations, then restore the saved window state. Also emit a tray-restore-focus event so the frontend can call getCurrentWebview().setFocus() to hand input focus to the WebKit widget.
…to comply with RFC 7395 and prevent browser rejection, especially on Windows.
…nstead of only the first Previously, resolve_xmpp_server returned only the highest-priority SRV record from each type (_xmpps-client, _xmpp-client). If that endpoint was unreachable (e.g., firewalled port), the connection failed entirely. Now all SRV records are collected and tried in priority order. The proxy falls through to the next endpoint on TCP or TLS failure, with clear per-attempt logging and a combined error message when all fail.
…r, including mechanism tracking and UI display
…r, including mechanism tracking and UI display
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's New in v0.13.2
Added
--dangerous-insecure-tlsCLI flag to disable TLS certificate verificationChanged
useChatActivehookuseCallback/React.memoFixed