1
0
Fork 0
forked from mirror/pixelfed

Merge pull request #5341 from pixelfed/staging

v0.12.4
This commit is contained in:
daniel 2024-11-08 22:10:48 -07:00 committed by GitHub
commit 65dd601a02
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
44 changed files with 1213 additions and 1105 deletions

View file

@ -1,6 +1,9 @@
# Release Notes
## [Unreleased](https://github.com/pixelfed/pixelfed/compare/v0.12.3...dev)
- ([](https://github.com/pixelfed/pixelfed/commit/))
## [v0.12.4 (2024-11-08)](https://github.com/pixelfed/pixelfed/compare/v0.12.4...dev)
### Added
- Implement Admin Domain Blocks API (Mastodon API Compatible) [ThisIsMissEm](https://github.com/ThisIsMissEm) ([#5021](https://github.com/pixelfed/pixelfed/pull/5021))
@ -36,7 +39,7 @@
- Update config, allow Beagle discover service to be disabled ([de4ce3c8](https://github.com/pixelfed/pixelfed/commit/de4ce3c8))
- Update ApiV1Dot1Controller, allow upto 5 similar push tokens ([7820b506](https://github.com/pixelfed/pixelfed/commit/7820b506))
- Update AdminReports, add missing click handler. Fixes #5332 ([fe48b8ad](https://github.com/pixelfed/pixelfed/commit/fe48b8ad))
- ([](https://github.com/pixelfed/pixelfed/commit/))
- Improve media filtering by using OffscreenCanvas, if supported ([aea5392](https://github.com/pixelfed/pixelfed/commit/aea5392))
## [v0.12.3 (2024-07-01)](https://github.com/pixelfed/pixelfed/compare/v0.12.2...v0.12.3)

View file

@ -194,6 +194,7 @@ FROM --platform=${BUILDARCH} node:lts AS frontend-build
ARG BUILDARCH
ARG BUILD_FRONTEND=0
ARG RUNTIME_UID
ARG RUNTIME_GID
ARG NODE_ENV=production
ENV NODE_ENV=$NODE_ENV
@ -256,17 +257,26 @@ COPY --link --from=composer-image /usr/bin/composer /usr/bin/composer
#! Changing user to runtime user
USER ${RUNTIME_UID}:${RUNTIME_GID}
# Install composer dependencies
# NOTE: we skip the autoloader generation here since we don't have all files avaliable (yet)
RUN --mount=type=cache,id=pixelfed-composer-${PHP_VERSION},sharing=locked,target=/cache/composer \
RUN --mount=type=cache,id=pixelfed-composer-${PHP_VERSION},sharing=locked,uid=${RUNTIME_UID},gid=${RUNTIME_GID},target=/cache/composer \
--mount=type=bind,source=composer.json,target=/var/www/composer.json \
--mount=type=bind,source=composer.lock,target=/var/www/composer.lock \
set -ex \
&& composer install --prefer-dist --no-autoloader --ignore-platform-reqs
&& composer install --prefer-dist --no-autoloader --ignore-platform-reqs --no-scripts
# Copy all other files over
COPY --chown=${RUNTIME_UID}:${RUNTIME_GID} . /var/www/
# Generate optimized autoloader now that we have all files around
RUN set -ex \
&& ENABLE_CONFIG_CACHE=false composer dump-autoload --optimize
# Now we can run the post-install scripts
RUN set -ex \
&& composer run-script post-update-cmd
#######################################################
# Runtime: base
#######################################################
@ -286,13 +296,6 @@ COPY --link --from=composer-image /usr/bin/composer /usr/bin/composer
COPY --link --from=composer-and-src --chown=${RUNTIME_UID}:${RUNTIME_GID} /var/www /var/www
COPY --link --from=frontend-build --chown=${RUNTIME_UID}:${RUNTIME_GID} /var/www/public /var/www/public
#! Changing user to runtime user
USER ${RUNTIME_UID}:${RUNTIME_GID}
# Generate optimized autoloader now that we have all files around
RUN set -ex \
&& ENABLE_CONFIG_CACHE=false composer dump-autoload --optimize
USER root
# for detail why storage is copied this way, pls refer to https://github.com/pixelfed/pixelfed/pull/2137#discussion_r434468862

46
composer.lock generated
View file

@ -62,16 +62,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.325.3",
"version": "3.325.5",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "de0b289c7260fb19301ffa2eb724de2076daad74"
"reference": "195d003c902a741de53008c839cbcebddbe1f326"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/de0b289c7260fb19301ffa2eb724de2076daad74",
"reference": "de0b289c7260fb19301ffa2eb724de2076daad74",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/195d003c902a741de53008c839cbcebddbe1f326",
"reference": "195d003c902a741de53008c839cbcebddbe1f326",
"shasum": ""
},
"require": {
@ -154,9 +154,9 @@
"support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.325.3"
"source": "https://github.com/aws/aws-sdk-php/tree/3.325.5"
},
"time": "2024-11-06T19:05:22+00:00"
"time": "2024-11-08T19:12:57+00:00"
},
{
"name": "bacon/bacon-qr-code",
@ -3113,16 +3113,16 @@
},
{
"name": "lcobucci/jwt",
"version": "5.4.1",
"version": "5.4.2",
"source": {
"type": "git",
"url": "https://github.com/lcobucci/jwt.git",
"reference": "848815d2287abd5d3c285482f8e1f501b289a2e7"
"reference": "ea1ce71cbf9741e445a5914e2f67cdbb484ff712"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/848815d2287abd5d3c285482f8e1f501b289a2e7",
"reference": "848815d2287abd5d3c285482f8e1f501b289a2e7",
"url": "https://api.github.com/repos/lcobucci/jwt/zipball/ea1ce71cbf9741e445a5914e2f67cdbb484ff712",
"reference": "ea1ce71cbf9741e445a5914e2f67cdbb484ff712",
"shasum": ""
},
"require": {
@ -3170,7 +3170,7 @@
],
"support": {
"issues": "https://github.com/lcobucci/jwt/issues",
"source": "https://github.com/lcobucci/jwt/tree/5.4.1"
"source": "https://github.com/lcobucci/jwt/tree/5.4.2"
},
"funding": [
{
@ -3182,7 +3182,7 @@
"type": "patreon"
}
],
"time": "2024-11-06T06:16:04+00:00"
"time": "2024-11-07T12:54:35+00:00"
},
{
"name": "league/commonmark",
@ -4296,16 +4296,16 @@
},
{
"name": "nesbot/carbon",
"version": "3.8.1",
"version": "3.8.2",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
"reference": "10ac0aa86b8062219ce21e8189123d611ca3ecd9"
"reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/10ac0aa86b8062219ce21e8189123d611ca3ecd9",
"reference": "10ac0aa86b8062219ce21e8189123d611ca3ecd9",
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e1268cdbc486d97ce23fef2c666dc3c6b6de9947",
"reference": "e1268cdbc486d97ce23fef2c666dc3c6b6de9947",
"shasum": ""
},
"require": {
@ -4398,7 +4398,7 @@
"type": "tidelift"
}
],
"time": "2024-11-03T16:02:24+00:00"
"time": "2024-11-07T17:46:48+00:00"
},
{
"name": "nette/schema",
@ -10918,16 +10918,16 @@
},
{
"name": "myclabs/deep-copy",
"version": "1.12.0",
"version": "1.12.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
"reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
"reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
"reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
"shasum": ""
},
"require": {
@ -10966,7 +10966,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.12.0"
"source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
},
"funding": [
{
@ -10974,7 +10974,7 @@
"type": "tidelift"
}
],
"time": "2024-06-12T14:39:25+00:00"
"time": "2024-11-08T17:47:46+00:00"
},
{
"name": "nunomaduro/collision",

View file

@ -23,7 +23,7 @@ return [
| This value is the version of your Pixelfed instance.
|
*/
'version' => '0.12.3',
'version' => '0.12.4',
/*
|--------------------------------------------------------------------------

2063
package-lock.json generated

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */

View file

@ -1 +1 @@
(()=>{"use strict";var e,r,o,a={},t={};function n(e){var r=t[e];if(void 0!==r)return r.exports;var o=t[e]={id:e,loaded:!1,exports:{}};return a[e].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.m=a,e=[],n.O=(r,o,a,t)=>{if(!o){var d=1/0;for(u=0;u<e.length;u++){for(var[o,a,t]=e[u],s=!0,i=0;i<o.length;i++)(!1&t||d>=t)&&Object.keys(n.O).every((e=>n.O[e](o[i])))?o.splice(i--,1):(s=!1,t<d&&(d=t));if(s){e.splice(u--,1);var c=a();void 0!==c&&(r=c)}}return r}t=t||0;for(var u=e.length;u>0&&e[u-1][2]>t;u--)e[u]=e[u-1];e[u]=[o,a,t]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var o in r)n.o(r,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,o)=>(n.f[o](e,r),r)),[])),n.u=e=>"js/"+{529:"groups-page",1179:"daci.chunk",1240:"discover~myhashtags.chunk",1645:"profile~following.bundle",2156:"dms.chunk",2822:"group.create",2966:"discover~hashtag.bundle",3688:"discover~serverfeed.chunk",4951:"home.chunk",6250:"discover~settings.chunk",6438:"groups-page-media",6535:"discover.chunk",6740:"discover~memories.chunk",6791:"groups-page-members",7206:"groups-page-topics",7342:"groups-post",7399:"dms~message.chunk",7413:"error404.bundle",7521:"discover~findfriends.chunk",7744:"notifications.chunk",8087:"profile.chunk",8119:"i18n.bundle",8257:"groups-page-about",8408:"post.chunk",8977:"profile~followers.bundle",9124:"compose.chunk",9231:"groups-profile",9919:"changelog.bundle"}[e]+"."+{529:"acb1312c8fa28603",1179:"54a46f9d3a646bd2",1240:"107f22c29aa04b5b",1645:"7a592645bb9eb11f",2156:"49ae3599d4dba309",2822:"e6f580f22769b687",2966:"94de7a1013d118bf",3688:"d7c80d1f408ae4b8",4951:"b4d8cc40a68920c1",6250:"7576e6cfccedc316",6438:"660d310e20bb9451",6535:"b5e4952e4d62342b",6740:"71f40101e955ab62",6791:"9e6e807b47585ba8",7206:"d51e24af2273e3c4",7342:"89ef401bc3e4338f",7399:"61293d7251878a18",7413:"9200c0b8734654fb",7521:"e4652b4bbc15fb50",7744:"f04bf557f846d93a",8087:"5c727a8a961cd959",8119:"873216ad86c80486",8257:"f104deafd36d2813",8408:"75dacb90af9d0e71",8977:"fa171ea239061d55",9124:"34ebded0861594ef",9231:"2d5b53d784146dd1",9919:"da47c74f7034447a"}[e]+".js",n.miniCssF=e=>({2305:"css/portfolio",2540:"css/landing",3364:"css/admin",4370:"css/profile",6952:"css/appdark",8252:"css/app",8759:"css/spa"}[e]+".css"),n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},o="pixelfed:",n.l=(e,a,t,d)=>{if(r[e])r[e].push(a);else{var s,i;if(void 0!==t)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var l=c[u];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+t){s=l;break}}s||(i=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,n.nc&&s.setAttribute("nonce",n.nc),s.setAttribute("data-webpack",o+t),s.src=e),r[e]=[a];var f=(o,a)=>{s.onerror=s.onload=null,clearTimeout(p);var t=r[e];if(delete r[e],s.parentNode&&s.parentNode.removeChild(s),t&&t.forEach((e=>e(a))),o)return o(a)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.bind(null,s.onload),i&&document.head.appendChild(s)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.p="/",(()=>{var e={461:0,6952:0,8252:0,2305:0,3364:0,2540:0,4370:0,8759:0};n.f.j=(r,o)=>{var a=n.o(e,r)?e[r]:void 0;if(0!==a)if(a)o.push(a[2]);else if(/^((69|82)52|2305|2540|3364|4370|461|8759)$/.test(r))e[r]=0;else{var t=new Promise(((o,t)=>a=e[r]=[o,t]));o.push(a[2]=t);var d=n.p+n.u(r),s=new Error;n.l(d,(o=>{if(n.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var t=o&&("load"===o.type?"missing":o.type),d=o&&o.target&&o.target.src;s.message="Loading chunk "+r+" failed.\n("+t+": "+d+")",s.name="ChunkLoadError",s.type=t,s.request=d,a[1](s)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,o)=>{var a,t,[d,s,i]=o,c=0;if(d.some((r=>0!==e[r]))){for(a in s)n.o(s,a)&&(n.m[a]=s[a]);if(i)var u=i(n)}for(r&&r(o);c<d.length;c++)t=d[c],n.o(e,t)&&e[t]&&e[t][0](),e[t]=0;return n.O(u)},o=self.webpackChunkpixelfed=self.webpackChunkpixelfed||[];o.forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o))})(),n.nc=void 0})();
(()=>{"use strict";var e,r,o,a={},t={};function n(e){var r=t[e];if(void 0!==r)return r.exports;var o=t[e]={id:e,loaded:!1,exports:{}};return a[e].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.m=a,e=[],n.O=(r,o,a,t)=>{if(!o){var c=1/0;for(u=0;u<e.length;u++){for(var[o,a,t]=e[u],d=!0,s=0;s<o.length;s++)(!1&t||c>=t)&&Object.keys(n.O).every((e=>n.O[e](o[s])))?o.splice(s--,1):(d=!1,t<c&&(c=t));if(d){e.splice(u--,1);var i=a();void 0!==i&&(r=i)}}return r}t=t||0;for(var u=e.length;u>0&&e[u-1][2]>t;u--)e[u]=e[u-1];e[u]=[o,a,t]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var o in r)n.o(r,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,o)=>(n.f[o](e,r),r)),[])),n.u=e=>"js/"+{529:"groups-page",1179:"daci.chunk",1240:"discover~myhashtags.chunk",1645:"profile~following.bundle",2156:"dms.chunk",2822:"group.create",2966:"discover~hashtag.bundle",3688:"discover~serverfeed.chunk",4951:"home.chunk",6250:"discover~settings.chunk",6438:"groups-page-media",6535:"discover.chunk",6740:"discover~memories.chunk",6791:"groups-page-members",7206:"groups-page-topics",7342:"groups-post",7399:"dms~message.chunk",7413:"error404.bundle",7521:"discover~findfriends.chunk",7744:"notifications.chunk",8087:"profile.chunk",8119:"i18n.bundle",8257:"groups-page-about",8408:"post.chunk",8977:"profile~followers.bundle",9124:"compose.chunk",9231:"groups-profile",9919:"changelog.bundle"}[e]+"."+{529:"53eccead9512c61f",1179:"3ed914c15dec4ff4",1240:"67fd16950ee21ad8",1645:"4ac5466dca6ca1c4",2156:"b7e970fb49da0199",2822:"0d645a1de271e28d",2966:"db1d86f9e9dcb79a",3688:"93bc564867eaa7c3",4951:"c362371940daf318",6250:"950c11c918a541b0",6438:"f611a51e684c48ef",6535:"2986d7e977f5188a",6740:"3b45432a80b08e9b",6791:"bfdefdd66058e838",7206:"431ebaf843ca9b16",7342:"639cb121bdc6f4a7",7399:"011f31232754f650",7413:"ad885ef6f9b2c101",7521:"84758c764668a02c",7744:"8c41265737b2568a",8087:"9e77e21e157a47c5",8119:"882da44b752e4e1a",8257:"06576420562628e3",8408:"5f457aeaa4ae598c",8977:"f26ee6ed6ced9aa7",9124:"e1f297b242137d23",9231:"3b11ffa46ae76520",9919:"7fc2ee6c4475458c"}[e]+".js",n.miniCssF=e=>({2305:"css/portfolio",2540:"css/landing",3364:"css/admin",4370:"css/profile",6952:"css/appdark",8252:"css/app",8759:"css/spa"}[e]+".css"),n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},o="pixelfed:",n.l=(e,a,t,c)=>{if(r[e])r[e].push(a);else{var d,s;if(void 0!==t)for(var i=document.getElementsByTagName("script"),u=0;u<i.length;u++){var l=i[u];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+t){d=l;break}}d||(s=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,n.nc&&d.setAttribute("nonce",n.nc),d.setAttribute("data-webpack",o+t),d.src=e),r[e]=[a];var f=(o,a)=>{d.onerror=d.onload=null,clearTimeout(p);var t=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),t&&t.forEach((e=>e(a))),o)return o(a)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=f.bind(null,d.onerror),d.onload=f.bind(null,d.onload),s&&document.head.appendChild(d)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.p="/",(()=>{var e={461:0,6952:0,8252:0,2305:0,3364:0,2540:0,4370:0,8759:0};n.f.j=(r,o)=>{var a=n.o(e,r)?e[r]:void 0;if(0!==a)if(a)o.push(a[2]);else if(/^((69|82)52|2305|2540|3364|4370|461|8759)$/.test(r))e[r]=0;else{var t=new Promise(((o,t)=>a=e[r]=[o,t]));o.push(a[2]=t);var c=n.p+n.u(r),d=new Error;n.l(c,(o=>{if(n.o(e,r)&&(0!==(a=e[r])&&(e[r]=void 0),a)){var t=o&&("load"===o.type?"missing":o.type),c=o&&o.target&&o.target.src;d.message="Loading chunk "+r+" failed.\n("+t+": "+c+")",d.name="ChunkLoadError",d.type=t,d.request=c,a[1](d)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,o)=>{var a,t,[c,d,s]=o,i=0;if(c.some((r=>0!==e[r]))){for(a in d)n.o(d,a)&&(n.m[a]=d[a]);if(s)var u=s(n)}for(r&&r(o);i<c.length;i++)t=c[i],n.o(e,t)&&e[t]&&e[t][0](),e[t]=0;return n.O(u)},o=self.webpackChunkpixelfed=self.webpackChunkpixelfed||[];o.forEach(r.bind(null,0)),o.push=r.bind(null,o.push.bind(o))})(),n.nc=void 0})();

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */

2
public/js/vendor.js vendored

File diff suppressed because one or more lines are too long

View file

@ -6,7 +6,7 @@
"/js/profile.js": "/js/profile.js?id=c207130ea4ca11e2c38cb5c95c362bf9",
"/js/status.js": "/js/status.js?id=ab8db98a6f8c88d0aa44761303835c00",
"/js/timeline.js": "/js/timeline.js?id=fe60e818a87fc50a0cea15c6937f15a7",
"/js/compose.js": "/js/compose.js?id=5d33cb0795e845a82e6b33d18d6fd0a5",
"/js/compose.js": "/js/compose.js?id=7b916f1a8cc374daccbd6bf14acd3196",
"/js/compose-classic.js": "/js/compose-classic.js?id=25300467f8cc5d0cf48353ad2a15f9b6",
"/js/search.js": "/js/search.js?id=63cf7a7bafc600cdfe5d7bdebfaa76f7",
"/js/developers.js": "/js/developers.js?id=4de04f01dea35c4958fb820647e6496d",
@ -27,35 +27,35 @@
"/js/groups.js": "/js/groups.js?id=e70f0350caf2e1d67b0b78a9b3c822c2",
"/js/group-status.js": "/js/group-status.js?id=23571c70f2794de54541e127ae1f3369",
"/js/group-topic-feed.js": "/js/group-topic-feed.js?id=16fa7d88f104424ad33c244af6cf5d77",
"/js/manifest.js": "/js/manifest.js?id=1b590f383ccf6a08156df03ec317d193",
"/js/home.chunk.b4d8cc40a68920c1.js": "/js/home.chunk.b4d8cc40a68920c1.js?id=bca9e363dcd13381139370961128f74a",
"/js/compose.chunk.34ebded0861594ef.js": "/js/compose.chunk.34ebded0861594ef.js?id=b3423e85ceaa84d05021458186f5d73a",
"/js/post.chunk.75dacb90af9d0e71.js": "/js/post.chunk.75dacb90af9d0e71.js?id=d92917c5e592daf378e79aa8b0a9d8c4",
"/js/profile.chunk.5c727a8a961cd959.js": "/js/profile.chunk.5c727a8a961cd959.js?id=25567578b59cb051a454fedc84f8a34d",
"/js/discover~memories.chunk.71f40101e955ab62.js": "/js/discover~memories.chunk.71f40101e955ab62.js?id=fe3102ee61b6d8bf9fdf9d28b80d1ae9",
"/js/discover~myhashtags.chunk.107f22c29aa04b5b.js": "/js/discover~myhashtags.chunk.107f22c29aa04b5b.js?id=70db27f673c81eeb7e807d15c3c3ec9e",
"/js/daci.chunk.54a46f9d3a646bd2.js": "/js/daci.chunk.54a46f9d3a646bd2.js?id=f7aeb4773ef4da06a1f15be07708eeae",
"/js/discover~findfriends.chunk.e4652b4bbc15fb50.js": "/js/discover~findfriends.chunk.e4652b4bbc15fb50.js?id=3fd0372ff1d6b19c723f67a74961a2c8",
"/js/discover~serverfeed.chunk.d7c80d1f408ae4b8.js": "/js/discover~serverfeed.chunk.d7c80d1f408ae4b8.js?id=27a956f91daadc35a5f1a937fff58ad2",
"/js/discover~settings.chunk.7576e6cfccedc316.js": "/js/discover~settings.chunk.7576e6cfccedc316.js?id=bdbe504c5b3be3a473c436e2c2bba750",
"/js/discover.chunk.b5e4952e4d62342b.js": "/js/discover.chunk.b5e4952e4d62342b.js?id=f51e4da437a46aaf5d0540641ccbc88b",
"/js/notifications.chunk.f04bf557f846d93a.js": "/js/notifications.chunk.f04bf557f846d93a.js?id=3c71c0134bcc32bf7f91f82f1e5fa27f",
"/js/dms.chunk.49ae3599d4dba309.js": "/js/dms.chunk.49ae3599d4dba309.js?id=1f8c5e7e35e30e73e070f82de123b5d8",
"/js/dms~message.chunk.61293d7251878a18.js": "/js/dms~message.chunk.61293d7251878a18.js?id=2eacf2e94ec7fb418f3e6d4276971732",
"/js/profile~followers.bundle.fa171ea239061d55.js": "/js/profile~followers.bundle.fa171ea239061d55.js?id=ae2d400c3bcf480686ecbf90ef4a66ed",
"/js/profile~following.bundle.7a592645bb9eb11f.js": "/js/profile~following.bundle.7a592645bb9eb11f.js?id=3956330a33e993d1c7259b679f5953b5",
"/js/discover~hashtag.bundle.94de7a1013d118bf.js": "/js/discover~hashtag.bundle.94de7a1013d118bf.js?id=c9aa656e99c12e264012d0089909f7c4",
"/js/error404.bundle.9200c0b8734654fb.js": "/js/error404.bundle.9200c0b8734654fb.js?id=5ed4f77d9dce508677d90200fb9e81cd",
"/js/i18n.bundle.873216ad86c80486.js": "/js/i18n.bundle.873216ad86c80486.js?id=81b682d300258e41f2fd575562119e95",
"/js/changelog.bundle.da47c74f7034447a.js": "/js/changelog.bundle.da47c74f7034447a.js?id=8445c18302c31c1d7d974e08db9b6a6d",
"/js/group.create.e6f580f22769b687.js": "/js/group.create.e6f580f22769b687.js?id=40ea73e52db6d7d395505264d3d178c8",
"/js/groups-post.89ef401bc3e4338f.js": "/js/groups-post.89ef401bc3e4338f.js?id=a0288be80a4d17f5c966c71d6253f663",
"/js/groups-profile.2d5b53d784146dd1.js": "/js/groups-profile.2d5b53d784146dd1.js?id=399deea282e639d488852a4f2a7a6d8b",
"/js/groups-page-about.f104deafd36d2813.js": "/js/groups-page-about.f104deafd36d2813.js?id=d236c4c5ded0ab16516355ad812f43e0",
"/js/groups-page-topics.d51e24af2273e3c4.js": "/js/groups-page-topics.d51e24af2273e3c4.js?id=df82af62cf62ce5df4467ced6b5b0f6b",
"/js/groups-page-members.9e6e807b47585ba8.js": "/js/groups-page-members.9e6e807b47585ba8.js?id=66283477f45f98715dabab228b58a70b",
"/js/groups-page-media.660d310e20bb9451.js": "/js/groups-page-media.660d310e20bb9451.js?id=63ced28b7fed630b5557ed31936a5daa",
"/js/groups-page.acb1312c8fa28603.js": "/js/groups-page.acb1312c8fa28603.js?id=ca5e177a511b14de259003ad2f96ef47",
"/js/manifest.js": "/js/manifest.js?id=0715d948c435bcee23836df863ae8a84",
"/js/home.chunk.c362371940daf318.js": "/js/home.chunk.c362371940daf318.js?id=ab25b048bda3b8cbc9592771386361da",
"/js/compose.chunk.e1f297b242137d23.js": "/js/compose.chunk.e1f297b242137d23.js?id=e58511323373babce3076f4befd901ec",
"/js/post.chunk.5f457aeaa4ae598c.js": "/js/post.chunk.5f457aeaa4ae598c.js?id=e03c8b53f2918c5b67bff6e83c95eaa5",
"/js/profile.chunk.9e77e21e157a47c5.js": "/js/profile.chunk.9e77e21e157a47c5.js?id=25567578b59cb051a454fedc84f8a34d",
"/js/discover~memories.chunk.3b45432a80b08e9b.js": "/js/discover~memories.chunk.3b45432a80b08e9b.js?id=fe3102ee61b6d8bf9fdf9d28b80d1ae9",
"/js/discover~myhashtags.chunk.67fd16950ee21ad8.js": "/js/discover~myhashtags.chunk.67fd16950ee21ad8.js?id=70db27f673c81eeb7e807d15c3c3ec9e",
"/js/daci.chunk.3ed914c15dec4ff4.js": "/js/daci.chunk.3ed914c15dec4ff4.js?id=f7aeb4773ef4da06a1f15be07708eeae",
"/js/discover~findfriends.chunk.84758c764668a02c.js": "/js/discover~findfriends.chunk.84758c764668a02c.js?id=3fd0372ff1d6b19c723f67a74961a2c8",
"/js/discover~serverfeed.chunk.93bc564867eaa7c3.js": "/js/discover~serverfeed.chunk.93bc564867eaa7c3.js?id=27a956f91daadc35a5f1a937fff58ad2",
"/js/discover~settings.chunk.950c11c918a541b0.js": "/js/discover~settings.chunk.950c11c918a541b0.js?id=bdbe504c5b3be3a473c436e2c2bba750",
"/js/discover.chunk.2986d7e977f5188a.js": "/js/discover.chunk.2986d7e977f5188a.js?id=f51e4da437a46aaf5d0540641ccbc88b",
"/js/notifications.chunk.8c41265737b2568a.js": "/js/notifications.chunk.8c41265737b2568a.js?id=3c71c0134bcc32bf7f91f82f1e5fa27f",
"/js/dms.chunk.b7e970fb49da0199.js": "/js/dms.chunk.b7e970fb49da0199.js?id=1f8c5e7e35e30e73e070f82de123b5d8",
"/js/dms~message.chunk.011f31232754f650.js": "/js/dms~message.chunk.011f31232754f650.js?id=2eacf2e94ec7fb418f3e6d4276971732",
"/js/profile~followers.bundle.f26ee6ed6ced9aa7.js": "/js/profile~followers.bundle.f26ee6ed6ced9aa7.js?id=ae2d400c3bcf480686ecbf90ef4a66ed",
"/js/profile~following.bundle.4ac5466dca6ca1c4.js": "/js/profile~following.bundle.4ac5466dca6ca1c4.js?id=3956330a33e993d1c7259b679f5953b5",
"/js/discover~hashtag.bundle.db1d86f9e9dcb79a.js": "/js/discover~hashtag.bundle.db1d86f9e9dcb79a.js?id=c9aa656e99c12e264012d0089909f7c4",
"/js/error404.bundle.ad885ef6f9b2c101.js": "/js/error404.bundle.ad885ef6f9b2c101.js?id=5ed4f77d9dce508677d90200fb9e81cd",
"/js/i18n.bundle.882da44b752e4e1a.js": "/js/i18n.bundle.882da44b752e4e1a.js?id=81b682d300258e41f2fd575562119e95",
"/js/changelog.bundle.7fc2ee6c4475458c.js": "/js/changelog.bundle.7fc2ee6c4475458c.js?id=8445c18302c31c1d7d974e08db9b6a6d",
"/js/group.create.0d645a1de271e28d.js": "/js/group.create.0d645a1de271e28d.js?id=40ea73e52db6d7d395505264d3d178c8",
"/js/groups-post.639cb121bdc6f4a7.js": "/js/groups-post.639cb121bdc6f4a7.js?id=a0288be80a4d17f5c966c71d6253f663",
"/js/groups-profile.3b11ffa46ae76520.js": "/js/groups-profile.3b11ffa46ae76520.js?id=399deea282e639d488852a4f2a7a6d8b",
"/js/groups-page-about.06576420562628e3.js": "/js/groups-page-about.06576420562628e3.js?id=d236c4c5ded0ab16516355ad812f43e0",
"/js/groups-page-topics.431ebaf843ca9b16.js": "/js/groups-page-topics.431ebaf843ca9b16.js?id=df82af62cf62ce5df4467ced6b5b0f6b",
"/js/groups-page-members.bfdefdd66058e838.js": "/js/groups-page-members.bfdefdd66058e838.js?id=66283477f45f98715dabab228b58a70b",
"/js/groups-page-media.f611a51e684c48ef.js": "/js/groups-page-media.f611a51e684c48ef.js?id=63ced28b7fed630b5557ed31936a5daa",
"/js/groups-page.53eccead9512c61f.js": "/js/groups-page.53eccead9512c61f.js?id=ca5e177a511b14de259003ad2f96ef47",
"/css/appdark.css": "/css/appdark.css?id=3cbc92b4784f57c91681c8a7ede0db5f",
"/css/app.css": "/css/app.css?id=e10a6f66100a7c9bc1facc89f655de0a",
"/css/portfolio.css": "/css/portfolio.css?id=d98e354f173c6a8b729626384dceaa90",
@ -63,5 +63,5 @@
"/css/landing.css": "/css/landing.css?id=b6e73c3924453e3053aff7d192895d8c",
"/css/profile.css": "/css/profile.css?id=ae4f5db9bb1a89db2ae293d6bde812e3",
"/css/spa.css": "/css/spa.css?id=041aed9a146db0e74b2cfe3ad8eaf96c",
"/js/vendor.js": "/js/vendor.js?id=f058d2814d504b63253b834e4d38de19"
"/js/vendor.js": "/js/vendor.js?id=86eed7580ba947919cbc0716ef7dc0a5"
}

View file

@ -1095,11 +1095,12 @@ export default {
},
defineErrorMessage(errObject) {
let msg;
if (errObject.response) {
let msg = errObject.response.data.message ? errObject.response.data.message : 'An unexpected error occured.';
msg = errObject.response.data.message ? errObject.response.data.message : 'An unexpected error occured.';
}
else {
let msg = errObject.message;
msg = errObject.message;
}
return swal('Oops, something went wrong!', msg, 'error');
},
@ -1765,57 +1766,91 @@ export default {
applyFilterToMedia() {
// this is where the magic happens
var ua = navigator.userAgent.toLowerCase();
if(ua.indexOf('firefox') == -1 && ua.indexOf('chrome') == -1) {
this.isPosting = false;
swal('Oops!', 'Your browser does not support the filter feature.', 'error');
this.page = 3;
return;
}
let count = this.media.filter(m => m.filter_class).length;
if(count) {
this.page = 'filteringMedia';
this.filteringRemainingCount = count;
this.$nextTick(() => {
this.isFilteringMedia = true;
this.media.forEach((media, idx) => this.applyFilterToMediaSave(media, idx));
Promise.all(this.media.map(media => {
return this.applyFilterToMediaSave(media);
})).catch(err => {
console.error(err);
swal('Oops!', 'An error occurred while applying filters to your media. Please refresh the page and try again. If the problem persist, please try a different web browser.', 'error');
});
})
} else {
this.page = 3;
}
},
applyFilterToMediaSave(media, idx) {
async applyFilterToMediaSave(media) {
if(!media.filter_class) {
return;
}
let self = this;
let data = null;
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
let image = document.createElement('img');
// Load image
const image = document.createElement('img');
image.src = media.url;
image.addEventListener('load', e => {
await new Promise((resolve, reject) => {
image.addEventListener('load', () => resolve());
image.addEventListener('error', () => {
reject(new Error('Failed to load image'));
});
});
// Create canvas
let canvas;
let usingOffscreenCanvas = false;
if('OffscreenCanvas' in window) {
canvas = new OffscreenCanvas(image.width, image.height);
usingOffscreenCanvas = true;
} else {
canvas = document.createElement('canvas');
canvas.width = image.width;
canvas.height = image.height;
ctx.filter = App.util.filterCss[media.filter_class];
ctx.drawImage(image, 0, 0, image.width, image.height);
ctx.save();
canvas.toBlob(function(blob) {
data = new FormData();
data.append('file', blob);
data.append('id', media.id);
axios.post('/api/compose/v0/media/update', data)
.then(res => {
self.media[idx].is_filtered = true;
self.updateFilteringMedia();
}).catch(err => {
});
}
// Draw image with filter to canvas
const ctx = canvas.getContext('2d');
if (!ctx) {
throw new Error('Failed to get canvas context');
}
if (!('filter' in ctx)) {
throw new Error('Canvas filter not supported');
}
ctx.filter = App.util.filterCss[media.filter_class];
ctx.drawImage(image, 0, 0, image.width, image.height);
ctx.save();
// Convert canvas to blob
let blob;
if(usingOffscreenCanvas) {
blob = await canvas.convertToBlob({
type: media.mime,
quality: 1,
});
}, media.mime, 0.9);
ctx.clearRect(0, 0, image.width, image.height);
} else {
blob = await new Promise((resolve, reject) => {
canvas.toBlob(blob => {
if(blob) {
resolve(blob);
} else {
reject(
new Error('Failed to convert canvas to blob'),
);
}
}, media.mime, 1);
});
}
// Upload blob / Update media
const data = new FormData();
data.append('file', blob);
data.append('id', media.id);
await axios.post('/api/compose/v0/media/update', data);
media.is_filtered = true;
this.updateFilteringMedia();
},
updateFilteringMedia() {

View file

@ -13,7 +13,7 @@
<p class="text-center font-weight-bold">How to get your export data from Instagram:</p>
<ol class="pb-4">
<li class="mb-2">
<span>Follow the Instagram instructions on <strong>Downloading a copy of your data on Instagram</strong> on <a href="https://help.instagram.com/181231772500920" class="font-weight-bold">this page</a>. <strong class="text-danger small font-weight-bold">Make sure you select the JSON format</strong></span>
<span><strong>Download your information in Instagram's Accounts Center</strong> on <a href="https://www.instagram.com/download/request" class="font-weight-bold">this page</a>. <strong class="text-danger small font-weight-bold">Make sure you select the JSON format</strong></span>
</li>
<li class="mb-2">
<span>Wait for the email from Instagram with your download link</span>