SaturnFramework / Saturn

Opinionated, web development framework for F# which implements the server-side, functional MVC pattern
https://saturnframework.org
MIT License
708 stars 108 forks source link

ChannelSample doesn't run on OSX #208

Closed mastoj closed 4 years ago

mastoj commented 4 years ago

I had the intention to add a simple client for the ChannelSample but I can't get it to run. I have verified that what I want to do is working when creating a new project from the template, but it doesn't work when I run it from the repository.

OS: OSX Dotnet version: 3.0.100

Reproduction:

  1. Clone repository
  2. Build project
  3. dotnet run in the ChannelSample folder

Expected result

Output "Hello world" on /

Actual result

Nothing, no response and I don't see any errors in the log. I added Trace as minimum logging level but still nothing.

mastoj commented 4 years ago

I think this is related to the change to dotnet 3. I tried to bisect and figure out which exact commit that introduced the bug, but it seems to be a couple of commits that didn't build so it was hard to track down the exact commit. I'm pretty sure the bug is present in 06fe2bc, but not in ce38617. It is 5 commits between those two commits that could've introduced the bug and one of them was the bump to 3.0.100.

mastoj commented 4 years ago

I tried to reproduce the error https://github.com/mastoj/Saturn/tree/channel_sample_failure by adding the changes manually, the weird part is that it works.

I started from commit: https://github.com/SaturnFramework/Saturn/commit/ce386171e0bba31b3b227844e126de5a9620e309

As I read the commit history the "major" changes after that is upgrading giraffe to 4.0, and also use another sdk version. Adding both those changes worked fine when I did it manually, but it still fails when I switch to master.

mastoj commented 4 years ago

Here is the changes between my branch, that still works, and the current master: https://github.com/SaturnFramework/Saturn/compare/ee91e7c86051d3bc6812b0a51523bf69bea8a05a..mastoj:ef9c17a3f9cb12df9b9a56ee4a60a5fce21603e9#diff-b27553841b4413a24ed1b9aff865105bL26

I'm sort of clueless to why master doesn't work. Do you have an idea @Krzysztof-Cieslak ?

mastoj commented 4 years ago

My guess there is something that's not right with the resolved dependencies in paket.lock.

I did try to delete paket.lock and run paket install on master, that resulted in a failing build which is odd I think. It started complaining about netstandard3.0 packages not being compatible with 2.0, which make sense though.