23:58:59 @kPherox@pl.kpherox.dev
icon

ユーザーの検索機能してないよなぁ

23:57:13 @kPherox@pl.kpherox.dev
icon

ちょっとPleromaのsearch apiに手加えたい…

23:50:55 @kPherox@pl.kpherox.dev
icon

問題は取得できてないのかわからないこと

23:50:33 @kPherox@pl.kpherox.dev
icon

取得できないはおかしいしfields消して投稿とアカウントの存在だけは取得するってする必要がある

23:49:38 @kPherox@pl.kpherox.dev
icon

vimにswiftのformat入れてるんですけどswitchをネストしたらその後に来るcaseのインデント壊れるんすよね。なんで?

23:48:22 @kPherox@pl.kpherox.dev
icon

コーディング規約の存在知ってるとlinter入れたくなるしそうするとlint fixでコード綺麗にしてくれる。なお暴発

23:46:59 @kPherox@pl.kpherox.dev
2019-08-24 23:46:46 Posting Nie nieein56@mstdn.tamag.org
icon

This account is not set to public on notestock.

23:45:56 @kPherox@pl.kpherox.dev
icon

@nieein56 インデントを強制するのはコーディング規約だけにしてほしい

23:44:52 @kPherox@pl.kpherox.dev
icon

Amazon Wishlistの短いやつはクエリつけると255前後になるから512あれば入れられる

23:43:40 @kPherox@pl.kpherox.dev
icon

雑にガッてオブジェクト手書きする時はyamlの方が楽

23:43:05 @kPherox@pl.kpherox.dev
icon

@nieein56 py。yamlはましかなぁ

23:41:30 @kPherox@pl.kpherox.dev
icon

北斎さんぷれろま落ちてますよ…

23:39:10 @kPherox@pl.kpherox.dev
icon

インデントでネスト表現わかりづらくて苦手

23:18:59 @kPherox@pl.kpherox.dev
icon

ちょっとMR開いて提案投げてみようか

20:38:58 @kPherox@pl.kpherox.dev
2019-08-24 20:37:12 Posting 貴方の隣に潜むろーかる localadms@community.bluecore.net
icon

This account is not set to public on notestock.

20:35:52 @kPherox@pl.kpherox.dev
icon

Ricty Discordに変更した

20:34:54 @kPherox@pl.kpherox.dev
icon

Osakaフォントダメじゃん

20:30:41 @kPherox@pl.kpherox.dev
icon

気づき、monospaceフォントのはずなのにマイナスとプラスの幅が違う

20:29:15 @kPherox@pl.kpherox.dev
icon

普通に見辛いのでdiffのtextファイル貼っとこう…
https://www.kr-kp.com/patch.txt

20:25:54 @kPherox@pl.kpherox.dev
icon

- fieldsのデフォルトをnilにしてnilを渡した時にattachmentが存在してる時はそれを変換、なければ空の配列、fieldsがnilでなければそのままを返す

- fieldsの長さが設定以上の時にinvalidのfieldを追加する

みたいな変更を加えた。1つ目はともかく2つ目の変更はあまりスマートじゃない気がする

20:22:58 @kPherox@pl.kpherox.dev
PleromaのUser.Info.fields周りの変更やってみたやつ(めっちゃ長い)
icon

diff --git a/lib/pleroma/user/info.ex b/lib/pleroma/user/info.ex
index 45a39924b..0f9de25f9 100644
--- a/lib/pleroma/user/info.ex
+++ b/lib/pleroma/user/info.ex
@@ -49,7 +49,7 @@ defmodule Pleroma.User.Info do
     field(:mascot, :map, default: nil)
     field(:emoji, {:array, :map}, default: [])
     field(:pleroma_settings_store, :map, default: %{})
