Merge pull request #3473 from pixelfed/staging

Staging
This commit is contained in:
daniel 2022-05-15 23:35:21 -06:00 committed by GitHub
commit 54f4cac9c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
63 changed files with 178 additions and 115 deletions

View file

@ -83,6 +83,8 @@ REDIS_PASSWORD=redis_password
REDIS_PORT=6379
REDIS_DATABASE=0
HORIZON_PREFIX="horizon-"
## EXPERIMENTS
EXP_LC=false
EXP_REC=false
@ -145,4 +147,4 @@ TRUST_PROXIES="*"
## Passport
#PASSPORT_PRIVATE_KEY=
#PASSPORT_PUBLIC_KEY=
#PASSPORT_PUBLIC_KEY=

View file

@ -23,6 +23,8 @@ CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_DRIVER=redis
HORIZON_PREFIX="horizon-"
REDIS_SCHEME=tcp
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null

View file

@ -28,6 +28,8 @@ REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
HORIZON_PREFIX="horizon-"
MAIL_DRIVER=log
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525

View file

@ -2,13 +2,21 @@
## [Unreleased](https://github.com/pixelfed/pixelfed/compare/v0.11.3...dev)
### Breaking
- Replaced `predis` with `phpredis` as default redis driver due to predis being deprecated, install [phpredis](https://github.com/phpredis/phpredis/blob/develop/INSTALL.markdown) if you're still using predis.
### Updates
- Improve S3 support by removing `ListObjects` call in media deletion ([#3438](https://github.com/pixelfed/pixelfed/pull/3438))
- Enforce UTC in incoming activities ([18931a1f](https://github.com/pixelfed/pixelfed/commit/18931a1f))
- Add storage flags to admin dashboard diagnostics ([#3444](https://github.com/pixelfed/pixelfed/pull/3444))
- Hardcode UTC application timezone to prevent timezone issues ([b0d2c5e1](https://github.com/pixelfed/pixelfed/commit/b0d2c5e1))
- Remove arbitrary metro url redirect timeout ([84209c24](https://github.com/pixelfed/pixelfed/commit/84209c24))
- Fix JSON-LD contexts ([#3464](https://github.com/pixelfed/pixelfed/pull/3464))
- Fix json-ld attributes, fixes #3423 ([95f902b1](https://github.com/pixelfed/pixelfed/commit/95f902b1))
- Add trusted proxies flag to admin dashboard diagnostics ([#3450](https://github.com/pixelfed/pixelfed/pull/3450))
- Fix json-ld attributes, fixes #3423 ([95f902b1](https://github.com/pixelfed/pixelfed/commit/95f902b1))
- Update exp config, enforce mastoapi compatibility by default ([a160b233](https://github.com/pixelfed/pixelfed/commit/a160b233))
- Update home timeline, redirect to /i/web unless force_old_ui is presen ([5ff4730f](https://github.com/pixelfed/pixelfed/commit/5ff4730f))
## [v0.11.3 (2022-05-09)](https://github.com/pixelfed/pixelfed/compare/v0.11.2...v0.11.3)

View file

@ -97,7 +97,6 @@ class Installer extends Command
if(extension_loaded($ext) == false) {
$this->error("- {$ext} extension not found, aborting installation");
exit;
} else {
}
}
$this->info("- Required PHP extensions found!");

View file

@ -120,7 +120,7 @@ class AdminController extends Controller
public function appsHome(Request $request)
{
$filter = $request->input('filter');
if(in_array($filter, ['revoked'])) {
if($filter == 'revoked') {
$apps = OauthClient::with('user')
->whereNotNull('user_id')
->whereRevoked(true)

View file

@ -796,13 +796,8 @@ class DirectMessageController extends Controller
$body = [
'@context' => [
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
[
'sc' => 'http://schema.org#',
'Hashtag' => 'as:Hashtag',
'sensitive' => 'as:sensitive',
]
'https://www.w3.org/ns/activitystreams',
],
'id' => $dm->status->permalink(),
'type' => 'Create',
@ -845,12 +840,6 @@ class DirectMessageController extends Controller
$body = [
'@context' => [
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
[
'sc' => 'http://schema.org#',
'Hashtag' => 'as:Hashtag',
'sensitive' => 'as:sensitive',
]
],
'id' => $dm->status->permalink('#delete'),
'to' => [

View file

@ -29,11 +29,11 @@ class SiteController extends Controller
public function homeTimeline(Request $request)
{
$this->validate($request, [
'layout' => 'nullable|string|in:grid,feed'
]);
$layout = $request->input('layout', 'feed');
return view('timeline.home', compact('layout'));
if($request->has('force_old_ui')) {
return view('timeline.home', ['layout' => 'feed']);
}
return redirect('/i/web');
}
public function changeLocale(Request $request, $locale)

View file

@ -11,13 +11,10 @@ class ProfileTransformer extends Fractal\TransformerAbstract
{
return [
'@context' => [
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
'https://www.w3.org/ns/activitystreams',
[
'manuallyApprovesFollowers' => 'as:manuallyApprovesFollowers',
'PropertyValue' => 'schema:PropertyValue',
'schema' => 'http://schema.org#',
'value' => 'schema:value'
],
],
'id' => $profile->permalink(),

View file

@ -53,17 +53,32 @@ class CreateNote extends Fractal\TransformerAbstract
return [
'@context' => [
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
'https://www.w3.org/ns/activitystreams',
[
'sc' => 'http://schema.org#',
'Hashtag' => 'as:Hashtag',
'sensitive' => 'as:sensitive',
'commentsEnabled' => 'sc:Boolean',
'@capabilities' => [
'@announce' => '@id',
'@like' => '@id',
'@reply' => '@id',
'schema' => 'http://schema.org/',
'pixelfed' => 'http://pixelfed.org/ns#'
'commentsEnabled' => [
'@id' => 'pixelfed:commentsEnabled',
'@type' => 'schema:Boolean'
],
'capabilities' => [
'@id' => 'pixelfed:capabilities',
'@container' => '@set'
],
'announce' => [
'@id' => 'pixelfed:canAnnounce',
'@type' => '@id'
],
'like' => [
'@id' => 'pixelfed:canLike',
'@type' => '@id'
],
'reply' => [
'@id' => 'pixelfed:canReply',
'@type' => '@id'
],
'toot' => 'http://joinmastodon.org/ns#',
'Emoji' => 'toot:Emoji'

View file

@ -16,18 +16,35 @@ class CreateQuestion extends Fractal\TransformerAbstract
{
return [
'@context' => [
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
'https://www.w3.org/ns/activitystreams',
[
'sc' => 'http://schema.org#',
'Hashtag' => 'as:Hashtag',
'sensitive' => 'as:sensitive',
'commentsEnabled' => 'sc:Boolean',
'@capabilities' => [
'@announce' => '@id',
'@like' => '@id',
'@reply' => '@id',
'schema' => 'http://schema.org/',
'pixelfed' => 'http://pixelfed.org/ns#'
'commentsEnabled' => [
'@id' => 'pixelfed:commentsEnabled',
'@type' => 'schema:Boolean'
],
'capabilities' => [
'@id' => 'pixelfed:capabilities',
'@container' => '@set'
],
'announce' => [
'@id' => 'pixelfed:canAnnounce',
'@type' => '@id'
],
'like' => [
'@id' => 'pixelfed:canLike',
'@type' => '@id'
],
'reply' => [
'@id' => 'pixelfed:canReply',
'@type' => '@id'
],
'toot' => 'http://joinmastodon.org/ns#',
'Emoji' => 'toot:Emoji'
]
],
'id' => $status->permalink(),

View file

@ -54,17 +54,32 @@ class Note extends Fractal\TransformerAbstract
return [
'@context' => [
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
'https://www.w3.org/ns/activitystreams',
[
'sc' => 'http://schema.org#',
'Hashtag' => 'as:Hashtag',
'sensitive' => 'as:sensitive',
'commentsEnabled' => 'sc:Boolean',
'@capabilities' => [
'@announce' => '@id',
'@like' => '@id',
'@reply' => '@id',
'schema' => 'http://schema.org/',
'pixelfed' => 'http://pixelfed.org/ns#'
'commentsEnabled' => [
'@id' => 'pixelfed:commentsEnabled',
'@type' => 'schema:Boolean'
],
'capabilities' => [
'@id' => 'pixelfed:capabilities',
'@container' => '@set'
],
'announce' => [
'@id' => 'pixelfed:canAnnounce',
'@type' => '@id'
],
'like' => [
'@id' => 'pixelfed:canLike',
'@type' => '@id'
],
'reply' => [
'@id' => 'pixelfed:canReply',
'@type' => '@id'
],
'toot' => 'http://joinmastodon.org/ns#',
'Emoji' => 'toot:Emoji'

View file

@ -32,58 +32,75 @@ class Question extends Fractal\TransformerAbstract
$tags = array_merge($mentions, $hashtags);
return [
'@context' => [
'https://www.w3.org/ns/activitystreams',
'https://w3id.org/security/v1',
[
'sc' => 'http://schema.org#',
'Hashtag' => 'as:Hashtag',
'sensitive' => 'as:sensitive',
'commentsEnabled' => 'sc:Boolean',
'@capabilities' => [
'@announce' => '@id',
'@like' => '@id',
'@reply' => '@id',
],
'@context' => [
'https://w3id.org/security/v1',
'https://www.w3.org/ns/activitystreams',
[
'Hashtag' => 'as:Hashtag',
'sensitive' => 'as:sensitive',
'schema' => 'http://schema.org/',
'pixelfed' => 'http://pixelfed.org/ns#'
'commentsEnabled' => [
'@id' => 'pixelfed:commentsEnabled',
'@type' => 'schema:Boolean'
],
'capabilities' => [
'@id' => 'pixelfed:capabilities',
'@container' => '@set'
],
'announce' => [
'@id' => 'pixelfed:canAnnounce',
'@type' => '@id'
],
'like' => [
'@id' => 'pixelfed:canLike',
'@type' => '@id'
],
'reply' => [
'@id' => 'pixelfed:canReply',
'@type' => '@id'
],
'toot' => 'http://joinmastodon.org/ns#',
'Emoji' => 'toot:Emoji'
]
],
'id' => $status->url(),
'type' => 'Question',
'summary' => null,
'content' => $status->rendered ?? $status->caption,
'inReplyTo' => $status->in_reply_to_id ? $status->parent()->url() : null,
'published' => $status->created_at->toAtomString(),
'url' => $status->url(),
'attributedTo' => $status->profile->permalink(),
'to' => $status->scopeToAudience('to'),
'cc' => $status->scopeToAudience('cc'),
'sensitive' => (bool) $status->is_nsfw,
'attachment' => [],
'tag' => $tags,
'commentsEnabled' => (bool) !$status->comments_disabled,
'capabilities' => [
'announce' => 'https://www.w3.org/ns/activitystreams#Public',
'like' => 'https://www.w3.org/ns/activitystreams#Public',
'reply' => $status->comments_disabled == true ? null : 'https://www.w3.org/ns/activitystreams#Public'
],
'location' => $status->place_id ? [
'type' => 'Place',
'name' => $status->place->name,
'longitude' => $status->place->long,
'latitude' => $status->place->lat,
'country' => $status->place->country
] : null,
'endTime' => $status->poll->expires_at->toAtomString(),
'oneOf' => collect($status->poll->poll_options)->map(function($option, $index) use($status) {
return [
'type' => 'Note',
'name' => $option,
'replies' => [
'type' => 'Collection',
'totalItems' => $status->poll->cached_tallies[$index]
]
],
'id' => $status->url(),
'type' => 'Question',
'summary' => null,
'content' => $status->rendered ?? $status->caption,
'inReplyTo' => $status->in_reply_to_id ? $status->parent()->url() : null,
'published' => $status->created_at->toAtomString(),
'url' => $status->url(),
'attributedTo' => $status->profile->permalink(),
'to' => $status->scopeToAudience('to'),
'cc' => $status->scopeToAudience('cc'),
'sensitive' => (bool) $status->is_nsfw,
'attachment' => [],
'tag' => $tags,
'commentsEnabled' => (bool) !$status->comments_disabled,
'capabilities' => [
'announce' => 'https://www.w3.org/ns/activitystreams#Public',
'like' => 'https://www.w3.org/ns/activitystreams#Public',
'reply' => $status->comments_disabled == true ? null : 'https://www.w3.org/ns/activitystreams#Public'
],
'location' => $status->place_id ? [
'type' => 'Place',
'name' => $status->place->name,
'longitude' => $status->place->long,
'latitude' => $status->place->lat,
'country' => $status->place->country
] : null,
'endTime' => $status->poll->expires_at->toAtomString(),
'oneOf' => collect($status->poll->poll_options)->map(function($option, $index) use($status) {
return [
'type' => 'Note',
'name' => $option,
'replies' => [
'type' => 'Collection',
'totalItems' => $status->poll->cached_tallies[$index]
]
];
})
];
];
})
];
}
}

View file

@ -38,7 +38,6 @@ class StatusTransformer extends Fractal\TransformerAbstract
'website' => null
],
'mentions' => [],
'tags' => [],
'emojis' => [],
'card' => null,
'poll' => null,

View file

@ -667,6 +667,7 @@ class Inbox
if($story) {
StoryExpire::dispatch($story)->onQueue('story');
}
break;
default:
return;

View file

@ -107,7 +107,7 @@ return [
'redis' => [
'client' => env('REDIS_CLIENT', 'predis'),
'client' => env('REDIS_CLIENT', 'phpredis'),
'default' => [
'scheme' => env('REDIS_SCHEME', 'tcp'),

View file

@ -32,6 +32,5 @@ return [
'spa' => true,
// Enforce Mastoapi Compatibility (alpha)
// Note: this may break 3rd party apps who use non-mastodon compliant fields
'emc' => env('EXP_EMC', false),
'emc' => env('EXP_EMC', true),
];

View file

@ -52,7 +52,7 @@ return [
|
*/
'prefix' => env('HORIZON_PREFIX', 'horizon-'.str_random(8).':'),
'prefix' => env('HORIZON_PREFIX', 'horizon-'),
/*
|--------------------------------------------------------------------------

View file

@ -23,5 +23,5 @@ return [
* how many proxies that client's request has
* subsequently passed through.
*/
'proxies' => env('TRUST_PROXIES', ''),
'proxies' => env('TRUST_PROXIES', '*'),
];

BIN
public/js/daci-mh8cayo8d.js vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
public/js/dffc-mh8cayo8d.js vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
public/js/discover-mh8cayo8d.js vendored Normal file

Binary file not shown.

BIN
public/js/dms-mh8cayo8d.js vendored Normal file

Binary file not shown.

BIN
public/js/dmsg-mh8cayo8d.js vendored Normal file

Binary file not shown.

BIN
public/js/dmyh-mh8cayo8d.js vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
public/js/dmym-mh8cayo8d.js vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
public/js/dsfc-mh8cayo8d.js vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
public/js/dssc-mh8cayo8d.js vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
public/js/home-mh8cayo8d.js vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
public/js/loops.js vendored

Binary file not shown.

BIN
public/js/manifest.js vendored

Binary file not shown.

BIN
public/js/notifications-mh8cayo8d.js vendored Normal file

Binary file not shown.

BIN
public/js/post-mh8cayo8d.js vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
public/js/profile-mh8cayo8d.js vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
public/js/profile.js vendored

Binary file not shown.

BIN
public/js/rempos.js vendored

Binary file not shown.

BIN
public/js/rempro.js vendored

Binary file not shown.

BIN
public/js/spa.js vendored

Binary file not shown.

BIN
public/js/status.js vendored

Binary file not shown.

BIN
public/js/timeline.js vendored

Binary file not shown.

BIN
public/js/vendor.js vendored

Binary file not shown.

Binary file not shown.

View file

@ -735,7 +735,6 @@ export default {
layout: this.profileLayout,
showProfileMorePosts: false,
profileMorePosts: [],
replySending: false,
reactionBarLoading: true,
tributeSettings: {
collection: [

View file

@ -614,7 +614,6 @@ export default {
layout: this.profileLayout,
showProfileMorePosts: false,
profileMorePosts: [],
replySending: false,
reactionBarLoading: true,
profileUrl: null,
currentLayout: 'status'

View file

@ -98,7 +98,7 @@
<div>
<p class="mb-0 small text-lighter font-weight-bold d-flex justify-content-between">
<span>{{ status.poll.votes_count }} votes</span>
<a v-if="tab != 'results' && authenticated && !activeRefreshTimeout & status.poll.expired != true && status.poll.voted" class="text-lighter" @click.prevent="refreshResults()" href="#">Refresh Results</a>
<a v-if="tab != 'results' && authenticated && !activeRefreshTimeout && status.poll.expired != true && status.poll.voted" class="text-lighter" @click.prevent="refreshResults()" href="#">Refresh Results</a>
<span v-if="tab != 'results' && authenticated && refreshingResults" class="text-lighter">
<div class="spinner-border spinner-border-sm" role="status">
<span class="sr-only">Loading...</span>

View file

@ -4,6 +4,5 @@ return [
'emptyTimeline' => 'Tällä käyttäjällä ei ole vielä päivityksiä!',
'emptyFollowers' => 'Tällä käyttäjällä ei ole vielä seuraajia!',
'emptyFollowing' => 'Tämä käyttäjä ei vielä seuraa ketään!',
'savedWarning' => 'Only you can see what you\'ve saved',
'savedWarning' => 'Vain sinä voit nähdä, mitä olet tallentanut',
];

View file

@ -184,6 +184,11 @@
<strong><span class="badge badge-primary">Storage</span> Filesystems default (local/s3/spaces): </strong>
<span>{{ config_cache('filesystems.default')}}</span>
</li>
<li>
<strong><span class="badge badge-primary">Network</span> TrustedProxy: </strong>
<span>{{ config('trustedproxy.proxies') }}</span>
</li>
</ul>
</div>
<div class="pb-3 border-bottom">

View file

@ -37,7 +37,7 @@
<div class="card status-card-embed card-md-rounded-0 border">
<div class="card-header d-inline-flex align-items-center justify-content-between bg-white">
<div>
<img src="{{$profile['avatar']}}" width="32px" height="32px" target="_blank" style="border-radius: 32px;">
<img src="{{$profile['avatar']}}" width="32px" height="32px" style="border-radius: 32px;">
<a class="username font-weight-bold pl-2 text-dark" target="_blank" href="{{$profile['url']}}">
{{$profile['username']}}
</a>

View file

@ -27,6 +27,7 @@
Max Size: 1 MB. Supported formats: jpeg, png.
</small>
</div>
</form>
</div>
</div>
</div>
@ -39,8 +40,6 @@
</div>
</div>
</div>
</form>
</div>
@endsection
@endsection

View file

@ -9,7 +9,7 @@
@if ($errors->any())
<div class="alert alert-danger px-3 h6 text-center">
@foreach($errors->all() as $error)
<p class="font-weight-bold mb-1">{{ $error }}</li>
<p class="font-weight-bold mb-1">{{ $error }}</p>
@endforeach
</div>
@endif

View file

@ -9,7 +9,7 @@
@if ($errors->any())
<div class="alert alert-danger px-3 h6 text-center">
@foreach($errors->all() as $error)
<p class="font-weight-bold mb-1">{{ $error }}</li>
<p class="font-weight-bold mb-1">{{ $error }}</p>
@endforeach
</div>
@endif

View file

@ -9,7 +9,7 @@
@if ($errors->any())
<div class="alert alert-danger px-3 h6 text-center">
@foreach($errors->all() as $error)
<p class="font-weight-bold mb-1">{{ $error }}</li>
<p class="font-weight-bold mb-1">{{ $error }}</p>
@endforeach
</div>
@endif

View file

@ -37,7 +37,7 @@
@php($item = $status)
<div class="card status-card-embed card-md-rounded-0 border">
<div class="card-header d-inline-flex align-items-center bg-white">
<img src="{{$item->profile->avatarUrl()}}" width="32px" height="32px" target="_blank" style="border-radius: 32px;">
<img src="{{$item->profile->avatarUrl()}}" width="32px" height="32px" style="border-radius: 32px;">
<a class="username font-weight-bold pl-2 text-dark" target="_blank" href="{{$item->profile->url()}}">
{{$item->profile->username}}
</a>