-
Notifications
You must be signed in to change notification settings - Fork 1k
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
bug: infinite loop on console error using quasar framework #4506
Comments
I'm not sure I understand the problem after reading the quasar issue. Is the JSON that is erroring out circular? |
@thomasvidas Yes, problem with |
Any updates? Up. |
We're still aware of the issue, don't worry 😄 we were focused on getting the newest RC out the past several days. |
* fix: vue3 support #4506 * fix: additional JSON.stringify lines * fix: safeStringify method context
@thomasvidas Please, reopen, bug showing again with new update rc2. I extract vue core code for reactive and use this modification fix const enum ReactiveFlags {
SKIP = '__v_skip',
IS_REACTIVE = '__v_isReactive',
IS_READONLY = '__v_isReadonly',
RAW = '__v_raw'
}
interface Target {
[ReactiveFlags.SKIP]?: boolean
[ReactiveFlags.IS_REACTIVE]?: boolean
[ReactiveFlags.IS_READONLY]?: boolean
[ReactiveFlags.RAW]?: any
}
const isReactive = (value: unknown): boolean => {
if (isReadonly(value)) {
return isReactive((value as Target)[ReactiveFlags.RAW])
}
return !!(value && (value as Target)[ReactiveFlags.IS_REACTIVE])
}
const isReadonly = (value: unknown): boolean => {
return !!(value && (value as Target)[ReactiveFlags.IS_READONLY])
}
const isProxy = (value: unknown): boolean => {
return isReactive(value) || isReadonly(value)
}
const safeStringify = (value: any): string => {
const seen = new Set()
return JSON.stringify(value, (_k, v) => {
if (isProxy(v)) { return "proxy" }
if (seen.has(v)) { return '...' }
if (typeof v === 'object') { seen.add(v) }
return v
})
} |
Can you provide a small Github repo with a reproducible example in a separate issue so we can take a deeper look at it? Since Capacitor also uses proxies in a similar way, I don't think it is a good idea to look for specific flags this way. |
@thomasvidas reproduction link -> https://github.com/bazuka5801/quasar-bug-avoid |
@thomasvidas I found bug, when we merged PR, we don't run |
@bazuka5801 could you try RC3 and let us know if it fixes the issue? |
@elylucas step progress, another infinite message. Now - |
@elylucas Found a solution with check for proxy (linked pr) |
@elylucas Please, reopen |
This is also / still an issue on my end. Debugging in simulator becomes a pain with this error. |
Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Capacitor, please create a new issue and ensure the template is fully filled out. |
Bug Report
quasarframework/quasar#9029
Using new capacitor 3 with vue3 we have bad error handling, when in template any error, logger of capacitor3 throw an error (details in quasar issue)
Capacitor Version
npx cap doctor
Platform(s)
Android & iOS
Current Behavior
Stack overflow exception
Expected Behavior
Normal error output
Code Reproduction
https://github.com/bazuka5801/quasar-bug-avoid
The text was updated successfully, but these errors were encountered: