Skip to content

WB Gamification 1.5.2 - performance, realtime scale, member surfaces

Choose a tag to compare

@vapvarun vapvarun released this 02 Jun 02:38
· 327 commits to main since this release

WB Gamification 1.5.2

Performance and notification-quality release. Built to stay fast on large, live communities.

  • New - BuddyPress profile "Achievements" tab with Overview, Badges, Points, and Streak sub-tabs. Renders the displayed member's points, level progress, streak, badges, and points history by reusing the existing blocks - viewable on your own profile and other members'.
  • New - WooCommerce My Account "Achievements" endpoint (/my-account/achievements/) for stores running WooCommerce without BuddyPress. Renders the member's full gamification dashboard by reusing the Hub block, with a link to the mapped Hub page. Loads only when WooCommerce is active.
  • New - Optional LearnDash profile "My Achievements" link to the gamification dashboard (the mapped Hub page). OFF by default; enable with add_filter( 'wb_gam_learndash_profile_link', '__return_true' ).
  • Dev - Member achievements surfaces share one renderer (WBGam\Engine\MemberSurface) with a wb_gam_member_surface_html filter, so the BuddyPress, WooCommerce, and LearnDash integrations reuse the same blocks and mapped-hub link with no duplicated display logic.
  • New - Admin setting for notification placement (Settings > Realtime): bottom-right default, plus bottom-left, top-right, and top-center, with corner-aware slide-in.
  • New - Filter wb_gam_sse_allowed to opt into SSE streaming on hosts provisioned for long-lived connections.
  • New - Reusable batch cache-prime APIs PointsEngine::prime_totals() and BadgeEngine::prime_earned_badges() for per-row listing surfaces.
  • New - On Jetonomy sites the leaderboard defers to Jetonomy's reputation ranking, since wb-gam already mirrors reputation 1:1 into points and the two rankings are identical. The wb-gam leaderboard and top-members blocks, shortcodes, and Hub card are hidden so members see one leaderboard. Badges are unaffected (both badge sets are kept). Filter wb_gam_defer_leaderboard_to_jetonomy to override.
  • Compat - Jetonomy badges and reputation continue to award wb-gam points (Jetonomy badge earned, reputation change, space join, polls, messages); wb-gam adds the levels, streaks, challenges, and redemption layer on top.
  • Improve - Realtime now defaults to WP Heartbeat instead of SSE, removing a long-poll that pinned a PHP worker per logged-in page; SSE is opt-in.
  • Improve - Heartbeat polls every 15 seconds at rest (was 5), bursts to 5 seconds for 30 seconds after a member action, and nearly suspends on backgrounded tabs.
  • Improve - Member directory, leaderboard, and top-members no longer run per-row queries; query count is now constant regardless of community size.
  • Improve - Reward toasts always state what the points were for, using the action label or the admin-entered reason.
  • Improve - Frontend surfaces (Hub, blocks, member profile) map their neutral colors to the active theme's tokens, so they follow BuddyX and BuddyX Pro light and dark mode automatically; themes without those tokens keep the original light palette.
  • Improve - My Badges flyout shows two columns so each badge's art, title, and description are readable instead of cramped three-up.
  • Fix - Toast stack no longer overlaps the theme header or navigation.
  • Fix - Duplicate toasts when both SSE and Heartbeat delivered the same event.
  • Fix - Points toast showed a contextless "+N Points (M actions)" count instead of naming the action.
  • Fix - Member profile pages at /u/{username} returned 404 for everyone because public visibility required an opt-in that no screen ever set; public profiles are now on by default, and the owner and admins can always view a profile.
  • Fix - Removed em-dashes from all user-facing labels and descriptions (frontend blocks, member profile, admin settings) per house style; hyphens only. Existing seeded badge descriptions were migrated in the database too.
    Full changelog: https://github.com/vapvarun/wb-gamification/blob/main/CHANGELOG.md