Unverified Commit 88e6948b authored by mvdbeek's avatar mvdbeek
Browse files

Disable chatgxy wizard for anon users

Retrieving and storing responses requires a user id, and anon's don't
have user ids.

Fixes https://github.com/galaxyproject/galaxy/issues/19529
parent e3942053
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ interface Props {
const props = defineProps<Props>();

const userStore = useUserStore();
const { currentUser } = storeToRefs(userStore);
const { currentUser, isAnonymous } = storeToRefs(userStore);

const { renderMarkdown } = useMarkdown({ openLinksInNewPage: true });
const { config, isConfigLoaded } = useConfig();
@@ -49,7 +49,7 @@ const showForm = computed(() => {
    return noResult || hasError;
});

const showWizard = computed(() => isConfigLoaded && config.value?.llm_api_configured);
const showWizard = computed(() => isConfigLoaded && config.value?.llm_api_configured && !isAnonymous.value);

async function getDatasetDetails() {
    datasetLoading.value = true;
+4 −0
Original line number Diff line number Diff line
@@ -16,11 +16,13 @@ from galaxy.exceptions import ConfigurationError
from galaxy.managers.chat import ChatManager
from galaxy.managers.context import ProvidesUserContext
from galaxy.managers.jobs import JobManager
from galaxy.model import User
from galaxy.schema.fields import DecodedDatabaseIdField
from galaxy.schema.schema import ChatPayload
from galaxy.webapps.galaxy.api import (
    depends,
    DependsOnTrans,
    DependsOnUser,
    Router,
)

@@ -57,6 +59,7 @@ class ChatAPI:
        job_id: JobIdPathParam,
        payload: ChatPayload,
        trans: ProvidesUserContext = DependsOnTrans,
        user: User = DependsOnUser,
    ) -> str:
        """We're off to ask the wizard"""
        # Currently job-based chat exchanges are the only ones supported,
@@ -87,6 +90,7 @@ class ChatAPI:
        job_id: JobIdPathParam,
        feedback: int,
        trans: ProvidesUserContext = DependsOnTrans,
        user: User = DependsOnUser,
    ) -> Union[int, None]:
        """Provide feedback on the chatbot response."""
        job = self.job_manager.get_accessible_job(trans, job_id)