Skip to content

nextcloud/talk-desktop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Apr 18, 2024
32040c4 Β· Apr 18, 2024
Mar 26, 2024
Mar 29, 2023
Mar 29, 2023
Sep 4, 2023
Apr 18, 2024
Apr 5, 2024
Apr 10, 2024
Apr 19, 2023
Apr 18, 2024
Jan 17, 2023
Jan 17, 2023
Feb 28, 2023
Jan 17, 2023
Apr 9, 2024
Mar 1, 2023
Mar 29, 2023
Apr 12, 2024
Nov 3, 2022
Apr 18, 2024
Jan 17, 2023
Feb 29, 2024
Apr 13, 2024
Apr 13, 2024
Mar 11, 2024
Jan 17, 2023
Aug 8, 2023
Apr 5, 2024

Repository files navigation

πŸ–₯️ Nextcloud Talk Desktop πŸ’¬

Nextcloud Talk Desktop client based on Nextcloud Talk web application bundling ✨

πŸ“₯ Download Binaries

πŸ—οΈ Prerequisites

πŸ‘Ύ Drawbacks

  • Currently not supported:
    • Setting User Status (#26)
    • Search (#30)
    • Untrusted certificate on Linux (#23)
    • Dark/light theme (#17)
  • Works with limitations:
    • File Viewer β€” only images and videos

πŸ‘₯ Multi-account

Full multi-account currently is not currently supported.

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

# 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.

No nextcloud/spreed is cloned?

Clone nextcloud/spreed and install dependencies:

# 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:

TALK_PATH=/path/to/nextcloud-dev/apps/spreed/

Development

# Start development server
npm start

πŸ“¦ Packaging

#########################
# 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:
      ### Build-in Talk update
      
      Built-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:
      npm version minor
    • For patch update:
      npm version patch
  4. Create a release PR.
  5. Merge the release PR.
  6. Create and push a tag:
    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
    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
      ## What's Changed
      
      <details>
        <!-- Generated content -->
      </details>
  8. Draft a new release on GitHub in nextcloud/talk-desktop
    1. Copy everything from the previous step
    2. Add:
      > πŸ“₯ Download Binaries on https://github.com/nextcloud-releases/talk-desktop/releases/tag/v$(version)
  9. Package release, specify version and platforms:
    npm run release:package -- --version v$(talkVersion) --windows --linux --mac
  10. Upload packages to the GitHub Releases on nextcloud-releases/talk-desktop
  11. Publish both releases on GitHub Releases

πŸ‘₯ Contribution Guidelines

See: https://github.com/nextcloud/spreed#contribution-guidelines