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

Consistent open/import/log_file behaviors in all common scenarios #7966

Merged
merged 2 commits into from
Nov 6, 2024

Conversation

teh-cmc
Copy link
Member

@teh-cmc teh-cmc commented Oct 31, 2024

All the major data-loading paths now behave sanely and consistently on both native and web.

You can try and look at the matrix below for the specific behavior of each path, but really my advice would be to just play with it to get a sense of things.

One of these days we'll clearly need a bottom-up in-hindsight refactoring for all these things, it is so complex.
But today is not that day.


Checklist:

  • Native:
    • Open:
      • In welcome screen:
        • Single file (new app, new recording, both IDs are generated UUIDs)
        • Multiple files (2 new apps, 2 new recordings, all IDs are generated UUIDs)
        • RRD w/ RBL (new app and recording with predefined IDs)
        • RRD w/o RBL (new app and recording with predefined IDs)
        • RBL (new app with predefined ID)
      • In pre-existing recording:
        • Single file (new app, new recording, both IDs are generated UUIDs)
        • Multiple files (2 new apps, 2 new recordings, all IDs are generated UUIDs)
        • RRD w/ RBL (new app and recording with predefined IDs)
        • RRD w/o RBL (new app and recording with predefined IDs)
        • RBL (new app with predefined ID)
    • Import:
      • In welcome screen:
        • Single file (new app, new recording, both IDs are generated UUIDs)
        • Multiple files (single new app, single new recording, both IDs are generated UUIDs)
        • RRD w/ RBL (new app and recording with predefined IDs)
        • RRD w/o RBL (new app and recording with predefined IDs)
        • RBL (new app with predefined ID)
      • In pre-existing recording:
        • Single file (imports into existing recording, no new app nor recording)
        • Multiple files (imports into existing recording, no new app nor recording)
        • RRD w/ RBL (new app and recording with predefined IDs)
        • RRD w/o RBL (new app and recording with predefined IDs)
        • RBL (updates blueprint for the current app)
  • Web:
    • Open:
      • In welcome screen:
        • Single file (new app, new recording, both IDs are generated UUIDs)
        • Multiple files (2 new apps, 2 new recordings, all IDs are generated UUIDs)
        • RRD w/ RBL (new app and recording with predefined IDs)
        • RRD w/o RBL (new app and recording with predefined IDs)
        • RBL (new app with predefined ID)
      • In pre-existing recording:
        • Single file (new app, new recording, both IDs are generated UUIDs)
        • Multiple files (2 new apps, 2 new recordings, all IDs are generated UUIDs)
        • RRD w/ RBL (new app and recording with predefined IDs)
        • RRD w/o RBL (new app and recording with predefined IDs)
        • RBL (new app with predefined ID)
    • Import:
      • In welcome screen:
        • Single file (new app, new recording, both IDs are generated UUIDs)
        • Multiple files (single new app, single new recording, both IDs are generated UUIDs)
        • RRD w/ RBL (new app and recording with predefined IDs)
        • RRD w/o RBL (new app and recording with predefined IDs)
        • RBL (new app with predefined ID)
      • In pre-existing recording:
        • Single file (imports into existing recording, no new app nor recording)
        • Multiple files (imports into existing recording, no new app nor recording)
        • RRD w/ RBL (new app and recording with predefined IDs)
        • RRD w/o RBL (new app and recording with predefined IDs)
        • RBL (updates blueprint for the current app)
  • SDK:
    • log_file:
      • Single file (merges nicely into active recording)
      • RRD w/ RBL (new app and recording with predefined IDs)
      • RRD w/o RBL (new app and recording with predefined IDs)
      • RBL (updates blueprint for the current app)

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
  • If applicable, add a new check to the release checklist!
  • If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

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

@teh-cmc teh-cmc force-pushed the cmc/drop_on_welcome branch from 9547131 to 7bd6667 Compare November 5, 2024 09:52
@teh-cmc teh-cmc changed the title Correct multi "drag-n-drop on welcome screen" behavior Consistent open/import behavior for existing and non-existing (welcome screen) recordings Nov 5, 2024
@teh-cmc teh-cmc changed the title Consistent open/import behavior for existing and non-existing (welcome screen) recordings Consistent open/import behavior for pre-existing recordings and welcome screen Nov 5, 2024
@teh-cmc teh-cmc added 🪳 bug Something isn't working enhancement New feature or request 📺 re_viewer affects re_viewer itself include in changelog labels Nov 5, 2024
@teh-cmc teh-cmc force-pushed the cmc/drop_on_welcome branch 2 times, most recently from 9d199eb to b614e00 Compare November 5, 2024 11:51
@teh-cmc teh-cmc changed the title Consistent open/import behavior for pre-existing recordings and welcome screen Consistent open/import/log_file behaviors in all common scenarios Nov 5, 2024
@teh-cmc teh-cmc force-pushed the cmc/drop_on_welcome branch 2 times, most recently from 26e6233 to 1f4c61a Compare November 5, 2024 17:16
@teh-cmc teh-cmc force-pushed the cmc/drop_on_welcome branch from 1f4c61a to c314a60 Compare November 5, 2024 18:16
@teh-cmc
Copy link
Member Author

teh-cmc commented Nov 5, 2024

@rerun-bot full-check

Copy link

github-actions bot commented Nov 5, 2024

Started a full build: https://github.com/rerun-io/rerun/actions/runs/11690170174

@teh-cmc teh-cmc marked this pull request as ready for review November 5, 2024 18:22
Copy link
Member

@emilk emilk left a comment

Choose a reason for hiding this comment

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

Well, that was indeed painful and complicated, but I see no obvious better way. 👍

crates/store/re_data_loader/src/load_file.rs Outdated Show resolved Hide resolved
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
@teh-cmc teh-cmc merged commit 9a5b36a into main Nov 6, 2024
36 checks passed
@teh-cmc teh-cmc deleted the cmc/drop_on_welcome branch November 6, 2024 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪳 bug Something isn't working enhancement New feature or request include in changelog 📺 re_viewer affects re_viewer itself
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Inconsistent drag-and-drop behavior: dropping multiple files results in multiple recordings
2 participants