Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiplex no longer works with example given in README due to socket.io version discrepancy with revealjs.jit.su #1276

Closed
fghaas opened this issue Jun 21, 2015 · 7 comments

Comments

@fghaas
Copy link
Contributor

fghaas commented Jun 21, 2015

The README currently gives this example for a multiplex configuration:

Reveal.initialize({
    // other options...

    multiplex: {
        // Example values. To generate your own, see the socket.io server instructions.
        secret: '13652805320794272084', // Obtained from the socket.io server. Gives this (the master) control of the presentation
        id: '1ea875674b17ca76', // Obtained from socket.io server
        url: 'revealjs.jit.su:80' // Location of socket.io server
    },

    // Don't forget to add the dependencies
    dependencies: [
        { src: '//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js', async: true },
        { src: 'plugin/multiplex/master.js', async: true },

        // and if you want speaker notes
        { src: 'plugin/notes-server/client.js', async: true }

        // other dependencies...
    ]
});

Evidently, the socket.io server at revealjs.jit.su has been upgraded to a 1.x version, with which the 0.9.16 client library is incompatible, resulting in an HTTP 400 (Bad Request) error.

Updating the client socket.io library to 1.3.5 makes the problem go away; thus the correct socket.io source URL appears to be //cdn.socket.io/socket.io-1.3.5.js.

@Delapouite
Copy link

Thanks @FGHASS for finding this version incompatibility. Do you mind providing a PR to fix this URL?

@fghaas
Copy link
Contributor Author

fghaas commented Jun 24, 2015

Yes the PR is trivial, but I've noticed that if I use the updated socket.io client in conjunction with the notes plugin, then instead of the next slide I only ever see the current slide in the speaker console. This applies only to the master presentation, i.e. the one where the socket.io secret is non-null, and the speaker console does work as expected on slaves. Is this a new problem, or has this existed before?

fghaas added a commit to fghaas/reveal.js that referenced this issue Jun 24, 2015
The socket.io server at reveal.jit.su has been updated with socket.io
1.x, which means the examples referring to 0.9.x client libraries
no longer work. Update them with URLs for 1.3.5.

Fixes hakimel#1276.
@ghost
Copy link

ghost commented Jul 29, 2015

Hi why not update the socket.io in the package.json? I can see that it's still using 0.9.16

@fghaas
Copy link
Contributor Author

fghaas commented Jul 29, 2015

@jereme-leandev please feel free to do that. I'm not sure if @hakimel has any intention to merge this PR though; it's been sitting in the queue for more than a month...

@hakimel
Copy link
Owner

hakimel commented Sep 29, 2015

Thanks for digging into this. The PR you submitted was merged and reveal.js now uses a more recent version of socket.io.

However I needed to make some changes to how multiplexing works as part of the dependency update so it's no longer compatible with the version at revealjs.jit.su. I'll file a new issue for asking the person who operates that server to update it once these changes have had some time to be tested and are merged into master.

@hakimel hakimel closed this as completed Sep 29, 2015
@fghaas
Copy link
Contributor Author

fghaas commented Sep 29, 2015

@hakimel Thanks! So to clarify, does this mean that a presentation using current master will not work with multiplexing via revealjs.jit.su?

@hakimel
Copy link
Owner

hakimel commented Sep 29, 2015

Neither master or dev currently work. Also just saw that the server is moving: https://github.com/hakimel/reveal.js/pull/1357/files

I'm starting to wonder if it might just be easier to switch the examples in the readme to run the server locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants