
內容簡介
SurfCoinsChat Community 是一個獨立的擴展外掛,專為 Better Messages 的免費/社群版設計。它增強了群組對話管理、即時通訊功能及用戶互動,提供更流暢的聊天體驗。
【主要功能】
• 群組對話管理:名稱、圖片、參與者及管理員設定
• 在線狀態與最後一次出現時間顯示
• 一鍵快速回覆功能
• 管理員可管理的快速回覆選項
• 發送、已送達及已讀指示器
• 一對一 WebRTC 語音與視頻通話
外掛標籤
開發者團隊
原文外掛簡介
SurfCoinsChat Community is an independent extension for the free/community edition of Better Messages.
It keeps Better Messages responsible for conversations and message storage while adding:
Group-conversation management: group name/image, participants, moderators, invitations, conversation notification mute, mute/ban controls, system-message preference, and leave-group flow.
Online and last-seen presence, avatar indicators, and typing/activity states.
One-tap quick replies above the active composer, using the native Better Messages send flow.
Administrator-managed quick replies with add, edit, enable/disable, drag-to-reorder, preview, and restore-default controls.
Sent, delivered, and read indicators for outgoing messages, with per-participant receipt details in group conversations.
Browser-recorded voice messages stored on the same WordPress site.
One-to-one WebRTC voice and video calls with call history.
Automatic Better Messages full-screen mode on the dedicated /chat/ page.
Per-user chat background images for users with the standard WordPress upload_files capability.
Installable PWA manifest and Service Worker support.
Explicit opt-in browser Web Push notifications.
Adaptive/event-driven synchronization that reduces background REST traffic and duplicate work across multiple browser tabs.
A compact footer transport indicator shows whether the optional SurfCoins WebSocket connection is active, reconnecting, or inactive.
Administrator settings show the optional SurfCoins WebSocket integration state and can simplify selected commercial Better Messages submenu links without modifying Better Messages files.
When SurfCoins WebSocket is not installed, administrators can download the plugin for free from SurfCoins while licensing remains separate for the realtime service.
Better Messages is required. The dependency slug is bp-better-messages.
SurfCoinsChat Community is an independent project and is not affiliated with or endorsed by Better Messages or its developer.
PWA and activation behavior
The plugin serves /surfcoins-manifest.webmanifest and /surfcoins-sw.js.
On activation, the plugin may create a local WordPress page named “SurfCoins Offline” for the offline PWA experience. It also creates its own database tables and local settings used for presence, calls/signaling, and opt-in push subscriptions.
If the former SurfCoins PWA plugin is installed, deactivate it before using these integrated PWA features so both plugins do not attempt to own the same Service Worker and manifest URLs.
External services
SurfCoinsChat Community only contacts external network services in specific features described below.
Google STUN for WebRTC
By default, one-to-one WebRTC calls use the public endpoints stun:stun.l.google.com:19302 and stun:stun1.l.google.com:19302.
These STUN requests occur when a user starts or receives a WebRTC call. They help browsers discover network addresses for peer-to-peer connectivity and may disclose network information such as the user’s public IP address to Google. SurfCoinsChat Community does not send chat messages or stored voice-message files to Google.
Service: https://www.google.com/
Privacy: https://policies.google.com/privacy
Terms: https://policies.google.com/terms
Optional administrator-configured TURN
A site administrator may configure a TURN relay. If a direct peer-to-peer connection cannot be established, call media may be relayed through that configured TURN service.
SurfCoinsChat Community does not choose a third-party TURN provider. The site administrator is responsible for the selected TURN service and for documenting its privacy policy and terms to site users.
Browser Web Push endpoints
Web Push is disabled until a signed-in user explicitly enables browser notifications and grants permission.
The browser creates a push subscription whose endpoint is operated by the browser or operating-system vendor. SurfCoinsChat Community stores that subscription on the WordPress site and sends encrypted notification payloads directly to the supplied endpoint when a new Better Messages message is sent. No SurfCoins-operated push gateway is used.
Depending on the browser/device, the endpoint can be operated by services such as Google/Firebase, Mozilla, or Apple.
Google/Firebase:
Service: https://firebase.google.com/docs/cloud-messaging
Privacy: https://policies.google.com/privacy
Terms: https://firebase.google.com/terms
Mozilla:
Service: https://support.mozilla.org/kb/push-notifications-firefox
Privacy: https://www.mozilla.org/privacy/firefox/
Terms: https://www.mozilla.org/about/legal/terms/firefox/
Apple:
Service: https://developer.apple.com/documentation/usernotifications/sending-web-push-notifications-in-web-apps-and-browsers
Privacy: https://www.apple.com/legal/privacy/
Users can disable notifications through the SurfCoinsChat interface or their browser/device settings.
Privacy
SurfCoinsChat Community stores plugin data on the WordPress site, including:
Transient presence rows per browser installation/session, including user ID, a random session identifier, conversation ID, temporary activity, activity expiration, and last-seen time. This lets the same account stay active on more than one device without one device overwriting another.
Temporary WebRTC call/signaling records.
Opt-in browser push subscriptions.
A per-user chat-background URL when the user selects a custom background.
Voice-message media attachments only when the user explicitly records and sends them.
The plugin registers with the WordPress personal-data Export and Erase tools for its presence data. Presence and push-subscription records are removed when the corresponding WordPress user is deleted. Plugin-owned tables and plugin settings are removed by uninstall.php when the plugin is deleted.
Site owners should review these behaviors and adapt their privacy policy to applicable requirements.
