-
Notifications
You must be signed in to change notification settings - Fork 20
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
Upgrade to elm 0.19 #63
Comments
[x] https://github.com/Chadtech/elm-bool-extra |
|
It looks like I think Some of the other packages (particularly |
https://github.com/elm-lang/websocket is our major deadlocker for getting elm-ethereum up to 0.19. There's no clear ETA from Evan or the core team when an 0.19 websockets implementation will be done. The old WS lib has a lot of known bugs, and outstanding PR's/issues. I'm working on PR's for things like elm-bigint, elm-keccak, and some of the ...-extra libs. I also agree, some of the dependencies being used in the ...-extra libs are very small. Might be worth just adding them to @FrancoAra @surprisetalk @francescortiz any interest in taking a look at which ...-extra lib dependencies can be dropped in this manner? Thanks! |
https://github.com/Chadtech/elm-bool-extra has been updated woot! |
Evan has spoken up regarding websockets. It might be a while :\ elm-lang/websocket#28 (comment) and also Richard commenting on it here |
Not sure if I understand it all correctly since I started learning elm about a week ago. |
I also found this one :P https://github.com/billstclair/elm-websocket-client |
@svechinsky Doesn't look like that package will help in our case. @FrancoAra Interesting find! My take on the situation is currently - it probably just makes sense to just wait for the 0.19 version of websockets to come out. (see below on alternative proposal) The slight decline in UX that I think a nice middle road might be, release an elm-ethereum v2.0 which removes the case (desperatelyWantsToUseElm019, requiresContractEventListening) of
(True, False) ->
"Upgrade to elm-etheruem 2.0!"
(True, True) ->
"Use ports to bake your own custom contract event listening module, or
contribute to the package by writing an pure http event/log listener."
_ ->
"Keep using Elm 0.18 and elm-ethereum 1.0 until new websockets pacakge is released,
or upgrade whenever you see fit." Edit - Another option is to work with events like the old The 0.19 compatible elm-ethereum 2.0 (sans events) is starting to sound more and more like a good tradeoff. Curious to hear if anyone has thoughts on the matter. Thanks |
In my case I am a (False, False). Since events are very important in my projects I am still using elm 0.18 while the elm/websockets package gets released. |
In the end I needed to upgrade to elm 0.19 because I needed to reattach filters on WebSocket connection lost. My approach has been to use For information on how to use use elm-websocket-client port multiplexing you can check the documentation: The changes I made are in the elm-0.19 of my fork: Elm 0.19 requires you to remove all Debug calls in order to have release builds. I didn't do it yet because I didn't analyse what is the strategy to do it and don't loose important information. It is far from perfect but, if it can help anyone, I'll be glad. |
@francescortiz Nice, looking over the code now. First thing I noticed, there's a BigInt for 0.19 that you should be able to use. |
I think the pattern you're going with would be a good direction for an initial elm-ethereum on 0.19. Thanks for exploring this! Much like I'm heading to Devcon this week, so I'll try to work on this in my free time, but will be pretty occupied the next 2 weeks. Hopefully you're fork is suiting you well for the time being. I'll reference some of the other changes you've made as well (like Is there anything else substantial you've changed that I should take note of? Also, can you elaborate on why With the Debug stuff, we might also be able to make the API require the user to provide Debug.log for
and
|
You covered well all the changes I made. I add the following:
I really like the approach you propose for the debug stuff! I just want to make sure you don't miss that my code removed the Debug.log call from Good luck in the Devcon! |
Removed EventSentry for now, and just upgraded to 0.19. Now finally getting back into development efforts, lot of cleanup to do, and some rethinking of how events are handled sans websockets. |
I tried with elm-upgrade but there are still some dependencies which are still not migrated or there are no alternatives. Maybe we can help them make a new version with 0.19, it is very straight forward the migration.
The text was updated successfully, but these errors were encountered: