diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index c6fbe2196..ac9fc3a1e 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -25,8 +25,8 @@ jobs:
 
     env:
       GIT: "https://github.com"
-      QT: "5_12_5"
-      QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.5"
+      QT: "5_12_8"
+      QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.8"
       OPENSSL_VER: "1_1_1"
       OPENSSL_PREFIX: "/usr/local/desktop-app/openssl-1.1.1"
       CMAKE_VER: "3.17.0"
@@ -391,18 +391,18 @@ jobs:
           cd ..
           rm -rf wayland
 
-      - name: Qt 5.12.5 cache.
+      - name: Qt 5.12.8 cache.
         id: cache-qt
         uses: actions/cache@v1
         with:
           path: ${{ env.LibrariesPath }}/qt-cache
-          key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_5.diff') }}
-      - name: Qt 5.12.5 build.
+          key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_8.diff') }}
+      - name: Qt 5.12.8 build.
         if: steps.cache-qt.outputs.cache-hit != 'true'
         run: |
           cd $LibrariesPath
 
-          git clone -b v5.12.5 --depth=1 git://code.qt.io/qt/qt5.git qt_${QT}
+          git clone -b v5.12.8 --depth=1 git://code.qt.io/qt/qt5.git qt_${QT}
           cd qt_${QT}
           perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg
           git submodule update qtbase qtwayland qtimageformats qtsvg
@@ -436,7 +436,7 @@ jobs:
           sudo make INSTALL_ROOT="$LibrariesPath/qt-cache" install
           cd ..
           rm -rf qt_${QT}
-      - name: Qt 5.12.5 install.
+      - name: Qt 5.12.8 install.
         run: |
           cd $LibrariesPath
           sudo cp -R qt-cache/. /
diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml
index 52d08d7e7..5fe4db56d 100644
--- a/.github/workflows/mac.yml
+++ b/.github/workflows/mac.yml
@@ -27,9 +27,9 @@ jobs:
       PREFIX: "/usr/local/macos"
       MACOSX_DEPLOYMENT_TARGET: "10.12"
       XZ: "xz-5.2.4"
-      QT: "5_12_5"
+      QT: "5_12_8"
       OPENSSL_VER: "1_1_1"
-      QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.5"
+      QT_PREFIX: "/usr/local/desktop-app/Qt-5.12.8"
       LIBICONV_VER: "libiconv-1.16"
       UPLOAD_ARTIFACT: "false"
       ONLY_CACHE: "false"
@@ -376,20 +376,20 @@ jobs:
           build/gyp_crashpad.py -Dmac_deployment_target=10.10
           ninja -C out/Debug
 
-      - name: Qt 5.12.5 cache.
+      - name: Qt 5.12.8 cache.
         id: cache-qt
         uses: actions/cache@v1
         with:
           path: ${{ env.LibrariesPath }}/qt-cache
-          key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_5.diff') }}
-      - name: Use cached Qt 5.12.5.
+          key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_8.diff') }}
+      - name: Use cached Qt 5.12.8.
         if: steps.cache-qt.outputs.cache-hit == 'true'
         run: |
           cd $LibrariesPath
-          mv qt-cache Qt-5.12.5
+          mv qt-cache Qt-5.12.8
           sudo mkdir -p $QT_PREFIX
-          sudo mv -f Qt-5.12.5 "$(dirname "$QT_PREFIX")"/
-      - name: Qt 5.12.5 build.
+          sudo mv -f Qt-5.12.8 "$(dirname "$QT_PREFIX")"/
+      - name: Qt 5.12.8 build.
         if: steps.cache-qt.outputs.cache-hit != 'true'
         run: |
           cd $LibrariesPath
@@ -397,7 +397,7 @@ jobs:
           git clone git://code.qt.io/qt/qt5.git qt$QT
           cd qt$QT
           perl init-repository --module-subset=qtbase,qtimageformats
-          git checkout v5.12.5
+          git checkout v5.12.8
           git submodule update qtbase
           git submodule update qtimageformats
           cd qtbase
diff --git a/.github/workflows/win.yml b/.github/workflows/win.yml
index dbb359a1e..d7042de6e 100644
--- a/.github/workflows/win.yml
+++ b/.github/workflows/win.yml
@@ -24,7 +24,7 @@ jobs:
       SDK: "10.0.18362.0"
       VC: "call vcvars32.bat && cd Libraries"
       GIT: "https://github.com"
-      QT: "5_12_5"
+      QT: "5_12_8"
       OPENSSL_VER: "1_1_1"
       UPLOAD_ARTIFACT: "false"
       ONLY_CACHE: "false"
@@ -263,13 +263,13 @@ jobs:
 
           rmdir /S /Q .git
 
-      - name: Qt 5.12.5 cache.
+      - name: Qt 5.12.8 cache.
         id: cache-qt
         uses: actions/cache@v1
         with:
