From f6528c847019dfa345004e88e59e62df25c0e9cd Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 14 Dec 2020 23:54:22 -0700 Subject: [PATCH 1/3] Update avatars, use jpeg default --- .../Commands/AvatarDefaultMigration.php | 6 +++++- app/Http/Controllers/AvatarController.php | 11 ++++++++--- app/Jobs/AvatarPipeline/AvatarOptimize.php | 5 ++++- app/Jobs/AvatarPipeline/CreateAvatar.php | 2 +- app/Observers/AvatarObserver.php | 10 ++++++++-- app/Profile.php | 2 +- app/Util/Lexer/RestrictedNames.php | 2 ++ storage/app/public/avatars/.gitignore | 3 ++- storage/app/public/avatars/default.jpg | Bin 0 -> 1525 bytes storage/app/public/avatars/default.png | Bin 23386 -> 14774 bytes 10 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 storage/app/public/avatars/default.jpg diff --git a/app/Console/Commands/AvatarDefaultMigration.php b/app/Console/Commands/AvatarDefaultMigration.php index ba6252b9e..839a678e7 100644 --- a/app/Console/Commands/AvatarDefaultMigration.php +++ b/app/Console/Commands/AvatarDefaultMigration.php @@ -53,7 +53,11 @@ class AvatarDefaultMigration extends Command Avatar::whereChangeCount(0)->chunk(50, function($avatars) use ($bar) { foreach($avatars as $avatar) { - if($avatar->media_path == 'public/avatars/default.png' || $avatar->thumb_path == 'public/avatars/default.png') { + if( $avatar->media_path == 'public/avatars/default.png' || + $avatar->thumb_path == 'public/avatars/default.png' || + $avatar->media_path == 'public/avatars/default.jpg' || + $avatar->thumb_path == 'public/avatars/default.jpg' || + ) { continue; } diff --git a/app/Http/Controllers/AvatarController.php b/app/Http/Controllers/AvatarController.php index 3a464ce10..6f0ec70ba 100644 --- a/app/Http/Controllers/AvatarController.php +++ b/app/Http/Controllers/AvatarController.php @@ -120,7 +120,12 @@ class AvatarController extends Controller $avatar = $profile->avatar; - if($avatar->media_path == 'public/avatars/default.png' || $avatar->thumb_path == 'public/avatars/default.png') { + if( $avatar->media_path == 'public/avatars/default.png' || + $avatar->thumb_path == 'public/avatars/default.png' || + $avatar->media_path == 'public/avatars/default.jpg' || + $avatar->thumb_path == 'public/avatars/default.jpg' || + + ) { return; } @@ -132,8 +137,8 @@ class AvatarController extends Controller @unlink(storage_path('app/' . $avatar->thumb_path)); } - $avatar->media_path = 'public/avatars/default.png'; - $avatar->thumb_path = 'public/avatars/default.png'; + $avatar->media_path = 'public/avatars/default.jpg'; + $avatar->thumb_path = 'public/avatars/default.jpg'; $avatar->change_count = $avatar->change_count + 1; $avatar->save(); diff --git a/app/Jobs/AvatarPipeline/AvatarOptimize.php b/app/Jobs/AvatarPipeline/AvatarOptimize.php index 89ba013d4..437627175 100644 --- a/app/Jobs/AvatarPipeline/AvatarOptimize.php +++ b/app/Jobs/AvatarPipeline/AvatarOptimize.php @@ -70,7 +70,10 @@ class AvatarOptimize implements ShouldQueue protected function deleteOldAvatar($new, $current) { - if (storage_path('app/'.$new) == $current || Str::endsWith($current, 'avatars/default.png')) { + if ( storage_path('app/'.$new) == $current || + Str::endsWith($current, 'avatars/default.png') || + Str::endsWith($current, 'avatars/default.jpg')) + { return; } if (is_file($current)) { diff --git a/app/Jobs/AvatarPipeline/CreateAvatar.php b/app/Jobs/AvatarPipeline/CreateAvatar.php index 21e785c6d..2df6c5184 100644 --- a/app/Jobs/AvatarPipeline/CreateAvatar.php +++ b/app/Jobs/AvatarPipeline/CreateAvatar.php @@ -41,7 +41,7 @@ class CreateAvatar implements ShouldQueue public function handle() { $profile = $this->profile; - $path = 'public/avatars/default.png'; + $path = 'public/avatars/default.jpg'; $avatar = new Avatar(); $avatar->profile_id = $profile->id; $avatar->media_path = $path; diff --git a/app/Observers/AvatarObserver.php b/app/Observers/AvatarObserver.php index c8fef1a10..1406ceeb6 100644 --- a/app/Observers/AvatarObserver.php +++ b/app/Observers/AvatarObserver.php @@ -48,11 +48,17 @@ class AvatarObserver public function deleting(Avatar $avatar) { $path = storage_path('app/'.$avatar->media_path); - if(is_file($path) && $avatar->media_path != 'public/avatars/default.png') { + if( is_file($path) && + $avatar->media_path != 'public/avatars/default.png' && + $avatar->media_path != 'public/avatars/default.jpg' + ) { @unlink($path); } $path = storage_path('app/'.$avatar->thumb_path); - if(is_file($path) && $avatar->thumb_path != 'public/avatars/default.png') { + if( is_file($path) && + $avatar->thumb_path != 'public/avatars/default.png' && + $avatar->media_path != 'public/avatars/default.jpg' + ) { @unlink($path); } } diff --git a/app/Profile.php b/app/Profile.php index fb3540514..c88b876fb 100644 --- a/app/Profile.php +++ b/app/Profile.php @@ -156,7 +156,7 @@ class Profile extends Model public function avatar() { return $this->hasOne(Avatar::class)->withDefault([ - 'media_path' => 'public/avatars/default.png', + 'media_path' => 'public/avatars/default.jpg', 'change_count' => 0 ]); } diff --git a/app/Util/Lexer/RestrictedNames.php b/app/Util/Lexer/RestrictedNames.php index 33f91b81d..e104b31d2 100644 --- a/app/Util/Lexer/RestrictedNames.php +++ b/app/Util/Lexer/RestrictedNames.php @@ -103,6 +103,8 @@ class RestrictedNames 'api', 'audio', 'auth', + 'avatar', + 'avatars', 'b', 'bartender', 'broadcast', diff --git a/storage/app/public/avatars/.gitignore b/storage/app/public/avatars/.gitignore index e841eefe2..a8a87b130 100644 --- a/storage/app/public/avatars/.gitignore +++ b/storage/app/public/avatars/.gitignore @@ -1,3 +1,4 @@ * !.gitignore -!default.png \ No newline at end of file +!default.png +!default.jpg \ No newline at end of file diff --git a/storage/app/public/avatars/default.jpg b/storage/app/public/avatars/default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8dbe09bf82a9de92bfe19247c18bee6aa7f87c4d GIT binary patch literal 1525 zcmbtUYfw{16yBRlNPrNM@RET*hzXEbKoBvMf`EY-zyKl06rt$gqgqNquFs$bL}?fU z7!qG-$}2o<@d2p3s-OsnfC^{<(E=K*3auz8Dv(~Z)6UeH{^@u2%$eQ&_M5Y3=d89* zI|N990sH^}K>$Fg0quQ|4s=oAba8k*PTv4EBO-x7G%_QRQ8S~PT9~4PZq2Z^LfxHh zXUBH;c5`*}4(4)$W20hIQc9u!E1=Y>`BeV~gwet3 z!g%cfz<*qS_u2d&Ls3ebk9?L=J|E=@g$4lf0nPKg%}hr7O#ppeea^i8fxf@qMu5>w z9;miqOqWW2?!|IbPm{|*od9h<98@I33wV{Dxzh^Ji z+^$|QF(Tp91ueZDErY;=;KEp0Syvmj_!5B5YRC?J8^n!KoFqLXme zw!#>{ucA4MT(+qFxT;p&%hX&;Z&#@OLQ5-(>(U!)(nM;uNx9N1*$Az#8H8fKT>k*V zd?+o3gf8U+ti(VFs#jtQavTYg>KrTyTR@A_UE#wxpHGqjDJo(5i2{H=D8Tay64XC| z4SLL-1Rxlr17opx_+thTz`#0W63sRYOId78cM)!NUE-T`*u-?9--^)Grf_-Ty1yPB zS`KEbNA_(H_ciUPaZ5l#Mv!l3gJx1=#oc3CkRLpPB+Le-GzE*Tomz2*EwuusaW@0- zY0yYSq}h4L{j;|wi{*T3$D5=BnH#TgdaOx?~uix3IB8aB;EG@0Xvkt8poqbTYQEI4!bSI4?&yRzC6bLyHO_pVug z*_=DcW-bX~S$XDH0LvrY09EvpZR`b%Lyq?~I znxc%JRBoY^`{dNAVoFsmiHZ_9rqI|o`wo%RZcJds265oDW>;+o7|Z}9M?NSemK+lfaFUXJ#W{@ zCff85e905PycF-0S!WOToGwT!5_-gp>L-|oTUS^;N>sI;>+htEAx%GtJ5O|n%o&vJ z+z_m~O|Vq1@;CI(k9in3OAl*Q1Ue{@5Fh1oV|C^br(x{wo1WUK^sVE2M9~5A*j|mN zC)cV~hF|!so--qRM;~3h#mC0qnXJyz0%^zggtCdF$?pqpUYH7rJ|{-#(2Z~8gG5o8TP?9tFo_` zHm^m~NnU-={eMuk4l`AD=vk zU^Jqxry3+{dfG69TbOB&w?`-!#^(ZtmyV00UgxEe9Tfb|7W*m-y!X8`JP&SBD#wZw z{YzZoazj6+iD1iHabT^W<=S+67|%BH2G4#|xW!H&ckq+O`JlGgKW`eW2)btcW^A>3hdj ghqJHmLp#NU{I3oLi61)@Li>RA9|ZK@oG0}E31*`@D*ylh literal 0 HcmV?d00001 diff --git a/storage/app/public/avatars/default.png b/storage/app/public/avatars/default.png index 351d4d88faf41b3d326fe036ddd992abaeb4d5a0..80f467309a375109a8435226543db300460c5322 100644 GIT binary patch literal 14774 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 Q-v9sr07*qoM6N<$f?{}l761SM literal 23386 zcmXtARa6{Jw}n7(4-UcI-7Po+1b26LcM{y)3GVK0!QI^@xXUm&|9tDN`_R)*Q+=wA zRGqzdcZA|kDP#nE1PBNSWEp93W$=CUzY7iq{9CPAlLNlNJ4$Q0KtP}j{&zv9(4!DQ zK#)Mli2qRa%)a#V3Bcr@2P%P9(`5spxr`dqF7DrZ=kL2ZNx2h443W56N;`ocq<<<3 z@nh`Z_KYRpo~Ast8OxW{DpYV%=9v}zr&d$+yy7U2qhy$lqqEtS0b4e2dK(cy7Z_)K zmRRysvmb!+^4fs=ZJwHJ_E7GCF1@vsR(c%to@E(YBU~<-BxpiBBQ0#C0ma^=QCWV| zSTn6UhKXTKvZTQtcccdT>tb7-XCPl-3?HB=3zXJ7;#74Bb-=?RUMn}|UGMi1mq=CI zWD>9Ud_Tbj*I0c5sNI27l}Vsyh5AR_B2TvRl5p}YQ!@LSlJAaYqp_{iPUix#O5(^E zl85!1vhH*hHiNcB2FBz&8`gPzxjTlb#>ay*y2-Wh>y({!UnaWB-6lv zc;vOsI$HDAen^MFD_kgnAOf4}r87}bS8di$WLrSCL;ogtY^xlWXf{I9c~_cThGgK{ zZ6O%x7U@O@RW@ru;$lk&9EUS4u$NHI&blRI>Tvn-YnO(x>C zn7p^$DQpH%%FM)J;JE{r724=K=V>+6hM9jG+=47K=zjK*DHWV@w^V}khcdA@)@0)K zyh;z*%)AJK=XbPWi4-Y@N}2)r@!JDCOC#tTaYrWlQ3pF<+q)W_Q_vDEtIwXPAMpLY zpWV~s`i&3;4%=3Ce65A7HYUPLadQW})O6iDt2Hv6+XqQ9x&mS%)TcVN4e)~UDFwgk zUgM28iGgNkz6V{5^V4d~33|uV!64tg3fNqzN&+78K>6RQHG&lmc)mEw)Wd~w%W8GOP(xgJ2zJ=}h3jHwv;Rg$O}6`p)c<3b z(8a_Gb3(a7Kxhv6b8@|>pML2_6EgstZJZ|-`E9;~Ddp%t!#7g4&-}2SnyQ5gT@bS? zo(#yGu+&ex=kUrLD~~1OUKE%YyMu?I23W3eO*OWAbk#-_@2wQH+{q~O(>{Bi%dfrS zeuRk-L`?7{$naplZ*FX`A2~PPp%`C|>m*m6e4pDJv6*YiVrNvRBi&5yJeAntK&~_m zN9ijI7_>0-sYyrW7Y2L7uRW3-t#6o)NLc5cWGzzuqE>vXzj2v$HAv<5+6b3rhP}k9 z!Kq#kG<{Fx#&%Vu+37rl;TAY?cE|q0%axxf_3zH%g<`+^ut%Lc0)t-i;>;7TzXqX; z{tQA)JCdUk)b*F}a@<0n3GpEcNLKV^QMAeS%{>EtRpWgM&F!+)LmpJvDuE}gAxYY` zVb{KuLZ6%i>#K9>HS81V#&MpS;>*qyNo8nOm18D1HI$4Yh?ssxTFg}Y%^bNTtf&dm zV<$y+TrHg}6_;bxf&N!o+cT|bgR`Bb|IW7ltInd{=1K#t-UG-iBgl)mfCRWoGD4M|D7usAgYizyDm^b8O12OH)YA8TV1e!H z$K7gb%bZDQI$Uh;ZKrm10j+0Fdn1e5wQox=;sNGpE4T!lrndf4Pit1`0g=of0=R*3 zo|hHsoH332?}y)xcpZq_qus!H*`UNk)@3(uOdwW1wsgI-?XFt11`}9=MIWnC=%wa8 ztCD+f94+!yaQhgkS!I65CgT{dwA6w}Sa{_5nRoe|v&5=JKu#N1u2nl`bz@`T<3s2X z1afk89ALT2Rbpz?1mcz+L#Rsp!Ob;alrL|176hQ?nZ?_I>MZrND*;(UG!1qQt$6MW8)0=o}QqoscW75{Xc%LZ|&@iRO@g%y*@H-_V~fRzWQ7j>Fu8N z#7?|n+hsw-XZ5BH9sGItuTv$>(m5H2@merMw_OQpB+49gnbx(Qt0;s}6f*={Ju=b2;CZ_b*ZcWFSZmPxk!RBG zbx+mvawfak>EU5R_1ErD9`io+hHK$`u%ihfMfPVh`YUKxd!}KjGfkq_AvVO#&}8pP z6+wQXLpu3;P?sNgnP+m|V=ZR>DYy4m7aw5rudz3QuC23WMW%*Jp>z@w^ZrG8b&6&hG5 zo#}W^5h`Irf+7;~4GcpiwoRdNn4m~IrN88~h_>R$f`$FmAETnr*X?_lQM3)v)1rg=dc#El})*~bv69UXn&&Rp9 z`$KbKMC1JQ9r!!F0jN9vuPcbvdW_@`Dd%ndQVSRE3l28c^0XPE+e!Evu2^<)NELF* zuGnEenTCA34vCsekogr}Bo5!+2zLTLp{A#|yzUodz4K&Thj*E)ZQ zHs=e}DTle+Yx1a612O)Q&y=B)bt6~;M?}fOmP1jnRR$Lk@f`Y?fpD?!w+cEHI4mK z0{{5|3b?sDtSqsgfh@gz-swi7dS}5vMvegR^wLin_cCc|mq}_4z3P4{m3(bm@y$uI zHoA9z4#1TpKtzV)he>dDbq&7m{oE5Ze!-kjdnb$|{tN`CBKfjij&+`Vhe-ON463$8 zZhxu1(t<-Wp~x@SIW6hqQZecs(eoD>qcYJkHxf~k_TAW1?ZxoCx*OtGwvtVi^?rnhim zuA0N>(zPfVtYN~uX`2@lh!w5=gmKK3>b|-U8HOJQ($V=2A8g`He%NhkGMvSJ^R|QV z#}oO_pZX5zhC0&!qVrzcd{}I=KJt-Pg7mt5FfrPN$u*8FUGy$5s|U%{9?Y_n>LkFg65v5(gg9)5m@D+l?SGI1^r@oK8o zQNnSSvy<~5^*Iq5BV}^hyWdDx3^DRg5?-QfM$ig)|5@X?X37=~T1=5lH0<6UjHH*G z7srpxbJip5+48MN?tcuR3Uf>=)vViNS$iN_2QcaBwuWm-G&x{cGM5v~hNfalWQCo2 zzNxZeW6JD@?Ugm%P3dGNavVp?ZBarUuwb*_++@hc=LY!SZ9m#}T|27{3HYD+)f(jP zry1lx7i^bQIbir)cl6iMWEkfecUJH#EhMVJ{n_@R(xr)3JZn~(d`Pk++U-)U#M>am zI5LBAcESv3LAu)?LL?+2@;@3*yZ_7Su}EOC8b;}7&sh2#|8zk|RHhryA1L9qk)sgR>*EPu zyiAgTFZ2Wd#BZ_YhqK->H*e&_<~IEGlK0)?deC1yj9Douv2-lxuNicNhVd0^25|k75bKT zRsym%@&E*d>X;G|#C?}xw|;;>+Bs+^x3_VTpI9X#c#R&17om_M0xjn7;sR+Vml%d@ zCweLJBbo-ipj@L^!AC!=Rd(x#Ta11dl1;6GO2+uc{P#$6%u$xmIhG8s93f&D@J96c ze!YMy7%kka3zNh|_A$YrMA1>Ikju49<(=pAPQNEUg4?1hkIIM8Qt64qi&6RYiNjB^#KO<%=|XXGOh+e z4P|?KJ{4?8*2a~^pU+v$RaF9MIB}`=Q!C+ibg46s$1puslFr=VZH{qe)ss?{;2R_T z?=l9B53_F{POpi*aj%%Hc9`dXJUu_0HXdku+>=!Sp%1MzLEwV&UIf&T&BnpK**geuUZN1@jNhQ#zH2(3*fctN$^1!Cp z$M#;wwi1U_?z*SOtL@+hYTSN8qgLPT8+93_HKEi5>qUEob0HLuu5*cPabReP&oo`8 z3oWTKvIX-oK?%Z0WD0_pN+gmM4blC-wJq6`$Xq_o*xZQ3kGJQ0RKZ{mZKfnbbY&ok zy6rhzl7sE}^Sv0kyS_#NwMzWc0nwdM5{^stD?h}J*cJbm3C=C|a|?gW0Lc{WgFsR& zdbPwD^@%RkPTZIBl?w`A0<{D?*4HT6eDIIVG~t)g2nv(rG`^ne0L5MSkpJ`!=IPq$Dp zO>9q|2mX9*WSF4Ng-37O)Gng@z*g|-j;ukC;Kktk^nX6{q$h`XhvLC9pL5;FwB;7l zveY7bpyPu{QjJqvDYxsxGd{>rZr`TLb3qmGBRLERam=bccmZ$KNwT*urP|wrg9PXH z3lasv;cjfRB4u3+JiNU1-b&tsT#J<`EVrUY5L4>P74(fmdSR9iNe$FnK=jZ=7Cs@h zOMStM8d$8;!uhf$gVue0uTmT_8ZKg;vkuFsjG|XZvpO~0z==I~K`Pn3YiwIy6tDt^)jP+L^)=kCZWyT#z zk%3-z((A+WMwFVd_nI$4oRu&d>tSa};h|?MJemg38g=K?=_?SJn7^)M{`je&ApC&# zq1a9r9SLw}cCbTblVEnQr8%vzZih3Kpl#J^McN-0HR5f$^*> z7VgZ1BC_>Vbc~n!VPOidm2WavOuJCJeEv@R`7q%v=r^BL;H_Td`A)au4S424RIB|% zk!xFvW~|lhmZsk+TqxWl8gByRcl02hs^Oq{^2qcr=aBOII;vT%j_t^!lm0r7`z1O5 z%}X#j#ExCHM>@-H$n>UpS1lM=Z+t#Sb8YS%qR}4EbBWy~k1^;P+2zhg3wz~G_GV-vKQ|4FY~+=SCQB>xZRSPZoMe=6xSyGnO@`w71)eGHzL8}r3@pv zbY@~N;DJnOH8t{J*G8Hroi88Po6%X38{)z$zv3x8>iurTHo5`s5wYm><0#nxwE;Et z)>L|Yks!>xD(yPyKr`PE8O-C?Jsyx1Nb}IGh&B+!n9Mg?%u-RJ=N37W%VcDLlU`N(OV!PRGPm$JB&R* z&+MFUTV*wK2@|TqBqlVlww)3OolM7;NIo-CDf^G-k!xub-xoEF@V{wO?=_8d~l&_k|BB}^@nTi zL#bj-KgEWj>YHCyBGL7nT5mHQ@3+H?=^t#NFW*CV2_V;pta7MXQSzP%VRm39_71yL z!}QK&TCuwO>9;2KW<)j|Jnc$iZ zAm=gcBX%ECcZFog-KO?<%bGk`xKi+x*v3o6K#D?|bLX)}ZxN;Ll=_yl6Xr3*N4B8Z z+o3vaH8gr`W)C+Q9>8Ju%OL9gXZSbDJRzJUfXa^J>FIKr@vnlz%1wTG8`+b10&W4wS*+k=>e2&(ycnEK@lz-0KTw$62MssZc17MnJm2EWk z*&52jN>b!!u+IH!xYK2rffLotR&K0LyM4Uv4Y4$dD7Ub_u2U^Z0OcVZI@Z>MWQ?#W zrO8C;34hZTo#2hY>xaBSlF_n}!uF%w9xqS3q3qw6CEAsKJnlWJUrg;s)uK;ZSe9&& z*H12CB=;JSA$cQ9mVPIX`fQ~Z%6Rgl)#^UOMVIwBi@7Ix400YZc>fOko9udEA>>Pt zm$ypt8uck2CLRMpt2OodOMLBsWDcZ~urj>#=v|YWSu}1m7Fr#yBV1dH+@oj4-n4E! zv2WP5GisBablAU6=}^;k#F-8yHqrP#d)Uvg5Gjb8wc< z{WNA;TZVQ_gg4~+z3s}E%bt9`j87M3M>#VolMl!bnQ@CB=g*swkE77 zBncCN05mHur5?oOMSegJkm5MFYlJNiWxRxBp;bERNU=O%F_a!_AR6Wx_l#=LRffPi z&dY%<<3mjGY7CyrVo6Y^2Q~07B#hB~MF@7Dz|P7np?%Vigx0QY7ar`s04D+%tpOL` zj>8I!BB|Z(Yn>FkQ-zItJ&)#UMkHBjHMSs3DzblMgX1*w76Adh7#$!bAMV`Y2DE#r zutTI_=^-mTN!}618>B0dRm3kxjoKGUjt)73T{((z^YX=#0DmrTqmw;vo%;V^mHaS6 z3HSn7A8()*(*i#k=J_d^_R3@$ojl)xcIps=##&-^J4J&KU63cX8}6L-C|uz1fPT0~ z%lB}q!*~{j%k~qoI}>DIgD{;+=|x)|4`RNHB8)47l1NG$%1#`ea0J~0WR(LRLkEXz zF;tU6+Y@L@c)tF^DA({P!hkehlp`M8;X^6+iN2JszYkh0lxi2{Z zk>awrlWIhG(m?2Sr?N`kMBBjiY*;o7g{ESCmEXux_kL*ObNfSiL&Z5tWgSu1l zKOlCGrm~2=;nL3WfzAhnoxg)4ZqDhHt?~=x+bCAlJo2}HT@YDphglEpsWUUECu^-zhSNc!(W!x(HYeC1D6jz8gzt>0Da~}fndFPCVo+*Ff+=CsBp;HPQS3`A-$dwqI_+LX5}J2@rkBIE0NkMF z8@gL^^CcH6Q~*2EXdT4@uZ3gSZeSvJ<&zXu^g+eNU1eoAKbV6Ui@q9Blp@8m<8a_D z^!EFfrqfR2RND+KL%TQqhgnFv_oe-kueb7ZzhLptOL@*6QTBSBeZHB<89Mxu63w$S zfvEbCTFE4y$CaWe&ZhnwA`wCXl~$N!^+*RUq_g}~(q)x%-d0dQvbryf_xh3&Kug?lpJSUt>eYCkS_70*OlY6 z4F-S&I!87@U7i1SxpdgRys8;Q(C#~zz!kT|y!LZ@B9H&!_t@6i-RIJ5wps_i^qFri zN?d~0FIiJ!ib)%Kt_n(4bp0*US8!`vq(1+Gkyv?Zn#%^ez`RL?KV~PL$4Bzzreu5d zlcNaVaAZDqp>00k`3Fo|{6UZE5Dy|bY%sAANE$_786AXRkB^Tr9>UL2>jUq0LDxGz z%zk!BxJs=o5>H=f7Z$i5KxMYF7MDAa08SR!T|&G8OeeffR?QTFuN~Xv%8-iJ&E91u z`xon9(<>}8sgO*T1kZ#ms1%?E|M>TK1dnsN=(ElZd^y?#W858Kg*+xa2Q1!C!!ZQ= z9Brka{ILCLw^m^ulKdLjB-DdH$L#(%s`ekS8*Qs531 zjJPhH$lK=^V1=)4v*X7OC>ml#4$fXsxN@EO1Nm$hgdey=REqt)7X)>4VnqW?1F#Da z*tU6IA~dZ-Kfo;>_`wB=Jsb1n>l0@V3*Q1$BMOXbD2dF=BZb@$+)gqIra#q2Sf~ne zNY&}sfe5-26TkUAu6B2KL#z8JXo&m=)Ux;=RnOL_--#O8`~`6wckx0$_$fzNcovk5 zZ-q4a-z_;yZf?CiN|;RUyU+M)AH7Zqx~UHL2ExG8)JQ<7|B#q;OAwFjm=>5J@J4on zF$uirgo2D~wod=n1i8feWSChm;QN$!r)b38UnL*Wx772-rPHN8#}5-RrCdskCr=r# zT_L^NwbEP22HQGa68hIyE(b?b@XWi72Kj3)a?obG%j=)8oCgN+TkUIy5atdnV1ZBz z5V242pK6uN?4r`_i!}alF#EUN=)zRSGccJ4M({f&X-tDSb;mZ4E_<|9elWe8abK<* zWukQt6go^$%TebIMc)t6-a`xzQ6K^H=7n7x%eSSVWMqzZ{gQ7rNz6dix(jzFb1T=? zwbD0wh$>HlY}O3V>GXgck4_P^&}RV;myrM3HtM-!vC{mM$VyubB4AKB>q)u~J- zBHrC2x!}J-u_g2TiorN>WGp6&t;i*;^uyw_a>)|q2V2Cbu$JODs37em+vW>YRr%y` zdGU98ES2JO$-Y{>7k3&^oCiH5Zl5v@H_ZI;a}G*9{x|=AhZL!sYD09jP0wwAad2My zd8ZE2udr|(^bS@ThgOn_`+WA{xUKj=+bBGYoDb~H_n)VaMPWa?whamp_Pv4d@uA04 z2=KpX((>!MV3~lz*h)f9HXQuYyBSO{Aid5zdr$(q@GH9<I*T@q=f9UPhvu&}TWt_qdD_WDqUKKNt;`wmVaoze|;97h{8T8ZhF=WYwM;`oYt zM@Q7%J@LDE<25td0sK5|zhF^`!q=8G9@Fr#S=%4JIm!?Mt7rbW(Y zF(vSC>{@$V8hRosHaq?7ax4B{3t(>)w_+L&J3d^Utpr8d{U=+PoIW)*8RO$NuD6?Y z@eG}IV}b9smB_WD?3%`^CFX13rDk{qvuVmWxW}?BcS^F11200G8P%Rd6@<`_CuPl7_+l$NQ^o1BNOo1+f&HEoySr`Ms_?TuFygg*J?} za1c5*)>U#cO}THUe*sz~pQI5(3B;WXJa4g_?(vsKy&?_-ElR@I!hbJSc+e0%?~k?M zW5@FHxd!J1#e}76!C3T6z(-*g)d^j6{^i5CS!%7_tkuSKSIJM2C1SQnRV{Jn zRcnR!e5T6KM)&|_R`$)+oe|-WTaTyw%*F3;KASs=;bY$bP&tN~r9vrvB3EbholrVa zN!RzI=622}M+yBwr>vLQFbdE=#_}gmCim*~Gf`xUD*+Wt*3Bkpd77Lbz}kQwwTAYO ziY1VWZDX)rQQ8UJj9P9_?9)z_isRVa#>C$o26!mK-&<`?P@iwdJC&$LW?dR=`DqJB|v%*A51<0zF>&2o{-<6MXI~~vD=n$*=g`*T)#rB zStga-!s5T}FWR*4S`zpA#TS>CdjTKEotcz3k#!aR`sVeKsf_Ozthlv|S{M|`pxI}yW8AZ+^J^`#z-+8ZzG({sGI&x; zkm2z;8ZR4g3mH%rv(S=ZdP4j$0$~mOv?xb%&>cyO;4AWyAj%amkD!P1)173MTTEq2 z-fyPWBf<5`Tn&ILxR~U4@#bsCY8c3#>X0+8S?gyI#`Lo?#X=^VNvZw2C6xgm?@@QVhE0L+jD?*UnG|y5j znl<=*f!p!DZ>CfyA#MN01nA((t7J zio|v2_HG04{wSbwO}ZCBlKcK*pp_A{H6xTVab~--ZVr2xNHVCkpXe$%WD9u%lc!+z zjs54(pB=!$6OE(rom%G^vjcj^Ey^%aIv9FwMY3IZ0!726sURrd*Gq#bvFWA72r*EI z5B*W+C3sBs`i-n446WU!z0RDo71l5DG>1dkwR3keRn9l)sEt1cvFUh#gN)UbTub|s0ZUd8mfSCeyL@EpaatU?IEzp#^ zA=6Vf`|y$_i-i^-{ndNQa#f-Twi-}A$2>dQddEE?7SZQ33U@Js+Hw2m7a#FORs=cb za-tUQ>gbN_&z-rmtQufD`>4bUnTsW_px{7l??BVWSgst%5Qd@xv1(n77Bw6={6ZyFHfPYclnLbc z)+wx$^&@fI8?WN}J#Sl4;7D%cfKdCzZA&)ymz`9tZ?-{D(I1Z$mU(rA_M=0(__G2Z zht1UykDd2#rKP2wVBhF>@mMp8_e0#?lYJG0DpBFUkTS$lyme*4HEko^y}~ir-5Y>i z-Pr-HmU&flz(71Dm_b-a5+P5ZWgECiA`d9`ui97u!in$;?#0jJsZw2jGoyD?(zCKmNRBczup*W8Dw;Na(gMw2a4;(vxp38-_Np|is= zK?H3suP9gB?_XeHDR&c7$;0?wChhHvts-iYMHw1-q1olTC}X#{*ymiehyMv703iD* zmv{xdehcb%uLO}#5Gn@T2%exEZjOJ&gqL=4oVKhod-;Q?2%yAap22X^c2w}6o;V&N zaWJm$sOtHaf*B=mP}jTa32Pi@ywX>YHbrvbs6^54IZ;P7y~KZ3m4 zY`04#9r++~-pg1bAE18qLzfemj7&7oImXDK$CGmHy09ViS}ma#G86ufD0x6x6n_~y2(m(LtX(w<0ItZqKo)3aAjJU_J>$ z5eFAIUCQCBkJKQKKbRt{o%I4tIe`G-^y#Pfm)V&ZM?@D^G+9PzoEnY#P#m1;)GZj0lM`Ds^E34B>t8%aT*;~x zn=FMha$X1XNF^H$fWWxj^*tPC1U-NuQh_4BsqHR?b+>Hs)dRz{C0*pp;Xi|=T<>WCDO?8f!{gsc07Kx1GkU_;KQws_RPF3jPs)GCf`u6&Z*K>VQc3fg_=on zTz}=^^LoV&+{s4bwu6#W@AM<@{_PV+pG6o-+x`uVMbsK>L>?e2EpJcCc3?2 z8?BNW-MfyKO$h+b91HUZ@Anti!jJ83eR*rgTIl9tfBrd0EJ}$PTi>}SpE`M{56rVa zxw!{mMpZyqfFYO)5CDMZMn$<9!WsI~(%WkA@>>>m-zB!V*`N1-hg5|RV_hpvjSlk* zV;!{?uC$LJ!Gbrz)!GUPpuZECDJ7WH=NIcX?V82-slHG{K;3l>rrY`sF~srAyY&x- zqR0t}diqYm7`_krukCghSkTqh5RSoLeGg7p`lJL)Jg&c3uP2A} zT>{<_g@uLgyTENyO8z}AoNAm_`|ZK4PJ`W#ZXayPf*GY@=r(jiwh62e*{|z@yKDZ` zq#bK(_sYB<9z3UGbvR&s!8x!!rW6<3JOR2oPQ2J<7*ztVhDWC0RoW?MpcwQpI%EU4w^;3M;TSmg z!CD7a{cgVDvGbL~uTht|xPx8Sd>?;Fk)epLw>zV1d)_d><}!5RWYrfPId~ta(Nq@3 z@gc;CL9IKw3I!x+;uFIdk!0%YDDdnG#adF{w=uRp0J|<1Wqgt7XA1-DNSD>}m*(bV z-$1?A#sLAuU^(Gdef^;2wq=U|KmW+H*KKK+ zzhC4^X)SBDpdE4sDWHG`or8P1fgu&%3|EQ-C+G?cf!!{p87$w!CDGmnJ5rn!1a|KH zavY-kVV$nOr_Gx?FeAilf*~9%5GJgzw77)RUx2Z(Bb${OzT%goQ(6e9w;3VPP#TYm z)!$z+2pCvf(`xmn7%#JJ98^rO44o9|e8;MJtA11m?^GidGP_-1bUqumc~NkFfn)E@ zH|GA{B}gXTX+%Ua3F8ow%Z(&Y92%A!;=2C!C^6yov0CS8!hmT1@p2=kMvSH(%~cRJ z9wW%Yqm0uYcQdN`xncd8nSGV)*RtW?diE4lyf!cOENV^<`frZ4aKN_Z0GDdqf6g>O z{NA^_q6FNH^)>UHC7kaXR^5^cG74~r?O!4FlJofbjZK5SNa6zy|TfPb1wSZA2||g zq?fqOqB}3u?|0G;c4=2<{#yv7e?aOim5{FvZ_K;93o0ZVZ zEVz0|51Q~d-* z$j`YcD{HYC0P(}DYulS=oNUa&k#u?w-qUyIkKH3v)zuJf z=7^%PGMUojHCM7AuKA!3iWfAc;* zin5HlRwoKB3K&Y`Cp^!sR8iyyR&8%=Gwur0H6RXz@=XnT@y=dn37Ek($fD3!jOl^J;T7K1jTZ!mMOVXObT-IS=hm0?~~H4|ySsl)~~F zdupeJ^0=jY0*hhex+@+J<)T$N%J26xy®EiZz`y;a1KKs%6aU!}-Xea{PND5G8F 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 From ae0f355409b7ed190f19723bf73d585be229b75b Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 14 Dec 2020 23:55:01 -0700 Subject: [PATCH 2/3] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 748f0a4b2..59e831001 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -141,6 +141,7 @@ - Updated PostComponent, add reply modal. ([a10d851f](https://github.com/pixelfed/pixelfed/commit/a10d851f)) - Updated Timeline, remove simple mode and set labs deprecation date. ([df9c3adf](https://github.com/pixelfed/pixelfed/commit/df9c3adf)) - Updated 2FA setup, fix qrcode handler. ([cd2661fc](https://github.com/pixelfed/pixelfed/commit/cd2661fc)) +- Updated avatars, use jpeg default. ([f6528c84](https://github.com/pixelfed/pixelfed/commit/f6528c84)) ## [v0.10.9 (2020-04-17)](https://github.com/pixelfed/pixelfed/compare/v0.10.8...v0.10.9) ### Added From be3ad6b15fb9a055176fb01728ae9364d34b1ac0 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 14 Dec 2020 23:57:28 -0700 Subject: [PATCH 3/3] Update Avatar Migration command, use jpeg default --- app/Console/Commands/AvatarDefaultMigration.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Console/Commands/AvatarDefaultMigration.php b/app/Console/Commands/AvatarDefaultMigration.php index 839a678e7..c1322d577 100644 --- a/app/Console/Commands/AvatarDefaultMigration.php +++ b/app/Console/Commands/AvatarDefaultMigration.php @@ -56,7 +56,7 @@ class AvatarDefaultMigration extends Command if( $avatar->media_path == 'public/avatars/default.png' || $avatar->thumb_path == 'public/avatars/default.png' || $avatar->media_path == 'public/avatars/default.jpg' || - $avatar->thumb_path == 'public/avatars/default.jpg' || + $avatar->thumb_path == 'public/avatars/default.jpg' ) { continue; } @@ -76,8 +76,8 @@ class AvatarDefaultMigration extends Command @unlink(storage_path('app/' . $avatar->thumb_path)); } - $avatar->media_path = 'public/avatars/default.png'; - $avatar->thumb_path = 'public/avatars/default.png'; + $avatar->media_path = 'public/avatars/default.jpg'; + $avatar->thumb_path = 'public/avatars/default.jpg'; $avatar->change_count = $avatar->change_count + 1; $avatar->save();