Skip to content

[pull] main from tldraw:main#252

Merged
pull[bot] merged 6 commits intocode:mainfrom
tldraw:main
Nov 3, 2025
Merged

[pull] main from tldraw:main#252
pull[bot] merged 6 commits intocode:mainfrom
tldraw:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Nov 3, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

MitjaBezensek and others added 6 commits November 3, 2025 10:14
Action that fetches the framer sitemap and if any rewrites are missing
creates a PR and adds them.

Feels safer than: #6791 as we can
still take a look at the PR and make sure everything looks right.

### Change type

- [x] `improvement`


<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Adds a workflow and script that fetch Framer sitemap paths,
auto-insert missing rewrites into `apps/docs/next.config.js`, and open a
PR when changes are detected.
> 
> - **CI/Automation**:
> - Add workflow `/.github/workflows/add-framer-rewrites.yml` to run on
`workflow_dispatch`, execute `yarn add-framer-rewrites`, detect changes
to `apps/docs/next.config.js`, and auto-open a PR with label
`docs-hotfix-please` when rewrites change.
> - **Scripts**:
>   - Add `apps/docs/scripts/add-framer-rewrites.ts` to:
> - Fetch Framer sitemap (`tldrawdotdev.framer.website`), parse paths,
compare against existing `rewrites.beforeFiles` in
`apps/docs/next.config.js`.
> - Compute missing paths using pattern matching (supports `:path*`,
`:path+`, and param segments) and insert ordered rewrite entries.
>   - Expose via `package.json` script `add-framer-rewrites`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
90bef94. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Seems like when users signed up there was some kind of race condition
where it would try to create a file and the userId foreign key check
would fail because the user row hadn't been created yet.

This PR makes it create a user row before even accepting a websocket
connection and should bonk the problem on the head.

### Change type

- [x] `other`

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Create user/group records on first server contact and remove
client-side user creation, updating client bootstrap accordingly.
> 
> - **Backend (sync-worker)**:
> - Initialize missing `user`, `group`, and `group_user` rows on first
`/app/:userId/*` request by fetching profile from Clerk; clear
`USER_DO_SNAPSHOTS` and seed defaults (e.g., `color: '___INIT___'`).
> - Add `getClerkClient` usage; ensure rate limiting and cache init
proceed after bootstrap.
> - **Client**:
> - Remove client-driven user creation flow: `TldrawApp.preload()` no
longer accepts `initialUserData`; `TldrawApp.create` no longer requires
`fullName/email/avatar`.
> - After preload, if user has `color === '___INIT___'`, set user
preferences and emit `create-user` event; return `userId` from fetched
user.
> - Update hook `useAppState` to match new `TldrawApp.create` signature.
> - **Shared**:
>   - Mark `mutators.init` as deprecated.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
881ca5e. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Hotfix PRs now preserve `### API changes` section from original PR body.
This will prevent the api changes check from failing.

### Change type

- [ ] `bugfix`
- [x] `improvement`
- [ ] `feature`
- [ ] `api`
- [ ] `other`

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Hotfix PRs now copy the original PR’s `### API changes` section into
the generated PR body.
> 
> - **Scripts**:
> - `internal/scripts/trigger-dotcom-hotfix.ts`: Extracts the `### API
changes` section from the original PR body (if present) and appends it
to the hotfix PR body.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
bef8a6c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
### Change type

- [ ] `bugfix`
- [ ] `improvement`
- [ ] `feature`
- [ ] `api`
- [x] `other`

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Updates the fallback license key in
`packages/dotcom-shared/src/license.ts` to a new value including
additional allowed domains.
> 
> - **License**:
> - Update fallback license key in
`packages/dotcom-shared/src/license.ts` to new value covering
`*.tldraw.com`, `*.tldraw.dev`, `*.tldraw.club`, and
`*.tldraw.workers.dev`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
4d19202. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
This PR updates the i18n strings.

### Change type
- [x] `other`

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Updates Japanese strings: normalize rotate-cw label, switch “heart” to
ハート, and change note to 付箋.
> 
> - **Localization (ja)**:
>   - Normalize `action.rotate-cw` label by removing trailing space.
> - Update "heart" term to `ハート` in `geo-style.heart` and `tool.heart`.
>   - Change `tool.note` from `ふせん` to `付箋`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
f30f712. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: huppy-bot[bot] <128400622+huppy-bot[bot]@users.noreply.github.com>
Co-authored-by: Mime Čuvalo <mimecuvalo@gmail.com>
accidentally merged #7058 without these commits

### Change type

- [x] `other`

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Triggers a welcome dialog on first-time user init and hardens
server-side user creation with a duplicate-check and unified timestamps.
> 
> - **Client (TldrawApp)**
> - Show welcome dialog after initializing a brand-new user by updating
local session state (`updateLocalSessionState` in `TldrawApp.create`).
> - **Sync Worker (TLUserDurableObject)**
> - Guard user/group creation inside transaction to avoid duplicate
inserts if concurrent requests race.
> - Use a single `now` timestamp for `createdAt`/`updatedAt` across
inserted rows.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
a90eac1. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@pull pull Bot locked and limited conversation to collaborators Nov 3, 2025
@pull pull Bot added the ⤵️ pull label Nov 3, 2025
@pull pull Bot merged commit 98541f1 into code:main Nov 3, 2025
@pull pull Bot had a problem deploying to deploy-staging November 3, 2025 15:13 Failure
@pull pull Bot had a problem deploying to deploy-staging November 3, 2025 15:13 Failure
@pull pull Bot had a problem deploying to deploy-production November 3, 2025 15:13 Failure
@pull pull Bot requested a deployment to e2e-dotcom November 3, 2025 15:13 In progress
@pull pull Bot had a problem deploying to deploy-staging November 4, 2025 00:22 Failure
@pull pull Bot temporarily deployed to e2e-dotcom November 4, 2025 02:18 Inactive
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants