Notes
Ограничения и приватность¶
Что важно знать¶
| Ограничение | Причина |
|---|---|
| Размер снимков APFS неизвестен | Система не отдаёт его через tmutil; purgeable — оценка, а не гарантированный объём. |
| Клоны APFS считаются как обычные файлы | Публичный API определяет полные клоны и private size, но не карту частично общих extents. Каждый клон учитывается полностью; удаление клона может не освободить место. См. исследование. |
| Файлы меньше 64 КБ не видны по отдельности | Они собраны в строку «Мелкие файлы» внутри папки. Суммы точные, детализация — нет. |
| Даты — с точностью до суток | В дереве хранятся номера дней, а не время: этого достаточно для фильтров и правил очистки, а память экономится. |
Пакеты .app — один объект в рейтингах |
Иначе сотни фреймворков и ресурсов засоряли бы «Крупнейшие» и могли быть удалены по отдельности. |
| Отмена удаления живёт до перезапуска | Стек хранит последние 10 операций; если исходный путь занят, файл не восстанавливается и остаётся в Корзине. |
| Коллекция сбрасывается при новом скане | Индексы узлов относятся к текущему дереву; после перескана их нельзя безопасно сопоставить. |
| История сравнивает только верхний уровень | Для больших изменений внутри одной папки нужен повторный скан; история хранит 30 записей. |
| Жёсткие ссылки учитываются один раз | Вторая ссылка показывает 0 Б; удаление одной ссылки может не освободить блоки до удаления последней. |
| Дубликаты ищутся с порогом размера | По умолчанию 1 МБ; файлы меньше порога не хешируются. Содержимое читается локально и не сохраняется. |
| Дубликаты и жёсткие ссылки — разные вещи | Ссылки исключены из групп, потому что это те же блоки, а не копии. |
| Похожие изображения — эвристика | Vision сравнивает признаки, а не пиксели; порог и до 600 кандидатов за запуск влияют на выдачу. |
| Нет поиска дубликатов | Запланирован в roadmap. |
| Английская локализация неполная | Основные экраны и настройки переведены; длинные пояснения и экспорт отчёта пока на русском. |
| VoiceOver на карте — верхний уровень | Canvas отдаёт список верхнеуровневых ячеек; вложенные детали доступны в таблице. |
| Заброшенные файлы — по mtime | Дата доступа не используется: macOS обновляет или отключает её; рекомендации строятся на дате изменения. |
| Сравнение бюджета с историей — верхний уровень | История хранит размеры только папок корня; для вложенных папок дельта не показывается. |
| Параллельный обход только верхнего уровня | Вложенные папки внутри поддерева обходятся последовательно; на сетевых томах выигрыш меньше. |
| Кэш дерева — один корень | Смена папки перезаписывает кэш; при изменениях выполняется полный скан, а не частичное обновление поддеревьев. |
| Локальная подпись ad-hoc | Релизный workflow подписывает Developer ID и нотаризует при наличии секретов; локальная сборка остаётся ad-hoc. |
Почему размеры иногда отличаются от Finder¶
DiskScope показывает allocated size — сколько места файл реально занимает
на диске. Finder в инспекторе может показывать логический размер. Для
разреженных файлов, архивов, клонов APFS и жёстких ссылок эти числа
расходятся. Для сравнения с du используйте allocated size — он совпадает.
Почему нужен «Полный доступ к диску»¶
macOS TCC скрывает содержимое защищённых каталогов: почты, сообщений, фототеки, домашних папок других пользователей. Без разрешения сканирование продолжается, но эти объекты пропускаются, а в интерфейсе появляется баннер с их количеством.
Порядок выдачи разрешения — в разделе Как пользоваться.
Приватность и безопасность¶
- Приложение не содержит сетевого кода и не отправляет телеметрию.
- Оно читает только метаданные файлов (имена, размеры, типы).
- Единственные записи: настройка последней папки в
UserDefaultsи перемещение выбранных объектов в Корзину по явному подтверждению. - Нет фоновых демонов, автозапуска и повышенных привилегий.
Лицензия¶
Проект распространяется по лицензии MIT. См. LICENSE в корне репозитория.
Что дальше¶
Планы, приоритеты и статус задач — в ROADMAP.md и в issues репозитория.