-          path: ${{ env.LibrariesPath }}/Qt-5.12.5
-          key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_5.diff') }}
-      - name: Configure Qt 5.12.5.
+          path: ${{ env.LibrariesPath }}/Qt-5.12.8
+          key: ${{ runner.OS }}-qt-${{ env.CACHE_KEY }}-${{ hashFiles('**/qtbase_5_12_8.diff') }}
+      - name: Configure Qt 5.12.8.
         if: steps.cache-qt.outputs.cache-hit != 'true'
         shell: cmd
         run: |
@@ -278,7 +278,7 @@ jobs:
           git clone git://code.qt.io/qt/qt5.git qt_%QT%
           cd qt_%QT%
           perl init-repository --module-subset=qtbase,qtimageformats
-          git checkout v5.12.5
+          git checkout v5.12.8
           git submodule update qtbase
           git submodule update qtimageformats
           cd qtbase
@@ -289,7 +289,7 @@ jobs:
           SET LIBS=libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib
 
           configure ^
-          -prefix "%LibrariesPath%\Qt-5.12.5" ^
+          -prefix "%LibrariesPath%\Qt-5.12.8" ^
           -debug ^
           -force-debug-info ^
           -opensource ^
@@ -304,7 +304,7 @@ jobs:
           -nomake examples ^
           -nomake tests ^
           -platform win32-msvc
-      - name: Qt 5.12.5 build.
+      - name: Qt 5.12.8 build.
         if: steps.cache-qt.outputs.cache-hit != 'true'
         shell: cmd
         run: |
diff --git a/README.md b/README.md
index fdad0be2b..72344ffea 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
 
 ## Third-party
 
