Replies: 7 comments 12 replies
-
I agree.
If you are talking about the original repo from me-no-dev, yes I agree.
That was my idea behind this fork. The more people will use this fork, the more it will establish itself as a good alternative. Also, don't forget that there is also PsychicHttp, backed by the ESP-IDF API.
I personally really think that PsychicHttp had a very good idea in using the existing ESP-IDF API behind, but sadly the way it was implemented does not help its adoption. But I am convinced that an implementation of ESPAsyncWebServer backed by the ESP-IDF API would be very welcomed, and would help getting rid of the Async TCP library also. |
Beta Was this translation helpful? Give feedback.
-
(Sorry, didn't realize you had discussions on or I would have put it here in the first place!) And sorry yes the "very, very, very buggy" was about the original me-no-dev repo. Forks vary widely in how many fixes have been applied, which is part of the problem, and IMHO why we need a canonical place with all the fixes -- and this repo seems like a good start. (The esphome repo would be the other main candidate but I assume its maintainers are more interested in their main esphome project?) Also despite claims and anecdotes to the contrary I actually think PsychicHttp has its own threading issues, because the ESP-IDF API still makes calls on the system event loop which is its own thread. I posted this inquiry but haven't heard back yet (it's only been a couple days though). For my own project I switched to the Mongoose library. It seems to be super solid, does work out of the box on ESP32, uses nonblocking IO instead of threads, and includes HTTP, MQTT, WS, etc. -- I think it's seriously underrated. There's a project to make an Arduino-style wrapper for it which has been dormant for a while but the dev says they're working on it. HOWEVER Mongoose by default uses BSD sockets which the ESP net layer supports but you couldn't just drop in something like the Arduino W5500 library. You can swap out Mongoose's network layer but it depends on nonblocking sockets of some kind. ( |
Beta Was this translation helpful? Give feedback.
-
Actually now that I think about it ESPAsyncWebServer depends on AsyncTCP which uses the lwip APIs specifically, so like Mongoose it won't work on top of an Arduino |
Beta Was this translation helpful? Give feedback.
-
Oh yes I forgot about Mongoose. I've seen several projects with it. When a project does not depend on a lot of web related dependencies, that's the best option I think. I know the project from Jeremy also. I think Jeremy is now working pretty much full time on OpenEVSE (which I have also contributed too - I have built an EVSE box for my EV car), and OpenEVSE is using this wrapper also. There is no better or worse: this is the project needs that will dictate which one to use. For example I am using MycilaESPConnect, WebSerial, ESP-DASH, etc in some apps. These are all libraries that have 8266 / RP2040 support and rely on this fork. So consequently, these apps will never use Mongoose or Psychic. |
Beta Was this translation helpful? Give feedback.
-
OK so what needs to happen to establish this as the main ESPAsyncWebServer fork? Reach out to the maintainers of the other major forks (esphome and yubox-node-org) and see what they think? |
Beta Was this translation helpful? Give feedback.
-
I have a suggestion to start with. You need to detach your from fork from the original repo. I.e., now it has a link |
Beta Was this translation helpful? Give feedback.
-
@mathieucarbou If you detach your fork it will still maintain all history, PRs, etc. Just my IMHO. |
Beta Was this translation helpful? Give feedback.
-
Right now the situation is a giant mess with hundreds of forks, several active ones, and the Arduino and platformio registries pointing at different and (in the case of Arduino) obscure forks.
This library is widely used but the source appears to be abandoned, no longer works with current platform versions and is also very, very, very buggy, so it sure would be nice to consolidate development...
Beta Was this translation helpful? Give feedback.
All reactions