Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
252 commits
Select commit Hold shift + click to select a range
45c0e66
[TF][JNI][UPDATE] libwebp 1.2.0 with security fix
thermatk Nov 7, 2020
cc75a55
[TF][JNI][UPDATE] BoringSSL from source (master)
thermatk Apr 13, 2024
124ab59
[TF][JNI] libvpx (v1.15.2)
thermatk Apr 13, 2024
4a2e315
[TF][JNI][KILL] libvpx binaries
thermatk Feb 8, 2022
fc0228f
[TF][JNI] libvpx path
thermatk Feb 8, 2022
9820181
[TF][JNI][UPDATE] FFmpeg 4.4.6 from source
thermatk Apr 13, 2024
cab0037
[TF][JNI][FIX] ffmpeg header included and patched
thermatk Mar 28, 2022
c66c48d
[TF][JNI][FIX] ffmpeg include path
thermatk Aug 4, 2021
6bd6b6a
[TF][FEATURE] Support installing APKs
thermatk Feb 9, 2019
881ceb7
[TF][KILL] Google Vision
thermatk Mar 28, 2022
9031e8a
[TF][KILL] Google Wallet and Android Pay
thermatk Jan 25, 2019
39096f9
[TF][KILL] remaining GMS(GCM, Wear, etc), except for Maps
thermatk Jan 25, 2019
3bbc60c
[TF][CENSOR] PWN RKN without Firebase
thermatk Jan 25, 2019
af0b3c3
[TF][MAPS] force Telegram's static map previews
thermatk Jan 26, 2019
9c75e8b
[TF][PUSH] push service adjustments
thermatk Jan 26, 2019
2b52f76
[TF][PUSH] notification in foregroung on Oreo+
thermatk Jul 21, 2019
73b1182
[TF][PUSH] remove one of the confusing toggles
thermatk Mar 9, 2019
4069329
[TF][KILL] remove fusedlocationprovider
thermatk Oct 13, 2020
fb00e7d
[TF][KILL] GMS SMS Receiver
thermatk Sep 15, 2019
23810a1
[TF][KILL] Google Voice
thermatk Jan 4, 2020
88fa865
[TF][FIX] missing viewpager dependency
thermatk Jan 11, 2020
19950a5
[TF][PUSH] default is true
thermatk Jan 12, 2020
1943701
[TF][PUSH] Enable push in migration case
thermatk Jan 25, 2020
da9fa83
[TF][FEATURE] no restrictions
thermatk Apr 19, 2021
9f59549
[TF][FIX] the inverse color QR code scanned without vision
nekohasekai Jun 26, 2021
7e12e14
[TF][KILL] Google Translate without MLKit
thermatk Sep 17, 2023
876ef56
[TF][FEATURE] QR login always on
thermatk Jan 26, 2022
de04b94
[TF][KILL] Huawei
thermatk Mar 3, 2024
124b664
[TF] clean app gradle
thermatk Aug 28, 2022
217310d
[TF][KILL] Android Billing
thermatk Jan 21, 2024
9688c18
[TF][KILL] Google Login
thermatk Oct 2, 2022
ced2689
[TF][KILL] leftovers of GMS in manifests
thermatk Mar 30, 2023
dfcb995
[TF][MAPS] replace Google Maps with OSMDroid
thermatk Mar 10, 2024
bf42c47
[TF][MAPS] OSMDroid useragent and cache directory configuration
thermatk Sep 4, 2022
1c079c8
[TF][MAPS] support geo: intents
thermatk Aug 6, 2023
0a944e0
[TF][Fix] crash on Android S+
tehcneko Dec 4, 2022
788b856
[TF][KILL] more Google Vision
thermatk Mar 10, 2024
97fff1b
[TF][KILL] kill SafetyNet login
thermatk Nov 12, 2023
21ec2ae
[TF][Fix] remove useless Fragment import
thermatk Sep 18, 2023
1fa61d5
[TF] gradle 7.2
thermatk Oct 16, 2023
c541797
[TF] revert boringssl for compat with openssl v1.0
thermatk Apr 21, 2024
7a18e56
[TF] kill more billing
thermatk Jul 7, 2024
b4d4137
[TF] kill more mlkit
thermatk May 18, 2024
c56cee9
[TF] kill SafetyNet
thermatk Jul 7, 2024
9382487
Github CI.
23rd Feb 3, 2019
017c8b4
Added new Forkgram icons.
23rd Oct 16, 2018
f00c8e0
Replaced launcher icons with Forkgram icons.
23rd Jun 23, 2022
fea2850
Replaced default app icon with Forkgram icon.
23rd Jun 23, 2022
f15c5d8
"Delete for everyone" enabled by default.
23rd May 14, 2019
5aac12e
Hided personal information in side bar.
23rd Oct 16, 2018
6a37ba6
Replaced string 'Connecting to proxy' to '...'.
23rd Oct 16, 2018
d53fc3a
Added Fork client section and BottomDialogs string resource.
23rd Apr 7, 2026
57cddf6
Changed AppName in all strings.xml.
23rd Oct 17, 2018
5a5c799
Changed application ID.
23rd Oct 17, 2018
ed3e8f1
Changed notification icon.
23rd Oct 17, 2018
cc695a1
Added showing date of forwarded message in title.
23rd Oct 19, 2018
1981f4e
Changed book_logo icon.
23rd Oct 20, 2018
40debad
Moved 'Call' item from top to bottom of dialog menu.
23rd Apr 7, 2026
15c90ec
Added item in dialog menu to hide title and avatar in dialog.
23rd Oct 27, 2018
94e1cff
Owner only. Added auto inserting dot to the end of message.
23rd Nov 11, 2018
c0134d2
Added auto sending message before send sticker.
23rd Nov 11, 2018
1e2ee49
Added Anonymous Forward to context menu.
23rd Nov 14, 2018
d0001c7
Added Color Picker button in Photo Editor.
23rd Nov 11, 2018
af2d275
Changed color of notification icon.
23rd Dec 15, 2018
a05b469
Added new Fork Settings section.
23rd Apr 7, 2026
dd190d3
Added new option to enable square avatars.
23rd Sep 18, 2023
3c583f9
Added option to disable sending sticker info in photos.
23rd Feb 3, 2019
672fb78
Added setting to raise all unmuted messages above muted messages.
23rd Feb 3, 2019
36f8c6f
Added auto inserting caption to cloud GIF if EditField has text.
23rd Feb 3, 2019
83c5cde
Show full number of subscribers.
23rd Feb 3, 2019
9521e38
Added 'Go to First Message' item to dialog context menu.
23rd Feb 8, 2019
727a8d5
Added Share Button to messages with media in dialogs with users.
23rd Feb 8, 2019
dad9f44
Fixed wrong anonymous forwarding of messages with replies.
23rd Mar 25, 2019
29e0544
Added full implementation of Fast Forward.
23rd May 17, 2019
c20d42e
Added setting to set default camera for Video Messages.
23rd Mar 25, 2019
e4f9463
Added setting to turn off sync pins to make unlimited number of pins.
23rd Apr 7, 2026
e596b84
Added a lot of self-destruct timer's options in secret chats.
23rd May 26, 2019
44d6c48
Updated README.md.
23rd Jun 4, 2019
51327eb
Added ability to see profile info from dialogs list via context menu.
23rd Jul 31, 2019
52c71d3
Disabled unread count hiding when select multiple dialogs.
23rd Jul 31, 2019
e1c5ec7
Added ability to copy url from inline button.
23rd Aug 22, 2019
e35c5a6
Added ability to open calendar from long click of on floating date.
23rd Aug 22, 2019
dc0f62b
Added settings to replace original Forward with Fast Forward.
23rd Sep 5, 2019
9dc4dae
Added ability to select all messages between 2 selections from bar.
23rd Sep 5, 2019
e0ff1ec
Added hideSensitiveData utilities and made proxy text conditional.
23rd Apr 7, 2026
bb4ea6c
Added setting to hide or show personal information.
23rd Apr 7, 2026
3113181
Added ability to copy ID of dialogs.
23rd Sep 5, 2019
524942a
Added ability to copy Username without long touch.
23rd Sep 6, 2019
693cf02
Refactored ForkSettingsActivity to use dynamic sections and rows.
23rd Apr 7, 2026
771918a
Added ability to use system camera for photos.
23rd Apr 7, 2026
94223df
Added ability to mention users by name.
23rd Oct 8, 2019
5c15add
Added ability to hide bottom button.
23rd Nov 12, 2019
540b257
Removed white background for recording of round video messages.
23rd Jul 10, 2022
adcd92e
Added ability to open archive on pulldown.
23rd Jan 6, 2020
11d225b
Forced enabled PiP for Youtube videos.
23rd Jan 12, 2020
a4228f6
Added Kotlin.
23rd Apr 19, 2020
d963fa9
Updated README with new features
RememberTheAir Jan 20, 2020
b6b2cd5
Added ability to change size of stickers.
satouriko Jan 16, 2020
d06f1fa
Added setting to disable flip through photos by tapping on their edge.
23rd Feb 15, 2020
6714cdf
Added missed dependency interpolator.
23rd Mar 30, 2020
f8dcdeb
Added own implementation of auto updater via Github Releases.
23rd Apr 19, 2020
b2d9fac
Added new button to settings to check updates.
23rd Apr 27, 2026
d7ea078
Moved editing of phone, username, bio in long-tap-dots-menu in profile.
23rd Apr 25, 2020
cecc9b3
Swaped Delete and Mark as read items in Dialog Menu.
23rd May 16, 2020
3406a96
Added days of week to schedule time picker.
23rd May 17, 2020
1b5ea06
Added option to enable time format with seconds.
23rd Jul 20, 2020
d50b53b
Added option to disable thumbs in dialog list.
23rd Jul 20, 2020
1e83daf
Slightly redesigned Fork settings.
23rd Jul 22, 2020
7ce0c06
Added option to show full list of recent stickers.
23rd Sep 15, 2020
31e9730
Added ability to copy links without protocol.
23rd Sep 15, 2020
16c2363
Added option to show notifications content when application is locked.
23rd Nov 15, 2020
01b320e
Returned missed items to main menu for secret chats and channels.
23rd Dec 27, 2020
88c4479
Added ability to seek voice messages from player alert.
23rd Feb 7, 2021
68b8722
Added ability to fast forward media from webpage.
23rd Apr 17, 2021
32bcb00
Added ability to attach text to voice message before sending it.
23rd Feb 26, 2021
0d255f4
Added duration info in Shared Voices tab.
23rd Aug 6, 2021
d0ab5f4
Switched to Release.
23rd Jul 20, 2021
9f7684c
Added uploading to channel to Github CI.
23rd Sep 13, 2024
c56f610
Slightly improved build.gradle.
23rd Nov 4, 2021
37b91fc
Added ability to delete all your messages in group.
23rd Nov 11, 2021
bd0fad9
Added Forkgram icon to list of devices.
23rd Dec 8, 2021
0cb5006
Added option to hide "Send As" button.
23rd Dec 27, 2021
537a7ce
Added ability to set custom title of main view.
23rd Dec 29, 2021
7eb4d33
Replaced Google translate with DuckDuckGo.
23rd Dec 30, 2021
9b94e18
Added option to disable Global Search.
23rd Jan 9, 2022
9f629ba
Explicitly excluded x86 arch.
23rd Feb 2, 2022
eb8e845
Disabled DNS resolving for special builds.
23rd Feb 19, 2022
d488cfc
Disabled sending message when key Shift is pressed.
23rd Jun 20, 2022
90e7299
Added buttons for backward and forward steps to audio player.
23rd Jul 13, 2022
4cfc872
Fixed limits for uploading files.
23rd Nov 5, 2022
1a3874e
Added new option to disable quick reaction with double tap.
23rd Nov 5, 2022
8eb8ae0
Fixed Sub Item Overalay of Right Icon
Laky-64 Nov 10, 2022
c97eb6c
Fixed build.
23rd Nov 23, 2022
be84f12
Disabled "Sync Contacts" by default in Login activity.
23rd Nov 24, 2022
2ba982e
Added option to hide animated locked emoji from emoji panel.
23rd Dec 6, 2022
5dab5b3
Added experimental additional online statuses.
23rd Apr 5, 2020
c110c5f
Added option to disable parameters from bot links.
23rd Feb 3, 2023
69ee499
Added option to lock premium features.
23rd Feb 3, 2023
f53136d
Added ability to hide dialogs hint cell.
23rd Aug 7, 2023
9614a6b
Temporary fixed crash on creation new secret chat from main menu.
23rd Aug 16, 2023
f0cb33d
Added ability to reset item angle in PaintView.
23rd Sep 14, 2023
d5796be
Added experimental option to delete all unpinned messages in chat.
23rd Sep 18, 2023
38e8188
Removed useless "New message" floating button.
23rd Sep 18, 2023
54cb267
Do not compress videos
megapro17 Dec 5, 2023
ae9a009
Removed debug button from settings.
23rd Mar 11, 2024
37a096d
Fixed build.
23rd May 2, 2024
41f1e4f
Attempted to remove Android Billing.
23rd Jun 3, 2024
f2f4ba0
Attempted to return DnsTxtLoadTask.
23rd Jun 3, 2024
c582218
Added extra padding for message menu for android with system buttons.
23rd Jun 28, 2024
cad095f
Added an experimental option to disable constant status online updates.
23rd Jul 5, 2024
c000d81
add option to disable slide to next channel
rhjdvsgsgks Aug 12, 2024
b7441b9
Added new option to disable recent files from attachment alert.
23rd Aug 14, 2024
56322a3
Switched JavaVersion.VERSION_1_8 to JavaVersion.VERSION_17.
23rd Sep 12, 2024
706b5a6
Added translations.
23rd Sep 12, 2024
f2d2910
Attempted to fix StringConcatFactory.
23rd Sep 12, 2024
53d65a0
Attempted to fix crash on U+.
23rd Sep 13, 2024
6a48f1b
Added dav1d (1.5.3) submodule.
23rd Nov 21, 2024
63709ae
Adjusted dav1d script for linux.
23rd Nov 21, 2024
3b108c3
Attempted to fix application name and icon for f-droid releases.
23rd Jan 15, 2025
f1aedb4
Added webview bots options.
23rd Jan 26, 2025
4c3f57e
Attempted to remove Google Barcode.
23rd Jan 27, 2025
e84d179
Attempted to remove Google Recaptcha.
23rd Mar 11, 2025
4b3a1e6
Attempted to remove Chromecast.
23rd Mar 11, 2025
195e71b
Attempted to remove integrity.
23rd Mar 11, 2025
abb15f6
Added ability to open Saved Messages on long click on search top button.
23rd Feb 15, 2026
8ab6921
Added option to open links in system browser by default.
23rd Mar 18, 2025
bfe6cd6
Removed gift button from input message field.
23rd Mar 18, 2025
7a7e2c1
Fixed warning.
23rd May 1, 2025
8cf5a6a
Removed precompiled tde2e libs.
23rd May 1, 2025
dee0144
Added tdlib submodule.
23rd May 1, 2025
8daaf28
Cherry-picked fixes to evdns.
23rd May 6, 2025
223f59a
Monet themes PR by @Golbinex (#307) (#375)
Golbinex Jun 4, 2025
a441b82
UnifiedPush support PR by @Golbinex (#306) (#375)
Golbinex Jun 4, 2025
273113e
fix invalid path to AndroidManifest*.xml files in TMessagesProj_App/b…
saintech Jun 17, 2025
9104048
Added correspond application name for fdroid build.
23rd Jun 29, 2025
8f08669
Added warning about limitation of SMS verification.
23rd Jun 29, 2025
89b5953
Fixed build.
23rd Sep 1, 2025
3b60a6f
Added integration of last.fm.
23rd Sep 19, 2025
5aa5d61
Reduced long-click time to context menu appearing from sticker preview.
23rd Sep 20, 2025
c8f827e
Added option to delete all user messages in all forum topics at once.
23rd Sep 20, 2025
27a3ac1
Add option for last seen dots
derivativeoflog7 Apr 17, 2024
4e2b0fa
Document colored dots
derivativeoflog7 Apr 17, 2024
1e293bd
Added new option to hide archived stories.
23rd Nov 7, 2025
b458edc
Update full_description.txt
Korb Oct 21, 2025
06d6766
Create ru/short_description.txt
Korb Oct 22, 2025
4dcfde0
Disabled new passkeys.
23rd Dec 20, 2025
f3909f6
Added option to disable trigger video by volume change.
23rd Dec 20, 2025
e28e4bd
Added option for interval of updates check.
23rd Dec 20, 2025
2c19c0b
Added offline status timer after MarkAsRead notification action.
23rd Dec 20, 2025
21af6cc
Replaced frequent contacts with logged in accounts in App Shortcuts.
23rd Dec 20, 2025
b0ab6a5
Add building instructions for Debian 13
Golbinex Jan 10, 2026
f2fda72
Update strings.xml
leonardo834 Jan 18, 2026
b9bc616
Update UnifiedPush and switch to PushService
kitterion Jan 17, 2026
7f7e64f
Fixed build.
23rd Feb 15, 2026
d3c31ae
Removed phone number from settings.
23rd Feb 15, 2026
bb9a383
Fix default value of "Open links in system browser" option in F-Droid…
Golbinex Feb 5, 2026
f4725a8
Fix web links sharing
optimumpr Mar 18, 2026
271394d
Expanded maximum cache size slider with more granular options.
23rd Mar 26, 2026
6333bbb
Added initial dockerfile.
23rd Apr 6, 2026
625f669
Added initial script for remote builds.
23rd Apr 6, 2026
a7b27e1
Added simple json settings for VSCode.
23rd Apr 6, 2026
8f45e7b
Added Github CI for docker images.
23rd Apr 6, 2026
49e063e
Added ability to jump to message on long-press on audio-bar.
23rd Apr 6, 2026
7d875f6
Increased limit for account count.
23rd Apr 6, 2026
d592b53
Added experimental ability to copy private message link.
23rd Apr 6, 2026
2269e8d
Added square-crop to photo editor.
23rd Apr 6, 2026
8926aef
Added option to change bitrate for voice message recording.
23rd Apr 6, 2026
fd05a07
Added ability to login with QR.
23rd Apr 6, 2026
13a0147
Added option to disable AI editor.
23rd Apr 6, 2026
ac27a3c
Added hint about long-press gestures.
23rd Apr 6, 2026
127ee81
Fixed memory leak and redundant JNI attach in video decoding.
23rd Apr 7, 2026
b7b13ac
Cached online status and color computation outside of DialogCell draw.
23rd Apr 22, 2026
a69e5d3
Deduplicated chat queries.
23rd Apr 22, 2026
adac723
Reduced excessive logging dismissDate in showExtraNotifications().
23rd Apr 22, 2026
32b8738
Removed VIEW_TYPE_NEW_CHAT_HINT with its infinite invalidation loop.
23rd Apr 22, 2026
1cb164c
Batched typing status invalidation and reduced waiting state redraws.
23rd Apr 22, 2026
c690901
Stopped HintView2 flicker animation on hide and detach from window.
23rd Apr 22, 2026
3d0c37a
Lazily initialized BoolAnimator for poll votes mention in DialogCell.
23rd Apr 22, 2026
2b9b616
Added [artifacts-only] commit marker to skip upload.
23rd Apr 22, 2026
2b790f2
Skipped inactive accounts in network connectivity broadcast receiver.
23rd Apr 24, 2026
ce15a59
Skipped inactive accounts during ApplicationLoader startup init loop.
23rd Apr 24, 2026
2155f11
Skipped inactive accounts in ContactsController and DownloadControlle…
23rd Apr 24, 2026
b16fdc8
Skipped inactive accounts in RestrictedLanguagesSelectActivity transl…
23rd Apr 24, 2026
be7d199
Cleaned up unused per-account directories left over from old versions.
23rd Apr 24, 2026
2b5f3f4
Reduced push service watchdog alarm from 60s to 15 minutes.
23rd Apr 24, 2026
dbd2a6a
Changed NotificationsService foreground type from dataSync to special…
23rd Apr 24, 2026
1f24d56
Disabled push watchdog when a UnifiedPush distributor is registered.
23rd Apr 24, 2026
267532a
Replaced direct invalidate with needInvalidate in DialogCell spoiler …
23rd Apr 26, 2026
c2cddea
Added early-exit to blur3_InvalidateBlur when blur and liquid glass off.
23rd Apr 26, 2026
846b451
Gated updateBlurContent in onScrolled on blur or liquid glass enabled.
23rd Apr 26, 2026
282517e
Replaced visible-position child iteration with findFirstVisibleItemPo…
23rd Apr 26, 2026
2b2513f
Removed dead applyScrollY block and redundant blur3 call in onScrolled.
23rd Apr 26, 2026
0433fcb
Removed Dump Canvas debug menu entries.
23rd Apr 26, 2026
bd5a725
Added forkTest product flavor for arm64-v8a debug builds.
23rd Apr 26, 2026
3d5f174
Dropped auto-generated Screenshot caption from system share intent.
23rd Apr 26, 2026
a4f1961
Restored Telegram locale in FingerprintController instead of system one.
23rd Apr 26, 2026
667cfd6
Pinned non-cloud string lookups to currentLocale.
23rd Apr 26, 2026
8ae5b67
Kept reply quote intact when sending a recorded voice message.
23rd Apr 27, 2026
f373023
Connected Telegram-channel fork updates to UpdateAppAlertDialog popup.
23rd Apr 27, 2026
9b688b2
Skipped SharedPreferences load for never-used accounts during app sta…
23rd Apr 27, 2026
66df10e
Skipped inactive accounts in different places.
23rd Apr 27, 2026
4298096
Skipped FileLoader delegate setup for inactive accounts at ImageLoade…
23rd Apr 27, 2026
bc3525c
Bumped account-dir cleanup flag to rerun after refined startup gating.
23rd Apr 27, 2026
09d80af
Skipped uninstantiated DownloadControllers in MediaController.cleanup…
23rd Apr 27, 2026
00b8a80
Forced profile info section into one card to fix open-animation flicker.
23rd Apr 27, 2026
90db465
Set up FileLoader delegate for non-zero active accounts at app startup.
23rd Apr 29, 2026
8c5d147
Added hidden accounts and stealth mode.
the-nexi Apr 17, 2026
ae2361a
Bumped version.
23rd Apr 22, 2026
3027d9a
Added Cloudflare STT integration for voice message transcription. (#442)
7heMech May 6, 2026
6ffa86d
Use MIXED_CONTENT_COMPATIBILITY_MODE in WebView setup
jim-daf May 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
48 changes: 48 additions & 0 deletions .github/workflows/docker-builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Build & Push Docker Builder Image

on:
push:
paths:
- 'docker/Dockerfile'
- '.github/workflows/docker-builder.yml'
branches:
- dev
schedule:
# First Sunday of each month at 03:00 UTC
- cron: '0 3 1-7 * 0'
workflow_dispatch:

env:
REGISTRY: ghcr.io

jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Lowercase image name
id: lower
run: echo "image_name=$(echo '${{ github.repository }}/forkgram-builder' | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"

- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v6
with:
context: docker
file: docker/Dockerfile
push: true
tags: |
${{ env.REGISTRY }}/${{ steps.lower.outputs.image_name }}:latest
${{ env.REGISTRY }}/${{ steps.lower.outputs.image_name }}:${{ github.sha }}
118 changes: 118 additions & 0 deletions .github/workflows/fd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
name: Fd

on:
release:
types: released

jobs:
linux:
name: Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
with:
submodules: true

- uses: robinraju/release-downloader@v1.3
with:
repository: ${{ github.repository }}
latest: true
fileName: "*"

- name: Process.
env:
ADDITIONAL_BUILD: ${{ secrets.ADDITIONAL_BUILD_NUMBER }}
run: |
mkdir -p ~/.ssh/
install -m 600 /dev/null ~/.ssh/id_rsa
echo "${{ secrets.FD_SSH_PRIVATE }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa


fileApk=$(find -iname "*.apk")
echo "$fileApk"
fileAapt2=$(ls $ANDROID_SDK_ROOT/build-tools/**/aapt2 | tail -1)
echo "$fileAapt2"
$fileAapt2 dump badging $fileApk > output.txt

versionCode=`grep versionCode output.txt | sed "s/versionCode/#/g" | cut -d'#' -f 2 | cut -d"'" -f 2`
versionName=`grep versionName output.txt | sed "s/versionName/#/g" | cut -d'#' -f 2 | cut -d"'" -f 2`

echo "Found versionName ${versionName}."
echo "Found versionCode ${versionCode}."


echo "Host *" > ~/.ssh/config
echo "StrictHostKeyChecking no" >> ~/.ssh/config
echo "UserKnownHostsFile=/dev/null" >> ~/.ssh/config


git config --global user.email "${{ secrets.FD_GIT_EMAIL }}"
git config --global user.name "${{ secrets.FD_GIT_NAME }}"

git clone git@gitlab.com:fdroid/fdroiddata.git r
cd r
git remote add fork ${{ secrets.FD_SSH_URL }}
git branch update
git checkout update


file=`find . | grep forkgram`

cp `find .. -iname "fd_part.txt"` part.txt
cp `find .. -iname "fd_end.txt"` end.txt

function addPart() {
abiCode=$1

countLines=`wc -l end.txt | cut -d' ' -f 1`
for dummy in `seq 1 $countLines`
do
sed -i '$ d' $file
done

echo "`cat part.txt`" >> $file
echo "" >> $file
echo "`cat end.txt`" >> $file

ADDITIONAL_BUILD_NUMBER=$((ADDITIONAL_BUILD / 10000))

versionCodeWithoutAbi=`echo ${versionCode%?}`

sed -i "s/V_NAME/${versionName}/g" $file
sed -i "s/V_CODE/${versionCodeWithoutAbi}${abiCode}/g" $file
sed -i "s/V_NUM/${ADDITIONAL_BUILD_NUMBER}/g" $file
sed -i "s/V_AFAT/afatFd_v${abiCode}a/g" $file
}

addPart 7
addPart 8


git add $file
git commit -m "Updated Forkgram to ${versionName}."

git push --force --set-upstream fork update

echo "VERSION_CODE=${versionCode}" >> $GITHUB_ENV

- uses: actions/github-script@v6.3.3
env:
RELEASE_ID: ${{ github.event.release.id }}
with:
script: |
const { RELEASE_ID } = process.env;
const { VERSION_CODE } = process.env;
const release = await github.rest.repos.getRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: `${RELEASE_ID}`,
});
let desc = release.data.body;

github.rest.repos.updateRelease({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: `${RELEASE_ID}`,
body: desc + "\nVersion code: " + `\`${VERSION_CODE}\`` + "."
});
148 changes: 148 additions & 0 deletions .github/workflows/tandroid.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
name: Fork Client

on: [push]

jobs:
linux:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
type: [debug, release]
include:
- type: debug
afat: assembleAfatDebug
name: ""
updates: 1
- type: release
afat: assembleAfatRelease
name: " compressed"
updates: 1
steps:
- uses: actions/checkout@v3.1.0
with:
submodules: true
- name: Free up some disk space.
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
with:
tool-cache: false
android: false
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- uses: nttld/setup-ndk@v1.4.2
id: setup-ndk-r21e
with:
ndk-version: r21e
link-to-sdk: true

- uses: nttld/setup-ndk@v1.4.2
id: setup-ndk-r23c
with:
ndk-version: r23c
link-to-sdk: true
- name: Prepare additional build number.
env:
ADDITIONAL_BUILD: ${{ secrets.ADDITIONAL_BUILD_NUMBER }}
run: |
result=$((ADDITIONAL_BUILD / 10000))
echo "ADDITIONAL_BUILD_NUMBER = $result should be between 0 and 10!"
echo "ADDITIONAL_BUILD_NUMBER=$result" >> $GITHUB_ENV
echo "USER_REPO=$GITHUB_REPOSITORY" >> $GITHUB_ENV
echo "CHECK_UPDATES=${{ matrix.updates }}" >> $GITHUB_ENV
- name: Build.
run: |
###
vars=gradle.properties

echo "DUMMY_CONST=0" >> $vars
echo "org.gradle.workers.max=1" >> $vars
echo "APP_ID=${{ secrets.APP_ID }}" >> $vars
echo "APP_HASH=${{ secrets.APP_HASH }}" >> $vars
echo "RELEASE_KEY_PASSWORD=${{ secrets.ALIAS_PASS }}" >> $vars
echo "RELEASE_KEY_ALIAS=${{ secrets.ALIAS_NAME }}" >> $vars
echo "RELEASE_STORE_PASSWORD=${{ secrets.KEYSTORE_PASS }}" >> $vars
echo "ADDITIONAL_BUILD_NUMBER=$ADDITIONAL_BUILD_NUMBER" >> $vars
echo "USER_REPO=$USER_REPO" >> $vars
echo "CHECK_UPDATES=${{ matrix.updates }}" >> $vars
echo "USER_ID_OWNER=${{ secrets.USER_ID_OWNER }}" >> $vars
echo "UPDATE_CHANNEL_USERNAME=${{ secrets.UPDATE_CHANNEL_USERNAME }}" >> $vars
echo "LASTFM_API_KEY=${{ secrets.LASTFM_API_KEY }}" >> $vars
echo "LASTFM_API_SECRET=${{ secrets.LASTFM_API_SECRET }}" >> $vars

###
echo $ADDITIONAL_BUILD_NUMBER
sudo apt update
sudo apt -y install ninja-build meson unzip pip gperf
./gradlew :TMessagesProj_App:${{ matrix.afat }}

#grep BUILD_VERSION_STRING TMessagesProj/src/main/java/org/telegram/messenger/BuildVars.java | cut -d'"' -f 2 > ver.txt
grep VERSION_NAME TMessagesProj/build/generated/source/buildConfig/${{ matrix.type }}/org/telegram/messenger/BuildConfig.java | cut -d'"' -f 2 > ver.txt

mkdir -p artifact
mv TMessagesProj_App/build/outputs/apk/afat/${{ matrix.type }}/app.apk app.apk
cp app.apk "artifact/ForkClient $(cat ver.txt)${{ matrix.name }}.apk"
mkdir -p tag_asset
cp app.apk "tag_asset/ForkClient_$(cat ver.txt)${{ matrix.name }}.apk"

# Upload to channel.
if [[ "${{ contains(github.event.head_commit.message, '[artifacts-only]') }}" == "true" ]]; then
echo "Skipping channel upload due to [artifacts-only] marker in commit message."
else
set +x
pip install requests tgcrypto-pyrofork Kurigram
cp app.apk "ForkClient $(cat ver.txt)${{ matrix.name }}.apk"
echo "${{ secrets.BASE64_ZIP }}" | base64 --decode > output.zip
unzip -j output.zip -d .
ls
python3 upload.py
set -x
fi
###

echo "NEW_TAG_TEXT=$(cat ver.txt)" >> $GITHUB_ENV

tempVer=$(cat ver.txt)
tempVer=${tempVer::-2}
echo "NEW_OFFICIAL_TAG_TEXT=$tempVer" >> $GITHUB_ENV
- uses: actions/upload-artifact@master
name: Upload artifact
with:
name: ForkClient-${{ matrix.type }}
path: artifact/

release:
name: Create Release.
needs: linux
if: ${{ !contains(github.event.head_commit.message, '[artifacts-only]') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- name: Download debug artifact
uses: actions/download-artifact@v4.3.0
with:
name: ForkClient-debug
path: debug_asset
- name: Download release artifact
uses: actions/download-artifact@v4.3.0
with:
name: ForkClient-release
path: release_asset
- name: Get version info
run: |
find debug_asset -name "*.apk" | head -1 | sed 's/.*ForkClient //;s/\.apk//' > version.txt
echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
echo "OFFICIAL_VERSION=$(cat version.txt | sed 's/..$//')" >> $GITHUB_ENV
- name: Create Release
uses: softprops/action-gh-release@v0.1.15
env:
GITHUB_TOKEN: ${{ secrets.REPO_TOKEN }}
with:
draft: true
files: |
debug_asset/*
release_asset/*
tag_name: ${{ env.VERSION }}
name: "ForkClient ${{ env.VERSION }}"
body: "— Updated to ${{ env.OFFICIAL_VERSION }} build of the official Telegram."
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.idea/
.gradle/
.cxx/
build/
obj/
*.iml
Expand All @@ -13,3 +14,12 @@ TMessagesProj_App/afat/
TMessagesProj_AppHockeyApp/afat/
TMessagesProj_AppStandalone/afat/
TMessagesProj_AppHuawei/afat/
API_KEYS
*.hprof
TMessagesProj/jni/cache_keys/
TMessagesProj/.externalNativeBuild/
TMessagesProj/jni/ffmpeg/android/
TMessagesProj/jni/ffmpeg/build/
TMessagesProj/jni/boringssl/build/
TMessagesProj/jni/tde2e/x86*
TMessagesProj/jni/tde2e/arm*
20 changes: 20 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[submodule "TMessagesProj/jni/libwebp"]
path = TMessagesProj/jni/libwebp
url = https://github.com/webmproject/libwebp
[submodule "TMessagesProj/jni/boringssl"]
path = TMessagesProj/jni/boringssl
url = https://github.com/google/boringssl
ignore = all
[submodule "TMessagesProj/jni/libvpx"]
path = TMessagesProj/jni/libvpx
url = https://github.com/webmproject/libvpx
[submodule "TMessagesProj/jni/ffmpeg"]
path = TMessagesProj/jni/ffmpeg
url = https://github.com/FFmpeg/FFmpeg
ignore = all
[submodule "TMessagesProj/jni/dav1d"]
path = TMessagesProj/jni/dav1d
url = https://github.com/videolan/dav1d
[submodule "TMessagesProj/jni/tde2e_source"]
path = TMessagesProj/jni/tde2e_source
url = https://github.com/tdlib/td
7 changes: 7 additions & 0 deletions .vscode/keybindings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[
{
"key": "f16",
"command": "workbench.action.tasks.runTask",
"args": "Deploy (sync + build + install)"
}
]
Loading