Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pbrisbin/bugsnag-haskell
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.0.1.3
Choose a base ref
...
head repository: pbrisbin/bugsnag-haskell
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.0.2.0
Choose a head ref
  • 11 commits
  • 20 files changed
  • 1 contributor

Commits on Aug 6, 2018

  1. Store a single Exception in the Event

    This has been a source of great confusion for me. It makes no sense that
    the API accepts multiple Exceptions per Event, while at the same time:
    
    - Exception-specific properties (e.g. groupingHash) are Event-level
    - All client's have a setting like ignoreException, without really
      explaining how that might apply to the multi-Exception Event (do you
      ignore if they all match? Any? Do you filter, then ignore if empty?)
    
    Turns out, at least as far as I can tell, the multi-Exception interface
    is a Ruby-specific affordance. It's to support Exception#cause[1]. Even
    that library is oriented in a single-Exception way, then it attempts to
    unwrap nested Exceptions at report-time. If it finds many levels, it
    needs a way to include them all, so the interface for the API was bent
    to accept exceptions (rather than accept Exception.cause :: Exception,
    which would've been both *more* Ruby-inspired and, IMO, a better general
    interface!).
    
    [1]: https://github.com/bugsnag/bugsnag-ruby/blob/f8322960b5b2a9c7f9c60c2a68abddd9f24d5ec1/lib/bugsnag/report.rb#L174-L208
    
    Haskell doesn't have this notion (at least, not in any kind of
    first-class way). So we can basically take the same approach: pretend
    the whole world is single-Exception, then wrap it up as a list at
    report-time only.
    
    The upside is we could avoid a documented caveat (updateException), an
    ErrorCall (bugsnagShouldNotify), and we should now be able to resolve
    Issue #26. The downside is we needed a manual ToJSON instance to perform
    the translation. No big deal. We could've avoided even this by using
    some kind of newtype, but that would've made the value-construction/use
    more cumbersome, so a poor trade-off.
    pbrisbin committed Aug 6, 2018
    Configuration menu
    Copy the full SHA
    8445615 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    09935e0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f4e14e7 View commit details
    Browse the repository at this point in the history
  4. Configure HLint

    pbrisbin committed Aug 6, 2018
    Configuration menu
    Copy the full SHA
    f8fadde View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2018

  1. Refactor updateException

    pbrisbin committed Aug 22, 2018
    Configuration menu
    Copy the full SHA
    41cb81a View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2018

  1. Build CodeIndex abstraction

    See #14.
    pbrisbin committed Sep 3, 2018
    Configuration menu
    Copy the full SHA
    e58b86d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1bf251b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    120e60b View commit details
    Browse the repository at this point in the history
  4. Require newer Glob

    Glob < 0.9.0 returns absolute paths, which means lookups with relative
    keys fails if using that version.
    pbrisbin committed Sep 3, 2018
    Configuration menu
    Copy the full SHA
    41ab94e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e5f9654 View commit details
    Browse the repository at this point in the history
  6. Version bump

    pbrisbin committed Sep 3, 2018
    Configuration menu
    Copy the full SHA
    c61eb14 View commit details
    Browse the repository at this point in the history
Loading