Skip to content
This repository has been archived by the owner on Mar 26, 2022. It is now read-only.

Possibility of pure client-side implementation (i.e. no ASP.NET)? #96

Closed
nathankopp opened this issue Sep 15, 2020 · 9 comments
Closed

Comments

@nathankopp
Copy link

Sean,

So glad to have found this. I was going to try to implement something like this myself, but I think it will be easier to work with Calla to build what I want instead of starting from scratch.

However, I'd love to run this without any back-end. In the read-me, you say "There's no backend for Calla." However, it does seem to have some middleware C# code running in ASP.NET. Any idea how easy it would be to re-implement this using pure client-side JS for the entire front-end? Any tips you can give for such getting started with this kind of modification?

This would allow zero-cost installations for low-traffic sites that use meet.jit.si plus free hosting (such as the free tier of Firebase).

@nathankopp
Copy link
Author

Update: Reading through the "basic" code, it looks like that runs as pure client-side JS without any ASP.NET. Therefore, I'll be closing this issue.

However, I'm wondering if you can provide any additional documentation regarding the C# code and the non-basic variation of Calla. Thanks!

@capnmidnight
Copy link
Owner

Apologies. I've been playing fast and loose with my repos lately for my project at work (a VR project which uses Calla under the hood). The ASP.NET stuff was mostly just so I could learn how to use ASP.NET Core, as I haven't touched it since the WebForms days. I'll be removing the Juniper, SignalR, and ASP.NET dependencies soon.

As for the "game" app using Calla, the only difference between it and the "basic" app is the rendering of the graphics. Calla is meant to be just the audio spatialization interface. That would be everything under the "Calla-Site/scripts/calla" directory. You bring your own graphics and interaction metaphor.

I should have an example of a 3d app soon that I can publish in the project. I probably won't spend any time documenting the "game" app, as it's out of scope for the library, though I probably will fork it out to a separate repo at some point to make the delineation more clear. Yes, some work needs to be done to make the build more explicit. This would be a lot easier if JavaScript had only one module format to rule them all.

@capnmidnight capnmidnight reopened this Sep 16, 2020
@capnmidnight
Copy link
Owner

For what it's worth, I do have a document that explains the basic app more: https://github.com/capnmidnight/Calla/blob/master/Calla/doc/basic/Tutorial.md

@nathankopp
Copy link
Author

Thanks! I've read through Tutorial and I think I can follow most of what's going on. I'm trying to get a quick test up and running (just for my own personal testing) with as few moving parts as possible, so I'm trying to use "beta.meet.jit.si" for this first test instead of fighting with docker, domain names, ssl, etc. to get my own instance up and running. (Eventually I'll get around to running my own jitsi, but I want to play Calla this first if possible.) Do you know if it is possible to configure Calla's basic mode to work with beta.meet.jit.si? Currently, I'm getting an error in the console: "Focus error, retry after 2000" coming from modules/xmpp/moderator.js, which happens when I click the "Connect" button. Any ideas?

@capnmidnight
Copy link
Owner

I don't know. Technically, it's against Jitsi's terms of use to use their public servers with software that obscures their project name. The basic and game examples for Calla have no reference to Jitsi in them. I always knew I was going to be building something far afield from what they were doing, so I just went straight to setting up my own server.

@mooomooo
Copy link
Contributor

Back before the whole ASP.NET business, Calla Just Worked on the main jitsi servers (meet.jit.si) by setting the three variables JITSI_HOST, JVB_HOST, JVB_MUC appropriately. But then everything got significantly refactored and I haven't been able to get anything working again (I don't even know where that settings file went), so I can't tell you whether or not it still works, or whether it works on the beta server (is there a difference?). But that would be the place to start looking.

@capnmidnight
Copy link
Owner

capnmidnight commented Sep 22, 2020

In the current examples, those values are now in a file called constants.js that you're meant to import in your application's index.js file.

e.g.

https://github.com/capnmidnight/Calla/blob/master/Calla-Site/scripts/constants.js
https://github.com/capnmidnight/Calla/blob/master/Calla-Site/scripts/basic/index.js#L3

It doesn't matter where those values come from. as long as you construct CallaClient with them.

@nathankopp
Copy link
Author

Well, it turns out that setting up an instance of Jitsi is actually pretty easy, so I did that and Calla basic mode is working with it, so now I can get started tweaking.

@capnmidnight
Copy link
Owner

archiving

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

No branches or pull requests

3 participants