I couldn't choose woxxom's answer as the answer but removing the await fixed the problem and even when the service worker goes to sleep it wakes back up when it receives a message. Here's some more information in the chrome extension docs on the lifecycle of service workers.