Switch to side-by-side view

--- a/Allura/allura/controllers/auth.py
+++ b/Allura/allura/controllers/auth.py
@@ -240,17 +240,20 @@
         c.form = F.subscription_form
         subscriptions = []
         for mb in M.Mailbox.query.find(dict(user_id=c.user._id)):
-            with h.push_context(mb.project_id):
-                if mb.app_config:
-                    subscriptions.append(dict(
-                            _id=mb._id,
-                            project_name=mb.project.name,
-                            mount_point=mb.app_config.options.mount_point,
-                            artifact_title=mb.artifact_title,
-                            topic=mb.topic,
-                            type=mb.type,
-                            frequency=mb.frequency.unit,
-                            artifact=mb.artifact_index_id))
+            try:
+                with h.push_context(mb.project_id):
+                    if mb.app_config:
+                        subscriptions.append(dict(
+                                _id=mb._id,
+                                project_name=mb.project.name,
+                                mount_point=mb.app_config.options.mount_point,
+                                artifact_title=mb.artifact_title,
+                                topic=mb.topic,
+                                type=mb.type,
+                                frequency=mb.frequency.unit,
+                                artifact=mb.artifact_index_id))
+            except exc.NoSuchProjectError:
+                mb.delete() # project went away
         api_token = M.ApiToken.query.get(user_id=c.user._id)
         return dict(subscriptions=subscriptions, api_token=api_token)