You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Joas Schilling 3cd95ab941
Merge pull request #2531 from nextcloud/dependabot/npm_and_yarn/babel/preset-env-7.7.6
11 hours ago
.github Unify the stylelinting into 1 call 4 days ago
.tx Fix tx config 1 year ago
appinfo Correctly setup the Application class 1 month ago
css Add dummy media controls 1 day ago
docs Merge pull request #2502 from nextcloud/bugfix/noid/typed-events 4 days ago
img Create AdvancedInput component 2 months ago
l10n [tx-robot] updated from transifex 16 hours ago
lib Merge pull request #2502 from nextcloud/bugfix/noid/typed-events 4 days ago
sample-commands More verbose feedback on sample commands 8 months ago
src It's just names, right? 1 day ago
templates Use the same template for both cases 3 weeks ago
tests Merge pull request #2502 from nextcloud/bugfix/noid/typed-events 4 days ago
.drone.yml Try linting via github actions 4 days ago
.eslintignore Add the projects sidebar 1 month ago
.eslintrc.js Fix eslint configuration 1 month ago
.gitattributes All items in js/ are now compiled 1 month ago
.gitignore Fix warnings and errors with phpunit 8 1 week ago
.l10nignore Ignore all compiled JS from translations 1 month ago
.stylelintrc Fix stylelint ::v-deep 4 days ago
CHANGELOG.md Add changelog for v7.0.2 4 weeks ago
COPYING add a proper readme file and a license file 3 years ago
Makefile Fully delete js/ 1 month ago
README.md Update README.md 4 days ago
check-simplewebrtc-bundle.sh Simplify the diff check and use the same way the server uses it nowerdays 5 months ago
check-vuejs-builds.sh Remove vue/ because it's empty 1 month ago
mkdocs.yml Fix docs 6 days ago
package-lock.json Merge pull request #2531 from nextcloud/dependabot/npm_and_yarn/babel/preset-env-7.7.6 11 hours ago
package.json Merge pull request #2531 from nextcloud/dependabot/npm_and_yarn/babel/preset-env-7.7.6 11 hours ago
run-stylelint.sh Unify the stylelinting into 1 call 4 days ago
webpack.common.js Add the projects sidebar 1 month ago
webpack.dev.js Create Message component 2 months ago
webpack.prod.js Create Message component 2 months ago

README.md

Nextcloud Talk

Video- & audio-conferencing app for Nextcloud

Why is this so awesome?

  • 💬 Chat integration! Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.
  • 👥 Private, group, public and password protected calls! Just invite somebody, a whole group or send a public link to invite to a call.
  • 💻 Screen sharing! Share your screen with participants of your call. You just need to use Firefox version 52 (or newer), latest Edge or Chrome 49 (or newer) with this Chrome extension.
  • 🚀 Integration with other Nextcloud apps like Files, Contacts and Deck. More to come.
  • 🙈 We’re not reinventing the wheel! Based on the great simpleWebRTC library.

And in the works for the coming versions:

If you have suggestions or problems, please open an issue or contribute directly :)

Supported Browsers

Browser Compatible
Firefox ✔️ 52 or later
Chrome/Chromium ✔️ 49 or later
Edge ⚠️ latest versions
🎤 Speakers are not promoted
🏷 Name changes while a call is on-going are not reflected
Safari ⚠️ 12 or later
❌ No screensharing support
🖥 Viewing screens of others works

Installing for Production

Nextcloud Talk is really easy to install. You just need to enable the app from the Nextcloud App Store and everything will work out of the box.

There are some scenarios (users behind strict firewalls / symmetric NATs) where a TURN server is needed. That’s a bit more tricky installation, but the guys from Nextcloud VM have developed a script which takes care of everything for you. You can find the script here. The script is tested on Ubuntu Server 18.04, but should work on 16.04 as well. Please keep in mind that it’s developed for the VM specifically and any issues should be reported in that repo, not here.

Here’s a short video on how it’s done.

If you need to use Talk in a enterprise environment, including the ability to have calls with more than 5-6 users, you can contact our sales team for access to our high performance back-end. This is a set of components that replaces some of the PHP code with a more scalable and performant solution that decreases network traffic and allows dozens or hundreds of users in a call.

Development setup

  1. Simply clone this repository into the apps folder of your Nextcloud development instance.
  2. Run make dev-setup to install the dependencies;
  3. Run make build-js
  4. Then activate it through the apps management. :tada:
  5. To build the docs locally, install mkdocs locally: apt install mkdocs mkdocs-bootstrap

We are also available on our public Talk team conversation, if you want to join the discussion.

API documentation

The API documentation is available at https://nextcloud-talk.readthedocs.io/en/latest/

Milestones and Branches

Branches

In the Talk app we have one branch per Nextcloud server version. stable* branches of the app should always work with the same branch of the Nextcloud server. This is only off close to releases of the server, to allow easier finishing of features, so we don’t have to backport them.

Milestones

  • 5.0.0 - Numeric milestones are settled and waiting for their release or some final polishing
  • 💙 Next Minor (15) - The next minor milestone is for issues/PR that go into the next Dot-Release for the given Nextcloud version (in the example 15 - e.g. 5.0.1)
  • 💚 Next Major - The next major milestone is for issues/PR that go into the next feature release for the new Major Nextcloud version (as there are Minors for 15, this would be 16)
  • 💛 Following Major - The following major milestone is for issues/PR that should be worked towards/on but didn’t make it into the next major due to timing constraints
  • 💔 Backlog - The backlog milestone is assigned to all remaining issues

You can always pick a task of any of the milestones and we will help you to get it into the assigned milestone or also an earlier one if time permits. It’s just a matter of having an overview and better visibility what we think should be worked on, but it’s not exclusive.

Useful tricks for testing

  • Disable camera until reboot: sudo modprobe -r uvcvideo
  • Re-enable camera: sudo modprobe uvcvideo
  • Send fake-stream (audio and video) in firefox:
    1. Open about:config
    2. Search for fake
    3. Toggle media.navigator.streams.fake to true

Contribution Guidelines

For more information please see the guidelines for contributing to this repository.