Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: stack-auth/stack-auth
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: stack-auth/stack-auth
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: dev
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 12 commits
  • 131 files changed
  • 6 contributors

Commits on Mar 18, 2026

  1. [Fix]: Deal with Result Admin Validation Sentry Noise for TrustedDoma…

    …ins by Nixing Read Validation (#1264)
    
    ### Context
    We get a lot of noise on sentry about the result admin validation
    failing from the onList handler. However, we no longer care about
    validating reads for trustedDomains. Via config pushes, people can set
    them to anything anyway. There's no value in being stricter on reads
    than on writes.
    
    ### Summary of Changes
    We scope our schema changes to just the onList and read handlers for
    trusted domains for the most part, though relaxing the params validation
    also affects delete. In practice, delete needs to do an exact match to
    find what needs to be deleted so this is fine. Also, without relaxing it
    for delete, you wouldn't be able to delete a domain you had previously
    put in.
    nams1570 authored Mar 18, 2026
    Configuration menu
    Copy the full SHA
    7335040 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2026

  1. Fix Convex dashboard route (#1255)

    ## Summary
    - add the missing Convex dashboard route
    - redirect the Convex project page to the Convex docs instead of 404ing
    
    ## Testing
    - pnpm lint --
    "src/app/(main)/(protected)/projects/[projectId]/convex/page.tsx"
    - pnpm typecheck
    mantrakp04 authored Mar 19, 2026
    Configuration menu
    Copy the full SHA
    1e44a8c View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2026

  1. Turnstile integration for fraud protection (#1239)

    Enhances sign-up process with Turnstile integration for fraud
    protection. Builds on top of fraud-protection-temp-emails.
    
    Made with [Cursor](https://cursor.com)
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    ## Summary by CodeRabbit
    
    * **New Features**
    * Cloudflare Turnstile bot-protection across signup/sign-in flows
    (including SDK JSON mode).
      * Email deliverability checks via Emailable.
    * Sign-up risk scoring with persisted risk metrics and country code
    tracking.
    * UI: country-code selector, risk-score editing in user details, users
    list refresh button, and Turnstile signup demo pages.
    
    * **Bug Fixes**
      * Use actual sign-up timestamp for reporting/metrics.
    
    * **Documentation**
    * Expanded knowledge base on Turnstile, risk scoring, and env
    configuration.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    
    ---------
    
    Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
    Co-authored-by: BilalG1 <bg2002@gmail.com>
    Co-authored-by: Armaan Jain <84474476+Developing-Gamer@users.noreply.github.com>
    Co-authored-by: nams1570 <amanganapathy@gmail.com>
    5 people authored Mar 20, 2026
    Configuration menu
    Copy the full SHA
    e59a707 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2026

  1. risk score calculation debug logs (#1275)

    - Updated pnpm-lock.yaml to include 'rolldown' as a new optional
    dependency and upgraded 'minimatch' to version 10.2.4.
    - Added a debug log statement in risk-scores.tsx to indicate when the
    sign-up risk engine is disabled in the public build.
    
    <!--
    
    Make sure you've read the CONTRIBUTING.md guidelines:
    https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
    
    -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    ## Summary by CodeRabbit
    
    * **Bug Fixes**
    * Signup risk scoring now returns a neutral (zero) score when the
    scoring engine is unavailable; scoring errors are logged and surfaced
    consistently instead of being silently swallowed.
    * Invalid engine shapes now fail loudly rather than falling back
    silently.
    
    * **Chores**
    * Updated private engine reference and adjusted tests to reflect the new
    loading/resolution behavior.
    * Expanded Next.js output tracing to include private package files used
    by API routes.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    mantrakp04 authored Mar 21, 2026
    Configuration menu
    Copy the full SHA
    0886586 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2026

  1. [Fix]: Investigate Memory Leak on Verify Data Integrity (#1269)

    ### Context
    We encountered an out of memory error when running verify-data-integrity
    against the prod database. This was the error:
    `FATAL ERROR: Ineffective mark-compacts near heap limit Allocation
    failed - JavaScript heap out of memory`. This was one of the things
    preventing verify-data-integrity from running successfully in prod.
    
    ### Summary of Changes
    Local stress testing with constrained heap and memory telemetry revealed
    that the rise in used heap memory was directly proportional to the
    number of api calls. Investigation revealed that the `currentOutputData`
    array was growing with each api call and was kept in memory. Since it
    was still being appended to, it was actively kept in the heap. We
    refactor the script to no longer use it, and for the two flags
    `--save-output` and `--verify-output` that used it before, we refactor
    them to not need to. `--save-output` now streams responses to disk as
    JSONL and `--verify-output` now compares each response immediately and
    discards it.
    We also note a potential source of a future memory leak in the
    `allUsers` array that is populated in memory for each project. We
    refactor to paginate instead. Note that this didn't cause a memory leak
    on local, this is a preventive measure.
    
    ### Out of Scope
    fetching all transactions in the payments section of the script is
    another potential cause for concern, but since the payments section of
    the script will be refactored soon, we defer that discussion.
    nams1570 authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    1d00ed2 View commit details
    Browse the repository at this point in the history
  2. fix clickhouse surrogate pair bug (#1270)

    <!--
    
    Make sure you've read the CONTRIBUTING.md guidelines:
    https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
    
    -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    
    ## Summary by CodeRabbit
    
    * **Bug Fixes**
    * Enhanced analytics event processing to properly handle edge cases when
    data contains certain truncated special characters or emoji sequences,
    ensuring data integrity.
    
    * **Tests**
      * Added coverage for analytics data edge case handling.
    
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    BilalG1 authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    d51c303 View commit details
    Browse the repository at this point in the history
  3. fix query route safe clickhouse error codes (#1268)

    <!--
    
    Make sure you've read the CONTRIBUTING.md guidelines:
    https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
    
    -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    ## Summary by CodeRabbit
    
    * **Bug Fixes**
    * Refined analytics query error classification so certain database
    errors are treated as known/handled, reducing exposure of internal
    diagnostics in responses.
    
    * **Tests**
    * Added end-to-end tests verifying safe (masked) error responses,
    preventing leakage of restricted column/identifier details and
    constraining suggestion text in error messages.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    BilalG1 authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    381e057 View commit details
    Browse the repository at this point in the history
  4. private files n sm build shit (#1276)

    - Introduced a fallback mechanism for the private sign-up risk engine,
    allowing for zero-score assessments when the primary engine is
    unavailable.
    - Updated Next.js configuration to support dynamic resolution of the
    private risk engine, including aliasing for both Turbopack and Webpack.
    - Added a new fallback implementation in
    `private-sign-up-risk-engine-fallback.ts` to ensure consistent behavior
    during builds.
    - Adjusted `risk-scores.tsx` to utilize the new compiled engine,
    improving error handling and logging for risk assessment failures.
    
    This update improves the robustness of the sign-up risk scoring system
    and enhances the development experience by streamlining engine
    resolution.
    
    <!--
    
    Make sure you've read the CONTRIBUTING.md guidelines:
    https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
    
    -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    ## Summary by CodeRabbit
    
    * **Improvements**
    * Sign-up risk engine is initialized and validated at startup for more
    predictable performance.
    * If the risk engine is unavailable or invalid, the system immediately
    returns safe zero-risk scores to avoid runtime failures.
    * **Tests**
    * End-to-end tests updated to match the new engine initialization and
    detection behavior.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    
    ---------
    
    Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
    mantrakp04 and N2D4 authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    d22593d View commit details
    Browse the repository at this point in the history
  5. Hover tooltip for signup rules

    N2D4 committed Mar 23, 2026
    Configuration menu
    Copy the full SHA
    238ed06 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    736c1a1 View commit details
    Browse the repository at this point in the history
  7. make publishable client keys truly optional ig (i hope) (#1274)

    <!--
    
    Make sure you've read the CONTRIBUTING.md guidelines:
    https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
    
    -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    
    ## Summary by CodeRabbit
    
    ## Documentation
    
    * Updated setup instructions across all documentation to clarify that
    the publishable client key is only required when your project
    configuration enforces it, removing confusion about unconditional
    requirements.
    
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    mantrakp04 authored Mar 23, 2026
    Configuration menu
    Copy the full SHA
    3efb226 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2026

  1. Replace Web3Forms with internal feedback emails (#1244)

    ## Summary
    - replace the dashboard feedback form's Web3Forms submission with an
    authenticated internal backend endpoint
    - send support and feature-request notifications through Stack Auth's
    native internal email pipeline
    - share internal project auth headers in the dashboard and add backend
    E2E coverage for support feedback
    
    ## Testing
    - pnpm typecheck
    - pnpm lint -- "src/components/feedback-form.tsx"
    "src/components/stack-companion/feature-request-board.tsx"
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    ## Summary by CodeRabbit
    
    * **New Features**
    * Internal feedback submission endpoint with automated internal email
    notifications
    * New internal email builder and sending utility; recipient list
    configurable via env
    
    * **Enhancements**
    * Feedback form requires sign-in, disables submit when unauthenticated,
    and tightens validation
      * Centralized header helper for authenticated internal requests
    * Feature request board gates actions for signed-out users and improves
    upvote/submit reliability
    * Runtime retrieval/validation of the feature-tracking API key and
    streamlined user handling
    
    * **Tests**
    * End-to-end tests covering internal feedback flows, validation, and
    email delivery
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->
    mantrakp04 authored Mar 24, 2026
    Configuration menu
    Copy the full SHA
    cfa6204 View commit details
    Browse the repository at this point in the history
Loading