Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix: don't 404 on prefetches to fully static pages router pages when middleware is present#2957

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
pieh merged 4 commits intomainfromiterate-on-404-middleware
Jun 17, 2025

Conversation

pieh
Copy link
Contributor

@piehpieh commentedJun 11, 2025
edited
Loading

Description

This enables some middleware specific request normalization that currently is not active due to us fully removing middleware from manifest and therefore we are skipping some middleware specific handling (that is outside of middleware itself)

Tests

quite a bit of tests added for middleware + data prefetches

Relevant links (GitHub issues, etc.) or a picture of cute animal

https://linear.app/netlify/issue/FRB-1816/middleware-causes-a-404

@piehpieh added the test all versionsRun e2e tests against old and canary versions of Next.js labelJun 11, 2025
@piehpiehforce-pushed theiterate-on-404-middleware branch frome1b33f8 to770b08aCompareJune 11, 2025 11:50
@github-actionsGitHub Actions
Copy link
Contributor

github-actionsbot commentedJun 11, 2025
edited
Loading

📊 Package size report   0.03%↑

FileBefore (Size / Gzip)After (Size / Gzip)
dist/build/content/server.js9.1 kB /3.0 kB9%↑9.9 kB /11%↑3.3 kB
Total(Includes all files)2.9 MB /815.1 kB0.03%↑2.9 MB /0.04%↑815.5 kB
Tarball size772.6 kB0.03%↑772.9 kB
Unchanged files
FileSize (Size / Gzip)
dist/build/advanced-api-routes.js4.3 kB /1.4 kB
dist/build/cache.js1.0 kB /416 B
dist/build/content/next-shims/telemetry-storage.cjs1.6 kB /659 B
dist/build/content/prerendered.js9.9 kB /2.9 kB
dist/build/content/static.js4.2 kB /1.4 kB
dist/build/functions/edge.js20.9 kB /5.6 kB
dist/build/functions/server.js4.9 kB /1.6 kB
dist/build/image-cdn.js54.0 kB /11.1 kB
dist/build/plugin-context.js11.3 kB /3.3 kB
dist/build/templates/handler-monorepo.tmpl.js1.6 kB /643 B
dist/build/templates/handler.tmpl.js1.4 kB /596 B
dist/build/verification.js4.5 kB /1.6 kB
dist/esm-chunks/chunk-6BT4RYQJ.js1.9 kB /862 B
dist/esm-chunks/chunk-FKDTZJRV.js27.0 kB /5.4 kB
dist/esm-chunks/chunk-TLQCAGE2.js62.6 kB /11.2 kB
dist/esm-chunks/chunk-YUXQHOYO.js187.9 kB /33.2 kB
dist/index.js3.4 kB /1.1 kB
dist/run/config.js1.3 kB /649 B
dist/run/constants.js526 B /319 B
dist/run/handlers/cache.cjs15.0 kB /3.8 kB
dist/run/handlers/request-context.cjs5.3 kB /1.7 kB
dist/run/handlers/server.js142.6 kB /33.5 kB
dist/run/handlers/tags-handler.cjs7.2 kB /2.4 kB
dist/run/handlers/tracer.cjs30.2 kB /6.3 kB
dist/run/handlers/use-cache-handler.js48.0 kB /10.8 kB
dist/run/handlers/wait-until.cjs1.4 kB /665 B
dist/run/headers.js8.2 kB /2.6 kB
dist/run/next.cjs23.9 kB /5.9 kB
dist/run/revalidate.js1.0 kB /479 B
dist/run/storage/regional-blob-store.cjs21.3 kB /6.1 kB
dist/run/storage/request-scoped-in-memory-cache.cjs47.4 kB /10.9 kB
dist/run/storage/storage.cjs4.0 kB /1.3 kB
dist/shared/blob-types.cjs1.6 kB /645 B
dist/shared/blobkey.js742 B /400 B
dist/shared/cache-types.cjs1.3 kB /566 B
edge-runtime/lib/headers.ts1.9 kB /841 B
edge-runtime/lib/logging.ts115 B /121 B
edge-runtime/lib/middleware.test.ts3.3 kB /645 B
edge-runtime/lib/middleware.ts3.6 kB /1.4 kB
edge-runtime/lib/next-request.ts3.3 kB /1.1 kB
edge-runtime/lib/response.ts10.0 kB /3.0 kB
edge-runtime/lib/routing.ts15.3 kB /4.0 kB
edge-runtime/lib/util.test.ts1.6 kB /356 B
edge-runtime/lib/util.ts3.7 kB /1.3 kB
edge-runtime/matchers.json3 B /23 B
edge-runtime/middleware.ts2.4 kB /1.0 kB
edge-runtime/next.config.json3 B /23 B
edge-runtime/README.md992 B /509 B
edge-runtime/shim/index.js1.5 kB /717 B
edge-runtime/vendor.ts745 B /312 B
edge-runtime/vendor/deno.land/std@0.175.0/_util/asserts.ts854 B /461 B
edge-runtime/vendor/deno.land/std@0.175.0/_util/os.ts644 B /355 B
edge-runtime/vendor/deno.land/std@0.175.0/async/abortable.ts4.0 kB /1.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/async/deadline.ts974 B /544 B
edge-runtime/vendor/deno.land/std@0.175.0/async/debounce.ts2.2 kB /956 B
edge-runtime/vendor/deno.land/std@0.175.0/async/deferred.ts1.5 kB /798 B
edge-runtime/vendor/deno.land/std@0.175.0/async/delay.ts1.8 kB /845 B
edge-runtime/vendor/deno.land/std@0.175.0/async/mod.ts465 B /241 B
edge-runtime/vendor/deno.land/std@0.175.0/async/mux_async_iterator.ts2.5 kB /1.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/async/pool.ts3.2 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/async/retry.ts2.4 kB /1.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/async/tee.ts2.1 kB /924 B
edge-runtime/vendor/deno.land/std@0.175.0/bytes/index_of_needle.ts1.4 kB /668 B
edge-runtime/vendor/deno.land/std@0.175.0/crypto/timing_safe_equal.ts875 B /442 B
edge-runtime/vendor/deno.land/std@0.175.0/datetime/to_imf.ts1.3 kB /681 B
edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64.ts2.5 kB /1.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64url.ts2.0 kB /872 B
edge-runtime/vendor/deno.land/std@0.175.0/flags/mod.ts22.6 kB /5.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/fmt/colors.ts12.4 kB /2.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/fmt/printf.ts27.7 kB /7.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/http/cookie.ts11.5 kB /3.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_core.ts2.3 kB /716 B
edge-runtime/vendor/deno.land/std@0.175.0/node/_events.d.ts27.2 kB /5.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_events.mjs28.0 kB /7.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_global.d.ts1.7 kB /650 B
edge-runtime/vendor/deno.land/std@0.175.0/node/_next_tick.ts5.0 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_process/exiting.ts138 B /138 B
edge-runtime/vendor/deno.land/std@0.175.0/node/_process/process.ts3.8 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_process/stdio.mjs336 B /233 B
edge-runtime/vendor/deno.land/std@0.175.0/node/_process/streams.mjs4.0 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.d.ts53.2 kB /11.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.mjs91.2 kB /25.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_util/_util_callbackify.ts4.3 kB /1.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_utils.ts5.9 kB /2.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/assert.ts23.1 kB /4.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/assertion_error.ts19.6 kB /6.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/async_hooks.ts7.7 kB /2.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/buffer.ts262 B /204 B
edge-runtime/vendor/deno.land/std@0.175.0/node/events.ts303 B /221 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_libuv_winerror.ts7.8 kB /1.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_listen.ts561 B /342 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_node.ts443 B /335 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_timingSafeEqual.ts479 B /268 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_utils.ts2.4 kB /938 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_winerror.ts354.4 kB /64.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/ares.ts2.4 kB /1.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/async_wrap.ts4.0 kB /1.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/buffer.ts3.5 kB /1.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/cares_wrap.ts15.2 kB /3.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/config.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/connection_wrap.ts2.6 kB /1.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/constants.ts21.5 kB /5.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/contextify.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/credentials.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/crypto.ts448 B /244 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/errors.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_dir.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_event_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/handle_wrap.ts1.8 kB /1.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/heap_utils.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/http_parser.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/icu.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/inspector.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/js_stream.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/messaging.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/mod.ts3.1 kB /955 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/module_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/native_module.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/natives.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_file.ts2.9 kB /1.5 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_options.ts1.8 kB /989 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/options.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/os.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/performance.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/pipe_wrap.ts10.4 kB /3.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/process_methods.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/report.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/serdes.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/signal_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/spawn_sync.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/stream_wrap.ts9.3 kB /2.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/string_decoder.ts504 B /261 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/symbols.ts1.4 kB /828 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/task_queue.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tcp_wrap.ts13.1 kB /3.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/timers.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tls_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/trace_events.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tty_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/types.ts5.7 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/udp_wrap.ts12.4 kB /3.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/url.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/util.ts4.0 kB /1.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/uv.ts20.1 kB /3.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/v8.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/worker.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/zlib.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.d.ts73.6 kB /12.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.mjs66.1 kB /10.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/_keys.ts463 B /262 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/constants.ts252 B /173 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/error_codes.ts322 B /250 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/errors.ts78.9 kB /17.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/fixed_queue.ts4.4 kB /1.2 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/hide_stack_frames.ts550 B /377 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/net.ts3.1 kB /1.5 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/normalize_encoding.mjs2.1 kB /500 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/options.ts1.7 kB /959 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/primordials.mjs1.8 kB /431 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/process/per_thread.mjs7.8 kB /2.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/callbacks.mjs3.8 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/utils.mjs14.3 kB /3.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/destroy.mjs6.9 kB /1.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/end-of-stream.mjs7.1 kB /1.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/utils.mjs5.9 kB /1.2 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util.mjs4.0 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/comparisons.ts16.6 kB /3.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/debuglog.ts3.2 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/inspect.mjs71.5 kB /19.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/types.ts3.7 kB /1.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/validators.mjs8.0 kB /2.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/process.ts19.4 kB /5.2 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/stream.ts671 B /346 B
edge-runtime/vendor/deno.land/std@0.175.0/node/string_decoder.ts10.3 kB /3.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/util.ts7.8 kB /2.2 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/util/types.ts199 B /153 B
edge-runtime/vendor/deno.land/std@0.175.0/path/_constants.ts2.0 kB /727 B
edge-runtime/vendor/deno.land/std@0.175.0/path/_interface.ts728 B /369 B
edge-runtime/vendor/deno.land/std@0.175.0/path/_util.ts5.0 kB /1.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/path/common.ts1.2 kB /607 B
edge-runtime/vendor/deno.land/std@0.175.0/path/glob.ts12.7 kB /3.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/path/mod.ts1.4 kB /690 B
edge-runtime/vendor/deno.land/std@0.175.0/path/posix.ts13.9 kB /3.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/path/separator.ts259 B /209 B
edge-runtime/vendor/deno.land/std@0.175.0/path/win32.ts28.5 kB /6.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/streams/write_all.ts2.2 kB /598 B
edge-runtime/vendor/deno.land/std@0.175.0/testing/_diff.ts11.6 kB /3.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/testing/_format.ts705 B /462 B
edge-runtime/vendor/deno.land/std@0.175.0/testing/asserts.ts25.5 kB /5.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/types.d.ts4.2 kB /1.2 kB
edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter_bg.wasm573.2 kB /262.7 kB
edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter.js31.0 kB /4.7 kB
edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/index.ts2.6 kB /989 B
edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/types.d.ts2.1 kB /446 B
edge-runtime/vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts15.4 kB /4.2 kB
edge-runtime/vendor/import_map.json148 B /111 B
edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/logger.ts3.2 kB /747 B
edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/mod.ts29 B /49 B
LICENSE1.1 kB /661 B
manifest.yml31 B /51 B
package.json3.2 kB /1.2 kB
README.md2.8 kB /1.2 kB

🤖 This report was automatically generated bypkg-size-action

@piehpiehforce-pushed theiterate-on-404-middleware branch from770b08a to2da94c5CompareJune 11, 2025 16:44
@piehpieh marked this pull request as ready for reviewJune 17, 2025 10:01
@piehpieh requested a review froma team as acode ownerJune 17, 2025 10:01
@piehpieh changed the titleIterate on 404 middlewarefix: don't 404 on prefetches to fully static pages router pages when middleware is presentJun 17, 2025
@piehpieh merged commit7af10ec intomainJun 17, 2025
366 of 391 checks passed
@piehpieh deleted the iterate-on-404-middleware branchJune 17, 2025 10:41
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@mrstorkmrstorkmrstork approved these changes

Assignees
No one assigned
Labels
test all versionsRun e2e tests against old and canary versions of Next.js
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

2 participants
@pieh@mrstork

[8]ページ先頭

©2009-2025 Movatter.jp