Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix sandbox hot reloading #10562

Merged
merged 2 commits into from
May 5, 2023
Merged

Fix sandbox hot reloading #10562

merged 2 commits into from
May 5, 2023

Conversation

igor-sirotin
Copy link
Contributor

@igor-sirotin igor-sirotin commented May 5, 2023

What does the PR do

Sandbox hot reloading wasn't working. Initially there were invalid watched paths, but also there were other major bugs:

  • Multiple windows were appearing
  • Tons of QML warnings about accessing null properties
  • After 1-2 reloads Sandbox crashed

What I did is:

  1. Watch QML file changes instead of directory changes
  2. Store QML engine on heap and destroy it for fully singletons reloading
  3. Preserve window position and size between reloads
  4. Remove explicit CMAKE_OSX_ARCHITECTURES "x86_64"

Affected areas

Sandbox

Show time

Screen.Recording.2023-05-05.at.10.23.24.mov

@status-im-auto
Copy link
Member

status-im-auto commented May 5, 2023

Jenkins Builds

Click to see older builds (12)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 15ab4f8 #1 2023-05-05 07:25:23 ~5 min tests/imports 📄log
✔️ 15ab4f8 #1 2023-05-05 07:26:24 ~6 min tests/nim 📄log
✔️ 15ab4f8 #1 2023-05-05 07:28:30 ~8 min macos/aarch64 🍎dmg
✔️ 15ab4f8 #1 2023-05-05 07:33:47 ~13 min macos/x86_64 🍎dmg
✔️ 15ab4f8 #1 2023-05-05 07:35:37 ~15 min linux/x86_64 📦tgz
✔️ 15ab4f8 #1 2023-05-05 07:52:57 ~32 min windows/x86_64 💿exe
✔️ 15ab4f8 #1 2023-05-05 07:53:55 ~33 min tests/e2e 📄log
✔️ 2fbcecb #2 2023-05-05 13:33:57 ~5 min tests/imports 📄log
✔️ 2fbcecb #2 2023-05-05 13:35:39 ~7 min tests/nim 📄log
✔️ 2fbcecb #2 2023-05-05 13:36:16 ~7 min macos/aarch64 🍎dmg
✔️ 2fbcecb #2 2023-05-05 13:38:10 ~9 min macos/x86_64 🍎dmg
✔️ 2fbcecb #2 2023-05-05 13:41:22 ~13 min linux/x86_64 📦tgz
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 03b5d93 #3 2023-05-05 13:49:46 ~5 min tests/imports 📄log
✔️ 03b5d93 #3 2023-05-05 13:51:06 ~6 min tests/nim 📄log
✔️ 03b5d93 #3 2023-05-05 14:00:05 ~15 min linux/x86_64 📦tgz
✔️ 03b5d93 #3 2023-05-05 14:17:35 ~33 min windows/x86_64 💿exe
✔️ 03b5d93 #3 2023-05-05 14:18:07 ~33 min tests/e2e 📄log
✔️ 03b5d93 #3 2023-05-05 14:18:34 ~34 min macos/aarch64 🍎dmg
✔️ c98619e #4 2023-05-05 15:21:50 ~10 min tests/imports 📄log
✔️ c98619e #4 2023-05-05 15:25:20 ~14 min macos/aarch64 🍎dmg
✔️ c98619e #4 2023-05-05 15:27:13 ~15 min tests/nim 📄log
✔️ c98619e #4 2023-05-05 15:30:31 ~19 min linux/x86_64 📦tgz
✔️ c98619e #4 2023-05-05 15:37:23 ~26 min windows/x86_64 💿exe
✔️ c98619e #4 2023-05-05 15:50:30 ~39 min macos/x86_64 🍎dmg
✔️ c98619e #4 2023-05-05 15:57:31 ~46 min tests/e2e 📄log

@igor-sirotin igor-sirotin requested a review from caybro May 5, 2023 08:20
Copy link
Member

@caybro caybro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice... I had no idea it supported that feature :)

ui/StatusQ/sandbox/sandboxapp.h Outdated Show resolved Hide resolved
Copy link
Contributor

@borismelnik borismelnik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@borismelnik
Copy link
Contributor

Nice... I had no idea it supported that feature :)

I thought we not using SandboxApp anymore :D

@igor-sirotin igor-sirotin merged commit a3ec245 into master May 5, 2023
@igor-sirotin igor-sirotin deleted the fix/sirotin-sandbox branch May 5, 2023 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants