Skip to content
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

Animated Clusterlayer component is broken in latest Vue 3.4.19 #297

Closed
dylankelly opened this issue Feb 20, 2024 · 0 comments
Closed

Animated Clusterlayer component is broken in latest Vue 3.4.19 #297

dylankelly opened this issue Feb 20, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@dylankelly
Copy link

Describe the bug

Upgrading Vue to latest version 3.4.19 causes uncaught Maximum recursive updates exceeded error loading AnimatedClusterLayer component.

See Stackblitz example with working AnimatedClusterLayer component using vue 3.4.14 - https://stackblitz.com/edit/vue3-openlayers-template-s6qsvl?file=package.json

And Stackblitz which causes page to hang using Vue 3.4.19 - https://stackblitz.com/edit/vue3-openlayers-template-hmlwxs?file=package.json,src%2Fcomponents%2FTheMap.vue,src%2FApp.vue

Affected version(s)

Please run npm list --depth=0 vue vue3-openlayers ol ol-ext ol-contextmenu and paste the output below:

├── ol-contextmenu@5.3.0
├── ol-ext@4.0.14
├── ol@8.2.0
└── vue@3.4.19

To Reproduce
Steps to reproduce the behavior:

  1. Start docs site
  2. Go to ol-source-vector page - /componentsguide/sources/vector/

Expected behavior
A clear and concise description of what you expected to happen.

  • AnimatedClusterDemo2.vue component should load without error

Actual Behaviour

  • AnimatedClusterDemo2.vue component cause page to hang
  • Vue.js throws console warning about computed property
[Warning] [Vue warn] Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided.  Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free (chunk-XJZ34XUT.js, line 288)

Screenshots
If applicable, add screenshots to help explain your problem.

Screenshot 2024-02-20 at 12 13 24 pm

Desktop (please complete the following information):

  • OS: Mac OSX Sonoma
  • Browser: Tested in Chrome 121.0.6167.184 and Safari 17.2.1

Smartphone (please complete the following information):

  • Device: [e.g. iPhone 14]
  • OS: [e.g. iOS 16.15.1]
  • Browser [e.g. chrome, safari]

Additional context

I believe this is introduced in Vue 3.4.15 - Specifically I believe it relates to vuejs/core#9908

I suspect, though haven't been able to nail it down, that the issue is in the reference to the computed value in https://github.com/MelihAltintas/vue3-openlayers/blob/main/src/components/layers/OlAnimatedClusterLayer.vue#L67 referencing the other computed value. Perhaps this is causing infinite render loop?

This is blocking upgrading Vue in our project, happy to help work on a resolution.

@dylankelly dylankelly added the bug Something isn't working label Feb 20, 2024
d-koppenhagen added a commit that referenced this issue Mar 7, 2024
before, it caused extra renderings with nested computed's and problems with Vue@^3.4.15

closes #297
d-koppenhagen added a commit that referenced this issue Mar 7, 2024
before, it caused extra renderings with nested computed's and problems with Vue@^3.4.15

closes #297
d-koppenhagen added a commit that referenced this issue Mar 7, 2024
before, it caused extra renderings with nested computed's and problems with Vue@^3.4.15

closes #297
d-koppenhagen added a commit that referenced this issue Mar 7, 2024
before, it caused extra renderings with nested computed's and problems with Vue@^3.4.15

closes #297
d-koppenhagen added a commit that referenced this issue Mar 7, 2024
before, it caused extra renderings with nested computed's and problems with Vue@^3.4.15

closes #297
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant