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

[CLOSED] Make LiveDevMultiBrowser's Launcher instance configurable via public set Launcher() method #9319

Open
core-ai-bot opened this issue Aug 30, 2021 · 9 comments

Comments

@core-ai-bot
Copy link
Member

Issue by humphd
Tuesday Feb 10, 2015 at 00:20 GMT
Originally opened as adobe/brackets#10558


We're working on using the new LiveDevMultiBrowser code to allow an in-browser Brackets to use an iframe-based browser and postMessage-based protocol, see https://github.com/humphd/brackets/issues/27. One of the snags we've hit is that we need a way to override how the default browser is launched, and the Launcher is currently not configurable.

This patch follows the same pattern currently in place for swapping the protocol's transport (which we also make use of in order to use postMessage to/from the iframe), and adds a setLauncher() method. If you'd consider this API change, we'd be able to get our own iframe-based launcher hooked into live dev.

cc@busykai,@sebaslv,@sedge


humphd included the following code: https://github.com/adobe/brackets/pull/10558/commits

@core-ai-bot
Copy link
Member Author

Comment by sebaslv
Friday Feb 13, 2015 at 15:13 GMT


@humphd, looks good to me having this mechanism to dynamically set a different Launcher instance. We have a unique launcher instance now to make it compatible with CDT-based live dev UI but, in the near future we would like to decouple launch mechanism from live dev session to better support launching multiple clients per session.

Just curious, have you consider some way of static configuration also for your use case? I mean, something like having a pref that allows setting the Launcher instance to be loaded during initialization rather than always loading DefaultLauncher and then dynamically swapping it?

@core-ai-bot
Copy link
Member Author

Comment by humphd
Friday Feb 13, 2015 at 16:49 GMT


OK, great. Using this patch (which I landed on our brackets fork), we've just today been able to get Live Dev working in the browser with an iframe and postMessage--it's awesome :) It would be great if you'd take this patch upstream so we don't have to modify brackets at all to make it work.

Regarding your other question, I've been wondering about that too. I don't love the idea of doing it with prefs, since that still forces changes in brackets proper, and isn't something you can do from an extension. I like the model you have with the live dev server manager, where you can register a server with a priority. In an ideal world, it would be great if an extension could somehow provide the transport, launcher, and maybe a few other internal implementations for Live Dev, and have Live Dev's init use these instead of starting with the defaults and then being forced to switch them. It's a bit of a pain to switch them, because you have to get the timing right, or your transport/launcher get overwritten by the defaults again.

I had the same issue with swapping out my in-browser filesystem (https://github.com/filerjs/filer) for the appshell's impementation, which requires me to change the brackets source internally. It would be great if there was a way for extensions to override more of the internal code, but that's a larger issue, and I don't want to block this bug on figuring that out if possible.

@core-ai-bot
Copy link
Member Author

Comment by busykai
Tuesday Mar 03, 2015 at 17:55 GMT


Sorry I haven't been able to get to this for a little while. I'll review and merge this code. We'd want to have as little diffs as possible with the mainstream Brackets. As for static configuration, we'll consider it as the next step (this one may actually help it).

@core-ai-bot
Copy link
Member Author

Comment by busykai
Tuesday Mar 03, 2015 at 18:02 GMT


@humphd, looks good, only one minor comment.

@core-ai-bot
Copy link
Member Author

Comment by humphd
Tuesday Mar 03, 2015 at 19:22 GMT


Thanks, fixed.

@core-ai-bot
Copy link
Member Author

Comment by humphd
Tuesday Mar 03, 2015 at 23:16 GMT


Ugh. Fixed.

@core-ai-bot
Copy link
Member Author

Comment by humphd
Monday Mar 09, 2015 at 19:47 GMT


@busykai ping?

@core-ai-bot
Copy link
Member Author

Comment by busykai
Thursday Mar 12, 2015 at 19:20 GMT


Looks good! Merging. Sorry for the delay.

@core-ai-bot
Copy link
Member Author

Comment by humphd
Thursday Mar 12, 2015 at 19:27 GMT


Great, thanks!

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

1 participant