Summary | Ajax notifications too greedy |
Queue | Horde Framework Packages |
Queue Version | Git master |
Type | Bug |
State | Resolved |
Priority | 2. Medium |
Owners | jan (at) horde (dot) org |
Requester | jan (at) horde (dot) org |
Created | 05/10/2010 (5593 days ago) |
Due | |
Updated | 07/02/2010 (5540 days ago) |
Assigned | |
Resolved | 06/29/2010 (5543 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | 4 |
Patch | No |
Bug #9017: ajaxui parameter is intrusive; breaks URLs that normally donot have parameters
http://git.horde.org/diff.php/imp/templates/dimp/javascript_defs_dimp.php?rt=horde-git&r1=ce3b3ba651980f460118b2dabf46630fbae46113&r2=5e9e700df2e7b13d83f5dca834d9456fc1ec2efe
Bug #9017: Fix Growler notifications for DIMP compose/message screenshttp://git.horde.org/diff.php/imp/templates/dimp/javascript_defs_dimp.php?rt=horde-git&r1=48360a7399b640a69bf51ea671798837b5c49780&r2=ce3b3ba651980f460118b2dabf46630fbae46113
Taken from
State ⇒ Resolved
Don't store in the session whether to hide the sidebar/menu or attach
the ajax notification listener. Instead, do this per request and pass
the request parameter through with Horde::url(). Fixes
bug 9017.http://git.horde.org/diff.php/ansel/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/beatnik/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/chora/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/crumb/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/fima/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/folks/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/framework/Core/lib/Horde.php?rt=horde-git&r1=5b3c495f8b85bab84d32c5f4c865ff0ded63e057&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/framework/Core/lib/Horde/Core/Prefs/Ui.php?rt=horde-git&r1=84a96bec34b90beb720b6a4eb90423a187add87a&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/framework/Core/lib/Horde/Registry.php?rt=horde-git&r1=5b3c495f8b85bab84d32c5f4c865ff0ded63e057&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/gollem/lib/Gollem.php?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/hermes/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/horde/templates/admin/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/horde/templates/menu/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/imp/lib/Auth.php?rt=horde-git&r1=bb5a553250e937a8e82ecfbd57fd99cc9d777c27&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/imp/lib/IMP.php?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/imp/templates/dimp/javascript_defs_dimp.php?rt=horde-git&r1=f12229826ab256b7020f754824624b088b611f44&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/ingo/lib/Ingo.php?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/kastalia/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/kronolith/index.php?rt=horde-git&r1=f3943e8fc2471ce1a26a4818f669021c786b67a8&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/kronolith/lib/Kronolith.php?rt=horde-git&r1=83485e5e6d7ba0e0d32b795450bb469199a6a509&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/kronolith/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/luxor/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/mnemo/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/nag/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/news/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/operator/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/pastie/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/shout/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/skeleton/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/skoli/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/trean/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/turba/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/whups/templates/menu.inc?rt=horde-git&r1=f76194711c98829554a18fce96a614cb28ffd4c4&r2=48360a7399b640a69bf51ea671798837b5c49780
http://git.horde.org/diff.php/wicked/templates/menu.inc?rt=horde-git&r1=45d58456f24b121efb9d4082306dbe93076b7172&r2=48360a7399b640a69bf51ea671798837b5c49780
handler/mode attached as long as the user navigates the traditional
apps inside the iframe. But as soon as he navigates to the traditional
app directly, the handler has to be removed.
The only way that comes to mind is to carry a flag around in all urls,
as soon as we open a traditional page from the ajax iframe.
The same problem applies to the hiding of the menu in the prefs btw.
each application's init() function, this pseudocode:
if ($GLOBALS['registry']->initialApp == CURRENT_APP) {
$_SESSION['horde_notification']['override'] = ($is_ajax_view)
? Ajax_Display_Handler
: null;
}
The better solution would be to abstract all notification code out of
the framework libraries, create a Utility object that sits between the
injector and the Notification library, and then have the initializing
application doing something like:
$injector->getInstance('Horde_Notification')->setMode('ajax')
setMode() would do the necessary push/pop of the Notification handlers.
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ Ajax notifications too greedy
Queue ⇒ Horde Framework Packages
Assigned to
Milestone ⇒ 4
Patch ⇒ No
State ⇒ Assigned
longer are displayed with the traditional status handler. This has
been done so that traditional apps running in an iframe of an ajax app
returns notifications as ajax responses.
But for the time being we will have both kind of apps side by side,
i.e. users will switch between them. So we need a way to get the
traditional status back.