diff --git a/app/Http/ViewComposers/AssetComposer.php b/app/Http/ViewComposers/AssetComposer.php
index da6798ca7..2a47096fb 100644
--- a/app/Http/ViewComposers/AssetComposer.php
+++ b/app/Http/ViewComposers/AssetComposer.php
@@ -27,6 +27,7 @@ class AssetComposer
'enabled' => config('recaptcha.enabled', false),
'siteKey' => config('recaptcha.website_key') ?? '',
],
+ 'usesSyncDriver' => config('queue.default') === 'sync',
]);
}
}
diff --git a/resources/scripts/components/server/schedules/ScheduleTaskRow.tsx b/resources/scripts/components/server/schedules/ScheduleTaskRow.tsx
index f950b94f8..36db1fff9 100644
--- a/resources/scripts/components/server/schedules/ScheduleTaskRow.tsx
+++ b/resources/scripts/components/server/schedules/ScheduleTaskRow.tsx
@@ -20,6 +20,7 @@ import { ServerContext } from '@/state/server';
import tw from 'twin.macro';
import ConfirmationModal from '@/components/elements/ConfirmationModal';
import Icon from '@/components/elements/Icon';
+import { useStoreState } from 'easy-peasy';
interface Props {
schedule: Schedule;
@@ -46,6 +47,7 @@ export default ({ schedule, task }: Props) => {
const [isLoading, setIsLoading] = useState(false);
const [isEditing, setIsEditing] = useState(false);
const appendSchedule = ServerContext.useStoreActions((actions) => actions.schedules.appendSchedule);
+ const usesSyncDriver = useStoreState((state) => state.settings.data!.usesSyncDriver);
const onConfirmDeletion = () => {
setIsLoading(true);
@@ -109,7 +111,7 @@ export default ({ schedule, task }: Props) => {
)}
- {task.sequenceId > 1 && task.timeOffset > 0 && (
+ {!usesSyncDriver && task.sequenceId > 1 && task.timeOffset > 0 && (
diff --git a/resources/scripts/components/server/schedules/TaskDetailsModal.tsx b/resources/scripts/components/server/schedules/TaskDetailsModal.tsx
index 6dcd9e932..0af8fb441 100644
--- a/resources/scripts/components/server/schedules/TaskDetailsModal.tsx
+++ b/resources/scripts/components/server/schedules/TaskDetailsModal.tsx
@@ -17,6 +17,7 @@ import Select from '@/components/elements/Select';
import ModalContext from '@/context/ModalContext';
import asModal from '@/hoc/asModal';
import FormikSwitch from '@/components/elements/FormikSwitch';
+import { useStoreState } from 'easy-peasy';
interface Props {
schedule: Schedule;
@@ -71,6 +72,7 @@ const TaskDetailsModal = ({ schedule, task }: Props) => {
const uuid = ServerContext.useStoreState((state) => state.server.data!.uuid);
const appendSchedule = ServerContext.useStoreActions((actions) => actions.schedules.appendSchedule);
const backupLimit = ServerContext.useStoreState((state) => state.server.data!.featureLimits.backups);
+ const usesSyncDriver = useStoreState((state) => state.settings.data!.usesSyncDriver);
useEffect(() => {
return () => {
@@ -121,7 +123,7 @@ const TaskDetailsModal = ({ schedule, task }: Props) => {
{task ? 'Edit Task' : 'Create Task'}
-
+
@@ -132,15 +134,17 @@ const TaskDetailsModal = ({ schedule, task }: Props) => {
-
-
-
+ {!usesSyncDriver && (
+
+
+
+ )}
{values.action === 'command' ? (
diff --git a/resources/scripts/components/server/settings/SettingsContainer.tsx b/resources/scripts/components/server/settings/SettingsContainer.tsx
index 253972755..a69246427 100644
--- a/resources/scripts/components/server/settings/SettingsContainer.tsx
+++ b/resources/scripts/components/server/settings/SettingsContainer.tsx
@@ -55,8 +55,9 @@ export default () => {
Launch SFTP
diff --git a/resources/scripts/state/settings.ts b/resources/scripts/state/settings.ts
index 20dbbdc6e..06f82a02e 100644
--- a/resources/scripts/state/settings.ts
+++ b/resources/scripts/state/settings.ts
@@ -7,6 +7,7 @@ export interface SiteSettings {
enabled: boolean;
siteKey: string;
};
+ usesSyncDriver: boolean;
}
export interface SettingsStore {