[next]: ensure defaultLocale redirect doesn't conflict with user redirects#12916
Merged
[next]: ensure defaultLocale redirect doesn't conflict with user redirects#12916
Conversation
🦋 Changeset detectedLatest commit: e5c8b42 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
3a03b35 to
2c72dd8
Compare
2c72dd8 to
1314e34
Compare
ijjk
approved these changes
Jan 28, 2025
Merged
ztanner
added a commit
that referenced
this pull request
Jan 28, 2025
EndangeredMassa
pushed a commit
that referenced
this pull request
Jan 28, 2025
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @vercel/[email protected] ### Major Changes - Initial release ([#12903](#12903)) ## @vercel/[email protected] ### Minor Changes - Add `useWebApi` property to `NodejsLambda` class ([#12873](#12873)) - [build-utils] convert NodeVersion to class and add state getter ([#12883](#12883)) [ruby] convert RubyVersion to class and add state getter ## [email protected] ### Minor Changes - [cli] add Node Version to project list output table ([#12895](#12895)) ### Patch Changes - Enable executable bit for `src/vc.js` script ([#12863](#12863)) - Add video integration category to the integration install CLI ([#12870](#12870)) - [cli] update warning in ls --update-required for clarity ([#12864](#12864)) - Added headers for user-supplied rewrites ([#12847](#12847)) - [cli] refactor confirm component to use `client.input.confirm` interface ([#12846](#12846)) - [build-utils] convert NodeVersion to class and add state getter ([#12883](#12883)) [ruby] convert RubyVersion to class and add state getter - Updated dependencies \[[`56f72ffefb828c3001f7c82259ed0f71db4f629e`](56f72ff), [`745404610a836fa6c2068c5c192d2f3e8b86918f`](7454046), [`b6bb709370d2565121808340d43d0a9d90b53de1`](b6bb709), [`85a64db8d9b6a6e9f7c6a019d51777930a806584`](85a64db), [`ac6a62eff7db3b3e2713adc1f5bd6a1331d838ce`](ac6a62e), [`f65ea2245382dd2449c96f695ed692d419a83868`](f65ea22), [`7af40c1e9d9916cbe8287359662fc940f1d24fce`](7af40c1), [`06307180c20ca07b65f7cb5e93b65c977b9ccd70`](0630718), [`3a5507fd1459c77b4491f1c9c3a64ad42e4ff009`](3a5507f), [`cefda60a603d60cc35e4697c36e751cca411e6bb`](cefda60), [`003866c4c93e893edb7a5e89b519fc8879b370c0`](003866c)]: - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] ## @vercel/[email protected] ### Minor Changes - Make vite detection supersede ionic-react ([#12880](#12880)) ## @vercel/functions@1.6.0 ### Minor Changes - Add middleware-related helper functions ([#12938](#12938)) ## @vercel/[email protected] ### Minor Changes - Add support for React Router v7 ([#12904](#12904)) - Enable `nativeFetch` when `v3_singleFetch` future flag is enabled ([#12918](#12918)) ### Patch Changes - [remix] Create an interface for differences remix vs react-router ([#12925](#12925)) ## @vercel/[email protected] ### Minor Changes - [build-utils] convert NodeVersion to class and add state getter ([#12883](#12883)) [ruby] convert RubyVersion to class and add state getter ## @vercel/[email protected] ### Patch Changes - Updated dependencies \[[`745404610a836fa6c2068c5c192d2f3e8b86918f`](7454046), [`3a5507fd1459c77b4491f1c9c3a64ad42e4ff009`](3a5507f)]: - @vercel/[email protected] ## @vercel/[email protected] ### Patch Changes - Bump next from 14.2.10 to 14.2.21 ([#12842](#12842)) ## @vercel/[email protected] ### Patch Changes - Fix local file system readdir to not throw on special file system stat types ([#12915](#12915)) - Updated dependencies \[[`d645bdd4312730b10bef89ad9e18e111500849fc`](d645bdd)]: - @vercel/[email protected] ## @vercel/[email protected] ### Patch Changes - Updated dependencies \[[`745404610a836fa6c2068c5c192d2f3e8b86918f`](7454046), [`3a5507fd1459c77b4491f1c9c3a64ad42e4ff009`](3a5507f)]: - @vercel/[email protected] ## @vercel/[email protected] ### Patch Changes - ensure defaultLocale rewrite doesn't conflict with user-defined redirects ([#12916](#12916)) - Added headers for user-supplied rewrites ([#12847](#12847)) ## @vercel/[email protected] ### Patch Changes - Fix requests failing due to the presence of `Transfer-Encoding` header in edge-function dev server. ([#10701](#10701)) - Split `build()`, `prepareCache()` and `startDevServer()` into separate files ([#12872](#12872)) - Updated dependencies \[[`745404610a836fa6c2068c5c192d2f3e8b86918f`](7454046), [`3a5507fd1459c77b4491f1c9c3a64ad42e4ff009`](3a5507f)]: - @vercel/[email protected] ## @vercel/[email protected] ### Patch Changes - Remove support for VERCEL_IPC_FD ([#12908](#12908)) - Add `supportsResponseStreaming` to build output ([#12884](#12884)) ## @vercel/[email protected] ### Patch Changes - Updated dependencies \[]: - @vercel/[email protected] ## @vercel-internals/[email protected] ### Patch Changes - Updated dependencies \[[`745404610a836fa6c2068c5c192d2f3e8b86918f`](7454046), [`3a5507fd1459c77b4491f1c9c3a64ad42e4ff009`](3a5507f)]: - @vercel/[email protected] Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
ztanner
added a commit
that referenced
this pull request
Jan 29, 2025
ijjk
added a commit
that referenced
this pull request
Jan 29, 2025
Just adds a follow-up test case for #12916
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 4, 2025
#13003) With the experimental flag added in #12916 we added handling to add non-localized redirects for dynamic routes, because we moved the defaultLocale handling to the `handle: miss` case. However, we need to add these redirects after the less-specific localized routes so that those ones are matched first before the fallback case. --------- Co-authored-by: JJ Kasper <[email protected]>
QuietCraftsmanship
pushed a commit
to QuietCraftsmanship/Vercel
that referenced
this pull request
Jul 6, 2025
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @vercel/[email protected] ### Major Changes - Initial release ([#12903](vercel/vercel#12903)) ## @vercel/[email protected] ### Minor Changes - Add `useWebApi` property to `NodejsLambda` class ([#12873](vercel/vercel#12873)) - [build-utils] convert NodeVersion to class and add state getter ([#12883](vercel/vercel#12883)) [ruby] convert RubyVersion to class and add state getter ## [email protected] ### Minor Changes - [cli] add Node Version to project list output table ([#12895](vercel/vercel#12895)) ### Patch Changes - Enable executable bit for `src/vc.js` script ([#12863](vercel/vercel#12863)) - Add video integration category to the integration install CLI ([#12870](vercel/vercel#12870)) - [cli] update warning in ls --update-required for clarity ([#12864](vercel/vercel#12864)) - Added headers for user-supplied rewrites ([#12847](vercel/vercel#12847)) - [cli] refactor confirm component to use `client.input.confirm` interface ([#12846](vercel/vercel#12846)) - [build-utils] convert NodeVersion to class and add state getter ([#12883](vercel/vercel#12883)) [ruby] convert RubyVersion to class and add state getter - Updated dependencies \[[`97e4eb3c468b4c35c4b930137215ecd018707121`](vercel/vercel@97e4eb3), [`0aea17613bd7c4b0cbf174f654efa0cf3abee363`](vercel/vercel@0aea176), [`c8b8fdca6333c3d4503be696d046f57b2f221431`](vercel/vercel@c8b8fdc), [`e7536c62bebab05ea989cf10de28c9dc311be2e8`](vercel/vercel@e7536c6), [`33c6e67f14854ef680db612944063fc405843827`](vercel/vercel@33c6e67), [`0ded32e2d5ae1d9812d70eb281b226e057b016a9`](vercel/vercel@0ded32e), [`e1e6b58819ad8606ed4e963af5e1e58984cf02d7`](vercel/vercel@e1e6b58), [`44dd8ccf5235c7019c14d2a8e34c4c0733ce110d`](vercel/vercel@44dd8cc), [`1a4f0521f984ce891a3e9847d31e569f407c4319`](vercel/vercel@1a4f052), [`ff43e4bf3f15a8875afe6f3cc9e22a37110f3751`](vercel/vercel@ff43e4b), [`a376e638ffe384b962b14685293bccfb4507ab90`](vercel/vercel@a376e63)]: - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] - @vercel/[email protected] ## @vercel/[email protected] ### Minor Changes - Make vite detection supersede ionic-react ([#12880](vercel/vercel#12880)) ## @vercel/[email protected] ### Minor Changes - Add middleware-related helper functions ([#12938](vercel/vercel#12938)) ## @vercel/[email protected] ### Minor Changes - Add support for React Router v7 ([#12904](vercel/vercel#12904)) - Enable `nativeFetch` when `v3_singleFetch` future flag is enabled ([#12918](vercel/vercel#12918)) ### Patch Changes - [remix] Create an interface for differences remix vs react-router ([#12925](vercel/vercel#12925)) ## @vercel/[email protected] ### Minor Changes - [build-utils] convert NodeVersion to class and add state getter ([#12883](vercel/vercel#12883)) [ruby] convert RubyVersion to class and add state getter ## @vercel/[email protected] ### Patch Changes - Updated dependencies \[[`0aea17613bd7c4b0cbf174f654efa0cf3abee363`](vercel/vercel@0aea176), [`1a4f0521f984ce891a3e9847d31e569f407c4319`](vercel/vercel@1a4f052)]: - @vercel/[email protected] ## @vercel/[email protected] ### Patch Changes - Bump next from 14.2.10 to 14.2.21 ([#12842](vercel/vercel#12842)) ## @vercel/[email protected] ### Patch Changes - Fix local file system readdir to not throw on special file system stat types ([#12915](vercel/vercel#12915)) - Updated dependencies \[[`ac4318615e248752ad20ca031f7c903e76e52899`](vercel/vercel@ac43186)]: - @vercel/[email protected] ## @vercel/[email protected] ### Patch Changes - Updated dependencies \[[`0aea17613bd7c4b0cbf174f654efa0cf3abee363`](vercel/vercel@0aea176), [`1a4f0521f984ce891a3e9847d31e569f407c4319`](vercel/vercel@1a4f052)]: - @vercel/[email protected] ## @vercel/[email protected] ### Patch Changes - ensure defaultLocale rewrite doesn't conflict with user-defined redirects ([#12916](vercel/vercel#12916)) - Added headers for user-supplied rewrites ([#12847](vercel/vercel#12847)) ## @vercel/[email protected] ### Patch Changes - Fix requests failing due to the presence of `Transfer-Encoding` header in edge-function dev server. ([#10701](vercel/vercel#10701)) - Split `build()`, `prepareCache()` and `startDevServer()` into separate files ([#12872](vercel/vercel#12872)) - Updated dependencies \[[`0aea17613bd7c4b0cbf174f654efa0cf3abee363`](vercel/vercel@0aea176), [`1a4f0521f984ce891a3e9847d31e569f407c4319`](vercel/vercel@1a4f052)]: - @vercel/[email protected] ## @vercel/[email protected] ### Patch Changes - Remove support for VERCEL_IPC_FD ([#12908](vercel/vercel#12908)) - Add `supportsResponseStreaming` to build output ([#12884](vercel/vercel#12884)) ## @vercel/[email protected] ### Patch Changes - Updated dependencies \[]: - @vercel/[email protected] ## @vercel-internals/[email protected] ### Patch Changes - Updated dependencies \[[`0aea17613bd7c4b0cbf174f654efa0cf3abee363`](vercel/vercel@0aea176), [`1a4f0521f984ce891a3e9847d31e569f407c4319`](vercel/vercel@1a4f052)]: - @vercel/[email protected] Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
QuietCraftsmanship
pushed a commit
to QuietCraftsmanship/Vercel
that referenced
this pull request
Jul 6, 2025
Just adds a follow-up test case for vercel/vercel#12916
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.
When
localeDetectionis turned off, usually the user intends to handle redirects themselves, or doesn't want them at all. However because of the rewrites that we insert fordefaultLocalehandling, it can clobber the user-provided redirects. eg the rewrite to/${defaultLocale}would then flow through to the user's redirect handling to result in/${defaultLocale}/${redirectLocale}which wouldn't have been the intention.When
localeDetectionis turned off, we shouldn't only attempt the defaultLocale rewrite handling when we've already processed all other routes (ie in thehandle: misscase)Closes NEXT-3975