openclaw - ✅(Solved) Fix [Feishu] footer config (elapsed/status) rejected by core schema despite plugin supporting it [1 pull requests, 1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#56882Fetched 2026-04-08 01:46:32
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Author
Participants
Timeline (top)
cross-referenced ×3commented ×1

Root Cause

  1. The Feishu plugin (openclaw-lark) fully supports ooter config - see src/core/footer-config.js:

    • Default: all footer fields are alse
    • Supports: elapsed, status, okens, cache, context, model
  2. The OpenClaw core applies JSON Schema validation to channels.feishu at startup, with dditionalProperties: false, which rejects the ooter object entirely.

  3. This means the plugin implements the feature but the core schema blocks it from being configured.

Fix Action

Fixed

PR fix notes

PR #56893: fix: stop bundled Feishu schema from rejecting valid plugin config

Description (problem / solution / changelog)

Summary

  • make the bundled Feishu channel config schema permissive instead of rejecting unknown keys up front
  • defer validation to the Feishu plugin's runtime schema, which already knows the real supported fields

Why

The bundled metadata currently exposes an empty strict object, so core startup validation rejects valid Feishu options like footer.elapsed / footer.status before the plugin can parse them. Making the bundled schema permissive restores compatibility with the plugin's actual config surface.

Closes #56882 Closes #56883

Changed files

  • extensions/feishu/openclaw.plugin.json (modified, +1/-2)
RAW_BUFFERClick to expand / collapse

Bug Description

The Feishu plugin documentation lists two configuration options for streaming card footers:

  • channels.feishu.footer.elapsed - show elapsed time
  • channels.feishu.footer.status - show status text (已完成/出错/已停止)

However, adding these to openclaw.json causes Gateway to reject the config on startup with: channels.feishu: invalid config: must NOT have additional properties

Root Cause

  1. The Feishu plugin (openclaw-lark) fully supports ooter config - see src/core/footer-config.js:

    • Default: all footer fields are alse
    • Supports: elapsed, status, okens, cache, context, model
  2. The OpenClaw core applies JSON Schema validation to channels.feishu at startup, with dditionalProperties: false, which rejects the ooter object entirely.

  3. This means the plugin implements the feature but the core schema blocks it from being configured.

Evidence

  • Plugin file: extensions/openclaw-lark/src/core/footer-config.js (v2026.3.26)
  • Plugin clearly supports footer config via esolveFooterConfig()
  • Config validation fails at Gateway startup before plugin even loads

Expected Behavior

Per the official Feishu plugin documentation, these commands should work: ash openclaw config set channels.feishu.footer.elapsed true openclaw config set channels.feishu.footer.status true

Environment

  • OpenClaw: 2026.3.28
  • openclaw-lark: 2026.3.26
  • OS: Windows 11

extent analysis

Fix Plan

To resolve the issue, we need to update the JSON Schema validation in the OpenClaw core to allow additional properties for the channels.feishu configuration.

Step-by-Step Solution

  • Update the channels.feishu schema to set additionalProperties to true or define the footer property with its own schema.
  • Example code snippet:
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "channels": {
      "type": "object",
      "properties": {
        "feishu": {
          "type": "object",
          "properties": {
            "footer": {
              "type": "object",
              "properties": {
                "elapsed": {"type": "boolean"},
                "status": {"type": "boolean"}
              }
            }
          }
        }
      }
    }
  }
}

Alternatively, you can set additionalProperties to true:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "channels": {
      "type": "object",
      "properties": {
        "feishu": {
          "type": "object",
          "additionalProperties": true
        }
      }
    }
  }
}

Verification

After updating the schema, restart the Gateway and verify that the configuration is accepted by running the following commands:

openclaw config set channels.feishu.footer.elapsed true
openclaw config set channels.feishu.footer.status true

Check the Gateway logs to ensure that the configuration is loaded successfully.

Extra Tips

  • Make sure to update the schema in the correct location, which is likely in the OpenClaw core codebase.
  • If you're using a version control system, create a new branch for the update and test it thoroughly before merging it into the main branch.
  • Consider adding documentation for the updated schema to avoid similar issues in the future.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix [Feishu] footer config (elapsed/status) rejected by core schema despite plugin supporting it [1 pull requests, 1 comments, 2 participants]