📦 Liis17/BarkFluff [dev]
👤 claude
📂 docs
└ reply-forward-verification.md ✅1
👤 claude
docs: list what the reply/forward split could not be verified against
Records which checks passed here, which could not run and why, and the exact
steps and risk areas for someone with a full environment.
The gaps are environmental, not optional: the Android build needs
dl.google.com, which the network policy rejects; the WinUI app project needs
the Windows-only XAML compiler; ClientV2.WPF tests need the WindowsDesktop
runtime; and repository rules keep Docker out of verification, so the migration
and the end-to-end flows were never exercised against a real database.
...
📂 docs
└ reply-forward-verification.md ✅1
📦 Liis17/BarkFluff [dev]
👤 claude
📂 Obsidian
└ ClaudeVault ✏️7
👤 claude
docs(obsidian): record that reply and forward are no longer the same thing
Messages.md stated "Reply ≡ Forward на бэке" as the governing fact, and the
Android note documented the loaded-history heuristic as the intended design.
Both are now wrong.
- Messages.md: the split itself, reply as a live reference vs forward as a
snapshot, the legacy field and why old rows were not migrated, the new
columns, ReplyPreviewResolver and ReplyTargetValidator, and why
ReplyToMessageId deliberately has no foreign key.
...
📂 Obsidian
└ ClaudeVault ✏️7
📦 Liis17/BarkFluff [dev]
👤 web-flow
📂 Backend
├ BarkFluff.Federation ✅1 ✏️2
├ BarkFluff.Messages ✅6 ✏️19
└ BarkFluff.Web ✏️6
📂 Shared
├ BarkFluff.Shared.Exceptions ✅3
├ BarkFluff.Proto ✏️3
└ BarkFluff.Shared.Queue ✏️1
📂 Tests
├ BarkFluff.Messages.Tests ✅4 ✏️7
└ BarkFluff.Client.WinUI.Tests ✏️2
📂 Windows
├ BarkFluff.WebApi.Core ✅1 ✏️4
├ BarkFluff.Client.Core ✏️4
├ BarkFluff.Client.WinUI ✏️3
└ BarkFluff.ClientV2.WPF ✏️2
📂 docs
└ reply-forward-verification.md ✅1
📂 Android
├ Barkfluff.Client.Android ✏️5
└ core ✏️3
📂 Obsidian
└ ClaudeVault ✏️7
👤 web-flow
feat(messages): separate reply from forward in schema and contracts (#342)
Reply and forward were the same thing on the backend: both travelled
through
OutgoingMessage.forwarded_message_id and were stored as a
ForwardedMessage
attachment holding a snapshot of the original. Clients told them apart
with a
heuristic ("is the original in the currently loaded page?"), which
misrenders a
...
📂 Backend
├ BarkFluff.Federation ✅1 ✏️2
├ BarkFluff.Messages ✅6 ✏️19
└ BarkFluff.Web ✏️6
📂 Shared
├ BarkFluff.Shared.Exceptions ✅3
├ BarkFluff.Proto ✏️3
└ BarkFluff.Shared.Queue ✏️1
📂 Tests
├ BarkFluff.Messages.Tests ✅4 ✏️7
└ BarkFluff.Client.WinUI.Tests ✏️2
📂 Windows
├ BarkFluff.WebApi.Core ✅1 ✏️4
├ BarkFluff.Client.Core ✏️4
├ BarkFluff.Client.WinUI ✏️3
└ BarkFluff.ClientV2.WPF ✏️2
📂 docs
└ reply-forward-verification.md ✅1
📂 Android
├ Barkfluff.Client.Android ✏️5
└ core ✏️3
📂 Obsidian
└ ClaudeVault ✏️7
📦 Liis17/BarkFluff [dev]
👤 claude
📂 Android
└ Barkfluff.Client.Android ✅1 ✏️4
📂 .github
└ workflows ✏️1
📂 Obsidian
└ ClaudeVault ✏️3
👤 claude
Android: доверие CA сервера обновлений и своя загрузка APK
storage.barkfluff.com отдаётся за Cloudflare Origin CA, которого нет в
системном хранилище Android, поэтому проверка обновлений и скачивание APK
не проходили TLS в release-сборке. В CI этот CA уже есть — секрет
CLOUDFLARE_ORIGIN_CA_BUNDLE_B64, которым воркфлоу ходит на storage через
curl --cacert.
Теперь тот же секрет уезжает в APK строкой BuildConfig.STORAGE_CA_PEM_B64,
а UpdateServerTls разворачивает её в SSLSocketFactory + X509TrustManager.
...
📂 Android
└ Barkfluff.Client.Android ✅1 ✏️4
📂 .github
└ workflows ✏️1
📂 Obsidian
└ ClaudeVault ✏️3
📦 Liis17/BarkFluff [dev]
👤 web-flow
📂 Android
└ Barkfluff.Client.Android ✅1 ✏️4
📂 .github
└ workflows ✏️1
📂 Obsidian
└ ClaudeVault ✏️3
👤 web-flow
Android: доверие CA сервера обновлений и своя загрузка APK (#343)
storage.barkfluff.com отдаётся за Cloudflare Origin CA, которого нет в
системном хранилище Android, поэтому проверка обновлений и скачивание
APK
не проходили TLS в release-сборке. В CI этот CA уже есть — секрет
CLOUDFLARE_ORIGIN_CA_BUNDLE_B64, которым воркфлоу ходит на storage через
curl --cacert.
Теперь тот же секрет уезжает в APK строкой
...
📂 Android
└ Barkfluff.Client.Android ✅1 ✏️4
📂 .github
└ workflows ✏️1
📂 Obsidian
└ ClaudeVault ✏️3
✅ Сборка успешна
📦 WPF Client v0.0.0.2087
📌 Ветка:
🔗 Коммит:
👤 Автор: Liis17
🏷️ Тег:
Скачать релиз
📦 WPF Client v0.0.0.2087
📌 Ветка:
dev🔗 Коммит:
697a3e9fc7a9113b3e6e7c1bdb1dfc0b55cd765a👤 Автор: Liis17
🏷️ Тег:
dev-20260812150130-697a3e9-8764Скачать релиз
✅ Сборка успешна
🐳 BarkFluff.Messages
📌 Ветка:
🔗 Коммит:
👤 Автор: Liis17
🏷️ Тег:
🐳 BarkFluff.Messages
📌 Ветка:
dev🔗 Коммит:
697a3e9fc7a9113b3e6e7c1bdb1dfc0b55cd765a👤 Автор: Liis17
🏷️ Тег:
docker.barkfluff.com/barkfluff-messages-dev:1.0.19✅ Сборка успешна
🐳 BarkFluff.Federation
📌 Ветка:
🔗 Коммит:
👤 Автор: Liis17
🏷️ Тег:
🐳 BarkFluff.Federation
📌 Ветка:
dev🔗 Коммит:
697a3e9fc7a9113b3e6e7c1bdb1dfc0b55cd765a👤 Автор: Liis17
🏷️ Тег:
docker.barkfluff.com/barkfluff-federation-dev:1.0.15✅ Сборка успешна
🐋 BarkFluff.Web
📌 Ветка:
🔗 Коммит:
👤 Автор: Liis17
🏷️ Тег:
🐋 BarkFluff.Web
📌 Ветка:
dev🔗 Коммит:
697a3e9fc7a9113b3e6e7c1bdb1dfc0b55cd765a👤 Автор: Liis17
🏷️ Тег:
docker.barkfluff.com/barkfluff-web-dev:1.0.37✅ Сборка успешна
📱 Android Client v0.0.115 beta
📌 Ветка:
🔗 Коммит:
👤 Автор: Liis17
📱 Android Client v0.0.115 beta
📌 Ветка:
dev🔗 Коммит:
697a3e9fc7a9113b3e6e7c1bdb1dfc0b55cd765a👤 Автор: Liis17
✅ Сборка успешна
📱 Android Client v0.0.115 beta
📌 Ветка:
🔗 Коммит:
👤 Автор: Liis17
📱 Android Client v0.0.115 beta
📌 Ветка:
dev🔗 Коммит:
372f1b88fbb35a75cb341fae79da4e6fb06e1384👤 Автор: Liis17
📦 Liis17/BarkFluff [dev]
👤 Liis17
📂 Android
├ tools ✅1
└ Barkfluff.Client.Android ✏️14
👤 Liis17
android: add localization and accessibility checks
📂 Android
├ tools ✅1
└ Barkfluff.Client.Android ✏️14
📦 Liis17/BarkFluff [dev]
👤 Liis17
📂 Android
└ Barkfluff.Client.Android ✏️74
👤 Liis17
android: localize remaining user-facing strings
📂 Android
└ Barkfluff.Client.Android ✏️74
📦 Liis17/BarkFluff [dev]
👤 Liis17
📂 Android
└ Barkfluff.Client.Android ✏️50
👤 Liis17
android: add TalkBack semantics
📂 Android
└ Barkfluff.Client.Android ✏️50
📦 Liis17/BarkFluff [dev]
👤 Liis17
📂 .github
└ workflows ✏️1
📂 Obsidian
└ ClaudeVault ✏️1
👤 Liis17
docs: document Android localization and accessibility rules
📂 .github
└ workflows ✏️1
📂 Obsidian
└ ClaudeVault ✏️1
📦 Liis17/BarkFluff [dev]
👤 Liis17
📂 Android
└ Barkfluff.Client.Android ✅1 ✏️7 ❌1
👤 Liis17
android: satisfy lint for localized UI
📂 Android
└ Barkfluff.Client.Android ✅1 ✏️7 ❌1
📦 Liis17/BarkFluff [dev]
👤 Liis17
📂 Android
└ Barkfluff.Client.Android ✏️1
👤 Liis17
android: refresh media notification locale
📂 Android
└ Barkfluff.Client.Android ✏️1
✅ Сборка успешна
📱 Android Client v0.0.116 beta
📌 Ветка:
🔗 Коммит:
👤 Автор: Liis17
📱 Android Client v0.0.116 beta
📌 Ветка:
dev🔗 Коммит:
9a816acce216aae02b23812a8119ee4b79d8d538👤 Автор: Liis17
📦 Liis17/BarkFluff [dev]
👤 Liis17
📂 Android
└ Barkfluff.Client.Android ✅1 ✏️9
👤 Liis17
android: redesign chats list header and rows
Крупный заголовок «Чаты» со счётчиком непрочитанных, аватар справа,
pill-поле поиска и сворачивание шапки по направлению прокрутки.
Строка чата получила два состояния: непрочитанный чат крупнее
(радиус 28dp, фон primaryContainer, аватар 58dp).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
📂 Android
└ Barkfluff.Client.Android ✅1 ✏️9
📦 Liis17/BarkFluff [dev]
👤 Liis17
📂 Android
├ Barkfluff.Client.Android ✏️6
└ core ✏️1
👤 Liis17
android: redesign chat header and message bubbles
Шапка чата стала плоской панелью: крупное имя, статус под ним, звонок,
меню и аватар справа. При прокрутке в историю имя уменьшается, строка
статуса схлопывается, появляется тень. Пузыри группируются по сериям
одного отправителя с формой 28/14/8 и разными отступами внутри серии.
Разделитель дат — pill-чип primaryContainer.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
📂 Android
├ Barkfluff.Client.Android ✏️6
└ core ✏️1
📦 Liis17/BarkFluff [dev]
👤 Liis17
📂 docs
└ backend-microservices-technical-report.md ✅1
👤 Liis17
docs: add backend architecture technical report
📂 docs
└ backend-microservices-technical-report.md ✅1