ふむ…(編集テスト)


shuymn
@shuymn@den.shuymn.me
Left the wildebeest herd to build a kopje 🦬⛰️
KopjeというMastodon互換サーバを作っています
- 391 posts
- 24 following
- 15 followers
@shuymn test3
@shuymn テスト2
@shuymn テスト
MisskeyってNoteのUpdate Activityは無視してるんだ
Cloudflare KVってList by prefixできるんだ。これはかなり使える幅が広くなるな developers.cloudflare.com/workers/runtime-apis/kv/
他にもD1の挙動で変なところとかあって報告するべきなんだがめんどくさくてな〜…溜まる前にやらねば
詳細なエラーは忘れたけど global をredefineできないよみたいなエラーだった気がするのでvitest-environment-miniflareのglobalを上書きする処理と衝突しちゃってるのかなーと思っている。jest-environment-miniflareと比較したりして修正すれば治るかもしれないけどめんどい
WildebeestのJest→Vitest移行はちょろっとやってみたんだけどvitest-environment-miniflareとjest-environment-miniflareでWorkersのRuntime APIまわりの挙動が違うっぽくてcrypto.randomUUIDのMockができなくて一旦諦めている github.com/shuymn/wildebeest/blob/main/backend/test/utils.spec.ts
そういえばMastodonをCloudflare上で動かすのがWildebeestだとするとそれのMisskey版も作れそうな気がするんだけど誰か取り組んでいたりするんだろうか
misskey\.ioみてると本当にカスタム絵文字多用されてるなーと思うけど、アクセシビリティとか画像データが消えたときに投稿の内容が分からなくなるというリスクとはどう付き合っているんだろう
セブンの細長い米のカレーみんなうまいうまいって言ってたから食べてみたけど日本のお米で食べるカレーが一番うまいよってなった
それでもAPの仕様上は必須ではないフィールドも必須として取り扱っていたりするので、なんとなくMastodon等の主要な実装の雰囲気を慮りながら実装している状態なのもストレスではある
ActivityPubのObjectで、内部で作ったObjectは担保できるフィールドが決定できるのに対して外部で作られてやってきたObjectは担保できるフィールドが限りなく少なくなるのでその差分をどうやって吸収するかというのが型レベルでやったりやらなかったりで頭がこんがらがる
じゃあ僕は今から消費期限が1.5日経過したカレーを食べます
絵文字というかリアクションかな?どう呼べば良いのか分かってないけど
自分のForkしたWildebeestの現時点の目標は「Mastodon互換」を達成することなので、例えばMisskeyの絵文字みたいにMastodonではサポートしてないけどほかのAP実装にはあるものを優先的にサポートするつもりはない。さらに言うとWildebeest独自の機能を実装するつもりはもっとない
リプライを取得した場合にobjectsテーブルの行単位でデータの整合性がとれない時があったんだけど直した。自分がフォローしてるAさんが、自分がフォローしてないBさんにリプライを送ったときにリプライ元のBさんの投稿がDB上はAさんが投稿したみたいな状態だった。他のカラムのデータで復旧可能で良かった
こういうの一時期セルフリプライすると発生してたんだけど、メンション先のユーザーのinboxにCreateActivityを送る処理で自分から自分の場合を上手く考慮できてなくて変なデータになっちゃってたということに気がついた
object type `Tombstone` ってなんだよ 😓
