fix: Prevent UI Menu Relocating On Small Screens#2
Closed
KDSBrowne wants to merge 12 commits into
Closed
Conversation
VS Code version bump. ### Change Type - [x] `patch` — Bug fix - [ ] `minor` — New feature - [ ] `major` — Breaking change - [ ] `dependencies` — Changes to package dependencies[^1] - [ ] `documentation` — Changes to the documentation only[^2] - [ ] `tests` — Changes to any test code only[^2] - [ ] `internal` — Any other changes that don't affect the published package[^2] - [ ] I don't know [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version ### Release Notes - Version bump for VS Code.
One minor issue with signia is that it uses global state for bookkeeping, so it is potentially disastrous if there is more than one version of it included in a bundle. To prevent that being an issue before we had a warning that would trigger if signia detects multiple initializations. > Multiple versions of @tldraw/state detected. This will cause unexpected behavior. Please add "resolutions" (yarn/pnpm) or "overrides" (npm) in your package.json to ensure only one version of @tldraw/state is loaded. Alas I think this warning triggers too often in development environments, e.g. during HMR or janky bundlers. Something that can prevent the need for this particular warning is having a global singleton version of signia that we only instantiate once, and then re-use that one on subsequent module initializations. We didn't do this before because it has a few downsides: - breaks HMR if you are working on signia itself, since updated modules won't be used and you'll need to do a full refresh. - introduces the possibility of breakage if we remove or even add APIs to signia. We can't rely on having the latest version of signia be the first to instantiate, and we can't allow later instantiations to take precedence since atoms n stuff may have already been created with the prior version. To mitigate this I've introduced a `apiVersion` const that we can increment when we make any kind of additions or removals. If there is a mismatch between the `apiVersion` in the global singleton vs the currently-initializing module, then it throws. Ultimately i think the pros outweigh the cons here, i.e. far fewer people will see and have to deal with the error message shown above, and fewer people should encounter a situation where the editor appears to load but nothing changes when you interact with it. ### Change Type - [x] `patch` — Bug fix [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version ### Release Notes - Make a global singleton for tlstate.
Fixes an issue where uploaded images could significantly increase the document size. The problem was with calling `downscale` library, which expect the type to be one of: `jpg`, `png`, `webp`. We were sending the type with the `image/` prefix. Thanks to @irg1008 for pointing that out. Test image:  The difference I saw in testing:  @steveruizok why are we[ doubling the size here](https://github.com/tldraw/tldraw/blob/main/packages/tldraw/src/lib/utils/assets/assets.ts#L61-L62)? For retina quality? Fixes tldraw#2320 ### Change Type - [x] `patch` — Bug fix - [ ] `minor` — New feature - [ ] `major` — Breaking change - [ ] `dependencies` — Changes to package dependencies[^1] - [ ] `documentation` — Changes to the documentation only[^2] - [ ] `tests` — Changes to any test code only[^2] - [ ] `internal` — Any other changes that don't affect the published package[^2] - [ ] I don't know [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version ### Test Plan 1. Use the supplied test image. 2. Add it to a tldraw document. 3. Save the file and check the file size. It should be significantly lower than doing the same thing on tldraw.com - [ ] Unit Tests - [ ] End to end tests ### Release Notes - Decrease the size of uploaded assets.
…#2299) Start scrolling when we get close to the edges of the window. This works for brush selecting, translating, and resizing. https://github.com/tldraw/tldraw/assets/2523721/4a5effc8-5445-411b-b317-36097233d36c ### Change Type - [ ] `patch` — Bug fix - [x] `minor` — New feature - [ ] `major` — Breaking change - [ ] `dependencies` — Changes to package dependencies[^1] - [ ] `documentation` — Changes to the documentation only[^2] - [ ] `tests` — Changes to any test code only[^2] - [ ] `internal` — Any other changes that don't affect the published package[^2] - [ ] I don't know [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version ### Test Plan 1. Select a shape. 2. Move it towards the edge of the window. The camera position should change. 3. Also try resizing, brush selecting. - [x] Unit Tests - [ ] End to end tests ### Release Notes - Adds the logic to change the camera position when you get close to the edges of the window. This allows you to drag, resize, brush select past the edges of the current viewport. --------- Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
This PR opts to split the big singleton out into other smaller singletons so that we can revert the moving of the tsdoc comments that happened in tldraw#2322 ### Change Type - [x] `patch` — Bug fix [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version
Fixes the border radius for the bookmark shape indicator. The shape itself used 6px (`--radius-2` variable), while the indicator used 8px. Before  After  ### Change Type - [x] `patch` — Bug fix - [ ] `minor` — New feature - [ ] `major` — Breaking change - [ ] `dependencies` — Changes to package dependencies[^1] - [ ] `documentation` — Changes to the documentation only[^2] - [ ] `tests` — Changes to any test code only[^2] - [ ] `internal` — Any other changes that don't affect the published package[^2] - [ ] I don't know [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version ### Release Notes - Fix the indicator for the bookmark shape. The radius now matches the shape's radius.
I noticed we weren't freezing the initialData passed into the store. ### Change Type - [x] `patch` — Bug fix
We had a bug in `squashRecordDiffs` where it could potentially mutate 'updated' entries. ### Change Type - [x] `patch` — Bug fix ### Release Notes - Fix `squashRecordDiffs` to prevent a bug where it mutates the 'updated' entires
This pull request was initiated by Lokalise (user Lu) at 2023-12-19 10:48:13 ## Release Notes Added Czech translations. Updated translations for German, Korean, Russian, Ukrainian, Traditional Chinese.
Finally removing all these deprecated getters ahead of the full release. ### Change Type - [x] `major` — Breaking change ### Release Notes - (Breaking) Removed deprecated getters.
This PR allows dragging a selection on top of a locked shape. This should work when clicking inside of the selection, but not directly on a shape. Before: https://github.com/tldraw/tldraw/assets/2523721/53583ae9-9ed7-455e-bdc4-ba13804dd8a3 After: https://github.com/tldraw/tldraw/assets/2523721/81d8f8bf-5474-4a09-abac-75059a089851 Fixes tldraw#2316 Fixes tldraw#2315 ### Change Type - [x] `patch` — Bug fix - [ ] `minor` — New feature - [ ] `major` — Breaking change - [ ] `dependencies` — Changes to package dependencies[^1] - [ ] `documentation` — Changes to the documentation only[^2] - [ ] `tests` — Changes to any test code only[^2] - [ ] `internal` — Any other changes that don't affect the published package[^2] - [ ] I don't know [^1]: publishes a `patch` release, for devDependencies use `internal` [^2]: will not publish a new version ### Test Plan 1. Create a big shape and lock it. 2. Create two shapes on top of the locked shape and select them. 3. Start dragging the selected shapes by clicking inside the selection (but not directly on any of the shapes). This should allow you to translate the selection. 4. Should also work if the shapes are behind the locked shape. - [x] Unit Tests - [ ] End to end tests ### Release Notes - Allow translating of shapes on top of a locked shape by clicking inside of selection and moving the mouse.
Tainan404
added a commit
that referenced
this pull request
May 20, 2026
Resolves Dependabot alerts #1, #2, #58, tldraw#59, #62, tldraw#144. Dismisses #3, #119 as inaccurate (CVE-2026-39365 is Vite 6.x-only). CVE-2025-62522 (medium): server.fs.deny bypass via backslash on Windows * explicitly scopes to vite >= 4.5.3, < 5.0.0 with no 4.x patch available upstream. Fix requires upgrade to 5.4.21. CVE-2025-58752 / CVE-2025-58751 (low): both patched at 5.4.20; vite 4.x was a false positive, but upgrading to 5.4.21 closes both alerts cleanly. CVE-2026-39365: GitHub advisory lists no 4.x or 5.x patch (only 6.4.2, 7.3.2, 8.0.5), confirming the feature was introduced in Vite 6.x. Dismissed alerts #3 and #119 as inaccurate via API. @vitejs/plugin-react ^4.2.0 -> 4.7.0 explicitly supports vite ^5.0.0. No vite.config.ts changes required.
Tainan404
added a commit
that referenced
this pull request
May 20, 2026
Resolves Dependabot alerts #1, #2, #58, tldraw#59, #62, tldraw#144. Dismisses #3, #119 as inaccurate (CVE-2026-39365 is Vite 6.x-only). CVE-2025-62522 (medium): server.fs.deny bypass via backslash on Windows * explicitly scopes to vite >= 4.5.3, < 5.0.0 with no 4.x patch available upstream. Fix requires upgrade to 5.4.21. CVE-2025-58752 / CVE-2025-58751 (low): both patched at 5.4.20; vite 4.x was a false positive, but upgrading to 5.4.21 closes both alerts cleanly. CVE-2026-39365: GitHub advisory lists no 4.x or 5.x patch (only 6.4.2, 7.3.2, 8.0.5), confirming the feature was introduced in Vite 6.x. Dismissed alerts #3 and #119 as inaccurate via API. @vitejs/plugin-react ^4.2.0 -> 4.7.0 explicitly supports vite ^5.0.0. No vite.config.ts changes required.
Tainan404
added a commit
that referenced
this pull request
May 20, 2026
Resolves Dependabot alerts #1, #2, #58, tldraw#59, #62, tldraw#144. Dismisses #3, #119 as inaccurate (CVE-2026-39365 is Vite 6.x-only). CVE-2025-62522 (medium): server.fs.deny bypass via backslash on Windows * explicitly scopes to vite >= 4.5.3, < 5.0.0 with no 4.x patch available upstream. Fix requires upgrade to 5.4.21. CVE-2025-58752 / CVE-2025-58751 (low): both patched at 5.4.20; vite 4.x was a false positive, but upgrading to 5.4.21 closes both alerts cleanly. CVE-2026-39365: GitHub advisory lists no 4.x or 5.x patch (only 6.4.2, 7.3.2, 8.0.5), confirming the feature was introduced in Vite 6.x. Dismissed alerts #3 and #119 as inaccurate via API. @vitejs/plugin-react ^4.2.0 -> 4.7.0 explicitly supports vite ^5.0.0. No vite.config.ts changes required.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
This PR removes the conditional breakpoint rendering of the menu and it's use in the secondary location.
Closes Issue(s)
Closes bigbluebutton/bigbluebutton#19449