v0.3.0
Pre-release
Pre-release
This release contains updates made while dogfooding.
- Improved
Router:- Added
viewSubmissionAsyncto routing (available via eitherApporRouter). I found myself unexpectedly needing this while dogfooding.
- Added
- Improved
Contextobject:- Added
Context::getAppConfig()andContext::getApiClient()getters toContext. Seemed useful while dogfooding to have these. - Added support for
Surfacefactories (i.e.,callables that returnSurfaces) to methods accepting surfaces like:ack(),respond(),say(),home(),modals(), andview(). Applies to anything calling theCoercemethods forSurfaces.
- Added
- Improve
Payloadobject:- Added
HasData::getAllOf()method, which also applies to thePayload. - Updated
Payload::getMetadata()to return an emptyPrivateMetadataobject when metadata isnull, instead of throwing an exception. - Added
Payload::getResponseUrl()for abstracting the process of getting theresponse_urlfrom the payload. Works forview_submissionpayloads too, whereresponse_urlsare created from Conversation or Channel Select inputs.
- Added
- Added some new
Listeners:Dual- An abstractListeneryou can extend to provide both sync/pre-Ack and async/post-Ack logic.WIP- A stub-likeListenerthat outputs "Work in progress" in the best way (e.g., message, modal, log) available for the current interaction type.
- Improved logging:
- (BC) Renamed
SlackLogger::addData()to SlackLogger::addContext()` because it fit with PSR-3 nomenclature better. - Added the ability to add and get context data with the base
Exceptionclass via::addContext()and::getContext(), respectively. - Improve
StderrLoggerto include context from the exception, when available.
- (BC) Renamed
- Improved
CommandRouter:- (BC) Renamed the default
listcommand inCommandRoutertohelp. - Added support for custom default commands by using
'*'or theCommandRouter::withDefault()command. - (BC) Renamed
CommandRouter::description()towithDescription().
- (BC) Renamed the default
- Improved
Deferrers:- Fixed a couple of issues with
DeferredContextCliServerwhile dogfooding. - Fixed
ShellExecDeferrerso that it allows logging viastderr.
- Fixed a couple of issues with