ユーザーの検索機能してないよなぁ
vimにswiftのformat入れてるんですけどswitchをネストしたらその後に来るcaseのインデント壊れるんすよね。なんで?
This account is not set to public on notestock.
This account is not set to public on notestock.
普通に見辛いのでdiffのtextファイル貼っとこう…
https://www.kr-kp.com/patch.txt
- fieldsのデフォルトをnilにしてnilを渡した時にattachmentが存在してる時はそれを変換、なければ空の配列、fieldsがnilでなければそのままを返す
- fieldsの長さが設定以上の時にinvalidのfieldを追加する
みたいな変更を加えた。1つ目はともかく2つ目の変更はあまりスマートじゃない気がする
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
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.
pleromaのfields関連のバグっぽいやつ、プロフィール変更した時のUpdate Activityではsource_dataを更新しないからfieldsを空にした時に初期取得時のfieldsが表示される
This account is not set to public on notestock.
configの255超えてるやつでも/ostatus_subscribeでsource_dataのattachmentが更新されて普通にfieldsが表示されるなぁ…
This account is not set to public on notestock.
fieldsのvalidate失敗したら変更前を使うってやってみたらbioとnameとfollowing/follower addressとavaterの変更だけ可能になった
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.
This account is not set to public on notestock.
This account is not set to public on notestock.
実際のフィールドはview full profileで見てもらう方が確実だしサクッと消すってのもありかなぁな気持ちになったりする
mergeされました✌
ただもっといいやり方に変えたいっちゃ変えたいよねぇ…
kpheroxさんのアイデアみたいに、指定の長さ超えたら切り捨てってのがいいとは思うんだけれども、ただこれHTMLだからバッサリ切るとパースできなくて多分エラーになるので面倒くさそう #pleroma
あー…[fields: "invalid"]ってEcto.schemaでmapかarrayに設定してあるのにstring渡してるからコケてたのか
certbot standaloneはwebサーバー動いてない環境向けだから既にwebサーバー動かしてるならwebrootとかmanualとかでやるのが良いよね
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.
配信でも雪山人狼みたくコメント絶対みないとかコメント見ることがほぼないとかの放送だとコメントはノイズになるから切るんだけど
YouTubeの動画はちゃんとYouTubeに合わせた動画が多いからいいんだけど生放送はコメントと会話が発生するから視線を動画から外さんとダメなんだよね
ニコニコ動画そのものについてはもう全く使ってないので思うところは特にないんだけど、 YouTube にコメ付き動画を転載してる連中が大変鬱陶しいしさっさとどこかに消えてほしい
YouTube Premium、YouTube Music Premiumに¥200積んで他の動画でもDLとかBG再生とかNo Adsとか出来るよってなってんだろうしMusic抜いたサービスやる気はなさそう
ゴミアプリ金払って入れるより月々のサブスクライブで払って使う方が何倍も質のいい体験できるからYouTube Premium入ろうな
ダウンロード認めたらYouTube Premiumも儲からないし動画クリック数からのアフィリエイトもめちゃくちゃなことになるから普通禁止よな
まぁダウンロードがYouTubeの規約でアウトなのでアホがクソアプリをレビューしてる図を見ているだけ
360円払ってYouTube保存できないので詐欺らしい
もはや意味が分からない
Clipbox+ for iPad : iPhoneアプリランキング - https://www.app-ranking.net/id/1386535816
This account is not set to public on notestock.
異世界はスマートフォンとともに。 - #1 死亡、そして復活。
https://ncode.syosetu.com/n1443bp/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.
JSON-LD expansion algorithm 一度は (ほぼ) 完全な実装ができたことがあるんだけど、全てが JsonValue 型になるのがあまりに許せなくて爆破した
LDの意味がわかってないけど@contextで決められるやつだっけ…なんて思ってググったけどあってる?
https://json-ld.org/