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

Remove old async octree #28

Closed
wants to merge 34 commits into from
Closed

Remove old async octree #28

wants to merge 34 commits into from

Commits on Mar 23, 2023

  1. Configuration menu
    Copy the full SHA
    2eb5008 View commit details
    Browse the repository at this point in the history
  2. remove octree

    kcpevey committed Mar 23, 2023
    Configuration menu
    Copy the full SHA
    19b5b27 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2023

  1. Configuration menu
    Copy the full SHA
    dde37cf View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2023

  1. add deleted files back

    kcpevey committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    f31d27e View commit details
    Browse the repository at this point in the history
  2. cleanup

    kcpevey committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    8a0c133 View commit details
    Browse the repository at this point in the history
  3. missed an octree usage

    kcpevey committed Mar 30, 2023
    Configuration menu
    Copy the full SHA
    1916b6f View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2023

  1. Add some old async definitions back (#29)

    * Add back some things [skip ci]
    
    * Remove pytest markers for old async
    
    * Deprecate loaded
    
    * Empty commit to rerun CI
    
    * Empty commit to rerun CI
    
    * Ignore deprecated introspection
    andy-sweet authored Apr 6, 2023
    Configuration menu
    Copy the full SHA
    d134a09 View commit details
    Browse the repository at this point in the history
  2. Update _experimental.py

    force trigger CI
    kcpevey authored Apr 6, 2023
    Configuration menu
    Copy the full SHA
    db6e954 View commit details
    Browse the repository at this point in the history
  3. Bugfix: Convert Viewer Delete button to QtViewerPushButton with actio…

    …n and shortcut (napari#5636)
    
    # Description
    
    The current trash-icon delete button in the viewer when clicked deletes
    selected layers, but is also supposed to accept drag-n-drop events,
    making it work like the Trash on say macOS (and other OS with a similar
    desktop model).
    However, this behavior was broken in
    napari#2441
    
    This (broken) behavior makes no sense, because napari *doesn't use* a
    desktop model, so the Trash icon is not a folder, like the Trash bin in
    a OS, a temporary storage for unwanted items. You can't open the napari
    trash button to restore the layers you drag there.
    
    The Trash icon in napari should be simply a button—and is stylized as
    one—that responds to a single-click to delete selected layers.
    
    This PR removes the broken behavior—eliminating the source of error. In
    this way it simplifies the code, to treat the delete button the same as
    other viewer buttons (QtViewerPushButton). as a result, the delete
    button now also has a registered action and keybinding that is editable
    in the Preferences, rather than hard-coded.
    
    
    ## Type of change
    <!-- Please delete options that are not relevant. -->
    - [x] Bug-fix (non-breaking change which fixes an issue)
    - [ ] New feature (non-breaking change which adds functionality)
    - [x] Breaking change (fix or feature that would cause existing
    functionality to not work as expected): it's been broken for 2 years
    without being reported...
    - [x] This change requires a documentation update: docs PR:
    napari/docs#123
    
    # References
    closes napari#5629
    See also discussion on zulip:
    https://napari.zulipchat.com/#narrow/stream/212875-general/topic/Drag.20layer.20to.20trash
    
    # How has this been tested?
    <!-- Please describe the tests that you ran to verify your changes. -->
    - [ ] example: the test suite for my feature covers cases x, y, and z
    - [ ] example: all tests pass with my change
    - [ ] example: I check if my changes works with both PySide and PyQt
    backends
          as there are small differences between the two Qt bindings.  
    
    ## Final checklist:
    - [x] My PR is the minimum possible work for the desired functionality
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [x] I have made corresponding changes to the documentation: docs PR
    napari/docs#123
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] If I included new strings, I have used `trans.` to make them
    localizable.
    For more information see our [translations
    guide](https://napari.org/developers/translations.html).
    psobolewskiPhD authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    ee819dd View commit details
    Browse the repository at this point in the history
  4. Change dim axis_label resize logic to set width using only displaye…

    …d labels width (napari#5640)
    
    # Description
    
    Old behavior:
    
    ![GIF showing the old behavior of the viewer slider widgets axis label
    resize. The labels take the width of the longest axis label element even
    if it is not being displayed. The space for the axis labels is the same
    even if the current axis label text is shorter than the space
    available](https://user-images.githubusercontent.com/16781833/225688465-df3804ce-2b37-423a-9ba4-1343db83f03c.gif)
    
    New behavior:
    
    ![GIF showing the new behavior introduced with the PR for the viewer
    slider widgets axis label resize. The labels take the width of the
    longest axis label element that is being displayed. The alignment
    between multiple slider widgets is preserved but changing the axis being
    displayed can make the axis labels to take more or less
    space](https://user-images.githubusercontent.com/16781833/225688739-96db3175-40dd-49db-8745-6156bb2a13d5.gif)
    
    ## Type of change
    - [x] Bug-fix (non-breaking change which fixes an issue)
    
    # References
    closes napari#5521 
    
    # How has this been tested?
    - [x] all tests pass with my change
    - [x] I check if my changes works with both PySide and PyQt backends
          as there are small differences between the two Qt bindings.  
    
    ## Final checklist:
    - [x] My PR is the minimum possible work for the desired functionality
    - [x] I have commented my code, particularly in hard-to-understand areas
    
    ---------
    
    Co-authored-by: Andy Sweet <andrew.d.sweet@gmail.com>
    2 people authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    af3c04a View commit details
    Browse the repository at this point in the history
  5. MAINT: Do not use mutable default for dataclass. (napari#5647)

    This will be an error in Python 3.11, See CI in napari#5439.
    
    Send this a separate commit to make review easier (here and in napari#5439
    that should in the end just enable CI on 3.11)
    
    No tests added, as it will become an error in future Python version
    anyway.
    Carreau authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    3ef3966 View commit details
    Browse the repository at this point in the history
  6. Fix features issues with init param and property setter (napari#5646)

    # Description
    This introduces a `feature_defaults` init parameter and property setter
    for the three layer types that support that (points, shapes, and
    vectors). It also fixes some related issues that occur when adding
    feature-derived colors when modifying the feature defaults in-place.
    
    Note that the `feature_defaults` is deliberately a little different to
    the `current_properties` setter, as the latter also has the side-effect
    of setting the feature values of the selected elements to the new
    current property values. Also, using the `feature_defaults` setter with
    keys/columns that are extra/missing compared to `features` will result
    in an error.
    
    ## Type of change
    - [x] Bug-fix (non-breaking change which fixes an issue)
    - [x] New feature (non-breaking change which adds functionality)
    
    # References
    Closes napari#5632
    Closes napari#5634
    
    # How has this been tested?
    - [x] added new tests to cover bugs and setter
    - [x] all tests pass with my change
    andy-sweet authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    b2d70f5 View commit details
    Browse the repository at this point in the history
  7. Skip pyside6 version 6.4.3 for tests (napari#5683)

    This skips version 6.4.3 of pyside6 when testing to avoid the problems
    described in napari#5657. It does not close that issue, but at least reduces
    noise on the PR tests.
    
    - [x] Bug-fix (non-breaking change which fixes an issue)
    
    Related to napari#5657
    
    - [x] all tests pass with my change
    andy-sweet authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    89ebcb2 View commit details
    Browse the repository at this point in the history
  8. Bugfix: Don't double toggle visibility for linked layers (napari#5656)

    Co-authored-by: Grzegorz Bokota <bokota+github@gmail.com>
    
    # Description
    
    This PR stores the layer visibility states prior to toggling layers and
    then checks against it to ensure that layers are toggled relative to
    that initial state. This makes sure they are not double toggled if
    linked layers are involved.
    Also added a test for the interaction between linked layers and
    toggle_visibility that fails without this PR but now passes.
    
    ## Type of change
    <!-- Please delete options that are not relevant. -->
    - [x] Bug-fix (non-breaking change which fixes an issue)
    
    # References
    Closes napari#5655 
    
    # How has this been tested?
    <!-- Please describe the tests that you ran to verify your changes. -->
    - [x] I added a test that fails on main but passes here
    - [x] all tests pass with my change 
    
    ## Final checklist:
    - [x] My PR is the minimum possible work for the desired functionality
    
    Co-authored-by: Grzegorz Bokota <bokota+github@gmail.com>
    2 people authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    c9424b8 View commit details
    Browse the repository at this point in the history
  9. Bugfix: IndexError slicing Surface with higher-dimensional vertex_val…

    …ues (napari#5635)
    
    # Description
    This fixes an off-by-one error on Surface layers extent data, which was
    causing an IndexError slicing that dimension.
    
    ## Type of change
    - [x] Bug-fix (non-breaking change which fixes an issue)
    
    # References
    closes napari#5620
    Disussed in [community meeting on
    2023-03-15](https://hackmd.io/BXWDZ3i8Q6OAEASrkaSNIQ?view#2023-03-15)
    
    # How has this been tested?
    - [x] all tests pass with my change (though I had to change two of them)
    - [x] thanks to @brisvag who [tested to make sure the mesh was in the
    correct spot wrt an
    image](napari#5620 (comment))
    
    ## Final checklist:
    - [x] My PR is the minimum possible work for the desired functionality
    - [x] I have commented my code, particularly in hard-to-understand areas
    - [x] I have made corresponding changes to the documentation
    - [x] I have added tests that prove my fix is effective or that my
    feature works
    - [x] If I included new strings, I have used `trans.` to make them
    localizable.
    For more information see our [translations
    guide](https://napari.org/developers/translations.html).
    
    ---------
    
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    2 people authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    13666b1 View commit details
    Browse the repository at this point in the history
  10. Enable ruff rules part 4. (napari#5590)

    <!-- What does this pull request (PR) do? Why is it necessary? -->
    <!-- Tell us about your new feature, improvement, or fix! -->
    <!-- If your change includes user interface changes, please add an
    image, or an animation "An image is worth a thousand words!" -->
    <!-- You can use https://www.cockos.com/licecap/ or similar to create
    animations -->
    
    * `INP` flake8-no-pep420 - The pep 420 is something that part of us may
    remember as the reason why napari stop working at some moment because of
    some problematic files in `site-packages`.
    
     * `PYI` flake8-pyi - better type annotation
    * `Q`, flake8-quotes - enforce quoting, but the rule Q000 is disabled
    (see napari#5589).
    * `RSE` # flake8-raise - simplify raise code by remove `()` when
    obsolete.
    * `RET` # flake8-return - simplify code readability by forcing proper
    return schema.
     * `TID` # flake8-tidy-imports - replacement for absolutify imports
    * `TRY` # tryceratops - enforce rules on exception raises like keeping
    in try only this that could raise exception (see why it could create
    problems in napari#5577).
    * `ICN` # flake8-import-conventions - enforce import convention for
    alias (like `import numpy as np`)
     * `RUF`# ruff specific rules -
    
    <!-- Please delete options that are not relevant. -->
    - [x] Maintenance
    
    <!-- What resources, documentation, and guides were used in the creation
    of this PR? -->
    <!-- If this is a bug-fix or otherwise resolves an issue, reference it
    here with "closes #(issue)" -->
    
    <!-- Please describe the tests that you ran to verify your changes. -->
    - [ ] example: the test suite for my feature covers cases x, y, and z
    - [ ] example: all tests pass with my change
    - [ ] example: I check if my changes works with both PySide and PyQt
    backends
          as there are small differences between the two Qt bindings.
    
    - [ ] My PR is the minimum possible work for the desired functionality
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [ ] I have made corresponding changes to the documentation
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] If I included new strings, I have used `trans.` to make them
    localizable.
    For more information see our [translations
    guide](https://napari.org/developers/translations.html).
    Czaki authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    2c9d5fe View commit details
    Browse the repository at this point in the history
  11. FIX: fix translation checking script. (napari#5626)

    The script was not handling string with more than one letter prefix, in
    more details, it was trimming only the first letter of the prefix, and
    thus when evaluating for example a rf"" f-string, the f would not be
    removed, and the eval would look try to interpolate the ftrings in the
    context of the function that then would fail.
    
    Now we keep the prefix, but remove "f" from it.
    
    As a second side effect, this also mean that we now distinguish
    bytestrings (`b""`), anc can just skip over those as they should never
    be translated.
    
    Another addition in the interactive translation updating script, is that
    it now print at the beginning an estimate of the number of places that
    are missing translation or need to be added to the ignore file.
    
    The translation tests will still fail, but this is because there are
    missing translation/entries in the ignore file.
    
    I did not update he ignore file yet to keep things reviewable.
    
    # Description
    <!-- What does this pull request (PR) do? Why is it necessary? -->
    <!-- Tell us about your new feature, improvement, or fix! -->
    <!-- If your change includes user interface changes, please add an
    image, or an animation "An image is worth a thousand words!" -->
    <!-- You can use https://www.cockos.com/licecap/ or similar to create
    animations -->
    
    ## Type of change
    <!-- Please delete options that are not relevant. -->
    - [ ] Bug-fix (non-breaking change which fixes an issue)
    - [ ] New feature (non-breaking change which adds functionality)
    - [ ] Breaking change (fix or feature that would cause existing
    functionality to not work as expected)
    - [ ] This change requires a documentation update
    
    # References
    <!-- What resources, documentation, and guides were used in the creation
    of this PR? -->
    <!-- If this is a bug-fix or otherwise resolves an issue, reference it
    here with "closes #(issue)" -->
    
    # How has this been tested?
    <!-- Please describe the tests that you ran to verify your changes. -->
    - [ ] example: the test suite for my feature covers cases x, y, and z
    - [ ] example: all tests pass with my change
    - [ ] example: I check if my changes works with both PySide and PyQt
    backends
          as there are small differences between the two Qt bindings.  
    
    ## Final checklist:
    - [ ] My PR is the minimum possible work for the desired functionality
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [ ] I have made corresponding changes to the documentation
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] If I included new strings, I have used `trans.` to make them
    localizable.
    For more information see our [translations
    guide](https://napari.org/developers/translations.html).
    Carreau authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    a221f60 View commit details
    Browse the repository at this point in the history
  12. Maint: ImportError -> ModuleNotFoundError. (napari#5628)

    In many cases we actually want to only catch ModuleNotFoundError to
    indicate that the module is not installed, catching/suppressing
    ImportError also tend to hide deeper import issues and may make things
    harder to debug.
    Carreau authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    9d7684c View commit details
    Browse the repository at this point in the history
  13. Bugfix: ensure pan/zoom buttons work, along with spacebar keybinding (n…

    …apari#5669)
    
    # Description
    
    This fixes issues with Pan/Zoom buttons (layer controls) not working and
    the spacebar keybinding to activate pan/zoom mode also not working.
    In napari#4894 there was some refactoring
    which introduced the bugs, see my investigation here:
    napari#5654
    
    This PR fixes the typo, lack of proper layer types, and now moves the
    `hold_for_pan_zoom` to be a Viewer keybinding. As a result, this
    keybinding isn't hard-coded anymore, but is now settable in the
    Preferences > Shortcuts.
    
    ## Type of change
    <!-- Please delete options that are not relevant. -->
    - [x] Bug-fix (non-breaking change which fixes an issue)
    - [x] New feature (non-breaking change which adds functionality)
    - [ ] Breaking change (fix or feature that would cause existing
    functionality to not work as expected)
    - [ ] This change requires a documentation update
    
    # References
    closes napari#5654
    
    # How has this been tested?
    Good question! All tests were passing before this PR, despite the fact
    that things were broken. So I'm open to suggestions how to improve tests
    so we catch stuff better.
    
    
    ## Final checklist:
    - [x] My PR is the minimum possible work for the desired functionality
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [ ] I have made corresponding changes to the documentation
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] If I included new strings, I have used `trans.` to make them
    localizable.
    For more information see our [translations
    guide](https://napari.org/developers/translations.html).
    psobolewskiPhD authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    5794177 View commit details
    Browse the repository at this point in the history
  14. Bugfix: Add Tracks to qt_keyboard_settings (napari#5678)

    # Description
    closes napari#5677
    
    I tracked down the source of the added Transform and Pan/zoom in the
    Viewer keybindings.
    Those are actions/keybinds added in
    napari#4894 for the Tracks layer. But
    Tracks layer wasn't added as an option in the shortcuts table, so they
    appear in the default (Viewer).
    With this PR, I import Tracks and add it to the dropdown so Tracks has
    it's own table and now the actions appear in the proper table, rather
    than under Viewer keybindings.
    
    <img width="1198" alt="image"
    src="https://user-images.githubusercontent.com/76622105/228287187-189cb745-fb6e-4c31-93f1-6ba22e965a56.png">
    
    <img width="1198" alt="image"
    src="https://user-images.githubusercontent.com/76622105/228287227-da2642b7-8f76-4451-bdfa-e6801f47400a.png">
    
    
    
    ## Type of change
    <!-- Please delete options that are not relevant. -->
    - [x] Bug-fix (non-breaking change which fixes an issue)
    - [ ] New feature (non-breaking change which adds functionality)
    - [ ] Breaking change (fix or feature that would cause existing
    functionality to not work as expected)
    - [ ] This change requires a documentation update
    
    # References
    
    
    # How has this been tested?
    <!-- Please describe the tests that you ran to verify your changes. -->
    - [ ] example: the test suite for my feature covers cases x, y, and z
    - [x] example: all tests pass with my change
    - [ ] example: I check if my changes works with both PySide and PyQt
    backends
          as there are small differences between the two Qt bindings.  
    
    ## Final checklist:
    - [x] My PR is the minimum possible work for the desired functionality
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [ ] I have made corresponding changes to the documentation
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] If I included new strings, I have used `trans.` to make them
    localizable.
    For more information see our [translations
    guide](https://napari.org/developers/translations.html).
    psobolewskiPhD authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    6d5374e View commit details
    Browse the repository at this point in the history
  15. Fix automatic naming and GUI exposure of multiple unnamed colormaps (n…

    …apari#5682)
    
    # Description
    Alternative to napari#5662. This is actually addressing the issue, instead of
    inventing new problems to solve :P
    
    This fixes the original problem; this will now work as intended and
    correctly update the dropdown menu and the global `AVAILABLE_COLORMAPS`
    dict.
    
    
    ```
    import napari
    import numpy as np
    v = napari.Viewer()
    i = v.add_image(np.random.rand(10, 10, 10), colormap=np.random.rand(5, 3))
    s = v.add_surface((np.random.rand(5, 3) * 50, np.random.choice(range(5), (3, 3))), colormap=np.random.rand(5, 3))
    ```
    
    
    A side effect of the current version is that instead of `custom`, new
    unnamed colormaps are named `[unnamed colormap i]` where `i` is an
    incremental index. We can change the default to `custom`, if preferred,
    but for now I opted for minimal code changes for easier review.
    
    Note that a notable change (read: bug fix) of this PR is that the code
    above generate 2 different colormaps, instead of overwriting a single
    `custom` colormap.
    
    cc @andy-sweet 
    <!-- What does this pull request (PR) do? Why is it necessary? -->
    <!-- Tell us about your new feature, improvement, or fix! -->
    <!-- If your change includes user interface changes, please add an
    image, or an animation "An image is worth a thousand words!" -->
    <!-- You can use https://www.cockos.com/licecap/ or similar to create
    animations -->
    
    ## Type of change
    <!-- Please delete options that are not relevant. -->
    - [x] Bug-fix (non-breaking change which fixes an issue)
    - [ ] New feature (non-breaking change which adds functionality)
    - [ ] Breaking change (fix or feature that would cause existing
    functionality to not work as expected)
    - [ ] This change requires a documentation update
    
    # References
    <!-- What resources, documentation, and guides were used in the creation
    of this PR? -->
    <!-- If this is a bug-fix or otherwise resolves an issue, reference it
    here with "closes #(issue)" -->
    
    # How has this been tested?
    <!-- Please describe the tests that you ran to verify your changes. -->
    - [ ] example: the test suite for my feature covers cases x, y, and z
    - [ ] example: all tests pass with my change
    - [ ] example: I check if my changes works with both PySide and PyQt
    backends
          as there are small differences between the two Qt bindings.  
    
    ## Final checklist:
    - [ ] My PR is the minimum possible work for the desired functionality
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [ ] I have made corresponding changes to the documentation
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] If I included new strings, I have used `trans.` to make them
    localizable.
    For more information see our [translations
    guide](https://napari.org/developers/translations.html).
    brisvag authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    95a3532 View commit details
    Browse the repository at this point in the history
  16. Update PR template to front-load issue references (napari#5659)

    # Description
    
    Currently, when PRs have long and detailed descriptions (a good
    thing!!!), it's
    hard to find the reference to the issue(s) that they close. This updates
    the
    template so that those issues are linked right at the top, before the
    description.
    
    I think a lot of the stuff at the bottom of the PR template is cruft (it
    was
    created a long time ago), but we can discuss that in separate
    issues/PRs.
    jni authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    e30e3d0 View commit details
    Browse the repository at this point in the history
  17. Unvendor lazy_loader (napari#5681)

    Now that `lazy_loader` is being released as a package, it may be easier
    to depend on it than to vendor the code.
    
    @tlambert03 has implemented a feature in `lazy_loader` that allows lazy
    loading, while also letting type checkers do their jobs. See
    https://scientific-python.org/specs/spec-0001/#type-checkers
    
    I could transition the napari lazy imports to the stub loader in a next
    PR, if that's desired.
    stefanv authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    0c0e5dd View commit details
    Browse the repository at this point in the history
  18. Feature: Add action to set current label to background (with keybindi…

    …ng) (napari#5672)
    
    # Description
    
    This adds an action analogous to the current `new_label` action (current
    keybind `M`) to set the current label to background (0). The default
    keybind has been set to `B` because it's close to space and close M,
    plus B for `background`. Open to other suggestions.
    This is sort of similar to `activate_labels_erase_mode` but in a lot of
    ways more powerful, because you can use the `fill` tool to erase
    contiguous areas.
    
    ## Type of change
    <!-- Please delete options that are not relevant. -->
    - [ ] Bug-fix (non-breaking change which fixes an issue)
    - [x] New feature (non-breaking change which adds functionality)
    - [ ] Breaking change (fix or feature that would cause existing
    functionality to not work as expected)
    - [ ] This change requires a documentation update
    
    # References
    Closes napari#5666
    First came up in a docs PR:
    napari/docs#125 (comment)
    
    # How has this been tested?
    <!-- Please describe the tests that you ran to verify your changes. -->
    - [x] example: I added a test
    - [x] example: all tests pass with my change
    - [ ] example: I check if my changes works with both PySide and PyQt
    backends
          as there are small differences between the two Qt bindings.  
    
    ## Final checklist:
    - [x] My PR is the minimum possible work for the desired functionality
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [ ] I have made corresponding changes to the documentation: will
    update napari/docs#125 once the default keybind
    is settled.
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] If I included new strings, I have used `trans.` to make them
    localizable.
    For more information see our [translations
    guide](https://napari.org/developers/translations.html).
    psobolewskiPhD authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    f74ee07 View commit details
    Browse the repository at this point in the history
  19. resolve conflicts with main

    kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    72d4f63 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    696fb33 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    1e7fc0e View commit details
    Browse the repository at this point in the history
  22. Add some old async definitions back (#29)

    * Add back some things [skip ci]
    
    * Remove pytest markers for old async
    
    * Deprecate loaded
    
    * Empty commit to rerun CI
    
    * Empty commit to rerun CI
    
    * Ignore deprecated introspection
    andy-sweet authored and kcpevey committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    1c552c0 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    92a5954 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2023

  1. Configuration menu
    Copy the full SHA
    cc1e065 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    79baa61 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2023

  1. Configuration menu
    Copy the full SHA
    031e38c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f30a625 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    22e790a View commit details
    Browse the repository at this point in the history