[PR #4499] [MERGED] 🐛 Fix error modal not showing when in non-secure context #5418

Closed
opened 2026-02-28 21:12:07 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/4499
Author: @MikesGlitch
Created: 3/1/2025
Status: Merged
Merged: 3/3/2025
Merged by: @MikesGlitch

Base: masterHead: fix/init-when-not-ssl


📝 Commits (6)

📊 Changes

5 files changed (+41 additions, -10 deletions)

View changed files

📝 packages/desktop-client/src/browser-server.js (+29 -7)
📝 packages/desktop-client/src/components/App.tsx (+2 -2)
📝 packages/loot-core/src/platform/client/fetch/index.browser.ts (+3 -0)
📝 packages/loot-core/src/platform/server/connection/index.web.ts (+1 -1)
upcoming-release-notes/4499.md (+6 -0)

📄 Description

The SharedArrayBuffer error screen wasn't always showing for users not using HTTPS - it was the cause of some github issues. The cause was (another) race condition. The problem & fix is very similar to this: https://github.com/actualbudget/actual/pull/4375

The Fatal error message was the first message we were attempting to send the worker. If the client wasn't ready to receive the message it would just hang on the loading screen. The solution is to add retries.

image

To replicate:

  • run the app on localhost
  • use your ipv4 address to load actual

The old code would hang on the loading screen, the new code will show the Fatal error.

NOTE: I noticed the old code would sometimes work and sometimes not. I found it easier to replicate when devtools was closed.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/4499 **Author:** [@MikesGlitch](https://github.com/MikesGlitch) **Created:** 3/1/2025 **Status:** ✅ Merged **Merged:** 3/3/2025 **Merged by:** [@MikesGlitch](https://github.com/MikesGlitch) **Base:** `master` ← **Head:** `fix/init-when-not-ssl` --- ### 📝 Commits (6) - [`b85b11c`](https://github.com/actualbudget/actual/commit/b85b11cf1a0386e8889822773c48143121ce1085) init when not ssl - [`3657549`](https://github.com/actualbudget/actual/commit/3657549e1d43659c334c36d9d667d5f4ba6f63da) bringing it all back - [`903b6e6`](https://github.com/actualbudget/actual/commit/903b6e6797be2bc72964ffcc9c5ed9d607e9bdaf) huh - [`bea9706`](https://github.com/actualbudget/actual/commit/bea97066fb8c10471c0b13d7f323ed0e7962f7b4) race conditions.... - [`55eff84`](https://github.com/actualbudget/actual/commit/55eff84fc7562ed546ea2352e3ca06d5f6a9871d) release notes - [`cdd6392`](https://github.com/actualbudget/actual/commit/cdd6392a502a9c367168458c09e0564c61607bce) remove unneeded console log ### 📊 Changes **5 files changed** (+41 additions, -10 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/src/browser-server.js` (+29 -7) 📝 `packages/desktop-client/src/components/App.tsx` (+2 -2) 📝 `packages/loot-core/src/platform/client/fetch/index.browser.ts` (+3 -0) 📝 `packages/loot-core/src/platform/server/connection/index.web.ts` (+1 -1) ➕ `upcoming-release-notes/4499.md` (+6 -0) </details> ### 📄 Description <!-- Thank you for submitting a pull request! Make sure to follow the instructions to write release notes for your PR — it should only take a minute or two: https://github.com/actualbudget/docs#writing-good-release-notes --> The SharedArrayBuffer error screen wasn't always showing for users not using HTTPS - it was the cause of some github issues. The cause was (another) race condition. The problem & fix is very similar to this: https://github.com/actualbudget/actual/pull/4375 The Fatal error message was the first message we were attempting to send the worker. If the client wasn't ready to receive the message it would just hang on the loading screen. The solution is to add retries. ![image](https://github.com/user-attachments/assets/0419f405-475d-4b35-ab3e-1525aee15235) To replicate: - run the app on localhost - use your ipv4 address to load actual The old code would hang on the loading screen, the new code will show the Fatal error. NOTE: I noticed the old code would sometimes work and sometimes not. I found it easier to replicate when devtools was closed. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-02-28 21:12:07 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#5418