🗨️ Nextcloud Talk – chat, video & audio calls for Nextcloud
Перейти к файлу
Maksim Sukharev b43b75accd
Merge pull request #11800 from nextcloud/chore/noid/rearrange-UI-components
chore: move dummy components to UIShared directory 🪵
2024-03-22 16:58:28 +01:00
.github Merge pull request #11764 from nextcloud/fix/noid/oci-on-garm 2024-03-11 11:14:55 +01:00
.tx [tx-robot] Update transifex configuration 2022-10-01 02:58:18 +00:00
appinfo Merge pull request #11884 from nextcloud/release/19.0.0-beta.4 2024-03-21 16:21:08 +01:00
composer perf(autoloader): Force own autoloader 2023-01-25 09:47:45 +01:00
css fix(ConversationIcon): use simple icons for dummy groups 2024-03-19 10:43:54 +01:00
docs docs(federation): Add a hint which capabilities should be used in federation cases 2024-03-22 12:41:56 +01:00
img fix(avatar): change icon for teams(circles) 2024-03-18 17:08:41 +01:00
l10n Fix(l10n): Update translations from Transifex 2024-03-22 00:22:05 +00:00
lib feat(changelog): Add "Talk updates" entries for Talk 19 2024-03-22 15:02:06 +01:00
sample-commands Update coding standard 2022-02-09 11:53:50 +01:00
src chore: move dummy components to UIShared directory 2024-03-22 16:31:46 +01:00
templates fix: remove import of deleted `At.css` 2023-02-22 09:55:17 +01:00
tests fix(tests): Allow negative expiration time in tests 2024-03-22 12:23:09 +01:00
vendor-bin chore(deps-dev): Bump vimeo/psalm in /vendor-bin/psalm 2024-03-16 02:39:59 +00:00
.editorconfig chore: run npm audit, fix indentation for package.json 2024-01-19 11:34:37 +01:00
.eslintignore Adjust code imported from Jitsi to Talk style 2021-10-11 16:48:38 +02:00
.eslintrc.js chore(lint): enforce extensions in import 2024-03-11 13:00:19 +01:00
.gitattributes All items in js/ are now compiled 2019-10-18 10:31:15 +02:00
.gitignore Create build files in their own directory 2023-09-26 20:14:56 +02:00
.l10nignore Ignore all compiled JS from translations 2019-10-18 10:30:57 +02:00
.php-cs-fixer.dist.php fix(CS): Prepare path to config 2024-02-01 15:23:13 +01:00
.readthedocs.yaml fix(docs): Add readthedocs config to try fixing the build 2023-10-23 09:04:59 +02:00
.stylelintignore Fix Stylelint 2020-03-24 11:32:49 +01:00
CHANGELOG.md chore(release): Add changelog for 19.0.0-beta.4 2024-03-21 12:55:08 +01:00
COPYING add a proper readme file and a license file 2016-11-28 15:20:19 +01:00
Makefile chore: Switch from master to main branch 2023-10-30 17:08:04 +01:00
README.md docs(federation): Document how to do local federation 2024-03-22 12:35:10 +01:00
babel.config.js build: remove TS related tooling and files 2023-03-13 16:17:42 +01:00
composer.json fix(openapi): Make sure typescript models are updated 2024-02-29 09:32:12 +01:00
composer.lock chore(dev-deps): Bump nextcloud/ocp package 2024-03-17 02:32:57 +00:00
jest.config.js fix(mentions): parse groups and federated user mentions, add test coverage 2024-02-29 19:51:55 +01:00
jest.global.setup.js chore(front): make unit-testing cross-platform 2023-05-02 17:55:31 +02:00
mkdocs.yml feat: Start a list with know bots 2023-08-10 13:47:00 +02:00
openapi-administration.json feat(federation): Add capabilities for the federation feature and configs 2024-03-06 20:33:12 +01:00
openapi-backend-recording.json feat(federation): Add capabilities for the federation feature and configs 2024-03-06 20:33:12 +01:00
openapi-backend-signaling.json feat(federation): Add capabilities for the federation feature and configs 2024-03-06 20:33:12 +01:00
openapi-backend-sipbridge.json fix(openapi): Provide better message parameter definitions 2024-03-14 15:36:34 +01:00
openapi-bots.json feat(federation): Add capabilities for the federation feature and configs 2024-03-06 20:33:12 +01:00
openapi-federation.json feat(avatar): Allow logged-in users to proxy avatars without a token 2024-03-21 13:11:41 +01:00
openapi-full.json docs(federation): Add a hint which capabilities should be used in federation cases 2024-03-22 12:41:56 +01:00
openapi.json docs(federation): Add a hint which capabilities should be used in federation cases 2024-03-22 12:41:56 +01:00
package-lock.json Merge pull request #11884 from nextcloud/release/19.0.0-beta.4 2024-03-21 16:21:08 +01:00
package.json Merge pull request #11884 from nextcloud/release/19.0.0-beta.4 2024-03-21 16:21:08 +01:00
psalm.xml feat(federation): Add appconfig options to restrict federation 2024-02-12 16:54:15 +01:00
stylelint.config.js fix: remove import of deleted `At.css` 2023-02-22 09:55:17 +01:00
tsconfig.json chore(typescript): ignore JS files when running typescript:check, register env.d.ts, lint TS files 2024-03-08 12:28:08 +01:00
webpack.common.config.js build: provide Typescript support in Vue SFC files 2024-02-26 10:29:22 +01:00
webpack.config.js Feat: Plug-in talk specific filters for unified search 2024-02-20 10:42:37 +01:00

