みんな作ってるだろう青空の雑なクローラを用意した。kbsky のコードを借用しました。ありがとうございます。
みんな作ってるだろう青空の雑なクローラを用意した。kbsky のコードを借用しました。ありがとうございます。
今までできてたことがOSのAPIの規制強化で出来なくなるの、ほぼ自分専用アプリだから笑って済ませられるけど、もしこれで商売してたら辛かっただろうな…
サービスが何かの理由で失われたから少し後に再起動しよう…と思っても権限だったりScreenCaptureIntentの返すトークンだったりが不足して不可能な感じ。
- foregroundServiceType が mediaProjection のサービスを開始するには CAPTURE_VIDEO_OUTPUT 権限が必要。
- CAPTURE_VIDEO_OUTPUT 権限の取得は通常の実行時権限要求ではなく、mediaProjectionManager.createScreenCaptureIntent() を使った確認UIを割と頻繁に呼び出す必要がある。
さらに
java.lang.SecurityException:
Starting FGS with type mediaProjection
callerApp=ProcessRecord{7fd65d0 17027:jp.juggler.screenshotbutton/u0a225}
targetSDK=34
requires permissions:
all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION]
any of the permissions allOf=false [android.permission.CAPTURE_VIDEO_OUTPUT, android:project_media]
とか。
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.
@Panta Googleはそのへん保守的だから、Viewを捨てる選択がこの10年以内にくることはまずないと思ってる
@Panta しかしその10年でComposeを正当化するほどのハードウェア速度の向上がくるかどうかは怪しい
This account is not set to public on notestock.
@Takumiboo マストドン3.juggler.jp とかは建ててたけど、所詮試験サーバなので限界があるのでした
#SubwayTooter はその成り立ちから言って、連合しない機能に興味がない。 https://mastodon.juggler.jp/@tateisu/109850956879597233
This account is not set to public on notestock.
前置きで限定した「Androidの大半のアプリ」と違ってiOSで今起きてることは様相がかなり異なるので、そっちはそっちで頑張ってほしいのお気持ち
This account is not set to public on notestock.
これは秘密なんですが、TootDeskはなんでもかんでもカラムにするクライアントに対するアンチテーゼとして作った側面があります。
iOS向けだからというのもあるけどね
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.
This account is not set to public on notestock.
#subwaytooter 自分はまず閲覧すること前提で各書き込みへの操作ボタンは出さないようにカスタマイズした
#SubwayTooter がわかりにくい、つかいにくい、って人の大半は既存のSNSアプリに似た体験を求めてるんだろうな、という理解をしている。だって彼らはどう使いにくいのか説明してくれないし。
#subwaytooter のすべてをカラムにするっていう設計思想すごいいと思うし、任意のアプリに応用できそうだと思う。Androidはしばしば画面遷移が複雑になって、戻るボタンを連打する羽目になりがちだが、SubwayTooterはその心配がいらず、自分が今何を開いていたのかというのが一目瞭然だ。
@kussy_tessy 任意っていうか、ブラウザのタブとかEmacsのバッファとかそうですよね。つまり昔からある発想
あの非難声明、ユーザを謗るのが良くないって話とドメインブロックを違法扱いするのが良くないって話が混ざってるので、そこだけは注意ね。この2つは落としどころが全く異なるでしょ。
This account is not set to public on notestock.
@Cutls 「参考程度」で済ませるなら良いのでは。無条件に他サーバのブロック情報を受け入れようとするサーバ管理者がいるなら、そいつの方が邪悪
This account is not set to public on notestock.
This account is not set to public on notestock.
@Cutls しかし落としどころを最初から相手やギャラリーに見せる義理もないのだ
#SubwayTooter 5.516 is now on production release in Play store.
This account is not set to public on notestock.
#TheDesk 観
サーバーごとに差があって当然だが、クライアントがそれを潰すべきではない。今はメンテナンス性重視でだいぶ削ったが、一時期独自機能で対応可能なものはなるべく付けていた。このクライアントの出発点はマルチカラムではなく、マルチアカウントである。基本的にカラム幅がスクリーン幅に均等に割り付けられるとか、通知が各カラムの上部にあるところとか、アカウントマネージャとかはそういうことだ。ただ、前述の通りサーバの差を見て欲しいから、アカウントを超えてタイムラインをマージしたり、マルチポストは実装しない。
とりあえずこんなもん。他にある諸機能は他のクライアントやサービスでできることを引っ張ってきただけなので思想は無い。
あと長文だけどたたみません。TheDeskには長文折り畳み機能があるからな!!
Connyは厳密にはTusky作者じゃなくて、リポジトリを引き継いだメンテナだった。元の作者は別に存在した。
特殊な用途に最適化しつつ、残りの僅かな開発リソースでも長期生存できるように工夫して、その結果まだ作者本人が使い続けたいと思える程度には鮮度を保てている。そんなアプリだ #subwaytooter
そんな前置きのうえで、うちの #subwaytooter アプリの立ち位置を述べる。「万人向けを目指したアプリ」でないのは明らかだが、「雑に多機能なアプリ」というのも違うのだ。そう見える人は視点を欠いている。あれは「零細サーバを立てた直後の人が、多くのサーバ(アカウントの有無に関わらず)からユーザや投稿を自サーバに引っ張ってくるためのアプリ」だ。疑似アカウント、別アカ操作、カラムカスタマイズ、強力なフィルタ機能、ほぼ全てがそれを意識して作っている。
一方で開発リソースは限られているので、多数のカラムを効率的に扱う際に問題が起きそうな機能や、将来の拡張の邪魔になりそうな一見分かりやすいレイアウトなどは排除されている。ただカラムを並べただけの構造は、それが最も将来の拡張に有利だからだ。結果としてアカウント全く関係ないnotestock検索などもシームレスに追加できている。
Androidのマストドンのアプリの大半は特にスポンサーがおらず、限られた開発リソースの中で実現したいことを優先して開発されてる。
「とりあえず作ってみた」アプリや、「理想が高すぎた」アプリは、停滞や消滅の憂き目にあった。
残ったアプリもPlayストアから排除されそうになったりしたが、なんとか生きている。
2023年はTwitterの混乱によりMastodonの知名度が上がり、状況の改善が見られるといいな…。
一方でTusky作者は要望やプルリクの多さを嘆く投稿をしていた。著名になりすぎるのも問題があるのだろう。
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.
@mt_chloe_f STでマルチアカウントするなら、アカウント設定で通称と色を開いて文字色をつけるのをオススメします。メイン画面下のボタンにも反映されます。勿論カラム設定で色をつけるのもアリです。
This account is not set to public on notestock.
This account is not set to public on notestock.
ああ、おまえのアプリは有害だ、never develop software! って言われたことならあるよ。
SNSサーバの運営は営利または寄贈経済の一種です。運営とユーザの立場がどうにも異なるので、一定以上は民主的にはならんよ。たとえばユーザの意見を聞いた結果外部に「おまえのサーバは有害だ」と迫害されたとして、ユーザがなにか責任をとれる訳でもない。
#SubwayTooter のissueを1ページにまで減らした https://github.com/tateisu/SubwayTooter/issues
新しい通知が動いたり動かなかったり、通知の見た目がどうこう言われたり、とかはあるけどサーバに負荷をかけることは今後大幅に減りそうなのでまあ良し
今日は #SubwayTooter のリリースを4回やったぞ!バグが出続けたからだし、何も偉くないね…
#fedibird ユーザー設定(プロフィールを編集)から、Cat、誕生日、場所の設定ができるようになりました。
基本的にMisskeyの互換機能です。
■ Cat
アバターアイコンに猫耳がつき、発言の「な」が「にゃ」に強制変換されて表示されます。韓国語とローマ字にも適用があります(割愛)。解除すると元に戻ります。
連合先には原文のまま届きます。Misskeyや小田急などCat機能互換のサーバでだけ、変換して表示されます。
基本的にジョーク機能の類ですので、適当に遊んだら戻しておいた方がいいかも??
真面目に書いた文章がゆるくにゃって、誤解を招いてもしらにゃいよ??
■ 誕生日
思いっきりインターネットに公開されますし、一度知られたら誰かが記録していたりします。正確な日付を公開する場合はよく考えてください。
なお、Fedibirdでは正しい情報とはみなさず、年齢制限等の参考には用いません。
■ 場所
適当なことを書いて遊ぶのが良いかと思います。
ビジネス利用の場合は正確な住所を記載しても良いですが、個人の場合は最大でも市町村までの表示がよいかと思います。
某のストリーミングのキャプチャまわりはSTだとすごく雑な実装をしてるけど、誰も気にしてないようなので気にしない
@Panta カスタム絵文字でリアクションしたらnoteUpdatedにはカスタム絵文字の情報も含まれてたりしない?
ExoPlayer 2.13 - What’s new. ExoPlayer 2.13 contains many new… | by Ian Baker | google-exoplayer | Feb, 2021 | Medium https://medium.com/google-exoplayer/exoplayer-2-13-whats-new-8dd2b7144ccc Androidの定番動画ライブラリExoPlayerに動画変換APIが追加された。色々ラクになるな
かなり脱線したような感じだけど、気になるのは機能リストよりも、公開範囲の一つを表すのにStatus entityの名前空間を使っちゃってる事の方かなあ。もしかして本家の方でもそんな実装なんだろうか…?だとしたら落としどころがないな…
Android版firefox、去年後半に拡張機能の大半が使えなくなってしまって、特に翻訳やスタイルシート周りがツラい
This account is not set to public on notestock.
This account is not set to public on notestock.
https://fedibird.com/@noellabo/105713209867625511
こういうの欲しかった…。ありがとうございます
#fedibird ちょっと目処がたっていないので一部だけ。
/api/v1/instanceに、Fedibirdの追加機能を列挙するようにしました。
fedibird_capabilities: [
"favourite_hashtag",
"favourite_domain",
"status_expire",
"follow_no_delivery",
"follow_hashtag",
"subscribe_account",
"subscribe_domain",
"subscribe_keyword",
"timeline_no_local",
"timeline_domain",
"timeline_group",
"timeline_group_directory",
"visibilily_mutual",
"visibility_limited"
],
数が多い……。
クライアント側で、機能の有無を判定するのに必要と思うものを書き出しました。
初期化式の内部で未登場のクラスメンバを参照したらエラーにするコンパイルオプションが欲しいが、それはそれで別の面倒を生むのでそういうのがないのも仕方ないと思っちゃう
この問題、クラス内の定数(val) Aの初期化式で作成したスレッドが、それより後ろの行で定義/初期化されてる別の定数にアクセスしていたというものでした。マルチスレッドの処理順序によってnullポインタ参照が発生したりしなかったりしていた。
ビッグマックジュニア、結局大きいのか小さいのかどっちなんだ。普通のマックバーガーに野菜がピクルスしか入ってない問題を強調しちゃうだけじゃないのか。
@ButterflyOfFire @humanetech it's client library is WIP.
分散SNSのログサービス「notestock」をやってます。
溜め込んだログからアカウント横断検索をしたり、前後の投稿が見やすかったりします。また非公開にしたり、公開するけど検索させない、なんてこともできます。初期設定が非公開なので、公開・検索許可したら同じ話題の人を見つけやすくなるかも。
マストドンだけじゃなく、MisskeyやPleromaでも使えるよ。 https://notestock.osa-p.net/
https://github.com/tateisu/SubwayTooter/compare/v4.0.7...v4.0.8 diff見ても起動に影響するような感じはしないんだよな…
Subway Tooter 4.0.8 が起動しないという投稿を2つ見かけたけど、Play Consoleのクラッシュレポートにはそれらしき情報はなし
This account is not set to public on notestock.
「pgBouncerを使ってdb:migrateはできません。」いやこれまでずっとしてきたんだが…!?(愕然
Web/モバイルエンジニアの高年齢ワークモデルってまだ存在しないし、サーバ側やバックエンドよりもサービス内容に密着できないし常に新技術への対応を求められる分だけ不利だなー。
ここ10年くらいモバイルアプリで楽しく仕事してたけど「業務に密着」って方向にはならなかったのでそこは失敗だなー。アプリリニューアルの仕事とかはアプリ規模が大きくなるにつれ一人じゃ無理なのでチーム抱えてるAndroid開発会社に取られた。サービス内部の新機能の開発とかで仕事は続いてはいるが、それであと20年もサービスに密着していられるとは思わん…。10年だって厳しいだろう。(えらい人がだす)新機能のアイデア自体が枯渇すると思う。そうなった時に別のサービスにすぐに参加できればいいけど、綱渡りだな。やはりWeb/モバイルエンジニアの将来は暗いのだろうか…
画面内の被写体の大きさにあわせてモザイクの粒度を変えてる例ってのはAVでも特にないと思う。2Dでピクセル数で決めてる例はDLSiteとかあったよ
アプリのウィンドウサイズに対する比率でしか規定できない以上、いろんなケースで安全に通そうとしたら荒くせざるを得ないのかもしれない
元画像の解像度が一定な2Dエロゲの場合はモザイクの大きさをピクセル数で規定できるけど、3Dエロゲだとそうはいかない事情があり
拡大率にあわせてモザイクの大きさが変わったら、シーンによってはモザイクの荒さが不足してることになって審査に通らない可能性が出てくるのでは…
プロフ更新APIの不具合への回避策を実装しました
https://mastodon.juggler.jp/@tateisu/99512691702775665
https://github.com/tootsuite/mastodon/issues/3804
update_credentialでのアバター画像の更新。ある程度昔まではmultipartじゃないformで値に画像ファイルの中味をBase64エンコードしたものを渡しても大丈夫だった。juggler(2.2.0)ではエラーにならない。末代はmultipartじゃないと500エラーがHTMLで返るようになってた。画像URLのbasename部分は前者の方法だと「data」になってた。(タンス中のアバターアイコンのフォルダをfindしたら結構見つかる)。後者で更新したらmultipartのファイル名に合わせたものになってた。クライアント的には同じURLで画像が異なるのはとても困るのでタンス側で命名してほしいわ…。
https://github.com/tootsuite/documentation/pull/496 コレか…? Base64エンコードしたイメージを渡してたけど、2ヶ月くらい前からmultipartになってる
update_credentials やverify_credentialが返すavatarやavatar_staticに入ってるのよ…
https://mastodon.juggler.jp/system/accounts/avatars/000/047/763/original/data.png
https://mastodon.juggler.jp/system/accounts/avatars/000/047/763/original/XXXXXXXXXX.png
後者の形式のURLを取得するにはどうしたらいいんだろう。公式WebUIで使われてるのは後者だよね
@Asty210@mstdn.jp 画像を選択した後何もせずに少しまつとPATCHなんとかって進捗表示が出ませんか
@Asty210@mstdn.jp その現象は見たことないので分からない。
作者名的にはアバター画像を変更した後にプロフカラムをリロードしたり公式Webの公開プロフ(ログインしなくても見れるページ)をリロードしたりして反映されるのは確認してる
Keepass2Android Password Safe のAutoFill機能はなぜかGoogleからの要請により削除されたらしいが、相変わらずIMEになれるのであまり困ってない
https://play.google.com/store/apps/details?id=keepass2android.keepass2android
Keepass、AndroidだとIMEになれるからブラウザどころかWiFiのパスワード入力にまで使えるの強い
@rinsuki 試してないけど iOS だと KeePass touch がDropbox同期できるらしいよ https://www.guidingtech.com/51929/use-keepass-android-ios/
@rinsuki keepass2かなあ。AndroidだとIMEとして動作するしWindowsでも自動入力できる。DropboxにDBファイルを置いとくと同期もできる
「Kotlin というのはやかんを表すフィンランド語であり、Kotlin 言語のロゴマークもやかんである。」そうなのか…
日本だとTootdonや外部サービスがトゥート検索を独自に実装してるけど、海外だとトゥート検索サービスは滅びてマストドン自体でやれってなってるのが面白いっちゃ面白い
local=1とか送ってたせいでPleromaに余計な修正をさせてしまった前科がある https://git.pleroma.social/pleroma/pleroma/commit/f1f79c0dca9198e2a427f988b60e4222f8afda57?view=parallel