Skip to content
This repository has been archived by the owner on Sep 2, 2020. It is now read-only.

Fix compatibility with Phusion Passenger #478

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Apr 16, 2015

  1. Fix compatibility with Phusion Passenger

    BadgeKit calls `app.listen()` based on whether `module.parent` is null.
    But when BadgeKit is loaded from Passenger, `module.parent` is not null
    because Passenger does not run `index.js` directly, but `require()`s it
    from another file.
    
    So in this commit we also check for `module.parent.isApplicationLoader`
    in the conditional. Passenger sets this flag, and it is proposed that
    other apps (e.g. PM2) could set this flag in the future too.
    
    The `module.parent.isApplicationLoader` mechanism is used by for example
    the CompoundJS framework, which suffered from a similar problem. The
    discussion is here:
    https://groups.google.com/forum/#!topic/phusion-passenger/6Cojr55tzfw
    
    The mechanism is documented in the Passenger 4.0.34 changelog entry:
    https://github.com/phusion/passenger/blob/release-5.0.6/CHANGELOG#L577-L590
    
    This issue was originally reported here:
    phusion/passenger#1460
    mozilla#477
    FooBarWidget committed Apr 16, 2015
    Configuration menu
    Copy the full SHA
    5101ded View commit details
    Browse the repository at this point in the history