Skip to content

Update deprecated macOS APIs in native file dialogs#42

Draft
Copilot wants to merge 48 commits intotrunkfrom
copilot/update-deprecated-macos-apis
Draft

Update deprecated macOS APIs in native file dialogs#42
Copilot wants to merge 48 commits intotrunkfrom
copilot/update-deprecated-macos-apis

Conversation

Copy link

Copilot AI commented Feb 10, 2026

Eliminates deprecation warnings in src/she/osx/native_dialogs.mm from macOS 10.13+ and 12.0+ APIs.

Changes

Modal response constants (deprecated macOS 10.13):

  • NSFileHandlingPanelCancelButtonNSModalResponseCancel
  • NSFileHandlingPanelOKButtonNSModalResponseOK

File type filtering (deprecated macOS 12.0):

  • Migrated from setAllowedFileTypes: to setAllowedContentTypes:
  • Convert file extensions to UTType objects via typeWithFilenameExtension:
  • Runtime check @available(macOS 11.0, *) with dual fallback:
    • macOS < 11.0: uses deprecated API
    • UTType conversion failure: uses deprecated API (still supported on 11.0+)
  • Autorelease for non-ARC memory management

Not addressed: SimpleIni.h sprintf warnings (third-party git submodule)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Nidrax and others added 30 commits February 1, 2026 20:31
Skip overlay updates when frame limiter prevents flip
- For Latin scripts, Cyryllic, Greek etc now uses
  Pixeloid for normal UI font and Tiny5 for mini font,
  defaults to Noto for other writing scripts.
- Adds the ability to set different font sizes for different font faces
Yeah... not much to add. This piece of garbage is ugly.
Fuck this code.
And fuck the asshole who decided to make a living hell of live for
anyone who tries to analyze this code, by not putting in spacing around
operators as if they were getting electro-cutted every time they touched
the space bar.
Who needs obfuscation when you can let psychopaths write the code, I guess.
Motherfucker just forgot they're committing to an open-source project.
Thanks for draining out any will to live I had left in me for tonight.

Closes #6
Updated:
- documentation
- build config
- desktop files
- installers
- GitHub workflow files
- CMakeLists.txt files in src, desktop, and emscripten
- data files and source config

Co-authored-by: Daniel Praźmo <d.prazmo@icloud.com>
…workflow with locally working happy path to test changes remotely
The 'ri' and 'te' letter clusters had too much visual negative space
between them when every character was spaced out evenly, so I've
cut the kerning between those two pairs of letters in half
Provides a meaningful error dialog to the user if something is wrong with the filename.
Also anticipates any unexpected behaviors that may occur if feeding such unverified
paths to fopen()/_wfopen() (like e.g. allowing filenames with ':' on Windows that ends
up writing to an alternate NTFS stream which is confusing to the user and useless for
LibreSprite use-case in general).
…sn't really make sense to forcefully disallow user from doing it)
…ession compared to zero

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Nidrax and others added 14 commits February 7, 2026 02:13
(screen renders fine under macOS and Linux, so no fixes needed for those platforms)
- Add condition for NO_SW_CHANGE tag to skip builds on commits that
  do not update the source code
- Update CodeQL workflow to v2
- Optimize the macOS workflow

NO_SW_CHANGE
- Added CMake custom targets for cppcheck, clang-tidy, and gcc-analyzer
- Created GitHub Actions workflow for running static code analysis
- Each analysis tool runs in a separate job with continue-on-error
- Tools automatically detect if they're available on the system

Add documentation for static code analysis targets

- Added comprehensive documentation to INSTALL.md
- Documented all three analysis targets (cppcheck, clang-tidy, gcc-analyzer)
- Included installation instructions for analysis tools on all platforms
- Updated table of contents

PERFORM_CA
NO_SW_CHANGE
* Add i18n extraction tool
* Update CodeQL workflow to analyze Python scripts
* Add translations for new i18n keys

Co-authored-by: Daniel Praźmo <d.prazmo@icloud.com>
Closes #41
Copilot AI and others added 4 commits February 10, 2026 21:47
Co-authored-by: Nidrax <4753308+Nidrax@users.noreply.github.com>
Co-authored-by: Nidrax <4753308+Nidrax@users.noreply.github.com>
Co-authored-by: Nidrax <4753308+Nidrax@users.noreply.github.com>
Co-authored-by: Nidrax <4753308+Nidrax@users.noreply.github.com>
Copilot AI changed the title [WIP] Update deprecated macOS APIs in project Update deprecated macOS APIs in native file dialogs Feb 10, 2026
Copilot AI requested a review from Nidrax February 10, 2026 21:50
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