Closed joseph closed 12 years ago
Carbon-copying some of you folks with active forks: @aronwoost @monospaced @timdream @jprudent @phuphighter @rchampourlier
Thanks a lot Joseph for the cc! I look forward into testing this new release and giving you some feedback. Hope to have some time soon!
I've tried this version, it looks good in iOS5. One problem: the first page was reloaded 3 times, every new component was loaded 2 times according to server log:
[I 110916 13:50:29 web:1313] 200 GET /e11ccab56a27b4064cad1a44bf55d0f9/welcome.html (127.0.0.1) 0.56ms [I 110916 13:50:29 web:1313] 304 GET /e11ccab56a27b4064cad1a44bf55d0f9/welcome.html (127.0.0.1) 0.40ms [I 110916 13:50:30 web:1313] 304 GET /e11ccab56a27b4064cad1a44bf55d0f9/welcome.html (127.0.0.1) 0.40ms [I 110916 13:50:30 web:1313] 200 GET /e11ccab56a27b4064cad1a44bf55d0f9/toc.html (127.0.0.1) 0.57ms [I 110916 13:50:32 web:1313] 304 GET /e11ccab56a27b4064cad1a44bf55d0f9/toc.html (127.0.0.1) 0.46ms [I 110916 13:50:32 web:1313] 200 GET /e11ccab56a27b4064cad1a44bf55d0f9/1.html (127.0.0.1) 3.47ms [I 110916 13:50:33 web:1313] 304 GET /e11ccab56a27b4064cad1a44bf55d0f9/1.html (127.0.0.1) 0.84ms Did I do sth wrong?
I'm not sure why the first component would load 3 times, but if you're using the slider flipper, you can expect 2 requests of each component. The slider flipper is implemented as two separate iframes stacked on top of each other — each iframe needs to load the content separately.
I must admit I don't see these dupes in my server log for iOS5 devices though, presumably because they're caching locally.
So, it appears normal behavior to load the same content multiple times. Though all are cached and responses are great on my server it would be still a concern in production under high load, I think.
In that case, you can tweak your book data object to cache the response. You'll see examples in several tests of 'getViaAjax' methods in the book data object — these do exactly that. If your getComponent is just returning urls, then browser behaviour is to contact the server each time it loads one.
The ios5-unstable branch is now at least as stable as the master branch, and all of the above bullets have been addressed. I'm planning to fold this branch into master tomorrow, and tag and release it as version 2.2.
So speak now or... file an issue later, I guess. :)
All these changes are now merged into master and tagged v2.2.0. The release is also available from the downloads page. Onwards to 3.0!
The 2.2 release of Monocle is due any day now. My work is taking place in the 'ios5-unstable' branch on Github.
Goals:
src/core/compat.js
. A new class,Monocle.Env
, will act like a mini-modernizr specifically for Monocle. As a result, incompatible browsers will be given a (configurable) error message early in the Reader initialisation process.Questions and feedback much appreciated.