From 552e950d7a68bcec0926cd31be9bafe387c0a7b6 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Wed, 31 Mar 2021 22:08:03 -0600 Subject: [PATCH 1/4] New License formats --- app/Http/Controllers/ComposeController.php | 6 +- app/Media.php | 22 ++++ app/Transformer/Api/MediaDraftTransformer.php | 8 -- app/Transformer/Api/MediaTransformer.php | 3 +- app/Util/Media/License.php | 123 ++++++++++++++++++ 5 files changed, 152 insertions(+), 10 deletions(-) create mode 100644 app/Util/Media/License.php diff --git a/app/Http/Controllers/ComposeController.php b/app/Http/Controllers/ComposeController.php index 35bba5c9a..6d62ab07d 100644 --- a/app/Http/Controllers/ComposeController.php +++ b/app/Http/Controllers/ComposeController.php @@ -45,6 +45,7 @@ use App\Services\ServiceService; use Illuminate\Support\Str; use App\Util\Lexer\Autolink; use App\Util\Lexer\Extractor; +use App\Util\Media\License; class ComposeController extends Controller { @@ -407,6 +408,7 @@ class ComposeController extends Controller 'place' => 'nullable', 'comments_disabled' => 'nullable', 'tagged' => 'nullable', + 'license' => 'nullable|integer|min:1|max:16' // 'optimize_media' => 'nullable' ]); @@ -439,6 +441,8 @@ class ComposeController extends Controller abort_if($limitReached == true, 429); + $license = in_array($request->input('license'), License::keys()) ? $request->input('license') : null; + $visibility = $request->input('visibility'); $medias = $request->input('media'); $attachments = []; @@ -458,7 +462,7 @@ class ComposeController extends Controller abort(403, 'Invalid media id'); } $m->filter_class = in_array($media['filter_class'], Filter::classes()) ? $media['filter_class'] : null; - $m->license = $media['license']; + $m->license = $license; $m->caption = isset($media['alt']) ? strip_tags($media['alt']) : null; $m->order = isset($media['cursor']) && is_int($media['cursor']) ? (int) $media['cursor'] : $k; // if($optimize_media == false) { diff --git a/app/Media.php b/app/Media.php index 3854c3848..107f15b4d 100644 --- a/app/Media.php +++ b/app/Media.php @@ -4,6 +4,7 @@ namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use App\Util\Media\License; use Storage; class Media extends Model @@ -101,4 +102,25 @@ class Media extends Model return $meta['Model']; } } + + public function getLicense() + { + $license = $this->license; + + if(!$license || strlen($license) > 2 || $license == 1) { + return null; + } + + if(!in_array($license, License::keys())) { + return null; + } + + $res = License::get()[$license]; + + return [ + 'id' => $res['id'], + 'title' => $res['title'], + 'url' => $res['url'] + ]; + } } diff --git a/app/Transformer/Api/MediaDraftTransformer.php b/app/Transformer/Api/MediaDraftTransformer.php index bb531f556..1f6c578c0 100644 --- a/app/Transformer/Api/MediaDraftTransformer.php +++ b/app/Transformer/Api/MediaDraftTransformer.php @@ -10,14 +10,6 @@ class MediaDraftTransformer extends Fractal\TransformerAbstract { public function transform(Media $media) { - - $url = URL::temporarySignedRoute( - 'temp-media', now()->addHours(1), ['profileId' => $media->profile_id, 'mediaId' => $media->id, 'timestamp' => time()] - ); - - //$url = $media->thumbnailUrl(); - //$url = $media->url(); - return [ 'id' => (string) $media->id, 'type' => $media->activityVerb(), diff --git a/app/Transformer/Api/MediaTransformer.php b/app/Transformer/Api/MediaTransformer.php index a5d0a0adb..21c0b25b5 100644 --- a/app/Transformer/Api/MediaTransformer.php +++ b/app/Transformer/Api/MediaTransformer.php @@ -15,10 +15,11 @@ class MediaTransformer extends Fractal\TransformerAbstract 'url' => $media->url(), 'remote_url' => null, 'preview_url' => $media->thumbnailUrl(), + 'optimized_url' => $media->optimized_url, 'text_url' => null, 'meta' => null, 'description' => $media->caption, - 'license' => $media->license, + 'license' => $media->getLicense(), 'is_nsfw' => $media->is_nsfw, 'orientation' => $media->orientation, 'filter_name' => $media->filter_name, diff --git a/app/Util/Media/License.php b/app/Util/Media/License.php new file mode 100644 index 000000000..653013a4d --- /dev/null +++ b/app/Util/Media/License.php @@ -0,0 +1,123 @@ + [ + "id" => 1, + "title" => "All Rights Reserved", + "name" => "All Rights Reserved", + "description" => "You, the copyright holder, reserve all rights provided by copyright law, such as the right to make copies, distribute your work, perform your work, license, or otherwise exploit your work; no rights are waived under this license.", + "terms" => [], + "url" => url('/site/kb/licenses') + ], + 5 => [ + "id" => 5, + "title" => "Public Domain", + "name" => "Public Domain Work", + "description" => "Works, or aspects of copyrighted works, which copyright law does not protect.", + "terms" => [], + "url" => url('/site/kb/licenses') + ], + 6 => [ + "id" => 6, + "title" => "Public Domain (CC0)", + "name" => "Public Domain Dedication (CC0)", + "description" => "You, the copyright holder, waive your interest in your work and place the work as completely as possible in the public domain so others may freely exploit and use the work without restriction under copyright or database law.", + "terms" => [], + "url" => url('/site/kb/licenses') + ], + 11 => [ + "id" => 11, + "title" => "CC BY", + "name" => "Attribution", + "description" => "This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.", + "terms" => [ + "Credit must be given to the creator", + ], + "url" => "https://creativecommons.org/licenses/by/4.0/" + ], + 12 => [ + "id" => 12, + "title" => "CC BY-SA", + "name" => "Attribution-ShareAlike", + "description" => "This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.", + "terms" => [ + "Credit must be given to the creator", + "Adaptations must be shared under the same terms" + ], + "url" => "https://creativecommons.org/licenses/by-sa/4.0/" + ], + 13 => [ + "id" => 13, + "title" => "CC BY-NC", + "name" => "Attribution-NonCommercial", + "description" => "This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.", + "terms" => [ + "Credit must be given to the creator", + "Only noncommercial uses of the work are permitted" + ], + "url" => "https://creativecommons.org/licenses/by-nc/4.0/" + ], + 14 => [ + "id" => 14, + "title" => "CC BY-NC-SA", + "name" => "Attribution-NonCommercial-ShareAlike", + "description" => "This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.", + "terms" => [ + "Credit must be given to the creator", + "Only noncommercial uses of the work are permitted", + "Adaptations must be shared under the same terms" + ], + "url" => "https://creativecommons.org/licenses/by-nc-sa/4.0/" + ], + 15 => [ + "id" => 15, + "title" => "CC BY-ND", + "name" => "Attribution-NoDerivs", + "description" => "This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.", + "terms" => [ + "Credit must be given to the creator", + "No derivatives or adaptations of the work are permitted" + ], + "url" => "https://creativecommons.org/licenses/by-nd/4.0/" + ], + 16 => [ + "id" => 16, + "title" => "CC BY-NC-ND", + "name" => "Attribution-NonCommercial-NoDerivs", + "description" => "This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.", + "terms" => [ + "Credit must be given to the creator", + "Only noncommercial uses of the work are permitted", + "No derivatives or adaptations of the work are permitted" + ], + "url" => "https://creativecommons.org/licenses/by-nc-nd/4.0/" + ] + ]; + } + + public static function keys() + { + return array_keys(self::get()); + } + + public static function getId($index) + { + return self::get()[$index]['id']; + } + + public static function names() + { + return collect(self::get()) + ->map(function($v) { + return $v['title']; + }) + ->values() + ->toArray(); + } +} From 4ad573c8de4a401bd4aa214ae7121ad66f55bf86 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Wed, 31 Mar 2021 22:24:59 -0600 Subject: [PATCH 2/4] Update components --- .../assets/js/components/ComposeModal.vue | 100 ++++++++++++++++-- .../components/presenter/PhotoPresenter.vue | 17 ++- 2 files changed, 107 insertions(+), 10 deletions(-) diff --git a/resources/assets/js/components/ComposeModal.vue b/resources/assets/js/components/ComposeModal.vue index e2c054ac3..e118f189c 100644 --- a/resources/assets/js/components/ComposeModal.vue +++ b/resources/assets/js/components/ComposeModal.vue @@ -12,6 +12,7 @@ +
@@ -42,6 +43,7 @@
+
@@ -91,8 +93,21 @@
+
+
+
+ {{item.name}} +
+
+
- test
@@ -315,7 +330,10 @@
-

Tag people NEW

+

Tag people

+
+
+

Add license NEW

Add location

@@ -565,11 +583,19 @@
- -

+ + +

@@ -707,7 +733,8 @@ export default { 'editMedia', 'cameraRoll', 'tagPeopleHelp', - 'textOptions' + 'textOptions', + 'licensePicker' ], cameraRollMedia: [], taggedUsernames: [], @@ -744,7 +771,46 @@ export default { }) } ] - } + }, + availableLicenses: [ + { + id: 1, + name: "All Rights Reserved" + }, + { + id: 5, + name: "Public Domain Work" + }, + { + id: 6, + name: "Public Domain Dedication (CC0)" + }, + { + id: 11, + name: "Attribution" + }, + { + id: 12, + name: "Attribution-ShareAlike" + }, + { + id: 13, + name: "Attribution-NonCommercial" + }, + { + id: 14, + name: "Attribution-NonCommercial-ShareAlike" + }, + { + id: 15, + name: "Attribution-NoDerivs" + }, + { + id: 16, + name: "Attribution-NonCommercial-NoDerivs" + } + ], + licenseIndex: 0 } }, @@ -934,7 +1000,8 @@ export default { comments_disabled: this.commentsDisabled, place: this.place, tagged: this.taggedUsernames, - optimize_media: this.optimizeMedia + optimize_media: this.optimizeMedia, + license: this.availableLicenses[this.licenseIndex].id }; axios.post('/api/compose/v0/publish', data) .then(res => { @@ -1026,6 +1093,10 @@ export default { this.showTagCard(); break; + case 'licensePicker': + this.page = 3; + break; + default: this.namedPages.indexOf(this.page) != -1 ? this.page = (this.textMode ? 'addText' : 3) : @@ -1270,7 +1341,18 @@ export default { showTextOptions() { this.page = 'textOptions'; this.pageTitle = 'Text Post Options'; - } + }, + + showLicenseCard() { + this.pageTitle = 'Select a License'; + this.page = 'licensePicker'; + }, + + toggleLicense(index) { + this.licenseIndex = index; + this.pageTitle = ''; + this.page = 3; + }, } } \ No newline at end of file diff --git a/resources/assets/js/components/presenter/PhotoPresenter.vue b/resources/assets/js/components/presenter/PhotoPresenter.vue index 85f23e8a1..d350c7aea 100644 --- a/resources/assets/js/components/presenter/PhotoPresenter.vue +++ b/resources/assets/js/components/presenter/PhotoPresenter.vue @@ -22,7 +22,7 @@ :alt="altText(status)"/>
-
+
+ +

Photo by @{{status.account.username}} licensed under {{status.media_attachments[0].license.title}}

From b22a59337fc464f8d28e443b25ff6b263548028b Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Wed, 31 Mar 2021 22:25:23 -0600 Subject: [PATCH 3/4] Update compiled assets --- public/js/compose.js | Bin 144241 -> 145430 bytes public/js/profile.js | Bin 110236 -> 111006 bytes public/js/rempos.js | Bin 72619 -> 73389 bytes public/js/status.js | Bin 120615 -> 121385 bytes public/js/timeline.js | Bin 175586 -> 176356 bytes public/mix-manifest.json | Bin 2139 -> 2139 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/public/js/compose.js b/public/js/compose.js index 1f3ff97996bbc9d0dfbf77c66e01dab48b78f495..e83d89dff8536ca596cc58cca2dcb87b7c85edb8 100644 GIT binary patch delta 2813 zcmai04NM#78PVHw7{X5i=Ayt|_%P-tX=QR@2As^|Cxm4E140h_10S5v=6pC% zKv7z$Y8G`>>nWe6Zi_l~la_+Ej;W_eJpD5-DIOHZ~^6WcI}) zjpdVVZIfhN%09fj-%ADyka1`I_|AJr76C%p!S)Uq+|k+@KxD@yHfGBBaL4FM_R6>RxHL|++irTo&#5?B03hFQ+^$A*t&^Og7}8l8_hZbk|~vF7(gIX?nbmbdm7)|NRUH5%w&Az)eco zE1h2U7C;}2v%jGU23ZRSy{Mhz;Pa?`g@gAIzFY!9G;Wo^k5MS4h#WUxE`@$<9Q#!n zNGSHX;1?*?%Hbfp=YqA$5y2poDB?P8YZDv?jIitF;Dgi5EQjU;X9YuC*Qv3hYd*uT z)08Slsc@S8sT{g6&OtYX;4Hh~h6dDD-7pAe%^$hpZ5PIQwhDSsyy=KPR^f^WYp4bS z5%W|vTmbi^pov76Ce5vfp^Ni{B+Z{tv@cL)A#RXxVON9(0>Ka&WzY=`>_QwW*dZ^} zB3rK)+E|Yl8sozxZZ8XlHwhoL#=(o^j5H=2af?%k_%A6jBTgKHyedrQ3<*)hjaY

BVsNNz`G?dVxAa+NB19y z;7D*>ieIJkhGY;;Y7K}aVqSX;xRMH7>R&~F#Jv6_xUJ#ecnW@sB02>lD84%dKX2Hj zNJnLrK2b#S&hN@0=9} zy%=Xn>I{=Gt6l_eSs0naOk9MfN__0k$hvP-nhKGyIk^b`0?&w`kT{V=GQyrz;Rxzl zUVmPNmmzF6CE&FZ2${E1@OEPr;Z-F{wKSbjqDxdapSuR1!r?R?0KA-$6;+;7>8OK9 z^JHpWi3PifCMPJ9>$uv>{3fwX$81xOpIDhgI^S?IAuF2i@ua?#104TMz%Y#|QQ1(E znok%S3Wzyyw-X`AhYUkk=2k2~-qn*Ma$J{fU+1~FtkaOHEYUoycMr@#jVHCCWFkTJ zs3NO*VBh}(eg=8I+K@4`n_uU6a+vB$CY>kFS6oyBVu~^-S}`LMyW_c0M6?)PfPMjBvDDg+uFLh&A~U|w>6*3mEmkgcDJ1CU=z2Yojvq3sADZs=5#c=nEq^OkMmdmUiQRa_lw zybV*VyPB&v-@FaAZNM|%$MC}89MzDl#{|)8!4&dj1U?jt`Eq%(yFY;@^P`X9heus$ zdk##yhvipSa4qe7^CWaNrPFj8+a1i0#V(V5TEn%l*1v=I5h|`*r-UMfbX{Kar}U(e zG}cnoKd-0;)%|$Xt5}C2>kHKICsWq!(nP=yj5?1UoyM>%wp<7GQGPZft1Fbpm)jVy z61Oz$oh=d7zc)Q;mo~AY8cIr~14>Yt3d~rA|F0Pychca=dMufk(37cj5R0&4X~by> wjRiHF<=%Mqa2}a9oWJ`=G_B=5#gZ3iL}zSQJY0k6tLIvqcE8kEq?Z%^1M?u2PXGV_ delta 1732 zcmY*ZZ){Ul6wi74SB7kC>qghHtt(l1Pwu)72V&u^d)?}&u(3S|C>w0;dbf7Gy^Z#5 z4%P+rgZPgu(73A@RQ`McgPHWhQy>wdaT33v#<&=aF(#;px>&D0;eX6w=)O-tU~> zIp@A}?zmOn*;x5X4Wds|77iaR^v)2H3}X-Z>T z?70)=c_H39*Dhgloa;HDL+#^=+4)`>mGt}?vr5)9MgS2hn2L))_!9hK=us1lkhVr2_ zaH4TC4K5<|rvsnq=BZ$_#nf|^`lWQp!^W|%GC)LFnh94B#9B=o) zFb!J;vOg8v!s-iQCC(*S2wSi*9~MFd!gqyG0&e|oA^cN{^!8)$CU)acEqtAwBhSsL zra}~HG%D+=3%*Q)Hod+9))g$1vF|vOkX@lYny3*~tZ)cK*2lL4m$nE)?IY-y^`p;# zAu-{TJK+;UBBP5sYhuT57O}EUSj@)TVFh~Q?eJOg{gjbzpF*F0AnB0~Op3DCJD~~T z`%XMlGBb67hH$70N)g`c!Z(rGR2P)vtbXo-pAu!i@Pj##*scu>CiY7c4`PxMncedz z2CUn=K~1QS1s+zb538>RU=6A>DGa9{@Q6Mf_rQA32C*suUA#whkP%#+xVDK7 z!HG_Xi|-VxJS5@UCXS>g(o7<&Ji?r&8F!Y9dB7hb%~j|pBbXx^m9UJ0P}k_k+M1|?UaYf6tdej~30p&|P9srPNmxf>ReeyBgOBTnePPRHvE4%?eS07L3)yXa zhy;mGAZ=`y0+qM?lic`{7g?c=S&PValw(^(sc`RpYQVhkfua)acib!P^=7 znUgS{yJT#Pbc;M*H+b_n^xxtzozEsdhjw-@n=8uGXhiE!JG6zLmF4{fMS8{+D7LZ7 zm!U+z@h5!rC=1_&4Q!u@Gi52EZmLEoyS9v5ai9G7E0nTw6St^N+c!v^R*jBmRxx1r{)IRZHgC7#UEVqwMSru(3-f z&YC@Mw-P#$%RR~L#oQWp_!1Pd^Tk}HVczRvt&>}~XlXlxZh1R*I>T8Vp`Tr`4A^Z4G6?|buR);{N-f6Kpq znCqD&*Tjd-!Kic#WwSTxH%Fq4EP5P2$lZCHod}zgVyEwPzMN2?h%fKnb_P{Ye6>9{l)6OYchRgMM~1}`I~tdNe9Az;4enag ze9^=DvQGn-yOij_u$Smf3@tUzZw;V=%8Rp286;3tLAQoiJlDb`z?X>(KB&tFY@lH< z$0eFcIj0TKp#-XL*tScYq?RiF0;m@CDAVCgtyTjSYLsv-aF=ibkCr-p;CO*+hUYpY z(U|Mhd1A6Z--=-d)C)NVbvGpqNwKs7lQJ7KjZhFnt9Q>-Ze3K>Na_nw~1CG*vJv^tN@9-FFDPC=3 z(R~x05Odf2qpudq{ecIk49iN=c`;;OtEJBDF82zIBt;LZf_LD;V;^*z&b(BTVUj7Ed)%NfJ delta 192 zcmbRDm~GBowhe8pn~m9`jxzgaR!zR}+j8=^(={vsnMUQ)<2e|mSaNbAEvMIVFm|#; zx*PjVzWCc>@`f{_o6nr%muAUI(l*$9|7AS$=7hJRj2y9=v6{7-I?>Y~6fp)*a_64B z^P@dSN?Ni>l9@^BrcW!m*_1#!lqOF+t;hqiK}oY#CnwQ7Z1TnZa+^>8wcrHX2D1aM Xb@JIWg>cShx3i{<+nL!JXRiVPCUZ;p diff --git a/public/js/rempos.js b/public/js/rempos.js index 8c3861383a12a0aa559a3ae0b8dcc24222cd8167..001c24a7237402d4731a62027e3f2ba3b3174848 100644 GIT binary patch delta 681 zcmZ`%O=}ZD7-s3lS}CDmk~T$cG7{LelO?H!l0|I~f?i6jRw$HGW_Kr>!OcvZosIo4 zc=pyZlz0__2(}>X!BemP49_0Cd$H{Hz}y>7Nc$sksJy0A!U+ zj)n$UZmrD97r)=c2dUL5eJScT@3o^4-t6927J1*$sb03FK}mBVWxJ zGF{4Cp0C#K%-^oh$y=p0xqO^E2V!)RwCpe;SR2@& z0$>Mu9-+RP3$@NBfG!Idx53S3vk4$*GAha;*~W@otqjkBz?-6s0^(DJapJdxGCA*6 zKu*YlNMHa@Qj(B_mP~4$rQDKICSeY8pZlCe)U!cAC`P>ObL0_Bg;DXa4-4FPkWqoj zXVuILfC+m2y)kW4PV7&}g>RQqs#r@%>r1ZxHKV1kK5j9=fVpl$VQq8`P;j>TT2`C7 z$d}U}t~}&HuLsvosEc4$4WS{d;S!_JLawW-3M&dRr>Kq1zidy}?iJKsF#lgfUeAr6 xGOb8u$>M%)_-gqxP!JI$zU!u~!m%L_?!6y7`*ncaO0OTmjfxaWM=e>L#H3opg{3M%s!&r~Z?%NY?j)VM?xwqwkfe>` zkAtEpIET?o#UG$OSd=KMB7%Z~f(KE&s{IGllfTi;8moxx<;|PVeBb-Nw^wFbrf;@f z?{04DPMJw0-mZb=Ei{65kM3C~9^8fFwM6rY523VDw5T4AD~eL?H4BCzmvMGjN}r3_i-ke`ory*oZNv2`OK%4ErVTMgLsW1f=O7)XFr9uClwOQTMlK^GW&^H zz+->jB_}77xZ(j$Ue(ADF^I;TewAsXxUWHVDoUlRt5Q=wYXD>X!j}Z}@fTk%LYm+I zj`-QHCm~f^`>pd#pubQ|i3X%&z;<{JJ18}^l7NIEic6~)YK#OAz+Fv+?kNDsgzvj99#;trjZ{pFF}74)b8GA%ga+c8;3SjK!F>AIT_=a9-7QYUaE+ z+>2rn?)F9Et5qZS|J{sh}Z8CBPAA94Vp8(oK171%oAzsN=66OjAI!E zMiBm0#V_JxeuOfXtrI)StbEiUSr)ZbofaHV%CDYLwS76;Dww*A3~Cb9j^^qFF delta 422 zcmZ3vg?;%t_6?MP1VcE&(AI`&~Zjc z$J;Aqr&cOi#ZR8|W1V0SLc+7A##6_Ca`aCr7JoH0|H+jm_C8rD%YBrjx0YucK(Fsgq|LzkT&=#>Fg*71R9}FnTk_PoKSj(SfmI z`<(@hnXD{XN!kX}8ILi>FJG~Yk$L;6m5ic{)Az1rT*{G>mTZz_W|BIc@fM@Z_O^A5 z8#&pOK+2V-2kc{1+hM#_bFDGIq!S00m>1jQ{`u diff --git a/public/js/timeline.js b/public/js/timeline.js index 9da4862011d09efa2cff87fdd3c6ec0d31d6fdc8..5ebe8217336924736b0b0f416a043d9ab716a3e8 100644 GIT binary patch delta 960 zcmZ8fO=uHA80DLGQ*DD1tJSuG=@e_0Y(m-^#k8@?>cN6WtzOi!Zjwp5bh{fjlhWA6 zQWQb)4;P%9R0MnRU=6q)`~^=QgkHpdRP^Z2!DF#b)@n@BVp{q_K8z#Ym5LsFmNbnpSXSww%F4`b9qwuCTvjRB&?g}U?C^T@nKU-`y=sq zTh8B-&OLS&$!cXwHzOX%WX&ZYr1*?~BZI5o=+PSTR z{hETK?9m%&_}_Bgy@4p7INTQ`?u7I57L3$_!V=T41{8-(!(A@ztSduz6>lHD2Q&P- z$pJxd^_|EAP^#GXAb8gI(V|Xbqd7CLQOz`B*dn@0wPAuwl5_bnC#;ibSQ!prKNcm{ z{tTLIzfe7{Ybj#nNe_=Sho#XxmiA_4@}*YGScp{Fhs@$aW@BfKBc} zp2g^k-QZnSDoIEG=DPz2d6DP1ZfI;27ZJ>7o%VCTgthk~aVeMmysE)F4+|G8y=2dw zZD3uK;H!LA^S>9WQJqwn`^6a7A_1|VeY^li*xVE7U0ARKPvQJJ$M+771^GG|HE5;^ zWc$X~M)qS41k@$7<8`PLWTtvhy)#vZqQG(Qy=Zqe-?LU9dI26et_6xcOj(JVn6Dmn tE|9&N7-Tv&~M@wIg(HlVr6zD~5Dn_hn37)B4r{{Wa8IQ#$r delta 472 zcmaFzkn7QHt_>}$n+@4G+2oyVQ}uH4^Rr6}bmDEx@-tHu3~X&}o$ZyfQ!ACMoF_-} z+|vvKswqk>$Vp624N0vi2`)`b%dF7xM<@@n&nwNzu?pIpz&nkR(SP%IzFbDe_|2&T z&P?@8@Cl>T_HRoVFEFwMWEz!&`7Aj(k(QG`_H}MQzk+c) zm$2dl4NF* zI(=dZlkE0o#~5=ZSd~E9C)z9UX()l5rKDM_19nthzvXm+Rg5ACO^VAI3*o%&vz9ZO zGHw^X&lsc4=)Apvi|HaW&;V`~v>j9won}h%W diff --git a/public/mix-manifest.json b/public/mix-manifest.json index c57e5e88726e77c5a8e3df995821521dc6408e57..77222962ec911d791cf96038828ab6ea7f49be9d 100644 GIT binary patch delta 132 zcmWN`u?@m75CA}l2#``m!UZ)G`2X#Xzh($(zy01K3($Ip)JT++NGy>x7yz!lZQ7>C zb#RqYTA`5HE63&u%$~R5zB@GvEE<7R_LPwda{umME@D%Y@L!b>4WQE8--p!^fTAVL dRm1`%o~iWZ_&J*>5Em&)DyaFKyk5p-`~eg*CMW;^ delta 132 zcmV~$u?+$-3;;lh7a)E05-F&eAn(LZTr&i<;SscZ#aQRs cM41vNroJx6@0n0tEzi^;Wv^B^`ej_kKWrr@2LJ#7 From b9221ffc27ab5d125e251a44cc8fd85e8de42a36 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Wed, 31 Mar 2021 22:28:33 -0600 Subject: [PATCH 4/4] Update changelog --- CHANGELOG.md | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 612a867d0..0327239a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## [Unreleased](https://github.com/pixelfed/pixelfed/compare/v0.10.10...dev) ### Added - Autocomplete Support (hashtags + mentions) ([de514f7d](https://github.com/pixelfed/pixelfed/commit/de514f7d)) +- Creative Commons Licenses ([552e950](https://github.com/pixelfed/pixelfed/commit/552e950)) ### Updated - Updated AdminController, fix variable name in updateSpam method. ([6edaf940](https://github.com/pixelfed/pixelfed/commit/6edaf940)) @@ -403,7 +404,7 @@ - Updated CollectionController, increase limit from 18 to 50. ([c2826fd3](https://github.com/pixelfed/pixelfed/c2826fd3)) ## Deprecated - + ## [v0.10.6 (2019-09-30)](https://github.com/pixelfed/pixelfed/compare/v0.10.5...v0.10.6) @@ -468,7 +469,7 @@ - Run ```php artisan passport:keys``` - Add ```OAUTH_ENABLED=true``` to .env - Run ```php artisan config:cache``` - + ## [v0.10.5 (2019-09-24)](https://github.com/pixelfed/pixelfed/compare/v0.10.4...v0.10.5) @@ -479,8 +480,8 @@ - Fixed cache bug in privacy and terms pages [#1712](https://github.com/pixelfed/pixelfed/commit/fe522da8db7a8b0d7c18d405abcb885f8678f35c) ### Changed - - + + ## [v0.10.4 (2019-09-24)](https://github.com/pixelfed/pixelfed/compare/v0.10.3...v0.10.4) ### Added @@ -511,17 +512,17 @@ ## Deprecated - Remove deprecated profile following/followers [#1697](https://github.com/pixelfed/pixelfed/pull/1697) - Remove old comment permalink [05f6598](https://github.com/pixelfed/pixelfed/pull/1708/commits/05f659896d903e1ff41dba810f125d721fa057e7) - - + + ## [v0.10.3 (2019-09-08)](https://github.com/pixelfed/pixelfed/compare/v0.10.2...v0.10.3) ### Added - Append ```.json``` to local status urls to view ActivityPub object [#1666](https://github.com/pixelfed/pixelfed/pull/1666) ### Fixed -- Reverted ```strict``` Same-Site Cookies to ```null``` to fix 2FA/session expiry [#1667](https://github.com/pixelfed/pixelfed/pull/1667) -- Fixed AP errors by storing ActivityPub object id and url [#1668](https://github.com/pixelfed/pixelfed/pull/1668) [#1683](https://github.com/pixelfed/pixelfed/pull/1683) -- Fixed content warnings that had filter applied [#1669](https://github.com/pixelfed/pixelfed/pull/1669) +- Reverted ```strict``` Same-Site Cookies to ```null``` to fix 2FA/session expiry [#1667](https://github.com/pixelfed/pixelfed/pull/1667) +- Fixed AP errors by storing ActivityPub object id and url [#1668](https://github.com/pixelfed/pixelfed/pull/1668) [#1683](https://github.com/pixelfed/pixelfed/pull/1683) +- Fixed content warnings that had filter applied [#1669](https://github.com/pixelfed/pixelfed/pull/1669) ### Changed - Japanese Translations [#1673](https://github.com/pixelfed/pixelfed/pull/1673) @@ -531,7 +532,7 @@ ### Deprecated - Personalized Discover has been deprecated due to low use [#1670](https://github.com/pixelfed/pixelfed/pull/1670) - + ## [v0.10.2 (2019-09-06)](https://github.com/pixelfed/pixelfed/compare/v0.10.1...v0.10.2) @@ -551,7 +552,7 @@ - Loops! Discover short videos - Preliminary support for profile PropertyValue metadata - Preliminary support for Direct Messages -- Places! Run the artisan task `import:cities` +- Places! Run the artisan task `import:cities` - Emails are now validated and banned email domains are disallowed at signup. Artisan task `email:bancheck` will validate existing users. - .env vars `REDIS_SCHEME` and `REDIS_PATH` allow for using Redis over a Unix socket instead of TCP [#1602](https://github.com/pixelfed/pixelfed/pull/1602) - .env var `IMAGE_DRIVER` allows using imagick instead of gd @@ -574,7 +575,7 @@ - Sample nginx.conf in contrib/ now uses HTTPS instead of HTTP. Docs updated to reference this file - Updated register form - Allow users to edit email after registrations - + ## [v0.10.0 (2019-07-17)](https://github.com/pixelfed/pixelfed/compare/v0.9.6...v0.10.0) @@ -595,7 +596,7 @@ ### Fixed - Hashtag post count off-by-one [#1485](https://github.com/pixelfed/pixelfed/pull/1485) - + ## [v0.9.5 (2019-07-10)](https://github.com/pixelfed/pixelfed/compare/v0.9.4...v0.9.5) @@ -631,8 +632,8 @@ ### Removed - Remove Classic Compose UI [#1434](https://github.com/pixelfed/pixelfed/pull/1434), [72bffd1](https://github.com/pixelfed/pixelfed/commit/72bffd1) [a2640af](https://github.com/pixelfed/pixelfed/commit/a2640af) -- - +- + ## [v0.9.4 (2019-06-03)](https://github.com/pixelfed/pixelfed/compare/v0.9.0...v0.9.4) @@ -672,7 +673,7 @@ php artisan config:cache ### Removed - Google Recaptcha is no longer supported (#1231) - Lightbox has been deprecated in favor of double-tap-to-like; it will return as a dedicated button in the future (#1277) - + ## [v0.9.0 (2019-04-17)](https://github.com/pixelfed/pixelfed/compare/v0.8.6...v0.9.0) @@ -698,7 +699,7 @@ php artisan config:cache ### Removed - Removed identicons due to SVG compatibility issues with federation. New users will instead be assigned a default avatar. - + ## [v0.8.6 (2019-04-06)](https://github.com/pixelfed/pixelfed/compare/v0.8.5...v0.8.6)