[XB] Daily Login Streak: Rewards, Activity Heatmaps & Calendars

[XB] Daily Login Streak: Rewards, Activity Heatmaps & Calendars 1.3.1

No permission to buy ($15.00)
  • Added an optional animation for the current login streak counter and milestones, enabled by default.
  • Added message streak label privacy controls and an option to control whether members may change them.
Untitled.webp


🔥 Streak Freezes, Local Time Zones & Retention Analytics!​

This major update makes streak tracking more flexible and reliable with Streak Freezes, user-aware login days and grace periods, and rebuilt milestone reward processing. It also introduces detailed retention analytics for understanding streak activity, member retention, and reward delivery.

⚠️ This is a release candidate version. Please take a full backup before installing it on a production site.
Important: This version now requires [XB] Core Library. The Core Library also adds an optional xenBaker branding link to the badges help page and member badge tab. The branding is enabled by default and can be disabled in the add-on options without payment.

✨ New Features​

  • Added Streak Freeze, allowing members to automatically spend a freeze to protect a missed login day without breaking their streak.
    • Added automatic freeze usage and a per-member preference.
    • Added configurable maximum balances, scheduled refills, milestone grants, and consecutive protected-day limits.
    • Added user group permissions and global configuration options.
    • Added ACP balance adjustments and a global freeze transaction log.
    • Added freeze markers to the login calendar and activity heatmap.
    • Members can view their own freeze balance and transaction history whenever the feature is available to them.
  • Added ACP Retention Analyticswith:
    • Streak statistics
    • Exact-day retention cohorts
    • Period and user group filters
    • Previous-period comparisons
    • Reward delivery reporting
  • Added a Login Day Time Zone option, allowing login days to follow each member's own time zone or the guest time zone instead of UTC.
  • Added protection when changing login time zones so an active streak is not normally broken by a single skipped day caused by the time zone change.
  • Reworked the Grace Period so eligible logins after midnight can rescue the previous missed day instead of breaking the streak.
  • Streak expiration and reminders now follow each member's individual deadline, including their configured grace period.
  • Added visual markers for non-visit streak days, including grace days, time zone carryovers, and administrator-added days, with tooltips explaining why each day counts.

🔧 Improvements​

  • Reworked milestone reward delivery with automatic retries for failed rewards and pending delivery tracking.
  • Milestone rewards now wait while rewards are disabled instead of being lost.
  • Reward alerts are sent only after rewards have been successfully delivered.
  • Consolidated milestone reward processing into a single background job to reduce job queue load on busy forums.
  • Reward threads and posts are now created as their configured author, allowing permissions, mentions, and watch notifications to work correctly.
  • Weekly, monthly, and yearly streak rebuilds now run after the completed period has ended across all supported time zones.
  • Streak calculations no longer depend on the PHP or MySQL server time zone.
  • Protected, grace, carried-over, and manually added days do not incorrectly grant daily login credits.
  • Moved shared FullCalendar assets and styling to [XB] Core Library.

🐞 Bug Fixes​

  • Fixed numerous issues with streak calculations, rebuilds, expiration, manual editing, best streaks, and weekly/monthly/yearly progress.
  • Fixed milestone rewards, daily credits, trophies, badges, and currency rewards being missed, duplicated, delayed, or incorrectly recalculated.
  • Fixed concurrent logins, streak edits, rebuilds, and background processing potentially leaving streak data or calendars inconsistent.
  • Fixed missing days and manual streak corrections incorrectly adding, removing, restoring, or crediting login days.
  • Fixed edge cases involving empty histories, expired or deleted streaks, invalid dates, long historical streaks, and inactive members.
  • Improved milestone reward processing and reliability on busy forums.
If you're enjoying this update, please consider leaving a rating and sharing your feedback.


pub_account_streaks_freezes.webp
acp_stats.webp
Reduced database locking during daily login checks and streak resets on large forums
Avoided updating the visitor entity when another add-on makes it read-only
  • Like
Reactions: cdub
82a9f56c-f4c1-496f-8cf7-6aa25f62b690.webp

🎉 Login Streak Rewards Are Here!​


This update introduces milestone rewards for login streaks, giving members something extra to unlock as they keep coming back. It also adds more flexible streak calculations and improves reward presentation and reliability.

⚠️ This is a release candidate version. Please take a full backup before installing it on a production site.


✨ New Features​


  • Added a Milestone Rewards system for login streaks, with milestones based on either the current streak or all-time best streak.
  • Added configurable milestone rewards:
    • DBTech Credits currency
    • [XB] Badges
    • Forum posts
    • New threads
  • Added ACP milestone management and a reward log showing which users have received each reward.
  • Added a Receive daily login rewards user permission and an Enable daily login rewards option.
  • Added alerts and optional push notifications when members unlock rewards.
  • Added milestone indicators to streak counters and the Best Streak statistic, with upcoming milestones highlighted by a pulsing animation.
  • Added milestone tooltips showing available rewards, with an option to hide individual rewards as Surprise Reward.
  • Added an option to calculate weekly, monthly, and yearly streaks from consecutive days (every 7, 30, or 365 days) instead of completed calendar periods.

🔧 Improvements​


  • Database connection errors during daily login checks are now logged silently instead of interrupting the page being rendered.

Do you like this update?​

⭐ Please consider sharing your experience with a short review ⭐
Every bit of feedback matters!​

pub_milestone.webp
acp_milestones3.webp
acp_milestones2.webp
acp_milestones.webp
Added an optional alert/push notification reminder sent a configurable number of hours before a user's streak resets ("Don't lose your streak!"). Users can disable it from Account > Alert Preferences.
Moved heatmap month phrases JS initialization from custom template to helper_js_global to avoid compatibility issues
Added missing phrases
Fixed broken JS init on XF 2.2
860db586-e964-4665-9501-3805b2e341bb.webp


🎉 More insights, more flexibility, and better performance!​

This update introduces a visual login activity heatmap, new streak display options, and several performance improvements to make streak tracking more efficient.

✨ New Features​

  • Added an optional login activity heatmap.
  • Added options to disable weekly, monthly, and yearly streaks.
  • Added an optional user streak indicator next to usernames in messages.

🔧 Improvements​

  • Optimized streak reset processing for better performance.
  • Optimized the streak rebuild tool to scan only the current streak by default.

🐞 Bug Fixes​

  • Fixed an SQL syntax error during uninstall.
  • Fixed a missing column in the uninstall cleanup process.

📸 Screenshots:​


pub_nav2.webp

account_streaks2.webp



user_message.webp
  • Added navbar menu item to display user streaks (can be disabled in style options)
  • Added style property to change the count of days displayed in fire streaks
  • Added option to limit the number of days displayed in the "Visitor streak" widget
  • Minor style improvements
pub_nav.webp


acp_style_properties.webp
Fixed calendar locale not being applied correctly
  • Added rebuild tool to insert missing days between selected dates - useful if your site was unavailable and you want to preserve or extend streaks across the gap
  • Added style properties to display user streaks in message postbit statistics
acp_tools_rebuild.webp

member_macros.webp
style_props_message.webp
Back
Top Bottom