-* Qt 5.12.5 and 5.6.2, slightly patched ([LGPL](http://doc.qt.io/qt-5/lgpl.html))
+* Qt 5.12.8 and 5.6.2, slightly patched ([LGPL](http://doc.qt.io/qt-5/lgpl.html))
 * OpenSSL 1.1.1 ([OpenSSL License](https://www.openssl.org/source/license.html))
 * 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))
diff --git a/Telegram/lib_base b/Telegram/lib_base
index 0ce28e94b..eedb8afcf 160000
--- a/Telegram/lib_base
+++ b/Telegram/lib_base
@@ -1 +1 @@
-Subproject commit 0ce28e94b29c34eb9f3b271b4b3252b37c02ef12
+Subproject commit eedb8afcf5f1709f3e02db9b06b977bb57aca182
diff --git a/Telegram/lib_rpl b/Telegram/lib_rpl
index 9f3bb0e2a..df918b9d3 160000
--- a/Telegram/lib_rpl
+++ b/Telegram/lib_rpl
@@ -1 +1 @@
-Subproject commit 9f3bb0e2a97f9f31b4f2e5d655ad0395c4249e1c
+Subproject commit df918b9d3e2cce729cf21de5c69a01a847e7107c
diff --git a/cmake b/cmake
index b4ea62dfd..4a8061d2b 160000
--- a/cmake
+++ b/cmake
@@ -1 +1 @@
-Subproject commit b4ea62dfda376354aaae1482441a21ee06348580
+Subproject commit 4a8061d2b04c59cf1665c96cf0ca659690a15715
diff --git a/docs/building-cmake.md b/docs/building-cmake.md
index f8b0e78a9..92208b271 100644
--- a/docs/building-cmake.md
+++ b/docs/building-cmake.md
@@ -54,7 +54,7 @@ Go to ***BuildPath*** and run
 
     git clone https://github.com/desktop-app/patches.git
     cd patches
-    git checkout 395b620
+    git checkout 10aeaf6
     cd ../
     git clone --branch 0.10.0 https://github.com/ericniebler/range-v3
 
@@ -235,16 +235,16 @@ Go to ***BuildPath*** and run
     sudo make install
     cd ..
 
-    git clone git://code.qt.io/qt/qt5.git qt_5_12_5
-    cd qt_5_12_5
+    git clone git://code.qt.io/qt/qt5.git qt_5_12_8
+    cd qt_5_12_8
     perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg
-    git checkout v5.12.5
+    git checkout v5.12.8
     git submodule update qtbase
     git submodule update qtwayland
     git submodule update qtimageformats
     git submodule update qtsvg
     cd qtbase
-    git apply ../../patches/qtbase_5_12_5.diff
+    git apply ../../patches/qtbase_5_12_8.diff
     cd src/plugins/platforminputcontexts
     git clone https://github.com/desktop-app/fcitx.git
     git clone https://github.com/desktop-app/hime.git
@@ -252,7 +252,7 @@ Go to ***BuildPath*** and run
     cd ../../../..
 
     OPENSSL_DIR=/usr/local/desktop-app/openssl-1.1.1
-    ./configure -prefix "/usr/local/desktop-app/Qt-5.12.5" \
+    ./configure -prefix "/usr/local/desktop-app/Qt-5.12.8" \
     -release \
     -force-debug-info \
     -opensource \
diff --git a/docs/building-msvc.md b/docs/building-msvc.md
index 60b47713f..e0d3ac029 100644
--- a/docs/building-msvc.md
+++ b/docs/building-msvc.md
@@ -32,7 +32,7 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
     cd ThirdParty
     git clone https://github.com/desktop-app/patches.git
     cd patches
-    git checkout 395b620
+    git checkout 10aeaf6
     cd ../
     git clone https://chromium.googlesource.com/external/gyp
     cd gyp
@@ -64,7 +64,7 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
 
     git clone https://github.com/desktop-app/patches.git
     cd patches
-    git checkout 395b620
+    git checkout 10aeaf6
     cd ..
     git clone --branch 0.10.0 https://github.com/ericniebler/range-v3 range-v3
 
@@ -148,17 +148,17 @@ Open **x86 Native Tools Command Prompt for VS 2019.bat**, go to ***BuildPath***
     SET PATH=%PATH_BACKUP_%
     cd ..
 
-    git clone git://code.qt.io/qt/qt5.git qt_5_12_5
-    cd qt_5_12_5
+    git clone git://code.qt.io/qt/qt5.git qt_5_12_8
+    cd qt_5_12_8
     perl init-repository --module-subset=qtbase,qtimageformats
-    git checkout v5.12.5
+    git checkout v5.12.8
     git submodule update qtbase
     git submodule update qtimageformats
     cd qtbase
-    git apply ../../patches/qtbase_5_12_5.diff
+    git apply ../../patches/qtbase_5_12_8.diff
     cd ..
 
-    configure -prefix "%LibrariesPath%\Qt-5.12.5" -debug-and-release -force-debug-info -opensource -confirm-license -static -static-runtime -I "%LibrariesPath%\openssl_1_1_1\include" -no-opengl -openssl-linked OPENSSL_LIBS_DEBUG="%LibrariesPath%\openssl_1_1_1\out32.dbg\libssl.lib %LibrariesPath%\openssl_1_1_1\out32.dbg\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" OPENSSL_LIBS_RELEASE="%LibrariesPath%\openssl_1_1_1\out32\libssl.lib %LibrariesPath%\openssl_1_1_1\out32\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" -mp -nomake examples -nomake tests -platform win32-msvc
+    configure -prefix "%LibrariesPath%\Qt-5.12.8" -debug-and-release -force-debug-info -opensource -confirm-license -static -static-runtime -I "%LibrariesPath%\openssl_1_1_1\include" -no-opengl -openssl-linked OPENSSL_LIBS_DEBUG="%LibrariesPath%\openssl_1_1_1\out32.dbg\libssl.lib %LibrariesPath%\openssl_1_1_1\out32.dbg\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" OPENSSL_LIBS_RELEASE="%LibrariesPath%\openssl_1_1_1\out32\libssl.lib %LibrariesPath%\openssl_1_1_1\out32\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" -mp -nomake examples -nomake tests -platform win32-msvc
 
     jom -j4
     jom -j4 install
diff --git a/docs/building-xcode.md b/docs/building-xcode.md
index fba6b3064..5951d45a2 100644
--- a/docs/building-xcode.md
+++ b/docs/building-xcode.md
@@ -29,7 +29,7 @@ Go to ***BuildPath*** and run
 
     git clone https://github.com/desktop-app/patches.git
     cd patches
-    git checkout 4f1cffb
+    git checkout 10aeaf6
     cd ../
     git clone https://chromium.googlesource.com/external/gyp
     git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
@@ -47,7 +47,7 @@ Go to ***BuildPath*** and run
 
     git clone https://github.com/desktop-app/patches.git
     cd patches
-    git checkout 4f1cffb
+    git checkout 10aeaf6
     cd ..
     git clone --branch 0.10.0 https://github.com/ericniebler/range-v3
 
@@ -235,18 +235,17 @@ Go to ***BuildPath*** and run
     ninja -C out/Release
     cd ..
 
-    git clone git://code.qt.io/qt/qt5.git qt5_12_5
-    cd qt5_12_5
+    git clone git://code.qt.io/qt/qt5.git qt5_12_8
+    cd qt5_12_8
     perl init-repository --module-subset=qtbase,qtimageformats
-    git checkout v5.12.5
+    git checkout v5.12.8
     git submodule update qtbase
     git submodule update qtimageformats
     cd qtbase
-    git cherry-pick 7ac4e55
-    git apply ../../patches/qtbase_5_12_5.diff
+    git apply ../../patches/qtbase_5_12_8.diff
     cd ..
 
-    ./configure -prefix "/usr/local/desktop-app/Qt-5.12.5" \
+    ./configure -prefix "/usr/local/desktop-app/Qt-5.12.8" \
     -debug-and-release \
     -force-debug-info \
     -opensource \