Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nextcloud/talk-desktop
💬💻 Nextcloud Talk Desktop Client Preview
https://github.com/nextcloud/talk-desktop
desktop javascript nextcloud nextcloud-talk vue
Last synced: about 19 hours ago
JSON representation
💬💻 Nextcloud Talk Desktop Client Preview
- Host: GitHub
- URL: https://github.com/nextcloud/talk-desktop
- Owner: nextcloud
- License: agpl-3.0
- Created: 2022-11-03T14:37:08.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-22T18:32:36.000Z (4 months ago)
- Last Synced: 2024-05-23T01:10:02.674Z (4 months ago)
- Topics: desktop, javascript, nextcloud, nextcloud-talk, vue
- Language: JavaScript
- Homepage: https://nextcloud.com/talk
- Size: 18.6 MB
- Stars: 142
- Watchers: 15
- Forks: 10
- Open Issues: 76
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Authors: AUTHORS.md
Awesome Lists containing this project
README
# 🖥️ Nextcloud Talk Desktop 💬
[![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/talk-desktop)](https://api.reuse.software/info/github.com/nextcloud/talk-desktop)
> Nextcloud Talk Desktop client based on Nextcloud Talk web application bundling ✨
## 📥 Download Binaries
### https://github.com/nextcloud-releases/talk-desktop/releases
## 🏗️ Prerequisites
- [Nextcloud Server](https://github.com/nextcloud/server) version 27 or higher.
- [Nextcloud Talk](https://github.com/nextcloud/spreed) version 17 or higher.## 👾 Drawbacks
- Currently not supported:
- Search ([#30](https://github.com/nextcloud/talk-desktop/issues/30))
- Untrusted certificate on Linux ([#23](https://github.com/nextcloud/talk-desktop/issues/23))
- Dark/light theme ([#17](https://github.com/nextcloud/talk-desktop/issues/17))
- Works with limitations:
- File Viewer — only images and videos## 👥 Multi-account
Full multi-account currently [is not currently supported](https://github.com/nextcloud/talk-desktop/issues/7).
However, using portable `zip` distribution, you can have several Nextcloud Talk instances run simultaneously. Just rename the executable from default `Nextcloud Talk` to a custom name. For example:
```
/path/to/apps/
├── home-apps/
│ └── Nextcloud Talk/
│ ├── ...
│ ├── Nextcloud Talk (Home).exe
│ └── ...
└── work-apps/
└── Nextcloud Talk/
├── ...
├── Nextcloud Talk (Work).exe
└── ...
```## 🧑💻 Development Setup
### Initial setup
```bash
# Install dependencies
npm ci# Make .env file
cp .env.example .env# Don't forget to configure ENV variables!
```Nextcloud Talk Desktop requires [Nextcloud Talk source code](https://github.com/nextcloud/spreed).
#### No `nextcloud/spreed` is cloned?
Clone `nextcloud/spreed` and install dependencies:
```bash
# Clone in the repository root
git clone https://github.com/nextcloud/spreed# Install dependencies
cd ./spreed/
npm ci# Don't forget to return back
cd ../
```#### `nextcloud/spreed` is already cloned?
Set `TALK_PATH` ENV variable or edit `.env` file:
```dotenv
TALK_PATH=/path/to/nextcloud-dev/apps/spreed/
```### Development
```bash
# Start development server
npm start
```## 📦 Packaging
```bash
#########################
# Package to executable #
########################## 🐧 Linux
npm run package:linux# 🍏 Mac (Darwin)
npm run package:mac# 🪟 Windows (win32)
npm run package:windows# All
npm run package:all#########################
# Make ZIP distribution #
########################## 🐧 Linux
npm run make:linux# 🍏 Mac (Darwin)
# Note: doesn't work on Windows, use WSL
npm run make:mac# 🪟 Windows (win32)
npm run make:windows# All
npm run make:all
```## ✈️ Release
1. Create `release/vX.Y.Z` branch.
2. Update `CHANGELOG.md`.
1. If a built-in Talk version is to be changed - add a note:
```md
### Build-in Talk updateBuilt-in Talk in binaries is updated to $(VERSION) Talk changelog: https://github.com/nextcloud/spreed/blob/master/CHANGELOG.md
```
3. Update `package.json`:
- For minor update:
```sh
npm version minor
```
- For patch update:
```sh
npm version patch
```
4. Create **a release PR**.
5. Merge **the release PR**.
6. Create and push **a tag**:
```sh
git tag -a v$(version) -m "Tagging the $(version) release."
git push origin v$(version)
git push releases v$(version)
```
7. **Draft a new release** on GitHub in [nextcloud-releases/talk-desktop](https://github.com/nextcloud-releases/talk-desktop/releases)
1. Add **release title**: `v$(version) - Talk v$(talkVersion)`, e.g. `v0.10.0 - Talk v17.1.0-rc.1`
2. Choose a **tag**
3. Add the respective `CHANGELOG.md` section
4. Use the **Generate release notes** button and wrap put the result into
```md
## What's Changed
```
8. **Draft a new release** on GitHub in [nextcloud/talk-desktop](https://github.com/nextcloud/talk-desktop/releases)
1. Copy everything from the previous step
2. Add:
```md
> 📥 Download Binaries on https://github.com/nextcloud-releases/talk-desktop/releases/tag/v$(version)
```
9. Package release, specify version and platforms:
```sh
npm run release:package -- --version v$(talkVersion) --windows --linux --mac
```
10. Upload packages to the GitHub Releases on [nextcloud-releases/talk-desktop](https://github.com/nextcloud-releases/talk-desktop/releases/lastest)
11. Publish both releases on GitHub Releases## 🎨 Updating global styles
Talk frontend depends on the global Nextcloud server styles. To manually get them run:
```sh
# node ./scripts/fetch-server-styles.mjs , for example
node ./scripts/fetch-server-styles.mjs stable29
```## 👥 Contribution Guidelines
See: https://github.com/nextcloud/spreed#contribution-guidelines