🎵 Game Changers / 🎤 TeddyLoid with 中田ヤスタカ / 💿 SILENT PLANET
#nowplaying #np
このアカウントは https://misskey.io/@syuilo に引っ越します
---
Author and project lead of #misskey.
Misskeyの作者。主人→@AureoleArk
好きなこと: 近所を散歩すること、写真を撮ること、眠ること
最近はお菓子を食べることも好き
#misskey #藍ちゃファンクラブ #DTM #BitwigStudio #写真 #アズレン #わーーーーーーーーーーーーーーー #web
Because I can not understand English, I may not be able to answer questions.
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
crypto_key.node はマイグレのために残してあるから、マイグレは別ブランチに移動してメインのブランチからはcrypto_key.nodeを削除するようにしようと思う
このアカウントは、notestockで公開設定になっていません。
しゅいろさんも作ろう
RE: https://misskey.xyz/notes/5cb3372f36ff91003bcbcca5
このアカウントは、notestockで公開設定になっていません。
左右のチャンネルで位相反転して正弦波が鳴ってます
ヘッドフォンだと普通に聞こえるけど、スピーカーとかならもしかすると...
左チャンネルと右チャンネルで位相を反転した音を流して、普通に聴くとそれが打ち消しあって何も聞こえないけど、片方だけ聞くとなんか聞こえるとか できるかな〜?
私は思いつく曲に隠しメッセージを埋め込む方法:
* モールス信号
* スペクトラムアナライザなどで曲を表示したときに文字が浮かび上がる
わかる
なんかワクワク感ある
RE: https://misskey.xyz/notes/5cb32b8f262dce0034bf34a8
このアカウントは、notestockで公開設定になっていません。
分散型の利点といえば利点かも
RE: https://misskey.xyz/notes/5cb32755262dce0034bedd87
データベースが破損している問題は、破損している箇所だけスキップすればいいのでそこまで問題ではない
問題はやっぱり時間
io開店したらこれ投稿したい
RE: https://misskey.xyz/notes/5cb31d3879d541003afd15d5
このアカウントは、notestockで公開設定になっていません。
転生とはいえ知らないうちに別のインスタンスに自分のアカウントがあるというのは気持ち悪いと思う人もいるかもしれないので、ユーザーデータ移行も無しでいいかもしれない
このアカウントは、notestockで公開設定になっていません。
ピコーン♪
テロテロテロテロタタッタッターンタタッタッタターン
パラッパンパララパラッパパラパラパラララン♪
パラッパンパララパラッパパラパラパラララン♪
パラッパンパララパラッパンパラッパ
ッッッタン♪
\ドンッ/
0% 0% 0%
このアカウントは、notestockで公開設定になっていません。
beta11 と beta12 の間には設定ファイルの編集が必要な破壊的変更があるんだけど、設定ファイルを編集せずにアップデートしてしまったものと思われる
おやすみなさい!!!カンカンカン!!!寝てー!!!夜だよ!!!!すごい夜!!!!外が暗ーい!!カンカンカンカンカン!!!!!おやすみ!!カンカンカン!!!見て見て!!!!外暗ーいの!!!外!!!!見て!!カンカンカンカンカン!!寝て!!早く寝て!!カンカン!
function f(x) { Object.entries(x).forEach(([k, v]) => { if (typeof v === 'object') { f(v) } else { x[k] = v + '!!!!!' } }); return JSON.stringify(x); } localStorage.setItem('locale', f(JSON.parse(localStorage.getItem('locale'))))
この人たちサーバーとかソフト簡単に吹っ飛ばしたり直ぐに再度リリース出すことになりそう
meidをID生成方式に追加
旧IDから引き継げて、かつミリ秒精度です
https://github.com/syuilo/misskey/blob/develop/.config/example.yml#L131
@ac@imastodon.net ある要素がどのスタイルを適用するか手動で決めるみたいな
詳しくは https://vue-loader-v14.vuejs.org/ja/features/css-modules.html
https://mi3.xn--931a.moe/
もあるので、v11同士での通信がテストできますね
RE: https://misskey.xyz/notes/5cb20e73262dce0034b7076b
めいめいの考えてる仕様ではないと思うけど「旧IDと重複せず、順番も旧ID→新IDとつながって、ミリ秒単位」なもの
RE: https://misskey.xyz/notes/5cb20d35262dce0034b6f933
頭が悪いのでmeidの仕様(というか実装方法)完全に理解してないけど、とりあえず「旧IDと重複せず、順番も旧ID→新IDとつながって、ミリ秒単位」なObjectIDを実装してみることにする
@mei23@misskey.m544.net あーーーたぶん理解した
パディングの方向を脳内で逆に考えちゃってた
000001 みたいにパディングされるのに 100000 みたいにパディングされるとなぜか考えてた
仮にDDoSでサーバーをダウンさせられても、API制限を突破したわけではないのでデータベース等に大量のデータが書き込まれるとか言うことにはならない
「意図的に同じ時間を送りつけて飽和させる」ためには、例えばランダム部分が二文字だったとしたら 36* 36 = 1296 なので 1296 回リクエストを送る必要がある 別にすべての組み合わせを埋めなくても、確率的に被る可能性が高い状態まで持っていければまあ良いのでその半分の 648 回リクエスト送ればいいとしても、ある ミリ秒 が使えなくなったに過ぎないので、ある 秒 くらいの規模にするにはそれをさらに 1000回、だから 648 * 1000 で 648000回もリクエストを送らないと、IDを飽和させられなさそう
「『意図的に同じ時間を送りつけて飽和させる攻撃』を1000回行って、ある「秒」を利用不能にする」くらいまで行くと問題になりそうだけど
meimei id
RE: https://misskey.xyz/notes/5cb200b5262dce0034b65d6e
Math.random はやめてメモリ上にカウンタを保持しておいてそれをくっつけるか
IDが生成されるたびにカウンタがインクリメントされる
カウンタの初期値はプロセスID+ クラスタのワーカーID とかで良さそう
あと時間情報をミリ秒単位ではなく秒単位にしてさらに文字数を減らした AIDC (c は cheap) という仕様も一応作った
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
アルファベット順でソート可能かつURLに使えるかつ大文字小文字区別しないかつ同じ文字数で出来るだけ多くの情報を
となったら base36 かなと思った
MongoDBからPostgreSQLにしたことで、どれだけパフォーマンスが変化するのかが気になる
速くなるのか遅くなるのか変わらないのか
特に公開してない
ソースコード見るのが早いかも
https://github.com/syuilo/misskey/blob/11.0.0-beta.11/src/misc/aid.ts
AIDにもいくつか種類があって(管理者が設定できる)、それによるんだけど少なくとも数千
ミリ秒単位で全く同じ時刻に数千の投稿がされることは無いと思うのでこれで十分だと思われる
ちなみに Misskey 11 で採用されるオリジナルのID生成方式「AID」では、ミリ秒単位で時刻情報が含まれる
xyzがマイグレできないのはxyzのデータ量が非常に多いからで、xyz以外のインスタンスなら普通にマイグレできると思います
このアカウントは、notestockで公開設定になっていません。
🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
@mei23@misskey.m544.net Misskeyだとアクティビティがinboxに送られてきてもsharedInboxに送られてきても全く同一の処理をするように見えるんだけど、Mastodon等ではそうではないということ?
🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
投稿は返信とかの依存があるから、並列処理できない部分がある
返信やRenoteでなければ並列処理できるけど実際にそれを書くのはいまのところめんどい
そのうちやる気が出る可能性もある
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
Argument of type '"rsa"' is not assignable to parameter of type '"ec"'
謎
O-oooooooooo AAAAE-A-A-I-A-U- JO-oooooooooooo AAE-O-A-A-U-U-A- E-eee-ee-eee AAAAE-A-E-I-E-A- JO-ooo-oo-oo-oo EEEEO-A-AAA-AAAA
∀∀∀∀-∀∀∀-∀-OƎƎƎƎ oo-oo-oo-ooo-Oſ -∀-Ǝ-I-Ǝ-∀-Ǝ∀∀∀∀ ǝǝǝ-ǝǝ-ǝǝǝ-Ǝ -∀-∩-∩-∀-∀-O-Ǝ∀∀ oooooooooooo-Oſ -∩-∀-I-∀-∀-Ǝ∀∀∀∀ oooooooooo-O
𝓞-𝓸𝓸𝓸𝓸𝓸𝓸𝓸𝓸𝓸𝓸 𝓐𝓐𝓐𝓐𝓔-𝓐-𝓐-𝓘-𝓐-𝓤- 𝓙𝓞-𝓸𝓸𝓸𝓸𝓸𝓸𝓸𝓸𝓸𝓸𝓸𝓸 𝓐𝓐𝓔-𝓞-𝓐-𝓐-𝓤-𝓤-𝓐- 𝓔-𝒆𝒆𝒆-𝒆𝒆-𝒆𝒆𝒆 𝓐𝓐𝓐𝓐𝓔-𝓐-𝓔-𝓘-𝓔-𝓐-𝓙𝓞-𝓸𝓸𝓸-𝓸𝓸-𝓸𝓸-𝓸𝓸 𝓔𝓔𝓔𝓔𝓞-𝓐-𝓐𝓐𝓐-𝓐𝓐𝓐𝓐𝓐𝓐
このアカウントは、notestockで公開設定になっていません。
私がArchしか分からないからで、村上さんが操作するなら何のOSでも><
ちょっとPostgreSQLインストールしてMisskeyの設定してマイグレ起動するだけです><
お互いに参照を持たないユーザー情報とかは、並列処理できるけど…
やっぱり一番データ量の大きい投稿情報は直列でするしかない
たとえばAとBの投稿があって、BはAへのリプライだとすると、Aが先にマイグレーション完了していなければならない
並列処理してしまうと先にBがマイグレしようとしてしまうかもしれない
このアカウントは、notestockで公開設定になっていません。
小ネタ
private なパッケージを publish しようとするとこうなる
npm ERR! This package has been marked as private
npm ERR! Remove the 'private' field from the package.json to publish it.
そこら辺のライブラリがstrictNullChecks対応してるとはにわかには信じがたい
RE: https://misskey.xyz/notes/5cb0261779d541003ae7877d
MisskeyでstrictNullChecksするかどうか検討中
自分のコード100%なプロジェクトなら良いけど、第三者のライブラリをimportするときはstrictNullChecks対応してないと思うからそこら辺がね…
@mei23@misskey.m544.net APでinboxに送るのとsharedInboxに送るのとでは何か挙動変わったりする?
どっちに送っても変わらないんだったら現在ユーザーテーブルにinboxとsharedInbox情報を保存してるけどinbox: user.sharedInbox || user.inbox
みたいに保存するのはひとつだけ(shareがあるならそっち優先)で良いかなと思った
@mei23@misskey.m544.net src\services\note\polls\update.ts の triggerUpdate ってどこからも使われてないっぽいけど消して大丈夫かな?
このノコギリ波をシンセで鳴らしたい
RE: https://misskey.xyz/notes/5caf4b3e8bc2a900343d8955
削除されたファイルを勘定に含めるか否かかなーと思ったけど違うっポイ
マイグレーションツールが最新じゃなくて私が勘違いしただけの可能性もあります(今再確認中)
管理画面ではドライブのファイル数7万くらいって表示されてるのにマイグレーションツールではファイル数140万ってなってて意味が分からない
この謎を解き明かせればマシになるかもしれない
xyzはデータ量多いし長年の運用でスキーマの不一致やデータの破損も多いから移行難しいのではないかということが判ってきた
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
設定ファイルに id の設定が追加されているのでそれを objectid にする
前の(v10)設定ファイルから mongodb の設定部分をまるまるコピペする
私のPCだと回線が貧弱なのできつそう
Mongoと繋げるVPS用意できればそこでマイグレのテストできるので理想です
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
@mei23@misskey.m544.net 自動では何もアクションは起こさない
管理画面で応答がないインスタンスを一覧できるのでそこで何かする
藍~~!うなじ見せて!やった!ありがとう!(ワクワク)って藍からのYESNOの返事もないのに一方的に約束事決めたい
#horakawaii
https://shindanmaker.com/769002
Misskeyを崩壊させるJavaScriptです
function f(x) { Object.entries(x).forEach(([k, v]) => { if (typeof v === 'object') { f(v) } else { x[k] = 'わー' } }); return JSON.stringify(x); } localStorage.setItem('locale', f(JSON.parse(localStorage.getItem('locale'))))
このアカウントは、notestockで公開設定になっていません。
良さそうなPostgreSQL管理ツール見つけた(オープンソース)
https://github.com/dbeaver/dbeaver
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
著作権について調べたけどゲームのルール自体は対象外だからゲーム名を(リバーシみたいに)変えたりすればOKかもしれない
このアカウントは、notestockで公開設定になっていません。
私はMisskeyのデータベース吹っ飛ばした経歴があるのでdatabase removal specialist
インスタンスを作成した際に、初めて起動する前に
npm run init
してデータベースを初期化する手順が追加されたこのアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
昔OS再インストールしたときからPhotoshopとかも消えたままでインストールもめんどいので最近はペイントかGimpしか使ってない
このアカウントは、notestockで公開設定になっていません。
たまにツイートの無断転載やめろという人いるけど、リツイートという無断転載機能が公式にあるのに… それは良いんだろうか
@ac@twista.283.cloud だから私は欲しい曲があったらまずCDで発売されてないかチェックする 中古があれば中古で買う
iTunesとかで買うと高いうえに圧縮されてて音質悪いしあまりメリット無い
iTunes限定販売とかならしょうがないけど...
@reijubot Welcome to ヨォドォバァシィカァメェラ。亲爱的顾客朋友、你们好。衷心欢迎您光临友都八喜。友都八喜是日本著名的大型购物中心。精明商品将近一百万种、数码相机、摄像机、名牌手表、名牌箱包等应有尽有。最新的款式、最优惠的价格、最优质的服务。
@reijubot Welcome to ヨォドォバァシィカァメェラ。亲爱的顾客朋友、你们好。衷心欢迎您光临友都八喜。友都八喜是日本著名的大型购物中心。精明商品将近一百万种、数码相机、摄像机、名牌手表、名牌箱包等应有尽有。最新的款式、最优惠的价格、最优质的服务。
このアカウントは、notestockで公開設定になっていません。
マイクロソフト純正のリモートデスクトップアプリ、ゲームがiPadで動いてるんじゃないかってくらいスムーズにできてすごい
このアカウントは、notestockで公開設定になっていません。
🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
家帰ったらPostgres型Misskeyテストする
このアカウントは、notestockで公開設定になっていません。
@osapon@mstdn.nere9.help 次のアップデートでHTMLのMetaタグに各種IDをセットするようにしておきますね
今言われて気づいた
RE: https://misskey.xyz/notes/5ca4a436f6ef6b0039fe062d
Misskeyのチャートエンジンのテストを追加した
チャートエンジンは日時が絡む処理なのでテストは難しそうだと思ってたけどJavaScriptのDateを偽物にすり替えて時間を自由に操作できる便利ライブラリを発見したことによりテストできるようになった
@mei23@misskey.m544.net 初回TL読み込み時に一番最後の投稿のIDを次回のページネーション時に untilId として使うように設定していた記憶がある
だからTLを取得してしばらく経つと、その間にストリームで新しい投稿が流れてきて初回で読み込んだ時の投稿は切り捨てられることになって、遡った時にその消えた投稿がすっ飛ばされることになるから(untilId は初回読み込み時の時に設定したままだから)、途中が消えて取得されることになるのだと思う
@rinsuki@mstdn.rinsuki.net そういうの気にする運営者なら別のID生成方式にすれば良さそうだし
@rinsuki@mstdn.rinsuki.net 19xx年のものを2000年ということにしてもさほど問題は発生しなさそう
@mei23@misskey.m544.net もしくはここを false にしておくと起動したときにデータベースとスキーマの同期が行われなくなるので、配列が初期化されることがなくなるかも
https://github.com/syuilo/misskey/blob/pg/src/db/postgre.ts#L93
@mei23@misskey.m544.net プロセス再起動したらそのたびに手動でデータベースを初期化するか、ここを強制的に true にしておくと自動で初期化してくれるかもしれない
https://github.com/syuilo/misskey/blob/pg/src/db/postgre.ts#L94
@foxhkron@cybre.club @succfemboi@iscute.moe That image is a joke. Misskey will continue to use Node.js.
@mei23@misskey.m544.net TypeORMのバグで、Misskeyプロセスを起動するたびにデータベースの配列型カラムの内容が初期化される問題があるけどそれに関係してそうな気がする
このアカウントは、notestockで公開設定になっていません。
あれ、秘密にするんじゃなかった?
RE: https://misskey.xyz/notes/5ca2c3a40c61030032c39706
アプリがあるサービスのIDの生成方式について感知してそれに依存するプログラム書くのはどうなんだろうというのがある
@mei23@misskey.m544.net 10から移行するインスタンスはほぼみんなObjectID方式に切り替えると思う 新しく作られるインスタンスでだけ新しい生成方式が使われそう
misskeyのIDは「文字列であり、アルファベット順で大小の比較可能である」という共通する点だけを仕様とすればサードパーティアプリでも問題ないと思う
現時点でMisskeyのIDがObjectIDであるという前提でプログラムしてるアプリってなさそうな気がするので
@mei23@misskey.m544.net オプションで切り替えられる案ダメ?複雑にはならないし手間もかからないと思うけど
設定ファイルで legacyId とかを有効にするとObjectIDで生成されるようになる
ObjectIDも時刻順でソート可能なのでプログラムの動作に影響することは無いはず
ulidなどの生成方式だとミリ秒単位が同じでもそれに加えランダムなノイズが加えられているのでそれぞれ区別できる
ulidを元にしたようなデザインで、時刻情報が埋め込まれてアルファベット順にソート可能な独自のID生成方式にする
つまり、以降ユーザーは送信時やリプライ先として明示するときにも旧IDを使う必要が出てきて、あっちこっちで永遠に新旧分岐をすることになっちゃうわそこまでプログラムが複雑になるとPostgreSQLに移行する意味がなくなってしまう
このアカウントは、notestockで公開設定になっていません。
@mei23@misskey.m544.net 運営者的にはこの3択かしら
* マイグレしない
* マイグレする(federation無し)
* マイグレ+ドメイン変更する(federation有り)
TODO
* IDの仕様を確定させる
* リプライの仕様を確定させる
* テストする
* マイグレーション書く
* 破壊的変更などのドキュメントを書く
* リリースする
* マイグレする
* ✌️(´・_・`)✌️
あと最近は長期開発によりデータベース上のスキーマが一致しないことが多くなってきて、それによってプログラムの書き方を少しトリッキーにしなければならず生産性が低下してきていた
そこでリレーショナルデータベースにしてスキーマをきっちり定義しなおして自然にプログラムを書けるようにしたいという思いがあった
あるコミットでObjectIDに起因する問題が露呈し、あーーーーーもうこうなったらPostgreSQLにしてやる となった
MisskeyをPostgreSQLにしようと思ったきっかけは、かねてから村上さん(や他の運営者)に圧力をかけられていた村上さんの運営の負担を少しでも減らしたいと思っていたのと、あるコミットでObjectIDの扱いが面倒だというのを再認識したのが決定的だった
Misskey v11で不具合がないかテストしてくれる方募集中
私はそのうちオンラインでv11のテストサーバー建てる予定だけど
例のツイート、プログラムで日付書き換えたとか言われてるけど、Twitterに詳しい人なら分かると思うけどツイートの日付を変更するAPIなんてないので本当にあのツイートは3年前にされたものでしょう
このアカウントは、notestockで公開設定になっていません。
https://wired.jp/2019/04/01/https-isnt-always-as-secure-as-it-seems/
ウェブサーヴァーが気になりすぎて記事の内容が入ってこなかった
このアカウントは、notestockで公開設定になっていません。
Misskey v11へのID引き継ぎ方法を検討中
1. IDの形式を互換性のあるもの(つまりObjectID)にする
せっかく新しいシステムになるのに古い形式を使い続けるのはうーん
2. ユーザーそれぞれ新しいIDに加え内部的に古いIDも保持しておき、ActivityPubのリクエストでそっちを参照されても大丈夫なようにする
これはどうだろう
このアカウントは、notestockで公開設定になっていません。
@Hekovic@gyutte.site 少なくとも投稿とユーザーは移行できるようにしたいと思ってます。
フォローはリモートのことを考えると難しいかもしれないので、移行前にフォローリストをあらかじめエクスポートしておいていただき、移行完了後にインポートしてもらうといった感じになるかもしれません
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。