Ticket #6156 (reopened defect)

Opened 9 months ago

Last modified 2 months ago

[patch][no cla]cometd client and IE url limit to 2083 bytes

Reported by: Krunoslav Pisacic Owned by: gregw
Priority: normal Milestone: 1.3
Component: DojoX Cometd Version: 1.1b1
Severity: normal Keywords: cometd ie url limit
Cc: gregw

Description (last modified by peller) (diff)

Due to IE "feature" of not allowing more than 2083 bytes in URL ( http://support.microsoft.com/default.aspx?scid=KB;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);
    console.info("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");
    }
    console.info("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.

Attachments

cometd_base.patch (2.4 kB) - added by guest 9 months ago.
cometd base patch

Change History

Changed 9 months ago by guest

cometd base patch

  Changed 9 months ago by guest

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

br

  Changed 9 months ago by peller

  • owner changed from peller to gregw
  • summary changed from cometd client and IE url limit to 2083 bytes to [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?)

follow-up: ↓ 4   Changed 9 months ago by peller

  • cc gregwilkins added

in reply to: ↑ 3   Changed 9 months 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*M@…). 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.

  Changed 8 months ago by peller

  • owner changed from gregw to gregwilkins
  • description modified (diff)

  Changed 7 months ago by dylan

  • milestone set to 1.2

  Changed 6 months ago by alex

  • component changed from Dojox to DojoX Cometd

  Changed 3 months ago by dylan

  • owner changed from gregwilkins to gregw

  Changed 2 months ago by bill

  • status changed from new to closed
  • resolution set to invalid

I'm gonna close this since submitter hasn't identified themselves.

  Changed 2 months ago by bill

  • status changed from closed to reopened
  • reporter changed from guest to Krunoslav Pisacic
  • resolution deleted
  • milestone changed from 1.2 to 1.3

Oops, my mistake, submitter identified themselves but has no CLA. Anyway Greg will fix for 1.3.

  Changed 2 months ago by gregw

  • cc gregw added; gregwilkins removed
Note: See TracTickets for help on using tickets.