Mirall/ownCloud Client, версія 1.2.0

Позавчора стала доступна програма для синхронізації файлів з ownCloud 4.5.x, за версією 1.2.0. Завантажити можливо звідси. Один з розробників, Klaas Freitag, у своєму блозі наголошує, що під час підготовки версії, багато уваги було надано покращенню швидкодії клієнта. На приклад, користувачі Mac OS X і Windows відчували суттєві незручності через недостатню швидкодію. Це було пов’язано з використанням QFileSystemWatcher для пошуку змін у локальній файловій системі, але згодом з’ясувалося, що цей механізм не дуже підходить для такої задачі. Так, пошук змін у дереві файлової системи проходив добре лише на потужних сучасних комп’ютерах, але перевантажував повільніші, і викликав зменшення автономної роботи на портативних пристроях. Тепер зміни у дереві визначаються без перечитування самого дерева. Якщо зміни виявлено, то запускається синхронізація.

Ще одна пов’язана з швидкодією проблема проявлялася при вивантаженні файла. Вивантаження відбувалося за допомогою HTTP PUT запитів. Вихідний файл копіювався у тимчасовий, а з того формувалося тіло запиту. Тут були необхідні покращення, тому довелося змінити код так, що тепер читання відбувається безпосередньо з вихідного файлу.

Ще одна річ, яку покращено у 1.2.0 – це звітування про помилки. Попередня версія клієнта частенько присилала звіти, по яким неможливо було точно зрозуміти у чому саме зміст помилки. Так траплялося через те, що csync використовує errnos (той самий, з errno.h) для найменування помилок, так csync маркує все у POSIX форматі. Це, звісно працює, до тих пір, доки мова йде лише про файлову систему. Але дуже важко маркувати проблеми HTTP зв’язку у такий спосіб. Тому довелося створити власний errnos, і використання його для опису помилок виявилося чудовою ідеєю. Звітування про помилки тепер працює набагато краще.

Також було покращено діалог установки і деякі інші діалоги. Як завжди, нові іконки. Допрацьоване контекстне меню і піктограми статусу.

Посилання:

Mirall/ownCloud Client, версія 1.2.0