Skip to content
unarist edited this page Aug 19, 2018 · 12 revisions

基本的にPullRequest投げる用なのでmasterは滅多に更新されません。はい。

MOD

[]内は実装時のバージョン。それ以前・以降でも動くかもしれない。

Memo

Webpack Analyzer

https://mstdn.maud.io/packs/report.html or json (production build only)
https://webpack.github.io/analyse/
http://chrisbateman.github.io/webpack-visualizer/

jq queries for stats.json

# top-level module info by module name (e.g. ./node_modules/**/*.js)
jq '.chunks[].modules[] | select(.name | test("axios.js$"))'
# top-level module info by module id
jq '.chunks[].modules[] | select(.id == 122)'
# top-level module info by request string (i.e. import from {string})
jq '.chunks[].modules[] | select(.reasons | any(.userRequest == "axios"))'
# module info by module name
jq '.chunks[] | recurse(.modules[]?) | select(.name? and (.name | test("axios.js$")))'
# module info by module id
jq '.chunks[] | recurse(.modules[]?) | select(.id == 122)'
# + without large props
# .issuerPath is something like call stack, .reasons contains all reasons
... | del(.modules,.reasons,.source,.parsedSrc)
# chunk info by module id
jq '.chunks[] | select(.modules[].id == 122) | del(.parents,.siblings,.children,.origins,.modules)'

翻訳チェック

$ bundle exec i18n-tasks add-missing -l ja
$ bundle exec i18n-tasks remove-unused -l ja
$ yarn manage:translations -- ja

Redis飛んだ時のFeed再生成

今は mastodon:feeds:build というRakeタスクが追加されています。サスペンドしたアカウントが除外され、同期実行されること以外、下の方法とやってることは同じですね。

User.where("last_sign_in_at >= ?", UserTrackingConcern::REGENERATE_FEED_DAYS.days.ago).each {|u|
  RegenerationWorker.perform_async(u.account_id)
}

メディアの再取得(mastodon:media:remove_remote すればまた消えるので注意)

今はキャッシュが消えた画像も、表示しようとすると自動的に再取得するようになっているので、それに任せればよいです。手動でやるならこんな感じ。

MediaAttachment.where(file_file_name: nil, type: :unknown).each { |media|
  media.file_remote_url = media.remote_url
  media.save
}

絵文字一覧

fetch('/api/v1/custom_emojis').then(x=>x.json()).then(x=>console.log(x.map(y=>`:${y.shortcode}:`).join('\u200b')))