2 Commits

Author SHA1 Message Date
MasterAcnolo
f5259f7ade fix: server instance silent crash on close 2026-10-25 19:52:20 +01:00
MasterAcnolo
1fcf7cd988 docs: bump package.json app version to 1.6.5 2026-10-25 19:49:15 +01:00
2 changed files with 10 additions and 8 deletions

View File

@@ -2,7 +2,7 @@
"name": "freedom-loader",
"desktopName": "com.masteracnolo.freedomloader",
"productName": "Freedom Loader",
"version": "1.6.4",
"version": "1.6.5",
"author": "MasterAcnolo <MasterAcnolo@users.noreply.github.com>",
"description": "Free and open-source GUI for yt-dlp — download video and audio from hundreds of platforms",
"homepage": "https://freedomloader.acnolo.fr/",

View File

@@ -28,7 +28,7 @@ app.get("/", rateLimit, (req, res) => {
/**
* Initializes and starts the Express HTTP server.
*
*
* - Binds the server to `config.applicationPort`
* - Resolves with the HTTP server instance on successful startup
* - Rejects on server binding or runtime errors
@@ -36,7 +36,7 @@ app.get("/", rateLimit, (req, res) => {
*/
async function startServer() {
return new Promise((resolve, reject) => {
const serverInstance = app.listen(config.applicationPort, () => {
serverInstance = app.listen(config.applicationPort, () => {
logger.info(`Express server ready at http://localhost:${config.applicationPort}`);
resolve(serverInstance);
});
@@ -53,11 +53,13 @@ async function startServer() {
*/
function stopServer() {
if (serverInstance) {
try{
serverInstance.close();
logger.info("Express server closed cleanly");
} catch (err){
logger.error("Express server was not closed cleanly:", err)
try {
serverInstance.close(() => {
logger.info("Express server closed cleanly");
});
serverInstance = null;
} catch (err) {
logger.error("Express server was not closed cleanly:", err);
}
} else {
logger.info("Express server was already closed");