Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni
🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!23.03.2025
Редагування статусів у Mastodon та інше
Інкрементальні покращення для OmniWope:
Вчора помітив несподівану та неприємну особливість: якщо додати вихід (як я Mastodon), коли інший вже був живий (як в мене Telegram), то редагування старих постів викидують їх у новий вихід. Впровадив можливість вказати start_date
для виходу, щоб цього обминути. Допоможе це й тим, в кого вже був блог та публікація вестиметься не з першого поста.
Тут треба розповісти, як я відстежую, що публікувати. Я зберігаю для кожного поста контрольну суму його вхідного змісту. Коли вона змінюється, пост надходить на публікацію до кожного виходу. Вихід будує вихідний зміст та обчислює другу контрольну суму, яка теж зберігається, для кожного виходу окремо. Та якщо вже вона зміниться, то тоді вже пост йде на зовнішній сервіс.
Пощастило, що поки я збирався публікувати в Федиверс, в GoToSocial - мого сервера — зʼявилася можливість редагування. Тож сьогодні додав потрібний виклик та все запрацювало. Цікаво, що в ActivityPub редагування статусів є федерованою операцією, тобто не можна бути впевненим, що воно доїде до кожного отримувача.
Також зробив свій перший PR до GoToSocial, який, звісно, міняє два рядки в документації, але досить важливих. Бо я спочатку сам не міг зрозуміти, як воно працює. Втім, переміг здоровий глузд та експериментація.