tldraw/apps/vscode/extension
David Sheldrick ee6aa172b2
Unfurl bookmarks in worker (#4039)
This PR adds a `GET /api/unfurl?url=blahblah` endpoint to our worker.

I tried out the existing cheerio implementation but it added 300kb to
our worker bundle in the end, due to transitive dependencies.

So I implemented the same logic with cloudflare's sanctioned streaming
HTML parser `HTMLRewriter` and it seems to work fine.

I also made the vscode extension do its fetching locally (from the node
process so it's not bound by security policies), retaining the cheerio
version for that. At the same time I fixed a bug in the RPC layer that
was preventing unfurled metadata from loading correctly.

In a few months we can retire the bookmark-extractor app by just
deleting it in the vercel dashboard.

### Change Type


<!--  Please select a 'Type' label ️ -->

- [ ] `feature` — New feature
- [x] `improvement` — Product improvement
- [ ] `api` — API change
- [ ] `bugfix` — Bug fix
- [ ] `other` — Changes that don't affect SDK users, e.g. internal or
.com changes


### Test Plan

1. Add a step-by-step description of how to test your PR here.
2.

- [ ] Unit Tests
- [ ] End to end tests

### Release Notes

- Do link unfurling on the same subdomain as all our other api
endpoints.
2024-07-01 14:40:03 +00:00
..
.vscode transfer-out: transfer out 2023-04-25 12:01:25 +01:00
assets transfer-out: transfer out 2023-04-25 12:01:25 +01:00
examples transfer-out: transfer out 2023-04-25 12:01:25 +01:00
scripts Do a pre-release of the VS code extension for merges to main. (#3957) 2024-06-26 07:23:25 +00:00
src Unfurl bookmarks in worker (#4039) 2024-07-01 14:40:03 +00:00
.gitignore transfer-out: transfer out 2023-04-25 12:01:25 +01:00
.vscodeignore transfer-out: transfer out 2023-04-25 12:01:25 +01:00
CHANGELOG.md VS Code release 2.0.36 (#3922) 2024-06-11 13:53:00 +00:00
icon.png transfer-out: transfer out 2023-04-25 12:01:25 +01:00
LICENSE.md Change licenses to tldraw (#2167) 2023-12-19 10:41:01 +00:00
package.json Unfurl bookmarks in worker (#4039) 2024-07-01 14:40:03 +00:00
README.md Update READMEs, add form link (#3741) 2024-05-12 20:48:07 +00:00
tsconfig.json Check tsconfig "references" arrays (#2891) 2024-02-21 13:07:53 +00:00

Introduction

tldraw is a very good whiteboard for the web. This extension will let you use tldraw inside of VS Code, using offline .tldr files. Create drawings, diagrams, or visual documentation, and then commit the files alongside your code!

A screenshot of tldraw in VS Code

Usage

  • To create a new tldraw file, use the provided command: "tldraw: New tldraw File".

A recording of opening tldraw in VS Code

  • To view an existing tldraw file, open a file with the .tldr extension in VS Code.

Tip: The .tldr files you create with this extension can also be opened in the tldraw web app. You can also use this extension to open .tldr files saved from the web app.

Contribution

Please see our contributing guide. Found a bug? Please submit an issue.

License

The tldraw source code and its distributions are provided under the tldraw license. This license does not permit commercial use. To purchase a commercial license or learn more, please fill out this form.

Trademarks

Copyright (c) 2023-present tldraw Inc. The tldraw name and logo are trademarks of tldraw. Please see our trademark guidelines for info on acceptable usage.

Contact

Find us on Twitter/X at @tldraw.

Community

Have questions, comments or feedback? Join our discord or start a discussion. For the latest news and release notes, check out our Substack.