Resenha - Add Discord-style Voice Rooms to Your Community 🎙

Added some new features this week

Badges

Added a basic badge system, with instant and period badges alike

AFK detection

image

Users who go AFK are marked and eventually removed from rooms. AFK users are styled in room participant lists

Push to Talk

As asked above, Push to Talk is now supported. Only works when browser is in focus due to platform limitations. Using ptt when tab is not focused requires a browser extension, and may come in the future.

Stage rooms

Support for rooms where only a subset of users can talk, with moderators able to give / take talking rights.

Analytics

discourse_development-# \d resenha_sessions
                                          Table "public.resenha_sessions"
   Column   |              Type              | Collation | Nullable |                   Default
------------+--------------------------------+-----------+----------+----------------------------------------------
 id         | bigint                         |           | not null | nextval('resenha_sessions_id_seq'::regclass)
 user_id    | bigint                         |           | not null |
 room_id    | bigint                         |           | not null |
 joined_at  | timestamp(6) without time zone |           | not null |
 left_at    | timestamp(6) without time zone |           |          |
 created_at | timestamp(6) without time zone |           | not null |
 updated_at | timestamp(6) without time zone |           | not null |

discourse_development-# \d resenha_co_presences
                                           Table "public.resenha_co_presences"
    Column     |              Type              | Collation | Nullable |                     Default
---------------+--------------------------------+-----------+----------+--------------------------------------------------
 id            | bigint                         |           | not null | nextval('resenha_co_presences_id_seq'::regclass)
 user_id_1     | integer                        |           | not null |
 user_id_2     | integer                        |           | not null |
 date          | date                           |           | not null |
 total_seconds | integer                        |           | not null | 0
 session_count | integer                        |           | not null | 0
 created_at    | timestamp(6) without time zone |           | not null |
 updated_at    | timestamp(6) without time zone |           | not null |

Added basic analytics to record usage and co-presence, basis for other features.

User status

image

Joining a room automatically sets a user status using Discourse native support for that.

Admin Dashboard

See at a glance how much Resenha has on your site and what are the top users and rooms.

Voice activity indicator

Fixed the self voice activity flickering

17 Likes