Add documentation and fix Dependabot and CodeQL alerts - #355
Conversation
Document the monorepo (packages, sites, operations) and close the open security findings: drop unpatched image-size, bump sanitize-html, PostCSS, and brace-expansion, replace polynomial markup regexes, and strip CR/LF from CSP and Stripe logs. Ignore cursor/* in the feature-to-dev auto-PR workflow. Co-authored-by: Aamogh <aamoghS@users.noreply.github.com>
Dependency ReviewThe following issues were found:
License Issuessites/mainweb/package.json
OpenSSF Scorecard
Scanned Files
|
|
Visit the preview URL for this PR (updated for commit b4aa605): https://hacklytics2027--pr-355-hfqp9dia.web.app (expires Sun, 23 Aug 2026 16:05:44 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: c48ba34db61581e25fe2978355160b5eefe0e83f |
|
| Filename | Overview |
|---|---|
| packages/api/src/trpc.ts | The revised boundary check now treats slash separators correctly and closes the previously reported sanitizer bypass. |
| packages/api/src/.internal-tests/security.test.ts | Adds focused regression coverage for slash-separated onmouseover and onload handlers. |
| packages/api/src/services/image-dimensions.ts | Introduces a bounded parser for the three supported profile-image formats instead of the vulnerable dependency. |
| pnpm-lock.yaml | Records the dependency removals and patched package resolutions associated with the security updates. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
A[tRPC input] --> B[scrubMarkup]
B --> C[hasDangerousMarkup]
C --> D{Inline handler found?}
D -->|Yes| E[Reject request]
D -->|No| F[Continue procedure]
Reviews (2): Last reviewed commit: "Address PR review: handler scan, CSP log..." | Re-trigger Greptile
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 76a8ad5. Configure here.
Reject slash-separated inline handlers to match the old word-boundary regex, strip all control characters from CSP report logs, and keep a newline-safe Stripe error message for membership-grant failures. Co-authored-by: Aamogh <aamoghS@users.noreply.github.com>

Single commit thread, authored by aamoghS, combining the docs work and the security fixes. Replaces #352 and #354.
Documentation
docs/covers architecture, local setup, packages, both sites, CI/CD, deployment, security, and testing. Root and package READMEs point there.Security / CodeQL
image-size(no patched npm release); JPEG/PNG/WebP-only dimension parsersanitize-html2.17.5, PostCSS 8.5.23,brace-expansion5.0.9cursor/**in the feature-to-dev auto-PR workflowReview follow-up (
b4aa605)<div/onmouseover=…>), matching the old\bonword boundaryname: message, not onlyError