Comments (31)
When you feel it's ready! :)
from vamigaweb.
Yes. I did and will do change the versions without and with version management a couple of times. In order to test a smooth migration for the regular version in mind.
Hard to test otherwise. Testing phase will finished today or tomorrow…
from vamigaweb.
- could you test vc64web.github.io whether you see the issue there too ?
- could you test vAmigaWeb.github.io on your iPodTouch or iPad ?
can you post the message which pops up ?
from vamigaweb.
Hi,
- On my Z3 In flight mode no problem to start vc64, even after closing all app's, but...the same thing with vAmigaWeb ! It seems that the failure on startup is not systematic, that sometimes everything is cached ok.
- On my ipod touch in flight mode, first startup of vAmigaWeb is ok. Closing the app and restart gave the error attached.
Cheers
from vamigaweb.
2.On my ipod touch in flight mode, first startup of vAmigaWeb is ok. Closing the app and restart gave the error attached.
do you remember when did you turn WLAN off ? Was it after the first startup?
from vamigaweb.
Why I am asking this is because it seems that vAmigaWeb has a wrong implementation of the service workers lifecycle...
there is a lifycycle which is describe here https://flaviocopes.com/service-workers/#activation
it explicitely says
The Install stage
If the browser determines that a service worker is outdated or has never been registered before, it will proceed to install it.
self.addEventListener('install', (event) => {
//...
});
This is a good event to prepare the Service Worker to be used, by initializing a cache, and cache the App Shell and static assets using the Cache API.
what does our service worker ?
Lines 4 to 7 in 1024a74
correct nothing... it does not fill the cache ...
then after install of the new service worker i.e. after the app has been closed or reloaded activation stage begins ...
The activation stage is the third step, once the service worker has been successfully registered and installed.
...
It cannot interact with pages already loaded, which means the service worker is only useful on the second time the user interacts with the app, or reloads one of the pages already open.
A good use case for this event is to cleanup old caches and things associated with the old version but unused in the new version of the service worker.
now see look at what we do in activation 🙄
Lines 9 to 20 in 1024a74
we delete the old existing version and have nothing in cache after this event .... we rely that the following fetch events will fill the new version into the cache automatically
under which circumstances is vAmigaWeb not offline capable ?
- you start vAmigaWeb -> there is a new version on the server
- it detects this and fires the install event -> we do nothing
- you close the app
- turn on flight mode / offline
- start the app -> new service worker activates -> deletes caches
- wants to load new version from server -> booom!
that means vAmigaWeb is offline capable as long there is no new version on the server ... when there is a new version on the server it will install it after the current app has been closed and reopened .. the button "update installation" does fill the old cache because the new service worker has not been activated yet ... so when clicking "update installation" manually it will install this twice
from vamigaweb.
I don't remember if I started vAmigaWeb a first time before switching off WLAN... maybe...
I tried again: I closed the app (which was on the error page I sent), switched WLAN off (it was on again), and started vAmigaWeb again: same error...
I switched WLAN off, came back to the app, booted fine. I closed the app, switched WLAN off, started vAmigaWeb, this time it booted fine.
Does it help ?
from vamigaweb.
I switched WLAN off, came back to the app, booted fine. I closed the app, switched WLAN off, started vAmigaWeb, this time it booted fine.
you mean the first off is an on right ?
if yes , then yes that helped ... and from now on vAmigaWeb is offline capable on your iPod touch until we publish a new version again ...
okay we can fix this by implementing the PWA install event correctly ...
from vamigaweb.
Yes, sorry i meant "ON".
Great news ! same on my Z3 ? New version out ?
Cheers
from vamigaweb.
No new version out. What do you mean with „same on my z3“? Do you mean that once we move the installation from fetch to installation event whether that fixes it too on the z3 then the answer is yes 😀
from vamigaweb.
I thought you said you fixed the problem for iOS, but not necessarily for Android.
from vamigaweb.
Yes it is platform independent. I screwed up the PWA livecycle … when I correctly implement it then it should be ok
for now it is only partial offline capable 😬
from vamigaweb.
Got it, thanks !
from vamigaweb.
for reference a how to
guide for implementing updates which are controlled by the user instead of automatic
https://whatwebcando.today/articles/handling-service-worker-updates/
from vamigaweb.
Interesting, thanks !
from vamigaweb.
That is a receipt for me how I have to change the installation process…
from vamigaweb.
Hi just wanted to report that I am on my journey of making the "offline" installation process more transparent to the user.
Here are two screen shots which did ...
first when a new version is available it will report this with a toaster message to the user and let him decide whether to install or skip ...
the second screen shot shows that in the settings dialog there is now information about what is currently installed
I also like to try whether it is maybe possible to switch between several installed versions ... this way also older snapshots would be still playable...
from vamigaweb.
Hi,
Excellent, many thanks!
It seems there is no new version online yet?
Cheers
from vamigaweb.
no ... I don't dare to push it to uat.... It is still so alpha...
should I dare it?
from vamigaweb.
development version on my mac does not delete older installations anymore and can therefore activate different versions of vAmigaWeb ... solving thereby the "broken snapshot on upgrade to new version" problem ...
see here three different versions are installed ...
the list of installed versions would become too big over time, no? 🙄
how to design the deletion of older versions 🤔? hmm.... lets think about it tomorrow 😴
from vamigaweb.
I personnally don't require several versions installed at one time :) but if the feature is there, why not, thanks!
Cheers
from vamigaweb.
I will put it to uat now....
when you got an older version without installation management then it will enforce the upgrade as usual ... once you are on the newer version ... everything will be completely transparent ... and off line mode should work reliably ...
from vamigaweb.
Excellent, thanks!
First time I tried I got this... But I relaunched and it was OK. Only a one off problem?
from vamigaweb.
yes me too ... just pushed a bugfix
from vamigaweb.
Great!
from vamigaweb.
I did reatart the app a few times without clicking “update installation” and it gives me this
Looks as it does work on iOS 😎
from vamigaweb.
Works well on my side! And doesn't even break my snapshots :)
from vamigaweb.
No because the core is still the same 😂
now we can upgrade to beta3 soon without fear. Because we can always go back in history 😎
from vamigaweb.
Fantastic job! Thanks and cheers
from vamigaweb.
Hi,
Today the uat version was back to prior the versions management feature. I upgraded and this version was restored, but without letting me install previous versions as before. The version is dated yesterday, has anything changed?
Cheers
from vamigaweb.
new version out. Uat and regular 😎
from vamigaweb.
Related Issues (20)
- Incorrect Filename Save DF0 or DH0 If Both Mounted HOT 2
- LMB / Fire Btn Stuck On When Switch Between Apps
- 'Error: undefined' if a second HDF is mounted HOT 16
- Dark Bottom Bar not activated on launch... HOT 2
- Cannot load vAmigaWeb in iFrame if on same domain (Chromium specific?) HOT 18
- When using a HDF with WB the filedates are wrong HOT 5
- Onscreen Keyboard Issue HOT 3
- iPad Keyboard Issue HOT 9
- iPad Keyboard Issue HOT 1
- next to the INTL virtual keyboard support also the US version HOT 6
- Insert media eg DF0 popup touch also registers as LMB in emu... HOT 5
- vAmigaWeb runs on Apple Vision Pro HOT 13
- Warp button in the bottom player icon bar HOT 1
- action button enhancements HOT 38
- Active mouse and joystick signals stay open when bringing the app to background HOT 2
- add vAmiga activity monitors HOT 5
- Random Cannot Save Snapshot / ADF / HDF HOT 3
- action buttons doe not support lost capture on pencil or mouse HOT 1
- Stuck keys with Touch Keyboard HOT 3
- HDF limitation to max 16384 cylinders HOT 1
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 vamigaweb.