diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml
index 51344b1c..4b94047a 100644
--- a/.github/workflows/cooker-selfhosted.yml
+++ b/.github/workflows/cooker-selfhosted.yml
@@ -3,21 +3,22 @@ name: "Build cooker"
 on:
   push:
     branches:
-      - cooker*
-      - feat*
+     - cooker*
+     - feat*
     paths:
-      - '.github/workflows/**'
-      - 'automation_tools/**'
-      - 'config/**'
-      - 'config/es-de/**'
-      - 'functions/**'
-      - 'rd-submodules/**'
-      - '*.sh'
-      - 'net.retrodeck.retrodeck.yml'
-      - 'net.retrodeck.retrodeck.appdata.xml'
-  pull_request:
+     - '.github/workflows/**'
+     - 'automation_tools/**'
+     - 'config/**'
+     - 'config/es-de/**'
+     - 'functions/**'
+     - 'rd-submodules/**'
+     - '*.sh'
+     - 'net.retrodeck.retrodeck.yml'
+     - 'net.retrodeck.retrodeck.appdata.xml'
+  pull_request: 
     branches:
-      - cooker*
+     - cooker*
+
   # Italy (CET): 11:00 PM
   # Japan (JST): 7:00 AM
   # schedule:
@@ -27,71 +28,64 @@ on:
 
 jobs:
 
-  Preparing_Build_Environment:
+  Building_RetroDECK:
     runs-on: retrodeck
-    outputs:
-      branch_name: ${{ steps.get_branch_name.outputs.branch_name }}
-      manifest_version: ${{ steps.generate_version_tag.outputs.manifest_version }}
-      tag: ${{ steps.generate_version_tag.outputs.tag }}
-      make_latest: ${{ steps.set_make_latest.outputs.make_latest }}
     steps:
+
+      # Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317
       - name: Remove stuck mounts
         run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
         continue-on-error: true
-
+    
       - name: Clone RetroDECK repo
         uses: actions/checkout@v3
         with:
           submodules: 'true'
 
       - name: "Install dependencies"
-        run: "automation_tools/install_dependencies.sh"
+        run: "automation_tools/install_dependencies.sh"    
 
       - name: Generate cooker build ID
         run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_build_id.sh"
 
       - name: Get branch name
-        id: get_branch_name
-        run: |
-          echo "BRANCH_NAME=$(echo $GITHUB_REF | sed 's|refs/heads/||')" >> $GITHUB_ENV
-          echo "::set-output name=branch_name::$BRANCH_NAME"
+        id: branch_name
+        run: echo "BRANCH_NAME=$(echo $GITHUB_REF | sed 's|refs/heads/||')" >> $GITHUB_ENV
 
+      # if it's a feature branch it will not marked as "latest" cooker version
       - name: "Set makeLatest (cooker only)"
-        id: set_make_latest
         run: |
           if [[ "$BRANCH_NAME" == 'feat/'* || "$BRANCH_NAME" == 'refs/'* ]]; then
             echo "MAKE_LATEST=false" >> $GITHUB_ENV
           else
             echo "MAKE_LATEST=true" >> $GITHUB_ENV
           fi
-          echo "::set-output name=make_latest::$MAKE_LATEST"
 
+      # if the branch is coming from a PR the tag should be manually built
       - name: "Generate version tag"
-        id: generate_version_tag
         run: |
           source automation_tools/version_extractor.sh
           MANIFEST_VERSION="$(fetch_manifest_version)"
           echo "MANIFEST_VERSION=$MANIFEST_VERSION" >> $GITHUB_ENV
