アプリ開発のために登録しました
PCごとクラッシュしたw
panic(cpu 3 caller 0xfffffe002ac6be78): Invalid kernel stack pointer (probable overflow). at pc 0xfffffe002a4070d8, lr 0x9aee7e002a52e884 (saved state: 0xfffffe6057433cb0)
.o( しゃべる食べ物がけっこういるんだな…… ゴマ、豆腐、餅、パンもいたか…… ) ←しゃべる食べ物
これが100%になったらv3.0.0出すhttps://github.com/pantasystem/Milktea/milestone/2
この方法を使うとAndroidのコールバックパターンとかをFlowに書き換えることができて良い
listenCallbackはすでに作ってアルコールバックと思ってもらえるとありがたいshutdownableみたいなのを作ってるけどremoveListenerならawatCloseのタイミングでremoveListenerすると良いかも
動かないけどこんなイメージでできる
fun listen(channelType: Type): Flow { return channelFlow { val shutdownable = listenCallback(channelType) { tryEmit(it) } awaitClose { shutdownable.close() } }}
コールバックの実装してるのなら追加実装でいけると思うから大丈夫
Javaとの相互運用を考えてる場合一度コールバックパターンの実装をしてさらにそれをFlowに変換する実装も加えてあげるととてもいい感じになるかも
イベント系はFlowで実装してあげるとFlowが不要になった瞬間自動でリソース解放とかできるようになるから楽でいいかも
MisskeyとMastodonのStreamingとノートのキャプチャーを抽象化する実装をする場合Misskey側にNoteのキャッシュをさせる実装を内包させないとうまくできなさそうで大変そう
Streamingの実装どこまで実装するかによってだいぶ変わりそう開発鯖とWebSocketのイベントをFlowで流すレベルの実装なのか各種チャンネル、各種ノートのキャプチャーの購読状態も管理しつつみたいなのを作るのか・・・
Java 8以降のAPIが使えない案件とか地獄でしかない
ただJava案件が良いと聞かれれば・・・
Java普通にいい言語なので覚えて損はしない
お酒を飲ん位でいる
SerialNameは無条件でつけたほうがいいよ(ProGuardにオブジェクトのフィールド名をMinifyされてDBに保存してたJSONのキーがアルファベット1文字になってしまったTuskyの方を見ながら)
ぶっちゃけそう文句ばっかり言われるとサードパーティに厳しい宣言をするしかなくなる
脅迫やんw
Mastodonのワードフィルターはor条件で判定してるっぽい?・・・https://github.com/fedibird/mastodon/blob/main/app/javascript/mastodon/selectors/index.js#L62
様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。