Skip to content
This repository was archived by the owner on Sep 3, 2025. It is now read-only.

Conversation

@whitdog47
Copy link
Contributor

@whitdog47 whitdog47 commented May 19, 2025

This PR fixes an issue where plugin configuration fails to load by migrating from the deprecated Pydantic 1 encoder to the new JSON encoding approach in Pydantic 2. The key changes include:

  • Updating the configuration serialization in plugin models using json.dumps with model_dump.
  • Adding logic in the Formkit conversion to handle json_schema anyOf conditions.
  • Adjusting type annotations in plugin and individual models for better compatibility with Pydantic 2.

@whitdog47 whitdog47 requested review from Copilot and wssheldon May 19, 2025 18:44
@whitdog47 whitdog47 self-assigned this May 19, 2025
@whitdog47 whitdog47 added the bug Something isn't working label May 19, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes an issue where plugin configuration fails to load by migrating from the deprecated Pydantic 1 encoder to the new JSON encoding approach in Pydantic 2. The key changes include:

  • Updating the configuration serialization in plugin models using json.dumps with model_dump.
  • Adding logic in the Formkit conversion to handle json_schema anyOf conditions.
  • Adjusting type annotations in plugin and individual models for better compatibility with Pydantic 2.

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/dispatch/static/dispatch/src/plugin/store.js Added logic to extract type and format from anyOf within json_schema properties
src/dispatch/plugin/models.py Updated configuration serialization and adjusted type annotations for configuration_schema and configuration
src/dispatch/individual/models.py Reorganized import formatting and modified id field typing in Pydantic models
Comments suppressed due to low confidence (2)

src/dispatch/plugin/models.py:154

  • Verify that using json.dumps with model_dump and the custom encoder produces the same expected serialization output for SecretStr fields as the previous pydantic .json() method.
self._configuration = json.dumps(
                config_object.model_dump(), default=show_secrets_encoder
            )

src/dispatch/individual/models.py:116

  • The 'id' field in the read model is now optional; confirm that this change aligns with downstream consumers' expectations and does not inadvertently allow null values where an id is required.
id: PrimaryKey | None = None

@whitdog47 whitdog47 merged commit e4b1627 into main May 19, 2025
11 checks passed
@whitdog47 whitdog47 deleted the fix/slack-plugin-not-rendering branch May 19, 2025 19:04
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants