travis-ci / travis-watcher-macosx

[DEPRECATED] A Travis CI client for Mac OS X.
MIT License
95 stars 9 forks source link

[WIP] Rewrite Notification part of app #14

Closed sarahhodne closed 11 years ago

sarahhodne commented 11 years ago

This is mostly a brain-dump right now, putting it here in case someone has comments.

I've come to the realisation that the notification part of the app is like a stream or pipeline starting with the Pusher stream and ending in Notification Center. After a bit of notepaper scribbling, I ended up with something like this for the stream:

  1. BuildEventStream emits BuildEvent objects from the Pusher stream.
  2. EventFilter consumes these, filters according to a FilterPreferences object and emits BuildEvent objects
  3. EventConverter consumes the filtered BuildEvent objects and emits Notification objects
  4. UserNotifier consumes the Notification objects and shows the notifications to the user through Notification Center

I'm working on the code for this now, and I'll convert this issue into a pull request once I have something that works.