死ぬほど重くない?
2009年を保ちながら実用性と機能性を供えるの実は普通のクライアントを作るより難しいのではないか
TenChaのソースコードはじめました #TenCha
https://github.com/coke12103/TenCha
MisskeyのWebで目が肥えた人々に2009年をぶつけてもなんやこれとしか言われなさそうだけどわたしはMisskeyをコンパクトにしたいんだ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
┌──────────────────┐
| |
|CSS螳悟?縺ォ逅?ァ」縺励◆ |
└──────────────────┘
どうせ買うなら、今家で使ってるキーボードを研究室に持っていって、家用を買い換えるか?
This account is not set to public on notestock.
アカウントを変え過ぎて尋常じゃないぐらい信頼がないのでもう届かなかろうがここに投稿し続けるんですけど
This account is not set to public on notestock.
Unicomp PC 122 5250 Left Side Function Keys Buckling Spring USB
TenChaのソースコードはじめました #TenCha
https://github.com/coke12103/TenCha
作ったものは自分でRNしていくようにしてはいるがどうせMastodonの大半の鯖には届いてないので気分だけ
何故か疎通不安定な時ってMisskeyは安定して配達されてるのにMastodonはそうじゃないんだよな
霧にもioもにaqzにも正常に届いてる感あるのに末代にもmikutterにもnere9にも微妙にしか届いてない
廉価になるにつれてキーボードの質が落ちたと考えるか、多様なキーボードが生まれることで付属のキーボードの存在が薄れてきてると考えるかは人によるね
CSSをfile-loaderで読み込もうとしたらwebpackに「てめぇファイルの種類も理解してないとか頭湧いてんのか」って怒られた
よしなにやられてもこの場合は困るやつ(シンタックスハイライト使いたいからcssの拡張子だけどQt Style Sheetなので
RE: https://c2.a9z.dev/notes/85qdnkhjky
Qt Style Sheetも.cssであるのは確かなんだけどcss-loaderで読み込まれると扱えなくなってしまうのでなんとしてもファイルとして読み込みたいんだ
TenCha、またしてもライブラリのバグっぽいものを踏んでいる(Qtの上で実行したAPIリクエストの結果がいつまで経っても返ってこない
実名で登録させられるやつは旧メアドでオンラインで適当に登録できるやつはcoke12103@gmail.comで使ってる
osaからosaponへの移行期に、模索していた頃、サービスによって使える記号の制限が異なっていて、osa-pだったり、osa_pだったり、統一されていない。6文字求められてosa__pだったり、記号を二連続で使えないとかでosaponに行き着いた。
cokeになった頃どうやってID取ろうかって考えて絶対cokeでは取れないなって思って1d99999してたまたま12103が出たのでcoke12103で取ってる
Misskeyとか雑に取れるとこはcokeで取ってたけど何故かc0_keで取って以来c0_keもパターンの1つになってる
This account is not set to public on notestock.
This account is not set to public on notestock.
リザルトを愚直に出すとオーバーフローしてコアダンプするので苦肉の策でいっぱいするようにしたという経緯があったり
ウインドウ出してドメイン入れさせて入ってきたらアプリ作ったりして認証させる内容にウインドウの内容を更新してるって処理のはずなのに認証段階で固まるのなに
This account is not set to public on notestock.
QDialogの中の自作Classの中のrequestがどうやっても動かない問題が直りそうになくて胃が痛い
Falkonはなんというか古い様々なブラウザの魂を持ってるし仕様的にもモダンブラウザではない何かなんだよな
UIは古いFirefoxのようなでも機能はOperaっぽいものもある、それでいてレンダラーはChromiumなんだけど明らかにChromiumより多機能、でも現代のブラウザみたいに重くなくて滅茶苦茶軽快に動く
これがFalkonだ
えっ、剽窃じゃん。
せめてどこと merge してきたかぐらい
もっと言うべき。
学生だからって、何でも許されるわけと
ちゃうやろ・・・
中学生って基本こういうイメージ、怖い・・・
#shindanmaker
https://shindanmaker.com/978559
高校生の約9割がスマホでネット利用。PCは2割強にとどまる ~内閣府、令和元年度の青少年のインターネット利用環境実態調査結果速報を発表 - PC Watch https://pc.watch.impress.co.jp/docs/news/1245204.html
This account is not set to public on notestock.
This account is not set to public on notestock.
サポートに連絡して調査すると言われたが2週間ぐらい経っても音沙汰ないし未だに直る気配がない
RE: https://mewl.me/notes/81714fa6d4ff2f397c9484c5
This account is not set to public on notestock.
This account is not set to public on notestock.
作り始める以前から存在意義を作ってるやつから疑問視され他のネイティブクライアントが生えてくるのを知った上でも何故か開発が続けられるTenChaなんてものもあるんですよ
TenChaは軽量クライアントへの夢であり2009年のネタツイートや拾った枝なんかを共有するTwitterへの夢でできているのでわたしが止まらない限り止まらないです
This account is not set to public on notestock.
この間TenChaのログイン作り直してた時TenChaが使えないのが滅茶苦茶不便だったのでどうにかしてほしい(他人事
This account is not set to public on notestock.
セキュリティに強い自信はそんなに無いんだけど始めての自宅サーバーですらパス破られなかったなどあります
This account is not set to public on notestock.
確か始めてのサーバーはX動かしてTeamViewerで操作しててそのうちに「これはスマートではない」ってことを理解してsshを使うようになったけどPassを破られることなく次の鯖に引き継いだ時ポートも変えて鍵認証にしたんだったような気がする
うちのsshを受け付けてるマシンには外部にssh空いてるWeb鯖とルーターでブロックされてるOvpn鯖とメインマシンがあって外に出てる方はポート変えて鍵認証で内部の方は22でパス認証になってる
スマホでアクセスする時なんかOvpnで通信経由させて22パス認証するのが一番楽ってのがこの運用の理由
それが面倒だからOvpnでローカル入ってローカルのマシンにパス認証で入って踏み台にして鍵認証の鯖に入るんですよ
自然に溶けながらある種の存在感を放つ物ってのが結構好きなんだけど供給がないので描きたいなと思って数年が経つ
プラグインエンジン自体もClayってのがあるのでやろうと思えばできるんですが肥大化が加速するのでやるとしても今ではない
This account is not set to public on notestock.
動いたとてログインスクリプトが微妙に安定しない可能性あるんですがそこは上手いことやるしかないやつです
ログインスクリプトが動かなくてもRestClient用意してhost(host), client secret(secret), userToken(token)をconfig.jsonってのに入れると動きます
これを使えばElectron要らないし軽いGUIが作れるわけか
https://github.com/nodegui/nodegui
ただしWeb系の愚かなDOM爆弾に該当するものには未だに遭遇してないのでわたしはこっちの方が好き
This account is not set to public on notestock.
100件投稿を貯めるとWeb版Misskeyは崩壊するけどnodeguiのTenChaは1000件貯めてもガクガクせず遡れるのでネイティブ特有のローパワーでどうにかなる感はあります
Web版Misskeyが200件ぐらいで操作不能になってくる中1日分投稿を貯めたTenChaは投稿受信時にリストがちょっとガクつく程度というCPUパワーとGPUパワーの圧倒的省エネさを見れる
This account is not set to public on notestock.
Web版Misskey、200件遡って操作不能になる恐怖よりもその後タスクマネージャーでメモリ消費を見る時の方が怖い
Falkonはそれなりにタブ数=メモリって特性があるけどタブを完全破棄できてタブ数の管理とかをQt側でやってるのか滅茶苦茶軽いので開きっぱなしで破棄しておけば永遠に軽い
ところでアセット化が成功していることが確認できた(アセット化以前はCSSが当たらないで崩壊していた
configの書いたけど認識されんからやり方か書き方かあるいは両方ミスってる気がした()
{"host":"misskey.dev","secret":"アプリケーションのシークレット","token":"アプリケーションに関連付けられたユーザーキー"}
Electronはクロスプラットフォームビルドできるんだけどnodeguiはクロスプラットフォームビルドできないので動かしたいOSでビルドをかけないといけない
This account is not set to public on notestock.
Windows用をビルドするにはWindowsがいるしLinux用をビルドするにはLinuxがいるしMac用をビルドするにはMacがいる
Macはサポートできる気がしないので後回しとしてWinぐらいはいけるかなぁって感じでそこだけでも対応しようと思ってOSの壁があったやつです
This account is not set to public on notestock.
This account is not set to public on notestock.
ウインドウが閉じると段階が進むの、await requestしてるんじゃなくてawait closeしてる感がありキレそう
This account is not set to public on notestock.
This account is not set to public on notestock.
絵はよくわからない化け物しかできないけど図形を合わせたロゴならかろうじて作れるって感じの何かがある
だって閉じないと進まないじゃん(閉じてもcallbackで入れてたら進まないとか言われたら泣きます
最近自分の書いたラッパーのラッパーを書く癖が付いててやばい(1段目のラッパーはライブラリを雑に扱う用のラッパー、2段目のラッパーはそのクラス内で扱いやすいようにするラッパーであることが多い
だって閉じないと進まないじゃん(閉じてもcallbackで入れてたら進まないとか言われたら泣きます
This account is not set to public on notestock.
ロジ、慣れると大規模倉庫とか大規模自動化工場を作れるんだけど処理が死ぬほど重いしRAMもゴリゴリ食うんだよね
TakumiCraftとかいうModを入れるとバランス以上にすべてが崩壊して8GBが一瞬で溶けてCore2Quadだと進行不可能になった思い出がある
PCで言うならゲームをやるから見積りを出せと言われてマインスイーパーなのかPUBGなのかわからない状態
This account is not set to public on notestock.
本家のサーバー落としてきてForgeのサーバー落としてきて本家サーーバー起動して閉じてEULA同意して本家サーバー起動して閉じてワールドデータ消してForgeサーバーインストールしてForgeサーバー起動するとModフォルダできるからそこに.jarのModを突っ込む
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
fcitx-skk の評価、
iBus じゃない +100点
SKK じゃない -99点
計 1 点
が全てなんだよな
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
これはわたしは法律の問題だと思っていて、再配布を著作者が禁止しているってのは著作権上で違法になるけど、直リンに対して何か法的に規制があるかって言われればそんなことはないしリファラーで弾かれてなければ明確に拒否されてるわけでもないので直リンOKと判断している
さっきのリストのModの中には直リンできないようになってる所もあるしそういう所ではバージョンの所までのリンクを貼ってる
ウインドウを出したり閉じたりする処理を書いててcloseした時に発行されるイベントが飛んでこないのでボタンのイベントに強引に紛れ込ませるって黒魔術をしていて暗黒面に落ちてる感がする
ログイン画面できたーーーーーーーーーーーーーーーーーーーーーーーーーーーーー!!!!!!!!!!!!!!!!!!!!!!!!!
https://github.com/coke12103/TenCha/commits/master
ログイン直したのPushしたーーー #TenCha
上からMisskey公式、Milktea、TenChaオリジナル、Youtubeのコメント欄風、Twitter英語版、TenChaオリジナル、Discord
アプリ開発中はサーバーにアプリを大量に生やしてるんじゃないかって錯覚に陥ります(というか生やしまくってる気がする
TenChaってTwit風のUIしてるけど近代化してる部分が結構あるので順当なクローンかと言われればそうでもないみたいな概念になっている
Postboxのサイズこんなにいる?って言われればいらないって答える程度には広さに意味を感じていないけど隣の公開範囲選択とかのために無駄に高くなってるってのが現実的な回答になる
TenChaがどこに向かってるのかわからないけど謎機能もあったほうが楽しいってのは知ってるので謎機能生やします
QPixmapがsvgをサポートしている、QLabelにQPixmapが貼り付けられる、後はわかるな?
怪しい挙動抑えるのに3日溶かすことすらあるGUIライブラリであれ書いたら開発中止になりかねません
nodeguiのスクショを見る限り数pxズレるのはもうライブラリ側の管轄なのでこれはライブラリに願いをかけるしかない
これPostbox横のボタンはともかくPostviewの時刻表示は崩れない書き方した気がするんだけどなんでズレてるんだろう
nodeguiがWin7で動くって情報はあるのでWin7でビルドすれば動くみたいなアレかなーと勝手に思っている
これ\sf\small\overset{\tinyぜんぶ}{全部\:}\overset{\tinyずいきてき}{\underset{Random}{隨機的}}
に\sf\small\overset{\tinyへうじ}{表示}
すれば\sf\small\underset{\text{⑨ }}{\overset{\tinyサイキョー}{\negthickspace最強}}\negthickspace
なのでわ?…って\sf\small\overset{\tinyおも}{思}
つたけど、よく\negthickspace\sf\small\overset{\tinyかむが\:}{考}\negthickspace\overset{\tiny에}{へ}
たらそれ\sf\small\overset{\tinyピクシブひゃっかじてん}{Pixiv百科辞典}
の\!\sf\small\overset{\tinyけんさくさう}{檢索窗}\!
やんけwとツッコむだ\sf\small\overset{\tinyさうてう}{早朝}
。
RE: https://misskey.dev/notes/85v6o5wilw
そこスクロールにすると枠が表示されてダサいので一定以上は切り捨てることにしている(それでも十分長文見れるっちゃ見れる
あとPostViewにはバグがあってたまに見た目のサイズより小さいことがあるのでスクロールにするとそれがものすごく目立つってのもある
TLとPostviewに追加で拡張Postviewってのが生えるのはどうなんだって感じありそうだけどWebもTL、Misskey側での投稿、元投稿ってあるのでそんなに違和感ないと思う
https://github.com/nodegui/nodegui/blob/master/config/qtConfig.js#L36
win32(Windows 10 x86-64)
QtがWindows x86の下に64bit用のバイナリ置いてる辺りおら64使えよって圧力を感じる
なんでQodeなんてものがあるかってQtとNode.jsのメインループが2つ存在すると同期がすごいことになるからってQtのメインループにNode.jsを組み込む感じにしてしまえって理由だったはずなので動くのかよくわからない
Qtのメインループの中にNode.jsがいる故にQt側のループが進まないとNode.js上の処理まで辿り付かないのが投稿が微妙に遅い原因だと解釈してる
実際ウインドウ上でボタン押された時のイベントにAPI取得書いたらウインドウ閉じるまで進まないみたいな状況が発生したので
恐らくこれが実装されたら多少どうにかなりそう(多分nodegui上のAPIにない要素も付けられるので
https://github.com/nodegui/nodegui/issues/423
TenCha 200% 設定でDPIスケーリングをシステム(拡張)にするとこうにゃって何とか使えるけどフォントが90年代くおりてぃ
デザイナー非対応なのでフォントサイズが変更可能だとかなり崩れる故のアレだけど種類ぐらいは変更可能にしたい感あるね
何も指定しないってことはできないし適当に指定して「和sskey(フォントがいにしえよりつづくもの固定)」みたいなものを生み出しかねないのでとりあえずsansって感じになったという事情がある
90年代のMisskeyクライアントっぽくするためにはカタカナを自動で半角カタカナにする機能があるとよりそれっぽくにゃる
This account is not set to public on notestock.
This account is not set to public on notestock.
非Web系を名乗ろうとしたけどNode.jsってバリバリWeb系なのでネイティブGUIとだけ言い張ることにした
実装そこそこ時間かかるかもだけど各クライアントにはキーワードミュートがやっぱり欲しい
APIを削ってクライアントの機能を削っていくTwitter VS 謎機能で機能数を増やしていくTwitterクライアントじゃん
Pawooが無法地帯って書いてある記事見たけどJPと違って法はある気がする(とはいえエロ絵が光の速さでLTLを駆け巡る姿は無法っぽい
---------------------------------------------------------
https://github.com/coke12103/TenCha/blob/master/assets/placeholder.json
知ってる。
RE: https://c2.a9z.dev/notes/85wnt48w8p
WSはパーミッションいらないしTenChaは投稿ClassのほぼすべてがNullでも受け付けるようになってるので動く
ちにゃみにtwistaはちょっと特殊でアイマスタイムラインというのが存在する(・ω・)
決して軽くはなさそうだし構造も複雑になるけどメインループの挙動の遅さとか要素増やすと不安定になる現状はどうにかなりそう
通信させる系現状でもAPIリクエストがガクガクなのでガクガクになるのが怖いやつだ...
RE: https://misskey.io/notes/85xcvf9hmk
QtのメインループにNode.jsのメインループが乗ってるので「あれ?再接続動いてない?」って思ってGUIのボタンを押すと再接続が開始されたりするっていう結構な惨事なのでgui側を分離して耐えられるかどうかと言った感じがかなりある
Qtメインループ → Node.jsメインループ → WSループって感じで3段乗ってるのが良くない気はするんだけど
設計で通信系の下にGUIを置く感じで作ってもそれより下のレイヤーでQtのメインループに乗ってるので変わらない気がする
パッケージ化がnodeguiに依存してて分離した場合クライアント側をどうやって一緒にパッケージにさせるかみたいな地獄絵図
guiサーバー化した後child processで呼び出せば上手いこといきそうだけど問題はそれでちゃんとパッケージ化に着いていけるかってことだなぁ
JSがガバガバでコードが汚くなる言語ってのは理解して書いてるけど微妙な時は微妙過ぎて苦痛ではある
nodeguiに依存するとqodeとwebpackにパッケージ化と実行で依存することになって逃がれられない
WinだとMakeがVSで入ってるけどLinux, Macの場合更にGCCに依存してるというアレ
This account is not set to public on notestock.
PS5のコントローラー、なんとなくAperture Scienceが作ったのかなあみたいな気持ちになる
なんか1回 npm start の方で起動しないと更新反映されたビルドをしてくれないという(キャッシュでも残ってるのか?みたいな挙動をされる)
もし目に見えない裏側の変更が増えてきたら日付でもいいので小さくバージョンナンバーとかあると助かるかもしれない
RE: https://misskey.dev/notes/85xslgzo3p
packerは./dist
をパックしてるような気がする。そんでNodeguiはwebpackでまとめないと./dist
にまとまったのが配置されない。ってことな気がする
多分npx nodegui-packer --pack ./dist
の前にnpm build
叩けばちゃんと配置されそう
ウインドウサイズ(厳密にはウィジェットサイズ)の変更時とウィジェットそのもののサイズの挙動がかなり怪しいのはnodeguiのバグなのでこれでも対処療法されてる方なのです...
https://github.com/nodegui/nodegui/issues/300
該当するIssueが多分これなんですけど擁護するならこれはQtのUIをStyleSheetとか使って簡単にレイアウトするための新しい試みなのでバグは仕方ないと思うのです
逆になんでこんなにバグだらけのものを使っているかってQt固有の指定の一部がまだまだ怪しいので現状だとこれに統一するのが正しいって判断です。後々修正された後としても楽になるのです。
icon(type) icon(notification user) name(notification user) description date
or
icon(type) icon(notification user) name(notification user) date description
バルーン通知 Twitterクライアントのじゃないけど何か出てきた(・ω・)
リストの通知ビューに時刻はいる?(投稿が出る領域に詳細として時刻を出すことは前提として #TenCha
リモートで結果を表示
リアクションはリアクションとして埋め込みたいんですが今それしようとするとTwiEmojiを動的取得するコードを書く必要性が生まれるので後回しにさせていただきます...
将来的にソース+ソースで統合タイムライン作れるようにタイムラインは通知とNoteの両方を受けられるように書いている
TenChaはそういうのがあった挙句に30秒ping, pong, messageのどれかがなかったら強制再接続の刑みたいな地獄のようなコードになってる
投稿ボタンを押すと何故か進むみたいな挙動をするので完全にNode.jsのメインループに到達していないものだと思っている
RE: https://misskey.io/notes/85yw9ek5b3
投稿ボタンを押すと止まってたWebsocketが再接続されるなんてコード書いた覚えがないんですが何故か再接続されるので大変意味不明
@eniehack@misskey.io HTTP Requestなんかも遅いことはあるんだけどそれでも投稿はまともにできる感じかな。失敗したのを見たことがない
ログインの部分だけはウインドウ開いたり閉じたりしないとHTTPリクエストでも進まなかったけど投稿でそんなことはないのでQDialogの挙動が怪しい感
通知のあらかじめ読み込んどけって話なんですがそれをするには同一排除を実装する必要があるのでもうしばらくって所
This account is not set to public on notestock.