Comments (9)
FWIW our experience with 3.16 breaking everything has finally been resolved:
- Ember 3.16.6 backported the fix for general ArrayProxy wonkiness.
- My PR #428 fixes some weirdness when the infinity-loader's infinityModel is replaced.
- We had a rogue observer in our code on the infinity model which
get
ted other computed properties using the same infinity model, but for some reason those computed properties received stale data so the UI using those computed properties was always a page behind, which meant you had to scroll up and down to trigger infinity-loader again. This seems to be a subtle change in Ember behaviour which I doubt will be reverted... moral of the story is don't use observers, we've usedEmber.run.next
as a workaround for now.
Can't speak for 3.17 since the glimmer VM update seems to have broken ember-wormhole even more than the 2.10 one did. 🤦♂️
from ember-infinity.
Instead of fetching another page on scrolling to bottom, all the loader items are appended again, and loaded individually from backend.
And the problem starts from Ember Data 3.15
So, for example, /speakers?page[size]=12&page=1 loads first page. Starting from Ember Data 3.15, instead of loading /speakers?page[size]=12&page=2, it makes 12 requests for each speaker, like /speakers/1, /speakers/2, /speakers/3 ... /speakers/12 and then append the previously loaded speakers again this way
from ember-infinity.
Do you know what specifically broke?
from ember-infinity.
I didn't get time to check as we had to make the production release, but I will let you know once I get into it again.
from ember-infinity.
Example:
Ember Data 3.16.0 (Broken)
https://dist.iamareebjamal.now.sh/e/a74665c3/speakers
Ember Data 3.14.1 (Correct)
https://eventyay.com/e/a74665c3/speakers
from ember-infinity.
https://github.com/emberjs/ember.js/releases/tag/v3.17.0
It might be good to check if 3.17
fixes it!
from ember-infinity.
It didn't
from ember-infinity.
I recently tried upgrading to Ember 3.16, and I get error messages with the InfinityModel:
index.js:172 Uncaught Error: Assertion Failed: You attempted to update `perPageParam` on `<InfinityModel:ember1781>`, but it had already been used previously in the same computation. Attempting to update a value after using it in a computation can cause logical errors, infinite revalidation bugs, and performance issues, and is not supported.
With a stack trace for the offending modification coming from infinity.js#model
:
Ember.setProperties(infinityModel, { ...initParams
});
from ember-infinity.
Thank you for letting us know! Closing for now since the backport and your PR seems to have resolved all issues! Thanks again for the PR!!
from ember-infinity.
Related Issues (20)
- infinity-loader needs to unhide on model change HOT 7
- model.canLoadMore not updating HOT 6
- infinityLoader renders JSON response data twice HOT 4
- isVisible is deprecated in 3.15
- 2.1.0 throws an EEXIST: file already exists on app build HOT 8
- Is it possible to use this component with a horizontal list? HOT 6
- Possible issue with ember-source 3.16.2 HOT 6
- Not working in "ember-cli": "~3.4.4"? HOT 2
- Could not find plugin "proposal-class-properties". Ensure there is an entry in ./available-plugins.js for it.
- Demo link goes to 404. HOT 1
- Non-blocking model hook breaks `reachedInfinity`
- Problem with ember-in-viewport HOT 5
- Update doc examples with ES6 Classes
- devDependencies and dependencies are out of date HOT 2
- Issue with loadPrevious and scrollable HOT 2
- Will the project be supported for ember 4? HOT 2
- Error: Could not find module `@ember/polyfills` imported from `ember-in-viewport/initializers/viewport-config`
- Caching unchanged content ExtendedInfinityModel
- Side effects due to transfer ownership
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ember-infinity.