aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/config.exs4
-rw-r--r--docs/Differences-in-MastodonAPI-Responses.md1
-rw-r--r--docs/config.md1
-rw-r--r--lib/pleroma/activity.ex3
-rw-r--r--lib/pleroma/gopher/server.ex3
-rw-r--r--lib/pleroma/instances/instance.ex2
-rw-r--r--lib/pleroma/repo.ex5
-rw-r--r--lib/pleroma/user.ex111
-rw-r--r--lib/pleroma/web/common_api/utils.ex29
-rw-r--r--lib/pleroma/web/mastodon_api/views/status_view.ex11
-rw-r--r--lib/pleroma/web/oauth/authorization.ex2
-rw-r--r--lib/pleroma/web/oauth/token.ex2
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api.ex30
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api_controller.ex3
-rw-r--r--lib/pleroma/web/twitter_api/views/activity_view.ex3
-rw-r--r--lib/pleroma/web/websub/websub_client_subscription.ex2
-rw-r--r--mix.exs3
-rw-r--r--mix.lock10
-rw-r--r--priv/repo/migrations/20170426154155_create_websub_client_subscription.exs2
-rw-r--r--priv/repo/migrations/20170906143140_create_o_auth_authorizations.exs2
-rw-r--r--priv/repo/migrations/20170906152508_create_o_auth_token.exs2
-rw-r--r--priv/repo/migrations/20180813003722_create_filters.exs2
-rw-r--r--priv/repo/migrations/20180919060348_users_add_last_refreshed_at.exs2
-rw-r--r--priv/repo/migrations/20190123125546_create_instances.exs2
-rw-r--r--priv/static/emoji/Firefox.gifbin20790 -> 20769 bytes
-rw-r--r--priv/static/emoji/blank.pngbin423 -> 95 bytes
-rw-r--r--priv/static/emoji/f_00b.pngbin15821 -> 371 bytes
-rw-r--r--priv/static/emoji/f_00b11b.pngbin1605 -> 661 bytes
-rw-r--r--priv/static/emoji/f_00b33b.pngbin1597 -> 662 bytes
-rw-r--r--priv/static/emoji/f_00h.pngbin23764 -> 7522 bytes
-rw-r--r--priv/static/emoji/f_00t.pngbin1212 -> 541 bytes
-rw-r--r--priv/static/emoji/f_01b.pngbin20621 -> 4510 bytes
-rw-r--r--priv/static/emoji/f_03b.pngbin18089 -> 2872 bytes
-rw-r--r--priv/static/emoji/f_10b.pngbin18783 -> 2849 bytes
-rw-r--r--priv/static/emoji/f_11b.pngbin15837 -> 447 bytes
-rw-r--r--priv/static/emoji/f_11b00b.pngbin1337 -> 615 bytes
-rw-r--r--priv/static/emoji/f_11b22b.pngbin1336 -> 618 bytes
-rw-r--r--priv/static/emoji/f_11h.pngbin23788 -> 7314 bytes
-rw-r--r--priv/static/emoji/f_11t.pngbin1548 -> 559 bytes
-rw-r--r--priv/static/emoji/f_12b.pngbin20633 -> 4352 bytes
-rw-r--r--priv/static/emoji/f_21b.pngbin18861 -> 2900 bytes
-rw-r--r--priv/static/emoji/f_22b.pngbin15834 -> 386 bytes
-rw-r--r--priv/static/emoji/f_22b11b.pngbin1611 -> 666 bytes
-rw-r--r--priv/static/emoji/f_22b33b.pngbin1612 -> 663 bytes
-rw-r--r--priv/static/emoji/f_22h.pngbin23781 -> 7448 bytes
-rw-r--r--priv/static/emoji/f_22t.pngbin1191 -> 549 bytes
-rw-r--r--priv/static/emoji/f_23b.pngbin20449 -> 4334 bytes
-rw-r--r--priv/static/emoji/f_30b.pngbin19618 -> 4379 bytes
-rw-r--r--priv/static/emoji/f_32b.pngbin18855 -> 2921 bytes
-rw-r--r--priv/static/emoji/f_33b.pngbin14947 -> 459 bytes
-rw-r--r--priv/static/emoji/f_33b00b.pngbin1313 -> 611 bytes
-rw-r--r--priv/static/emoji/f_33b22b.pngbin1420 -> 623 bytes
-rw-r--r--priv/static/emoji/f_33h.pngbin23661 -> 7246 bytes
-rw-r--r--priv/static/emoji/f_33t.pngbin1496 -> 563 bytes
-rw-r--r--priv/static/favicon.pngbin2411 -> 1603 bytes
-rw-r--r--priv/static/finmoji/1000px/a_trusted_friend.pngbin90400 -> 73028 bytes
-rw-r--r--priv/static/finmoji/1000px/alandislands.pngbin96839 -> 73719 bytes
-rw-r--r--priv/static/finmoji/1000px/association.pngbin106367 -> 79169 bytes
-rw-r--r--priv/static/finmoji/1000px/auroraborealis.pngbin286328 -> 230107 bytes
-rw-r--r--priv/static/finmoji/1000px/baby_in_a_box.pngbin101639 -> 88975 bytes
-rw-r--r--priv/static/finmoji/1000px/bear.pngbin61430 -> 43219 bytes
-rw-r--r--priv/static/finmoji/1000px/black_gold.pngbin82792 -> 58373 bytes
-rw-r--r--priv/static/finmoji/1000px/christmasparty.pngbin138249 -> 94071 bytes
-rw-r--r--priv/static/finmoji/1000px/crosscountryskiing.pngbin82358 -> 41402 bytes
-rw-r--r--priv/static/finmoji/1000px/cupofcoffee.pngbin56845 -> 44470 bytes
-rw-r--r--priv/static/finmoji/1000px/education.pngbin92034 -> 61859 bytes
-rw-r--r--priv/static/finmoji/1000px/fashionista_finns.pngbin73746 -> 62943 bytes
-rw-r--r--priv/static/finmoji/1000px/finnishlove.pngbin89289 -> 75603 bytes
-rw-r--r--priv/static/finmoji/1000px/flag.pngbin84761 -> 61680 bytes
-rw-r--r--priv/static/finmoji/1000px/forest.pngbin60460 -> 44987 bytes
-rw-r--r--priv/static/finmoji/1000px/four_seasons_of_bbq.pngbin176929 -> 96149 bytes
-rw-r--r--priv/static/finmoji/1000px/girlpower.pngbin64384 -> 47542 bytes
-rw-r--r--priv/static/finmoji/1000px/handshake.pngbin42321 -> 30936 bytes
-rw-r--r--priv/static/finmoji/1000px/happiness.pngbin52414 -> 40144 bytes
-rw-r--r--priv/static/finmoji/1000px/headbanger.pngbin79770 -> 52072 bytes
-rw-r--r--priv/static/finmoji/1000px/icebreaker.pngbin67226 -> 59735 bytes
-rw-r--r--priv/static/finmoji/1000px/iceman.pngbin381304 -> 241786 bytes
-rw-r--r--priv/static/finmoji/1000px/joulutorttu.pngbin60802 -> 38280 bytes
-rw-r--r--priv/static/finmoji/1000px/kaamos.pngbin147742 -> 129659 bytes
-rw-r--r--priv/static/finmoji/1000px/kalsarikannit_f.pngbin100159 -> 77284 bytes
-rw-r--r--priv/static/finmoji/1000px/kalsarikannit_m.pngbin69589 -> 52061 bytes
-rw-r--r--priv/static/finmoji/1000px/karjalanpiirakka.pngbin71978 -> 59854 bytes
-rw-r--r--priv/static/finmoji/1000px/kicksled.pngbin123467 -> 62979 bytes
-rw-r--r--priv/static/finmoji/1000px/kokko.pngbin198255 -> 120955 bytes
-rw-r--r--priv/static/finmoji/1000px/lavatanssit.pngbin142310 -> 127880 bytes
-rw-r--r--priv/static/finmoji/1000px/losthopes_f.pngbin74821 -> 51293 bytes
-rw-r--r--priv/static/finmoji/1000px/losthopes_m.pngbin93229 -> 60920 bytes
-rw-r--r--priv/static/finmoji/1000px/mattinykanen.pngbin162482 -> 106925 bytes
-rw-r--r--priv/static/finmoji/1000px/meanwhileinfinland.pngbin136428 -> 115605 bytes
-rw-r--r--priv/static/finmoji/1000px/moominmamma.pngbin218575 -> 168752 bytes
-rw-r--r--priv/static/finmoji/1000px/nordicfamily.pngbin165444 -> 99681 bytes
-rw-r--r--priv/static/finmoji/1000px/out_of_office.pngbin80633 -> 70661 bytes
-rw-r--r--priv/static/finmoji/1000px/peacemaker.pngbin73952 -> 58963 bytes
-rw-r--r--priv/static/finmoji/1000px/perkele.pngbin73173 -> 52650 bytes
-rw-r--r--priv/static/finmoji/1000px/pesapallo.pngbin64010 -> 40777 bytes
-rw-r--r--priv/static/finmoji/1000px/polarbear.pngbin78977 -> 71010 bytes
-rw-r--r--priv/static/finmoji/1000px/pusa_hispida_saimensis.pngbin62117 -> 45040 bytes
-rw-r--r--priv/static/finmoji/1000px/reindeer.pngbin65529 -> 44210 bytes
-rw-r--r--priv/static/finmoji/1000px/sami.pngbin68596 -> 54417 bytes
-rw-r--r--priv/static/finmoji/1000px/sauna_f.pngbin47786 -> 37303 bytes
-rw-r--r--priv/static/finmoji/1000px/sauna_m.pngbin44253 -> 34653 bytes
-rw-r--r--priv/static/finmoji/1000px/sauna_whisk.pngbin145605 -> 98017 bytes
-rw-r--r--priv/static/finmoji/1000px/sisu.pngbin109445 -> 74499 bytes
-rw-r--r--priv/static/finmoji/1000px/stuck.pngbin60685 -> 45617 bytes
-rw-r--r--priv/static/finmoji/1000px/suomimainittu.pngbin81067 -> 67753 bytes
-rw-r--r--priv/static/finmoji/1000px/superfood.pngbin182439 -> 128635 bytes
-rw-r--r--priv/static/finmoji/1000px/swan.pngbin57126 -> 42163 bytes
-rw-r--r--priv/static/finmoji/1000px/the_cap.pngbin44980 -> 36104 bytes
-rw-r--r--priv/static/finmoji/1000px/the_conductor.pngbin58952 -> 34223 bytes
-rw-r--r--priv/static/finmoji/1000px/the_king.pngbin127974 -> 90901 bytes
-rw-r--r--priv/static/finmoji/1000px/the_voice.pngbin104547 -> 77017 bytes
-rw-r--r--priv/static/finmoji/1000px/theoriginalsanta.pngbin71235 -> 59829 bytes
-rw-r--r--priv/static/finmoji/1000px/tomoffinland.pngbin83580 -> 69815 bytes
-rw-r--r--priv/static/finmoji/1000px/torillatavataan.pngbin227503 -> 137173 bytes
-rw-r--r--priv/static/finmoji/1000px/unbreakable.pngbin88555 -> 77581 bytes
-rw-r--r--priv/static/finmoji/1000px/waiting.pngbin21452 -> 17677 bytes
-rw-r--r--priv/static/finmoji/1000px/white_nights.pngbin57327 -> 50176 bytes
-rw-r--r--priv/static/finmoji/1000px/woollysocks.pngbin165286 -> 130906 bytes
-rw-r--r--priv/static/finmoji/128px/a_trusted_friend-128.pngbin9895 -> 8011 bytes
-rw-r--r--priv/static/finmoji/128px/alandislands-128.pngbin9202 -> 6348 bytes
-rw-r--r--priv/static/finmoji/128px/association-128.pngbin11422 -> 8702 bytes
-rw-r--r--priv/static/finmoji/128px/auroraborealis-128.pngbin12001 -> 10942 bytes
-rw-r--r--priv/static/finmoji/128px/baby_in_a_box-128.pngbin10188 -> 9156 bytes
-rw-r--r--priv/static/finmoji/128px/bear-128.pngbin6705 -> 4330 bytes
-rw-r--r--priv/static/finmoji/128px/black_gold-128.pngbin9004 -> 6370 bytes
-rw-r--r--priv/static/finmoji/128px/christmasparty-128.pngbin13210 -> 8546 bytes
-rw-r--r--priv/static/finmoji/128px/crosscountryskiing-128.pngbin8522 -> 4604 bytes
-rw-r--r--priv/static/finmoji/128px/cupofcoffee-128.pngbin5646 -> 4273 bytes
-rw-r--r--priv/static/finmoji/128px/education-128.pngbin9182 -> 6309 bytes
-rw-r--r--priv/static/finmoji/128px/fashionista_finns-128.pngbin8698 -> 7668 bytes
-rw-r--r--priv/static/finmoji/128px/finnishlove-128.pngbin6796 -> 6002 bytes
-rw-r--r--priv/static/finmoji/128px/flag-128.pngbin6960 -> 4134 bytes
-rw-r--r--priv/static/finmoji/128px/forest-128.pngbin5481 -> 4074 bytes
-rw-r--r--priv/static/finmoji/128px/four_seasons_of_bbq-128.pngbin16739 -> 9531 bytes
-rw-r--r--priv/static/finmoji/128px/girlpower-128.pngbin6610 -> 4444 bytes
-rw-r--r--priv/static/finmoji/128px/handshake-128.pngbin4112 -> 2805 bytes
-rw-r--r--priv/static/finmoji/128px/happiness-128.pngbin6107 -> 4631 bytes
-rw-r--r--priv/static/finmoji/128px/headbanger-128.pngbin8195 -> 4972 bytes
-rw-r--r--priv/static/finmoji/128px/icebreaker-128.pngbin8028 -> 7435 bytes
-rw-r--r--priv/static/finmoji/128px/iceman-128.pngbin12939 -> 12456 bytes
-rw-r--r--priv/static/finmoji/128px/joulutorttu-128.pngbin4988 -> 3194 bytes
-rw-r--r--priv/static/finmoji/128px/kaamos-128.pngbin11097 -> 8834 bytes
-rw-r--r--priv/static/finmoji/128px/kalsarikannit_f-128.pngbin9601 -> 6921 bytes
-rw-r--r--priv/static/finmoji/128px/kalsarikannit_m-128.pngbin7159 -> 5356 bytes
-rw-r--r--priv/static/finmoji/128px/karjalanpiirakka-128.pngbin6354 -> 5234 bytes
-rw-r--r--priv/static/finmoji/128px/kicksled-128.pngbin13484 -> 7302 bytes
-rw-r--r--priv/static/finmoji/128px/kokko-128.pngbin18483 -> 11435 bytes
-rw-r--r--priv/static/finmoji/128px/lavatanssit-128.pngbin12978 -> 11916 bytes
-rw-r--r--priv/static/finmoji/128px/losthopes_f-128.pngbin7139 -> 4886 bytes
-rw-r--r--priv/static/finmoji/128px/losthopes_m-128.pngbin10034 -> 6336 bytes
-rw-r--r--priv/static/finmoji/128px/mattinykanen-128.pngbin8254 -> 7411 bytes
-rw-r--r--priv/static/finmoji/128px/meanwhileinfinland-128.pngbin12327 -> 10995 bytes
-rw-r--r--priv/static/finmoji/128px/moominmamma-128.pngbin10647 -> 9176 bytes
-rw-r--r--priv/static/finmoji/128px/nordicfamily-128.pngbin17595 -> 11159 bytes
-rw-r--r--priv/static/finmoji/128px/out_of_office-128.pngbin8262 -> 7475 bytes
-rw-r--r--priv/static/finmoji/128px/peacemaker-128.pngbin6978 -> 5250 bytes
-rw-r--r--priv/static/finmoji/128px/perkele-128.pngbin12448 -> 9884 bytes
-rw-r--r--priv/static/finmoji/128px/pesapallo-128.pngbin7101 -> 4164 bytes
-rw-r--r--priv/static/finmoji/128px/polarbear-128.pngbin9094 -> 8390 bytes
-rw-r--r--priv/static/finmoji/128px/pusa_hispida_saimensis-128.pngbin6258 -> 4455 bytes
-rw-r--r--priv/static/finmoji/128px/reindeer-128.pngbin6300 -> 3999 bytes
-rw-r--r--priv/static/finmoji/128px/sami-128.pngbin7061 -> 5205 bytes
-rw-r--r--priv/static/finmoji/128px/sauna_f-128.pngbin9291 -> 5970 bytes
-rw-r--r--priv/static/finmoji/128px/sauna_m-128.pngbin8365 -> 5450 bytes
-rw-r--r--priv/static/finmoji/128px/sauna_whisk-128.pngbin14206 -> 10569 bytes
-rw-r--r--priv/static/finmoji/128px/sisu-128.pngbin10280 -> 6751 bytes
-rw-r--r--priv/static/finmoji/128px/stuck-128.pngbin6166 -> 4529 bytes
-rw-r--r--priv/static/finmoji/128px/suomimainittu-128.pngbin8340 -> 6841 bytes
-rw-r--r--priv/static/finmoji/128px/superfood-128.pngbin13610 -> 10698 bytes
-rw-r--r--priv/static/finmoji/128px/swan-128.pngbin5928 -> 4339 bytes
-rw-r--r--priv/static/finmoji/128px/the_cap-128.pngbin4760 -> 3612 bytes
-rw-r--r--priv/static/finmoji/128px/the_conductor-128.pngbin6942 -> 4014 bytes
-rw-r--r--priv/static/finmoji/128px/the_king-128.pngbin12199 -> 8679 bytes
-rw-r--r--priv/static/finmoji/128px/the_voice-128.pngbin8677 -> 6629 bytes
-rw-r--r--priv/static/finmoji/128px/theoriginalsanta-128.pngbin6495 -> 5283 bytes
-rw-r--r--priv/static/finmoji/128px/tomoffinland-128.pngbin8594 -> 7562 bytes
-rw-r--r--priv/static/finmoji/128px/torillatavataan-128.pngbin19581 -> 13543 bytes
-rw-r--r--priv/static/finmoji/128px/unbreakable-128.pngbin8526 -> 7393 bytes
-rw-r--r--priv/static/finmoji/128px/waiting-128.pngbin2960 -> 2732 bytes
-rw-r--r--priv/static/finmoji/128px/white_nights-128.pngbin6779 -> 6076 bytes
-rw-r--r--priv/static/finmoji/128px/woollysocks-128.pngbin13158 -> 9507 bytes
-rw-r--r--priv/static/images/avi.pngbin997 -> 726 bytes
-rw-r--r--priv/static/images/banner.pngbin1293 -> 124 bytes
-rw-r--r--priv/static/images/city.jpgbin3191646 -> 2923852 bytes
-rw-r--r--priv/static/instance/thumbnail.jpegbin47702 -> 31192 bytes
-rw-r--r--priv/static/packs/clippy_frame-3446d4d28d72aef2f64f7fabae30eb4a.pngbin378 -> 168 bytes
-rw-r--r--priv/static/packs/clippy_wave-afb828463da264adbce26a3f17731f6c.gifbin8897 -> 8672 bytes
-rw-r--r--priv/static/packs/glitch-preview-bb9cc15a0102bfaf65712e5cff7e58df.jpgbin197277 -> 158112 bytes
-rw-r--r--priv/static/packs/icon_about-ffafc67a2e97ca436da6c1bf61a8ab68.pngbin497 -> 276 bytes
-rw-r--r--priv/static/packs/icon_blocks-0b0e54d45ff0177b02e1357ac09c0d51.pngbin356 -> 248 bytes
-rw-r--r--priv/static/packs/icon_cached-26ffa26120a2a16a9be78a75cc603793.pngbin423 -> 369 bytes
-rw-r--r--priv/static/packs/icon_done-e07ea253e82d137816cfb8d77a3b1562.pngbin253 -> 181 bytes
-rw-r--r--priv/static/packs/icon_email-ed5d2a37fa765e4c5fec080a82b0a783.pngbin387 -> 315 bytes
-rw-r--r--priv/static/packs/icon_file_download-0b212ed1bca11e1e02539a20b3821d87.pngbin225 -> 153 bytes
-rw-r--r--priv/static/packs/icon_follow_requests-32eaf00987b072b2b12f8015d6a6a250.pngbin561 -> 280 bytes
-rw-r--r--priv/static/packs/icon_grade-1f9e039d0f024626ab071d18098b65a0.pngbin412 -> 340 bytes
-rw-r--r--priv/static/packs/icon_home-433b9d93fc1f035ec09330c2512a4879.pngbin328 -> 218 bytes
-rw-r--r--priv/static/packs/icon_keyboard_shortcuts-4b183486762cfcc9f0de7522520a5485.pngbin384 -> 190 bytes
-rw-r--r--priv/static/packs/icon_likes-27b8551da2d56d81062818c035ed622e.pngbin326 -> 166 bytes
-rw-r--r--priv/static/packs/icon_lists-ae69bf4fb26c40d2c9b056c55c9153e2.pngbin437 -> 224 bytes
-rw-r--r--priv/static/packs/icon_local-eade3ebeb7ac50f798cd40ed5fe62232.pngbin599 -> 333 bytes
-rw-r--r--priv/static/packs/icon_lock_open-d377f10d3f005d0d042a1ee1dee8284d.pngbin387 -> 315 bytes
-rw-r--r--priv/static/packs/icon_logout-3abd28c4fc25290e6e4088c50d3352f4.pngbin383 -> 186 bytes
-rw-r--r--priv/static/packs/icon_mutes-5e7612d5c63fedb3fc59558284304cfc.pngbin411 -> 285 bytes
-rw-r--r--priv/static/packs/icon_person_add-44d0a8dfa7dce95be5f6e3cfe0cdd133.pngbin376 -> 304 bytes
-rw-r--r--priv/static/packs/icon_pin-79e04b07bcaa1266eee3164e83f574b4.pngbin337 -> 201 bytes
-rw-r--r--priv/static/packs/icon_public-2d798a39bb2bd6314e47b00669686556.pngbin688 -> 411 bytes
-rw-r--r--priv/static/packs/icon_reply-1c00f97d10006dd420bc620b26a79d8a.pngbin319 -> 247 bytes
-rw-r--r--priv/static/packs/icon_settings-e7c53fb8ee137f93827e2db21f507cb1.pngbin639 -> 329 bytes
-rw-r--r--priv/static/packs/icon_warning-af2b38fe580f274ca4c80479bd12141e.pngbin371 -> 206 bytes
-rw-r--r--priv/static/packs/logo_full-efefe08462ede002abb7fc1e69005cbb.pngbin2371 -> 2174 bytes
-rw-r--r--priv/static/packs/logo_transparent-73bf4bea5ad08ce44d516e472dc452c1.pngbin506 -> 430 bytes
-rw-r--r--priv/static/packs/reticle-6490ecbb61185e86e62dca0845cf2dcf.pngbin2199 -> 1228 bytes
-rw-r--r--priv/static/packs/screenshot-752460e373ba6c7519109936bd0656f6.jpgbin239221 -> 219130 bytes
-rw-r--r--priv/static/packs/start-d443e819b6248a54c6eb466c75938306.pngbin263 -> 158 bytes
-rw-r--r--priv/static/packs/void-4c8270c17facce6d53726a2ebb9745f2.pngbin174 -> 80 bytes
-rw-r--r--priv/static/packs/wave-drawer-ee1bfcbe5811ea31771b7187c7507ee6.pngbin3269 -> 416 bytes
-rw-r--r--priv/static/packs/wave-drawer-glitched-33467bf8c8d2b995d6c76d8810aba3db.pngbin3544 -> 434 bytes
-rw-r--r--priv/static/static/aurora_borealis.jpgbin642707 -> 637072 bytes
-rw-r--r--priv/static/static/bg2.jpgbin229574 -> 228618 bytes
-rw-r--r--priv/static/static/bgalt.jpgbin330583 -> 328236 bytes
-rw-r--r--priv/static/static/img/nsfw.74818f9.pngbin35104 -> 19944 bytes
-rw-r--r--priv/static/static/logo.pngbin1304 -> 748 bytes
-rw-r--r--test/fixtures/image.jpgbin291666 -> 284468 bytes
-rw-r--r--test/upload_test.exs2
-rw-r--r--test/web/common_api/common_api_utils_test.exs17
-rw-r--r--test/web/mastodon_api/status_view_test.exs6
-rw-r--r--test/web/twitter_api/twitter_api_test.exs16
-rw-r--r--test/web/twitter_api/views/activity_view_test.exs13
229 files changed, 155 insertions, 136 deletions
diff --git a/config/config.exs b/config/config.exs
index b01c097c5..bd8922b77 100644
--- a/config/config.exs
+++ b/config/config.exs
@@ -8,8 +8,6 @@ use Mix.Config
# General application configuration
config :pleroma, ecto_repos: [Pleroma.Repo]
-config :pleroma, Pleroma.Repo, types: Pleroma.PostgresTypes
-
config :pleroma, Pleroma.Captcha,
enabled: false,
seconds_valid: 60,
@@ -274,8 +272,6 @@ config :pleroma, :media_proxy,
config :pleroma, :chat, enabled: true
-config :ecto, json_library: Jason
-
config :phoenix, :format_encoders, json: Jason
config :pleroma, :gopher,
diff --git a/docs/Differences-in-MastodonAPI-Responses.md b/docs/Differences-in-MastodonAPI-Responses.md
index 14b67ca7d..d993d1383 100644
--- a/docs/Differences-in-MastodonAPI-Responses.md
+++ b/docs/Differences-in-MastodonAPI-Responses.md
@@ -19,6 +19,7 @@ Adding the parameter `with_muted=true` to the timeline queries will also return
Has these additional fields under the `pleroma` object:
- `local`: true if the post was made on the local instance.
+- `conversation_id`: the ID of the conversation the status is associated with (if any)
## Attachments
diff --git a/docs/config.md b/docs/config.md
index 78967204b..c1246ee25 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -191,6 +191,7 @@ This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:i
* `enabled`: Enables the gopher interface
* `ip`: IP address to bind to
* `port`: Port to bind to
+* `dstport`: Port advertised in urls (optional, defaults to `port`)
## :activitypub
* ``accept_blocks``: Whether to accept incoming block activities from other instances
diff --git a/lib/pleroma/activity.ex b/lib/pleroma/activity.ex
index de0e66681..04c3bb673 100644
--- a/lib/pleroma/activity.ex
+++ b/lib/pleroma/activity.ex
@@ -113,7 +113,8 @@ defmodule Pleroma.Activity do
def delete_by_ap_id(id) when is_binary(id) do
by_object_ap_id(id)
- |> Repo.delete_all(returning: true)
+ |> select([u], u)
+ |> Repo.delete_all()
|> elem(1)
|> Enum.find(fn
%{data: %{"type" => "Create", "object" => %{"id" => ap_id}}} -> ap_id == id
diff --git a/lib/pleroma/gopher/server.ex b/lib/pleroma/gopher/server.ex
index 6baacc566..3b9629d77 100644
--- a/lib/pleroma/gopher/server.ex
+++ b/lib/pleroma/gopher/server.ex
@@ -66,7 +66,8 @@ defmodule Pleroma.Gopher.Server.ProtocolHandler do
def link(name, selector, type \\ 1) do
address = Pleroma.Web.Endpoint.host()
port = Pleroma.Config.get([:gopher, :port], 1234)
- "#{type}#{name}\t#{selector}\t#{address}\t#{port}\r\n"
+ dstport = Pleroma.Config.get([:gopher, :dstport], port)
+ "#{type}#{name}\t#{selector}\t#{address}\t#{dstport}\r\n"
end
def render_activities(activities) do
diff --git a/lib/pleroma/instances/instance.ex b/lib/pleroma/instances/instance.ex
index e92006151..420803a8f 100644
--- a/lib/pleroma/instances/instance.ex
+++ b/lib/pleroma/instances/instance.ex
@@ -12,7 +12,7 @@ defmodule Pleroma.Instances.Instance do
schema "instances" do
field(:host, :string)
- field(:unreachable_since, :naive_datetime)
+ field(:unreachable_since, :naive_datetime_usec)
timestamps()
end
diff --git a/lib/pleroma/repo.ex b/lib/pleroma/repo.ex
index e6a51b19e..4af1bde56 100644
--- a/lib/pleroma/repo.ex
+++ b/lib/pleroma/repo.ex
@@ -3,7 +3,10 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Repo do
- use Ecto.Repo, otp_app: :pleroma
+ use Ecto.Repo,
+ otp_app: :pleroma,
+ adapter: Ecto.Adapters.Postgres,
+ migration_timestamps: [type: :naive_datetime_usec]
@doc """
Dynamically loads the repository url from the
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index c1aebfc29..e16141edc 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -52,7 +52,7 @@ defmodule Pleroma.User do
field(:search_rank, :float, virtual: true)
field(:tags, {:array, :string}, default: [])
field(:bookmarks, {:array, :string}, default: [])
- field(:last_refreshed_at, :naive_datetime)
+ field(:last_refreshed_at, :naive_datetime_usec)
has_many(:notifications, Notification)
embeds_one(:info, Pleroma.User.Info)
@@ -334,10 +334,11 @@ defmodule Pleroma.User do
^followed_addresses
)
]
- ]
+ ],
+ select: u
)
- {1, [follower]} = Repo.update_all(q, [], returning: true)
+ {1, [follower]} = Repo.update_all(q, [])
Enum.each(followeds, fn followed ->
update_follower_count(followed)
@@ -367,10 +368,11 @@ defmodule Pleroma.User do
q =
from(u in User,
where: u.id == ^follower.id,
- update: [push: [following: ^ap_followers]]
+ update: [push: [following: ^ap_followers]],
+ select: u
)
- {1, [follower]} = Repo.update_all(q, [], returning: true)
+ {1, [follower]} = Repo.update_all(q, [])
{:ok, _} = update_follower_count(followed)
@@ -385,10 +387,11 @@ defmodule Pleroma.User do
q =
from(u in User,
where: u.id == ^follower.id,
- update: [pull: [following: ^ap_followers]]
+ update: [pull: [following: ^ap_followers]],
+ select: u
)
- {1, [follower]} = Repo.update_all(q, [], returning: true)
+ {1, [follower]} = Repo.update_all(q, [])
{:ok, followed} = update_follower_count(followed)
@@ -636,7 +639,7 @@ defmodule Pleroma.User do
users =
user
|> User.get_follow_requests_query()
- |> join(:inner, [a], u in User, a.actor == u.ap_id)
+ |> join(:inner, [a], u in User, on: a.actor == u.ap_id)
|> where([a, u], not fragment("? @> ?", u.following, ^[user.follower_address]))
|> group_by([a, u], u.id)
|> select([a, u], u)
@@ -658,7 +661,8 @@ defmodule Pleroma.User do
)
]
)
- |> Repo.update_all([], returning: true)
+ |> select([u], u)
+ |> Repo.update_all([])
|> case do
{1, [user]} -> set_cache(user)
_ -> {:error, user}
@@ -678,7 +682,8 @@ defmodule Pleroma.User do
)
]
)
- |> Repo.update_all([], returning: true)
+ |> select([u], u)
+ |> Repo.update_all([])
|> case do
{1, [user]} -> set_cache(user)
_ -> {:error, user}
@@ -724,7 +729,8 @@ defmodule Pleroma.User do
)
]
)
- |> Repo.update_all([], returning: true)
+ |> select([u], u)
+ |> Repo.update_all([])
|> case do
{1, [user]} -> set_cache(user)
_ -> {:error, user}
@@ -817,31 +823,53 @@ defmodule Pleroma.User do
if resolve, do: get_or_fetch(query)
- fts_results = do_search(fts_search_subquery(query), for_user)
-
- {:ok, trigram_results} =
+ {:ok, results} =
Repo.transaction(fn ->
Ecto.Adapters.SQL.query(Repo, "select set_limit(0.25)", [])
- do_search(trigram_search_subquery(query), for_user)
+ Repo.all(search_query(query, for_user))
end)
- Enum.uniq_by(fts_results ++ trigram_results, & &1.id)
+ results
end
- defp do_search(subquery, for_user, options \\ []) do
- q =
- from(
- s in subquery(subquery),
- order_by: [desc: s.search_rank],
- limit: ^(options[:limit] || 20)
- )
+ def search_query(query, for_user) do
+ fts_subquery = fts_search_subquery(query)
+ trigram_subquery = trigram_search_subquery(query)
+ union_query = from(s in trigram_subquery, union: ^fts_subquery)
+ distinct_query = from(s in subquery(union_query), distinct: s.id)
- results =
- q
- |> Repo.all()
- |> Enum.filter(&(&1.search_rank > 0))
+ from(s in subquery(boost_search_rank_query(distinct_query, for_user)),
+ order_by: [desc: s.search_rank],
+ limit: 20
+ )
+ end
- boost_search_results(results, for_user)
+ defp boost_search_rank_query(query, nil), do: query
+
+ defp boost_search_rank_query(query, for_user) do
+ friends_ids = get_friends_ids(for_user)
+ followers_ids = get_followers_ids(for_user)
+
+ from(u in subquery(query),
+ select_merge: %{
+ search_rank:
+ fragment(
+ """
+ CASE WHEN (?) THEN (?) * 1.3
+ WHEN (?) THEN (?) * 1.2
+ WHEN (?) THEN (?) * 1.1
+ ELSE (?) END
+ """,
+ u.id in ^friends_ids and u.id in ^followers_ids,
+ u.search_rank,
+ u.id in ^friends_ids,
+ u.search_rank,
+ u.id in ^followers_ids,
+ u.search_rank,
+ u.search_rank
+ )
+ }
+ )
end
defp fts_search_subquery(term, query \\ User) do
@@ -900,33 +928,6 @@ defmodule Pleroma.User do
)
end
- defp boost_search_results(results, nil), do: results
-
- defp boost_search_results(results, for_user) do
- friends_ids = get_friends_ids(for_user)
- followers_ids = get_followers_ids(for_user)
-
- Enum.map(
- results,
- fn u ->
- search_rank_coef =
- cond do
- u.id in friends_ids ->
- 1.2
-
- u.id in followers_ids ->
- 1.1
-
- true ->
- 1
- end
-
- Map.put(u, :search_rank, u.search_rank * search_rank_coef)
- end
- )
- |> Enum.sort_by(&(-&1.search_rank))
- end
-
def blocks_import(%User{} = blocker, blocked_identifiers) when is_list(blocked_identifiers) do
Enum.map(
blocked_identifiers,
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index 368945418..3e807a5b7 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -352,4 +352,33 @@ defmodule Pleroma.Web.CommonAPI.Utils do
end
def get_report_statuses(_, _), do: {:ok, nil}
+
+ # DEPRECATED mostly, context objects are now created at insertion time.
+ def context_to_conversation_id(context) do
+ with %Object{id: id} <- Object.get_cached_by_ap_id(context) do
+ id
+ else
+ _e ->
+ changeset = Object.context_mapping(context)
+
+ case Repo.insert(changeset) do
+ {:ok, %{id: id}} ->
+ id
+
+ # This should be solved by an upsert, but it seems ecto
+ # has problems accessing the constraint inside the jsonb.
+ {:error, _} ->
+ Object.get_cached_by_ap_id(context).id
+ end
+ end
+ end
+
+ def conversation_id_to_context(id) do
+ with %Object{data: %{"id" => context}} <- Repo.get(Object, id) do
+ context
+ else
+ _e ->
+ {:error, "No such conversation"}
+ end
+ end
end
diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
index 209119dd5..1ca8338cc 100644
--- a/lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -46,6 +46,14 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
end
end
+ defp get_context_id(%{data: %{"context_id" => context_id}}) when not is_nil(context_id),
+ do: context_id
+
+ defp get_context_id(%{data: %{"context" => context}}) when is_binary(context),
+ do: Utils.context_to_conversation_id(context)
+
+ defp get_context_id(_), do: nil
+
def render("index.json", opts) do
replied_to_activities = get_replied_to_activities(opts.activities)
@@ -186,7 +194,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
language: nil,
emojis: build_emojis(activity.data["object"]["emoji"]),
pleroma: %{
- local: activity.local
+ local: activity.local,
+ conversation_id: get_context_id(activity)
}
}
end
diff --git a/lib/pleroma/web/oauth/authorization.ex b/lib/pleroma/web/oauth/authorization.ex
index a80543adf..3461f9983 100644
--- a/lib/pleroma/web/oauth/authorization.ex
+++ b/lib/pleroma/web/oauth/authorization.ex
@@ -16,7 +16,7 @@ defmodule Pleroma.Web.OAuth.Authorization do
schema "oauth_authorizations" do
field(:token, :string)
field(:scopes, {:array, :string}, default: [])
- field(:valid_until, :naive_datetime)
+ field(:valid_until, :naive_datetime_usec)
field(:used, :boolean, default: false)
belongs_to(:user, Pleroma.User, type: Pleroma.FlakeId)
belongs_to(:app, App)
diff --git a/lib/pleroma/web/oauth/token.ex b/lib/pleroma/web/oauth/token.ex
index 2b074b470..a8b06db36 100644
--- a/lib/pleroma/web/oauth/token.ex
+++ b/lib/pleroma/web/oauth/token.ex
@@ -17,7 +17,7 @@ defmodule Pleroma.Web.OAuth.Token do
field(:token, :string)
field(:refresh_token, :string)
field(:scopes, {:array, :string}, default: [])
- field(:valid_until, :naive_datetime)
+ field(:valid_until, :naive_datetime_usec)
belongs_to(:user, Pleroma.User, type: Pleroma.FlakeId)
belongs_to(:app, App)
diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex
index d57100491..9978c7f64 100644
--- a/lib/pleroma/web/twitter_api/twitter_api.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api.ex
@@ -5,7 +5,6 @@
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
alias Pleroma.Activity
alias Pleroma.Mailer
- alias Pleroma.Object
alias Pleroma.Repo
alias Pleroma.User
alias Pleroma.UserEmail
@@ -282,35 +281,6 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
_activities = Repo.all(q)
end
- # DEPRECATED mostly, context objects are now created at insertion time.
- def context_to_conversation_id(context) do
- with %Object{id: id} <- Object.get_cached_by_ap_id(context) do
- id
- else
- _e ->
- changeset = Object.context_mapping(context)
-
- case Repo.insert(changeset) do
- {:ok, %{id: id}} ->
- id
-
- # This should be solved by an upsert, but it seems ecto
- # has problems accessing the constraint inside the jsonb.
- {:error, _} ->
- Object.get_cached_by_ap_id(context).id
- end
- end
- end
-
- def conversation_id_to_context(id) do
- with %Object{data: %{"id" => context}} <- Repo.get(Object, id) do
- context
- else
- _e ->
- {:error, "No such conversation"}
- end
- end
-
def get_external_profile(for_user, uri) do
with %User{} = user <- User.get_or_fetch(uri) do
{:ok, UserView.render("show.json", %{user: user, for: for_user})}
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
index 6ea0b110b..62cce18dc 100644
--- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
@@ -16,6 +16,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
alias Pleroma.Web.ActivityPub.ActivityPub
alias Pleroma.Web.ActivityPub.Visibility
alias Pleroma.Web.CommonAPI
+ alias Pleroma.Web.CommonAPI.Utils
alias Pleroma.Web.OAuth.Token
alias Pleroma.Web.TwitterAPI.ActivityView
alias Pleroma.Web.TwitterAPI.NotificationView
@@ -278,7 +279,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
end
def fetch_conversation(%{assigns: %{user: user}} = conn, %{"id" => id}) do
- with context when is_binary(context) <- TwitterAPI.conversation_id_to_context(id),
+ with context when is_binary(context) <- Utils.conversation_id_to_context(id),
activities <-
ActivityPub.fetch_activities_for_context(context, %{
"blocking_user" => user,
diff --git a/lib/pleroma/web/twitter_api/views/activity_view.ex b/lib/pleroma/web/twitter_api/views/activity_view.ex
index 4926f007e..fe7d49975 100644
--- a/lib/pleroma/web/twitter_api/views/activity_view.ex
+++ b/lib/pleroma/web/twitter_api/views/activity_view.ex
@@ -15,7 +15,6 @@ defmodule Pleroma.Web.TwitterAPI.ActivityView do
alias Pleroma.Web.MastodonAPI.StatusView
alias Pleroma.Web.TwitterAPI.ActivityView
alias Pleroma.Web.TwitterAPI.Representers.ObjectRepresenter
- alias Pleroma.Web.TwitterAPI.TwitterAPI
alias Pleroma.Web.TwitterAPI.UserView
import Ecto.Query
@@ -78,7 +77,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityView do
defp get_context_id(%{data: %{"context" => context}}, options) do
cond do
id = options[:context_ids][context] -> id
- true -> TwitterAPI.context_to_conversation_id(context)
+ true -> Utils.context_to_conversation_id(context)
end
end
diff --git a/lib/pleroma/web/websub/websub_client_subscription.ex b/lib/pleroma/web/websub/websub_client_subscription.ex
index 969ee0684..77703c496 100644
--- a/lib/pleroma/web/websub/websub_client_subscription.ex
+++ b/lib/pleroma/web/websub/websub_client_subscription.ex
@@ -9,7 +9,7 @@ defmodule Pleroma.Web.Websub.WebsubClientSubscription do
schema "websub_client_subscriptions" do
field(:topic, :string)
field(:secret, :string)
- field(:valid_until, :naive_datetime)
+ field(:valid_until, :naive_datetime_usec)
field(:state, :string)
field(:subscribers, {:array, :string}, default: [])
field(:hub, :string)
diff --git a/mix.exs b/mix.exs
index efdf15d3a..3f3c8cd35 100644
--- a/mix.exs
+++ b/mix.exs
@@ -61,7 +61,8 @@ defmodule Pleroma.Mixfile do
{:phoenix, "~> 1.4.1"},
{:plug_cowboy, "~> 2.0"},
{:phoenix_pubsub, "~> 1.1"},
- {:phoenix_ecto, "~> 3.3"},
+ {:phoenix_ecto, "~> 4.0"},
+ {:ecto_sql, "~>3.0.5"},
{:postgrex, ">= 0.13.5"},
{:gettext, "~> 0.15"},
{:comeonin, "~> 4.1.1"},
diff --git a/mix.lock b/mix.lock
index f43a18564..05eaa1d69 100644
--- a/mix.lock
+++ b/mix.lock
@@ -13,10 +13,11 @@
"cowlib": {:hex, :cowlib, "2.7.0", "3ef16e77562f9855a2605900cedb15c1462d76fb1be6a32fc3ae91973ee543d2", [:rebar3], [], "hexpm"},
"credo": {:hex, :credo, "0.9.3", "76fa3e9e497ab282e0cf64b98a624aa11da702854c52c82db1bf24e54ab7c97a", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:poison, ">= 0.0.0", [hex: :poison, repo: "hexpm", optional: false]}], "hexpm"},
"crypt": {:git, "https://github.com/msantos/crypt", "1f2b58927ab57e72910191a7ebaeff984382a1d3", [ref: "1f2b58927ab57e72910191a7ebaeff984382a1d3"]},
- "db_connection": {:hex, :db_connection, "1.1.3", "89b30ca1ef0a3b469b1c779579590688561d586694a3ce8792985d4d7e575a61", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}, {:poolboy, "~> 1.5", [hex: :poolboy, repo: "hexpm", optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, repo: "hexpm", optional: true]}], "hexpm"},
+ "db_connection": {:hex, :db_connection, "2.0.5", "ddb2ba6761a08b2bb9ca0e7d260e8f4dd39067426d835c24491a321b7f92a4da", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}], "hexpm"},
"decimal": {:hex, :decimal, "1.7.0", "30d6b52c88541f9a66637359ddf85016df9eb266170d53105f02e4a67e00c5aa", [:mix], [], "hexpm"},
"earmark": {:hex, :earmark, "1.3.0", "17f0c38eaafb4800f746b457313af4b2442a8c2405b49c645768680f900be603", [:mix], [], "hexpm"},
- "ecto": {:hex, :ecto, "2.2.11", "4bb8f11718b72ba97a2696f65d247a379e739a0ecabf6a13ad1face79844791c", [:mix], [{:db_connection, "~> 1.1", [hex: :db_connection, repo: "hexpm", optional: true]}, {:decimal, "~> 1.2", [hex: :decimal, repo: "hexpm", optional: false]}, {:mariaex, "~> 0.8.0", [hex: :mariaex, repo: "hexpm", optional: true]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: true]}, {:poolboy, "~> 1.5", [hex: :poolboy, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.13.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:sbroker, "~> 1.0", [hex: :sbroker, repo: "hexpm", optional: true]}], "hexpm"},
+ "ecto": {:hex, :ecto, "3.0.7", "44dda84ac6b17bbbdeb8ac5dfef08b7da253b37a453c34ab1a98de7f7e5fec7f", [:mix], [{:decimal, "~> 1.6", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:poison, "~> 2.2 or ~> 3.0", [hex: :poison, repo: "hexpm", optional: true]}], "hexpm"},
+ "ecto_sql": {:hex, :ecto_sql, "3.0.5", "7e44172b4f7aca4469f38d7f6a3da394dbf43a1bcf0ca975e958cb957becd74e", [:mix], [{:db_connection, "~> 2.0", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.0.6", [hex: :ecto, repo: "hexpm", optional: false]}, {:mariaex, "~> 0.9.1", [hex: :mariaex, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.14.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.3.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm"},
"eternal": {:hex, :eternal, "1.2.0", "e2a6b6ce3b8c248f7dc31451aefca57e3bdf0e48d73ae5043229380a67614c41", [:mix], [], "hexpm"},
"ex_aws": {:hex, :ex_aws, "2.1.0", "b92651527d6c09c479f9013caa9c7331f19cba38a650590d82ebf2c6c16a1d8a", [:mix], [{:configparser_ex, "~> 2.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "1.6.3 or 1.6.5 or 1.7.1 or 1.8.6 or ~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jsx, "~> 2.8", [hex: :jsx, repo: "hexpm", optional: true]}, {:poison, ">= 1.2.0", [hex: :poison, repo: "hexpm", optional: true]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}, {:xml_builder, "~> 0.1.0", [hex: :xml_builder, repo: "hexpm", optional: true]}], "hexpm"},
"ex_aws_s3": {:hex, :ex_aws_s3, "2.0.1", "9e09366e77f25d3d88c5393824e613344631be8db0d1839faca49686e99b6704", [:mix], [{:ex_aws, "~> 2.0", [hex: :ex_aws, repo: "hexpm", optional: false]}, {:sweet_xml, ">= 0.0.0", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm"},
@@ -46,7 +47,7 @@
"parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm"},
"pbkdf2_elixir": {:hex, :pbkdf2_elixir, "0.12.3", "6706a148809a29c306062862c803406e88f048277f6e85b68faf73291e820b84", [:mix], [], "hexpm"},
"phoenix": {:hex, :phoenix, "1.4.1", "801f9d632808657f1f7c657c8bbe624caaf2ba91429123ebe3801598aea4c3d9", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 1.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 1.0 or ~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}], "hexpm"},
- "phoenix_ecto": {:hex, :phoenix_ecto, "3.3.0", "702f6e164512853d29f9d20763493f2b3bcfcb44f118af2bc37bb95d0801b480", [:mix], [{:ecto, "~> 2.1", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.9", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"},
+ "phoenix_ecto": {:hex, :phoenix_ecto, "4.0.0", "c43117a136e7399ea04ecaac73f8f23ee0ffe3e07acfcb8062fe5f4c9f0f6531", [:mix], [{:ecto, "~> 3.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.9", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"},
"phoenix_html": {:hex, :phoenix_html, "2.13.1", "fa8f034b5328e2dfa0e4131b5569379003f34bc1fafdaa84985b0b9d2f12e68b", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"},
"phoenix_pubsub": {:hex, :phoenix_pubsub, "1.1.1", "6668d787e602981f24f17a5fbb69cc98f8ab085114ebfac6cc36e10a90c8e93c", [:mix], [], "hexpm"},
"plug": {:hex, :plug, "1.7.2", "d7b7db7fbd755e8283b6c0a50be71ec0a3d67d9213d74422d9372effc8e87fd1", [:mix], [{:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}], "hexpm"},
@@ -54,11 +55,12 @@
"plug_crypto": {:hex, :plug_crypto, "1.0.0", "18e49317d3fa343f24620ed22795ec29d4a5e602d52d1513ccea0b07d8ea7d4d", [:mix], [], "hexpm"},
"poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"},
"poolboy": {:hex, :poolboy, "1.5.2", "392b007a1693a64540cead79830443abf5762f5d30cf50bc95cb2c1aaafa006b", [:rebar3], [], "hexpm"},
- "postgrex": {:hex, :postgrex, "0.13.5", "3d931aba29363e1443da167a4b12f06dcd171103c424de15e5f3fc2ba3e6d9c5", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 1.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: false]}], "hexpm"},
+ "postgrex": {:hex, :postgrex, "0.14.1", "63247d4a5ad6b9de57a0bac5d807e1c32d41e39c04b8a4156a26c63bcd8a2e49", [:mix], [{:connection, "~> 1.0", [hex: :connection, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.0", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm"},
"ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm"},
"ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.4", "f0eafff810d2041e93f915ef59899c923f4568f4585904d010387ed74988e77b", [:make, :mix, :rebar3], [], "hexpm"},
"swoosh": {:hex, :swoosh, "0.20.0", "9a6c13822c9815993c03b6f8fccc370fcffb3c158d9754f67b1fdee6b3a5d928", [:mix], [{:cowboy, "~> 1.0.1 or ~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.12", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, "~> 1.9", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.1", [hex: :mime, repo: "hexpm", optional: false]}, {:plug, "~> 1.4", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm"},
"syslog": {:git, "https://github.com/Vagabond/erlang-syslog.git", "4a6c6f2c996483e86c1320e9553f91d337bcb6aa", [tag: "1.0.5"]},
+ "telemetry": {:hex, :telemetry, "0.3.0", "099a7f3ce31e4780f971b4630a3c22ec66d22208bc090fe33a2a3a6a67754a73", [:rebar3], [], "hexpm"},
"tesla": {:hex, :tesla, "1.2.1", "864783cc27f71dd8c8969163704752476cec0f3a51eb3b06393b3971dc9733ff", [:mix], [{:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "~> 4.4.0", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}], "hexpm"},
"timex": {:hex, :timex, "3.5.0", "b0a23167da02d0fe4f1a4e104d1f929a00d348502b52432c05de875d0b9cffa5", [:mix], [{:combine, "~> 0.10", [hex: :combine, repo: "hexpm", optional: false]}, {:gettext, "~> 0.10", [hex: :gettext, repo: "hexpm", optional: false]}, {:tzdata, "~> 0.1.8 or ~> 0.5", [hex: :tzdata, repo: "hexpm", optional: false]}], "hexpm"},
"trailing_format_plug": {:hex, :trailing_format_plug, "0.0.7", "64b877f912cf7273bed03379936df39894149e35137ac9509117e59866e10e45", [:mix], [{:plug, "> 0.12.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm"},
diff --git a/priv/repo/migrations/20170426154155_create_websub_client_subscription.exs b/priv/repo/migrations/20170426154155_create_websub_client_subscription.exs
index f42782840..89d3af7ae 100644
--- a/priv/repo/migrations/20170426154155_create_websub_client_subscription.exs
+++ b/priv/repo/migrations/20170426154155_create_websub_client_subscription.exs
@@ -5,7 +5,7 @@ defmodule Pleroma.Repo.Migrations.CreateWebsubClientSubscription do
create table(:websub_client_subscriptions) do
add :topic, :string
add :secret, :string
- add :valid_until, :naive_datetime
+ add :valid_until, :naive_datetime_usec
add :state, :string
add :subscribers, :map
diff --git a/priv/repo/migrations/20170906143140_create_o_auth_authorizations.exs b/priv/repo/migrations/20170906143140_create_o_auth_authorizations.exs
index b4332870e..ead1d023e 100644
--- a/priv/repo/migrations/20170906143140_create_o_auth_authorizations.exs
+++ b/priv/repo/migrations/20170906143140_create_o_auth_authorizations.exs
@@ -6,7 +6,7 @@ defmodule Pleroma.Repo.Migrations.CreateOAuthAuthorizations do
add :app_id, references(:apps)
add :user_id, references(:users)
add :token, :string
- add :valid_until, :naive_datetime
+ add :valid_until, :naive_datetime_usec
add :used, :boolean, default: false
timestamps()
diff --git a/priv/repo/migrations/20170906152508_create_o_auth_token.exs b/priv/repo/migrations/20170906152508_create_o_auth_token.exs
index 7f8550f33..ed56bbf36 100644
--- a/priv/repo/migrations/20170906152508_create_o_auth_token.exs
+++ b/priv/repo/migrations/20170906152508_create_o_auth_token.exs
@@ -7,7 +7,7 @@ defmodule Pleroma.Repo.Migrations.CreateOAuthToken do
add :user_id, references(:users)
add :token, :string
add :refresh_token, :string
- add :valid_until, :naive_datetime
+ add :valid_until, :naive_datetime_usec
timestamps()
end
diff --git a/priv/repo/migrations/20180813003722_create_filters.exs b/priv/repo/migrations/20180813003722_create_filters.exs
index a273004ee..8e7129f34 100644
--- a/priv/repo/migrations/20180813003722_create_filters.exs
+++ b/priv/repo/migrations/20180813003722_create_filters.exs
@@ -8,7 +8,7 @@ defmodule Pleroma.Repo.Migrations.CreateFilters do
add :hide, :boolean
add :phrase, :string
add :context, {:array, :string}
- add :expires_at, :datetime
+ add :expires_at, :utc_datetime
add :whole_word, :boolean
timestamps()
diff --git a/priv/repo/migrations/20180919060348_users_add_last_refreshed_at.exs b/priv/repo/migrations/20180919060348_users_add_last_refreshed_at.exs
index 1942e4e9c..815177e05 100644
--- a/priv/repo/migrations/20180919060348_users_add_last_refreshed_at.exs
+++ b/priv/repo/migrations/20180919060348_users_add_last_refreshed_at.exs
@@ -3,7 +3,7 @@ defmodule Pleroma.Repo.Migrations.UsersAddLastRefreshedAt do
def change do
alter table(:users) do
- add :last_refreshed_at, :naive_datetime
+ add :last_refreshed_at, :naive_datetime_usec
end
end
end
diff --git a/priv/repo/migrations/20190123125546_create_instances.exs b/priv/repo/migrations/20190123125546_create_instances.exs
index b527ad7ec..3d23b343e 100644
--- a/priv/repo/migrations/20190123125546_create_instances.exs
+++ b/priv/repo/migrations/20190123125546_create_instances.exs
@@ -4,7 +4,7 @@ defmodule Pleroma.Repo.Migrations.CreateInstances do
def change do
create table(:instances) do
add :host, :string
- add :unreachable_since, :naive_datetime
+ add :unreachable_since, :naive_datetime_usec
timestamps()
end
diff --git a/priv/static/emoji/Firefox.gif b/priv/static/emoji/Firefox.gif
index 27e29b97a..81561d94b 100644
--- a/priv/static/emoji/Firefox.gif
+++ b/priv/static/emoji/Firefox.gif
Binary files differ
diff --git a/priv/static/emoji/blank.png b/priv/static/emoji/blank.png
index 175a1d412..8f50fa023 100644
--- a/priv/static/emoji/blank.png
+++ b/priv/static/emoji/blank.png
Binary files differ
diff --git a/priv/static/emoji/f_00b.png b/priv/static/emoji/f_00b.png
index 8c0f8b7e8..3d00b89b0 100644
--- a/priv/static/emoji/f_00b.png
+++ b/priv/static/emoji/f_00b.png
Binary files differ
diff --git a/priv/static/emoji/f_00b11b.png b/priv/static/emoji/f_00b11b.png
index 408b8fdd3..3e99ce464 100644
--- a/priv/static/emoji/f_00b11b.png
+++ b/priv/static/emoji/f_00b11b.png
Binary files differ
diff --git a/priv/static/emoji/f_00b33b.png b/priv/static/emoji/f_00b33b.png
index 7926f497c..8f4929297 100644
--- a/priv/static/emoji/f_00b33b.png
+++ b/priv/static/emoji/f_00b33b.png
Binary files differ
diff --git a/priv/static/emoji/f_00h.png b/priv/static/emoji/f_00h.png
index a8e26b330..ba3da57c6 100644
--- a/priv/static/emoji/f_00h.png
+++ b/priv/static/emoji/f_00h.png
Binary files differ
diff --git a/priv/static/emoji/f_00t.png b/priv/static/emoji/f_00t.png
index 5b78986f7..31d98b433 100644
--- a/priv/static/emoji/f_00t.png
+++ b/priv/static/emoji/f_00t.png
Binary files differ
diff --git a/priv/static/emoji/f_01b.png b/priv/static/emoji/f_01b.png
index 13359359e..7bd2582c5 100644
--- a/priv/static/emoji/f_01b.png
+++ b/priv/static/emoji/f_01b.png
Binary files differ
diff --git a/priv/static/emoji/f_03b.png b/priv/static/emoji/f_03b.png
index ab95f9b28..9e4ff1bf7 100644
--- a/priv/static/emoji/f_03b.png
+++ b/priv/static/emoji/f_03b.png
Binary files differ
diff --git a/priv/static/emoji/f_10b.png b/priv/static/emoji/f_10b.png
index b57b5b3b2..67c6493fc 100644
--- a/priv/static/emoji/f_10b.png
+++ b/priv/static/emoji/f_10b.png
Binary files differ
diff --git a/priv/static/emoji/f_11b.png b/priv/static/emoji/f_11b.png
index dcdb61ea4..b53328ba9 100644
--- a/priv/static/emoji/f_11b.png
+++ b/priv/static/emoji/f_11b.png
Binary files differ
diff --git a/priv/static/emoji/f_11b00b.png b/priv/static/emoji/f_11b00b.png
index 48e487dff..c4c30e11f 100644
--- a/priv/static/emoji/f_11b00b.png
+++ b/priv/static/emoji/f_11b00b.png
Binary files differ
diff --git a/priv/static/emoji/f_11b22b.png b/priv/static/emoji/f_11b22b.png
index a1f09b063..47425e06e 100644
--- a/priv/static/emoji/f_11b22b.png
+++ b/priv/static/emoji/f_11b22b.png
Binary files differ
diff --git a/priv/static/emoji/f_11h.png b/priv/static/emoji/f_11h.png
index 59a86c98e..28342363a 100644
--- a/priv/static/emoji/f_11h.png
+++ b/priv/static/emoji/f_11h.png
Binary files differ
diff --git a/priv/static/emoji/f_11t.png b/priv/static/emoji/f_11t.png
index 8a31379b1..dca67dc70 100644
--- a/priv/static/emoji/f_11t.png
+++ b/priv/static/emoji/f_11t.png
Binary files differ
diff --git a/priv/static/emoji/f_12b.png b/priv/static/emoji/f_12b.png
index 99481725e..9925adb7c 100644
--- a/priv/static/emoji/f_12b.png
+++ b/priv/static/emoji/f_12b.png
Binary files differ
diff --git a/priv/static/emoji/f_21b.png b/priv/static/emoji/f_21b.png
index d6f6e2131..aa56d2cb2 100644
--- a/priv/static/emoji/f_21b.png
+++ b/priv/static/emoji/f_21b.png
Binary files differ
diff --git a/priv/static/emoji/f_22b.png b/priv/static/emoji/f_22b.png
index e90a407d9..426878986 100644
--- a/priv/static/emoji/f_22b.png
+++ b/priv/static/emoji/f_22b.png
Binary files differ
diff --git a/priv/static/emoji/f_22b11b.png b/priv/static/emoji/f_22b11b.png
index ca25cf1af..4bdfb3107 100644
--- a/priv/static/emoji/f_22b11b.png
+++ b/priv/static/emoji/f_22b11b.png
Binary files differ
diff --git a/priv/static/emoji/f_22b33b.png b/priv/static/emoji/f_22b33b.png
index ec4760ca1..adf94f811 100644
--- a/priv/static/emoji/f_22b33b.png
+++ b/priv/static/emoji/f_22b33b.png
Binary files differ
diff --git a/priv/static/emoji/f_22h.png b/priv/static/emoji/f_22h.png
index c82c9179b..3b27e2de8 100644
--- a/priv/static/emoji/f_22h.png
+++ b/priv/static/emoji/f_22h.png
Binary files differ
diff --git a/priv/static/emoji/f_22t.png b/priv/static/emoji/f_22t.png
index 2a858a6f3..addd9fec7 100644
--- a/priv/static/emoji/f_22t.png
+++ b/priv/static/emoji/f_22t.png
Binary files differ
diff --git a/priv/static/emoji/f_23b.png b/priv/static/emoji/f_23b.png
index 551598a24..beb69ab36 100644
--- a/priv/static/emoji/f_23b.png
+++ b/priv/static/emoji/f_23b.png
Binary files differ
diff --git a/priv/static/emoji/f_30b.png b/priv/static/emoji/f_30b.png
index f2cb32978..41dbb2a5d 100644
--- a/priv/static/emoji/f_30b.png
+++ b/priv/static/emoji/f_30b.png
Binary files differ
diff --git a/priv/static/emoji/f_32b.png b/priv/static/emoji/f_32b.png
index 5646a0fcd..d8261e8a8 100644
--- a/priv/static/emoji/f_32b.png
+++ b/priv/static/emoji/f_32b.png
Binary files differ
diff --git a/priv/static/emoji/f_33b.png b/priv/static/emoji/f_33b.png
index 86f2a0a0e..71b8b914a 100644
--- a/priv/static/emoji/f_33b.png
+++ b/priv/static/emoji/f_33b.png
Binary files differ
diff --git a/priv/static/emoji/f_33b00b.png b/priv/static/emoji/f_33b00b.png
index 9f9a750b0..65b6e24b8 100644
--- a/priv/static/emoji/f_33b00b.png
+++ b/priv/static/emoji/f_33b00b.png
Binary files differ
diff --git a/priv/static/emoji/f_33b22b.png b/priv/static/emoji/f_33b22b.png
index 48520a17e..d71a8ddd4 100644
--- a/priv/static/emoji/f_33b22b.png
+++ b/priv/static/emoji/f_33b22b.png
Binary files differ
diff --git a/priv/static/emoji/f_33h.png b/priv/static/emoji/f_33h.png
index 0b8a333d2..e141c5184 100644
--- a/priv/static/emoji/f_33h.png
+++ b/priv/static/emoji/f_33h.png
Binary files differ
diff --git a/priv/static/emoji/f_33t.png b/priv/static/emoji/f_33t.png
index 0f8812075..d5a23073d 100644
--- a/priv/static/emoji/f_33t.png
+++ b/priv/static/emoji/f_33t.png
Binary files differ
diff --git a/priv/static/favicon.png b/priv/static/favicon.png
index f83d923bb..a96d5d252 100644
--- a/priv/static/favicon.png
+++ b/priv/static/favicon.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/a_trusted_friend.png b/priv/static/finmoji/1000px/a_trusted_friend.png
index 74c4c7af7..5658d589c 100644
--- a/priv/static/finmoji/1000px/a_trusted_friend.png
+++ b/priv/static/finmoji/1000px/a_trusted_friend.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/alandislands.png b/priv/static/finmoji/1000px/alandislands.png
index 816e75d33..094dd3284 100644
--- a/priv/static/finmoji/1000px/alandislands.png
+++ b/priv/static/finmoji/1000px/alandislands.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/association.png b/priv/static/finmoji/1000px/association.png
index 175bfaf0a..dad3b8864 100644
--- a/priv/static/finmoji/1000px/association.png
+++ b/priv/static/finmoji/1000px/association.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/auroraborealis.png b/priv/static/finmoji/1000px/auroraborealis.png
index 1352ff64d..5875dc2c4 100644
--- a/priv/static/finmoji/1000px/auroraborealis.png
+++ b/priv/static/finmoji/1000px/auroraborealis.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/baby_in_a_box.png b/priv/static/finmoji/1000px/baby_in_a_box.png
index 928362adc..9479aaebb 100644
--- a/priv/static/finmoji/1000px/baby_in_a_box.png
+++ b/priv/static/finmoji/1000px/baby_in_a_box.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/bear.png b/priv/static/finmoji/1000px/bear.png
index 0c30501be..5d9fbb320 100644
--- a/priv/static/finmoji/1000px/bear.png
+++ b/priv/static/finmoji/1000px/bear.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/black_gold.png b/priv/static/finmoji/1000px/black_gold.png
index c8993683b..707e949ec 100644
--- a/priv/static/finmoji/1000px/black_gold.png
+++ b/priv/static/finmoji/1000px/black_gold.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/christmasparty.png b/priv/static/finmoji/1000px/christmasparty.png
index 8b8eb62f1..785decb8d 100644
--- a/priv/static/finmoji/1000px/christmasparty.png
+++ b/priv/static/finmoji/1000px/christmasparty.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/crosscountryskiing.png b/priv/static/finmoji/1000px/crosscountryskiing.png
index e6de38e1e..2a9bddf41 100644
--- a/priv/static/finmoji/1000px/crosscountryskiing.png
+++ b/priv/static/finmoji/1000px/crosscountryskiing.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/cupofcoffee.png b/priv/static/finmoji/1000px/cupofcoffee.png
index 8cb91d0c1..a12cc867c 100644
--- a/priv/static/finmoji/1000px/cupofcoffee.png
+++ b/priv/static/finmoji/1000px/cupofcoffee.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/education.png b/priv/static/finmoji/1000px/education.png
index 0092d32e9..af9feee59 100644
--- a/priv/static/finmoji/1000px/education.png
+++ b/priv/static/finmoji/1000px/education.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/fashionista_finns.png b/priv/static/finmoji/1000px/fashionista_finns.png
index 214d42d67..d1140250d 100644
--- a/priv/static/finmoji/1000px/fashionista_finns.png
+++ b/priv/static/finmoji/1000px/fashionista_finns.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/finnishlove.png b/priv/static/finmoji/1000px/finnishlove.png
index 5fa87ca56..00148202f 100644
--- a/priv/static/finmoji/1000px/finnishlove.png
+++ b/priv/static/finmoji/1000px/finnishlove.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/flag.png b/priv/static/finmoji/1000px/flag.png
index 9af9872f6..e709449d7 100644
--- a/priv/static/finmoji/1000px/flag.png
+++ b/priv/static/finmoji/1000px/flag.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/forest.png b/priv/static/finmoji/1000px/forest.png
index 090d2dfad..b2d64ea37 100644
--- a/priv/static/finmoji/1000px/forest.png
+++ b/priv/static/finmoji/1000px/forest.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/four_seasons_of_bbq.png b/priv/static/finmoji/1000px/four_seasons_of_bbq.png
index 3cffbb440..42f4a7fb7 100644
--- a/priv/static/finmoji/1000px/four_seasons_of_bbq.png
+++ b/priv/static/finmoji/1000px/four_seasons_of_bbq.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/girlpower.png b/priv/static/finmoji/1000px/girlpower.png
index 3eb0ba64a..7674f2e26 100644
--- a/priv/static/finmoji/1000px/girlpower.png
+++ b/priv/static/finmoji/1000px/girlpower.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/handshake.png b/priv/static/finmoji/1000px/handshake.png
index 6ca1533a7..d9857d699 100644
--- a/priv/static/finmoji/1000px/handshake.png
+++ b/priv/static/finmoji/1000px/handshake.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/happiness.png b/priv/static/finmoji/1000px/happiness.png
index faf31b72d..fbfc34fe4 100644
--- a/priv/static/finmoji/1000px/happiness.png
+++ b/priv/static/finmoji/1000px/happiness.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/headbanger.png b/priv/static/finmoji/1000px/headbanger.png
index 643fa8afd..d9c2f6247 100644
--- a/priv/static/finmoji/1000px/headbanger.png
+++ b/priv/static/finmoji/1000px/headbanger.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/icebreaker.png b/priv/static/finmoji/1000px/icebreaker.png
index 08f8908a2..aedce3dca 100644
--- a/priv/static/finmoji/1000px/icebreaker.png
+++ b/priv/static/finmoji/1000px/icebreaker.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/iceman.png b/priv/static/finmoji/1000px/iceman.png
index 2da5ad83e..c172e60d5 100644
--- a/priv/static/finmoji/1000px/iceman.png
+++ b/priv/static/finmoji/1000px/iceman.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/joulutorttu.png b/priv/static/finmoji/1000px/joulutorttu.png
index 05c974d98..d7b5a7e53 100644
--- a/priv/static/finmoji/1000px/joulutorttu.png
+++ b/priv/static/finmoji/1000px/joulutorttu.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/kaamos.png b/priv/static/finmoji/1000px/kaamos.png
index 053cd4fc4..139b21953 100644
--- a/priv/static/finmoji/1000px/kaamos.png
+++ b/priv/static/finmoji/1000px/kaamos.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/kalsarikannit_f.png b/priv/static/finmoji/1000px/kalsarikannit_f.png
index 718ca6934..064c86160 100644
--- a/priv/static/finmoji/1000px/kalsarikannit_f.png
+++ b/priv/static/finmoji/1000px/kalsarikannit_f.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/kalsarikannit_m.png b/priv/static/finmoji/1000px/kalsarikannit_m.png
index a081dd5e1..e08bd27af 100644
--- a/priv/static/finmoji/1000px/kalsarikannit_m.png
+++ b/priv/static/finmoji/1000px/kalsarikannit_m.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/karjalanpiirakka.png b/priv/static/finmoji/1000px/karjalanpiirakka.png
index a918305e4..dbf647df5 100644
--- a/priv/static/finmoji/1000px/karjalanpiirakka.png
+++ b/priv/static/finmoji/1000px/karjalanpiirakka.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/kicksled.png b/priv/static/finmoji/1000px/kicksled.png
index fc489fb62..305a56f77 100644
--- a/priv/static/finmoji/1000px/kicksled.png
+++ b/priv/static/finmoji/1000px/kicksled.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/kokko.png b/priv/static/finmoji/1000px/kokko.png
index c6ed2a98a..0a5472c9a 100644
--- a/priv/static/finmoji/1000px/kokko.png
+++ b/priv/static/finmoji/1000px/kokko.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/lavatanssit.png b/priv/static/finmoji/1000px/lavatanssit.png
index 04a0b48f6..a1f0a69dd 100644
--- a/priv/static/finmoji/1000px/lavatanssit.png
+++ b/priv/static/finmoji/1000px/lavatanssit.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/losthopes_f.png b/priv/static/finmoji/1000px/losthopes_f.png
index 06a3061fa..a847df3c5 100644
--- a/priv/static/finmoji/1000px/losthopes_f.png
+++ b/priv/static/finmoji/1000px/losthopes_f.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/losthopes_m.png b/priv/static/finmoji/1000px/losthopes_m.png
index 78caa6b1d..93c83b995 100644
--- a/priv/static/finmoji/1000px/losthopes_m.png
+++ b/priv/static/finmoji/1000px/losthopes_m.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/mattinykanen.png b/priv/static/finmoji/1000px/mattinykanen.png
index 4a7c76b41..2d9c9d38f 100644
--- a/priv/static/finmoji/1000px/mattinykanen.png
+++ b/priv/static/finmoji/1000px/mattinykanen.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/meanwhileinfinland.png b/priv/static/finmoji/1000px/meanwhileinfinland.png
index e591cb18a..794db1eed 100644
--- a/priv/static/finmoji/1000px/meanwhileinfinland.png
+++ b/priv/static/finmoji/1000px/meanwhileinfinland.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/moominmamma.png b/priv/static/finmoji/1000px/moominmamma.png
index 963b18573..d34b1b98b 100644
--- a/priv/static/finmoji/1000px/moominmamma.png
+++ b/priv/static/finmoji/1000px/moominmamma.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/nordicfamily.png b/priv/static/finmoji/1000px/nordicfamily.png
index 81ae83a71..21292eaff 100644
--- a/priv/static/finmoji/1000px/nordicfamily.png
+++ b/priv/static/finmoji/1000px/nordicfamily.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/out_of_office.png b/priv/static/finmoji/1000px/out_of_office.png
index af5dbce7f..b72d6dbd5 100644
--- a/priv/static/finmoji/1000px/out_of_office.png
+++ b/priv/static/finmoji/1000px/out_of_office.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/peacemaker.png b/priv/static/finmoji/1000px/peacemaker.png
index 89e4265f2..48a51fa6f 100644
--- a/priv/static/finmoji/1000px/peacemaker.png
+++ b/priv/static/finmoji/1000px/peacemaker.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/perkele.png b/priv/static/finmoji/1000px/perkele.png
index 98ac34606..16a68d053 100644
--- a/priv/static/finmoji/1000px/perkele.png
+++ b/priv/static/finmoji/1000px/perkele.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/pesapallo.png b/priv/static/finmoji/1000px/pesapallo.png
index f701a0168..2f35c8e02 100644
--- a/priv/static/finmoji/1000px/pesapallo.png
+++ b/priv/static/finmoji/1000px/pesapallo.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/polarbear.png b/priv/static/finmoji/1000px/polarbear.png
index 1e2eed5f5..ce6c65e8b 100644
--- a/priv/static/finmoji/1000px/polarbear.png
+++ b/priv/static/finmoji/1000px/polarbear.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/pusa_hispida_saimensis.png b/priv/static/finmoji/1000px/pusa_hispida_saimensis.png
index 61145bccc..35ec8caed 100644
--- a/priv/static/finmoji/1000px/pusa_hispida_saimensis.png
+++ b/priv/static/finmoji/1000px/pusa_hispida_saimensis.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/reindeer.png b/priv/static/finmoji/1000px/reindeer.png
index a3d28fb9c..e60f0f0a4 100644
--- a/priv/static/finmoji/1000px/reindeer.png
+++ b/priv/static/finmoji/1000px/reindeer.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/sami.png b/priv/static/finmoji/1000px/sami.png
index f3a089b3b..e4703dfd2 100644
--- a/priv/static/finmoji/1000px/sami.png
+++ b/priv/static/finmoji/1000px/sami.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/sauna_f.png b/priv/static/finmoji/1000px/sauna_f.png
index ca83c8bfc..9a4ba8629 100644
--- a/priv/static/finmoji/1000px/sauna_f.png
+++ b/priv/static/finmoji/1000px/sauna_f.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/sauna_m.png b/priv/static/finmoji/1000px/sauna_m.png
index 0de893cb7..4bdd33f7b 100644
--- a/priv/static/finmoji/1000px/sauna_m.png
+++ b/priv/static/finmoji/1000px/sauna_m.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/sauna_whisk.png b/priv/static/finmoji/1000px/sauna_whisk.png
index 2b8af6740..c16928065 100644
--- a/priv/static/finmoji/1000px/sauna_whisk.png
+++ b/priv/static/finmoji/1000px/sauna_whisk.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/sisu.png b/priv/static/finmoji/1000px/sisu.png
index 18320729f..238453bb5 100644
--- a/priv/static/finmoji/1000px/sisu.png
+++ b/priv/static/finmoji/1000px/sisu.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/stuck.png b/priv/static/finmoji/1000px/stuck.png
index 445b6bcd8..4180e3ecd 100644
--- a/priv/static/finmoji/1000px/stuck.png
+++ b/priv/static/finmoji/1000px/stuck.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/suomimainittu.png b/priv/static/finmoji/1000px/suomimainittu.png
index 01dfa64e4..af46347f5 100644
--- a/priv/static/finmoji/1000px/suomimainittu.png
+++ b/priv/static/finmoji/1000px/suomimainittu.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/superfood.png b/priv/static/finmoji/1000px/superfood.png
index 8a81f4e3d..8fa033c18 100644
--- a/priv/static/finmoji/1000px/superfood.png
+++ b/priv/static/finmoji/1000px/superfood.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/swan.png b/priv/static/finmoji/1000px/swan.png
index dbdf0ed0c..5363f861d 100644
--- a/priv/static/finmoji/1000px/swan.png
+++ b/priv/static/finmoji/1000px/swan.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/the_cap.png b/priv/static/finmoji/1000px/the_cap.png
index f1232e10f..7f547dc0e 100644
--- a/priv/static/finmoji/1000px/the_cap.png
+++ b/priv/static/finmoji/1000px/the_cap.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/the_conductor.png b/priv/static/finmoji/1000px/the_conductor.png
index d231bf6f9..ed5ca7f1f 100644
--- a/priv/static/finmoji/1000px/the_conductor.png
+++ b/priv/static/finmoji/1000px/the_conductor.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/the_king.png b/priv/static/finmoji/1000px/the_king.png
index f1f589667..8c3a5c66d 100644
--- a/priv/static/finmoji/1000px/the_king.png
+++ b/priv/static/finmoji/1000px/the_king.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/the_voice.png b/priv/static/finmoji/1000px/the_voice.png
index 2085a56c8..9bfc87b3a 100644
--- a/priv/static/finmoji/1000px/the_voice.png
+++ b/priv/static/finmoji/1000px/the_voice.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/theoriginalsanta.png b/priv/static/finmoji/1000px/theoriginalsanta.png
index 707921b2d..b8dc1ef47 100644
--- a/priv/static/finmoji/1000px/theoriginalsanta.png
+++ b/priv/static/finmoji/1000px/theoriginalsanta.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/tomoffinland.png b/priv/static/finmoji/1000px/tomoffinland.png
index bf83c7573..97da05a64 100644
--- a/priv/static/finmoji/1000px/tomoffinland.png
+++ b/priv/static/finmoji/1000px/tomoffinland.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/torillatavataan.png b/priv/static/finmoji/1000px/torillatavataan.png
index 6e82251f8..ff7a81eda 100644
--- a/priv/static/finmoji/1000px/torillatavataan.png
+++ b/priv/static/finmoji/1000px/torillatavataan.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/unbreakable.png b/priv/static/finmoji/1000px/unbreakable.png
index 9a4197367..1778fc115 100644
--- a/priv/static/finmoji/1000px/unbreakable.png
+++ b/priv/static/finmoji/1000px/unbreakable.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/waiting.png b/priv/static/finmoji/1000px/waiting.png
index 4b98139a0..2aa9afa70 100644
--- a/priv/static/finmoji/1000px/waiting.png
+++ b/priv/static/finmoji/1000px/waiting.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/white_nights.png b/priv/static/finmoji/1000px/white_nights.png
index d00e2febe..8e9cd3fc8 100644
--- a/priv/static/finmoji/1000px/white_nights.png
+++ b/priv/static/finmoji/1000px/white_nights.png
Binary files differ
diff --git a/priv/static/finmoji/1000px/woollysocks.png b/priv/static/finmoji/1000px/woollysocks.png
index 0bd8ee055..5ee4e6de1 100644
--- a/priv/static/finmoji/1000px/woollysocks.png
+++ b/priv/static/finmoji/1000px/woollysocks.png
Binary files differ
diff --git a/priv/static/finmoji/128px/a_trusted_friend-128.png b/priv/static/finmoji/128px/a_trusted_friend-128.png
index e459c5109..16d596bda 100644
--- a/priv/static/finmoji/128px/a_trusted_friend-128.png
+++ b/priv/static/finmoji/128px/a_trusted_friend-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/alandislands-128.png b/priv/static/finmoji/128px/alandislands-128.png
index 5b9ef6957..13cdf6e76 100644
--- a/priv/static/finmoji/128px/alandislands-128.png
+++ b/priv/static/finmoji/128px/alandislands-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/association-128.png b/priv/static/finmoji/128px/association-128.png
index 10879dbff..5b388d781 100644
--- a/priv/static/finmoji/128px/association-128.png
+++ b/priv/static/finmoji/128px/association-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/auroraborealis-128.png b/priv/static/finmoji/128px/auroraborealis-128.png
index 9e52d6011..7e2af77b9 100644
--- a/priv/static/finmoji/128px/auroraborealis-128.png
+++ b/priv/static/finmoji/128px/auroraborealis-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/baby_in_a_box-128.png b/priv/static/finmoji/128px/baby_in_a_box-128.png
index 64c7f8264..9c495e24a 100644
--- a/priv/static/finmoji/128px/baby_in_a_box-128.png
+++ b/priv/static/finmoji/128px/baby_in_a_box-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/bear-128.png b/priv/static/finmoji/128px/bear-128.png
index 987078491..8bb101bf4 100644
--- a/priv/static/finmoji/128px/bear-128.png
+++ b/priv/static/finmoji/128px/bear-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/black_gold-128.png b/priv/static/finmoji/128px/black_gold-128.png
index f8bf5638f..1833edab4 100644
--- a/priv/static/finmoji/128px/black_gold-128.png
+++ b/priv/static/finmoji/128px/black_gold-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/christmasparty-128.png b/priv/static/finmoji/128px/christmasparty-128.png
index e18c088b4..98216830c 100644
--- a/priv/static/finmoji/128px/christmasparty-128.png
+++ b/priv/static/finmoji/128px/christmasparty-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/crosscountryskiing-128.png b/priv/static/finmoji/128px/crosscountryskiing-128.png
index 317577170..67553f398 100644
--- a/priv/static/finmoji/128px/crosscountryskiing-128.png
+++ b/priv/static/finmoji/128px/crosscountryskiing-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/cupofcoffee-128.png b/priv/static/finmoji/128px/cupofcoffee-128.png
index 0851e9a46..20064f218 100644
--- a/priv/static/finmoji/128px/cupofcoffee-128.png
+++ b/priv/static/finmoji/128px/cupofcoffee-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/education-128.png b/priv/static/finmoji/128px/education-128.png
index 7456e90bf..c98083bdd 100644
--- a/priv/static/finmoji/128px/education-128.png
+++ b/priv/static/finmoji/128px/education-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/fashionista_finns-128.png b/priv/static/finmoji/128px/fashionista_finns-128.png
index 0b2b0466c..4248825e0 100644
--- a/priv/static/finmoji/128px/fashionista_finns-128.png
+++ b/priv/static/finmoji/128px/fashionista_finns-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/finnishlove-128.png b/priv/static/finmoji/128px/finnishlove-128.png
index 3a970bf7b..5d4f9476c 100644
--- a/priv/static/finmoji/128px/finnishlove-128.png
+++ b/priv/static/finmoji/128px/finnishlove-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/flag-128.png b/priv/static/finmoji/128px/flag-128.png
index a5363242d..0087cc589 100644
--- a/priv/static/finmoji/128px/flag-128.png
+++ b/priv/static/finmoji/128px/flag-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/forest-128.png b/priv/static/finmoji/128px/forest-128.png
index a350d7f0c..142e60b94 100644
--- a/priv/static/finmoji/128px/forest-128.png
+++ b/priv/static/finmoji/128px/forest-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/four_seasons_of_bbq-128.png b/priv/static/finmoji/128px/four_seasons_of_bbq-128.png
index d01ad662e..bb7fe1f51 100644
--- a/priv/static/finmoji/128px/four_seasons_of_bbq-128.png
+++ b/priv/static/finmoji/128px/four_seasons_of_bbq-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/girlpower-128.png b/priv/static/finmoji/128px/girlpower-128.png
index 1e6e9628e..bc76a51c5 100644
--- a/priv/static/finmoji/128px/girlpower-128.png
+++ b/priv/static/finmoji/128px/girlpower-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/handshake-128.png b/priv/static/finmoji/128px/handshake-128.png
index 92976f48b..4ebf196ab 100644
--- a/priv/static/finmoji/128px/handshake-128.png
+++ b/priv/static/finmoji/128px/handshake-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/happiness-128.png b/priv/static/finmoji/128px/happiness-128.png
index 3ae66fa4b..e28f99a26 100644
--- a/priv/static/finmoji/128px/happiness-128.png
+++ b/priv/static/finmoji/128px/happiness-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/headbanger-128.png b/priv/static/finmoji/128px/headbanger-128.png
index 094288c51..0de620efe 100644
--- a/priv/static/finmoji/128px/headbanger-128.png
+++ b/priv/static/finmoji/128px/headbanger-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/icebreaker-128.png b/priv/static/finmoji/128px/icebreaker-128.png
index 0473dc400..7fb36a4a3 100644
--- a/priv/static/finmoji/128px/icebreaker-128.png
+++ b/priv/static/finmoji/128px/icebreaker-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/iceman-128.png b/priv/static/finmoji/128px/iceman-128.png
index 217ef0c92..eb814e6aa 100644
--- a/priv/static/finmoji/128px/iceman-128.png
+++ b/priv/static/finmoji/128px/iceman-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/joulutorttu-128.png b/priv/static/finmoji/128px/joulutorttu-128.png
index c394570eb..50448e333 100644
--- a/priv/static/finmoji/128px/joulutorttu-128.png
+++ b/priv/static/finmoji/128px/joulutorttu-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/kaamos-128.png b/priv/static/finmoji/128px/kaamos-128.png
index 882ddf8ba..8b2df03ef 100644
--- a/priv/static/finmoji/128px/kaamos-128.png
+++ b/priv/static/finmoji/128px/kaamos-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/kalsarikannit_f-128.png b/priv/static/finmoji/128px/kalsarikannit_f-128.png
index a3390e66c..bcd94141a 100644
--- a/priv/static/finmoji/128px/kalsarikannit_f-128.png
+++ b/priv/static/finmoji/128px/kalsarikannit_f-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/kalsarikannit_m-128.png b/priv/static/finmoji/128px/kalsarikannit_m-128.png
index e48ca375d..c6938e677 100644
--- a/priv/static/finmoji/128px/kalsarikannit_m-128.png
+++ b/priv/static/finmoji/128px/kalsarikannit_m-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/karjalanpiirakka-128.png b/priv/static/finmoji/128px/karjalanpiirakka-128.png
index b489c9c28..a82a902db 100644
--- a/priv/static/finmoji/128px/karjalanpiirakka-128.png
+++ b/priv/static/finmoji/128px/karjalanpiirakka-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/kicksled-128.png b/priv/static/finmoji/128px/kicksled-128.png
index 99dee1eb8..ff42462db 100644
--- a/priv/static/finmoji/128px/kicksled-128.png
+++ b/priv/static/finmoji/128px/kicksled-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/kokko-128.png b/priv/static/finmoji/128px/kokko-128.png
index ef1ea0db5..e0b6e07fa 100644
--- a/priv/static/finmoji/128px/kokko-128.png
+++ b/priv/static/finmoji/128px/kokko-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/lavatanssit-128.png b/priv/static/finmoji/128px/lavatanssit-128.png
index e5d921dfe..f89dc358c 100644
--- a/priv/static/finmoji/128px/lavatanssit-128.png
+++ b/priv/static/finmoji/128px/lavatanssit-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/losthopes_f-128.png b/priv/static/finmoji/128px/losthopes_f-128.png
index 395b75a12..60f0949c0 100644
--- a/priv/static/finmoji/128px/losthopes_f-128.png
+++ b/priv/static/finmoji/128px/losthopes_f-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/losthopes_m-128.png b/priv/static/finmoji/128px/losthopes_m-128.png
index 4fdadb97a..9ae6f9e2f 100644
--- a/priv/static/finmoji/128px/losthopes_m-128.png
+++ b/priv/static/finmoji/128px/losthopes_m-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/mattinykanen-128.png b/priv/static/finmoji/128px/mattinykanen-128.png
index 230554e2e..0e81271ca 100644
--- a/priv/static/finmoji/128px/mattinykanen-128.png
+++ b/priv/static/finmoji/128px/mattinykanen-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/meanwhileinfinland-128.png b/priv/static/finmoji/128px/meanwhileinfinland-128.png
index 8cc636bd6..5a9710a3b 100644
--- a/priv/static/finmoji/128px/meanwhileinfinland-128.png
+++ b/priv/static/finmoji/128px/meanwhileinfinland-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/moominmamma-128.png b/priv/static/finmoji/128px/moominmamma-128.png
index 76a662a9d..ae37bb94a 100644
--- a/priv/static/finmoji/128px/moominmamma-128.png
+++ b/priv/static/finmoji/128px/moominmamma-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/nordicfamily-128.png b/priv/static/finmoji/128px/nordicfamily-128.png
index 6efd5daa8..cff41b228 100644
--- a/priv/static/finmoji/128px/nordicfamily-128.png
+++ b/priv/static/finmoji/128px/nordicfamily-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/out_of_office-128.png b/priv/static/finmoji/128px/out_of_office-128.png
index 98e359bcb..45cd1c2f5 100644
--- a/priv/static/finmoji/128px/out_of_office-128.png
+++ b/priv/static/finmoji/128px/out_of_office-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/peacemaker-128.png b/priv/static/finmoji/128px/peacemaker-128.png
index 2ec94560f..c4e9bd447 100644
--- a/priv/static/finmoji/128px/peacemaker-128.png
+++ b/priv/static/finmoji/128px/peacemaker-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/perkele-128.png b/priv/static/finmoji/128px/perkele-128.png
index 61b1d560c..e89e5bf32 100644
--- a/priv/static/finmoji/128px/perkele-128.png
+++ b/priv/static/finmoji/128px/perkele-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/pesapallo-128.png b/priv/static/finmoji/128px/pesapallo-128.png
index de0897e3c..5e06bec50 100644
--- a/priv/static/finmoji/128px/pesapallo-128.png
+++ b/priv/static/finmoji/128px/pesapallo-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/polarbear-128.png b/priv/static/finmoji/128px/polarbear-128.png
index 6a3abeccd..fd3c3ec30 100644
--- a/priv/static/finmoji/128px/polarbear-128.png
+++ b/priv/static/finmoji/128px/polarbear-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/pusa_hispida_saimensis-128.png b/priv/static/finmoji/128px/pusa_hispida_saimensis-128.png
index 277780d75..60620be5d 100644
--- a/priv/static/finmoji/128px/pusa_hispida_saimensis-128.png
+++ b/priv/static/finmoji/128px/pusa_hispida_saimensis-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/reindeer-128.png b/priv/static/finmoji/128px/reindeer-128.png
index c8c5ed795..8cdd05f27 100644
--- a/priv/static/finmoji/128px/reindeer-128.png
+++ b/priv/static/finmoji/128px/reindeer-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/sami-128.png b/priv/static/finmoji/128px/sami-128.png
index fc52cceac..e9e9f41a7 100644
--- a/priv/static/finmoji/128px/sami-128.png
+++ b/priv/static/finmoji/128px/sami-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/sauna_f-128.png b/priv/static/finmoji/128px/sauna_f-128.png
index 6c70fde1d..474f126ff 100644
--- a/priv/static/finmoji/128px/sauna_f-128.png
+++ b/priv/static/finmoji/128px/sauna_f-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/sauna_m-128.png b/priv/static/finmoji/128px/sauna_m-128.png
index f67406bf9..f7f563a9b 100644
--- a/priv/static/finmoji/128px/sauna_m-128.png
+++ b/priv/static/finmoji/128px/sauna_m-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/sauna_whisk-128.png b/priv/static/finmoji/128px/sauna_whisk-128.png
index 7450ff682..80ebb55e4 100644
--- a/priv/static/finmoji/128px/sauna_whisk-128.png
+++ b/priv/static/finmoji/128px/sauna_whisk-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/sisu-128.png b/priv/static/finmoji/128px/sisu-128.png
index 9ea6ae834..7b9330654 100644
--- a/priv/static/finmoji/128px/sisu-128.png
+++ b/priv/static/finmoji/128px/sisu-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/stuck-128.png b/priv/static/finmoji/128px/stuck-128.png
index c1f468135..c14bc555d 100644
--- a/priv/static/finmoji/128px/stuck-128.png
+++ b/priv/static/finmoji/128px/stuck-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/suomimainittu-128.png b/priv/static/finmoji/128px/suomimainittu-128.png
index ac9228d88..8d35b9be1 100644
--- a/priv/static/finmoji/128px/suomimainittu-128.png
+++ b/priv/static/finmoji/128px/suomimainittu-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/superfood-128.png b/priv/static/finmoji/128px/superfood-128.png
index bb6eb81b5..2e9d924cc 100644
--- a/priv/static/finmoji/128px/superfood-128.png
+++ b/priv/static/finmoji/128px/superfood-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/swan-128.png b/priv/static/finmoji/128px/swan-128.png
index b1c2c5ea0..d1711c70b 100644
--- a/priv/static/finmoji/128px/swan-128.png
+++ b/priv/static/finmoji/128px/swan-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/the_cap-128.png b/priv/static/finmoji/128px/the_cap-128.png
index 90d36f9b4..10d83c22e 100644
--- a/priv/static/finmoji/128px/the_cap-128.png
+++ b/priv/static/finmoji/128px/the_cap-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/the_conductor-128.png b/priv/static/finmoji/128px/the_conductor-128.png
index e061cf8f4..0da7c42e8 100644
--- a/priv/static/finmoji/128px/the_conductor-128.png
+++ b/priv/static/finmoji/128px/the_conductor-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/the_king-128.png b/priv/static/finmoji/128px/the_king-128.png
index 8611d2604..07dd27ad7 100644
--- a/priv/static/finmoji/128px/the_king-128.png
+++ b/priv/static/finmoji/128px/the_king-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/the_voice-128.png b/priv/static/finmoji/128px/the_voice-128.png
index 93fd9e0f4..bb436f95b 100644
--- a/priv/static/finmoji/128px/the_voice-128.png
+++ b/priv/static/finmoji/128px/the_voice-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/theoriginalsanta-128.png b/priv/static/finmoji/128px/theoriginalsanta-128.png
index 1827b2500..082d58c28 100644
--- a/priv/static/finmoji/128px/theoriginalsanta-128.png
+++ b/priv/static/finmoji/128px/theoriginalsanta-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/tomoffinland-128.png b/priv/static/finmoji/128px/tomoffinland-128.png
index 3f6cfc319..29c68bcba 100644
--- a/priv/static/finmoji/128px/tomoffinland-128.png
+++ b/priv/static/finmoji/128px/tomoffinland-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/torillatavataan-128.png b/priv/static/finmoji/128px/torillatavataan-128.png
index 2d2153f59..da7b502b4 100644
--- a/priv/static/finmoji/128px/torillatavataan-128.png
+++ b/priv/static/finmoji/128px/torillatavataan-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/unbreakable-128.png b/priv/static/finmoji/128px/unbreakable-128.png
index a8d7cc8f1..eb825e14f 100644
--- a/priv/static/finmoji/128px/unbreakable-128.png
+++ b/priv/static/finmoji/128px/unbreakable-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/waiting-128.png b/priv/static/finmoji/128px/waiting-128.png
index 20fd31dd4..10b9167f2 100644
--- a/priv/static/finmoji/128px/waiting-128.png
+++ b/priv/static/finmoji/128px/waiting-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/white_nights-128.png b/priv/static/finmoji/128px/white_nights-128.png
index 258d305a1..8eacd11f0 100644
--- a/priv/static/finmoji/128px/white_nights-128.png
+++ b/priv/static/finmoji/128px/white_nights-128.png
Binary files differ
diff --git a/priv/static/finmoji/128px/woollysocks-128.png b/priv/static/finmoji/128px/woollysocks-128.png
index a5d9cd5d5..856af5b2e 100644
--- a/priv/static/finmoji/128px/woollysocks-128.png
+++ b/priv/static/finmoji/128px/woollysocks-128.png
Binary files differ
diff --git a/priv/static/images/avi.png b/priv/static/images/avi.png
index 3fc699c12..c6595adad 100644
--- a/priv/static/images/avi.png
+++ b/priv/static/images/avi.png
Binary files differ
diff --git a/priv/static/images/banner.png b/priv/static/images/banner.png
index 467c075d6..aa76fdd8d 100644
--- a/priv/static/images/banner.png
+++ b/priv/static/images/banner.png
Binary files differ
diff --git a/priv/static/images/city.jpg b/priv/static/images/city.jpg
index c32204719..75c07b5bd 100644
--- a/priv/static/images/city.jpg
+++ b/priv/static/images/city.jpg
Binary files differ
diff --git a/priv/static/instance/thumbnail.jpeg b/priv/static/instance/thumbnail.jpeg
index b7e012644..f63c9fef2 100644
--- a/priv/static/instance/thumbnail.jpeg
+++ b/priv/static/instance/thumbnail.jpeg
Binary files differ
diff --git a/priv/static/packs/clippy_frame-3446d4d28d72aef2f64f7fabae30eb4a.png b/priv/static/packs/clippy_frame-3446d4d28d72aef2f64f7fabae30eb4a.png
index 7f2cd6a59..724bb0c19 100644
--- a/priv/static/packs/clippy_frame-3446d4d28d72aef2f64f7fabae30eb4a.png
+++ b/priv/static/packs/clippy_frame-3446d4d28d72aef2f64f7fabae30eb4a.png
Binary files differ
diff --git a/priv/static/packs/clippy_wave-afb828463da264adbce26a3f17731f6c.gif b/priv/static/packs/clippy_wave-afb828463da264adbce26a3f17731f6c.gif
index 4d2e38a3d..bbb4e53ab 100644
--- a/priv/static/packs/clippy_wave-afb828463da264adbce26a3f17731f6c.gif
+++ b/priv/static/packs/clippy_wave-afb828463da264adbce26a3f17731f6c.gif
Binary files differ
diff --git a/priv/static/packs/glitch-preview-bb9cc15a0102bfaf65712e5cff7e58df.jpg b/priv/static/packs/glitch-preview-bb9cc15a0102bfaf65712e5cff7e58df.jpg
index fc5c42043..5d2d5880c 100644
--- a/priv/static/packs/glitch-preview-bb9cc15a0102bfaf65712e5cff7e58df.jpg
+++ b/priv/static/packs/glitch-preview-bb9cc15a0102bfaf65712e5cff7e58df.jpg
Binary files differ
diff --git a/priv/static/packs/icon_about-ffafc67a2e97ca436da6c1bf61a8ab68.png b/priv/static/packs/icon_about-ffafc67a2e97ca436da6c1bf61a8ab68.png
index 08b76dcd9..b597becb9 100644
--- a/priv/static/packs/icon_about-ffafc67a2e97ca436da6c1bf61a8ab68.png
+++ b/priv/static/packs/icon_about-ffafc67a2e97ca436da6c1bf61a8ab68.png
Binary files differ
diff --git a/priv/static/packs/icon_blocks-0b0e54d45ff0177b02e1357ac09c0d51.png b/priv/static/packs/icon_blocks-0b0e54d45ff0177b02e1357ac09c0d51.png
index 8b1490875..521048961 100644
--- a/priv/static/packs/icon_blocks-0b0e54d45ff0177b02e1357ac09c0d51.png
+++ b/priv/static/packs/icon_blocks-0b0e54d45ff0177b02e1357ac09c0d51.png
Binary files differ
diff --git a/priv/static/packs/icon_cached-26ffa26120a2a16a9be78a75cc603793.png b/priv/static/packs/icon_cached-26ffa26120a2a16a9be78a75cc603793.png
index 5c993dbee..d3cd2a2fd 100644
--- a/priv/static/packs/icon_cached-26ffa26120a2a16a9be78a75cc603793.png
+++ b/priv/static/packs/icon_cached-26ffa26120a2a16a9be78a75cc603793.png
Binary files differ
diff --git a/priv/static/packs/icon_done-e07ea253e82d137816cfb8d77a3b1562.png b/priv/static/packs/icon_done-e07ea253e82d137816cfb8d77a3b1562.png
index f7f95a0e8..15a74c4c4 100644
--- a/priv/static/packs/icon_done-e07ea253e82d137816cfb8d77a3b1562.png
+++ b/priv/static/packs/icon_done-e07ea253e82d137816cfb8d77a3b1562.png
Binary files differ
diff --git a/priv/static/packs/icon_email-ed5d2a37fa765e4c5fec080a82b0a783.png b/priv/static/packs/icon_email-ed5d2a37fa765e4c5fec080a82b0a783.png
index 13967009a..c549e78fa 100644
--- a/priv/static/packs/icon_email-ed5d2a37fa765e4c5fec080a82b0a783.png
+++ b/priv/static/packs/icon_email-ed5d2a37fa765e4c5fec080a82b0a783.png
Binary files differ
diff --git a/priv/static/packs/icon_file_download-0b212ed1bca11e1e02539a20b3821d87.png b/priv/static/packs/icon_file_download-0b212ed1bca11e1e02539a20b3821d87.png
index 3f7ac429b..447012b4b 100644
--- a/priv/static/packs/icon_file_download-0b212ed1bca11e1e02539a20b3821d87.png
+++ b/priv/static/packs/icon_file_download-0b212ed1bca11e1e02539a20b3821d87.png
Binary files differ
diff --git a/priv/static/packs/icon_follow_requests-32eaf00987b072b2b12f8015d6a6a250.png b/priv/static/packs/icon_follow_requests-32eaf00987b072b2b12f8015d6a6a250.png
index 4123e2a69..7e5f220a6 100644
--- a/priv/static/packs/icon_follow_requests-32eaf00987b072b2b12f8015d6a6a250.png
+++ b/priv/static/packs/icon_follow_requests-32eaf00987b072b2b12f8015d6a6a250.png
Binary files differ
diff --git a/priv/static/packs/icon_grade-1f9e039d0f024626ab071d18098b65a0.png b/priv/static/packs/icon_grade-1f9e039d0f024626ab071d18098b65a0.png
index 8c212b7ee..1a4a8a4dc 100644
--- a/priv/static/packs/icon_grade-1f9e039d0f024626ab071d18098b65a0.png
+++ b/priv/static/packs/icon_grade-1f9e039d0f024626ab071d18098b65a0.png
Binary files differ
diff --git a/priv/static/packs/icon_home-433b9d93fc1f035ec09330c2512a4879.png b/priv/static/packs/icon_home-433b9d93fc1f035ec09330c2512a4879.png
index 66ce779c0..6bc35c479 100644
--- a/priv/static/packs/icon_home-433b9d93fc1f035ec09330c2512a4879.png
+++ b/priv/static/packs/icon_home-433b9d93fc1f035ec09330c2512a4879.png
Binary files differ
diff --git a/priv/static/packs/icon_keyboard_shortcuts-4b183486762cfcc9f0de7522520a5485.png b/priv/static/packs/icon_keyboard_shortcuts-4b183486762cfcc9f0de7522520a5485.png
index d66f3939e..ce82f0885 100644
--- a/priv/static/packs/icon_keyboard_shortcuts-4b183486762cfcc9f0de7522520a5485.png
+++ b/priv/static/packs/icon_keyboard_shortcuts-4b183486762cfcc9f0de7522520a5485.png
Binary files differ
diff --git a/priv/static/packs/icon_likes-27b8551da2d56d81062818c035ed622e.png b/priv/static/packs/icon_likes-27b8551da2d56d81062818c035ed622e.png
index 17d7a9c59..997bb0fcc 100644
--- a/priv/static/packs/icon_likes-27b8551da2d56d81062818c035ed622e.png
+++ b/priv/static/packs/icon_likes-27b8551da2d56d81062818c035ed622e.png
Binary files differ
diff --git a/priv/static/packs/icon_lists-ae69bf4fb26c40d2c9b056c55c9153e2.png b/priv/static/packs/icon_lists-ae69bf4fb26c40d2c9b056c55c9153e2.png
index 3828946e8..c50ecd936 100644
--- a/priv/static/packs/icon_lists-ae69bf4fb26c40d2c9b056c55c9153e2.png
+++ b/priv/static/packs/icon_lists-ae69bf4fb26c40d2c9b056c55c9153e2.png
Binary files differ
diff --git a/priv/static/packs/icon_local-eade3ebeb7ac50f798cd40ed5fe62232.png b/priv/static/packs/icon_local-eade3ebeb7ac50f798cd40ed5fe62232.png
index 5f82df395..261a13a73 100644
--- a/priv/static/packs/icon_local-eade3ebeb7ac50f798cd40ed5fe62232.png
+++ b/priv/static/packs/icon_local-eade3ebeb7ac50f798cd40ed5fe62232.png
Binary files differ
diff --git a/priv/static/packs/icon_lock_open-d377f10d3f005d0d042a1ee1dee8284d.png b/priv/static/packs/icon_lock_open-d377f10d3f005d0d042a1ee1dee8284d.png
index c854c3bdb..223deb185 100644
--- a/priv/static/packs/icon_lock_open-d377f10d3f005d0d042a1ee1dee8284d.png
+++ b/priv/static/packs/icon_lock_open-d377f10d3f005d0d042a1ee1dee8284d.png
Binary files differ
diff --git a/priv/static/packs/icon_logout-3abd28c4fc25290e6e4088c50d3352f4.png b/priv/static/packs/icon_logout-3abd28c4fc25290e6e4088c50d3352f4.png
index 7ff806f58..9a074d231 100644
--- a/priv/static/packs/icon_logout-3abd28c4fc25290e6e4088c50d3352f4.png
+++ b/priv/static/packs/icon_logout-3abd28c4fc25290e6e4088c50d3352f4.png
Binary files differ
diff --git a/priv/static/packs/icon_mutes-5e7612d5c63fedb3fc59558284304cfc.png b/priv/static/packs/icon_mutes-5e7612d5c63fedb3fc59558284304cfc.png
index c2225e966..6296a4972 100644
--- a/priv/static/packs/icon_mutes-5e7612d5c63fedb3fc59558284304cfc.png
+++ b/priv/static/packs/icon_mutes-5e7612d5c63fedb3fc59558284304cfc.png
Binary files differ
diff --git a/priv/static/packs/icon_person_add-44d0a8dfa7dce95be5f6e3cfe0cdd133.png b/priv/static/packs/icon_person_add-44d0a8dfa7dce95be5f6e3cfe0cdd133.png
index 6290a42ae..e6204e9c8 100644
--- a/priv/static/packs/icon_person_add-44d0a8dfa7dce95be5f6e3cfe0cdd133.png
+++ b/priv/static/packs/icon_person_add-44d0a8dfa7dce95be5f6e3cfe0cdd133.png
Binary files differ
diff --git a/priv/static/packs/icon_pin-79e04b07bcaa1266eee3164e83f574b4.png b/priv/static/packs/icon_pin-79e04b07bcaa1266eee3164e83f574b4.png
index 2329d8c54..e8a94266e 100644
--- a/priv/static/packs/icon_pin-79e04b07bcaa1266eee3164e83f574b4.png
+++ b/priv/static/packs/icon_pin-79e04b07bcaa1266eee3164e83f574b4.png
Binary files differ
diff --git a/priv/static/packs/icon_public-2d798a39bb2bd6314e47b00669686556.png b/priv/static/packs/icon_public-2d798a39bb2bd6314e47b00669686556.png
index 3c09460db..ee0b8cc56 100644
--- a/priv/static/packs/icon_public-2d798a39bb2bd6314e47b00669686556.png
+++ b/priv/static/packs/icon_public-2d798a39bb2bd6314e47b00669686556.png
Binary files differ
diff --git a/priv/static/packs/icon_reply-1c00f97d10006dd420bc620b26a79d8a.png b/priv/static/packs/icon_reply-1c00f97d10006dd420bc620b26a79d8a.png
index a70093356..544211c8c 100644
--- a/priv/static/packs/icon_reply-1c00f97d10006dd420bc620b26a79d8a.png
+++ b/priv/static/packs/icon_reply-1c00f97d10006dd420bc620b26a79d8a.png
Binary files differ
diff --git a/priv/static/packs/icon_settings-e7c53fb8ee137f93827e2db21f507cb1.png b/priv/static/packs/icon_settings-e7c53fb8ee137f93827e2db21f507cb1.png
index 07f5c4519..4c16ceef8 100644
--- a/priv/static/packs/icon_settings-e7c53fb8ee137f93827e2db21f507cb1.png
+++ b/priv/static/packs/icon_settings-e7c53fb8ee137f93827e2db21f507cb1.png
Binary files differ
diff --git a/priv/static/packs/icon_warning-af2b38fe580f274ca4c80479bd12141e.png b/priv/static/packs/icon_warning-af2b38fe580f274ca4c80479bd12141e.png
index 7baaac61c..feb67f3ea 100644
--- a/priv/static/packs/icon_warning-af2b38fe580f274ca4c80479bd12141e.png
+++ b/priv/static/packs/icon_warning-af2b38fe580f274ca4c80479bd12141e.png
Binary files differ
diff --git a/priv/static/packs/logo_full-efefe08462ede002abb7fc1e69005cbb.png b/priv/static/packs/logo_full-efefe08462ede002abb7fc1e69005cbb.png
index 82d981fc6..19bdd81aa 100644
--- a/priv/static/packs/logo_full-efefe08462ede002abb7fc1e69005cbb.png
+++ b/priv/static/packs/logo_full-efefe08462ede002abb7fc1e69005cbb.png
Binary files differ
diff --git a/priv/static/packs/logo_transparent-73bf4bea5ad08ce44d516e472dc452c1.png b/priv/static/packs/logo_transparent-73bf4bea5ad08ce44d516e472dc452c1.png
index 6dbcc2e8d..28ead92d5 100644
--- a/priv/static/packs/logo_transparent-73bf4bea5ad08ce44d516e472dc452c1.png
+++ b/priv/static/packs/logo_transparent-73bf4bea5ad08ce44d516e472dc452c1.png
Binary files differ
diff --git a/priv/static/packs/reticle-6490ecbb61185e86e62dca0845cf2dcf.png b/priv/static/packs/reticle-6490ecbb61185e86e62dca0845cf2dcf.png
index 41a5d1c3a..a7d6644c8 100644
--- a/priv/static/packs/reticle-6490ecbb61185e86e62dca0845cf2dcf.png
+++ b/priv/static/packs/reticle-6490ecbb61185e86e62dca0845cf2dcf.png
Binary files differ
diff --git a/priv/static/packs/screenshot-752460e373ba6c7519109936bd0656f6.jpg b/priv/static/packs/screenshot-752460e373ba6c7519109936bd0656f6.jpg
index 45b270fbb..ab7462491 100644
--- a/priv/static/packs/screenshot-752460e373ba6c7519109936bd0656f6.jpg
+++ b/priv/static/packs/screenshot-752460e373ba6c7519109936bd0656f6.jpg
Binary files differ
diff --git a/priv/static/packs/start-d443e819b6248a54c6eb466c75938306.png b/priv/static/packs/start-d443e819b6248a54c6eb466c75938306.png
index 7843455b6..ea19ee306 100644
--- a/priv/static/packs/start-d443e819b6248a54c6eb466c75938306.png
+++ b/priv/static/packs/start-d443e819b6248a54c6eb466c75938306.png
Binary files differ
diff --git a/priv/static/packs/void-4c8270c17facce6d53726a2ebb9745f2.png b/priv/static/packs/void-4c8270c17facce6d53726a2ebb9745f2.png
index d73066688..c2b803c13 100644
--- a/priv/static/packs/void-4c8270c17facce6d53726a2ebb9745f2.png
+++ b/priv/static/packs/void-4c8270c17facce6d53726a2ebb9745f2.png
Binary files differ
diff --git a/priv/static/packs/wave-drawer-ee1bfcbe5811ea31771b7187c7507ee6.png b/priv/static/packs/wave-drawer-ee1bfcbe5811ea31771b7187c7507ee6.png
index ca9f9e1d8..6525035dc 100644
--- a/priv/static/packs/wave-drawer-ee1bfcbe5811ea31771b7187c7507ee6.png
+++ b/priv/static/packs/wave-drawer-ee1bfcbe5811ea31771b7187c7507ee6.png
Binary files differ
diff --git a/priv/static/packs/wave-drawer-glitched-33467bf8c8d2b995d6c76d8810aba3db.png b/priv/static/packs/wave-drawer-glitched-33467bf8c8d2b995d6c76d8810aba3db.png
index 2290663db..58ba61bca 100644
--- a/priv/static/packs/wave-drawer-glitched-33467bf8c8d2b995d6c76d8810aba3db.png
+++ b/priv/static/packs/wave-drawer-glitched-33467bf8c8d2b995d6c76d8810aba3db.png
Binary files differ
diff --git a/priv/static/static/aurora_borealis.jpg b/priv/static/static/aurora_borealis.jpg
index b6a0daf91..230e2abd7 100644
--- a/priv/static/static/aurora_borealis.jpg
+++ b/priv/static/static/aurora_borealis.jpg
Binary files differ
diff --git a/priv/static/static/bg2.jpg b/priv/static/static/bg2.jpg
index 60e2311a2..9a47504d1 100644
--- a/priv/static/static/bg2.jpg
+++ b/priv/static/static/bg2.jpg
Binary files differ
diff --git a/priv/static/static/bgalt.jpg b/priv/static/static/bgalt.jpg
index fdb666ff0..f6536337b 100644
--- a/priv/static/static/bgalt.jpg
+++ b/priv/static/static/bgalt.jpg
Binary files differ
diff --git a/priv/static/static/img/nsfw.74818f9.png b/priv/static/static/img/nsfw.74818f9.png
index d25137767..e32525aa5 100644
--- a/priv/static/static/img/nsfw.74818f9.png
+++ b/priv/static/static/img/nsfw.74818f9.png
Binary files differ
diff --git a/priv/static/static/logo.png b/priv/static/static/logo.png
index 7744b1acc..c3c92914b 100644
--- a/priv/static/static/logo.png
+++ b/priv/static/static/logo.png
Binary files differ
diff --git a/test/fixtures/image.jpg b/test/fixtures/image.jpg
index 09834bb5c..edff6246b 100644
--- a/test/fixtures/image.jpg
+++ b/test/fixtures/image.jpg
Binary files differ
diff --git a/test/upload_test.exs b/test/upload_test.exs
index bdda01b3f..946ebcb5a 100644
--- a/test/upload_test.exs
+++ b/test/upload_test.exs
@@ -56,7 +56,7 @@ defmodule Pleroma.UploadTest do
assert List.first(data["url"])["href"] ==
Pleroma.Web.base_url() <>
- "/media/e7a6d0cf595bff76f14c9a98b6c199539559e8b844e02e51e5efcfd1f614a2df.jpg"
+ "/media/e30397b58d226d6583ab5b8b3c5defb0c682bda5c31ef07a9f57c1c4986e3781.jpg"
end
test "copies the file to the configured folder without deduping" do
diff --git a/test/web/common_api/common_api_utils_test.exs b/test/web/common_api/common_api_utils_test.exs
index 4c97b0d62..e04b9f9b5 100644
--- a/test/web/common_api/common_api_utils_test.exs
+++ b/test/web/common_api/common_api_utils_test.exs
@@ -4,6 +4,7 @@
defmodule Pleroma.Web.CommonAPI.UtilsTest do
alias Pleroma.Builders.UserBuilder
+ alias Pleroma.Object
alias Pleroma.Web.CommonAPI.Utils
alias Pleroma.Web.Endpoint
use Pleroma.DataCase
@@ -136,4 +137,20 @@ defmodule Pleroma.Web.CommonAPI.UtilsTest do
assert output == expected
end
end
+
+ describe "context_to_conversation_id" do
+ test "creates a mapping object" do
+ conversation_id = Utils.context_to_conversation_id("random context")
+ object = Object.get_by_ap_id("random context")
+
+ assert conversation_id == object.id
+ end
+
+ test "returns an existing mapping for an existing object" do
+ {:ok, object} = Object.context_mapping("random context") |> Repo.insert()
+ conversation_id = Utils.context_to_conversation_id("random context")
+
+ assert conversation_id == object.id
+ end
+ end
end
diff --git a/test/web/mastodon_api/status_view_test.exs b/test/web/mastodon_api/status_view_test.exs
index ade0ca9f9..e1c9b2c8f 100644
--- a/test/web/mastodon_api/status_view_test.exs
+++ b/test/web/mastodon_api/status_view_test.exs
@@ -9,6 +9,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
alias Pleroma.User
alias Pleroma.Web.ActivityPub.ActivityPub
alias Pleroma.Web.CommonAPI
+ alias Pleroma.Web.CommonAPI.Utils
alias Pleroma.Web.MastodonAPI.AccountView
alias Pleroma.Web.MastodonAPI.StatusView
alias Pleroma.Web.OStatus
@@ -72,6 +73,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
note = insert(:note_activity)
user = User.get_cached_by_ap_id(note.data["actor"])
+ convo_id = Utils.context_to_conversation_id(note.data["object"]["context"])
+
status = StatusView.render("status.json", %{activity: note})
created_at =
@@ -122,7 +125,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
}
],
pleroma: %{
- local: true
+ local: true,
+ conversation_id: convo_id
}
}
diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs
index c8dd3fd7a..b823bfd68 100644
--- a/test/web/twitter_api/twitter_api_test.exs
+++ b/test/web/twitter_api/twitter_api_test.exs
@@ -445,22 +445,6 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
:ok
end
- describe "context_to_conversation_id" do
- test "creates a mapping object" do
- conversation_id = TwitterAPI.context_to_conversation_id("random context")
- object = Object.get_by_ap_id("random context")
-
- assert conversation_id == object.id
- end
-
- test "returns an existing mapping for an existing object" do
- {:ok, object} = Object.context_mapping("random context") |> Repo.insert()
- conversation_id = TwitterAPI.context_to_conversation_id("random context")
-
- assert conversation_id == object.id
- end
- end
-
describe "fetching a user by uri" do
test "fetches a user by uri" do
id = "https://mastodon.social/users/lambadalambda"
diff --git a/test/web/twitter_api/views/activity_view_test.exs b/test/web/twitter_api/views/activity_view_test.exs
index d9df01c6e..a1776b3e6 100644
--- a/test/web/twitter_api/views/activity_view_test.exs
+++ b/test/web/twitter_api/views/activity_view_test.exs
@@ -12,7 +12,6 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
alias Pleroma.Web.CommonAPI
alias Pleroma.Web.CommonAPI.Utils
alias Pleroma.Web.TwitterAPI.ActivityView
- alias Pleroma.Web.TwitterAPI.TwitterAPI
alias Pleroma.Web.TwitterAPI.UserView
import Pleroma.Factory
@@ -129,7 +128,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
result = ActivityView.render("activity.json", activity: activity)
- convo_id = TwitterAPI.context_to_conversation_id(activity.data["object"]["context"])
+ convo_id = Utils.context_to_conversation_id(activity.data["object"]["context"])
expected = %{
"activity_type" => "post",
@@ -177,12 +176,12 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
other_user = insert(:user, %{nickname: "shp"})
{:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!"})
- convo_id = TwitterAPI.context_to_conversation_id(activity.data["object"]["context"])
+ convo_id = Utils.context_to_conversation_id(activity.data["object"]["context"])
mocks = [
{
- TwitterAPI,
- [],
+ Utils,
+ [:passthrough],
[context_to_conversation_id: fn _ -> false end]
},
{
@@ -197,7 +196,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
assert result["statusnet_conversation_id"] == convo_id
assert result["user"]
- refute called(TwitterAPI.context_to_conversation_id(:_))
+ refute called(Utils.context_to_conversation_id(:_))
refute called(User.get_cached_by_ap_id(user.ap_id))
refute called(User.get_cached_by_ap_id(other_user.ap_id))
end
@@ -280,7 +279,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
{:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!"})
{:ok, announce, _object} = CommonAPI.repeat(activity.id, other_user)
- convo_id = TwitterAPI.context_to_conversation_id(activity.data["object"]["context"])
+ convo_id = Utils.context_to_conversation_id(activity.data["object"]["context"])
activity = Repo.get(Activity, activity.id)