From 335c602cea3fbaee9ad7c32ceecaaf222e5d89a7 Mon Sep 17 00:00:00 2001 From: Sami Mazouz Date: Sat, 20 Aug 2022 09:53:23 +0100 Subject: [PATCH] chore(package-manager): last tweaks before beta tag chore: fix workflow errors chore: fix workflow errors chore: avoid updating an extension that wasn't directly required chore: prevent job overlap chore: reorganize code, separate state from view fix: update checking ui display chore: minor improvements Signed-off-by: Sami Mazouz --- extensions/package-manager/extend.php | 3 +- .../src/admin/components/ControlSection.tsx | 8 +- .../js/src/admin/components/ExtensionItem.tsx | 4 +- .../js/src/admin/components/Installer.tsx | 17 +- .../js/src/admin/components/MajorUpdater.tsx | 27 +- .../js/src/admin/components/QueueSection.tsx | 8 +- .../js/src/admin/components/SettingsPage.tsx | 10 +- .../js/src/admin/components/Updater.tsx | 340 +++++------------- .../package-manager/js/src/admin/index.tsx | 4 +- .../package-manager/js/src/admin/shims.d.ts | 4 +- .../src/admin/states/ControlSectionState.ts | 239 ++++++++++++ .../src/admin/states/PackageManagerState.ts | 7 + .../js/src/admin/states/QueueState.ts | 2 +- .../js/src/admin/utils/jumpToQueue.ts | 2 +- .../less/admin/ControlSection.less | 2 +- extensions/package-manager/locale/en.yml | 3 +- .../src/Command/UpdateExtensionHandler.php | 22 +- .../src/Job/ComposerCommandJob.php | 8 + 18 files changed, 429 insertions(+), 281 deletions(-) create mode 100644 extensions/package-manager/js/src/admin/states/ControlSectionState.ts create mode 100644 extensions/package-manager/js/src/admin/states/PackageManagerState.ts diff --git a/extensions/package-manager/extend.php b/extensions/package-manager/extend.php index 2c87c807f..0a617e8e0 100755 --- a/extensions/package-manager/extend.php +++ b/extensions/package-manager/extend.php @@ -41,7 +41,8 @@ return [ $paths = resolve(Paths::class); $document->payload['flarum-package-manager.writable_dirs'] = is_writable($paths->vendor) - && is_writable($paths->storage.'/.composer') + && is_writable($paths->storage) + && (! file_exists($paths->storage.'/.composer') || is_writable($paths->storage.'/.composer')) && is_writable($paths->base.'/composer.json') && is_writable($paths->base.'/composer.lock'); diff --git a/extensions/package-manager/js/src/admin/components/ControlSection.tsx b/extensions/package-manager/js/src/admin/components/ControlSection.tsx index 8f296003f..946ba1b27 100644 --- a/extensions/package-manager/js/src/admin/components/ControlSection.tsx +++ b/extensions/package-manager/js/src/admin/components/ControlSection.tsx @@ -1,11 +1,17 @@ import app from 'flarum/admin/app'; import Component from 'flarum/common/Component'; import Alert from 'flarum/common/components/Alert'; +import { ComponentAttrs } from 'flarum/common/Component'; import Installer from './Installer'; import Updater from './Updater'; +import Mithril from 'mithril'; + +export default class ControlSection extends Component { + oninit(vnode: Mithril.Vnode) { + super.oninit(vnode); + } -export default class ControlSection extends Component { view() { return (
diff --git a/extensions/package-manager/js/src/admin/components/ExtensionItem.tsx b/extensions/package-manager/js/src/admin/components/ExtensionItem.tsx index 7b37c1f33..aa313800a 100644 --- a/extensions/package-manager/js/src/admin/components/ExtensionItem.tsx +++ b/extensions/package-manager/js/src/admin/components/ExtensionItem.tsx @@ -7,7 +7,7 @@ import Tooltip from 'flarum/common/components/Tooltip'; import Button from 'flarum/common/components/Button'; import { Extension } from 'flarum/admin/AdminApplication'; -import { UpdatedPackage } from './Updater'; +import { UpdatedPackage } from '../states/ControlSectionState'; import WhyNotModal from './WhyNotModal'; import Label from './Label'; @@ -40,7 +40,7 @@ export default class ExtensionItem
{extension.extra['flarum-extension'].title}
- {this.version(extension.version)} + {this.version(updates['version'])} {latestVersion ? (