slackapi / slackapi/python-slack-sdk
Inconsistent SlackObjectFormationError raising when empty text is provided.
@hello-ashleyintech arbeitet bereits daran.
Seit 20.9.2022.
- Vorherrschende Sprache
- Python
- Sterne
- 4k
- Forks
- 857
- Ø Merge
- 22 Std. 21 Min.
- Gemergte PRs (30 T.)
- 16
Beschreibung
Given the following:
>>> SectionBlock(text="").to_dict()
SlackObjectFormationError: text or fields attribute must be specified
This is all correct enough and good enough. What's happening behind the scenes appears to be that TextObject.parse is used and does a truthy test on the incoming text, and returns None as opposed to an empty string.
Where that begins to go wrong, is here:
>>> SectionBlock(text=MarkdownTextObject(text="")).to_dict()
{'text': {'type': 'mrkdwn'}, 'type': 'section'}
Slack will reject that as erroneous. If it's sent back as part of the acknowledgement response as a response_action we won't necessarily see (receive) an error related to failing to parse the JSON schema. Slack's block kit builder says of it: Missing required field: text
Category
- slack_sdk.models (UI component builders)
Desired outcome
Ideally, I'd like to be able to trust (more) that the validation present in slack_sdk is going to raise on invalid configurations early, and consistently -- that is, where possible I'd like to assume that putting together something "empty" even if I've opted to use the classes instead of an equivalent base type (str, dict) should raise.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.