Opened 14 years ago

Last modified 10 years ago

#6156 closed defect

[patch][no cla]cometd client and IE url limit to 2083 bytes — at Version 5

Reported by: guest Owned by: gregwilkins
Priority: high Milestone: 1.7
Component: DojoX Cometd Version: 1.1b1
Keywords: cometd ie url limit Cc: Greg Wilkins
Blocked By: Blocking:

Description (last modified by Adam Peller)

Due to IE "feature" of not allowing more than 2083 bytes in URL (;en-us;q208427 ), more subscriptions in a batch do not get send to the cometd server (confirmed by wireshark). No javascript error is reported.

dojo is: nightly build as of 2008-02-22, cometd server is pyton twisted cometd, IE is 6 and 7 (both have this kind of limit).

function init_comet(s_comet_url, a_groups, a_queues) {
    dojox.cometd.init(s_comet_url);"VCCE COMET initialized started");
    dojox.cometd.subscribe("/vcce/bulletin/global", bulletin_notification, "notify");
    for ( var i_g in a_groups ) {
        dojox.cometd.subscribe("/vcce/bulletin/" + i_g, bulletin_notification, "notify");
    dojox.cometd.subscribe("/vcce/topmenu", topmenu_notification, "notify");
    dojox.cometd.subscribe("/vcce/queue/global", queue_notification, "notify");
    for ( var i_q in a_queues ) {
        dojox.cometd.subscribe("/vcce/queue/" + i_q, queue_notification, "notify");
    }"VCCE COMET initialized ended");

a_groups and a_queues have together ~10 elements.

Workaround would probably be to split subscriptions to more that one transport message. or (ugly) to add flush method.

Change History (6)

Changed 14 years ago by guest

Attachment: cometd_base.patch added

cometd base patch

comment:1 Changed 14 years ago by guest

this patch splits under IE split messages into multiple transport messages. only downside is that only last return from is returned back. that shouldn't be a problem since when calling ( _base.js line 551 ) return value is not used.


comment:2 Changed 14 years ago by Adam Peller

Owner: changed from Adam Peller to Greg Wilkins
Summary: cometd client and IE url limit to 2083 bytes[patch][no cla]cometd client and IE url limit to 2083 bytes

Please identify yourself so we know if we can accept this patch.

Also, I think we need to avoid the small dependency on dtl. Can we just use encodeURLComponent? (I wonder if dojox.dtl can also?)

comment:3 Changed 14 years ago by Adam Peller

Cc: gregwilkins added

comment:4 in reply to:  3 Changed 14 years ago by guest

Replying to peller:

yes, i guess we could use encodeURIComponent to avoid dependency. i wasn't aware it exists as a build-in javascript function since it was implemented in dtl.

my identity is Krunoslav Pisacic ( kpisacic_N*O*S*P*A*[email protected]…). i attached this patch because it solved problem for me. it was just a suggestion for the assignee to help him resolve problem. i participated in a couple of others opensource projects where this was a prefered way of submiting problems and fixes - sorry if i was wrong.

comment:5 Changed 13 years ago by Adam Peller

Description: modified (diff)
Owner: changed from Greg Wilkins to gregwilkins
Note: See TracTickets for help on using tickets.