diff --git a/frontend/src/lib/components/DBManager.svelte b/frontend/src/lib/components/DBManager.svelte
index 7520cc5013..fc1bbb9752 100644
--- a/frontend/src/lib/components/DBManager.svelte
+++ b/frontend/src/lib/components/DBManager.svelte
@@ -1,5 +1,5 @@
-{#if $userStore?.is_admin || $userStore?.is_super_admin}
+{#if actingUser?.is_admin || actingUser?.is_super_admin}
diff --git a/frontend/src/lib/components/EditorHeader.svelte b/frontend/src/lib/components/EditorHeader.svelte
index aa0a2fd603..25291fa5f0 100644
--- a/frontend/src/lib/components/EditorHeader.svelte
+++ b/frontend/src/lib/components/EditorHeader.svelte
@@ -16,9 +16,14 @@
import BreadcrumbSegment from '$lib/components/BreadcrumbSegment.svelte'
import { isOwner } from '$lib/utils'
import { userStore } from '$lib/stores'
- import { useOperatingWorkspace } from '$lib/components/operatingWorkspace.svelte'
+ import {
+ useOperatingUser,
+ useOperatingWorkspace
+ } from '$lib/components/operatingWorkspace.svelte'
const operatingWorkspace = useOperatingWorkspace()
+ const operatingUser = useOperatingUser()
+ const actingUser = $derived(operatingUser.current)
interface Props {
summary?: string
@@ -118,7 +123,7 @@
// Treat an empty path as ownable so the pen popover lets a user pick the
// path for a brand-new item. `Path.reset()` then synthesizes a default
// under their own user/folder scope.
- let own = $derived(!path || isOwner(path, $userStore, $operatingWorkspace))
+ let own = $derived(!path || isOwner(path, actingUser, $operatingWorkspace))
// Virtual entry for the picker: surfaces the currently-edited item at its
// live path (which may differ from `savedPath` mid-rename, so the picker
diff --git a/frontend/src/lib/components/ExploreAssetButton.svelte b/frontend/src/lib/components/ExploreAssetButton.svelte
index 68d3f91dac..d48688a871 100644
--- a/frontend/src/lib/components/ExploreAssetButton.svelte
+++ b/frontend/src/lib/components/ExploreAssetButton.svelte
@@ -33,13 +33,18 @@
import { Button, ButtonType } from '$lib/components/common'
import S3FilePicker from '$lib/components/S3FilePicker.svelte'
import { VolumeService } from '$lib/gen'
- import { globalDbManagerDrawer, globalS3FilePickerExplorer, userStore } from '$lib/stores'
+ import { globalDbManagerDrawer, globalS3FilePickerExplorer } from '$lib/stores'
import { isS3Uri } from '$lib/utils'
import { Database, File, HardDriveIcon } from 'lucide-svelte'
import DucklakeIcon from './icons/DucklakeIcon.svelte'
- import { useOperatingWorkspace } from '$lib/components/operatingWorkspace.svelte'
+ import {
+ useOperatingUser,
+ useOperatingWorkspace
+ } from '$lib/components/operatingWorkspace.svelte'
const operatingWorkspace = useOperatingWorkspace()
+ const operatingUser = useOperatingUser()
+ const actingUser = $derived(operatingUser.current)
const {
asset,
@@ -78,7 +83,7 @@
{#key renderCount}
- {#if !$userStore?.operator}
+ {#if !actingUser?.operator}
{#if $pathStore}
{/if}
diff --git a/frontend/src/lib/components/GitHubAppIntegration.svelte b/frontend/src/lib/components/GitHubAppIntegration.svelte
index bdf10df3e3..6fb5a9fbf3 100644
--- a/frontend/src/lib/components/GitHubAppIntegration.svelte
+++ b/frontend/src/lib/components/GitHubAppIntegration.svelte
@@ -1,5 +1,5 @@
diff --git a/frontend/src/lib/components/triggers/email/EmailTriggerPanel.svelte b/frontend/src/lib/components/triggers/email/EmailTriggerPanel.svelte
index 12ec403aeb..7eac6a8971 100644
--- a/frontend/src/lib/components/triggers/email/EmailTriggerPanel.svelte
+++ b/frontend/src/lib/components/triggers/email/EmailTriggerPanel.svelte
@@ -1,11 +1,15 @@