From dbb04234adcdc03b218a92db5d4d260b078bf70c Mon Sep 17 00:00:00 2001 From: Ivan Date: Thu, 13 Aug 2026 01:36:30 -0500 Subject: [PATCH] fix: retry AppImage tool downloads on GitHub CDN resets and update stale UI tests --- .github/workflows/build-linux-packages.yml | 12 ++ .github/workflows/build-release.yml | 10 ++ meshchatx.rsm | Bin 188844 -> 189072 bytes .../messages/ConversationPeerHeader.vue | 13 +- .../ci/github-build-linux-release-assets.sh | 47 +++++++- scripts/ci/github-warm-appimage-tools.sh | 113 ++++++++++++++++++ tests/backend/test_http_auth_security.py | 10 +- .../AppSidebarIdentityAnnounce.test.js | 31 ++++- .../ConversationViewerButtons.test.js | 12 +- tests/frontend/UIThemeAndVisibility.test.js | 3 +- .../__snapshots__/uiSnapshots.test.js.snap | 2 +- .../linuxAppimagePackagingContracts.test.js | 55 +++++++++ 12 files changed, 285 insertions(+), 23 deletions(-) create mode 100755 scripts/ci/github-warm-appimage-tools.sh create mode 100644 tests/frontend/linuxAppimagePackagingContracts.test.js diff --git a/.github/workflows/build-linux-packages.yml b/.github/workflows/build-linux-packages.yml index 6492050f..b64c7018 100644 --- a/.github/workflows/build-linux-packages.yml +++ b/.github/workflows/build-linux-packages.yml @@ -4,6 +4,7 @@ # Pinned first-party actions (bump tag and SHA together when upgrading): # actions/checkout@v6.0.1 8e8c483db84b4bee98b60c0593521ed34d9990e8 # actions/upload-artifact@v5.0.0 330a01c490aca151604b8cf639adc76d48f6c5d4 +# actions/cache@v4.2.0 1bd1e32a3bdc45362d1e726936510720a7c30a57 name: Build Linux packages @@ -18,6 +19,7 @@ on: - "package.json" - "scripts/ensure-flatpak-flathub-remote.sh" - "scripts/ci/github-build-linux-*.sh" + - "scripts/ci/github-warm-appimage-tools.sh" - ".github/workflows/build-linux-packages.yml" - ".github/workflows/build-release.yml" - ".github/workflows/frontend-build.yml" @@ -83,6 +85,14 @@ jobs: node-version: ${{ env.NODE_VERSION }} pnpm-version: ${{ env.PNPM_VERSION }} + - name: Cache electron-builder toolsets + uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 + with: + path: ~/.cache/electron-builder + key: electron-builder-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml', 'package.json') }} + restore-keys: | + electron-builder-${{ runner.os }}-${{ runner.arch }}- + - name: Linux packaging APT dependencies run: bash scripts/ci/github-apt-linux-packaging.sh @@ -100,6 +110,8 @@ jobs: run: sh scripts/ci/setup-task.sh - name: Build release-assets + env: + GITHUB_TOKEN: ${{ github.token }} run: bash scripts/ci/github-build-linux-release-assets.sh - name: Upload Linux build-test artifact (${{ matrix.arch }}) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 7281836f..9dcd4410 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -117,6 +117,14 @@ jobs: node-version: ${{ env.NODE_VERSION }} pnpm-version: ${{ env.PNPM_VERSION }} + - name: Cache electron-builder toolsets + uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 + with: + path: ~/.cache/electron-builder + key: electron-builder-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('pnpm-lock.yaml', 'package.json') }} + restore-keys: | + electron-builder-${{ runner.os }}-${{ runner.arch }}- + - name: Linux packaging APT dependencies run: bash scripts/ci/github-apt-linux-packaging.sh @@ -143,6 +151,8 @@ jobs: run: sh scripts/ci/setup-trivy.sh - name: Build release-assets + env: + GITHUB_TOKEN: ${{ github.token }} run: bash scripts/ci/github-build-linux-release-assets.sh - name: Upload Linux release artifact (${{ matrix.arch }}) diff --git a/meshchatx.rsm b/meshchatx.rsm index b880b14645562fdbd86bf4f3c555f5b92c737d9c..98a11f3fcf16e5ef17523263f3ae9f582e4a07b1 100644 GIT binary patch delta 991 zcmXYvPly#%6vlaPk?7>6#u=>^&mbX0=G=SkpK~CXSApAt2qGdl_sALr@q|Oz|j;B$1McTogJAJ>T#9-aS9@+J%Y! zdoTD?f4zL~o*jG6-FW->^!?v{xqtiM>iN%J`SXdl4t+BI`_kEmw;udsZ7{z0Q}6M? zUCXD&zl^S58$bW#Q}`Uk(gIz5XBE(RZ%v=Bmt!cwgi5%Hy_;A^cR0k~|Fj}T0D zp(a!6YHxaS^_!i$`T`uCbv&0vT6%XEUJ1(tp+h9FI7V#^=w?#Dv8jw?m0_w^xax_%hb~xi74GPRC096 zND)f|+TaERV{M9vt)Z!{8C!cOBt-+Itx}5d)axzP#ihj=Jvx|Qs`F)L?!f%=u?KIZ RIy`=+d-v$_N8L+%{{u}+KNJ7} delta 809 zcmXYvO^8)T5QV)@Mo|NbKbe_iGoYa8!m8@7{sA=?F+qqTZd?R{c6Hqr+=$L5fe3@R z3uM$;JP?rtSBY6f9{7+5BZwe^C`jN95gkH;V#s0y2@=8dLVDBP^!fT!ojQMa&Chq% zw10iKFmrKnbnx$Q_~sw8moFWCers%hKJfecdf(&0lao(hZ~Aom z^($XKQC>Mlb$cH@E!ry=Lj`@%xt# zKAt}E?S-$VdyDhe|Ct^Cq>Ji`Ng=pQ*&4KLBRa9j9t>Gq*fADX4w}^ZXf+9gFP14L z(7CDcjdKqtCR@TTvQ>jb4n>SALe3#O&1`{)gLIH=j!aYxXJb&Kh?7pC!oz#eioxE= zXQMrcK!CA??@yb}!BrVevQS%@T;NJ%{x1mn?`M8WhA?`%GvJGL}6xb*7g zFRe3G>Vj~|!9&$Eq%78=(TKJK3J9oTLkwLYQMJ`{hFnrKwMy=v`mx#A-*vV5U^uwi z{IGI3f2|oE+6^WL=c%{~l;EH%r53JQs>b+2Le*#Sfn6ugp>nO51tR%WnTH=V8~V2w znz8=;+h%OI^j~xDM61yRA3ZpxjuU{h7IF*@!8$8W*%KzVL^UGv^(ZwmgT@4|pA|EF zQ+k8dE!LI+a$Q=~6DxGA-Vg?3#Z+PpR!S9Dry9wYdZQ*{O(m!LygzfQw|ThsbZ=ot zn@dT?auJ`51fOf?FiOr@0Fz5x0UDt5xo8Zf6dz;upfPp^pyoW>cBMCJS|{W^RWBZr vn2bs4D2O4gQ{cMJtsy?|Umh9Nxasd$i+!DINtc diff --git a/meshchatx/src/frontend/components/messages/ConversationPeerHeader.vue b/meshchatx/src/frontend/components/messages/ConversationPeerHeader.vue index abd5d0f7..d3616f08 100644 --- a/meshchatx/src/frontend/components/messages/ConversationPeerHeader.vue +++ b/meshchatx/src/frontend/components/messages/ConversationPeerHeader.vue @@ -2,7 +2,7 @@