diff --git a/.changeset/giant-crews-care.md b/.changeset/giant-crews-care.md
new file mode 100644
index 00000000000..68612cbfdb3
--- /dev/null
+++ b/.changeset/giant-crews-care.md
@@ -0,0 +1,5 @@
+---
+"@remix-run/dev": major
+---
+
+Remove `devServerBroadcastDelay` config option
diff --git a/docs/api/conventions.md b/docs/api/conventions.md
index 2a6c4e42abb..054179bf14c 100644
--- a/docs/api/conventions.md
+++ b/docs/api/conventions.md
@@ -22,14 +22,6 @@ title: Conventions
[Moved →][moved-4]
-### devServerBroadcastDelay
-
-[Moved →][moved-5]
-
-### devServerPort
-
-[Moved →][moved-6]
-
### ignoredRouteFiles
[Moved →][moved-7]
diff --git a/docs/file-conventions/remix-config.md b/docs/file-conventions/remix-config.md
index 3370fcf5262..3513810e890 100644
--- a/docs/file-conventions/remix-config.md
+++ b/docs/file-conventions/remix-config.md
@@ -45,27 +45,6 @@ The path to the browser build, relative to remix.config.js. Defaults to
The path to a directory Remix can use for caching things in development,
relative to `remix.config.js`. Defaults to `".cache"`.
-## devServerBroadcastDelay
-
-This option is deprecated and will likely be removed in a future
-stable release. Enable `v2_dev` to eliminate the race conditions that necessitated
-this option.
-
-The delay, in milliseconds, before the dev server broadcasts a reload event.
-There is no delay by default.
-
-For v2, the race conditions that necessitated this option have been eliminated.
-
-## devServerPort
-
-This option is deprecated and will likely be removed in a future
-stable release. Enable `v2_dev` and use [`--port` / `v2_dev.port` option][port]
-instead.
-
-The port number to use for the dev websocket server. Defaults to 8002.
-
-For v2, use [`--port` / `dev.port` option][port].
-
## ignoredRouteFiles
This is an array of globs (via [minimatch][minimatch]) that Remix will match to
diff --git a/integration/helpers/cf-template/remix.config.js b/integration/helpers/cf-template/remix.config.js
index 267a92f6869..a192bd98314 100644
--- a/integration/helpers/cf-template/remix.config.js
+++ b/integration/helpers/cf-template/remix.config.js
@@ -1,6 +1,5 @@
/** @type {import('@remix-run/dev').AppConfig} */
export default {
- devServerBroadcastDelay: 1000,
ignoredRouteFiles: ["**/.*"],
server: "./server.ts",
serverConditions: ["worker"],
diff --git a/integration/helpers/deno-template/remix.config.js b/integration/helpers/deno-template/remix.config.js
index 7acad0f98bb..d74be09dad3 100644
--- a/integration/helpers/deno-template/remix.config.js
+++ b/integration/helpers/deno-template/remix.config.js
@@ -1,12 +1,5 @@
/** @type {import('@remix-run/dev').AppConfig} */
export default {
- /*
- If live reload causes page to re-render without changes (live reload is too fast),
- increase the dev server broadcast delay.
-
- If live reload seems slow, try to decrease the dev server broadcast delay.
- */
- devServerBroadcastDelay: 300,
ignoredRouteFiles: ["**/.*"],
server: "./server.ts",
serverConditions: ["deno", "worker"],
diff --git a/packages/remix-dev/__tests__/fixtures/cloudflare/remix.config.js b/packages/remix-dev/__tests__/fixtures/cloudflare/remix.config.js
index 2459cb93982..dd63725771c 100644
--- a/packages/remix-dev/__tests__/fixtures/cloudflare/remix.config.js
+++ b/packages/remix-dev/__tests__/fixtures/cloudflare/remix.config.js
@@ -1,6 +1,5 @@
/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
- devServerBroadcastDelay: 1000,
ignoredRouteFiles: ["**/.*"],
server: "./server.ts",
serverBuildPath: "functions/[[path]].js",
diff --git a/packages/remix-dev/__tests__/fixtures/deno/remix.config.js b/packages/remix-dev/__tests__/fixtures/deno/remix.config.js
index b6c11cae330..c814f66365e 100644
--- a/packages/remix-dev/__tests__/fixtures/deno/remix.config.js
+++ b/packages/remix-dev/__tests__/fixtures/deno/remix.config.js
@@ -1,12 +1,5 @@
/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
- /*
- If live reload causes page to re-render without changes (live reload is too fast),
- increase the dev server broadcast delay.
-
- If live reload seems slow, try to decrease the dev server broadcast delay.
- */
- devServerBroadcastDelay: 300,
ignoredRouteFiles: ["**/.*"],
server: "./server.ts",
serverConditions: ["deno", "worker"],
diff --git a/packages/remix-dev/__tests__/readConfig-test.ts b/packages/remix-dev/__tests__/readConfig-test.ts
index 7c795e0e9c0..086b510d158 100644
--- a/packages/remix-dev/__tests__/readConfig-test.ts
+++ b/packages/remix-dev/__tests__/readConfig-test.ts
@@ -30,7 +30,6 @@ describe("readConfig", () => {
"assetsBuildDirectory": Any,
"cacheDirectory": Any,
"dev": Object {},
- "devServerBroadcastDelay": 0,
"entryClientFile": "entry.client.tsx",
"entryClientFilePath": Any,
"entryServerFile": "entry.server.tsx",
diff --git a/packages/remix-dev/config.ts b/packages/remix-dev/config.ts
index 5b8735d0934..e4e6033c244 100644
--- a/packages/remix-dev/config.ts
+++ b/packages/remix-dev/config.ts
@@ -83,17 +83,6 @@ export interface AppConfig {
*/
dev?: Dev;
- /**
- * @deprecated
- *
- * The delay, in milliseconds, before the dev server broadcasts a reload
- * event. There is no delay by default.
- *
- * @deprecated Enable {@link AppConfig.future.v2_dev} to eliminate the race
- * conditions that necessitated this option.
- */
- devServerBroadcastDelay?: number;
-
/**
* Additional MDX remark / rehype plugins.
*/
@@ -252,14 +241,6 @@ export interface RemixConfig {
*/
dev: Dev;
- /**
- * The delay before the dev (asset) server broadcasts a reload event.
- *
- * @deprecated Enable {@link RemixConfig.future.v2_dev} to eliminate the race
- * conditions that necessitated this option.
- */
- devServerBroadcastDelay: number;
-
/**
* Additional MDX remark / rehype plugins.
*/
@@ -383,8 +364,8 @@ export async function readConfig(
// shout out to next
// https://github.com/vercel/next.js/blob/b15a976e11bf1dc867c241a4c1734757427d609c/packages/next/server/config.ts#L748-L765
if (process.env.JEST_WORKER_ID) {
- // dynamic import does not currently work inside of vm which
- // jest relies on so we fall back to require for this case
+ // dynamic import does not currently work inside vm which
+ // jest relies on, so we fall back to require for this case
// https://github.com/nodejs/node/issues/35889
appConfigModule = require(configFile);
} else {
@@ -557,13 +538,6 @@ export async function readConfig(
assetsBuildDirectory
);
- if (appConfig.devServerBroadcastDelay) {
- devServerBroadcastDelayWarning();
- }
-
- // set env variable so un-bundled servers can use it
- let devServerBroadcastDelay = appConfig.devServerBroadcastDelay || 0;
-
let publicPath = addTrailingSlash(appConfig.publicPath || "/build/");
let rootRouteFile = findEntry(appDirectory, "root");
@@ -615,8 +589,8 @@ export async function readConfig(
}
// Note: When a future flag is removed from here, it should be added to the
- // list below so we can let folks know if they have obsolete flags in their
- // config. If we ever convert remix.config.js to a TS file so we get proper
+ // list below, so we can let folks know if they have obsolete flags in their
+ // config. If we ever convert remix.config.js to a TS file, so we get proper
// typings this won't be necessary anymore.
let future: FutureConfig = {};
@@ -655,7 +629,6 @@ export async function readConfig(
entryServerFile,
entryServerFilePath,
dev: appConfig.dev ?? {},
- devServerBroadcastDelay,
assetsBuildDirectory: absoluteAssetsBuildDirectory,
relativeAssetsBuildDirectory: assetsBuildDirectory,
publicPath,
@@ -748,15 +721,3 @@ let disjunctionListFormat = new Intl.ListFormat("en", {
style: "long",
type: "disjunction",
});
-
-let devServerBroadcastDelayWarning = () =>
- logger.warn(
- "The `devServerBroadcastDelay` config option will be removed in v2",
- {
- details: [
- "Enable `v2_dev` to eliminate the race conditions that necessitated this option.",
- "-> https://remix.run/docs/en/v1.19.3/pages/v2#devserverbroadcastdelay",
- ],
- key: "devServerBroadcastDelayWarning",
- }
- );
diff --git a/packages/remix-dev/devServer/liveReload.ts b/packages/remix-dev/devServer/liveReload.ts
index 38a94429bf0..fb892aafd22 100644
--- a/packages/remix-dev/devServer/liveReload.ts
+++ b/packages/remix-dev/devServer/liveReload.ts
@@ -32,7 +32,7 @@ export async function liveReload(
client.send(JSON.stringify(event));
}
});
- }, config.devServerBroadcastDelay);
+ }, 500);
}
function log(message: string) {
diff --git a/templates/cloudflare-pages/remix.config.js b/templates/cloudflare-pages/remix.config.js
index 9ecf2a07791..e35ffadbb5d 100644
--- a/templates/cloudflare-pages/remix.config.js
+++ b/templates/cloudflare-pages/remix.config.js
@@ -1,6 +1,5 @@
/** @type {import('@remix-run/dev').AppConfig} */
export default {
- devServerBroadcastDelay: 1000,
ignoredRouteFiles: ["**/.*"],
server: "./server.ts",
serverBuildPath: "functions/[[path]].js",
diff --git a/templates/deno/remix.config.js b/templates/deno/remix.config.js
index 4ad663f5b71..0b3e63ed53f 100644
--- a/templates/deno/remix.config.js
+++ b/templates/deno/remix.config.js
@@ -1,12 +1,5 @@
/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
- /*
- If live reload causes page to re-render without changes (live reload is too fast),
- increase the dev server broadcast delay.
-
- If live reload seems slow, try to decrease the dev server broadcast delay.
- */
- devServerBroadcastDelay: 300,
ignoredRouteFiles: ["**/.*"],
server: "./server.ts",
serverConditions: ["deno", "worker"],