-          echo "::set-output name=manifest_version::$MANIFEST_VERSION"
           if [[ "$BRANCH_NAME" == 'refs/'* ]]; then
             pr_number=$(echo ${{env.BRANCH_NAME}} | awk -F'/' '{print $3}')
             source_branch=$(curl -s "https://api.github.com/repos/RetroDECK/RetroDECK/pulls/$pr_number" | jq -r '.head.ref')
             source_branch=${source_branch//\//-}
             echo "[DEBUG] source branch is: $source_branch"
-            TAG=PR-$pr_number-$source_branch-${{ env.buildid }}
+            echo "TAG=PR-$pr_number-$source_branch-${{ env.buildid }}" >> $GITHUB_ENV
           else
             TAG="$MANIFEST_VERSION-${{ env.buildid }}"
+            echo "TAG=$TAG" >> $GITHUB_ENV
           fi
-          echo "TAG=$TAG" >> $GITHUB_ENV
-          echo "::set-output name=tag::$TAG"
           echo "MANIFEST_VERSION: $MANIFEST_VERSION"
           echo "Version TAG: $TAG"
 
+      # backing up manifest in case download fails and hashes must be recalculated
       - name: Manifest backup
         run: "cp ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml ${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak"
 
       - name: Run pre-build automation tasks
-        run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
+        run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
 
       - name: "Adding flatpak portal for automated updates (cooker only)"
         run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_flatpak_portal_add.sh"
@@ -102,20 +96,12 @@ jobs:
       - name: "[DEBUG] Outputting manifest"
         run: cat net.retrodeck.retrodeck.yml
 
-  Flatpak_Download_Only:
-    runs-on: retrodeck
-    needs: Preparing_Build_Environment
-    steps:
-      - name: Clone RetroDECK repo
-        uses: actions/checkout@v3
-        with:
-          submodules: 'true'
-
       - name: "Build flatpak: download only"
         id: "flatpak-download"
         run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
         continue-on-error: true
 
+      # Sometimes flatpak download fails, in this case it tries a second time
       - name: "Build flatpak: download only (retry)"
         if: steps.flatpak-download.outcome == 'failure'
         run: |
@@ -126,30 +112,12 @@ jobs:
           "${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
           "${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
 
-  Create_Flatpak:
-    runs-on: retrodeck
-    needs: Flatpak_Download_Only
-    steps:
-      - name: Clone RetroDECK repo
-        uses: actions/checkout@v3
-        with:
-          submodules: 'true'
-
       - name: Build flatpak
         run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh"
 
       - name: Create Bundle
         run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh"
 
-  Creating_Release:
-    runs-on: retrodeck
-    needs: Create_Flatpak
-    steps:
-      - name: Clone RetroDECK repo
-        uses: actions/checkout@v3
-        with:
-          submodules: 'true'
-
       - name: Set environment variable with current branch name
         run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
 
@@ -167,11 +135,11 @@ jobs:
       - name: Publish the flatpak in a new cooker release
         uses: ncipollo/release-action@v1
         with:
-          tag: "${{needs.Preparing_Build_Environment.outputs.tag}}"
+          tag: "${{env.TAG}}"
           body: |
             # Release Notes (Cooker)
             This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
-            On branch [${{needs.Preparing_Build_Environment.outputs.branch_name}}](https://github.com/RetroDECK/RetroDECK/tree/${{needs.Preparing_Build_Environment.outputs.branch_name}}).
+            On branch [${{env.BRANCH_NAME}}](https://github.com/RetroDECK/RetroDECK/tree/${{env.BRANCH_NAME}}).
 
             ## Commits since last release
             ${{ steps.commits.outputs.commits }}
@@ -183,7 +151,7 @@ jobs:
 
           artifacts: "RetroDECK-cooker.flatpak,RetroDECK-cooker.flatpak.sha,RetroDECK-Artifact.tar.gz"
           allowUpdates: true
-          makeLatest: ${{needs.Preparing_Build_Environment.outputs.make_latest}} # if it's a feat branch is not considered the latest build
+          makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build
           token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
           repo: RetroDECK-cooker
         continue-on-error: true
@@ -192,13 +160,14 @@ jobs:
         run: |
           git submodule deinit -f --all
           git fetch --tags
-          if git rev-parse --verify "${{ needs.Preparing_Build_Environment.outputs.tag }}" >/dev/null 2>&1; then # if the tag exists
-              git tag -d "${{ needs.Preparing_Build_Environment.outputs.tag }}"                                  # remove it from local repo
-              git push --delete origin "${{ needs.Preparing_Build_Environment.outputs.tag }}"                    # and from remote
+          if git rev-parse --verify "${{ env.TAG }}" >/dev/null 2>&1; then # if the tag exists
+              git tag -d "${{ env.TAG }}"                                  # remove it from local repo
+              git push --delete origin "${{ env.TAG }}"                    # and from remote
           fi
-          git tag "${{ needs.Preparing_Build_Environment.outputs.tag }}"             # Create the tag locally               
-          git push origin "${{ needs.Preparing_Build_Environment.outputs.tag }}"     # Push the new tag in the remote repo
+          git tag "${{ env.TAG }}"             # Create the tag locally               
+          git push origin "${{ env.TAG }}"     # Push the new tag in the remote repo
 
+      # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release
       - name: Upload RetroDECK-cooker.flatpak
         uses: actions/upload-artifact@v3
         with:
@@ -206,15 +175,6 @@ jobs:
           path: RetroDECK-cooker.flatpak
         continue-on-error: true
 
-  Create_Artifact_For_Flathub:
-    runs-on: retrodeck
-    needs: Create_Flatpak
-    steps:
-      - name: Clone RetroDECK repo
-        uses: actions/checkout@v3
-        with:
-          submodules: 'true'
-
       - name: Create Artifact for flathub
         run: | 
           tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker .
@@ -222,3 +182,58 @@ jobs:
           echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha
           mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }}
         continue-on-error: true
+
+      # - name: Upload RetroDECK-cooker.flatpak to Gitea Release
+      #   run: |
+      #     # Set variables for Gitea host, organization, repository, access token, and release details
+      #     GITEA_HOST="repo.retrodeck.net"
+      #     UPLOAD_HOST="upload.retrodeck.net"
+      #     ORGANIZATION="RetroDECK"
+      #     REPO="RetroDECK-cooker"
+      #     GITEA_TOKEN="${{ secrets.GITEA_TRIGGER_BUILD_TOKEN }}"
+      #     RELEASE_NAME="RetroDECK ${{env.TAG}}"
+      #     TAG="${{env.TAG}}"
+      #     RELEASE_BODY="# Release Notes (Cooker)
+      #     This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
+      #     On branch [${{env.BRANCH_NAME}}](https://repo.retrodeck.net/RetroDECK/RetroDECK/src/branch/${{env.BRANCH_NAME}}).
+
+      #     ## Commits since last release
+      #     ${{ steps.commits.outputs.commits }}
+
+      #     For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/WDc5C9YWMx) on our Discord server.
+
+      #     Cooker channel is provided for the community to test fixes and explore new functionality.
+      #     Please DO NOT open issues or ask support on this build."
+
+      #     # Create a release using curl and capture the release ID
+      #     release_response=$(curl -X POST \
+      #         -H "Authorization: token ${GITEA_TOKEN}" \
+      #         -H "Content-Type: application/json" \
+      #         -d "{\"tag_name\":\"$TAG\",\"name\":\"$RELEASE_NAME\",\"body\":\"$RELEASE_BODY\"}" \
+      #         "http://$GITEA_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases")
+
+      #     # Extract the release ID from the response
+      #     release_id=$(echo $release_response | jq -r '.id')
+
+      #     # Upload artifacts
+      #     curl -X POST \
+      #         -H "Authorization: token ${GITEA_TOKEN}" \
+      #         -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \
+      #         -H "Content-Type: multipart/form-data" \
+      #         -F "attachment=@RetroDECK-cooker.flatpak" \
+      #         "http://$UPLOAD_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak"
+
+      #     # Upload artifacts sha
+      #     curl -X POST \
+      #         -H "Authorization: token ${GITEA_TOKEN}" \
+      #         -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \
+      #         -H "Content-Type: multipart/form-data" \
+      #         -F "attachment=@RetroDECK-cooker.flatpak.sha" \
+      #         "http://$UPLOAD_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-cooker.flatpak.sha"
+
+      #     curl -X POST \
+      #         -H "Authorization: token ${GITEA_TOKEN}" \
+      #         -H "X-GitHub-Token: ${{ secrets.UPLOAD_TOKEN }}" \
+      #         -H "Content-Type: multipart/form-data" \
+      #         -F "attachment=@RetroDECK-Artifact.tar.gz" \
+      #         "http://$UPLOAD_HOST/api/v1/repos/$ORGANIZATION/$REPO/releases/$release_id/assets?name=RetroDECK-Artifact.tar.gz"