Open BloodyIron opened 6 years ago
Shouldn't need to, the process is just running npm install
like you normally do, but then going into node_modules/iohook and running npm run build
.
Scalar has just released a new build which includes the PTT patches, which means one no longer needs to run their own integrations manager to get this all working, they can just use the default in Riot.
Should make testing the above PRs much easier for everyone involved.
@anoadragon453 I'm probably going to forget that in the future, would that be documented anywhere? So npm install pulls the iohook source too? And the build second step is on the local files?
As for integrations manager, was that necessary for jitsi before or what? I thought that part might still be required?
@BloodyIron Haha, we'll definitely provide instructions in our repo, but if you like the build instructions are also mentioned in iohook's documentation.
As for integrations manager, was that necessary for jitsi before or what? I thought that part might still be required?
An integrations manager is required, yes. But now you can just use the one Riot uses by default which has the new Jitsi patches integrated. The latest dimension is also supported as well.
oh btw, did you test PTT with screen sharing at all? does the behaviour change there at all?
So Riot has Jitsi baked in now? (next build release?) so it won't need to load the "widget" when starting/stopping chat, or what? How do you tell it what Jitsi user to use? (self-hosted)
Dimension, the integration server? not quite seeing why you mention it's supported, am I missing something?
@BloodyIron It should work regardless of screen sharing mode enabled or not.
So Riot has Jitsi baked in now? (next build release?) so it won't need to load the "widget" when starting/stopping chat, or what? How do you tell it what Jitsi user to use? (self-hosted)
Mmm, no not really baked in yet, although @Half-Shot has expressed some interest in working on this, and it would be fairly trivial to actually get some of the Riot UI to react to what's happening in the Jitsi call. For the moment the widget is still required though.
How do you tell it what Jitsi user to use?
You mean Jitsi server? (Username can just be set by double clicking on your square in the top right) For the server, go into Riot's config.json and you can set the Jitsi URL using the integrations_jitsi_widget_url
key. The default is https://scalar.vector.im/api/widgets/jitsi.html
.
Dimension, the integration server? not quite seeing why you mention it's supported, am I missing something?
Some people use Dimension as it includes some more features than Scalar. So for those people, PTT will also work :)
Hah yeah I meant to put Jitsi Server, not User. I just wasn't sure if these changes meant Jitsi server declaration changed in some way, as you mentioned [not needing] an integration server by default?
I haven't quite gotten to the point of identifying which integration server I'll use, but I suspect it may be Dimension. Haven't vetted. Good to know this isn't a constraint! :D
Any idea how soon before this hard work of yours could hit public release? :)
So while the PR for this has been out for a while, getting it merged has been blocked on getting a Windows VM up and running and being able to automate builds through it. While something that can likely be done in a few days, the team's time is pretty strapped right now and would rather be spending what time we have on Riot's redesign than on wrangling Window's many awful command line environments.
That said, we have made progress on this this week. We've set up a stripped-down Windows running headless on our build server. We've got an ssh server on it and have it hooked up to our Jenkins infrastructure. At the moment the only blocker has been getting a suitable bash environment for running Riot's setup scripts or just sucking it up and converting them to batch. (We're using git-bash (MINGW32) to execute things, but running stuff in there triggered from a native Windows cmd or Powershell doesn't really work too well, any advice on a less hacky solution would be appreciated).
So that's our current progress - tantalizingly close, and just working on it where we have a spare 30m or so. So if anyone does any advice for getting a proper bash shell that can be ssh'd into and doesn't involve Windows Subsystem Linux, that'd be highly appreciated!
Otherwise we'll probably get it all working in the next few days anyways :) Watch this space!
@anoadragon453 That's fantastic to hear and thanks for the update. Really looking forward to being able to test out PTT :+1:
@anoadragon453 cygwin?
We ended up just throwing it on a faster machine and installed WSL.
But now we're hitting this bug and builds are timing out :/
Build time outs fixed by reducing VirtualBox CPUs to 1 which still complete builds in a reasonable amount of time.
Slowly but surely!
@anoadragon453 how on earth does limiting the CPU to 1 solve build timeouts? That's weird man! :O
But glad to hear progress! :DDD
@anoadragon453 how on earth does limiting the CPU to 1 solve build timeouts? That's weird man! :O
windozzzzz
Huzzah! Hot on the heels of our FOSDEM stuff we finally got Windows to play nice! We only hit numerous npm bugs (switched to yarn) and a bug in the ecosystem but all is good now and we have working Windows builds from Windows!
At this point I just need to update and rebase my PTT PR and then, pending review, you should expect to see it in the client shortly!
Hey, thanks for asking. Currently progress is blocked on https://github.com/wilix-team/iohook/issues/151, aka getting the underlying native node module working on Windows with Electron v4. Everything is good to go on the MacOS/Linux side.
I've tried a couple times to get to the bottom of it but to no avail (C++ isn't my main language). If anyone is familiar with C++ and its build chain if they'd like to take a shot at fixing that it would be highly appreciated!
Any chance the MacOS/Linux users can get this first? ;D
Was thinking about it but last thing we want to do is split our codebase on a platform-by-platform basis :)
Seems like it is fixed
@alien2003 Indeed thanks, though I'm getting another bug on our Windows dev box. Going to remake the folder and see how it does.
Hype... Finally we will ditch Discord
Pssst any news on this? ;)))
Well I spent about 6 hours on this just now and have hit a brick wall on compiling iohook on Windows again. Running yarn run build
aka cmake-js
spits out There is no Visual C++ compiler installed. Install Visual C++ Build Toolset or Visual Studio.
It does seem to be 100% installed though, and the message persists even after reboots.
If anyone can figure out how to build iohook on Windows atm please let me know. I've left build instructions here: https://github.com/anoadragon453/riot-web/blob/anoa/jitsi_ptt/docs/native_node_modules.md#compiling-iohook
Here are my notes for the current session for installing from a fresh Windows install:
Turn off windows defender and firewall etc
Install chocolately: get npm, yarn, git, python2, visual C++ Build Tools 2017
Open Powershell
Clone iohook
yarn
yarn run build
Error :(
Now, even if we do get it building we'll likely run into this showstopper: https://github.com/wilix-team/iohook/issues/167
I think tomorrow I'll just change the PRs to not do PTT if on Windows because it's been a blocker for far too long and everytime something on Windows is fixed something else comes up again :')
@anoadragon453 maybe your PATH value was missing something?
@anoadragon453 definitely sounds like a path issue of some sort.
Check out "Setting up your command-line environment" under this link: https://devblogs.microsoft.com/cppblog/finding-the-visual-c-compiler-tools-in-visual-studio-2017/
I use windows the most (sadly) and so I am a bit sad to hear about the showstoppers. I'm fine with forgetting about Windows for now as long as it isn't put off for a very long time (of course that isn't entirely in our control if the upstream issues aren't resolved).
Thanks for all the time you have spent on this. I definitely appreciate it :)
I think it's in everyone's best interests if we get this feature sorted out for everyone. If not for this feature, at least for streamlining the build process for other things too.
PTT is absolutely critical to alot of gamers who want to move away from Discord, and most of them are on Windows. I'd love to use Riot as a replacement for Discord, but until PTT is supported I cant.
PTT is absolutely critical to alot of gamers who want to move away from Discord, and most of them are on Windows. I'd love to use Riot as a replacement for Discord, but until PTT is supported I cant.
Ditto, I have friends who've made the move from TS to Discord and now want to move to riot but PTT is holding them back. We've programmed many of mouth breathing food chewers to use PTT and without it would be a nightmare. I wish I could help in some way with the coding on this but with so many other side projects I just don't have the time. I wish y'all the best of luck and for a speedy resolution.
Any updates on where we are with this feature?
It's currently been blocked behind other tasks, but as Matrix 1.0 has just released and all the work that has gone with that, I intend to work on this feature very soon.
Yay that's great to hear i can't wait for that feature to come out please keep us updated and thank you for your great work!
Thanks, I will :)
Not directly related but seems like a good addition to Jitsi PTT feature https://github.com/Johni0702/mumble-web
Now that we have reactions and editable messages is push to talk next on the road map?
Not directly related but seems like a good addition to Jitsi PTT feature https://github.com/Johni0702/mumble-web
Oh, that already has instructions for being an integration manager widget, interesting!
As long as it has support for HTML5 cross-document messaging so that we can give it commands from the web interface it should be quite easy to integrate.
Now that we have reactions and editable messages is push to talk next on the road map?
It's getting close :)
I'm switching to riot AWAY from Mumble :( Reliable tech, but their devs have dragged their heels (and effectively halted) for well over 7 years now.
Same bloody mumble is such a great program with great potential but the devs don’t seem to have the time anymore.
Oh, that already has instructions for being an integration manager widget, interesting!
Yes. I tried it for my Minecraft server room, works well but it's not persistent widget by default. The only way to make it persistent is to set it to "Jitsi" type and it breaks widget in mobile apps
Any word on this?
Sort of blocked behind not working on Windows. I don't think we want to release a feature that only supports a subset of our supported platforms. Windows may work now though, I haven't checked in a few months :thinking:
@anoadragon453 is it the supporting library is limited on Windows, or what? I know this is going to be a FR that won't go away, and I'm not talking about my stubbornness, I'm talking about everyone else's too XD
FR?
It's good ol' iohook.
Feature Request.
Feature Request.
ahh
Please be considerate, there are dozens of people watching this issue and this repository to be notified of progress, and you're spamming all of them every time you add an unrelated comment 😉 If you push the devs to unsubscribe from this issue you'll never get your feature...
The last update was Jul 22nd, I would not call this "spam"... -.-
@remram44 It's not spam. It was a valid question and answer and wasn't off topic. People care about this issue and want to continually know what is holding it up and check if the issue has been resolved.
I thought the question and answer was helpful as someone subscribed to this issue.
edit: also the dev working on this issue was one of the people you said was "spamming" so I don't think we need to worry about other devs unsubscribing and not solving the issue.
Any update to this?
Any update to this?
We still don't have the build infrastructure to produce Windows builds on a Windows box, but I imagine this will change very shortly as we have a number of native node modules coming to Riot Desktop (namely enabling Push-To-Talk and searching in encrypted rooms).
So be on the lookup for that (very hopefully) soon!
Edit: In the meantime I'll update my PR to latest riot develop.
Whether it's Freeswitch or Jitsi (AFAIK Freeswitch is on the way out), having Push-To-Talk for channel chat would be seriously appreciated! Right now if you have a channel with a whole lot of people wanting to talk, it can turn into a really big mess.
Also, this PTT feature would need to work when the "app" doesn't have focus. I'm thinking this may not work unless the "desktop" version is used, but I'm not 100% up to speed with browser features like this.
It might also be a good idea to get a keyboard bind to toggle self-muting of your own microphone. Let's say, if your fat cat knocks a glass of water all over your desk, oh noes!