mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-14 14:43:16 -06:00
11757fecd4
* docs(slack): drop retired socketMode transport tuning channels.slack.socketMode is rejected by Slack config validation, pinned by the 'rejects retired Socket Mode ping/pong transport tuning' schema test, and the client pong timeout is now a hardcoded 15s constant. The page still told operators to configure it. * fix(slack): migrate retired socketMode with doctor instead of hand-editing The retired object fails schema validation at root and account scope, so the docs previously left manual removal as the only recovery. Slack already owns legacyConfigRules and normalizeCompatibilityConfig, so the strip belongs there. * test(slack): narrow the doctor contract config record for check-test-types normalizeCompatibilityConfig returns a possibly-absent channel entry, so the socketMode assertions need expectDefined before indexing. * docs(slack): describe socketMode retirement by observed behavior openclaw config validate reports a config carrying the retired object as valid, so the earlier 'validation rejects it / fails to load' wording was wrong. The observable facts are that it is not read and that doctor --fix removes it. * revert(slack): drop the duplicate socketMode doctor migration Core already strips channels.slack.socketMode at root and account scope in legacy-config-migrations.runtime.retired.ts via visitChannelEntries, so the plugin-side rule was duplicate policy. Keeps this PR to the docs correction. * docs(slack): state what doctor actually cleans up for socketMode Doctor flags retired layout knobs with a general notice, and --fix removes the three named fields and drops the object only once empty, so an unknown key inside it survives.