Skip to content

Conversation

@JoeZiminski
Copy link
Member

@JoeZiminski JoeZiminski commented Dec 17, 2025

This PR fixes an issue (mentioned in #618) that required clicking on the directory tree widget (e.g. a particular folder) before it was possible to use the keyboard shortcut. Now the widget grabs focus on mouse move so clicking the widget to give it focus is not necessary.

To test this PR, going to the directory tree and pressing CTRL+O while holding the mouse over a folder should open it in the finder. You shouldn't need to click on the widget before doing this for it to work.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the codebase to be compatible with Textual version 3.4.0 and later. While the title mentions fixing a directorytree focus issue, the actual focus fix implementation is not included in the provided diffs. The changes primarily address API compatibility updates and dependency management.

Key Changes:

  • Updated test assertions from .renderable to .render().plain to match newer Textual API
  • Relaxed Textual dependency from pinned version to minimum version constraint
  • Changed widget usage from Static to Label in setup_gdrive.py

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/tests_tui/tui_configs_base.py Updated test assertions to use .render().plain instead of .renderable
tests/tests_tui/test_tui_widgets_and_defaults.py Updated test assertions to use .render().plain instead of .renderable
tests/tests_tui/test_tui_logging.py Updated test assertions to use .render().plain instead of .renderable
tests/tests_tui/test_tui_get_help.py Updated test assertions to use .render().plain instead of .renderable
tests/tests_tui/test_tui_directorytree.py Updated test assertions to use .render().plain instead of .renderable
tests/tests_tui/test_tui_create_folders.py Updated test assertions to use .render().plain instead of .renderable
tests/tests_tui/test_tui_configs.py Updated test assertions to use .render().plain instead of .renderable
tests/tests_tui/test_local_only_project.py Updated test assertions to use .render().plain instead of .renderable
tests/tests_transfers/gdrive/test_tui_setup_gdrive.py Updated test assertions to use .render().plain instead of .renderable
tests/tests_transfers/aws/test_tui_setup_aws.py Updated test assertions to use .render().plain instead of .renderable
pyproject.toml Changed textual dependency from exact version ==3.4.0 to minimum version >=3.4.0
datashuttle/tui/screens/setup_gdrive.py Changed import and usage from Static to Label widget
.github/workflows/code_test_and_deploy.yml Reordered test execution to run general tests before specialized connection tests
Comments suppressed due to low confidence (1)

pyproject.toml:22

  • Changing from a pinned version textual==3.4.0 to a minimum version constraint textual>=3.4.0 may introduce compatibility issues with future versions of textual that could break the application. Consider using an upper bound constraint like textual>=3.4.0,<4.0.0 to allow patch and minor version updates while preventing potentially breaking major version changes.
    "textual>=3.4.0",

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@JoeZiminski JoeZiminski modified the milestones: v0.8.0, v0.9.0 Dec 20, 2025
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.

2 participants