| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | fix(api): await setShadowHidden in badges PUT | Fuwn | 2026-04-18 | 1 | -1/+4 |
| | | | | | | | | setShadowHidden is async and hits Supabase. The PUT handler called it without await, so the handler could respond before the database write landed (and any error was silently lost). Add the missing await so the response only goes out after the update settles. | ||||
| * | fix(api): gate badge click-count on Origin and fix 401 response reuse | Fuwn | 2026-04-18 | 1 | -9/+11 |
| | | | | | | | | | | | | | | The PUT ?incrementClickCount path ran before any auth guard, letting unauthenticated callers spam-increment arbitrary badges. Require the request Origin to match appOrigin() so legitimate in-browser clicks (authenticated or not) still count while direct scripted calls are rejected. Also convert the shared `unauthorised` Response singleton into a factory. The singleton's body was consumed on first use, so subsequent 401 paths returned a `Response body is locked` error instead of the intended "Unauthorised" body. | ||||
| * | fix(auth): ignore malformed user cookies | Fuwn | 2026-03-28 | 1 | -6/+16 |
| | | |||||
| * | refactor: centralise site origin usage | Fuwn | 2026-03-22 | 1 | -3/+2 |
| | | |||||
| * | refactor(effect): add request body schema decoders to api routes | Fuwn | 2026-03-03 | 1 | -2/+12 |
| | | |||||
| * | refactor(effect): migrate api auth cookie decoding | Fuwn | 2026-03-03 | 1 | -14/+5 |
| | | |||||
| * | chore(biome): drop formatter style overrides | Fuwn | 2026-03-01 | 1 | -133/+148 |
| | | |||||
| * | chore(biome): re-enable noDoubleEquals rule | Fuwn | 2026-03-01 | 1 | -1/+1 |
| | | |||||
| * | fix(wrapped): li::marker consistent colouring | Fuwn | 2024-12-24 | 1 | -3/+3 |
| | | |||||
| * | refactor(authorised): move authorised user functionality to module | Fuwn | 2024-11-18 | 1 | -5/+5 |
| | | |||||
| * | chore(prettier): use spaces instead of tabs | Fuwn | 2024-10-09 | 1 | -3/+3 |
| | | |||||
| * | feat(badges): move badge operations to graphql | Fuwn | 2024-10-06 | 1 | -129/+128 |
| | | |||||
| * | refactor(Data): rename database references | Fuwn | 2024-08-24 | 1 | -1/+1 |
| | | |||||
| * | refactor(Database): move Supabase user modules to User module | Fuwn | 2024-07-25 | 1 | -1/+1 |
| | | |||||
| * | refactor(Database): separate providers | Fuwn | 2024-07-25 | 1 | -1/+1 |
| | | |||||
| * | feat(badges): click counter for badges | Fuwn | 2024-05-27 | 1 | -1/+8 |
| | | |||||
| * | fix(match): delayed and subtitled time compatibility | Fuwn | 2024-05-24 | 1 | -121/+122 |
| | | |||||
| * | fix(badges): shadow hide refresh | Fuwn | 2024-05-21 | 1 | -1/+1 |
| | | |||||
| * | fix(badges): use correct id when hiding | Fuwn | 2024-05-21 | 1 | -1/+1 |
| | | |||||
| * | feat(badges): individual badges shadow hiding | Fuwn | 2024-05-20 | 1 | -111/+121 |
| | | |||||
| * | fix(badges): shadow hide authorisation toggle | Fuwn | 2024-04-19 | 1 | -1/+1 |
| | | |||||
| * | fix(badges): hide shadow hidden badges | Fuwn | 2024-04-19 | 1 | -1/+1 |
| | | |||||
| * | feat(badges): admin shadow hide | Fuwn | 2024-04-19 | 1 | -1/+9 |
| | | |||||
| * | fix(badges): empty fields | Fuwn | 2024-04-15 | 1 | -5/+5 |
| | | |||||
| * | feat(badges): source and designer fields | Fuwn | 2024-04-15 | 1 | -1/+3 |
| | | |||||
| * | feat(badges): hide category button | Fuwn | 2024-04-14 | 1 | -0/+26 |
| | | |||||
| * | feat(badges): badge hiding | Fuwn | 2024-04-13 | 1 | -3/+4 |
| | | |||||
| * | feat(badges): migrate category mode | Fuwn | 2024-03-01 | 1 | -1/+10 |
| | | |||||
| * | refactor(database): rename badges | Fuwn | 2024-02-11 | 1 | -3/+3 |
| | | |||||
| * | refactor(anilist): move to data module | Fuwn | 2024-02-08 | 1 | -1/+1 |
| | | |||||
| * | feat(badges): delete all | Fuwn | 2024-02-05 | 1 | -2/+11 |
| | | |||||
| * | fix(badges): batch import single identity | Fuwn | 2024-02-04 | 1 | -2/+11 |
| | | |||||
| * | fix(badges): await badges | Fuwn | 2024-02-02 | 1 | -3/+3 |
| | | |||||
| * | feat(api): cors | Fuwn | 2024-01-06 | 1 | -1/+6 |
| | | |||||
| * | style(badges): simplify | Fuwn | 2024-01-04 | 1 | -23/+18 |
| | | |||||
| * | feat(badges): put returns badges | Fuwn | 2024-01-03 | 1 | -1/+1 |
| | | |||||
| * | feat(badges): return on delete | Fuwn | 2024-01-03 | 1 | -1/+1 |
| | | |||||
| * | fix(badges): id as number | Fuwn | 2024-01-03 | 1 | -1/+1 |
| | | |||||
| * | ci: move to vercel | Fuwn | 2024-01-03 | 1 | -5/+7 |
| | | |||||
| * | feat(badges): categories | Fuwn | 2024-01-02 | 1 | -27/+4 |
| | | |||||
| * | feat(badges): update and delete ui | Fuwn | 2024-01-02 | 1 | -2/+38 |
| | | |||||
| * | feat(badges): manual time set | Fuwn | 2023-12-30 | 1 | -1/+2 |
| | | |||||
| * | style(src): remove .js extension from imports | Fuwn | 2023-12-24 | 1 | -1/+1 |
| | | |||||
| * | refactor(database): move badges into module | Fuwn | 2023-12-24 | 1 | -3/+3 |
| | | |||||
| * | refactor(badges): use http methods | Fuwn | 2023-10-29 | 1 | -0/+52 |