🎤 Builder Talk: The Story Behind Lady Gaga’s Digital Experience – Register now

JavaScript Error - Error: Max listener limit exceeded at 1004

7 replies
Last updated: Jun 23, 2021
Hi Sanity fam, I've been working on a project for a client and just started receiving some Javascript errors stating:
Error: Max listener limit exceeded at 1004
. This started intermittently yesterday and said
at 1001
. It has since stopped being intermittent and is now permanently stating
Error: Max listener limit exceeded at 1004
. I previously figured it was due to some complex deskStructure stuff going on but have now completely removed all the complexities and am attempting to load an
S.editor()
for a specific ID and it's not loading a thing. Restarted the local instance of Studio, cleared by cookies and cache.
Thoughts?
Jun 21, 2021, 11:52 PM
Any insight on to what causes this/what the solution is for this? The max listeners error started cropping up at the end of Sunday and rendered the Studio completely unusable by early afternoon yesterday. I continued to check throughout the afternoon and evening without avail.
My solution was to duplicate our Production dataset into another dataset and to point our Studio and Web app to that dataset. I wouldn't want to consider this a long term solution. Any insight on how to prevent this or how to clear it up once the limit has been reached?
Jun 22, 2021, 2:19 PM
Hey Troy! This looks like something that needs to be looked at by a Sanity backend engineer. I’ll pass it along to the team.
Jun 22, 2021, 6:13 PM
projectId: hpttb1hr
dataset: production

🙏
Jun 22, 2021, 10:48 PM
Hi
user G
, are you still seeing the error? From our logs it seems like there are currently 0 active listeners on the project.
If the issue persists or happens again, could you try deleting all documents of type
system.listener
from your dataset to see if that helps?
Jun 23, 2021, 6:24 AM
Thanks for the insight on
system.listener
. Not seeing it since moving datasets and removing a
listenerQuery
call. Is there a better way to clean those up to prevent these issues from occurring?
Jun 23, 2021, 6:26 AM
Our backend should normally take care of cleaning them up, so using
documentStore.listenQuery
as follows should be alright: https://www.sanity.io/docs/structure-builder-typical-use-cases#980dd321b9db .
Here's another example of using it in a
useEffect
hook, ensuring you clean up the subscription:
function useHelp(documentId: string) {
  const [help, setHelp] = useState<IHelpMenu | undefined>();
  useEffect(() => {
    const sub = documentStore
      .listenQuery(`*[_id == "${documentId}"][0]`)
      .pipe(tap((val: IHelpMenu | undefined) => setHelp(val)))
      .subscribe();
    return () => sub.unsubscribe();
  }, [documentId]);
  return help;
}
Are you following any of these implementations?
Jun 23, 2021, 7:47 AM
Our backend should normally take care of cleaning them up, so using
documentStore.listenQuery
as follows should be alright: https://www.sanity.io/docs/structure-builder-typical-use-cases#980dd321b9db .
Here's another example of using it in a
useEffect
hook, ensuring you clean up the subscription:
function useHelp(documentId: string) {
  const [help, setHelp] = useState<IHelpMenu | undefined>();
  useEffect(() => {
    const sub = documentStore
      .listenQuery(`*[_id == "${documentId}"][0]`)
      .pipe(tap((val: IHelpMenu | undefined) => setHelp(val)))
      .subscribe();
    return () => sub.unsubscribe();
  }, [documentId]);
  return help;
}
Are you following any of these implementations?
Jun 23, 2021, 7:47 AM

Sanity– build remarkable experiences at scale

Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Was this answer helpful?

Related answers

Get more help in the community Slack

TopicCategoriesFeaturedRepliesLast Updated
DOMParser is not defined at defaultParseHtmlDec 3, 2020
Next.js and Vercel - Error! No Output Directory named "dist" foundAug 8, 2022
Custom Document Views - Is it Even Possible to Use the Structure Builder?Apr 21, 2022
Hi all! Does anyone have problem on deoplloying on Vercel (Using Next. js as a frontend)? I have two test projects, andonce...Jan 25, 2021
Issue with compiling studio, resolved by nuking node_modules and installing with `sanity install`Aug 21, 2020
How to Disallow Robots on a SubdomainNov 12, 2020
Issue setting value of JSON field with document action in Sanity StudioApr 22, 2020
Issue with setting up Next.js E-commerce example and resolving the error related to the port.Jan 25, 2021
has anyone figured out a way to sort lists of content in the studio? i'd love a drag and drop if possibleJan 13, 2021
Error message when updating to studio version 2.2.3Jan 26, 2021

Related contributions

Turbo Start Sanity
- Template

The battle-tested Sanity template that powers Roboto Studio's websites

Go to Turbo Start Sanity

Schema UI - Next.js Sanity Starter
- Template

A Next.js starter template with Next.js 15, Tailwind CSS, shadcn/ui, and Sanity CMS with Live Editing. Get production-ready React components with matching Sanity schemas and queries. Build dynamic pages faster while keeping full control over customization.

Serge Ovcharenko
Go to Schema UI - Next.js Sanity Starter

The Swaddle
- Made with Sanity

A new brand identity to represent a more mature company, to signify The Swaddle’s evolution from publisher to production house, combined with an easier to navigate platform that can surface multiple content types - drawing readers through The Swaddle’s content offering.

Nightjar
Go to The Swaddle