-    field(:fields, {:array, :map}, default: [])
+    field(:fields, {:array, :map}, default: nil)
     field(:raw_fields, {:array, :map}, default: [])
 
     field(:notification_settings, :map,
@@ -242,6 +242,14 @@ defmodule Pleroma.User.Info do
   end
 
   def remote_user_creation(info, params) do
+    cng = info
+    |> cast(params, [:fields])
+    |> validate_fields(true)
+    fields = if cng.valid?, do: get_field(cng, :fields), else: [%{
+        "name" => "Invalid fields",
+        "value" => "See full profile",
+    }]
+
     info
     |> cast(params, [
       :ap_enabled,
@@ -256,13 +264,20 @@ defmodule Pleroma.User.Info do
       :hide_followers,
       :hide_follows,
       :follower_count,
-      :fields,
       :following_count
     ])
-    |> validate_fields(true)
+    |> put_change(:fields, fields)
   end
 
   def user_upgrade(info, params, remote? \\ false) do
+    cng = info
+    |> cast(params, [:fields])
+    |> validate_fields(remote?)
+    fields = if cng.valid?, do: get_field(cng, :fields), else: [%{
+        "name" => "Invalid fields",
+        "value" => "See full profile",
+    }]
+
     info
     |> cast(params, [
       :ap_enabled,
@@ -273,10 +288,9 @@ defmodule Pleroma.User.Info do
       :follower_count,
       :following_count,
       :hide_follows,
-      :fields,
       :hide_followers
     ])
-    |> validate_fields(remote?)
+    |> put_change(:fields, fields)
   end
 
   def profile_update(info, params) do
@@ -422,7 +436,7 @@ defmodule Pleroma.User.Info do
 
   # ``fields`` is an array of mastodon profile field, containing ``{"name": "…", "value": "…"}``.
   # For example: [{"name": "Pronoun", "value": "she/her"}, …]
-  def fields(%{fields: [], source_data: %{"attachment" => attachment}}) do
+  def fields(%{fields: nil, source_data: %{"attachment" => attachment}}) do
     limit = Pleroma.Config.get([:instance, :max_remote_account_fields], 0)
 
     attachment
@@ -431,6 +445,8 @@ defmodule Pleroma.User.Info do
     |> Enum.take(limit)
   end
 
+  def fields(%{fields: nil}), do: []
+
   def fields(%{fields: fields}), do: fields
 
   def follow_information_update(info, params) do

20:18:33 @kPherox@pl.kpherox.dev
2019-08-24 20:15:21 Posting Hokusai Okutama jcm50@naotodon.xyz

This account is not set to public on notestock.

20:17:37 @kPherox@pl.kpherox.dev
icon

TLDで取ったんか

20:17:26 @kPherox@pl.kpherox.dev
2019-08-24 20:16:53 Posting Hokusai Okutama jcm50@naotodon.xyz

This account is not set to public on notestock.

20:16:29 @kPherox@pl.kpherox.dev
icon

ええやん

20:15:56 @kPherox@pl.kpherox.dev
2019-08-24 20:11:32 Posting 学マスでは抜けない多摩北斎✔🍡 jcm50@pawoo.net
icon

This account is not set to public on notestock.

20:06:15 @kPherox@pl.kpherox.dev
icon

一回profile更新入ったらfieldsのfieldが作られるしnil渡してみよう

20:05:01 @kPherox@pl.kpherox.dev
icon

fields空なのに表示されるのダメでしょ

media.png
Attach image
media.png
Attach image
20:00:11 @kPherox@pl.kpherox.dev
icon

fieldsが空の時じゃなくてそもそも存在しない時だけにした方がいい気がする

19:58:10 @kPherox@pl.kpherox.dev
icon

これ普通にダメでは…

19:57:47 @kPherox@pl.kpherox.dev
icon

pleromaのfields関連のバグっぽいやつ、プロフィール変更した時のUpdate Activityではsource_dataを更新しないからfieldsを空にした時に初期取得時のfieldsが表示される

19:09:19 @kPherox@pl.kpherox.dev
icon

jpって雲になってんの

19:09:04 @kPherox@pl.kpherox.dev
2019-08-24 19:01:11 Posting ておりあ👐 theoria@wug.fun
icon

This account is not set to public on notestock.

18:07:14 @kPherox@pl.kpherox.dev
icon

Update Activityだけ長さのバリデーションしてるの意味なくない?

18:06:41 @kPherox@pl.kpherox.dev
icon

configの255超えてるやつでも/ostatus_subscribeでsource_dataのattachmentが更新されて普通にfieldsが表示されるなぁ…

18:03:48 @kPherox@pl.kpherox.dev
icon

あー…うーん…?

17:27:34 @kPherox@pl.kpherox.dev
icon

うーん…

media.png
Attach image
17:06:25 @kPherox@pl.kpherox.dev
2019-08-24 00:43:11 Posting 古山キリヲ🤨 khirio@kirishima.cloud
icon

This account is not set to public on notestock.

16:59:02 @kPherox@pl.kpherox.dev
icon

lockedとかap_enabledとか色々はダメになるしfieldsだけ別でやる必要あるのでは?みたいな

16:57:16 @kPherox@pl.kpherox.dev
icon

fieldsのvalidate失敗したら変更前を使うってやってみたらbioとnameとfollowing/follower addressとavaterの変更だけ可能になった

16:55:54 @kPherox@pl.kpherox.dev
2019-08-24 16:55:18 Posting 貴方の隣に潜むろーかる localadms@community.bluecore.net
icon

This account is not set to public on notestock.

16:38:03 @kPherox@pl.kpherox.dev
2019-08-24 16:34:16 Posting skiaphorus(引っ越し済み) skia@mstdn.maud.io

This account is not set to public on notestock.

16:37:51 @kPherox@pl.kpherox.dev
2019-08-24 00:33:50 Posting 銀猫さん silverscat_3@social.xeltica.work
icon

This account is not set to public on notestock.

16:37:50 @kPherox@pl.kpherox.dev
2019-08-24 00:33:04 Posting 二宮エリー(CV.内田いちや) nullpomania@best-friends.chat
icon

This account is not set to public on notestock.

16:36:37 @kPherox@pl.kpherox.dev
icon

どうせプロフィール変更されないんだからエラーあるときは変更無視するようにするのがいいのではって気持ちに

16:00:47 @kPherox@pl.kpherox.dev
icon

うーん。勘違いだな。validateで値変更とかありえんわ

15:55:41 @kPherox@pl.kpherox.dev
2019-08-24 15:20:56 Posting ktzw kitazawa1823@pawoo.net
icon

This account is not set to public on notestock.

15:55:03 @kPherox@pl.kpherox.dev
2019-08-24 14:38:12 Posting kiroha@pawoo kiroha@pawoo.net
icon

This account is not set to public on notestock.

15:52:09 @kPherox@pl.kpherox.dev
icon

ちょろっとソースいじったから長いfields確認するか…

15:47:21 @kPherox@pl.kpherox.dev
icon

そもそもinvalidのあれがちゃんと{array, map}の型に合ってればなんの問題もなかった

15:46:42 @kPherox@pl.kpherox.dev
icon

実際のフィールドはview full profileで見てもらう方が確実だしサクッと消すってのもありかなぁな気持ちになったりする

15:46:16 @kPherox@pl.kpherox.dev
2019-08-24 15:39:25 Posting aries aries@pl.asterism.xyz
icon

mergeされました✌
ただもっといいやり方に変えたいっちゃ変えたいよねぇ…
kpheroxさんのアイデアみたいに、指定の長さ超えたら切り捨てってのがいいとは思うんだけれども、ただこれHTMLだからバッサリ切るとパースできなくて多分エラーになるので面倒くさそう

15:40:27 @kPherox@pl.kpherox.dev
icon

あー…[fields: "invalid"]ってEcto.schemaでmapかarrayに設定してあるのにstring渡してるからコケてたのか

14:54:37 @kPherox@pl.kpherox.dev
icon

certbot standaloneはwebサーバー動いてない環境向けだから既にwebサーバー動かしてるならwebrootとかmanualとかでやるのが良いよね

14:52:54 @kPherox@pl.kpherox.dev
2019-08-24 14:41:44 Posting 出雲伊月 itsukia@pl.istukiy.com
icon

This account is not set to public on notestock.

14:52:37 @kPherox@pl.kpherox.dev
icon

これtupleじゃなくてstruct返したらエラー発生しないのでは…?

14:47:35 @kPherox@pl.kpherox.dev
icon

validate_changeで返してるの何だろう…

14:34:03 @kPherox@pl.kpherox.dev
icon

nginx起動してるとダメなアプリとか使いたくない

11:35:24 @kPherox@pl.kpherox.dev
icon

ariesさんの出してたデフォルト引き上げ、何もいわずmergeされてた

11:32:03 @kPherox@pl.kpherox.dev
icon

見覚えのないBTしてる

11:29:32 @kPherox@pl.kpherox.dev
2019-08-24 11:00:41 Posting いそがしのげんちゃん。​:verified: ProgrammerGenboo@itabashi.0j0.jp
icon

寿司打懐かしいなぁ

11:28:08 @kPherox@pl.kpherox.dev
icon

04:05:21 @kPherox@pl.kpherox.dev
icon

作者にハマるみたいな感じだろうか

04:03:54 @kPherox@pl.kpherox.dev
2019-08-24 04:03:32 Posting 霧島ひなた@admin✅ Kirishimalab21@kirishima.cloud
icon

This account is not set to public on notestock.

04:03:51 @kPherox@pl.kpherox.dev
2019-08-24 04:01:22 Posting 霧島ひなた@admin✅ Kirishimalab21@kirishima.cloud
icon

This account is not set to public on notestock.

02:47:00 @kPherox@pl.kpherox.dev
icon

経緯はなんとなく過去の動画見て知ったけど動画投稿者としてのコンテンツしか知らないから辞めたんだなぁとしか

02:45:15 @kPherox@pl.kpherox.dev
icon

そういえばMFA認証をこのアカウントにつけたいなって思ったけどpleroma本体にマージされてなかった

02:41:37 @kPherox@pl.kpherox.dev
icon

狐のやつ

02:40:24 @kPherox@pl.kpherox.dev
icon

Vは四天王とか言われてた初期ぐらいしかみてなかったから知らん間に一人消えててびっくりした(1週間前

02:35:44 @kPherox@pl.kpherox.dev
icon

ゲーム画面にコメント被らないような配慮があると逆に画面外なのでそっちに目を移すのが嫌ね…

02:33:13 @kPherox@pl.kpherox.dev
icon

配信でも雪山人狼みたくコメント絶対みないとかコメント見ることがほぼないとかの放送だとコメントはノイズになるから切るんだけど

02:32:08 @kPherox@pl.kpherox.dev
icon

雑談配信じゃなくてゲーム配信で普通にコメントと会話してたらコメント見なきゃしょうがないってなってしまうので…

02:26:13 @kPherox@pl.kpherox.dev
icon

動画内にコメント流してるけど雑談以外は範囲狭いしラグもあるしでむしろ邪魔という

02:24:38 @kPherox@pl.kpherox.dev
icon

YouTubeの動画はちゃんとYouTubeに合わせた動画が多いからいいんだけど生放送はコメントと会話が発生するから視線を動画から外さんとダメなんだよね

02:21:43 @kPherox@pl.kpherox.dev
icon

動画にコメントは要らない

02:21:23 @kPherox@pl.kpherox.dev
icon

にじさんじのライバー、普通にニコニコの生主感が強くてコメントを流す拡張ないと観るの無理になってる

02:20:08 @kPherox@pl.kpherox.dev
2019-08-24 02:16:35 Posting らりお・ザ・何らかの🈗然㊌ソムリエ lo48576@mastodon.cardina1.red
icon

ニコニコ動画そのものについてはもう全く使ってないので思うところは特にないんだけど、 YouTube にコメ付き動画を転載してる連中が大変鬱陶しいしさっさとどこかに消えてほしい

02:06:00 @kPherox@pl.kpherox.dev
icon

ストリーミングの音楽サービス、Amazon Primeで全く聞いてない時点で利用するわけないのでどこも使ってないわ

02:02:53 @kPherox@pl.kpherox.dev
icon

YouTube Premium、YouTube Music Premiumに¥200積んで他の動画でもDLとかBG再生とかNo Adsとか出来るよってなってんだろうしMusic抜いたサービスやる気はなさそう

01:59:27 @kPherox@pl.kpherox.dev
icon

@vando あーMusicだけで¥980/mな購読サービスが別であるの考えたら結構安いプラン作れそうだな……

01:53:00 @kPherox@pl.kpherox.dev
icon

@vando Music抜いても料金さほど安くならなさそう…

01:51:38 @kPherox@pl.kpherox.dev
icon

DLしてオフライン再生機能とかバックグラウンド再生とかやりたいことちゃんとあるんやぞ

01:50:24 @kPherox@pl.kpherox.dev
icon

ゴミアプリ金払って入れるより月々のサブスクライブで払って使う方が何倍も質のいい体験できるからYouTube Premium入ろうな

01:48:11 @kPherox@pl.kpherox.dev
icon

きっとYouTubeの動画DL出来るって感じで広まってるアプリだからそれ相応のレベルのレビューしかつかないんだなって

01:47:09 @kPherox@pl.kpherox.dev
2019-08-24 01:33:58 Posting Cutls@cutls.com Cutls@cutls.com
icon

ダウンロード認めたらYouTube Premiumも儲からないし動画クリック数からのアフィリエイトもめちゃくちゃなことになるから普通禁止よな

01:47:08 @kPherox@pl.kpherox.dev
2019-08-24 01:31:16 Posting Cutls@cutls.com Cutls@cutls.com
Attach image
01:47:07 @kPherox@pl.kpherox.dev
2019-08-24 01:28:25 Posting Cutls@cutls.com Cutls@cutls.com
icon

まぁダウンロードがYouTubeの規約でアウトなのでアホがクソアプリをレビューしてる図を見ているだけ

01:47:01 @kPherox@pl.kpherox.dev
2019-08-24 01:23:10 Posting Cutls@cutls.com Cutls@cutls.com
icon

360円払ってYouTube保存できないので詐欺らしい
もはや意味が分からない

Clipbox+ for iPad : iPhoneアプリランキング - app-ranking.net/id/1386535816

00:58:00 @kPherox@pl.kpherox.dev
2019-08-24 00:56:00 Posting skiaphorus(引っ越し済み) skia@mstdn.maud.io

This account is not set to public on notestock.

00:57:37 @kPherox@pl.kpherox.dev
icon

なにそれ知らない…みたいになる

00:54:48 @kPherox@pl.kpherox.dev
2018-01-08 03:00:51 Posting らりお・ザ・何らかの🈗然㊌ソムリエ lo48576@mastodon.cardina1.red
icon

異世界はスマートフォンとともに。 - #1 死亡、そして復活。
ncode.syosetu.com/n1443bp/1/

> 「君からの直接干渉はほぼ出来ん。通話やメール、サイトへの書き込み等じゃな。見るだけ読むだけなら問題ない。そうじゃな…ワシに電話くらいはできるようにしとこう」

Web site image
異世界はスマートフォンとともに。 - #1 死亡、そして復活。
00:52:55 @kPherox@pl.kpherox.dev
2019-08-24 00:52:19 Posting skiaphorus(引っ越し済み) skia@mstdn.maud.io

This account is not set to public on notestock.

00:52:50 @kPherox@pl.kpherox.dev
2019-08-24 00:49:27 Posting skiaphorus(引っ越し済み) skia@mstdn.maud.io

This account is not set to public on notestock.

00:17:02 @kPherox@pl.kpherox.dev
icon

json-ld辛いんだなぁ…

00:11:30 @kPherox@pl.kpherox.dev
icon

略称ダブるなぁ

00:10:55 @kPherox@pl.kpherox.dev
2019-08-24 00:08:58 Posting 吉田博之 qrayspray@mstdn.tamag.org
icon

This account is not set to public on notestock.

00:10:17 @kPherox@pl.kpherox.dev
icon

mastodonの話

00:10:06 @kPherox@pl.kpherox.dev
icon

ブラックリストじゃなくてホワイトリストで連合先フィルターする機能あんだ

00:05:32 @kPherox@pl.kpherox.dev
icon

日付変わってるのに気が付いてなかったけどさっきストリーミング止まってたわ

00:03:40 @kPherox@pl.kpherox.dev
icon

そもそもjsからして型がガバい

00:03:16 @kPherox@pl.kpherox.dev
2019-08-24 00:01:46 Posting らりお・ザ・何らかの🈗然㊌ソムリエ lo48576@mastodon.cardina1.red
icon

いや本当にガバ型付け許せない……

00:03:12 @kPherox@pl.kpherox.dev
2019-08-24 00:01:39 Posting らりお・ザ・何らかの🈗然㊌ソムリエ lo48576@mastodon.cardina1.red
icon

JSON-LD expansion algorithm 一度は (ほぼ) 完全な実装ができたことがあるんだけど、全てが JsonValue 型になるのがあまりに許せなくて爆破した

00:02:02 @kPherox@pl.kpherox.dev
icon

LDの意味がわかってないけど@contextで決められるやつだっけ…なんて思ってググったけどあってる?
https://json-ld.org/

JSON-LD - JSON for Linking Data