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 ? (