Skip to content

Releases: akalikbergenov/cyclop

Cyclop 0.6.3

Choose a tag to compare

@akalikbergenov akalikbergenov released this 07 Aug 13:21

Почти весь релиз — работа @ispy4you, сделанная за одни сутки.

Вкладки снова переключаются, когда в браузере играет ролик. Обложка
неквадратной формы — превью 16:9, какое отдаёт видео во вкладке, — вылезала за
свою рамку на 46 pt в каждую сторону. Слева этот невидимый свес ложился поверх
рельса вкладок: четыре средние иконки переставали отвечать и на наведение, и на
щелчок, и оставался доступен только «Перевод» — он ниже свеса. У Apple Music и
Spotify обложки квадратные, свеса нет, поэтому баг долго не воспроизводился.

Нашли @Ariet2003 и @CryptoHardCoder — со снятым видео, без которого условие не
поймалось бы, — разобрал и починил @ispy4you
(#22,
#28).

Копия с полки вставляется один раз, а не два. Карточка уезжала в буфер
двумя объектами — отдельно картинкой, отдельно файлом, — и приложение,
принимающее и то и другое, вставляло снимок дважды. Правка — @ispy4you
(#24).

Скрытые календари больше не показываются в панели. Если в Календаре снят
чекбокс у календаря — например, у одного из подключённых через Google, — его
встречи не попадают и в Cyclop. Раньше панель показывала всё, до чего
дотягивалась, включая то, что человек у себя выключил. Нашла @alinaermish,
разобрал и починил @ispy4you
(#30,
#32).

Кнопка подключения у пересекающихся встреч. Когда два звонка стоят на одно
время, подключиться можно было только к тому, который панель считала ближайшим;
второй лежал в списке временем и заголовком, и попасть в него из панели было
нельзя. Теперь своя кнопка есть у каждой встречи, пересекающейся с ближайшей.
Правка — @ispy4you
(#35).


Установка описана в README.
Обновление — открыть образ и заменить приложение; разрешать заново не придётся.

SHA-256 db01f3fce1ff741aba5eeef304e5c56ac1d318cac4fe5fa0a6b46a96233f4c39

Проверить: shasum -a 256 Cyclop-0.6.3.dmg


What's Changed

  • Обложка не своей формы перестала накрывать рельс (#22) by @ispy4you in #28
  • Полка: копия карточки уходит одним элементом, а не двумя by @ispy4you in #24
  • CalendarStore: не показывать события из скрытых календарей (#30) by @ispy4you in #32
  • CalendarPane: кнопка Join у встреч, пересекающихся с ближайшей (#30) by @ispy4you in #35

New Contributors

Full Changelog: v0.6.2...v0.6.3

Cyclop 0.6.2

Choose a tag to compare

@akalikbergenov akalikbergenov released this 06 Aug 14:23

Для тех, кто собирает приложение сам.

Сборка больше не выдаёт молча неподписанное приложение. Если подпись не
прошла, скрипт останавливается с ошибкой — раньше он печатал мягкое
предупреждение, доходил до «готово», и в build/ оказывался бандл вообще без
подписи. Заметить это можно было только по возвращающимся запросам доступа,
уже поставив приложение.

Срабатывало это не в теории: iCloud вешает на файлы служебный атрибут, с
которым codesign работать отказывается, а папка «Рабочий стол»
синхронизируется с iCloud у многих по умолчанию — клон репозитория там
переставал подписываться. Теперь атрибуты снимаются перед подписью, а
результат проверяется. Та же проверка добавлена в CI.

Нашёл и разобрал @iFuzYs (#19).

Ставившим из образа обновляться незачем — приложение не изменилось.


Установка описана в README.
Обновление — открыть образ и заменить приложение; разрешать заново не придётся.

SHA-256 d2f03a8f139d4fc8583c58425ce267185a285c7b575a0aef5c5cf75a5344b9da

Проверить: shasum -a 256 Cyclop-0.6.2.dmg


Full Changelog: v0.6.1...v0.6.2

Cyclop 0.6.1

Choose a tag to compare

@akalikbergenov akalikbergenov released this 06 Aug 13:00

Правки безопасности, пришедшие от @DontTrustMexD.

Кнопка «Подключиться» открывает только созвоны. Раньше она открывала любую
ссылку из события календаря — а событие в календарь может положить кто угодно,
знакомство для этого не требуется, только адрес. Теперь открываются лишь
известные сервисы (Meet, Zoom, Teams, Webex и другие) и только по https.
Встреча с посторонней ссылкой остаётся на месте, но кнопки не получает: сама
ссылка никуда не делась и видна в Календаре, где выглядит тем, чем является.

Название трека больше не может притворяться. Для вкладки браузера его
заполняет сама страница, то есть тот, кто её написал. Текст теперь обрезается
и лишается символов, которые не появляются в строке, а переворачивают её;
обложка ограничена по размеру до того, как попадёт в системный декодер.

Буфер обмена надёжнее пропускает чужое. К отметке менеджеров паролей
добавлены ещё две, которыми приложения помечают служебные копирования, а
проверка стала замечать их и в тот момент, когда данные ещё в пути.

У каждого релиза теперь есть SHA-256 в заметках: образ подписан ad-hoc, и
контрольная сумма — единственный способ убедиться, что скачан именно он.


Установка описана в README.
Обновление — открыть образ и заменить приложение; разрешать заново не придётся.

SHA-256 dd78ced306640190c59db4cec07b6d77e9cc8306dfb381ec17cda3ed3135545f

Проверить: shasum -a 256 Cyclop-0.6.1.dmg


Full Changelog: v0.6.0...v0.6.1

Cyclop 0.6.0

Choose a tag to compare

@akalikbergenov akalikbergenov released this 06 Aug 12:34

Скрывать содержимое — панель научилась закрывать то, что показывает, полем
мерцающих точек: для созвона с демонстрацией экрана, стрима или кафе. В
меню-баре — «Скрывать содержимое»: «Всё» одним пунктом или по разделам — буфер,
заготовки, календарь, заметки.

Скрытая строка не рисуется вовсе — это не блюр и не прозрачность, в кадре
нечего восстанавливать. Поле закрывает всю строку, а не форму букв: силуэт
выдал бы длину. Имена заготовок остаются читаемыми, у заметок вместо текста —
время правки. Глазок раскрывает строку на время; сворачивание панели закрывает
всё обратно. Копирование работает поверх — скрытым можно пользоваться, не
показывая. VoiceOver произносит «Скрыто», а не текст.

По умолчанию выключено: пока не включишь руками, панель выглядит и ведёт себя
как раньше.

Предложил и написал @a58becde — в ответ на самый обсуждаемый отзыв о
приложении. Спасибо!


Установка описана в README.
Обновление — открыть образ и заменить приложение; разрешать заново не придётся.


What's Changed

  • Скрытие содержимого панели, когда в экран смотрит кто-то ещё by @a58becde in #17

Full Changelog: v0.5.3...v0.6.0

Cyclop 0.5.3

Choose a tag to compare

@akalikbergenov akalikbergenov released this 06 Aug 10:47

Релиз сообщества: всё в нём найдено или написано людьми, пришедшими после
видео, — в первые же двое суток жизни репозитория.

Позиция трека больше не сбрасывается при открытии панели. У браузерных
вкладок она вставала в ноль, потому что MediaRemote отдаёт не бегущие часы, а
отсчёт с меткой времени; теперь отсчёт старится по метке. Диагноз и правка —
@DontTrustMexD.

Маки без выреза: синтетическая челка стала высотой ровно с меню-бар и
перестала перехватывать клики в его середине — курсор к иконкам бара проходит
свободно, а панель зовётся у самой кромки. Правка — @a58becde, с промерами и
снимками на M1 13".

Шесть мелочей по отчётам @ispy4you: панель не остаётся сквозной для кликов
после смены дисплеев; perl-хелпер не висит в памяти после отказа маршрута;
картинка с полки уходит в буфер своим настоящим типом, а не «TIFF»;
«Выбрано: N» не переживает перезагрузку полки; галочки меню-бара не устаревают,
а размер папки снимков считается вне главного потока; CI-проверка перевода
видит все строки интерфейса, а не только явные.


Установка описана в README.
Обновление — открыть образ и заменить приложение; разрешать заново не придётся.


What's Changed

  • Не сбрасывать позицию трека при открытии панели by @DontTrustMexD in #2
  • Синтетическая челка: высота по меню-бару и не занятая середина бара by @a58becde in #15

New Contributors

Full Changelog: v0.5.2...v0.5.3

Cyclop 0.5.2

Choose a tag to compare

@akalikbergenov akalikbergenov released this 06 Aug 10:15

Починена потеря заготовок. Заготовка, добавленная без имени, делала
snippets.json нечитаемым для самого приложения: вкладка пустела, а следующее
добавление записывало эту пустоту поверх файла. Теперь безымянные записи
читаются, как и задумано форматом, — а файл, сломанный ручной правкой,
приложение никогда не перезаписывает: панель показывает предупреждение, клик
по нему открывает файл.

Спасибо за точные отчёты — #14
и #7.


Установка описана в README.
Обновление — открыть образ и заменить приложение; разрешать заново не придётся.


Full Changelog: v0.5.1...v0.5.2

Cyclop 0.5.1

Choose a tag to compare

@akalikbergenov akalikbergenov released this 05 Aug 15:15

Каретка в новой заметке. «+ Новая заметка» создавал заметку, но печатать в
неё можно было только после клика по полю. Теперь каретка на месте сразу — и у
новой заметки, и при переключении между ними: рука не сходит с клавиатуры.


Установка описана в README.
Обновление — открыть образ и заменить приложение; разрешать заново не придётся.


Full Changelog: v0.5.0...v0.5.1

Cyclop 0.5.0

Choose a tag to compare

@akalikbergenov akalikbergenov released this 05 Aug 15:04

Временные заметки — справа появился второй столбец иконок, и открывают его
они. Быстро записать телефон из разговора, кусок ссылки, мысль на полчаса;
вернуться, удалить или унести через буфер обмена. Наведение сразу даёт каретку —
если заметок нет, пустая создаётся сама, — а пустые заметки убирают себя при
уходе с вкладки. Это сознательно не работа с заметками: ни папок, ни
форматирования, ни поиска — замена редактору с безымянным буфером, который
держат открытым ради «записать на время». Всё переживает перезапуск.

Крестик на полке больше не прячется. Удаляешь карточки подряд, не двигая
мышью, — следующая подъезжает под курсор уже с крестиком. Раньше он появлялся
только после случайного шевеления, и клик вместо удаления выделял карточку.


Установка описана в README.
Обновление — открыть образ и заменить приложение; разрешать заново не придётся.


Full Changelog: v0.4.0...v0.5.0

Cyclop 0.4.0

Choose a tag to compare

@akalikbergenov akalikbergenov released this 05 Aug 14:32

Панель больше не зависает. Набрать что-нибудь в «Переводе» и увести курсор
оставляло её раскрытой на экране до следующего наведения. Причина оказалась на
стыке SwiftUI и AppKit: состояние закрывалось, а перерисовка терялась. Теперь
клавиатура отдаётся и панель сворачивается в разные проходы цикла, и картинка
не отрывается от состояния. Заодно панель сворачивается при смене рабочего
стола и при засыпании дисплея.

Простой стал нулевым. Правило одно на всё приложение: таймер живёт, только
пока на результат его работы кто-то смотрит. Полоса трека не двигается в
закрытой панели, календарь не пересчитывает отсчёт, который никто не видит, а
опрос курсора падает до 8 Гц, как только курсор замер, — даже припаркованный в
меню-баре, где раньше он держал полную частоту вечно. При неподвижном курсоре
приложение занимает 0.0 % CPU — измерено, а не округлено.

Папку снимков можно очистить из меню-бара. Пункт показывает её текущий
размер, файлы уходят в Корзину — не безвозвратно. Сама папка по-прежнему
никогда не чистится автоматически.


Установка описана в README.
Обновление — открыть образ и заменить приложение; разрешать заново не придётся.


Full Changelog: v0.3.0...v0.4.0

Cyclop 0.3.0

Choose a tag to compare

@akalikbergenov akalikbergenov released this 05 Aug 13:07

Первый выпуск с образом для установки — раньше приложение можно было только
собрать самому.

Шесть вкладок. К плееру, полке и буферу обмена добавились три: «Заготовки» —
короткий постоянный список того, что надоело набирать; «Календарь» — ближайшая
встреча с отсчётом и кнопкой подключения к созвону; «Перевод» — офлайн, на
средствах самой macOS, ничего никуда не уходит.

Вкладки переключаются наведением. Но только если курсор на иконке
задержался: проходящий мимо ничего не переключает.

Снимок с айфона попадает на полку сам. Быстрая команда на телефоне из двух
шагов — «Снимок экрана» и «Скопировать в буфер», — а Continuity доносит его до
мака. Ни облака, ни общей сети, ни единого тапа сверх нажатия кнопки.

Русский и английский. Язык выбирается системный; поменять его одному
приложению можно в Системных настройках → Основные → Язык и регион → Программы.


Установка описана в README.
Первый запуск потребует один раз разрешить приложение в Системных настройках:
образ подписан ad-hoc, без Developer ID.


Full Changelog: https://github.com/akalikbergenov/cyclop/commits/v0.3.0