-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chromium based browsers crash without warning #1826
Comments
Also on macOS 14.5 (23F79), Chromium based browser. After opened the localhost (start the connection), a process named @ChrisLaRocque I can confirm that after pinning the slidev cli version to 0.49.24 works. Will it also solve your problem? I guess it should be an upstream problem introduced in 72a9285. |
This seems to be a serious problem. However, I can't reproduce this on my Windows machine😭 I also think this is an upstream problem. Could you help check this by switching to the old dependencies via the |
in the other issue reverting to 0.49.24 seems to be a workaround (using |
Not sure if this is benefical, but I override vueuse ( relevant commit: 9a1e824 // package.json
// I'm using pnpm
{
"pnpm": {
"overrides": {
"@vueuse/core": "10.11.1",
"@vueuse/math": "10.11.1"
}
},
"packageManager": "pnpm@9.7.1+sha512.faf344af2d6ca65c4c5c8c2224ea77a81a5e8859cbc4e06b1511ddce2f0151512431dd19e6aff31f2c6a8f5f2aced9bd2273e1fed7dd4de1868984059d2c4247"
} |
Thanks a lot for the information!
I can confirm that this is caused by the wake lock. The minimal workaround should be setting |
A new version released. Hopefully, everything will be fine now.
|
@KermanX Great thanks for the fix. Just out of curiosity, could you provide more details on why calling the localStorage API in |
I checked the code again and found that the async DOM API (in this issue, Usually, we are not afraid of updating a Even if there is an infinite loop like this example, the "Maximum recursive updates exceeded" error will be thrown by Vue - and then we can fix this immediately. However, the infinite loop won't be detected after an async operation. import { watchEffect, ref } from 'vue'
const a = ref(0)
function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms)
})
}
async function f() {
a.value++
await sleep(0)
a.value++
}
const enabled = ref(true)
watchEffect(() => {
if (!enabled.value)
return
console.log('run')
f()
}) This is not quite unexpected - Vue can't know the context after |
It´s working again with v0.49.27. Thx for the fast fix! :-) |
Update: I used it for an hour now and the same bug again. |
I can't reproduce in the new version 🤔 |
I cannot reproduce either with 0.49.27 (I haven't tried for 30 minutes but it originally crashed right away) |
The problem continues even with version 0.49.27. I'm not sure why, but it worked for about 45 minutes before it stopped again, even after restarting the system. |
Does the workaround in #1826 (comment) still useful? And can you confirm the version you're running? |
I re-ran npm install @slidev/cli, and it seems to be working now! I'll do some more testing to confirm. I don't really know what's going on, haha. |
Describe the bug
When running a Slidev presentation in a chromium-based browser (I tried Arc and Chrome), the browser will close without warning after an indeterminate amount of time. When restarting Arc I get the "Arc quit unexpectedly" error with the ability to report, but Chrome provides no error. Safari appears to be working.
Minimal reproduction
Steps to reproduce the behavior:
slidev --open
Environment
The text was updated successfully, but these errors were encountered: