We currently have support for monitoring indvidual artifacts and an entire app (i.e. all its artifacts implicitly). Let's now think how "Subscription" indicator (envelope) should work:
- If user is not subscribed to entire app, and not subscribed to ticket, the envelop should show "unsubscribed" and clicking should execute subscribe action.
- If user is not subscribed to entire app, but subscribed to ticket, the envelop should show "subscribed" and clicking should execute unsubscribe action.
- But if user subscribed to entire app, one cannot unsubscribe from just one artifact. The indicator should show some "implicitly subscribed" state and be unclickable.
Failing to capture these desticntions is partly cause of test failure in https://engr.geek.net/hudson/job/allura/358