refill hearts like Duolingo: one every 5 hours, all of them after 24
Each heart used to take 24 hours, so a student who lost all five waited up to five days. Now one heart returns every 5 hours, and 24 hours after the first heart was lost they all come back at once (the owner's call). /api/user/hearts reports both times (nextRefillAt, fullRefillAt); an existing timer longer than 5 hours is shortened the first time it is read. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -426,7 +426,7 @@ class QuestionAnswerView(APIView):
|
||||
hearts.apply_regen()
|
||||
if not has_unlimited_hearts(user_id):
|
||||
hearts.lose_heart()
|
||||
hearts.save(update_fields=['current_hearts', 'next_refill_at'])
|
||||
hearts.save(update_fields=UserHearts.REGEN_FIELDS)
|
||||
hearts_remaining = hearts.current_hearts
|
||||
else:
|
||||
hearts = UserHearts.objects.filter(user_id=user_id).first()
|
||||
|
||||
Reference in New Issue
Block a user