Skip to content

Release v2.4.17#5580

Closed
tig wants to merge 6 commits into
mainfrom
release/v2.4.17
Closed

Release v2.4.17#5580
tig wants to merge 6 commits into
mainfrom
release/v2.4.17

Conversation

@tig

@tig tig commented Jul 7, 2026

Copy link
Copy Markdown
Member

Release v2.4.17

Version: 2.4.17
NuGet Package: Terminal.Gui 2.4.17

What happens when this PR is merged

  1. ✅ The Finalize Release workflow will automatically create tag v2.4.17
  2. ✅ The Publish workflow will build and push to NuGet.org
  3. ✅ A GitHub Release will be created with auto-generated notes
  4. ✅ A back-merge PR from maindevelop will be opened

Checklist

  • CI passes on this PR
  • Version looks correct: 2.4.17
  • Release notes reviewed (will be auto-generated on merge)

tig and others added 6 commits June 28, 2026 11:46
Back-merge v2.4.16 from main into develop
---
updated-dependencies:
- dependency-name: Microsoft.Extensions.Options
  dependency-version: 10.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
#5569)

* Fixes #5544 #issuecomment-4836836706. FileDialog/OpenDialog: one unreadable entry makes the entire directory render empty (`FileDialogState.GetChildren` swallows the exception)

* Fixes #5570. FileDialog/OpenDialog tree builder crash on unreadable entries
---
updated-dependencies:
- dependency-name: GitVersion.MsBuild
  dependency-version: 6.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…ild-6.8.0

Bump GitVersion.MsBuild from 6.7.0 to 6.8.0
…sions.Options-10.0.9

Bump Microsoft.Extensions.Options from 10.0.7 to 10.0.9

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 76dfb25911

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


internal class FileDialogState
{
private static readonly EnumerationOptions _ignoreInaccessibleEnumerationOptions = new () { IgnoreInaccessible = true };

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Set AttributesToSkip=0 when ignoring inaccessible files

In directories containing hidden/system entries (including dotfiles on Unix), this new EnumerationOptions instance keeps the framework default AttributesToSkip value of Hidden | System. Because the file dialog now passes these options to EnumerateDirectories/EnumerateFileSystemInfos, those entries are filtered out before they can be displayed or searched, whereas the previous GetDirectories()/GetFileSystemInfos() calls listed them. Set AttributesToSkip = 0 while enabling IgnoreInaccessible to preserve the existing FileDialog behavior.

Useful? React with 👍 / 👎.

@tig tig closed this Jul 7, 2026
@tig tig deleted the release/v2.4.17 branch July 7, 2026 02:40
tig added a commit that referenced this pull request Jul 7, 2026
…Inaccessible change (#5581)

The switch to EnumerateDirectories/EnumerateFileSystemInfos with
EnumerationOptions { IgnoreInaccessible = true } (from the #5544 follow-up)
kept the framework default AttributesToSkip = Hidden | System, so the file
dialog silently filtered out hidden/system entries — including dotfiles on
Unix, which .NET marks as Hidden. The GetDirectories ()/GetFileSystemInfos ()
calls it replaced never skipped them.

- Clear AttributesToSkip (FileAttributes.None) so hidden/system entries stay
  visible while still ignoring inaccessible ones.
- Fall back to the eager listing methods when the IFileSystem implementation
  throws NotSupportedException for the non-default AttributesToSkip (e.g.
  System.IO.Abstractions.TestingHelpers MockFileSystem).
- Add regression tests covering the enumeration options, the fallback, and
  hidden/system files via MockFileSystem.

Flagged by Codex review on #5580.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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