diff --git a/.github/AyuChan.png b/.github/AyuChan.png new file mode 100644 index 000000000..10c316a66 Binary files /dev/null and b/.github/AyuChan.png differ diff --git a/.github/demos/demo1.png b/.github/demos/demo1.png index 20432bc32..da0a4d1ba 100644 Binary files a/.github/demos/demo1.png and b/.github/demos/demo1.png differ diff --git a/.github/demos/demo2.png b/.github/demos/demo2.png index 78b1003bc..0fa728a81 100644 Binary files a/.github/demos/demo2.png and b/.github/demos/demo2.png differ diff --git a/.github/demos/demo3.png b/.github/demos/demo3.png index dc18ab67a..c73f3f9f9 100644 Binary files a/.github/demos/demo3.png and b/.github/demos/demo3.png differ diff --git a/.github/demos/demo4.png b/.github/demos/demo4.png index 468166a44..0fbdda7f2 100644 Binary files a/.github/demos/demo4.png and b/.github/demos/demo4.png differ diff --git a/.github/workflows/cant-reproduce.yml b/.github/workflows/cant-reproduce.yml deleted file mode 100644 index 5c4edcba0..000000000 --- a/.github/workflows/cant-reproduce.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Can't reproduce. - -on: - schedule: - - cron: '0 3 * * *' - -jobs: - cant-reproduce: - runs-on: ubuntu-latest - steps: - - uses: lee-dohm/no-response@v0.5.0 - with: - token: ${{ github.token }} - responseRequiredLabel: cant reproduce - closeComment: > - This issue has been automatically closed because no developer succeeded to - reproduce the issue with the given reproduction steps. With only the - information that is currently in the issue, we don't have enough - information to take action. Please reach out if you find what's missing to - reproduce the issue so that we can investigate further. - - - Note that GitHub is a developer communication platform. If you're an ordinary - user seeking for help, get to support crew via `Settings -> Ask question` in - the application. diff --git a/.github/workflows/copyright_year_updater.yml b/.github/workflows/copyright_year_updater.yml deleted file mode 100644 index 7cb129e36..000000000 --- a/.github/workflows/copyright_year_updater.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Copyright year updater. - -on: - repository_dispatch: - types: ["Restart copyright_year_updater workflow."] - schedule: - # At 03:00 on January 1. - - cron: "0 3 1 1 *" - -jobs: - Copyright-year: - runs-on: ubuntu-latest - steps: - - uses: desktop-app/action_code_updater@master - with: - type: "license-year" diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index ac40f3a33..000000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Docker. - -on: - push: - paths: - - '.github/workflows/docker.yml' - - 'Telegram/build/docker/centos_env/**' - pull_request: - paths: - - '.github/workflows/docker.yml' - - 'Telegram/build/docker/centos_env/**' - -jobs: - docker: - name: Ubuntu - runs-on: ubuntu-latest - - env: - IMAGE_TAG: ghcr.io/${{ github.repository }}/centos_env:latest - - steps: - - name: Clone. - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: First set up. - run: | - sudo apt update - curl -sSL https://install.python-poetry.org | python3 - - echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin - - - name: Free up some disk space. - uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be - - - name: Docker image build. - run: | - cd Telegram/build/docker/centos_env - poetry install - DEBUG= LTO= poetry run gen_dockerfile | DOCKER_BUILDKIT=1 docker build -t $IMAGE_TAG - - - - name: Push the Docker image. - if: ${{ github.ref_name == github.event.repository.default_branch }} - run: docker push $IMAGE_TAG diff --git a/.github/workflows/issue_closer.yml b/.github/workflows/issue_closer.yml deleted file mode 100644 index d3784944f..000000000 --- a/.github/workflows/issue_closer.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Issue closer. - -on: - issues: - types: opened - -jobs: - comment: - runs-on: ubuntu-latest - steps: - - name: Process an issue. - uses: desktop-app/action_issue_closer@master - with: - token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml deleted file mode 100644 index cf3c46989..000000000 --- a/.github/workflows/lock.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: 'Lock Threads' - -on: - schedule: - - cron: '0 0 * * *' - -jobs: - lock: - runs-on: ubuntu-latest - steps: - - uses: dessant/lock-threads@v5 - with: - github-token: ${{ github.token }} - issue-inactive-days: 45 - pr-inactive-days: 45 diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml deleted file mode 100644 index e5f5e5620..000000000 --- a/.github/workflows/mac.yml +++ /dev/null @@ -1,142 +0,0 @@ -name: MacOS. - -on: - push: - paths-ignore: - - 'docs/**' - - '**.md' - - 'changelog.txt' - - 'LEGAL' - - 'LICENSE' - - '.github/**' - - '!.github/workflows/mac.yml' - - 'lib/xdg/**' - - 'snap/**' - - 'Telegram/build/docker/**' - - 'Telegram/Resources/uwp/**' - - 'Telegram/Resources/winrc/**' - - 'Telegram/SourceFiles/platform/win/**' - - 'Telegram/SourceFiles/platform/linux/**' - - 'Telegram/configure.bat' - pull_request: - paths-ignore: - - 'docs/**' - - '**.md' - - 'changelog.txt' - - 'LEGAL' - - 'LICENSE' - - '.github/**' - - '!.github/workflows/mac.yml' - - 'lib/xdg/**' - - 'snap/**' - - 'Telegram/build/docker/**' - - 'Telegram/Resources/uwp/**' - - 'Telegram/Resources/winrc/**' - - 'Telegram/SourceFiles/platform/win/**' - - 'Telegram/SourceFiles/platform/linux/**' - - 'Telegram/configure.bat' - -jobs: - - macos: - name: MacOS - runs-on: macos-13 - - strategy: - matrix: - defines: - - "" - env: - UPLOAD_ARTIFACT: "true" - ONLY_CACHE: "false" - PREPARE_PATH: "Telegram/build/prepare/prepare.py" - - steps: - - name: Get repository name. - run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV - - - name: Clone. - uses: actions/checkout@v4 - with: - submodules: recursive - path: ${{ env.REPO_NAME }} - - - name: First set up. - run: | - sudo chown -R `whoami`:admin /usr/local/share - - brew update - brew upgrade || true - brew install automake meson nasm ninja pkg-config - - # Disable spotlight. - sudo mdutil -a -i off - - sudo xcode-select -s /Applications/Xcode.app/Contents/Developer - - - name: ThirdParty cache. - id: cache-third-party - uses: actions/cache@v4 - with: - path: ThirdParty - key: ${{ runner.OS }}-third-party-${{ hashFiles(format('{0}/{1}', env.REPO_NAME, env.PREPARE_PATH)) }} - restore-keys: ${{ runner.OS }}-third-party- - - - name: Libraries cache. - id: cache-libs - uses: actions/cache@v4 - with: - path: Libraries - key: ${{ runner.OS }}-libs-${{ hashFiles(format('{0}/{1}', env.REPO_NAME, env.PREPARE_PATH)) }} - restore-keys: ${{ runner.OS }}-libs- - - - name: Libraries. - run: | - ./$REPO_NAME/Telegram/build/prepare/mac.sh skip-release silent - - - name: Free up some disk space. - run: | - cd Libraries - find . -iname "*.dir" -exec rm -rf {} || true \; - - - name: Telegram Desktop build. - if: env.ONLY_CACHE == 'false' - run: | - cd $REPO_NAME/Telegram - - DEFINE="" - if [ -n "${{ matrix.defines }}" ]; then - DEFINE="-D ${{ matrix.defines }}=ON" - echo Define from matrix: $DEFINE - echo "ARTIFACT_NAME=Telegram_${{ matrix.defines }}" >> $GITHUB_ENV - else - echo "ARTIFACT_NAME=Telegram" >> $GITHUB_ENV - fi - - ./configure.sh \ - -D CMAKE_C_FLAGS="-Werror" \ - -D CMAKE_CXX_FLAGS="-Werror" \ - -D CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO \ - -D TDESKTOP_API_TEST=ON \ - -D DESKTOP_APP_DISABLE_AUTOUPDATE=OFF \ - -D DESKTOP_APP_DISABLE_CRASH_REPORTS=OFF \ - $DEFINE - - cd ../out - - xcoderun='xcodebuild build -project Telegram.xcodeproj -scheme Telegram -destination "platform=macOS,arch=x86_64" -configuration Debug' - bash -c "$xcoderun" || bash -c "$xcoderun" || bash -c "$xcoderun" - - - name: Move artifact. - if: env.UPLOAD_ARTIFACT == 'true' - run: | - cd $REPO_NAME/out/Debug - mkdir artifact - mv Telegram.app artifact/ - mv Updater artifact/ - - uses: actions/upload-artifact@v4 - if: env.UPLOAD_ARTIFACT == 'true' - name: Upload artifact. - with: - name: ${{ env.ARTIFACT_NAME }} - path: ${{ env.REPO_NAME }}/out/Debug/artifact/ diff --git a/.github/workflows/mac_packaged.yml b/.github/workflows/mac_packaged.yml deleted file mode 100644 index bd51bb74a..000000000 --- a/.github/workflows/mac_packaged.yml +++ /dev/null @@ -1,161 +0,0 @@ -name: MacOS Packaged. - -on: - push: - paths-ignore: - - 'docs/**' - - '**.md' - - 'changelog.txt' - - 'LEGAL' - - 'LICENSE' - - '.github/**' - - '!.github/workflows/mac_packaged.yml' - - 'lib/xdg/**' - - 'snap/**' - - 'Telegram/build/**' - - 'Telegram/Resources/uwp/**' - - 'Telegram/Resources/winrc/**' - - 'Telegram/SourceFiles/platform/win/**' - - 'Telegram/SourceFiles/platform/linux/**' - - 'Telegram/configure.bat' - pull_request: - paths-ignore: - - 'docs/**' - - '**.md' - - 'changelog.txt' - - 'LEGAL' - - 'LICENSE' - - '.github/**' - - '!.github/workflows/mac_packaged.yml' - - 'lib/xdg/**' - - 'snap/**' - - 'Telegram/build/**' - - 'Telegram/Resources/uwp/**' - - 'Telegram/Resources/winrc/**' - - 'Telegram/SourceFiles/platform/win/**' - - 'Telegram/SourceFiles/platform/linux/**' - - 'Telegram/configure.bat' - -jobs: - - macos: - name: MacOS - runs-on: macos-13 - - strategy: - matrix: - defines: - - "" - - env: - GIT: "https://github.com" - CMAKE_PREFIX_PATH: "/usr/local/opt/ffmpeg@6:/usr/local/opt/openal-soft" - UPLOAD_ARTIFACT: "true" - ONLY_CACHE: "false" - MANUAL_CACHING: "1" - AUTO_CACHING: "1" - - steps: - - name: Get repository name. - run: echo "REPO_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV - - - name: Clone. - uses: actions/checkout@v4 - with: - submodules: recursive - path: ${{ env.REPO_NAME }} - - - name: First set up. - run: | - brew update - brew upgrade || true - brew install autoconf automake boost cmake ffmpeg@6 openal-soft openssl opus ninja pkg-config python qt yasm xz - sudo xcode-select -s /Applications/Xcode.app/Contents/Developer - - xcodebuild -version > CACHE_KEY.txt - brew list --versions >> CACHE_KEY.txt - echo $MANUAL_CACHING >> CACHE_KEY.txt - echo "$GITHUB_WORKSPACE" >> CACHE_KEY.txt - if [ "$AUTO_CACHING" = "1" ]; then - thisFile=$REPO_NAME/.github/workflows/mac_packaged.yml - echo `md5 -q $thisFile` >> CACHE_KEY.txt - fi - echo "CACHE_KEY=`md5 -q CACHE_KEY.txt`" >> $GITHUB_ENV - - echo "LibrariesPath=`pwd`" >> $GITHUB_ENV - - curl -o tg_owt-version.json https://api.github.com/repos/desktop-app/tg_owt/git/refs/heads/master - - - name: RNNoise. - run: | - cd $LibrariesPath - - git clone --depth=1 https://gitlab.xiph.org/xiph/rnnoise.git - cd rnnoise - ./autogen.sh - ./configure --disable-examples --disable-doc - make -j$(sysctl -n hw.logicalcpu) - make install - - - name: WebRTC cache. - id: cache-webrtc - uses: actions/cache@v4 - with: - path: ${{ env.LibrariesPath }}/tg_owt - key: ${{ runner.OS }}-webrtc-${{ env.CACHE_KEY }}-${{ hashFiles('**/tg_owt-version.json') }} - - name: WebRTC. - if: steps.cache-webrtc.outputs.cache-hit != 'true' - run: | - cd $LibrariesPath - - git clone --recursive --depth=1 $GIT/desktop-app/tg_owt.git - cd tg_owt - - cmake -B build . -GNinja -DCMAKE_BUILD_TYPE=Debug - cmake --build build --parallel - - - name: Telegram Desktop build. - if: env.ONLY_CACHE == 'false' - env: - tg_owt_DIR: ${{ env.LibrariesPath }}/tg_owt/build - run: | - cd $REPO_NAME - - DEFINE="" - if [ -n "${{ matrix.defines }}" ]; then - DEFINE="-D ${{ matrix.defines }}=ON" - echo Define from matrix: $DEFINE - echo "ARTIFACT_NAME=Telegram_${{ matrix.defines }}" >> $GITHUB_ENV - else - echo "ARTIFACT_NAME=Telegram" >> $GITHUB_ENV - fi - - cmake -Bbuild -GNinja . \ - -DCMAKE_BUILD_TYPE=Debug \ - -DCMAKE_FIND_FRAMEWORK=LAST \ - -DTDESKTOP_API_TEST=ON \ - -DDESKTOP_APP_USE_PACKAGED_LAZY=ON \ - $DEFINE - - cmake --build build --parallel - - cd build - macdeployqt Telegram.app - codesign --remove-signature Telegram.app - - mkdir dmgsrc - mv Telegram.app dmgsrc - hdiutil create -volname Telegram -srcfolder dmgsrc -ov -format UDZO Telegram.dmg - - - name: Move artifact. - if: env.UPLOAD_ARTIFACT == 'true' - run: | - cd $REPO_NAME/build - mkdir artifact - mv Telegram.dmg artifact/ - - uses: actions/upload-artifact@v4 - if: env.UPLOAD_ARTIFACT == 'true' - name: Upload artifact. - with: - name: ${{ env.ARTIFACT_NAME }} - path: ${{ env.REPO_NAME }}/build/artifact/ diff --git a/.github/workflows/master_updater.yml b/.github/workflows/master_updater.yml deleted file mode 100644 index c59f62e29..000000000 --- a/.github/workflows/master_updater.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Master branch updater. - -on: - release: - types: released - -jobs: - updater: - runs-on: ubuntu-latest - env: - SKIP: "0" - to_branch: "master" - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - if: env.SKIP == '0' - - name: Push the code to the master branch. - if: env.SKIP == '0' - run: | - token=${{ secrets.TOKEN_FOR_MASTER_UPDATER }} - if [ -z "${token}" ]; then - echo "Token is unset. Nothing to do." - exit 0 - fi - - url=https://x-access-token:$token@github.com/$GITHUB_REPOSITORY - latest_tag=$(git describe --tags --abbrev=0) - echo "Latest tag: $latest_tag" - - git remote set-url origin $url - git remote -v - git checkout master - git merge $latest_tag - - git push origin HEAD:refs/heads/$to_branch - echo "Done!" diff --git a/.github/workflows/needs-user-action.yml b/.github/workflows/needs-user-action.yml deleted file mode 100644 index 46ad9f87d..000000000 --- a/.github/workflows/needs-user-action.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Needs user action. - -on: - issue_comment: - types: [created] - schedule: - - cron: '0 2 * * *' - -jobs: - needs-user-action: - runs-on: ubuntu-latest - steps: - - uses: lee-dohm/no-response@v0.5.0 - with: - token: ${{ github.token }} - responseRequiredLabel: needs user action diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml deleted file mode 100644 index 93ef6ad36..000000000 --- a/.github/workflows/snap.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: Snap. - -on: - push: - paths-ignore: - - 'docs/**' - - '**.md' - - 'changelog.txt' - - 'LEGAL' - - 'LICENSE' - - '.github/**' - - '!.github/workflows/snap.yml' - - 'Telegram/build/**' - - 'Telegram/Resources/uwp/**' - - 'Telegram/Resources/winrc/**' - - 'Telegram/SourceFiles/platform/win/**' - - 'Telegram/SourceFiles/platform/mac/**' - - 'Telegram/Telegram/**' - - 'Telegram/configure.bat' - - 'Telegram/Telegram.plist' - pull_request: - paths-ignore: - - 'docs/**' - - '**.md' - - 'changelog.txt' - - 'LEGAL' - - 'LICENSE' - - '.github/**' - - '!.github/workflows/snap.yml' - - 'Telegram/build/**' - - 'Telegram/Resources/uwp/**' - - 'Telegram/Resources/winrc/**' - - 'Telegram/SourceFiles/platform/win/**' - - 'Telegram/SourceFiles/platform/mac/**' - - 'Telegram/Telegram/**' - - 'Telegram/configure.bat' - - 'Telegram/Telegram.plist' - -jobs: - - snap: - name: Ubuntu - runs-on: ubuntu-20.04 - - env: - UPLOAD_ARTIFACT: "true" - - steps: - - name: Clone. - uses: actions/checkout@v4 - with: - fetch-depth: 0 - submodules: recursive - - - name: First set up. - run: | - sudo iptables -P FORWARD ACCEPT - sudo snap install --classic snapcraft - sudo usermod -aG lxd $USER - sudo snap run lxd init --auto - sudo snap run lxd waitready - - - name: Free up some disk space. - uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be - - - name: Telegram Desktop snap build. - run: sg lxd -c 'snap run snapcraft --verbosity=debug' - - - name: Move artifact. - if: env.UPLOAD_ARTIFACT == 'true' - run: | - artifact_name=$(echo telegram-desktop_*.snap) - echo "ARTIFACT_NAME=$artifact_name" >> $GITHUB_ENV - - mkdir artifact - mv $artifact_name artifact - - - uses: actions/upload-artifact@v4 - if: env.UPLOAD_ARTIFACT == 'true' - name: Upload artifact. - with: - name: ${{ env.ARTIFACT_NAME }} - path: 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/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/waiting-for-answer.yml b/.github/workflows/waiting-for-answer.yml deleted file mode 100644 index 5e5ff87c9..000000000 --- a/.github/workflows/waiting-for-answer.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Waiting for answer. - -on: - issue_comment: - types: [created] - schedule: - - cron: '30 0 * * *' - -jobs: - waiting-for-answer: - runs-on: ubuntu-latest - steps: - - uses: lee-dohm/no-response@v0.5.0 - with: - token: ${{ github.token }} - responseRequiredLabel: waiting for answer diff --git a/.github/workflows/winget.yml b/.github/workflows/winget.yml deleted file mode 100644 index 0ff2d50d8..000000000 --- a/.github/workflows/winget.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Publish to WinGet -on: - release: - types: [released, prereleased] -jobs: - publish: - runs-on: windows-latest # action can only be run on windows - steps: - - if: github.event.action == 'released' - uses: telegramdesktop/winget-releaser@main - with: - identifier: Telegram.TelegramDesktop - installers-regex: 't(setup|portable).*(exe|zip)$' - token: ${{ secrets.WINGET_TOKEN }} - - if: github.event.action == 'prereleased' - uses: telegramdesktop/winget-releaser@main - with: - identifier: Telegram.TelegramDesktop.Beta - installers-regex: 't(setup|portable).*(exe|zip)$' - token: ${{ secrets.WINGET_TOKEN }} diff --git a/README.md b/README.md index 9d6110d58..bc203bfbb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # AyuGram -![AyuGram Logo](.github/AyuGram.png) +![AyuGram Logo](.github/AyuGram.png) ![AyuChan](.github/AyuChan.png) ## Features