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

fix(plugin): fixes plugin configuration not loading#5986

Merged
whitdog47 merged 1 commit into
mainfrom
fix/slack-plugin-not-rendering
May 19, 2025
Merged

fix(plugin): fixes plugin configuration not loading#5986
whitdog47 merged 1 commit into
mainfrom
fix/slack-plugin-not-rendering

Conversation

@whitdog47

@whitdog47 whitdog47 commented May 19, 2025

Copy link
Copy Markdown
Contributor

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 a user and Copilot 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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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

Comment thread src/dispatch/static/dispatch/src/plugin/store.js
@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.

2 participants