| 开发者 | naturalsurf |
|---|---|
| 更新时间 | 2026年10月13日 09:01 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
/chat/ page.upload_files capability.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.
No. Better Messages remains responsible for conversations, recipients, messages, and its core interface.
Yes. Administrators can add, edit, enable or disable, reorder, and restore the default quick replies under SurfCoinsChat > Quick replies. Custom replies are stored as a single WordPress option and do not add a database table or polling request.
No. The plugin is designed for the Better Messages Community/free workflow. SurfCoinsChat uses Better Messages 3.x runtime events when available and an adaptive WordPress REST fallback. When the optional SurfCoins WebSocket transport is connected, presence, typing, message wake-ups, one-to-one delivery/read receipts, and WebRTC call signaling are event-driven while REST remains a reconciliation fallback.
No. When a user explicitly records and sends a voice message, the audio file is uploaded to the same WordPress site and stored as a WordPress media attachment associated with the conversation.
No. SurfCoinsChat Community stores temporary call/signaling metadata on the WordPress site but does not record call audio or video.
Yes. Define SURFCOINSCHAT_TURN_URL, SURFCOINSCHAT_TURN_USERNAME, and SURFCOINSCHAT_TURN_CREDENTIAL in wp-config.php, or use the surfcoinschat_webrtc_ice_servers filter.
last_activity value in batched queries. Real-time "online now" still requires a recent SurfCoinsChat session, so general site activity is not misreported as live chat presence.hidden() helper after the reply rows were rendered.hidden attribute for the empty-state message, preserving the existing admin JavaScript behavior without adding inline scripts or styles.aria-disabled / data-disabled button state instead of relying only on the native disabled property..bp-messages-wrap..bm-send-message control so tapping a suggestion sends it immediately instead of only filling the composer.changelog.txt.