- HyperKitty uses the top-level template directory (eg. it has a templates/base.html file), which is generally reserved for site-level templates.
- HyperKitty's base templates aren't broken up into blocks in such a way that they can easily be used to extend a different base template. The base template defines both the overall page structure and various HyperKitty components, so it's impossible to, say, modify the navigation bar without replicating a large chunk of HyperKitty stuff.
- Moreover, both apps use the same view names in places. For example, the HyperKitty user_profile page loads Ajax content from the "user_subscriptions" view, but Postorius defines its own "user_subscriptions" view that returns a full page. The result is that if the main urls.py includes Postorius URLs after HyperKitty URLs, the HyperKitty subscriptions tab tries to load the Postorius page via Ajax and fails.
- Postorius uses BrowserID authentication through social_auth, while HyperKitty includes a separate browser_id library
I was hoping to get a sense of the big picture here before either filing a bunch of tickets or working on a pull request to try to address some of these.