Skip to content

Conversation

@iProgramMC
Copy link
Contributor

As of now, this works. But the MSVC build only runs on Windows 7 and later and I didn't even get started on the MinGW versions.

@iProgramMC iProgramMC marked this pull request as draft September 6, 2025 13:02
@iProgramMC iProgramMC added the !! - Significant change! This change is significant and could be problematic if merged - do lots of testing before merging! label Sep 22, 2025
@iProgramMC
Copy link
Contributor Author

Updated from Purplecord again. Still need to port Libcurl + Mbedtls to Windows NT 3.1 to be able to call this PR complete.

@pascalecu
Copy link
Contributor

Since you are porting libcurl + mbedtls, wouldn't it be beneficial to separate that from the frontend and throw that in the backend? A Linux frontend would also benefit from curl. The alternative would be to bring Boost.Beast into the codebase, and good luck porting that to NT 3.1. Although you're already using Boost.Asio and Beast is based on that, so... A good alternative would be to depend on IXWebSocket which supports mbedtls and also provides WebSocket, TLS, HTTP client/server functionality etc. with minimal dependencies, so perhaps you can consider this (Abbadon, discord.cpp, DisCPP and Tokio use it, so it definitely fits for a Discord client).

@iProgramMC
Copy link
Contributor Author

iProgramMC commented Sep 29, 2025

wouldn't it be beneficial to separate that from the frontend

Not really. The src/discord (soon to be src/core) is purely for Discord API logic. The networking code is platform specific. Sure, Linux (and Darwin/iOS) would benefit from the CURL implementations, but what if one platform requires a new HTTP/websocket client?

The alternative would be to bring Boost.Beast into the codebase

No... just duplicate all the CURL stuff for Linux.

@iProgramMC
Copy link
Contributor Author

Also it's worth mentioning again, but I will not be using the DiscordMessenger/dm repository for multiple versions (such as a Windows build and a Linux build), I think they should be separated. Eventually I plan to integrate src/core (src/discord) into a fully separate library that is imported by both dm and Purplecord.

@iProgramMC
Copy link
Contributor Author

This is a mess. I think I will close this PR and redo the work in a separate branch. Same with the other stuff

@1jammer1
Copy link

1jammer1 commented Oct 4, 2025

@iProgramMC You happen to take a look at this? https://retrocoding.net/secure-oldies-v-windows-3x-and-winsock-11

Updated from Purplecord again. Still need to port Libcurl + Mbedtls to Windows NT 3.1 to be able to call this PR complete.

Does it just fail to compile for nt 3.1? Or does the handshake fail for some random reason?

@iProgramMC
Copy link
Contributor Author

Does it just fail to compile for nt 3.1?

@1jammer1 Probably, I didn't actually try. I am going to start porting mbedtls and libcurl to Windows NT 3.1 at some point, but currently, the porting effort hasn't begun.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

!! - Significant change! This change is significant and could be problematic if merged - do lots of testing before merging!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants