Verified Production Fix
fix(cookies): prevent mutation outside action phase
GH-nextjs#91069
To fix the issue where cookie mutations occur outside the allowed action phase, we add runtime checks in the `set` and `delete` methods. These checks ensure that mutations only happen during the action phase, throwing an error otherwise.
javascript
import { RequestStore } from '@remix-run/request-store';
import { ReadonlyRequestCookiesError } from './errors';
const cookies = () => {
const get = (name) => {
// existing get implementation
};
const set = (name, value, options) => {
if (RequestStore.phase !== 'action') {
throw new ReadonlyRequestCookiesError();
}
// existing set implementation
};
const delete = (name, options) => {
if (RequestStore.phase !== 'action') {
throw new ReadonlyRequestCookiesError();
}
// existing delete implementation
};
return { get, set, delete };
};
export { cookies };
digital