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

Conversation

FooBarWidget
Copy link

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
#477

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
Copy link
Author

Any updates on this? This should be a pretty simple patch that wouldn't interfere with anything.

@cassiemc
Copy link

cassiemc commented Jan 7, 2016

@davidascher ?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants