diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 4265e974d..50f7b91ed 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,10 +1,11 @@ # Contributing -This document describes how you can contribute to Telegram Desktop. Please read it carefully. +This document describes how you can contribute to Kotatogram Desktop. Please read it carefully. **Table of Contents** * [What contributions are accepted](#what-contributions-are-accepted) +* [Contributing translations](#contributing-translations) * [Build instructions](#build-instructions) * [Pull upstream changes into your fork regularly](#pull-upstream-changes-into-your-fork-regularly) * [How to get your pull request accepted](#how-to-get-your-pull-request-accepted) @@ -17,29 +18,46 @@ This document describes how you can contribute to Telegram Desktop. Please read ## What contributions are accepted -We highly appreciate your contributions in the matter of fixing bugs and optimizing the Telegram Desktop source code and its documentation. In case of fixing the existing user experience please push to your fork and [submit a pull request][pr]. +Before contribute to Kotatogram Desktop, you could try to contribute to Telegram Desktop in following cases: -Wait for us. We try to review your pull requests as fast as possible. -If we find issues with your pull request, we may suggest some changes and improvements. +* Bug fixes of original Telegram Desktop features +* Optimization of Telegram Desktop's source code and documentation -Unfortunately we **do not merge** any pull requests that have new feature implementations, translations to new languages and those which introduce any new user interface elements. +If your PR is merged into the official app, it will help both apps (as well as many other Telegram Desktop forks). Be sure to read its [CONTRIBUTING.md][tdesktop_contributing] before trying. -If you have a translations-related contribution, check out [Translations platform][translate]. +If your feature couldn't be added to official Telegram Desktop (e.g. new feature), you can try to [submit a pull request here][pr]. -Telegram Desktop is not a standalone application but a part of [Telegram project][telegram], so all the decisions about the features, languages, user experience, user interface and the design are made inside Telegram team, often according to some roadmap which is not public. +Following contributions are accepted to Kotatogram Desktop: + +* Bug fixes and improvements +* New features + +If you are submitting a new feature, please note that: + +* It **must** be tested: we need these features to work, and work correctly. +* It **must not** confilct with exsiting features. If it's an alternative way of making this feature (e.g. showing text in other place), you should improve existing feature, and give user a choice unless there is no logical reasons for making a choice. +* It **must** look as good and refined as possible. I can accept some "dirty" solutions, but in that case they should be optional, and disabled by default. Still, too "dirty" solution won't be accepted. +* It **must not** violate [Telegram API Terms of Service][api_tos], e.g. features like Ghost Mode won't be implemented. + +## Contributing translations + +Translation contributions are currently accepted on [Crowdin](https://crowdin.com/project/kotatogram-desktop). Even though you can open an issue about translation here (e.g. requesting a new language) or submit a PR, Crowdin is the prefered way. + +Please note: if you submit a PR with translation, it won't be merged. Instead it will be updated on Crowdin. ## Build instructions -See the [README.md][build_instructions] for details on the various build -environments. +Build instructions of Kotatogram Desktop are practically same, as Telegram Desktop's. See the [README.md][build_instructions] for details on the various build environments. + +Of course, you should clone `https://github.com/kotatogram/kotatogram-desktop.git` instead of `https://github.com/telegramdesktop/tdesktop.git`. ## Pull upstream changes into your fork regularly -Telegram Desktop is advancing quickly. It is therefore critical that you pull upstream changes into your fork on a regular basis. Nothing is worse than putting in a days of hard work into a pull request only to have it rejected because it has diverged too far from upstream. +Kotatogram Desktop is advancing quickly. It is therefore critical that you pull upstream changes into your fork on a regular basis. Nothing is worse than putting in a days of hard work into a pull request only to have it rejected because it has diverged too far from upstream. To pull in upstream changes: - git remote add upstream https://github.com/telegramdesktop/tdesktop.git + git remote add upstream https://github.com/kotatogram/kotatogram-desktop.git git fetch upstream master Check the log to be sure that you actually want the changes, before merging: @@ -58,7 +76,7 @@ For more info, see [GitHub Help][help_fork_repo]. ## How to get your pull request accepted -We want to improve Telegram Desktop with your contributions. But we also want to provide a stable experience for our users and the community. Follow these rules and you should succeed without a problem! +We want to improve Kotatogram Desktop with your contributions. But we also want to provide a stable experience for our users and the community. Follow these rules and you should succeed without a problem! ### Keep your pull requests limited to a single issue @@ -97,7 +115,7 @@ Furthermore, the pixel shortage is over. We want to see: ### Test your changes! -Before you submit a pull request, please test your changes. Verify that Telegram Desktop still works and your changes don't cause other issue or crashes. +Before you submit a pull request, please test your changes. Verify that Kotatogram Desktop still works and your changes don't cause other issue or crashes. ### Write a good commit message @@ -112,7 +130,8 @@ Before you submit a pull request, please test your changes. Verify that Telegram [help_fork_repo]: https://help.github.com/articles/fork-a-repo/ [help_change_commit_message]: https://help.github.com/articles/changing-a-commit-message/ [commit_message]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html -[pr]: https://github.com/telegramdesktop/tdesktop/compare +[pr]: https://github.com/kotatogram/kotatogram-desktop/compare [build_instructions]: https://github.com/telegramdesktop/tdesktop/blob/master/README.md#build-instructions +[tdesktop_contributing]: https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md [closing-issues-via-commit-messages]: https://help.github.com/articles/closing-issues-via-commit-messages/ -[translate]: https://translations.telegram.org +[api_tos]: https://core.telegram.org/api/terms diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml index e3c2215d8..fafa7f02b 100644 --- a/.github/ISSUE_TEMPLATE/BUG_REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG_REPORT.yml @@ -5,7 +5,7 @@ body: - type: markdown attributes: value: | - Thanks for reporting issues of Telegram Desktop! + Thanks for reporting issues of Kotatogram Desktop! To make it easier for us to help you please enter detailed information below. - type: textarea @@ -39,7 +39,7 @@ body: required: true - type: input attributes: - label: Version of Telegram Desktop + label: Version of Kotatogram Desktop description: > Please note we don't support versions from Linux distro repositories. If you need support for these versions, **please contact your distro maintainer** @@ -52,11 +52,8 @@ body: label: Installation source multiple: false options: - - Static binary from official website - - Microsoft Store - - Mac App Store + - Static binary from official website or Kotatogram channel - Flatpak - - Snap - Other (unofficial) source validations: required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index f73fc436f..7fee611d4 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,11 +1,11 @@ -blank_issues_enabled: false +blank_issues_enabled: true contact_links: - - name: Platform-wide issue - url: https://bugs.telegram.org - about: Any bug report or feature request affecting more than only Telegram Desktop. - - name: Issue of other client + - name: Telegram Desktop issue + url: https://github.com/telegramdesktop/tdesktop/issues/new/choose + about: Issues of original Telegram Desktop app. + - name: Official app issue url: https://bugs.telegram.org about: Any bug report or feature request not about Telegram Desktop. - name: Question - url: https://t.me/TelegramDesktopTalk + url: https://t.me/kotatochat about: Ask a question. diff --git a/.github/workflows/language-test.yml b/.github/workflows/language-test.yml new file mode 100644 index 000000000..f0b8a5412 --- /dev/null +++ b/.github/workflows/language-test.yml @@ -0,0 +1,30 @@ +name: Language test. + +on: + push: + paths: + - 'Telegram/Resources/langs/rewrites/*.json' + - '.github/workflows/language-test.yml' + pull_request: + paths: + - 'Telegram/Resources/langs/rewrites/*.json' + - '.github/workflows/language-test.yml' + +jobs: + test: + name: Test languages + runs-on: ubuntu-latest + steps: + - name: Clone + uses: actions/checkout@v2 + - name: Trim comments + shell: bash + run: sed -i -e 's/^\s*\/\/.*$//' Telegram/Resources/langs/rewrites/*.json + - name: Test JSON for validity + shell: bash + run: | + for f in Telegram/Resources/langs/rewrites/*.json; do + echo "::group::Testing $f" + cat "$f" | jq -e '.' + echo "::endgroup::" + done diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 8eb20a2e5..a27ce967f 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -5,6 +5,7 @@ on: paths-ignore: - 'docs/**' - '**.md' + - 'kotatogram_changes.txt' - 'changelog.txt' - 'LEGAL' - 'LICENSE' @@ -23,6 +24,7 @@ on: paths-ignore: - 'docs/**' - '**.md' + - 'kotatogram_changes.txt' - 'changelog.txt' - 'LEGAL' - 'LICENSE' @@ -42,6 +44,11 @@ jobs: linux: name: Rocky Linux 8 + if: > + !(github.event_name == 'push' + && contains(github.event.head_commit.message, '[skip ci]')) + && !(github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name) runs-on: ubuntu-latest strategy: @@ -69,7 +76,7 @@ jobs: docker pull ghcr.io/$GITHUB_REPOSITORY/centos_env docker tag ghcr.io/$GITHUB_REPOSITORY/centos_env tdesktop:centos_env - - name: Telegram Desktop build. + - name: Kotatogram Desktop build. run: | cd $REPO_NAME @@ -77,9 +84,9 @@ jobs: if [ -n "${{ matrix.defines }}" ]; then DEFINE="-D ${{ matrix.defines }}=ON" echo Define from matrix: $DEFINE - echo "ARTIFACT_NAME=Telegram_${{ matrix.defines }}" >> $GITHUB_ENV + echo "ARTIFACT_NAME=Kotatogram_${{ matrix.defines }}" >> $GITHUB_ENV else - echo "ARTIFACT_NAME=Telegram" >> $GITHUB_ENV + echo "ARTIFACT_NAME=Kotatogram" >> $GITHUB_ENV fi docker run --rm \ @@ -99,7 +106,7 @@ jobs: - name: Check. run: | - filePath="$REPO_NAME/out/Debug/Telegram" + filePath="$REPO_NAME/out/Debug/Kotatogram" if test -f "$filePath"; then echo "Build successfully done! :)" @@ -115,7 +122,7 @@ jobs: run: | cd $REPO_NAME/out/Debug sudo mkdir artifact - sudo mv {Telegram,Updater} artifact/ + sudo mv {Kotatogram,Updater} artifact/ - uses: actions/upload-artifact@v4 if: env.UPLOAD_ARTIFACT == 'true' name: Upload artifact. diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index e5f5e5620..f453bc9ba 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -5,6 +5,7 @@ on: paths-ignore: - 'docs/**' - '**.md' + - 'kotatogram_changes.txt' - 'changelog.txt' - 'LEGAL' - 'LICENSE' @@ -22,6 +23,7 @@ on: paths-ignore: - 'docs/**' - '**.md' + - 'kotatogram_changes.txt' - 'changelog.txt' - 'LEGAL' - 'LICENSE' @@ -40,6 +42,11 @@ jobs: macos: name: MacOS + if: > + !(github.event_name == 'push' + && contains(github.event.head_commit.message, '[skip ci]')) + && !(github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name) runs-on: macos-13 strategy: @@ -99,7 +106,7 @@ jobs: cd Libraries find . -iname "*.dir" -exec rm -rf {} || true \; - - name: Telegram Desktop build. + - name: Kotatogram Desktop build. if: env.ONLY_CACHE == 'false' run: | cd $REPO_NAME/Telegram @@ -108,9 +115,9 @@ jobs: if [ -n "${{ matrix.defines }}" ]; then DEFINE="-D ${{ matrix.defines }}=ON" echo Define from matrix: $DEFINE - echo "ARTIFACT_NAME=Telegram_${{ matrix.defines }}" >> $GITHUB_ENV + echo "ARTIFACT_NAME=Kotatogram_${{ matrix.defines }}" >> $GITHUB_ENV else - echo "ARTIFACT_NAME=Telegram" >> $GITHUB_ENV + echo "ARTIFACT_NAME=Kotatogram" >> $GITHUB_ENV fi ./configure.sh \ @@ -132,7 +139,7 @@ jobs: run: | cd $REPO_NAME/out/Debug mkdir artifact - mv Telegram.app artifact/ + mv Kotatogram.app artifact/ mv Updater artifact/ - uses: actions/upload-artifact@v4 if: env.UPLOAD_ARTIFACT == 'true' diff --git a/.github/workflows/mac_packaged.yml b/.github/workflows/mac_packaged.yml index bd51bb74a..e9f7f2377 100644 --- a/.github/workflows/mac_packaged.yml +++ b/.github/workflows/mac_packaged.yml @@ -140,19 +140,19 @@ jobs: cmake --build build --parallel cd build - macdeployqt Telegram.app - codesign --remove-signature Telegram.app + macdeployqt Kotatogram.app + codesign --remove-signature Kotatogram.app mkdir dmgsrc - mv Telegram.app dmgsrc - hdiutil create -volname Telegram -srcfolder dmgsrc -ov -format UDZO Telegram.dmg + mv Kotatogram.app dmgsrc + hdiutil create -volname Kotatogram -srcfolder dmgsrc -ov -format UDZO Kotatogram.dmg - name: Move artifact. if: env.UPLOAD_ARTIFACT == 'true' run: | cd $REPO_NAME/build mkdir artifact - mv Telegram.dmg artifact/ + mv Kotatogram.dmg artifact/ - uses: actions/upload-artifact@v4 if: env.UPLOAD_ARTIFACT == 'true' name: Upload artifact. diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml deleted file mode 100644 index 4148917e7..000000000 --- a/.github/workflows/stale.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: 'Close stale issues and PRs' -on: - schedule: - - cron: '30 1 * * *' - -jobs: - stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v9 - with: - stale-issue-message: | - Hey there! - - This issue was inactive for a long time and will be automatically closed in 30 days if there isn't any further activity. We therefore assume that the user has lost interest or resolved the problem on their own. - - Don't worry though; if this is an error, let us know with a comment and we'll be happy to reopen the issue. - - Thanks! - stale-issue-label: 'stale' - exempt-issue-labels: 'enhancement' - days-before-stale: 180 - days-before-close: 30 - days-before-pr-stale: -1 - operations-per-run: 1000 diff --git a/.github/workflows/tarball-release.yml b/.github/workflows/tarball-release.yml new file mode 100644 index 000000000..05669af43 --- /dev/null +++ b/.github/workflows/tarball-release.yml @@ -0,0 +1,43 @@ +name: Release Tarball + +on: + release: + types: [published] + +jobs: + + linux: + name: Ubuntu + runs-on: ubuntu-latest + + steps: + - name: Get repository name + run: | + tag_name=${GITHUB_REF##*/} + version=${tag_name#k} + echo "REPO_NAME=${GITHUB_REPOSITORY##*/}-$version-full" >> $GITHUB_ENV + + - name: Checkout + uses: actions/checkout@v2 + with: + submodules: recursive + path: ${{ env.REPO_NAME }} + + - name: Create tarball + run: | + artifact_name="$REPO_NAME.tar.gz" + echo "ARTIFACT_NAME=$artifact_name" >> $GITHUB_ENV + + rm -rf $REPO_NAME/.git + tar -caf $artifact_name $REPO_NAME + + - name: Upload Release Asset + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./${{ env.ARTIFACT_NAME }} + asset_name: ${{ env.ARTIFACT_NAME }} + asset_content_type: application/octet-stream diff --git a/.github/workflows/user_agent_updater.yml b/.github/workflows/user_agent_updater.yml deleted file mode 100644 index c1713b357..000000000 --- a/.github/workflows/user_agent_updater.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: User-agent updater. - -on: - repository_dispatch: - types: ["Restart user_agent_updater workflow."] - schedule: - # At 00:00 on day-of-month 1. - - cron: "0 0 1 * *" - pull_request_target: - types: [closed] - -jobs: - User-agent: - runs-on: ubuntu-latest - steps: - - uses: desktop-app/action_code_updater@master - with: - type: "user-agent" diff --git a/.github/workflows/win.yml b/.github/workflows/win.yml index ca0c7bf09..552b0ef16 100644 --- a/.github/workflows/win.yml +++ b/.github/workflows/win.yml @@ -5,6 +5,7 @@ on: paths-ignore: - 'docs/**' - '**.md' + - 'kotatogram_changes.txt' - 'changelog.txt' - 'LEGAL' - 'LICENSE' @@ -23,6 +24,7 @@ on: paths-ignore: - 'docs/**' - '**.md' + - 'kotatogram_changes.txt' - 'changelog.txt' - 'LEGAL' - 'LICENSE' @@ -42,6 +44,11 @@ jobs: windows: name: Windows + if: > + !(github.event_name == 'push' + && contains(github.event.head_commit.message, '[skip ci]')) + && !(github.event_name == 'pull_request' + && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name) runs-on: windows-2022 strategy: @@ -113,7 +120,7 @@ jobs: - name: Read configuration matrix. shell: bash run: | - ARTIFACT_NAME="Telegram" + ARTIFACT_NAME="Kotatogram" ARCH="" if [ -n "${{ matrix.arch }}" ]; then @@ -160,7 +167,7 @@ jobs: del /S Libraries\*.pch del /S Libraries\*.obj - - name: Telegram Desktop build. + - name: Kotatogram Desktop build. if: env.ONLY_CACHE == 'false' run: | cd %TBUILD%\%REPO_NAME%\Telegram @@ -174,14 +181,23 @@ jobs: -D DESKTOP_APP_NO_PDB=ON ^ %TDESKTOP_BUILD_DEFINE% - cmake --build ..\out --config Debug --parallel + if "${{ matrix.arch }}" == "x64" ( + cd ..\out64 + ) else ( + cd ..\out + ) + cmake --build . --config Debug --parallel - name: Move artifact. if: (env.UPLOAD_ARTIFACT == 'true') || (github.ref == 'refs/heads/nightly') run: | - set OUT=%TBUILD%\%REPO_NAME%\out\Debug + if "${{ matrix.arch }}" == "x64" ( + set OUT=%TBUILD%\%REPO_NAME%\out64\Debug + ) else ( + set OUT=%TBUILD%\%REPO_NAME%\out\Debug + ) mkdir artifact - move %OUT%\Telegram.exe artifact/ + move %OUT%\Kotatogram.exe artifact/ move %OUT%\Updater.exe artifact/ - uses: actions/upload-artifact@v4 name: Upload artifact. diff --git a/README.md b/README.md index 6016f9cd4..901faeb5e 100644 --- a/README.md +++ b/README.md @@ -1,85 +1,67 @@ -# [Telegram Desktop][telegram_desktop] – Official Messenger +# Kotatogram – experimental [Telegram Desktop][telegram_desktop] fork. -This is the complete source code and the build instructions for the official [Telegram][telegram] messenger desktop client, based on the [Telegram API][telegram_api] and the [MTProto][telegram_proto] secure protocol. +[![GitHub release (latest by date including pre-releases)](https://badgen.net/github/release/kotatogram/kotatogram-desktop?label=Latest%20release)][releases] +[![GitHub Workflow Status: Windows](https://github.com/kotatogram/kotatogram-desktop/workflows/Windows./badge.svg?event=push)][actions] +[![GitHub Workflow Status: Linux](https://github.com/kotatogram/kotatogram-desktop/workflows/Linux%20Kotato./badge.svg?event=push)][actions] +[![GitHub Workflow Status: macOS](https://github.com/kotatogram/kotatogram-desktop/workflows/MacOS./badge.svg?event=push)][actions] +[![Crowdin](https://badges.crowdin.net/kotatogram-desktop/localized.svg)](https://crowdin.com/project/kotatogram-desktop) -[![Version](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop.svg)](https://github.com/telegramdesktop/tdesktop/releases) -[![Build Status](https://github.com/telegramdesktop/tdesktop/workflows/Windows./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions) -[![Build Status](https://github.com/telegramdesktop/tdesktop/workflows/MacOS./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions) -[![Build Status](https://github.com/telegramdesktop/tdesktop/workflows/Linux./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions) +[![Preview of Kotatogram Desktop][preview_image]][preview_image_url] -[![Preview of Telegram Desktop][preview_image]][preview_image_url] +Build instructions can be found [in `docs` folder][build]. Please note: only [32-bit Windows][building-msvc], [64-bit Windows][building-msvc-x64] and [Linux][building-cmake] build instructions are updated. -The source code is published under GPLv3 with OpenSSL exception, the license is available [here][license]. +Original README with licenses could be found in [Telegram Desktop repository][telegram_desktop_readme]. -## Supported systems +## Download +Binaries can be downloaded from releases: https://github.com/kotatogram/kotatogram-desktop/releases -The latest version is available for +Latest stable version can be found here: https://github.com/kotatogram/kotatogram-desktop/releases/latest -* [Windows 7 and above (64 bit)](https://telegram.org/dl/desktop/win64) ([portable](https://telegram.org/dl/desktop/win64_portable)) -* [Windows 7 and above (32 bit)](https://telegram.org/dl/desktop/win) ([portable](https://telegram.org/dl/desktop/win_portable)) -* [macOS 10.13 and above](https://telegram.org/dl/desktop/mac) -* [Linux static build for 64 bit](https://telegram.org/dl/desktop/linux) -* [Snap](https://snapcraft.io/telegram-desktop) -* [Flatpak](https://flathub.org/apps/details/org.telegram.desktop) +## Builds +* Windows (installer and portable) +* Linux (64-bit) + * [Flathub][flatpak] + * Other repositories:
[![Packaging status](https://repology.org/badge/vertical-allrepos/kotatogram-desktop.svg)][repology] +* macOS -## Old system versions +## Features +* Local folders +* Forward to multiple chats and forward without author +* Custom font +* Compact chat list +* Custom text replaces +* Change sticker size +* Adaptive chat bubbles +* and other smaller features. -Version **4.9.9** was the last that supports older systems +Full list of features will rewritten later. Control branches were used to list features, but they are now deprecated and archived in [separate repo][archive]. -* [macOS 10.12](https://updates.tdesktop.com/tmac/tsetup.4.9.9.dmg) -* [Linux with glibc < 2.28 static build](https://updates.tdesktop.com/tlinux/tsetup.4.9.9.tar.xz) +## Contributing +Read [CONTRIBUTING.md][contributing]. -Version **2.4.4** was the last that supports older systems +## Other links +* Website: https://kotatogram.github.io +* English Telegram channel: https://t.me/kotatogram +* Russian Telegram channel: https://t.me/kotatogram_ru +* Trello (on Russian, abandoned): https://trello.com/b/G6zetXOH/kotatogram-desktop -* [OS X 10.10 and 10.11](https://updates.tdesktop.com/tosx/tsetup-osx.2.4.4.dmg) -* [Linux static build for 32 bit](https://updates.tdesktop.com/tlinux32/tsetup32.2.4.4.tar.xz) - -Version **1.8.15** was the last that supports older systems - -* [Windows XP and Vista](https://updates.tdesktop.com/tsetup/tsetup.1.8.15.exe) ([portable](https://updates.tdesktop.com/tsetup/tportable.1.8.15.zip)) -* [OS X 10.8 and 10.9](https://updates.tdesktop.com/tmac/tsetup.1.8.15.dmg) -* [OS X 10.6 and 10.7](https://updates.tdesktop.com/tmac32/tsetup32.1.8.15.dmg) - -## Third-party - -* Qt 6 ([LGPL](http://doc.qt.io/qt-6/lgpl.html)) and Qt 5.15 ([LGPL](http://doc.qt.io/qt-5/lgpl.html)) slightly patched -* OpenSSL 3.2.1 ([Apache License 2.0](https://www.openssl.org/source/apache-license-2.0.txt)) -* WebRTC ([New BSD License](https://github.com/desktop-app/tg_owt/blob/master/LICENSE)) -* zlib 1.2.11 ([zlib License](http://www.zlib.net/zlib_license.html)) -* LZMA SDK 9.20 ([public domain](http://www.7-zip.org/sdk.html)) -* liblzma ([public domain](http://tukaani.org/xz/)) -* Google Breakpad ([License](https://chromium.googlesource.com/breakpad/breakpad/+/master/LICENSE)) -* Google Crashpad ([Apache License 2.0](https://chromium.googlesource.com/crashpad/crashpad/+/master/LICENSE)) -* GYP ([BSD License](https://github.com/bnoordhuis/gyp/blob/master/LICENSE)) -* Ninja ([Apache License 2.0](https://github.com/ninja-build/ninja/blob/master/COPYING)) -* OpenAL Soft ([LGPL](https://github.com/kcat/openal-soft/blob/master/COPYING)) -* Opus codec ([BSD License](http://www.opus-codec.org/license/)) -* FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html)) -* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/blob/master/LICENSE)) -* Range-v3 ([Boost License](https://github.com/ericniebler/range-v3/blob/master/LICENSE.txt)) -* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -* Vazir font ([SIL Open Font License 1.1](https://github.com/rastikerdar/vazir-font/blob/master/OFL.txt)) -* Emoji alpha codes ([MIT License](https://github.com/emojione/emojione/blob/master/extras/alpha-codes/LICENSE.md)) -* xxHash ([BSD License](https://github.com/Cyan4973/xxHash/blob/dev/LICENSE)) -* QR Code generator ([MIT License](https://github.com/nayuki/QR-Code-generator#license)) -* CMake ([New BSD License](https://github.com/Kitware/CMake/blob/master/Copyright.txt)) -* Hunspell ([LGPL](https://github.com/hunspell/hunspell/blob/master/COPYING.LESSER)) - -## Build instructions - -* Windows [(32-bit)][win32] [(64-bit)][win64] -* [macOS][mac] -* [GNU/Linux using Docker][linux] +## Attribution +* Ghost icon (for deleted accounts) is taken from [official Android app](https://github.com/DrKLO/Telegram). +* Icons for local folders mostly are [Material Design Icons](https://materialdesignicons.com/). [//]: # (LINKS) -[telegram]: https://telegram.org [telegram_desktop]: https://desktop.telegram.org -[telegram_api]: https://core.telegram.org -[telegram_proto]: https://core.telegram.org/mtproto -[license]: LICENSE -[win32]: docs/building-win.md -[win64]: docs/building-win-x64.md -[mac]: docs/building-mac.md -[linux]: docs/building-linux.md -[preview_image]: https://github.com/telegramdesktop/tdesktop/blob/dev/docs/assets/preview.png "Preview of Telegram Desktop" -[preview_image_url]: https://raw.githubusercontent.com/telegramdesktop/tdesktop/dev/docs/assets/preview.png +[releases]: https://github.com/kotatogram/kotatogram-desktop/releases +[actions]: https://github.com/kotatogram/kotatogram-desktop/actions +[telegram_desktop_readme]: https://github.com/telegramdesktop/tdesktop/blob/dev/README.md +[repology]: https://repology.org/project/kotatogram-desktop/versions +[flatpak]: https://flathub.org/apps/details/io.github.kotatogram +[changelog]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/kotatogram_changes.txt +[preview_image]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/assets/ktg_preview.png "Preview of Kotatogram Desktop" +[preview_image_url]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/assets/ktg_preview.png +[contributing]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/.github/CONTRIBUTING.md +[archive]: https://github.com/kotatogram/kotatogram-archived +[build]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs +[win32]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/building-win.md +[win64]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/building-win-x64.md +[linux]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/building-linux.md diff --git a/docs/assets/flatpak_screenshots/customized.png b/docs/assets/flatpak_screenshots/customized.png new file mode 100644 index 000000000..229d3e132 Binary files /dev/null and b/docs/assets/flatpak_screenshots/customized.png differ diff --git a/docs/assets/flatpak_screenshots/kotatogram_settings.png b/docs/assets/flatpak_screenshots/kotatogram_settings.png new file mode 100644 index 000000000..a8b901c9d Binary files /dev/null and b/docs/assets/flatpak_screenshots/kotatogram_settings.png differ diff --git a/docs/assets/flatpak_screenshots/main_window.png b/docs/assets/flatpak_screenshots/main_window.png new file mode 100644 index 000000000..6a4790e67 Binary files /dev/null and b/docs/assets/flatpak_screenshots/main_window.png differ diff --git a/docs/assets/ktg_preview.png b/docs/assets/ktg_preview.png new file mode 100644 index 000000000..9890cb0cb Binary files /dev/null and b/docs/assets/ktg_preview.png differ diff --git a/docs/building-linux.md b/docs/building-linux.md index e8a0b050b..15943a463 100644 --- a/docs/building-linux.md +++ b/docs/building-linux.md @@ -12,16 +12,16 @@ You will require **api_id** and **api_hash** to access the Telegram API servers. Install [poetry](https://python-poetry.org), go to ***BuildPath*** and run - git clone --recursive https://github.com/telegramdesktop/tdesktop.git + git clone --recursive https://github.com/kotatogram/kotatogram-desktop.git ./tdesktop/Telegram/build/prepare/linux.sh ### Building the project -Go to ***BuildPath*/tdesktop** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials)) +Go to ***BuildPath*/kotatogram-desktop** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials)) docker run --rm -it \ -v "$PWD:/usr/src/tdesktop" \ - tdesktop:centos_env \ + kotatogram-desktop:centos_env \ /usr/src/tdesktop/Telegram/build/docker/centos_env/build.sh \ -D TDESKTOP_API_ID=YOUR_API_ID \ -D TDESKTOP_API_HASH=YOUR_API_HASH @@ -31,7 +31,7 @@ Or, to create a debug build, run (also using [your **api_id** and **api_hash**]( docker run --rm -it \ -v "$PWD:/usr/src/tdesktop" \ -e CONFIG=Debug \ - tdesktop:centos_env \ + kotatogram-desktop:centos_env \ /usr/src/tdesktop/Telegram/build/docker/centos_env/build.sh \ -D TDESKTOP_API_ID=YOUR_API_ID \ -D TDESKTOP_API_HASH=YOUR_API_HASH diff --git a/docs/building-win-x64.md b/docs/building-win-x64.md index a85ce116f..14be6578a 100644 --- a/docs/building-win-x64.md +++ b/docs/building-win-x64.md @@ -28,18 +28,18 @@ You will require **api_id** and **api_hash** to access the Telegram API servers. Open **x64 Native Tools Command Prompt for VS 2022.bat**, go to ***BuildPath*** and run - git clone --recursive https://github.com/telegramdesktop/tdesktop.git - tdesktop\Telegram\build\prepare\win.bat + git clone --recursive https://github.com/kotatogram/kotatogram-desktop.git + kotatogram-desktop\Telegram\build\prepare\win.bat ## Build the project -Go to ***BuildPath*\\tdesktop\\Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials)) +Go to ***BuildPath*\\kotatogram-desktop\\Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials)) configure.bat x64 -D TDESKTOP_API_ID=YOUR_API_ID -D TDESKTOP_API_HASH=YOUR_API_HASH -* Open ***BuildPath*\\tdesktop\\out\\Telegram.sln** in Visual Studio 2022 +* Open ***BuildPath*\\kotatogram-desktop\\out64\\Telegram.sln** in Visual Studio 2022 * Select Telegram project and press Build > Build Telegram (Debug and Release configurations) -* The result Telegram.exe will be located in **D:\TBuild\tdesktop\out\Debug** (and **Release**) +* The result Kotatogram.exe will be located in **D:\TBuild\kotatogram-desktop\out64\Debug** (and **Release**) ### Qt Visual Studio Tools diff --git a/docs/building-win.md b/docs/building-win.md index 0815b10f1..10e28a805 100644 --- a/docs/building-win.md +++ b/docs/building-win.md @@ -28,18 +28,18 @@ You will require **api_id** and **api_hash** to access the Telegram API servers. Open **x86 Native Tools Command Prompt for VS 2022.bat**, go to ***BuildPath*** and run - git clone --recursive https://github.com/telegramdesktop/tdesktop.git - tdesktop\Telegram\build\prepare\win.bat + git clone --recursive https://github.com/kotatogram/kotatogram-desktop.git + kotatogram-desktop\Telegram\build\prepare\win.bat ## Build the project -Go to ***BuildPath*\\tdesktop\\Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials)) +Go to ***BuildPath*\\kotatogram-desktop\\Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials)) configure.bat -D TDESKTOP_API_ID=YOUR_API_ID -D TDESKTOP_API_HASH=YOUR_API_HASH -* Open ***BuildPath*\\tdesktop\\out\\Telegram.sln** in Visual Studio 2022 +* Open ***BuildPath*\\kotatogram-desktop\\out\\Telegram.sln** in Visual Studio 2022 * Select Telegram project and press Build > Build Telegram (Debug and Release configurations) -* The result Telegram.exe will be located in **D:\TBuild\tdesktop\out\Debug** (and **Release**) +* The result Kotatogram.exe will be located in **D:\TBuild\kotatogram-desktop\out\Debug** (and **Release**) ### Qt Visual Studio Tools diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index d9db537b3..68b97f75a 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,5 @@ -name: telegram-desktop -adopt-info: telegram +name: kotatogram-desktop +adopt-info: kotatogram icon: Telegram/Resources/art/icon512@2x.png base: core24 @@ -8,13 +8,13 @@ confinement: strict compression: lzo apps: - telegram-desktop: - command: usr/bin/telegram-desktop + kotatogram-desktop: + command: usr/bin/kotatogram-desktop command-chain: - bin/desktop-launch - common-id: org.telegram.desktop - desktop: usr/share/applications/org.telegram.desktop.desktop - autostart: telegram-desktop_telegram-desktop.desktop + common-id: io.github.kotatogram + desktop: usr/share/applications/io.github.kotatogram.desktop + autostart: kotatogram-desktop_kotatogram-desktop.desktop plugs: - alsa - audio-playback @@ -80,11 +80,11 @@ layout: bind: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/webkitgtk-6.0 parts: - telegram: + kotatogram: plugin: cmake source: . source-type: git - parse-info: [usr/share/metainfo/org.telegram.desktop.metainfo.xml] + parse-info: [usr/share/metainfo/io.github.kotatogram.metainfo.xml] build-environment: - LD_LIBRARY_PATH: $CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} - LDFLAGS: ${LDFLAGS:+$LDFLAGS} -s @@ -139,19 +139,10 @@ parts: override-pull: | craftctl default - version_file=Telegram/build/version - version=$(sed -n "s/AppVersionStr[ ]\+\(.*\)\+/\1/p" $version_file) - beta=$(sed -n "s/BetaChannel[ ]\+\(.*\)\+/\1/p" $version_file) - - if [ "$beta" != "0" ]; then - version="$version-beta" - fi - - version="${version}$(git describe --tags | sed 's,^v[^-]\+,,')" - + version="$(git describe --tags --always | sed -r 's,^k([0-9]\.[0-9]),\1,')" craftctl set version="$version" - sed -i 's|^Icon=telegram$|Icon=${SNAP}/meta/gui/icon.png|g' lib/xdg/org.telegram.desktop.desktop + sed -i 's|^Icon=kotatogram$|Icon=${SNAP}/meta/gui/icon.png|g' lib/xdg/io.github.kotatogram.desktop override-build: | craftctl default rm -rf "$CRAFT_PART_INSTALL/usr/share/icons" @@ -207,7 +198,7 @@ parts: done GTK_PATH=$PWD/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gtk-3.0 /usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libgtk-3-0t64/gtk-query-immodules-3.0 > usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gtk-3.0/3.0.0/immodules/immodules.cache after: - - telegram + - kotatogram ffmpeg: plugin: nil