From 375c9a1c201e760a8da52140490140a8098fdd02 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Sun, 3 Dec 2023 19:00:01 +1100 Subject: [PATCH] fix: tidy up unused files, unrelated changes --- invokeai/app/invocations/metadata.py | 2 +- invokeai/app/services/shared/semver.py | 61 ------------------- .../components/Boards/BoardContextMenu.tsx | 4 +- .../CurrentImage/CurrentImageButtons.tsx | 4 +- .../ImageContextMenu/ImageContextMenu.tsx | 6 +- .../Invocation/fields/FieldContextMenu.tsx | 4 +- .../sidePanel/workflow/WorkflowLinearTab.tsx | 4 +- .../features/system/components/SiteHeader.tsx | 4 +- .../src/services/api/endpoints/workflows.ts | 42 ------------- .../api/hooks/useDebouncedWorkflow.ts | 21 ------- .../frontend/web/src/theme/components/menu.ts | 2 +- 11 files changed, 15 insertions(+), 139 deletions(-) delete mode 100644 invokeai/app/services/shared/semver.py delete mode 100644 invokeai/frontend/web/src/services/api/hooks/useDebouncedWorkflow.ts diff --git a/invokeai/app/invocations/metadata.py b/invokeai/app/invocations/metadata.py index da243966de..14d66f8ef6 100644 --- a/invokeai/app/invocations/metadata.py +++ b/invokeai/app/invocations/metadata.py @@ -112,7 +112,7 @@ GENERATION_MODES = Literal[ ] -@invocation("core_metadata", title="Core Metadata", tags=["metadata"], category="metadata", version="1.2.0") +@invocation("core_metadata", title="Core Metadata", tags=["metadata"], category="metadata", version="1.0.1") class CoreMetadataInvocation(BaseInvocation): """Collects core generation metadata into a MetadataField""" diff --git a/invokeai/app/services/shared/semver.py b/invokeai/app/services/shared/semver.py deleted file mode 100644 index 34b9fab947..0000000000 --- a/invokeai/app/services/shared/semver.py +++ /dev/null @@ -1,61 +0,0 @@ -from typing import Annotated, Any, Callable - -from pydantic import GetJsonSchemaHandler -from pydantic.json_schema import JsonSchemaValue -from pydantic_core import core_schema -from semver import Version - - -class _VersionPydanticAnnotation: - """ - Pydantic annotation for semver.Version. - - Requires a field_serializer to serialize to a string. - - Usage: - class MyModel(BaseModel): - version: SemVer = Field(..., description="The version of the model.") - - @field_serializer("version") - def serialize_version(self, version: SemVer, _info): - return str(version) - - MyModel(version=semver.Version.parse("1.2.3")) - MyModel.model_validate({"version":"1.2.3"}) - """ - - @classmethod - def __get_pydantic_core_schema__( - cls, - _source_type: Any, - _handler: Callable[[Any], core_schema.CoreSchema], - ) -> core_schema.CoreSchema: - def validate_from_str(value: str) -> Version: - return Version.parse(value) - - from_str_schema = core_schema.chain_schema( - [ - core_schema.str_schema(), - core_schema.no_info_plain_validator_function(validate_from_str), - ] - ) - - return core_schema.json_or_python_schema( - json_schema=from_str_schema, - python_schema=core_schema.union_schema( - [ - core_schema.is_instance_schema(Version), - from_str_schema, - ] - ), - serialization=core_schema.to_string_ser_schema(), - ) - - @classmethod - def __get_pydantic_json_schema__( - cls, _core_schema: core_schema.CoreSchema, handler: GetJsonSchemaHandler - ) -> JsonSchemaValue: - return handler(core_schema.str_schema()) - - -SemVer = Annotated[Version, _VersionPydanticAnnotation] diff --git a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx index a223ab7103..092d4682f7 100644 --- a/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/Boards/BoardContextMenu.tsx @@ -14,7 +14,7 @@ import { useTranslation } from 'react-i18next'; import { FaDownload, FaPlus } from 'react-icons/fa'; import { useBoardName } from 'services/api/hooks/useBoardName'; import { BoardDTO } from 'services/api/types'; -import { MENU_LIST_MOTION_PROPS } from 'theme/components/menu'; +import { menuListMotionProps } from 'theme/components/menu'; import GalleryBoardContextMenuItems from './GalleryBoardContextMenuItems'; import NoBoardContextMenuItems from './NoBoardContextMenuItems'; import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus'; @@ -94,7 +94,7 @@ const BoardContextMenu = ({ () => ( diff --git a/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImageButtons.tsx b/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImageButtons.tsx index 6a34305312..beb90e30d3 100644 --- a/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImageButtons.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/CurrentImage/CurrentImageButtons.tsx @@ -46,7 +46,7 @@ import { useLazyGetImageWorkflowQuery, } from 'services/api/endpoints/images'; import { useDebouncedMetadata } from 'services/api/hooks/useDebouncedMetadata'; -import { MENU_LIST_MOTION_PROPS } from 'theme/components/menu'; +import { menuListMotionProps } from 'theme/components/menu'; const currentImageButtonsSelector = createSelector( [stateSelector, activeTabNameSelector], @@ -248,7 +248,7 @@ const CurrentImageButtons = () => { isDisabled={!imageDTO} icon={} /> - + {imageDTO && } diff --git a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageContextMenu.tsx b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageContextMenu.tsx index 203bd623ca..6fc5765785 100644 --- a/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageContextMenu.tsx +++ b/invokeai/frontend/web/src/features/gallery/components/ImageContextMenu/ImageContextMenu.tsx @@ -5,7 +5,7 @@ import { } from 'common/components/IAIContextMenu'; import { MouseEvent, memo, useCallback } from 'react'; import { ImageDTO } from 'services/api/types'; -import { MENU_LIST_MOTION_PROPS } from 'theme/components/menu'; +import { menuListMotionProps } from 'theme/components/menu'; import SingleSelectionMenuItems from './SingleSelectionMenuItems'; import { createSelector } from '@reduxjs/toolkit'; import { stateSelector } from 'app/store/store'; @@ -44,7 +44,7 @@ const ImageContextMenu = ({ imageDTO, children }: Props) => { return ( @@ -55,7 +55,7 @@ const ImageContextMenu = ({ imageDTO, children }: Props) => { return ( diff --git a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/FieldContextMenu.tsx b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/FieldContextMenu.tsx index 18d8cd871b..b9e02754da 100644 --- a/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/FieldContextMenu.tsx +++ b/invokeai/frontend/web/src/features/nodes/components/flow/nodes/Invocation/fields/FieldContextMenu.tsx @@ -16,7 +16,7 @@ import { } from 'features/nodes/store/workflowSlice'; import { MouseEvent, ReactNode, memo, useCallback, useMemo } from 'react'; import { FaMinus, FaPlus } from 'react-icons/fa'; -import { MENU_LIST_MOTION_PROPS } from 'theme/components/menu'; +import { menuListMotionProps } from 'theme/components/menu'; import { useTranslation } from 'react-i18next'; type Props = { @@ -110,7 +110,7 @@ const FieldContextMenu = ({ nodeId, fieldName, kind, children }: Props) => { !menuItems.length ? null : ( { + ({ workflow }) => { return { - fields: workflows.exposedFields, + fields: workflow.exposedFields, }; }, defaultSelectorOptions diff --git a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx index 97e5f3b364..5057af8dab 100644 --- a/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx +++ b/invokeai/frontend/web/src/features/system/components/SiteHeader.tsx @@ -18,7 +18,7 @@ import { FaGithub, FaKeyboard, } from 'react-icons/fa'; -import { MENU_LIST_MOTION_PROPS } from 'theme/components/menu'; +import { menuListMotionProps } from 'theme/components/menu'; import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus'; import HotkeysModal from './HotkeysModal/HotkeysModal'; import InvokeAILogoComponent from './InvokeAILogoComponent'; @@ -54,7 +54,7 @@ const SiteHeader = () => { icon={} sx={{ boxSize: 8 }} /> - + {isGithubLinkEnabled && ( ({ - query: () => ({ - url: 'workflows/', - params: { - page: 0, - per_page: 10, - order_by: 'opened_at', - direction: 'DESC', - }, - }), - providesTags: [{ type: 'WorkflowsRecent', id: LIST_TAG }], - }), - listSystemWorkflows: build.query< - paths['/api/v1/workflows/']['get']['responses']['200']['content']['application/json'], - void - >({ - query: () => ({ - url: 'workflows/', - params: { - page: 0, - per_page: 10, - order_by: 'opened_at', - direction: 'DESC', - }, - }), - transformResponse: () => { - return { - page: 0, - per_page: 10, - items: [], - total: 0, - pages: 0, - }; - }, - providesTags: [{ type: 'WorkflowsRecent', id: LIST_TAG }], - }), }), }); export const { - useGetWorkflowQuery, useLazyGetWorkflowQuery, useCreateWorkflowMutation, useDeleteWorkflowMutation, useUpdateWorkflowMutation, useListWorkflowsQuery, - useListRecentWorkflowsQuery, - useListSystemWorkflowsQuery, } = workflowsApi; diff --git a/invokeai/frontend/web/src/services/api/hooks/useDebouncedWorkflow.ts b/invokeai/frontend/web/src/services/api/hooks/useDebouncedWorkflow.ts deleted file mode 100644 index 20c6d2d6c6..0000000000 --- a/invokeai/frontend/web/src/services/api/hooks/useDebouncedWorkflow.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { skipToken } from '@reduxjs/toolkit/query'; -import { useAppSelector } from 'app/store/storeHooks'; -import { useDebounce } from 'use-debounce'; -import { useGetWorkflowQuery } from 'services/api/endpoints/workflows'; - -export const useDebouncedWorkflow = (workflowId?: string | null) => { - const workflowFetchDebounce = useAppSelector( - (state) => state.config.workflowFetchDebounce - ); - - const [debouncedWorkflowID] = useDebounce( - workflowId, - workflowFetchDebounce ?? 0 - ); - - const { data: workflow, isLoading } = useGetWorkflowQuery( - debouncedWorkflowID ?? skipToken - ); - - return { workflow, isLoading }; -}; diff --git a/invokeai/frontend/web/src/theme/components/menu.ts b/invokeai/frontend/web/src/theme/components/menu.ts index bcb1f28f34..4ab323bdb5 100644 --- a/invokeai/frontend/web/src/theme/components/menu.ts +++ b/invokeai/frontend/web/src/theme/components/menu.ts @@ -56,7 +56,7 @@ export const menuTheme = defineMultiStyleConfig({ }, }); -export const MENU_LIST_MOTION_PROPS: MotionProps = { +export const menuListMotionProps: MotionProps = { variants: { enter: { visibility: 'visible',