[Buildbot] #3231: [AngularJS project] Shared websocket between tabs

Buildbot trac trac at buildbot.net
Sun Mar 15 20:34:14 UTC 2015


#3231: [AngularJS project] Shared websocket between tabs
----------------------+------------------------
Reporter:  tardyp     |       Owner:
    Type:  undecided  |      Status:  new
Priority:  major      |   Milestone:  undecided
 Version:  0.8.10     |  Resolution:
Keywords:             |
----------------------+------------------------

Old description:

> This project is child from http://trac.buildbot.net/ticket/3148
>
> Goal is to investigate, and enhance the user experience when opening
> multiple tabs with buildbot nine.
>
> Tab loading must be as fast as possible, potencially reusing data
> downloaded and event subscribed by other tabs.
>
> When using the UI, users are often opening several tabs on a buildbot
> website.
> The connected character of buildbot nine will create one connection for
> each tab, This is inefficient user of the event system.
>

> This project will try as much as possible to use Prior Art, and existing
> libraries
>
> Examples of Prior Art:
>
> * https://github.com/Atmosphere/atmosphere/wiki/Sharing-connection-
> between-Browser's-windows-and-tabs
> * http://stackoverflow.com/questions/9554896/sharing-websocket-across-
> browser-tabs
> * http://tavendo.com/blog/post/websocket-persistent-connections/
> * http://ponyfoo.com/articles/cross-tab-communication
> * https://github.com/tejacques/crosstab
> * https://github.com/diy/intercom.js/

New description:

 This project is child from http://trac.buildbot.net/ticket/3148

 Goal is to investigate, and enhance the user experience when opening
 multiple tabs with buildbot nine.

 Tab loading must be as fast as possible, potencially reusing data
 downloaded and event subscribed by other tabs.

 When using the UI, users are often opening several tabs on a buildbot
 website.
 The connected character of buildbot nine will create one connection for
 each tab, This is inefficient user of the event system.


 This project will try as much as possible to use Prior Art, and existing
 libraries

 Examples of Prior Art:

 * https://github.com/Atmosphere/atmosphere/wiki/Sharing-connection-
 between-Browser's-windows-and-tabs
 * http://stackoverflow.com/questions/9554896/sharing-websocket-across-
 browser-tabs
 * http://tavendo.com/blog/post/websocket-persistent-connections/
 * http://ponyfoo.com/articles/cross-tab-communication
 * https://github.com/tejacques/crosstab
 * https://github.com/diy/intercom.js/
 * https://github.com/simme/browbeat

--

Comment (by tardyp):

 browbeat looks good. Master election is something pretty well known.

 I'd rather concentrate on a very solid crosstab communication, and master
 election should be pretty simple.

 I dont think we are required to use localStorage to actually store
 information. passing the data via message should be suffisiant.

 Using LocalStorage as a cache is nevertheless possible, but probably yet
 another story.

--
Ticket URL: <http://trac.buildbot.net/ticket/3231#comment:3>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the bugs mailing list