Skip to content

Fluux Messenger 0.13.3#227

Merged
mremond merged 31 commits intomainfrom
devel
Mar 4, 2026
Merged

Fluux Messenger 0.13.3#227
mremond merged 31 commits intomainfrom
devel

Conversation

@mremond
Copy link
Member

@mremond mremond commented Mar 4, 2026

What's New in v0.13.3

Added

  • MUC room member affiliation discovery for avatars, panel, and mentions
  • MUC message history authors included in mention autocomplete
  • Session persistence scoped by JID for multi-account isolation
  • XMPP Console log batching with increased entry limit

Changed

  • Windows installer defaults to passive install mode
  • Keyboard shortcut listener dependencies stabilized
  • Stanza-id references enforced in MUCs when available

Fixed

  • SM resumption now detects cache clear and triggers full sync
  • Roster subscription refusal no longer creates ghost entries
  • Message reactions normalized for consistent reactor identifiers
  • Viewport pending reports flushed on conversation switch to avoid stale states
  • Reply behavior uses client-generated IDs for chat messages (XEP-0461)
  • Unicode normalization improved for MUC nickname mention matching
  • Media URLs with special characters in path handled correctly
  • Linux keyring uses Secret Service backend for persistent credential storage
  • Linux WebKitGTK dmabuf renderer disabled to prevent Wayland crash
  • iOS safe area insets for camera cutout and home indicator (PWA)
  • Deep link async URI processing errors handled explicitly
  • Service worker install and audio notification guards hardened
  • Clear-storage event listener made unmount-safe
  • Flatpak runtime updated to GNOME 49

mremond added 2 commits March 4, 2026 18:47
…olation

Scope useSessionPersistence storage (session, roster, rooms, view state, profile, own resources, server info) by bare JID, add active-session pointer + all-accounts clear path, and update tests including legacy fallback behavior.

scope app persistence by jid and reserve --clear-storage for full wipe
@mremond mremond added this to the 0.13.3 milestone Mar 4, 2026
mremond added 26 commits March 4, 2026 18:57
…rvice worker

Add custom service worker with offline support via precaching (Workbox) and push notifications for messages using VAPID keys. Integrate WebPush module into SDK for subscription management and registration.
Webpush is supported in ejabberd Business Edition.
Add support for suggesting nicknames from message history in the mention autocomplete feature. Prioritize occupants over history-only nicknames and ensure unique handling of overlaps. Update tests to cover new behavior.
…mentions

Query owner/admin/member affiliations via XEP-0045 muc#admin after joining
rooms. Populates nickToJidCache so offline members' message avatars resolve
through the existing chain. Adds an "Offline" section in OccupantPanel and
includes affiliated member nicks in @mention autocomplete.

Closes #214
…th (#221)

Videos from Prosody http_file_share with & and = in the filename path
(e.g. uuid=...&code=001&cap=true.mov) failed to load in WKWebView.

- Switch video/audio from <source type=...> to direct element src to
  avoid strict MIME type gating
- Add sanitizeMediaUrl() that percent-encodes special characters in URL
  path segments before they reach the media loader
- Add download button to video error fallback so files remain retrievable
- Add regression tests for Prosody-style file_share URLs
…ster entries

handleSubscribe auto-accepted any JID present in the roster, including
ghost entries with subscription="none" from previously rejected requests.
rejectSubscription only sent unsubscribed without cleaning up the roster.
Incoming unsubscribed presence was silently swallowed, leaving ghost entries.

- Check subscription state (not just roster presence) before auto-accepting
- Clean up subscription="none" entries on both reject and unsubscribed
- Handle deferred cleanup when roster push arrives after unsubscribed
- Add subscription-denied system notification type
- Introduced Web Push support in profile settings to show registration status
- Updated translations for Web Push strings across supported locales
- Added `webPushStatus` to connection hook and integrated logic for status display in the UI
- Adjusted visual indicators for registered, pending, and unavailable states
- Added verbose logging in Web Push initialization, service discovery, and registration flows
- Improved debugging for unsupported environments and notification permissions
- Enhanced visibility into subscription and service worker states
…imit

- Introduced batching mechanism to buffer and flush incoming logs every 100ms, reducing per-stanza state updates and re-renders during high traffic.
- Increased MAX_ENTRIES from 500 to 2000 to accommodate larger debug sessions.
- Updated tests to reflect batching behavior and new entry limit.
@mremond mremond merged commit f69b08c into main Mar 4, 2026
1 check passed
@mremond mremond deleted the devel branch March 4, 2026 18:03
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.

1 participant