README.md

Nextcloud Talk

A video & audio conferencing app for Nextcloud

Elevator
Why is this so awesome?
📚 Documentation
🚧 Development Setup

Why is this so awesome?

  • 💬 Chat Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.
  • 👥 Private, group, public and password protected calls! Invite someone, a whole group or send a public link to invite to a call.
  • 💻 Screen sharing! Share your screen with the participants of your call.
  • 🚀 Integration with other Nextcloud apps like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.
  • 🎡 Were not reinventing the wheel! Based on the great simpleWebRTC library.
  • 🌉 Sync with other chat solutions With Matterbridge being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.

More in the works for the coming versions.

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


📚 Documentation

📦 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 to install. You can find instructions in our documentation and the team behind the Nextcloud VM has developed a script that takes care of everything for you (vm-talk.sh). The script is tested on the recent Ubuntu Server LTS. Please keep in mind that it's developed for the VM specifically and any issues should be reported in that repository, not here.

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


🚧 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. 🎉
  5. To build the docs locally, install mkdocs locally: apt install mkdocs mkdocs-bootstrap.

🏎️ Faster frontend developing with HMR

You can enable HMR (Hot module replacement) to avoid page reloads when working on the frontend:

  1. Install and enable hmr_enabler app
  2. Run npm run serve
  3. Open the normal Nextcloud server URL (not the URL given by above command)

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

🌏 Testing federation locally

When testing federated conversations locally, some additional steps might be needed, to improve the behaviour and allowing the servers to talk to each others:

  1. Allow self-signed certificates
    occ config:system:set sharing.federation.allowSelfSignedCertificates --value true --type bool
    occ security:certificates:import /path/to/the/nextcloud.crt
    occ security:certificates
    
  2. Allow local servers to be remote servers
    occ config:system:set allow_local_remote_servers --value true --type bool
    

Additionally you can enable debug mode that will list local users as federated users options allowing you to federate with accounts on the same instance. Federation will still work and use the full federation experience and opposed to the federated files sharing not create a local share instead.

🪄 Useful tricks for testing video calls

👥 Joining a test call with multiple users

  • Send fake-stream (audio and video) in Firefox:
    1. Open about:config
    2. Search for fake
    3. Toggle media.navigator.streams.fake to true
    4. Set media.navigator.audio.fake_frequency to 60 for more pleasant sound experience
  • Afterwards install the Firefox Multi-Account Containers addon
  • Now you can create multiple account containers, log in with a different Nextcloud account on each of them and join the same call with multiple different users

📸 Modifying available media devices

  • Disable camera until reboot: sudo modprobe -r uvcvideo
  • Re-enable camera: sudo modprobe uvcvideo

🔃 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

  • v17.0.0 - Numeric milestones are settled and waiting for their release or some final polishing
  • 💛 Next Patch (27) - The next patch milestone is for issues/PR that go into the next Dot-Release for the given Nextcloud version (in the example 27 - e.g. 17.0.1)
  • 💚 Next Major (28) - The next major milestone is for issues/PR that go into the next feature release for the new Major Nextcloud version (as there are Patch releases for 27, this would be 28)
  • 💔 Backlog - The backlog milestone is assigned to all remaining issues

You can always pick a task of any milestone, 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.

💙 Contribution Guidelines

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