-
Notifications
You must be signed in to change notification settings - Fork 420
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
[WIP] Add screensharing support. #227
Conversation
extensions/chrome/manifest.json
Outdated
}, | ||
"content_scripts": [ { | ||
"js": [ "content.js" ], | ||
"matches": [ "https://replace-with-your-hostname/*" ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😒
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one actually would allow wildcard hostnames, it's the matches
below that doesn't allow it.
I'll look if there is another way to communicate between website and the extension, or if we have to deal with the "one extension per hostname".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated extension to work with all domains 🎉
d3bc486
to
b8f9ca8
Compare
I think we should develop the extensions in separate repositories as their release cycle (and versioning) will be different from the app itself. What do you think? |
extensions/chrome/manifest.json
Outdated
@@ -1,24 +1,28 @@ | |||
{ | |||
"name": "Nextcloud Screensharing", | |||
"description": "Screensharing utility for the Nextcloud video calls app.", | |||
"author": "Joachim Bauch <bauch@struktur.de>" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing ,
|
b8f9ca8
to
cea1341
Compare
Codecov Report
@@ Coverage Diff @@
## master #227 +/- ##
===========================================
- Coverage 17.31% 16.92% -0.4%
- Complexity 240 291 +51
===========================================
Files 16 16
Lines 1155 1312 +157
===========================================
+ Hits 200 222 +22
- Misses 955 1090 +135
Continue to review full report at Codecov.
|
Interface-wise what about:
|
Firefox support is now blocked on #234 (no PeerConnection is being established, so also no screensharing possible). |
This is required to support screensharing in Chrome for the Nextcloud Spreed app (see nextcloud/spreed#227). Signed-off-by: Joachim Bauch <bauch@struktur.de>
This is required to support screensharing in Firefox for the Nextcloud Spreed app (see nextcloud/spreed#227). Signed-off-by: Joachim Bauch <bauch@struktur.de>
cea1341
to
51270b5
Compare
js/app.js
Outdated
@@ -211,7 +211,7 @@ | |||
}); | |||
|
|||
var screensharingStopped = function() { | |||
console.log("Screensharing now stopped"); | |||
// No need to notify the user. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
log is only done in debug mode, I guess it would be fine to keep.
@Ivansss did you make sure to keep my screensharing-related changes (and any other changes that might have happened in the past) in your simplewebrtc upgrade? Maybe it would make sense to upgrade in a separate PR. |
@fancycode Yes, I applied all the changes we did in simplewebrtc.js since the initial commit on top. |
Reverted SimpleWebRTC update, doing it in a different PR #242 . |
b77b42d
to
bcfae4c
Compare
Rebased and simply dropped the commit and the revert. |
FYI, you could have rebased only up to my last commit to avoid getting new hashes for all old commits. |
Talked more with @Ivansss how to proceed:
|
Icon PR at nextcloud/server#3480 and stable11 backport at nextcloud/server#3481 Let me know if you need anything else here. :) |
Signed-off-by: Joachim Bauch <bauch@struktur.de>
Signed-off-by: Joachim Bauch <bauch@struktur.de>
Firefox needs the domain to be whitelisted, so this is done by the addon. Signed-off-by: Joachim Bauch <bauch@struktur.de>
Signed-off-by: Joachim Bauch <bauch@struktur.de>
Signed-off-by: Joachim Bauch <bauch@struktur.de>
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
fba8c48
to
735a2d3
Compare
Rebased to use SimpleWebRTC v2.2.3. |
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
@jancborchardt Could you please take a look to the current state? I would like to know your opinion about the layout when a screen is being shared and discuss how to improve it 😄 |
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
Addons are now published: |
@Ivansss I’m using Google Chrome 55 with the extension on Ubuntu 16.04 and on clicking the »Share screen« it says »Screensharing is not supported by your browser«. :\ But generally judging from the screenshots it looks great! :) There’s just two things:
I can look into both, but for that I have to get the actual screensharing working :\ we could also merge this first and polish it forward? |
Works fine here, are you having your netflix-cheat in place again? |
@nickvergessen no, I also just disabled all extensions and it’s the same issue. We are also trying on @gsambrotta’s setup and couldn’t get a video call to run at all yet :\ (@gsambrotta best open an issue about it). I’ll try if it works with Firefox. |
Oh and screensharing doesn’t work for public call guests, does it? Because the icon is shown and nothing happens on clicking it. |
It should work for guests too, but I noticed that notifications are not shown for guests. So probably in your case »Screensharing is not supported by your browser« notification is being triggered, but you can't see it because of the problem with notifications for guests. |
no problem from my side, just wrong branch (oooops!) |
@Ivansss ah ok, can you then make sure the notification – if it’s not supported – is also shown for guests? Will need to see what’s wrong with my setup then 😕 |
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
@Ivansss @nickvergessen ok, I changed the grey background to black in the CSS. If there’s no layout issues for you, and the rest of the issues in my other comment at #227 (comment) are fixed (or should be postponed) and the notification about screensharing not being available is also shown for guests → we can merge this! :) |
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
This PR adds support for screensharing (#31).
Currently more a tech demo 🙈 various parts still need implementation:
play
icon below the avatar)console.log
inapp.js
)cc @jancborchardt for ui, @nickvergessen @LukasReschke, @Ivansss for general review