Commit graph

258 commits

Author SHA1 Message Date
End Nightshade
12275b553a
fix(shop): prioritize user's hearted items in favorites sort
User's own hearted items now sort first, then by global wishlist
count within each group. Previously global count came first which
buried your own favorites if they weren't popular.
2026-02-17 10:00:57 -07:00
End Nightshade
27bc8647a9
fix: refinery win refunding upgrade costs, export auth, undo crash
- Use refinerySpendingHistoryTable instead of refineryOrdersTable for
  balance calculation. The orders table gets wiped on win, which was
  making upgrade costs disappear from spent, giving users free scraps.
  Spending history is permanent (only deleted on undo), so it correctly
  tracks the real cost.
- Change /export/shipped-csv and /export/ysws-json from requireAdmin
  to requireReviewer so reviewers can access exports.
- Remove undeclared alertType references in refinery page that caused
  runtime errors when undoing upgrades.
2026-02-17 09:59:25 -07:00
Nathan
7e52a1aa85
Merge pull request #3 from System-End/main
feat: auto-submit projects to ysws thingie on review submission
2026-02-17 11:47:57 -05:00
Nathan
e612196461 fix shop 2026-02-17 11:46:03 -05:00
End Nightshade
6d3b029786
fix: sort second-pass by submission date instead of updated_at
Use project_submitted activity timestamp for ordering in the
/admin/second-pass endpoint, matching /admin/reviews behavior.
Also expose submittedAt field in the response.
2026-02-17 09:12:49 -07:00
End Nightshade
bd39154b6e
chore(i18n): localize favorites sort hint label 2026-02-16 21:58:15 -07:00
End Nightshade
aea9bd81de
fix(shop): make favorites sort prioritize wishlist count first 2026-02-16 21:57:06 -07:00
End
fcc862e9ff
Merge branch 'hackclub:main' into main 2026-02-16 19:25:56 -07:00
End Nightshade
e44d6d2510
feat: auto-submit projects to ysws thingie on review submission
fires and forgets so it won't block the user if ysws is down.
2026-02-16 19:25:29 -07:00
santiago
8884d23aaf
fix amp fucks up
fix: amp fucked everything so here i am
2026-02-16 21:17:03 -05:00
End Nightshade
af69da2db3
fix: add error handling to refinery undo transaction 2026-02-16 19:12:46 -07:00
End Nightshade
8f95f9fe51
fix: allow negative bonus amounts for removing scraps 2026-02-16 19:12:41 -07:00
End Nightshade
746f8fd1e7
feat: add csv and json export endpoints for ysws 2026-02-16 19:00:41 -07:00
End Nightshade
fb5b019cac
fix: remove broken bonus validation and require positive integer
dangling `if (Number(amount))` was a no-op, removed it and
tightened the check to reject negative/decimal/infinite values
2026-02-16 19:00:38 -07:00
End Nightshade
3a31660c38
fix: race condition on tutorial bonus award
concurrent requests could pass the check and insert duplicate
bonus rows. lock the user row in a transaction first
2026-02-16 18:54:30 -07:00
End Nightshade
cd0d00f964
fix: refinery undo deleting too many spending history rows
was deleting all rows matching (userId, shopItemId, cost) without
limit, so if two upgrades had the same cost one undo nuked both.
now finds the specific row by id. also wrapped in a transaction
2026-02-16 18:54:26 -07:00
sbeltranc
89ab8d4573 push push push spsuh push psuh 2026-02-16 20:16:12 -05:00
sbeltranc
b7c8eeba5d fix refinery meow 2026-02-16 11:35:17 -05:00
Nathan
7059679b8b fix navbar 2026-02-13 18:08:00 -05:00
Nathan
ef8f8c8a75 Update scraps-payout.ts 2026-02-13 10:57:01 -05:00
Nathan
775c990a74 remove sync 2026-02-12 12:01:56 -05:00
Nathan
56f04978f3 Update index.ts 2026-02-12 11:57:10 -05:00
Nathan
3c4e27abf2 backfill shop orders 2026-02-12 11:54:59 -05:00
Nathan
b3b9a475de phone syncs for shipping and stuff 2026-02-12 11:50:59 -05:00
Nathan
02e66b488f add support for updates 2026-02-11 16:34:21 -05:00
Nathan
f17adfa7e6 Update airtable-sync.ts 2026-02-11 12:41:44 -05:00
Nathan
5dc1bb5b49 Update airtable-sync.ts 2026-02-11 12:15:39 -05:00
Nathan
e1a059b66f mistakenly 2026-02-11 11:02:40 -05:00
Nathan
79f481e348 Update airtable-sync.ts 2026-02-10 23:59:20 -05:00
Nathan
f7b0a8d340 button 2026-02-10 23:55:13 -05:00
Nathan
00fccb4daa stuff 2026-02-10 23:43:14 -05:00
Nathan
50ef458a02 Update hackatime-sync.ts 2026-02-10 23:24:14 -05:00
Nathan
bc5886ce55 overlapping hackatime 2026-02-10 23:14:32 -05:00
Nathan
0ff058e039 scraps payout every 2 days 2026-02-10 16:36:32 -05:00
Nathan
7b24a3b150 update airtable and reviews 2026-02-10 15:00:42 -05:00
sbeltranc
a096dfe7b9 fixedd!!!! 2026-02-09 23:24:01 -05:00
sbeltranc
a2f7011779 remove github check, allow any git repositories 2026-02-09 21:48:41 -05:00
Nathan
403f661bf4 Update +page.svelte 2026-02-09 18:32:15 -05:00
Nathan
52c6cb4219 asdfasdfasdfsadf 2026-02-09 18:16:00 -05:00
Nathan
522c4d012e Update +page.svelte 2026-02-09 17:34:44 -05:00
Nathan
32baf94eb2 activity for all! 2026-02-09 17:29:02 -05:00
Nathan
b9861611ee translations 2026-02-09 16:52:16 -05:00
Nathan
1638d07b03 add in update and ai 2026-02-09 16:45:28 -05:00
Nathan
22b8c354df whoops, pushed too soon 2026-02-09 15:42:46 -05:00
Nathan
12f499618f add in better validation 2026-02-09 13:46:39 -05:00
Nathan
5b52d9c5cc better language detection 2026-02-09 13:31:24 -05:00
Nathan
aa16e2a844 whoops 2026-02-09 13:17:00 -05:00
Nathan
149568f101 Update slack.ts 2026-02-09 12:57:57 -05:00
Nathan
822d988af7 add in slackbot review msgs 2026-02-09 12:49:11 -05:00
Nathan
b477f2b875 multiple hackatime projects, unsubmit button, qol 2026-02-09 11:58:34 -05:00