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: call save when hiding web tab, and update when focusing it #5114

Merged
merged 4 commits into from
Sep 16, 2024

Conversation

emilk
Copy link
Owner

@emilk emilk commented Sep 16, 2024

Fix for a regression in 0.28

  • App::save will now be called when the web app is hidden (e.g. goes to a background tab)
  • App::update will now be called when the web app is un-hidden (e.g. becomes the foreground tab)

@emilk emilk added bug Something is broken web Related to running Egui on the web eframe Relates to epi and eframe labels Sep 16, 2024
@emilk emilk added this to the Next Major Release milestone Sep 16, 2024
@emilk emilk mentioned this pull request Sep 16, 2024
18 tasks
@emilk emilk merged commit 89da356 into master Sep 16, 2024
42 checks passed
@emilk emilk deleted the emilk/fix-save-on-blur branch September 16, 2024 14:28
emilk added a commit to rerun-io/rerun that referenced this pull request Sep 18, 2024
### What
* Part of #7378

### Issues found
* #7425
* emilk/egui#5114
* #7427

## How to test
#### Test setup - build the viewer
* `pixi run rerun-build`
* `pixi run rerun-build-web`

#### Test matrix
* Run `cargo r -p test_ui_wakeup` and test:
  * That the viewer wakes up in the background when it's alt-tabbed
* That the viewer wakes up when minimized (it should log "Received a
message from…")
* Run `cargo r -p test_ui_wakeup -- --serve` and test:
  * The viewer wakes up when browser is alt-tabbed away
* Switch to a different browser tab, send a few messages, switch back.
The messages should be there
(this is not a conclusive test, as the messages might have been received
on tab select)

## Tested

### Web
* [x] ✅ Browser alt-tabbed
* [x] ❌ Web background tab
* Has never _properly_ worked. Is blocked on
emilk/egui#5112
  * It catches up when we switch back to the tab though
       
### Linux
* [x] ✅X11 alt-tabbed
* [x] ✅ X11 minimized
* [x] ✅  Wayland alt-tabbed
* [x] ❌ Wayland minimized (Hyprland placed on non-visible workspace)
* [x] ✅ X-Wayland alt-tabbed
* [x] ✅ X-Wayland minimized (Hyprland placed on non-visible workspace)

### Mac
* [x] ✅ Native alt-tabbed
* [x] ✅ Native minimized

### Windows
* [x] ✅ Native alt-tabbed
* [x] ✅ Native minimized

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/7422?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/7422?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!
* [x] If have noted any breaking changes to the log API in
`CHANGELOG.md` and the migration guide

- [PR Build Summary](https://build.rerun.io/pr/7422)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.

---------

Co-authored-by: Antoine Beyeler <[email protected]>
@emilk emilk changed the title Fix: call save when hiding tab, and update when focusing it Fix: call save when hiding web tab, and update when focusing it Sep 20, 2024
hacknus pushed a commit to hacknus/egui that referenced this pull request Oct 30, 2024
…k#5114)

Fix for a regression in 0.28

* `App::save` will now be called when the web app is hidden (e.g. goes
to a background tab)
* `App::update` will now be called when the web app is un-hidden (e.g.
becomes the foreground tab)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is broken eframe Relates to epi and eframe web Related to running Egui on the web
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant