aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Database/SB
Commit message (Collapse)AuthorAgeFilesLines
* fix(security): sanitize badge_wall_css server-side, render via textContentFuwn18 hours1-1/+2
| | | | | | | | | | | | | | | | Custom badge-wall CSS was sanitised only client-side with a fragile regex and injected via innerHTML, while the stored value stayed raw. Sanitise at the write boundary instead (setCSS, covering both the REST and GraphQL paths) with a css-tree pass that parses leniently and drops @import, behavior/-moz-binding, expression()/javascript: values, and </style> break-out attempts; render with textContent instead of innerHTML so break-out is impossible by construction (CSP already blocks inline script). css-tree stays server-only. A behaviour-gate test confirms ordinary CSS (backdrop-filter, content, url(), @media, @keyframes) is preserved while the dangerous constructs are removed. The previous regex also silently stripped all `content:` declarations; those now render correctly.
* fix(notifications): support per-device push subscriptionsFuwn2026-03-281-3/+38
|
* fix(preferences): preserve partial preference updatesFuwn2026-03-281-44/+26
|
* refactor(supabase): move app access to service roleFuwn2026-03-277-8/+8
|
* chore(format): normalise user badges store formattingFuwn2026-03-011-12/+10
|
* chore(biome): drop formatter style overridesFuwn2026-03-017-332/+428
|
* chore(biome): re-enable noImplicitAnyLet ruleFuwn2026-03-011-1/+2
|
* refactor(lib): Migrate simple components to Svelte 5 runes syntaxFuwn2026-01-231-1/+1
|
* refactor(Database:User): Align Badge interface with database schemaFuwn2026-01-231-5/+16
|
* feat(graphql): paged badges queryFuwn2024-10-181-2/+13
|
* chore(prettier): use spaces instead of tabsFuwn2024-10-097-218/+218
|
* feat(badges): move badge operations to graphqlFuwn2024-10-061-76/+72
|
* feat(notifications): fingerprint for multiple grantsFuwn2024-08-241-4/+10
|
* refactor(Data): rename database referencesFuwn2024-08-247-0/+465