[CLOSED] v39.0.0
-
It took us a while because it was a lot of work, but we finally got it done :-) The vast majority of the work was the last installment of technology debt, but we also have a lot of news for regular users :-)
What's new in version 39.0.0
- 🎉 🎉 🎉 Route planner for tablets and mobile phones! 🎉🎉🎉
- Brand new mobile/tablet interface and picker
- New mobile/tablet favs menu where you can pick any layer or POI for quick access
- Tablet version is based on mobile version, not desktop as before
- Tens of bugfixes (progress bar times mismatch, 1h step in METARs, ...)
Dev changes (for plugin developers)
First of all, sorry guys for all troubles we have caused with this release. There have been an incredible amount of changes, this is the biggest release in the history of Windy, so I probably cannot even guess what we have broken for you. Please let me know here in the thread if I can help in any way.
- Removed
this
keyword from the plugin root - Complete change of plugin lifecycle. Plugins are removed from HTML and CSS on unmount by default (it means it cleans on its own mounting point and all "official" CSS styles, if you inject something sideway, it is not cleaned at all)
- All plugins can export
onmount
,ondestroy
andonopen
methodsonmount
is called just once and parametersnode
(root HTML node where the plugin is attached) andrefs
(alldata-ref
pointers to HTML nodes if used) are passed to this method. Eg:export const onmount = (node, refs) => {}
onopen
can be called repeatedly (do not hook listeners here, useonmount
instead) and all opening params are passed here (if any):export const onopen = (params) => {}
ondestory
if you need to remove hooks or clean anything on unmount
- All modules/components has been rewritten to proper TS/JS classes (long story short: use
new ClassName()
instead ofClassName.instance()
). Only some leaflet specific classes which extends L.Class object remain in old state. So no moreW.Class
. - We removed
W.define
andW.require
. It will work (for backward compatibility for our own plugins), but be sure you use onlyimport { anything } from '@windy/someModule
for the future compatibility - Plugin setting
exclusive
has been removed in a favor ofpane
andneverClose
pane
can have these values:rhpane
(Right Hand pane),lhpane
(Left hand pane),small-bottom
(Small bottom location (like radar controll) that can adjust its size and coexist with LH,RHpane),bottom
(Big bottom location, that cannot coexist with LH,RHpane like detail/station/rplanner),center
(Pop up window in the middle of the page like subscription),top
(Top location on mobile devices like picker-mobile, distance etc),nearest
(Plugin is embeded into detail/station as nearest webcam/station),small-bottom-bottom
(Bottom plugin that ducks under mobile time controls - use only in exception)neverClose
is a boolean (false
is default,true
to keep plugin open even when some other plugin is open)
- ...and countless other insidious things (sorry again and let me know here in this thread)
(cc: @rittels, @jakubvrana, @vicb, @johnckealy)
How to report an issue from testing?
Just post a comment in this thread below :-) If you provide us with:
- a step-by-step manual how reproduce the error
- what exactly is wrong
- what it should do correctly
It will help us a lot! Thanks.
Please, try to not duplicate other reports. If you found someone else already report the same issue, just upvote his/her post.
How to join beta?
Open https://www.windy.com/beta-test address and follow the instructions. You can leave beta test at any time. To leave the test, just click "BETA" sign on Windy logo (or visit mentioned address again) and follow the instructions as well. In a case of a total disaster, delete the
beta=1
cookie for the windy.com domain and refresh the page.Beta test is available only for desktop (browser) version.
Feel free to disccuss anything! Not just bug reports :-) Thank you for your help!
We would like to release this version at the end of the May.
-
-
@marekd Thank you for continuously improving the service! Was hoping to see some new parameters make it into the display (cough cough total precipitable water). Does the new mobile/tablet interface include the 3D globe display as an option?
-
@mark-ingalls Unfortunately, 3D globe is still available only for a desktop version.
-
@marekd just back from a flying trip and swamped with works. I probably won't have time to take a look before a few days. When is the deadline.
And no worry on my side for windy breaking the plugin. Windy is becoming better and it's great - and planned/announced are great.
Thanks
-
Hi @vicb, I think that this Beta will be available at least until the end of the next week.
-
@marekd
Would be nice if you can update https://github.com/windycom/windy-plugins when there are breaking changes.First it would help us know what the breaking changes are and also how to support both pre and post breaking changes which is probably the trickiest thing.
-
you use only import { anything } from '@windy/someModule for the future compatibility
Do you have typings?
-
I have done a lot of reverse engineering in the past to get my plugin to work.
I really think one important thing for windy is to publish a clearer API. There is honestly nothing actionable from the breaking changes description above. Part of if might be that I never opt-in the hacky plugin built system.
But yeah the bare minimum would be to have examples of plugins working with 39+.
https://community.windy.com/topic/22448/opening-a-plugin-at-a-given-location-does-not-work-any-more/13 has been broken/undocumented for a while. Would be nice to get some update.
-
@vicb I definitely agree, and we apologize for being so slack. But to be perfectly honest. When we launched plugins, we had an idea of how developers would use it extensively and write plugins for the masses. And in doing so, they would show us what they were missing on Windy. Along with that, we then planned to improve the plugin system, simplify it and make it more acceptable overall for both developers and users. Unfortunately, there are about 5 of you plugin developers and the users of these plugins is quite negligible in proportion with the total traffic. No doubt this is also due to our laxity. So just to explain why this is not a priority for us - for which we apologize again.
We know that we have major shortcomings with the documentation and maintenance of the entire plugin system, but the effort we would have to devote to this is disproportionately large to what it will bring us. And we have a lot of work to do :-) I do not want to say we do not care about plugins and you developers, just that we have to trade time where it does and doesn't make sense to invest it.
We really appreciate everything you do for Windy and we care! This was also the reason why we started working with @rittels, who took care of the whole plugin system and documentation. But as it happens, Chris has his own professional and family life and there is not much time for Windy :-)
But back to the issue, we have whole client i TypeScript and I do not think it would be a problem to post typings if it would help. And updating the documentation on github is definitely a good idea, we will check it out.
-
-
@marekd yes I would be interested. I don't have a lot of spare time either but definitely can find some for Windy. Thanks for giving me the opportunity to fix my complaints :)
-
Dear App management
Great app.
Will purchase year subscription.Question - any consideration to including a property line database so one can determine if your on your property or your neighbor's/ public land?
Thank you, joseph
-
@joseph-murphy
Seems possible with
https://community.windy.com/topic/8514/your-map-uploads?_=1684654129113
See many examples in this thread -
I have also been busy the past week, and flying over the weekend.
I have been working on updating the windy-plugins repo in gh, but at the moment it is not working.
https://github.com/rittels/windy-plugins
There is still a bug with loading external plugins in the client.
-
@rittels @vicb I have updated examples in plugins repo meanwhile :-) It is
v39
branch: https://github.com/windycom/windy-plugins/tree/v39Also, build system has been changed. Now rollup is used and can be simply modified to developer needs. The crazy obsolete riot architecture with JS inside HTML has been removed as well. Hope it helps.
-
-
-
New compiler works well. Thanks Marek.
Small issue on windows system: https://github.com/windycom/windy-plugins/issues/30
The autoloading and querystring passing within the client not working yet. I am working on it.
-
-
We removed W.define and W.require. It will work (for backward compatibility for our own plugins), but be sure you use only import { anything } from '@windy/someModule for the future compatibility
Ahah you got me here!
I naively thought that I should have
import { anything } from '@windy/someModule;
in my code.But no the code is still transformed at build time.
I guess I will need some more time port my plugin.
When is v39 supposed to be released?
-
@vicb We found some issues, so I think we will bugfix them this week. So we would like to release the new version next week. Feel free to ask for help if there is anything I can help with.
-
@marekd Are you thinking of releasing the compiler (rollup plugins) as an npm package ? It would be easier for me to first add it to the project and then get updates.