- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 135
Halloween #2614
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| A few notes: 
 Posts and comments should count (lots of stackers rarely post), but maybe we should make the immunity shorter, so X = 6hrs? 
 What if it started on Halloween? So 31 October at 00:00 and then we have the game play for 1 week into November? It might be cool if we made a post announcing the winners (if any), but I'm not sure if there's a privacy implication there (are there stackers who would feel uncomfortable being highlighted this way?) 
 What if instead of having a few patient zeroes, we start the game by turning every account that hasn't posted or commented or zapped in the last 24 hours into a zombie? Problem with this is that it might mean the game starts slow, so maybe we also add patient zeroes. of course this doesn't solve a person hiding after that point. could a leaderboard be made? top > stackers > zombies? and it would show who is still not a zombie after the initial infection event? | 
| 
 What I like about 8 hours is that it's the average time people sleep (or should sleep), but we can def make it more challenging. I will make sure that we can easily change this when I'm done with the implementation! Should literally just be changing a value. 
 Okay with me! @huumn mentioned "at least 3 days before halloween, ideally earlier" to me though, not sure why 
 Yeah I considered this too 
 Ohh, I like this! It at least partially handles inactive users: the ones inactive before the event even started. Now we just need to handle users inactive after the game started as you mentioned 
 This triggered vietnam flashbacks, haha But yes, I think this is a valid idea, will consider it | 
| 
 I actually laughed outloud when I read this. MSM must have really been rough for you guys. I don't think there needs to be a leaderboard. We also discussed giving each stacker a countdown timer that was publicly displayed on their profile page. What we want to avoid is a stacker who infrequently visits the site managing to win the game just because they're never here. This makes me think we need some way of surfacing who is vulnerable. A leaderboard is inelegant -- it means there is no hiding. We could also have a rolling timer for everyone where if a stacker does not post in 36 hours or some similar period they automatically become a zombie. This seems less fun, but perhaps the stackers who will be interested in playing are those who visit the site and comment/post at least once every few days. 
 I think that's my fault. I was envisioning it as something that culminated on Halloween, but it works just as good if it begins on Halloween. 
 I agree that we don't want to be too aggressive, but then again, under eight hours actually makes it challenging. Maybe we stick with 8 hours, but if the game is fun, we could whip it out again at some point in the future and try it with a shorter immunity time. | 
86925dc    to
    88c08eb      
    Compare
  
    | 
 I like this, sounds simple and effective 
 Changing patient zero to  I don't think we should play—so we should infect ourselves using  I will change it to 6 hours! This also handles users that have been inactive before the game even started the same. The timer starts for everyone at October 31. | 
| I agree that it will be very hard for people who are highly active users to get infected. perhaps the timer could begin to shorten as we get closer to the end of the contest. I don't know how hard such a thing would be to implement, but it could go like this: day 1: 8 hours at which point I imagine pretty much everybody would be infected. Maybe that's too aggressive, but I like it being difficult. perhaps if the rules are not widely known, we can settle for a 5 or 6 hour time limit and people will get picked off. | 
| This would definitely be doable I also wonder if the rules should be public actually so it's a more fair and thus interesting game | 
| Immunity now lasts one hour less for every day since halloween, starting at 8 hours and until a minimum of 1 hour. Like @BScoresby, I also think that this will make the game end within the first two weeks, if not the first. | 
cropped with https://svgcrop.com/
| id | ||
| } | ||
| }` | ||
| }) | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| QAs well. Should we wait until tomorrow to deploy it? | 
| 
 Yes, because anon will start infecting people on zap once deployed. Unless that's okay? I don't have an opinion on when the game should start. | 


Description
TODO
@anonas patient zeroScreenshots
Q&A Videos
q&a of infecting users as anon with QR codes, immunity, notifications
2025-10-26.18-07-56.mp4
q&a of p2p zaps
2025-10-26.20-17-44.mp4
cc zaps have also been tested but without video
Checklist
Are your changes backward compatible? Please answer below:
yes
On a scale of 1-10 how well and how have you QA'd this change and any features it might affect? Please answer below:
8, see videosFor frontend changes: Tested on mobile, light and dark mode? Please answer below:
n/a
Did you introduce any new environment variables? If so, call them out explicitly here:
no
Did you use AI for this? If so, how much did it assist you?
no
Note
Introduces Halloween “infection” system with DB schema, zap-based transmission and immunity, UI badges/notifications, push alerts, and an hourly worker that auto‑infects inactive users.
"Infection", setusers.infected, and send push vianotifyInfected(api/paidAction/zap.js).ItemActResult.immune.Infectionevents and surface them in queries.hasNewNoteschecks for new infection notes.notifyInfected.HALLOWEEN_IMMUNITY_HOURS,HALLOWEEN_INACTIVITY_TIMEOUT_HOURS.users.infectedand newInfectiontable (unique per infectee, optionalitemActId/infectorIdFKs); seed@anonas patient zero; schedule hourlyhalloweenjob.User,Infection,ItemActrelations).halloweenjob: auto‑infect users inactive for N hours and push‑notify; register worker.Infectionnotification type;UserOptional.infected;ItemActResult.immune.possibleTypesupdated.user.optional.infected.Infectionnotifications with icon/message.immune: true).infectedin user fragments across items/comments/subs/users.Written by Cursor Bugbot for commit 7f3dee7. This will update automatically on new commits. Configure here.