-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Updated RichTextInputBlockElement InitialValue data type #1320
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Manjish , thank you for the contribution!
It looks like there are some files that were perhaps mistakenly committed that change a lot of the imports to the forked github paths. Can you please fix those?
@lorenzoaiello |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for a quick follow up!
* Add example of updating modal * socketmode.Client.run: Fix slack-go#1125 by allowing producer of channel to close when it is finished, and consumer to see the close * socketmode.Client.run: Fix small race potential on 'firstErr' as the outer goroutine did not wait on all inner goroutines that had a chance to set it, also make sure to check error for context.Canceled appropriately * socketmode.Client.Events: Change all events produced to Events channel via a method that has an escape hatch; unable to change public Events field without breaking api, though * socketmode.Client.run: Cover edge case where all goroutines exit nil, when getting buffered (first) error * socketmode: Slight refactor of Send/Ack on Client to allow passing contexts for channel ops, though they are very similar now * socketmode: Shore up error handling via errors.Is/As/(Un)Wrapping, other small changes * delete dupulicated code at L181 * Change comments at L183 to suggestion Co-authored-by: Naoki Kanatani <[email protected]> * Change http response StatusUnauthorized at L188 to StatusInternalServerError Co-authored-by: Naoki Kanatani <[email protected]> * socketmode example: use embedded api client in socketmode client * socketmode remove duplicate debug logging * socketmode bytes no longer used * socketmodehandler: implemented RunEventLoopContext method. now socketmodehandler will react on context cancellation * socketmode: awaiting of message receiver goroutine in run method to avoid panics * bugfix: silly mistake in runLoop method, renamed closed to ok (recv chan) * Export the Binder type from slacktest * Add ReplyUsers to Msg Struct This is something that Slack returns by default on API response. * add support for user_profile_changed callback event * add test * add 2FA type to slack user Signed-off-by: Ivan Milchev <[email protected]> * Remove omitempty * Test with Go 1.18~1.20 * Update README for slacktest * Add actions/stale action * Increase operations-per-run * Bump up golangci-lint and its action to latest * Add git repository's checkout option * Add setup-go step * gofmt * Add 'FIXME's for deadman timer reset race * Fix race on deadman timer Elapsed+Reset by more efficient use of ticker and ping time channel. Remove deadman file as it is no longer needed * Add UnfurlLinks and UnfurlMedia to WebhookMessage * to support 'classic unfurl' configuration options in webhook messages. * https://api.slack.com/reference/messaging/link-unfurling#classic_unfurl * chore: unnecessary use of fmt.Sprintf * Redact tokens in debug log * Tiny unrelated lint fix * Add support for refresh tokens * Conversation inviteShared support * Create structs for manifest endpoint * Add requests to validate manifests * Add create and delete methods, implement common interface * Add tokens * Finish manifest methods * Fix linting * Rename value * More tests, return manifest itself when exporting * Undo pointer and take reference manually * More tests * Add options for tokens * Use correct method * use config token * Pass config token as param * Small bugfix * add `omitempty` to ConfirmationBlockObject.Deny a * change case "/humboldttest": to case "/slash" to handle http request correctly * remove post message because it's not related to sample of updating modal * add time.sleep to wait to see updated modal * Add examples * add time pkg * Re-phrase example docs * Add is_enterprise_install flag to command, interactions, and oauth2 response * Add blocks in slackevents.MessageEvent * Add support for Rich Text Input * Add Video Block (slack-go#1210) Add support for Video Blocks Ref. https://api.slack.com/reference/block-kit/blocks#video cf. slack-go#1205 --------- Co-authored-by: David Parsley <[email protected]> Co-authored-by: Ben Bourdin <[email protected]> * Add rich_text_input block conv * Create openid.connect.token function to fetch access token * Fix incorrectly commented functions * Improved comment for GetOpenIDConnectToken * Add RichTextList support * Add support for Indent field Co-authored-by: SimonLiuRoblox <[email protected]> * Add block element type FileInput * Add Files field related to FileInput element in the BlockAction * add connected_team_ids, shared_team_ids, internal_team_ids, is_global_shared field to conversation * fix: expose is_enterprise_install field * Add "edited" field to the app mention event * Fix linter * Fix: always add context to errors during block serde Signed-off-by: [email protected] <[email protected]> * Add WithURL support for ButtonBlockElement * add rich_text_quote and rich_text_preformatted * add deleted timestamp for deleted msg events * Adding structure comments & definitions * Parse string or boolean for SlashCommand.IsEnterpriseInstall * validate text length * Add missing message option for link_names * fix some typos * ignore vendor * bots.info * chat.scheduledMessages.list * files.list * usergroups.create * usergroups.list * reactions.list * search.all search.files search.messages * team.accessLogs * team.billableInfo * team.profile.get * pr-prep * Fix UploadFileV2 when using text content (slack-go#1291) * Trigger GitHub Actions * chore: slice replace loop (slack-go#1211) * chore: slice replace loop * Trigger GitHub Actions --------- Co-authored-by: Lorenzo Aiello <[email protected]> * Add isReadOnly property to Conversation struct (slack-go#1232) Co-authored-by: Miguel Campos <[email protected]> * chore: make channel optional on `UploadFileV2` (slack-go#1293) * Support no channel * added test * fix channel id param name * chore: Adding Deprecation Notice for files.upload (slack-go#1300) * ci: Adding Go Test Coverage for 1.21 and 1.22 (slack-go#1298) * docs: Updating Inline Docs and API References (slack-go#1299) * docs: Add an example demonstrating correct usage of GetUsersPaginated (slack-go#1201) * Add an example demonstrating correct usage of GetUsersPaginated * Requeue GitHub Actions --------- Co-authored-by: Lorenzo Aiello <[email protected]> * docs: Adding an example for AddRemoteFile and DeleteFile (slack-go#1303) * docs: Adding an example for ConversationHistory (slack-go#1302) * slackevents: support metadata in MessageEvent (slack-go#1307) Support for receiving metadata when reading conversation history was first added in PR slack-go#1083. This commit extends metadata support to message events when connected to the Slack WebSocket API. Signed-off-by: Robert Fratto <[email protected]> * chore: replace ioutil with io or os package (slack-go#1310) * add file access field to file struct for slackevents (slack-go#1312) * Add slack_file to image block (slack-go#1311) Co-authored-by: Rhys M <[email protected]> * feat: Events api reconcilation (slack-go#1306) * events added with test * added events with tests * added all events and changes done * feat: Add support for parsing AppRateLimited events (slack-go#1308) The code changes in this commit add support for parsing AppRateLimited events in the `ParseEvent` function. This allows the application to handle rate-limited events from the Slack API. * feat: Add Properties.Canvas to Channel (slack-go#1228) * Add Properties.Canvas to Channel * Trigger GitHub Actions --------- Co-authored-by: Lorenzo Aiello <[email protected]> * fix: create multipart form when multipart request (slack-go#1117) * fix: create multipart form when multipart request * call createFormFields in go func() del coment * Trigger GitHub Actions --------- Co-authored-by: Lorenzo Aiello <[email protected]> * feat: Add go version 1.23 to test matrix (test.yml) (slack-go#1315) * ci: Bump GitHub Actions to Latest Versions * fix: fix deprecated comment for UploadFile and UploadFileContext (slack-go#1316) * Support publishing a messge to a specific thread (slack-go#1309) Support publishing a messge to a specific thread https://api.slack.com/interactivity/handling#publishing_in_thread From slack interactivity documentation: Publishing responses in thread If you want to publish a message to a specific thread, you'll need to include an attribute response_type and set its value to in_channel. Then, to specify the thread, include a thread_ts. Also, be sure to set replace_original to false or you'll overwrite the message you're wanting to respond to! * fix: Add required `format` field to rich text date blocks (slack-go#1317) As per [block kit docs](https://api.slack.com/reference/block-kit/blocks#date-element-type), the date element requires a format string to be included. Currently, submitting a block kit with this element results in a slack API error. Also added the two optional fields `url` and `fallback` for posterity. ##### PR preparation Run `make pr-prep` from the root of the repository to run formatting, linting and tests. ##### Should this be an issue instead - [ ] is it a convenience method? (no new functionality, streamlines some use case) - [ ] exposes a previously private type, const, method, etc. - [ ] is it application specific (caching, retry logic, rate limiting, etc) - [ ] is it performance related. ##### API changes Since API changes have to be maintained they undergo a more detailed review and are more likely to require changes. - no tests, if you're adding to the API include at least a single test of the happy case. - If you can accomplish your goal without changing the API, then do so. - dependency changes. updates are okay. adding/removing need justification. ###### Examples of API changes that do not meet guidelines: - in library cache for users. caches are use case specific. - Convenience methods for Sending Messages, update, post, ephemeral, etc. consider opening an issue instead. * fix: Updated RichTextInputBlockElement InitialValue data type (slack-go#1320) ##### Pull Request Guidelines These are recommendations for pull requests. They are strictly guidelines to help manage expectations. ##### PR preparation Run `make pr-prep` from the root of the repository to run formatting, linting and tests. ##### Should this be an issue instead - [x] is it a convenience method? (no new functionality, streamlines some use case) - [ ] exposes a previously private type, const, method, etc. - [ ] is it application specific (caching, retry logic, rate limiting, etc) - [ ] is it performance related. Fix for [issue slack-go#1276](slack-go#1276) Updated the datatype of RichTextInputBlockElement InitialValue from string to *RichTextBlock * feat: Add support for unicode parameter in emoji type of rich text blocks (slack-go#1319) This PR adds support for the `unicode` parameter to the `RichTextSectionEmojiElement` struct for rich text blocks. While this parameter is not officially documented in Slack's API, it is present in the JSON payload of actual Slack messages and represents the Unicode code point of the emoji. https://api.slack.com/reference/block-kit/blocks#emoji-element-type For example, a rich text block with an emoji can include the unicode field like this: ```json "blocks": [ { "type": "rich_text", "block_id": "xxxxx", "elements": [ { "type": "rich_text_section", "elements": [ { "type": "emoji", "name": "+1", "unicode": "1f44d" } ] } ] } ] ``` The unicode parameter behaves similarly to the skin-tone parameter, which is also undocumented but has already been included in the structure. This PR aligns the handling of unicode in the same way to ensure emojis are fully supported in Slack message payloads. Please review, and feel free to provide feedback if any adjustments are needed. Thank you! ##### Pull Request Guidelines These are recommendations for pull requests. They are strictly guidelines to help manage expectations. ##### PR preparation Run `make pr-prep` from the root of the repository to run formatting, linting and tests. ##### Should this be an issue instead - [ ] is it a convenience method? (no new functionality, streamlines some use case) - [ ] exposes a previously private type, const, method, etc. - [ ] is it application specific (caching, retry logic, rate limiting, etc) - [ ] is it performance related. ##### API changes Since API changes have to be maintained they undergo a more detailed review and are more likely to require changes. - no tests, if you're adding to the API include at least a single test of the happy case. - If you can accomplish your goal without changing the API, then do so. - dependency changes. updates are okay. adding/removing need justification. ###### Examples of API changes that do not meet guidelines: - in library cache for users. caches are use case specific. - Convenience methods for Sending Messages, update, post, ephemeral, etc. consider opening an issue instead. * Add endpoints for `calls.*` apis and `Type: call` in blockkit (slack-go#1190) Implement the API methods for the Calls API in Slack https://api.slack.com/apis/calls Implemented methods - `calls.add` - Indicate a new call has been started - `calls.end` - Indicate to slack that the call has ended - `calls.info` - Get information about an ongoing slack call object - `calls.update` - update call information - `calls.participants.add` - `calls.participants.remove` Additionally, I've added the minimal version of `Block{Type: "call", CallID: string}` which slack recommends/requires be posted back to the channel https://api.slack.com/apis/calls#post_to_channel. All implemented functionality is publicly documented. There appear to be additional attributes on the `type: call` block, however those appear to be internal values for slack's rendering, so I have left them out. See this gist for specific responses https://gist.github.com/winston-stripe/0cac608bd63b42d73a352be53577f7fd ##### Pull Request Guidelines These are recommendations for pull requests. They are strictly guidelines to help manage expectations. ##### PR preparation Run `make pr-prep` from the root of the repository to run formatting, linting and tests. ##### Should this be an issue instead - [ ] is it a convenience method? (no new functionality, streamlines some use case) - [ ] exposes a previously private type, const, method, etc. - [ ] is it application specific (caching, retry logic, rate limiting, etc) - [ ] is it performance related. ##### API changes Since API changes have to be maintained they undergo a more detailed review and are more likely to require changes. - no tests, if you're adding to the API include at least a single test of the happy case. - If you can accomplish your goal without changing the API, then do so. - dependency changes. updates are okay. adding/removing need justification. ###### Examples of API changes that do not meet guidelines: - in library cache for users. caches are use case specific. - Convenience methods for Sending Messages, update, post, ephemeral, etc. consider opening an issue instead. --------- Co-authored-by: Winston Durand <[email protected]> * feat: Add Convenience Methods to Block Elements (slack-go#1279) Adds some convenience methods to block elements to easily add functionality --------- Co-authored-by: Lorenzo Aiello <[email protected]> * feat: Add functions.completeError and functions.completeSuccess (slack-go#1328) Completion of slack-go#1301 - Adds the new complete functions for the Function Execution Event - Adds the context version of those methods --- > this PR to handle event [function_executed](https://api.slack.com/events/function_executed) and response the function with [functions.completeSuccess](https://api.slack.com/methods/functions.completeSuccess) and [functions.completeError](https://api.slack.com/methods/functions.completeError) --------- Co-authored-by: Yoga Setiawan <[email protected]> * feat: Add support for external_limited option of inviteShared (slack-go#1330) Expose the ability to override the [external_limited option](https://api.slack.com/methods/conversations.inviteShared#arg_external_limited) for inviteShared. Adding the param to all the InviteSharedEmailsToConversation, etc. methods would be a breaking change to those callers, so I opted instead to expose the underlying helper (renamed to InviteSharedToConversation). I feel like the convenience methods (InviteSharedEmailsToConversation/InviteSharedUserIDsToConversation) are not actually that much more convenient than just using the helper, and I think we can eventually remove them in favor of having people call InviteSharedToConversation directly. But that's a future thing. Although it's slightly inconvenient for the caller to use *bool for ExternalLimited, the two alternatives I considered are, I think worse: - Include ExternalLimited as a bool in the InviteSharedParams. I dislike this way because it gives the SDK user of InviteSharedToConversation a different default behavior from inviteShared, since the default value in the API is true. - Add a bool like NonExternalLimited to InviteSharedParams. This way the defaulting is consistent with the API if it's not specified; however, the InviteSharedParams no longer mirror the API args, which I think is confusing. * feat: Add support for Canvas API methods (slack-go#1334) This PR introduces new functionalities for managing canvases and creating channel-specific canvases. - CreateCanvas - DeleteCanvas - EditCanvas - SetCanvasAccess - DeleteCanvasAccess - LookupCanvasSections - CreateChannelCanvas Closes slack-go#1333 * Add back a few things I removed from our version when merging * Remove duplicate TeamID * Fix tests * Fix linting * Implement interface for generic section * Fix methods to generate new rich text types * Implement set elements * Revert rich text changes * Delete unnecessary file --------- Signed-off-by: Ivan Milchev <[email protected]> Signed-off-by: [email protected] <[email protected]> Signed-off-by: Robert Fratto <[email protected]> Co-authored-by: kouwakai <[email protected]> Co-authored-by: Ian Burton <[email protected]> Co-authored-by: KouWakai <[email protected]> Co-authored-by: Naoki Kanatani <[email protected]> Co-authored-by: kittydoor <[email protected]> Co-authored-by: lololozhkin <[email protected]> Co-authored-by: lololozhkin <[email protected]> Co-authored-by: Kevin Paulisse <[email protected]> Co-authored-by: Aleksa Arsic <[email protected]> Co-authored-by: Jeffrey Dorrycott <[email protected]> Co-authored-by: Ivan Milchev <[email protected]> Co-authored-by: Lauri Heiskanen <[email protected]> Co-authored-by: guoguangwu <[email protected]> Co-authored-by: Daniel Abraham <[email protected]> Co-authored-by: Barak Amar <[email protected]> Co-authored-by: stijndcl <[email protected]> Co-authored-by: Kamil Gwóźdź <[email protected]> Co-authored-by: David Parsley <[email protected]> Co-authored-by: Hussachai Puripunpinyo <[email protected]> Co-authored-by: invzhi <[email protected]> Co-authored-by: Peiman Jafari <[email protected]> Co-authored-by: walkure <[email protected]> Co-authored-by: David Parsley <[email protected]> Co-authored-by: Ben Bourdin <[email protected]> Co-authored-by: Daniel Michaels <[email protected]> Co-authored-by: Daniel Pieper <[email protected]> Co-authored-by: Daniel Pieper <[email protected]> Co-authored-by: SimonLiuRoblox <[email protected]> Co-authored-by: Aotokitsuruya <[email protected]> Co-authored-by: Peter Nguyen <[email protected]> Co-authored-by: Alvin See <[email protected]> Co-authored-by: IbirbyZh <[email protected]> Co-authored-by: [email protected] <[email protected]> Co-authored-by: Josh Branham <[email protected]> Co-authored-by: Rustam Gilyazov <[email protected]> Co-authored-by: Jeremy Birtola <[email protected]> Co-authored-by: Andres Peñaloza <[email protected]> Co-authored-by: Robby Dyer <[email protected]> Co-authored-by: yutasb <[email protected]> Co-authored-by: candiduslynx <[email protected]> Co-authored-by: Alex Shcherbakov <[email protected]> Co-authored-by: Caleb McKay <[email protected]> Co-authored-by: Lorenzo Aiello <[email protected]> Co-authored-by: Lorenzo Aiello <[email protected]> Co-authored-by: Miguel Campos <[email protected]> Co-authored-by: Miguel Campos <[email protected]> Co-authored-by: Alexander Forbes-Reed <[email protected]> Co-authored-by: Adam Rothman <[email protected]> Co-authored-by: Robert Fratto <[email protected]> Co-authored-by: Naka Masato <[email protected]> Co-authored-by: Peter Nguyen <[email protected]> Co-authored-by: rhysm <[email protected]> Co-authored-by: Rhys M <[email protected]> Co-authored-by: Arya Khochare <[email protected]> Co-authored-by: K.Utsunomiya <[email protected]> Co-authored-by: ku KUMAGAI <[email protected]> Co-authored-by: mineo <[email protected]> Co-authored-by: ICHINOSE Shogo <[email protected]> Co-authored-by: Nikolai <[email protected]> Co-authored-by: Luke Josh <[email protected]> Co-authored-by: Manjish <[email protected]> Co-authored-by: YutoKashiwagi <[email protected]> Co-authored-by: Winston Durand <[email protected]> Co-authored-by: Winston Durand <[email protected]> Co-authored-by: Obed S. <[email protected]> Co-authored-by: Gideon Williams <[email protected]> Co-authored-by: Yoga Setiawan <[email protected]> Co-authored-by: Bennett Amodio <[email protected]> Co-authored-by: Jaro Spisak <[email protected]>
Pull Request Guidelines
These are recommendations for pull requests.
They are strictly guidelines to help manage expectations.
PR preparation
Run
make pr-prep
from the root of the repository to run formatting, linting and tests.Should this be an issue instead
Fix for issue #1276
Updated the datatype of RichTextInputBlockElement InitialValue from string to *RichTextBlock