fix: don't redirect in forks#14964
Conversation
|
This prevents a redirect that a remote function could do from doing a navigation in a fork. It's implemented by putting the context into fork, pulling it out on remote function invocation to check if we're in a fork, put that into a map, and pull it out of there when a redirect occurs to check if the remote function is only called in context of that fork, and if so instead of redirecting we tell the SvelteKit router that this new route will redirect elsewhere. In the future we could follow that redirect and run it in the fork, but this is good enough for now and ties nicely into the current SvelteKit router. Fixes #14935
20d783c to
a276be1
Compare
|
did put this on the 3.0 milestone now - we should discuss this, see if we need to adjust Svelte's |
|
Install the latest version of pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/65dab6c265cd2e188f7bea3f3cc8040bfddd71ceOpen in |
|
Closing in favor of #16292 which is basically this against |
This prevents a redirect that a remote function could do from doing a navigation in a fork.
Leverages Svelte's new forking methods from sveltejs/svelte#17217(no longer needs those, but having committed/discarded would be nice)It's implemented by putting the context into fork, pulling it out on remote function invocation to check if we're in a fork (TODO what if you have it invoked elsewhere and you just await it in a fork context?), put that into a map, and pull it out of there when a redirect occurs to check if the remote function is only called in context of that fork, and if so instead of redirecting we tell the SvelteKit router that this new route will redirect elsewhere. In the future we could follow that redirect and run it in the fork, but this is good enough for now and ties nicely into the current SvelteKit router.
Fixes #14935
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
Tests
pnpm testand lint the project withpnpm lintandpnpm checkChangesets
pnpm changesetand following the prompts. Changesets that add features should beminorand those that fix bugs should bepatch. Please prefix changeset messages withfeat:,fix:, orchore:.