Skip to content
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

Add Adaptive Card message format support #162

Merged
merged 1 commit into from
Apr 10, 2022

Commits on Apr 10, 2022

  1. Add Adaptive Card message format support

    Add early (and incomplete) implementation of `Adaptive Card` format
    (new `adaptivecard` package). This new package is an alternative to
    the current implementation of the legacy `MessageCard` format
    (`messagecard` package).
    
    Remove `botapi` package. This package was a partial implementation and
    intended as a temporary resource until the `adaptivecard` package was
    developed sufficiently to replace it. This package could make an
    appearance later in a more complete form if there is need for it.
    
    CHANGES
    
    The changes listed here are in comparison to the previous
    v2.7.0-alpha.1 release.
    
    - add initial implementation of the `adaptivecard` package
    - remove partial implementation of `botapi` package
      - incomplete implementation, known issues (atc0005/send2teams#225)
    - example code
      - create subdir for new `adaptivecard` examples and populate with
        equivalents
      - create subdir for existing `messagecard` examples
      - refresh doc comments of existing examples
      - attempt to simplify implementation of examples
    - documentation refresh
      - cover new features provided by the new `adaptivecard` package
      - make note of plans to extend v2 branch features while retaining
        backwards compatibility with an eye towards a future v3 series
    - add `goteamsnotify.InList()` helper func
    - simplify `goteamsnotify.messagePreparer` interface
    - simplify `MessageCard.Prepare()` implementation
    - explicitly mark files containing exclusively deprecated code
    - explicitly mark existing formatting functionality as specific to the
      `MessageCard` format
    
    LIMITATIONS
    
    - the `adaptivecard` package is new and its API is subject to change
      before the next stable release
    - the `adaptivecard` package is incomplete
      - while the new package contains sufficient functionality to be
        useful and provide a close approximation of functionality to the
        existing `messagecard` package, it is still missing support for
        some (available) features that the older package provides
    - there are many TODO items for the new `adaptivecard` package, most
      of which are intended to be removed before the next stable release
    - there are active `gocognit` linter warnings for the `Validate()`
      method for multiple types in the new `adaptivecard` package
      - this method is responsible for asserting known requirements for
        multiple field values for its type
      - more "bake time" is needed to determine a simpler approach
    
    REFERENCES
    
    - refs GH-157
    - refs atc0005/send2teams#225
    atc0005 committed Apr 10, 2022
    Configuration menu
    Copy the full SHA
    4918936 View commit details
    Browse the repository at this point in the history