ForgeFed: ActivityPub-based forge federation protocol
ForgeFed — протокол федерации для хостингов кода и инструментов разработки. Он позволяет разным сайтам обмениваться репозиториями, задачами, PR и т.д., не заставляя пользователей регистрироваться везде.
Расширяет ActivityPub: серверы обмениваются JSON-объектами, а репозитории и трекеры получают «входящие» для удалённого взаимодействия.
Статус
Следить за прогрессом можно в Fediverse и чатах Matrix/Libera.Chat #forgefed.
Реализации
Проект отдан в CC0; копируйте и делитесь!
Комментарии (33)
- Участники обсуждают, стоит ли связываться с ActivityPub/ForgeFed для федерации форджей или проще улучшить email-интеграцию.
- Forgejo уже начал внедрение, но до практической полезности ещё «годы работы»; GitLab тоже ведёт эпик по ActivityPub.
- Мечта — самостоятельно хостить репозитории, не теряя связи с сообществом, но пока приходится мириться с GitHub ради «сетевого эффекта».
- Сомнения в надёжности ActivityPub: пропадают медиа и часть ответов, хотя это скорее проблемы серверов, а не протокола.
- Прогресс полностью зависит от числа добровольцев: спецификация и реализации развиваются только тогда, когда люди берутся за код.
Building Bluesky comments for my blog 🔥 Горячее
Ненавижу Disqus.
Годы вела блог без нормальных комментариев — подходящего решения не находилось.
- Disqus: медленный, тяжёлый, трекает, ничего не контролируешь, тормозит страницы.
- Самостоятельный хостинг: по сути свой мини-соцсервис — пользователи, спам, модерация, БД, задержки.
- GitHub Issues: годится для дев-блогов, но костыль и требует аккаунт GitHub.
- Без комментариев: чисто, но теряются беседы и открытия.
Я давно в Bluesky: комьюнити ок, API вменяемый, децентрализация, люди делают блог-посты в протоколе и комментарии через Bluesky. Почему бы не так же?
Почему Bluesky уместен
- Нет своей инфраструктуры: без БД, аутентификации и модерации — это уже в Bluesky.
- Более богатый контент: изображения, ссылки, треды.
- Реальные профили и переносимость — больше ответственности, меньше троллинга.
- Кроссплатформенность: обсуждения видны и в соцсети, и в блоге.
- Я владею постом, комментаторы — своими реплаями.
Процесс: публикую пост, шарю в Bluesky, добавляю AT URI — ответы на тот пост становятся комментариями в блоге.
Компонент
AT Protocol: DID (did:plc:…/did:web:…), CID, AT URI (at://did…/app.bsky.feed.post/postid). Чтобы получить тред, достаточно вызвать getPostThread с нужным URI, без аутентификации.
Архитектура:
- главный компонент треда;
- компонент ответа с метаданными и ссылкой на оригинал;
- компонент встраиваний (изображения, превью ссылок). Простая и небольшая композиция.
Треды: вложенность произвольная; выбрала рекурсивный рендер с отступами и ограничением в 5 уровней — дальше обычно спор на двоих.
Обогащения: изображения через CDN, часто по несколько — адаптивная сетка + модалка; внешние ссылки — карточки; неизвестные типы — аккуратный фолбэк.
Интеграция с Astro: React + client:load, передаю did и postCid из фронтматтера: bsky: did: "my-bluesky-did" postCid: "the-post-id"
Что узнала
- TypeScript помогает: пакеты с типами (@atcute/client) сняли кучу багов и ускорили разработку.
- Прогрессивное улучшение: комментарии — доп. слой; без JS или при падении API пост остаётся читабельным.
Комментарии (132)
- Автор статьи предлагает использовать Bluesky как систему комментариев для блога, что вызвало оживлённое обсуждение.
- Поддерживающие отмечают простоту интеграции и «открытость» AT-протокола, а критики — зависимость от VC-финансирования, риск lock-in и необходимость иметь аккаунт Bluesky.
- Возникают вопросы модерации спама и удаления оскорблений, а также планы на случай бана или банкротства платформы.
- Альтернативы: Mastodon/ActivityPub, Matrix/Cactus.chat, GitHub Issues, Webmention, «письма редактору» по e-mail или вовсе отказ от комментариев.
- Некоторые участники подчёркивают важность «Can I walk out?» — возможности забрать контент и уйти, если сервис исчезнет.
The importance of offtopic
Я работал удалённо ещё до моды. В первой большой компании нас было двое в Варшаве, остальные — в Осло. Менеджер сказал: «Команда тебя приняла». Парадокс? Нет: был IRC-канал, где мы не только кодили, но и болтали о «Стартреке» и котиках. Компания создала онлайн-«кухню», и люди здоровались, спрашивали «как дела?» — как в офисе.
Пандемия. Я в консалтинге, всё как всегда: рабочие и оффтоп-каналы в Matrix. Нам поручили клиента, который «внезапно» стал удалённым. Менеджер велел включать камеры «ради командного духа». Мы купили вебки и ржали в чате. У клиента не было оффтопа; люди знали друг друга только по рабочим ролям. Ревью превращались в разборки, потому что никто не играл вместе вечерами и не пил пиво по пятницам.
Офлайновые офисы это понимают: кухня, настольный теннис, диванчики. Признание, что 8 часов кодить нереально, и людям нужно дышать. Перенеси работу в онлайн — и вдруг это становится новостью.
Недавно пришёл в «remote-first» компанию без офиса. На собеседовании хвалил оффтоп, и мне ответили: «У нас куча каналов и рандомных кофе-ботов». А по факту — тишина. В #music сбросили ссылку на клип и разошлись. Коллега пояснил: «Релиз на носу, все боятся выглядеть бездельниками». Так уже несколько месяцев.
Сколько ни создавай каналов, без культуры «можно поболтать» они мертвы. В старых командах боссы постили мемы чаще всех — потому что их работа и есть быть в курсе настроений. Если начальство молчит, остальные тоже замолкают.
Комментарии (49)
- Участники обсуждают, как «человеческий элемент» в работе (оффтоп-общение, дружба) повышает удовлетворённость, но может выродиться в клановость и изоляцию.
- Переход на удалёнку усилил страх слежки: в офисе кофе-пауза была приватной, в Slack всё может читаться HR/IT.
- Корпоративная культура часто подавляет неформальность: стартапам позволено шутить, крупным компаниям важно минимизировать конфликт.
- Некоторые считают, что коллеги не обязаны быть друзьями (особенно в Германии), другие подчёркивают пользу доверия и симпатии.
- Технические решения (DM, каналы без истории) могут частично заменить «водопроводные разговоры», но не решают проблему культуры.