Skip to content

Code Quality: Continued working on Shelf Pane #17308

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

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

d2dyno1
Copy link
Member

@d2dyno1 d2dyno1 commented Jul 24, 2025

Resolved / Related Issues

This PR introduces minor changes, unless additional changes are requested. The file watcher was implemented quite some time ago and already works properly, thanks to #16900 and #16728. This PR focuses solely on re-enabling this feature, but can be iterated upon to accommodate any undocumented missing features (if any? - not that I'm aware of)

  • Re-enabled the command for showing the Shelf pane in production
  • Add a "Create link" menu option when dropping an item from the shelf to a folder
  • Add a delete bulk action
  • Add a copy and cut bulk actions
  • Add "View in parent folder" menu option
  • Fixed Shelf's file watcher reference counter logic

Steps used to test these changes

Stability is a top priority for Files and all changes are required to go through testing before being merged into the repo. Please include a list of steps that you used to test this PR.

  1. Opened Files
  2. Confirmed the action shows up appropriately
  3. Confirmed the menu and bulk actions work properly
  4. Confirmed that deleting two (or more) files from the same folder using the bulk delete action properly removes them from the Shelf

@d2dyno1 d2dyno1 marked this pull request as ready for review July 30, 2025 00:04
@yaira2
Copy link
Member

yaira2 commented Jul 30, 2025

@d2dyno1 thank you for the PR! We're not ready to enable this just yet as I still need to add the resize logic.

  • I noticed there are a few new buttons at the bottom of the pane, was this a deliberate change? The original spec had them placed in a context menu, but we never really talked this through. Curious to hear your thoughts.
  • Does the file watcher update the list if items are deleted or renamed externally?

Add "View in parent folder" menu option

This is a nice touch 🙂

@yaira2 yaira2 changed the title Re-enable shelf action feature Code Quality: Continued working on Shelf Pane Jul 30, 2025
@d2dyno1
Copy link
Member Author

d2dyno1 commented Aug 1, 2025

@d2dyno1 thank you for the PR! We're not ready to enable this just yet as I still need to add the resize logic.

If time allows, I can add the resizing logic in this PR (borrowing it from the preview pane).


  • I noticed there are a few new buttons at the bottom of the pane, was this a deliberate change? The original spec had them placed in a context menu, but we never really talked this through. Curious to hear your thoughts.

The buttons were an inspiration from the original spec and I think they can stay for when we roll out the Shelf feature. We can gather feedback on them and the behavior can always be changed in the future. It's not set in stone 🙂


  • Does the file watcher update the list if items are deleted or renamed externally?

Yes, the implementation is based on FileSystemWatcher which does observe the changes across the file system.


Add "View in parent folder" menu option

This is a nice touch 🙂

😉 @yaira2

@yaira2
Copy link
Member

yaira2 commented Aug 4, 2025

If time allows, I can add the resizing logic in this PR (borrowing it from the preview pane).

That would be great, thanks! Aside from the actual resizing of the pane, there are other behaviors that I need to finalize such as smaller window sizes etc.

@yaira2
Copy link
Member

yaira2 commented Aug 4, 2025

Is renaming an item supposed to remove it from the list?

@mdtauk
Copy link
Contributor

mdtauk commented Aug 4, 2025

Where do you plan to put the open shelf toggle button?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants