Oddbean new post about | logout

Notes by たけうちひろあき :zonepane: | export

 Mastodon側の編集機能で割と消耗したのでMisskeyの編集どうしようかなとは思っていた。 
 しゅいろ先生らしいリアクションがあった 
 リリース待ち(v25.5.4) 
 「完全リロードの高速化」という地味な修正をしていたら思いがけずMisskey側のデータ削除に盛大に失敗してるバグを見つけてしまいリリースすることに。 
 やけにDBが単調増加するなあとは思ってたんだけどidの変換を入れ忘れるという凡ミスをしてしまっていた。「削除してはいけないデータを削除しない」を前提に実装していたので間違ってタブデータがどんどん消えるバグにならなくて良かった。 
 完全リロードが遅すぎる問題を解消するために作り直そう。Realm対応のために回りくどい実装になっていたのを素直な形に書き換える。 
 作り直して最後の最後にidの形式が違うことに気づいた。Misskeyのidに変換しないといけないというやつ。 
 Twitterの編集機能、制約と実用性のバランスはかなりいい線いってることが分かる 
 へーチャンネルは前からredisになかったらDBから取ってくるから見れてるんだね(MisskeyのBetaの話)

enhance(backend): redis から取得できない過去のチャンネル投稿はDBから取得 by futchitwo · Pull Request #10539 · misskey-dev/misskey https://github.com/misskey-dev/misskey/pull/10539 
 今日は(今日も)病院行かないと。連休中にお薬がなくなるので。 
 ZWSのプレビュー対応をしたのも思い出して​:igyo:​だったなーと一瞬思ったけど、本当に必要なのは「カスタム絵文字の前後にZWSがなかったら補完する機能」なんじゃないか?​:blobcatthinking:​
確認せずにしれっと足りないZWS挿入しちゃってもいいのでは?いややりすぎか。あえて変換されなくする書き方が出来なくなるからだめか。それわざわざうちのアプリ使ってやる?うーん。 
 うちのアプリで、自動更新の狭間に手動更新したタブが新着ありとして通知される問題があるんだけど(←言葉だけじゃさっぱり伝わらないだろうけど自分用のメモなので)、ちゃんとやろうとするとオーバーヘッド増えるし下手に直さない方が良さそう。 
 150円から147円まで行ったとかなんとか。為替介入すごいな(小並感) 
 これくらいなら機関投資家でもできる、そんなにすごくないみたいなのも見かけるしよく分かんないな。1円動かすのにも数兆円必要とかいう規模感なのに。​:power_txt:​ 
 数百万かかるPremiumプラン(のSmall)ならどれくらいのTweet capで、100USDあたりの読み込み可能投稿数がProよりどれくらい多いか、みたいな計算もしてた。Xからは手を引こうという結論しか出なくて徒労感がすごい​:blobcatdead:​ 
 スクリーンショット1枚あれば秒で伝わるやつが何ターンもやりとりしてるの見るとうーーんってなるよね 
 先週は何か頑張ってたはずだな、なんだっけ、と更新履歴見返したら新着絵文字が分かるようになったんでしたねー。
いま見たらFedibirdにもさらに絵文字が追加されててかわいいblobcatがいっぱい!
​:ablobcat_dadakko:​:ablobcat_eieio:​​:ablobcat_wakaran:​:ablobcat_kusudama:​
あと絵文字一覧、手動更新しなくても確かに2日おきに半自動的に更新されてることを確認できた。 
 モチベーションゼロなので明日は何かワクワクするものを作りたいね 
 まあさすがにユーザータイムラインを遡れなくなるのはまずいのでユーザータイムラインはPUSH型にしないみたいな対応になるんだろう。開発版なのでそういうこともあるよね。 
 今日はauからUQ MOBILEへのMNPの申込みをした。法務局で書類取ってきてUQに電話してあれこれ書類作ってスキャンして提出した。案外疲れるしauショップでやった方が楽だったかもしれない。 
 たった4日でめっちゃ残作業増えた。 
 何もうまくいかないなあ 
 返信って書くつもりが「屁にsn」になってしまった。S極N極があるのか。 
 うーん、やっぱり絵文字リアクションするのに、確認のワンクッション... 
 @e3ba2340 うちのアプリのことでしたら確認設定から確認画面を追加できます 
 怖いなあ、帰宅したら調べてみよう

Samsung 990 PROの健康状態が短期間で異常に下がる不具合。サポートはろくに検証もせず「不具合はない」と言い返送 | ニッチなPCゲーマーの環境構築Z https://www.nichepcgamer.com/archives/samsung-990-pro-nvme-m2-ssd-health-status-drops-in-a-short-period-of-time.html 
 一応問題なかった 
 今週こそ映画(シティハンター)見に行けると思ってたんだけど厳しいかもなあ。 
 修正作業そのものよりもgradle syncのほうが時間的に長いのでマルチモジュールでモジュール多すぎるのも考え物。マシンパワーで殴りたいがそんな余裕はないわなー。 
 試しにRでv2 API叩いてみたら盛大にエラー出たので細かくごにょごにょした修正を全部revertしてきれいさっぱり捨てた。 
 それに比べて今朝やった雑草の草刈り作業、目に見えて進捗が分かるので良い。もう田舎に帰って無限に草刈りしてたい。 
 X API 周辺の作業してると無駄なことやってるなーと思える(「逆達成感」とでも呼ぼうかね)ので作業効率が悪く、進捗が出ない。 
 つらい記憶といえば前職の新人の頃、えらい人に謎のプレゼンをしなきゃいけなかったやつだなぁ。理不尽だった。 
 通信費勘定でどん。 
 全体公開だけどFANBOXに近況書いた。

有料のX APIを利用したアプリを検討しています|takke|pixivFANBOX https://takke.fanbox.cc/posts/6772172 
 Xでもちらっと見かけたけど、差別反対を掲げてる人たちが眼鏡を揶揄するのはどういう了見か。 
 雨降って、一気に寒くなった 
 APIの統計データを出してみた。もはやあまり使ってないのでこの程度ではある。

https://s3.fedibird.com/media_attachments/files/111/163/154/545/523/218/original/b9f8862c0205e81a.jpeg 
 MisskeyのTLアーキテクチャ変更は近代史に残る大偉業になり得るので期待してる 
 うちのアプリ、最新の投稿を取得する際、ギャップを作るために「最新の投稿より少し古いid」以降を取得するようにしていて、それにより新規投稿がない場合も1件は必ず取得する仕組みなんだけど(Twitter/Mastodon/Misskeyいずれも)、、、
※例えば5件取得して、「最新の投稿」が含まれていれば継続、含まれていなければその間に別の投稿があるとみなして「ギャップページャ」を作る、という仕組み。
この1件がTweet cap的にじわじわきいてくるので別の仕組みにしたほうが良さそう。「最新の投稿より少し後のid」以降を取得して、1件以上あれば「それらの間」をもう一度最大1件取得、1件あればその下側にギャップページャー挿入、なければギャップページャー不要とみなす、みたいな。言い方を変えると、tweet capを消費しないようにAPI Rate Limitを余計に消費する形。
どう考えてもサーバー負荷を増やすだけの無駄な処理で誰も得にしないので本当にばかげた話。tweet capがあと2桁多ければこんなことしなくていいんだけど。 
 ようやく形になってきた。
全API呼び出しと取得件数、投稿件数をDBに記録して、ひとまずダンプできるようになった。
API利用回数をアプリ側で制御するにあたって最低限必要なものの一つだけど別にMastodonやMisskeyでは必要ないのであくまでもあっち側だけ。

https://s3.fedibird.com/media_attachments/files/111/159/205/275/818/656/original/4f38ac15ecd87e87.png 
 まずはアプリ名を考えないとな。内部的にはliteと呼んでいるアプリ、当時はTwitPaneXと呼んだこともあったけど今となってはXは一番使いたくないような、むしろ使わざるを得ないような。 
 なんかすごい雨降ってる 
 全然知らないサーバー・インスタンスでもちゃんと動いてると嬉しいね。 
 nostr:npub1z5czfjec5uful9tkhu6e4czrmnge049ygdxltpyan7xztf4rhr5qvhjfty 
…でしたか
最初は... 
 @31c72464 うーんどうでしょうねー。フォロー・フォロワー一覧というかユーザー一覧についてはミュートでそういったトグル動作をするように作っていた記憶があります。タイムラインでは意図したものだったかどうか、、あまり使わないので覚えてないですねえ。 
 そういえばぞーぺんでサークル投稿できるんだっけ
うちではサークル指... 
 @4ddbcfcb Mastodon(fedibird)のサークル投稿は未対応ですねー。サークル指定は、事前にサークルのタイムラインを見ているときに投稿ボタンを押すことで選ぶ形ですので指定なしで投稿という操作はないはずです。 
 丼タブ側
その場でアカウントミュートしたのが
画面からちゃんと消え... 
 @31c72464 あえて変えた振る舞いではないので何かの修正の副作用っぽいですね。 
 そうそう、夕方に、絵文字リアクションを新規に付けるときも確認画面を表示できるようにした版、リリースされてた。
その修正だけなので公式アカウントからのリリースはないです。 
 ワンチャンいけるかなと思ったら全然動作しなかった 
 Twitter API の全呼び出し箇所にまずはマークを付けていく作業をしている。軽く100カ所を超えていて、そのうち半数以上がもう呼び出せないルート。 
 まずは全てのAPI呼び出し箇所をピックアップして全APIを使えなくして、UIはあるけど何もできないアプリにする。
次にログインからタイムライン取得あたりまでのルートで一つずつAPI呼び出しを許可していく。このときポスト取得件数の残量チェッカーとカウンターを付ける。
タイムライン取得はv2 API版、いわゆるTwitPane Liteで試作した処理を使う(捨てなくて良かった!)。
自分専用のX用サードパーティーアプリがこれで作れそう。 
 愚痴はほどほどに。。 
 あ、思い出した。
前にめっちゃ怒られたの思い出した。 
 あ、うちのアプリ、Misskeyのタブで「リロード」したらサーバーの絵文字一覧もリロードしないと超新しい絵文字をレンダリング出来ないんだな。仕組みを考えると当たり前なのに考慮抜けてた​:blobcatfacepalm2:​ 
 通常のリロードで絵文字一覧もリロードしてるとあれなので投稿単位のリロードで。かつリロードしすぎも少し避ける形にしたいところ。 
 絵文字の表現が :shortcode: だったり :shortcode@.: だったり shortcode だったりしてその差分を Mastodon(fedibird,kmyblue)/Misskey に関係無く吸収するレイヤーとか作ってるもんだからもう訳が分からなくてね。
長く見積もっても1時間くらいでできるかな、と思ってたのが3時間近くかかったんですよね(言い訳) 
 わいのTL、誰もラグビー見てないな 
 自動更新を手動で実行したい(←自動なのか手動なのか分からなくなってくるけど)と思っていて、ついでに進捗状況を確認する画面も欲しいなーって思ったりしてる。これまでに作ったことのない画面なのでComposeでザクッと作ってみたいところ。 
 おりたたんだりする予定は今のところないのですが、おりたたんだり隠... 
 @62b6455c 投稿画面でCW押すと注意メッセージ入力にできます。本文は隠れます。 
 ​:zonepane:​くん、リアクション時の確認画面無くなっちゃったのか…で... 
 @98194865 あれ?確かに確認設定がどこにきくのかよく分かんないですね。調べてみます。 
 タイッツーが作られるきっかけになったAPI改悪事件。 [参照] 
 たまたま気づいたんだけど検索結果が0件のときにこの初期メッセージが表示されるんだな。検索のときはいらないような、むしろこのメッセージまた見たくなったときに見れるからいいような(また見たくなったらクリアすればいい、クリアできるようにすべき、べき論で言えば​:sorehasou:​、でもあんま消したくないやん?)。

https://s3.fedibird.com/media_attachments/files/111/142/126/244/067/657/original/d6f38d009c8b5b1c.png

https://s3.fedibird.com/media_attachments/files/111/142/126/342/348/947/original/45c69190e9a68d90.png 
 リスト管理しようにも自分のフォロー一覧すら取得できないのではな・・・。 
 リスト内のユーザー管理だけならtweet cap関係ないから作れるな。作るとは言ってないけど。 
 確認したかったのは現在の TWEET CAP なんだけど 217% で次の15日まで待たねばならなかった(さっさとkey resetしておくべきだった)

https://s3.fedibird.com/media_attachments/files/111/141/330/983/536/844/original/e505f7689f2cd201.png 
 リリース待ち(v25.5.1) 
 リリースされた。1Hちょい。 
 クラウド会計ソフトのインボイス対応もめちゃめちゃ大変そうだなー。別にユーザーから追加料金もらえるわけでもないのに。んや、この機会にクラウド会計ソフトでも入れないとまじでしんどい事業者さんがいるだろうからそこに向けてのあれでもあるのか(←疲れてて言語化諦めてしまった) 
 直接支援してるけどフォローされてないっすよ、このアカウントもioのアカウントも。 
 へーしゃも3年前は寄付をする余裕があったんだな、という文書が知事から届いた。

https://s3.fedibird.com/media_attachments/files/111/141/182/214/518/777/original/d43ba6159c4d44e4.jpeg 
 ちなみに去年の夏にコロナになって苦しかったときに北海道から食料品が届きましてね、その分で少し返してもらった気がします(医療従事者向けの寄付なので厳密には違うけど) 
 投稿の「下書き・投稿履歴」の「ピン留め」対応をしたいんだけど「下書き・投稿履歴」だけでけっこう大きな機能になっていてなかなか手を付けづらいんですよね。内部的にもUI的にも。少し保留かな。 
 絵文字ピッカーに​ :sorehauso:​ と :sorehasou:​ が横に並んでてしかも見分け付きにくいので間違えてタップしそうになるんだよなあ。嫌いじゃないんだけど。「はそう」で検索して選ぶといいのかも。 
 新着絵文字の分類、やっぱり日付単位にしましょうね。数が増えてきたらなんか振り返るときに見づらくなるので。記録するのは取得時刻単位のまま、表示だけ。 
 いろんな要望あるんだなあと。 
 これだけ収入減ってピンチな状況にインボイス対応はもうおしまいだよ。 
 わいも仕事しないとな。 
 nostr:npub1z5czfjec5uful9tkhu6e4czrmnge049ygdxltpyan7xztf4rhr5qvhjfty すいません、ZWS対応... 
 @68834e00 いえいえ、どんどん試してみてください! 
 ​:top_left_sushi:​:top_center_sushi:​:top_right_sushi:​これって
:middle_left_sushi:... 
 @68834e00 ブラウザでは横方向は割といい感じですが縦方向は行間空いてますね。うちのアプリのバグも少しあるかもしれません。 
 nostr:npub1z5czfjec5uful9tkhu6e4czrmnge049ygdxltpyan7xztf4rhr5qvhjfty 
ちみにこれ…
どれ... 
 @31c72464 今のところ消してないんですが当初の予定では1ヶ月くらいを目処に消そうかと思ってました。様子見つつ考えます。 
 絵文字が新しすぎて使えないパターンがあるんだけどたぶん特定のサーバーにしかまだないとかかな。 
 リリース待ち(v25.5.0) 
 リリースされた。事前にaabあげておいたので0.5H弱。 
Event not found
 @98194865 そうですね、新規追加のときにも表示しようと思います。