Merge pull request #4953 from pixelfed/staging

Staging
This commit is contained in:
daniel 2024-02-22 03:51:39 -07:00 committed by GitHub
commit 36f84db03b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 32 additions and 14 deletions

View file

@ -15,6 +15,7 @@
- Update api v1/v2 instance endpoints, bump mastoapi version from 2.7.2 to 3.5.3 ([545f7d5e](https://github.com/pixelfed/pixelfed/commit/545f7d5e)) - Update api v1/v2 instance endpoints, bump mastoapi version from 2.7.2 to 3.5.3 ([545f7d5e](https://github.com/pixelfed/pixelfed/commit/545f7d5e))
- Update ApiV1Controller, implement better limit logic to gracefully handle requests with limits that exceed the max ([1f74a95d](https://github.com/pixelfed/pixelfed/commit/1f74a95d)) - Update ApiV1Controller, implement better limit logic to gracefully handle requests with limits that exceed the max ([1f74a95d](https://github.com/pixelfed/pixelfed/commit/1f74a95d))
- Update AdminCuratedRegisterController, show oldest applications first ([c4dde641](https://github.com/pixelfed/pixelfed/commit/c4dde641)) - Update AdminCuratedRegisterController, show oldest applications first ([c4dde641](https://github.com/pixelfed/pixelfed/commit/c4dde641))
- Update Directory logic, add curated onboarding support ([59c70239](https://github.com/pixelfed/pixelfed/commit/59c70239))
- ([](https://github.com/pixelfed/pixelfed/commit/)) - ([](https://github.com/pixelfed/pixelfed/commit/))
## [v0.11.12 (2024-02-16)](https://github.com/pixelfed/pixelfed/compare/v0.11.11...v0.11.12) ## [v0.11.12 (2024-02-16)](https://github.com/pixelfed/pixelfed/compare/v0.11.11...v0.11.12)

View file

@ -75,6 +75,7 @@ trait AdminDirectoryController
} }
$res['community_guidelines'] = config_cache('app.rules') ? json_decode(config_cache('app.rules'), true) : []; $res['community_guidelines'] = config_cache('app.rules') ? json_decode(config_cache('app.rules'), true) : [];
$res['curated_onboarding'] = (bool) config_cache('instance.curated_registration.enabled');
$res['open_registration'] = (bool) config_cache('pixelfed.open_registration'); $res['open_registration'] = (bool) config_cache('pixelfed.open_registration');
$res['oauth_enabled'] = (bool) config_cache('pixelfed.oauth_enabled') && file_exists(storage_path('oauth-public.key')) && file_exists(storage_path('oauth-private.key')); $res['oauth_enabled'] = (bool) config_cache('pixelfed.oauth_enabled') && file_exists(storage_path('oauth-public.key')) && file_exists(storage_path('oauth-private.key'));
@ -124,7 +125,7 @@ trait AdminDirectoryController
$res['requirements_validator'] = $validator->errors(); $res['requirements_validator'] = $validator->errors();
$res['is_eligible'] = $res['open_registration'] && $res['is_eligible'] = ($res['open_registration'] || $res['curated_onboarding']) &&
$res['oauth_enabled'] && $res['oauth_enabled'] &&
$res['activitypub_enabled'] && $res['activitypub_enabled'] &&
count($res['requirements_validator']) === 0 && count($res['requirements_validator']) === 0 &&
@ -227,7 +228,7 @@ trait AdminDirectoryController
->each(function($name) { ->each(function($name) {
Storage::delete($name); Storage::delete($name);
}); });
$path = $request->file('banner_image')->store('public/headers'); $path = $request->file('banner_image')->storePublicly('public/headers');
$res['banner_image'] = $path; $res['banner_image'] = $path;
ConfigCacheService::put('app.banner_image', url(Storage::url($path))); ConfigCacheService::put('app.banner_image', url(Storage::url($path)));
@ -249,7 +250,8 @@ trait AdminDirectoryController
{ {
$reqs = []; $reqs = [];
$reqs['feature_config'] = [ $reqs['feature_config'] = [
'open_registration' => config_cache('pixelfed.open_registration'), 'open_registration' => (bool) config_cache('pixelfed.open_registration'),
'curated_onboarding' => (bool) config_cache('instance.curated_registration.enabled'),
'activitypub_enabled' => config_cache('federation.activitypub.enabled'), 'activitypub_enabled' => config_cache('federation.activitypub.enabled'),
'oauth_enabled' => config_cache('pixelfed.oauth_enabled'), 'oauth_enabled' => config_cache('pixelfed.oauth_enabled'),
'media_types' => Str::of(config_cache('pixelfed.media_types'))->explode(','), 'media_types' => Str::of(config_cache('pixelfed.media_types'))->explode(','),
@ -265,7 +267,8 @@ trait AdminDirectoryController
]; ];
$validator = Validator::make($reqs['feature_config'], [ $validator = Validator::make($reqs['feature_config'], [
'open_registration' => 'required|accepted', 'open_registration' => 'required_unless:curated_onboarding,true',
'curated_onboarding' => 'required_unless:open_registration,true',
'activitypub_enabled' => 'required|accepted', 'activitypub_enabled' => 'required|accepted',
'oauth_enabled' => 'required|accepted', 'oauth_enabled' => 'required|accepted',
'media_types' => [ 'media_types' => [

View file

@ -78,10 +78,11 @@ class PixelfedDirectoryController extends Controller
$res['community_guidelines'] = json_decode($guidelines->v, true); $res['community_guidelines'] = json_decode($guidelines->v, true);
} }
$openRegistration = ConfigCache::whereK('pixelfed.open_registration')->first(); $openRegistration = (bool) config_cache('pixelfed.open_registration');
if($openRegistration) { $res['open_registration'] = $openRegistration;
$res['open_registration'] = (bool) $openRegistration;
} $curatedOnboarding = (bool) config_cache('instance.curated_registration.enabled');
$res['curated_onboarding'] = $curatedOnboarding;
$oauthEnabled = ConfigCache::whereK('pixelfed.oauth_enabled')->first(); $oauthEnabled = ConfigCache::whereK('pixelfed.oauth_enabled')->first();
if($oauthEnabled) { if($oauthEnabled) {

BIN
public/js/admin.js vendored

Binary file not shown.

Binary file not shown.

View file

@ -109,12 +109,20 @@
<div class="card text-left"> <div class="card text-left">
<div class="list-group list-group-flush"> <div class="list-group list-group-flush">
<div class="list-group-item"> <div class="list-group-item">
<template v-if="requirements.curated_onboarding === true">
<i class="far fa-exclamation-circle text-success"></i>
<span class="ml-2 font-weight-bold">
Curated account registration
</span>
</template>
<template v-else>
<i <i
class="far" class="far"
:class="[ requirements.open_registration ? 'fa-check-circle text-success' : 'fa-exclamation-circle text-danger']"></i> :class="[ requirements.open_registration ? 'fa-check-circle text-success' : 'fa-exclamation-circle text-danger']"></i>
<span class="ml-2 font-weight-bold"> <span class="ml-2 font-weight-bold">
{{ requirements.open_registration ? 'Open' : 'Closed' }} account registration {{ requirements.open_registration ? 'Open' : 'Closed' }} account registration
</span> </span>
</template>
</div> </div>
<div class="list-group-item"> <div class="list-group-item">
@ -895,6 +903,7 @@
activitypub_enabled: undefined, activitypub_enabled: undefined,
open_registration: undefined, open_registration: undefined,
oauth_enabled: undefined, oauth_enabled: undefined,
curated_onboarding: undefined,
}, },
feature_config: [], feature_config: [],
requirements_validator: [], requirements_validator: [],
@ -951,6 +960,10 @@
this.requirements.open_registration = res.data.open_registration; this.requirements.open_registration = res.data.open_registration;
} }
if(res.data.curated_onboarding) {
this.requirements.curated_onboarding = res.data.curated_onboarding;
}
if(res.data.oauth_enabled) { if(res.data.oauth_enabled) {
this.requirements.oauth_enabled = res.data.oauth_enabled; this.requirements.oauth_enabled = res.data.oauth_enabled;
} }