diff --git a/.github/workflows/update_scribe_data.yml b/.github/workflows/update_scribe_data.yml index 75bf5c9..ccb7314 100644 --- a/.github/workflows/update_scribe_data.yml +++ b/.github/workflows/update_scribe_data.yml @@ -200,13 +200,20 @@ jobs: { "msgtype": "m.text", "format": "org.matrix.custom.html", - "body": "$TITLE - Data updated on Toolforge.", + "body": "$TITLE - Data updated on Toolforge", "formatted_body": "

$TITLE

🎉 Data fetched from Scribe-Data has been updated on Toolforge and migrated to MariaDB!

View Full Log

" } EOF ) - curl -v --fail --show-error -X POST "${{ secrets.MATRIX_HOMESERVER }}/_matrix/client/r0/rooms/${{ secrets.MATRIX_DATA_ROOM_ID }}/send/m.room.message?access_token=${{ secrets.MATRIX_SCRIBE_BOT_ACCESS_TOKEN }}" \ + # Generate a unique transaction ID + TXN_ID=$(date +%s%N) + + # URL-encode the room ID to handle special characters safely + ROOM_ID=$(python3 -c "import urllib.parse; print(urllib.parse.quote('${{ secrets.MATRIX_DATA_ROOM_ID }}'))") + + curl -v --fail --show-error -X PUT "${{ secrets.MATRIX_HOMESERVER }}/_matrix/client/v3/rooms/${ROOM_ID}/send/m.room.message/${TXN_ID}" \ + -H "Authorization: Bearer ${{ secrets.MATRIX_SCRIBE_BOT_ACCESS_TOKEN }}" \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD" @@ -216,7 +223,13 @@ jobs: echo "❌ Deployment failed. Check the logs above for details." TITLE="❌ Toolforge Server Update Failed" RUN_URL="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" - curl -X POST "${{ secrets.MATRIX_HOMESERVER }}/_matrix/client/r0/rooms/${{ secrets.MATRIX_DATA_ROOM_ID }}/send/m.room.message?access_token=${{ secrets.MATRIX_SCRIBE_BOT_ACCESS_TOKEN }}" \ + + # Generate a unique transaction ID and URL-encode the room ID + TXN_ID=$(date +%s%N) + ROOM_ID=$(python3 -c "import urllib.parse; print(urllib.parse.quote('${{ secrets.MATRIX_DATA_ROOM_ID }}'))") + + curl -X PUT "${{ secrets.MATRIX_HOMESERVER }}/_matrix/client/v3/rooms/${ROOM_ID}/send/m.room.message/${TXN_ID}" \ + -H "Authorization: Bearer ${{ secrets.MATRIX_SCRIBE_BOT_ACCESS_TOKEN }}" \ -H "Content-Type: application/json" \ -d "{ \"msgtype\": \"m.text\",