Skip to content

Releases: borodatych/VibeSweep-releases

Release list

VibeSweep 0.2.2

Choose a tag to compare

@borodatych borodatych released this 23 Sep 21:12

ЗАМЕТКИ К ВЫПУСКУ 0.2.2

VibeSweep считает место, которое освободится, а не сумму размеров имён, и переносит крупные папки на другой диск
Этот выпуск разрешает переносить защищённые места — со вторым подтверждением, как в корзине
Выпуск ранний: обкатан на одной машине, подписи Apple нет


1. Главное в этой сборке

Перенос из защищённого места — со вторым подтверждением:

  • Защищённое место переносится только с галочкой «понимаю, всё равно переношу», как в корзине
  • Цена названа до нажатия: пока диск не подключён, приложения, чьи данные там лежат, не запустятся
  • Так переносится, например, образ виртуальной машины Claude из ~/Library/Application Support, если сам Claude закрыт

Защищены и папки, которые содержат защищённое:

  • ~/Library, ~/Library/Caches целиком, домашняя папка и / требуют второго подтверждения — и в корзине, и при переносе
  • Взять папку целиком значит взять и то, что внутри
  • Одна папка кэша свободна, папка всех кэшей — нет

2. Что есть

  • Три величины и объяснение расхождений
    Логический размер, занято на диске, освободится при удалении
    Жёсткие ссылки и клоны APFS считаются один раз
    Карточка узла показывает, у какого тела сколько имён, какой inode и где второе имя
  • Пять способов смотреть
    Список, колонки как в Finder, плоский топ по всему скану с фильтрами, кольцевая диаграмма, плитки
    Переключение сохраняет место, выделение и галочки
  • Панель тома
    Занято именно томом, а не контейнером APFS
    Рядом свободное место, purgeable и «Finder показывает», снапшоты Time Machine числом и датой
  • Корзина с цифрой «освободится после очистки»
    Видно, какие блоки делятся с остальным диском и какие процессы держат файлы открытыми
    Журнал корзины с «вернуть» переживает перезапуск
    Защищённые места и папки, которые их содержат, требуют второго подтверждения
  • Перенос папки на другой диск
    На прежнем месте остаётся символическая ссылка: пока диск подключён, приложения не замечают разницы
    До нажатия виден разбор: размер, число файлов, время, запреты и предупреждения
    Папку, которую держит работающая программа, не трогает: занятость проверяется в разборе, перед копированием и после него
    Источник удаляется только после сверки копии, а место папки не пустеет ни на миг: сначала встаёт ссылка, потом уходит старая копия
    Защищённое место переносит только со второй галочкой
    Журнал переносов умеет вернуть папку на место
  • Сторож ссылок
    При запуске и при каждом возвращении окна в фокус VibeSweep проверяет все перенесённые папки
    Сломанная ссылка видна строкой с кнопкой «Журнал»: диск отключён, папку удалили или приложение заменило ссылку своей папкой
  • Проверка индекса Spotlight
    Различает «индексация выключена», «индекс замёрз» и «папка исключена из поиска»
    Команду починки показывает текстом, системный пароль в своём окне не спрашивает
  • Настройки
    Язык, тема, порог свёртки мелочи, число потоков, исключения, заход в отсканированную папку
  • Ни одного сетевого вызова
    У ядра нет сетевых зависимостей, и это проверяется тестом при сборке

3. Ограничения этой сборки

  • Подпись ad-hoc
    Первый запуск — правым кликом → «Открыть», двойной клик macOS отклонит
    Нотаризации нет
  • Только macOS
    Windows и Linux — планы, не обещание
  • Проверка занятости видит только ваши процессы
    Системные и чужие процессы без прав не читаются, и разбор говорит, сколько таких не проверено
    Поэтому папку программы переносите, когда сама программа закрыта
  • Правил уборки ещё нет
    Удаление выбирает человек, каталог «что можно снести» будет дальше
  • Кнопки «починить индекс поиска» нет
    Только команда с кнопкой «скопировать»
    Появится вместе со штатной авторизацией macOS, не раньше

4. Проверено

Универсальный образ: lipo -archs → x86_64 arm64
Восемь гейтов проекта зелёные, перенос проверен тестом на настоящем втором томе APFS
Защищённое место без галочки не переносится и остаётся нетронутым, с галочкой переносится — это проверяют тесты ядра
Корзина с ~/Library целиком без второго подтверждения ничего не трогает — это проверяет тест оболочки
Живьём прогонялось на Apple Silicon
На Intel собрано, но не запускалось — такой машины у проекта нет