I tried git diff --ignore-cr-at-eol 05819c5cd9a188811c09f662cc1e202a04f77caa e29aed675dfc5bb1d95e3e5b9bc9cdbe2128a7b2
(first hash is the F-Droid hash and the second one is the first restore from backup commit (restore from backup · Catfriend1/syncthing-android@e29aed6))
This results in some changes in .github
files, some changes in a translation file, and updating the F-Droid yaml file. (there are also some line ending changes for source files that I ignored).
git diff
diff --git a/.github/workflows/build-app.yaml b/.github/workflows/build-app.yaml
index 9426bd131..34ca537ca 100644
--- a/.github/workflows/build-app.yaml
+++ b/.github/workflows/build-app.yaml
@@ -34,9 +34,13 @@ jobs:
id: get_commit_hash
run: |
set -eu
- git config --system --add safe.directory '*'
- COMMIT_HASH=$(git rev-parse --short --verify HEAD)
- echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV
+ if [ "${{ github.event_name }}" = "pull_request" ]; then
+ COMMIT_HASH_LONG="${{ github.event.pull_request.head.sha }}"
+ else
+ COMMIT_HASH_LONG="${{ github.sha }}"
+ fi
+ COMMIT_HASH_SHORT=$(echo "$COMMIT_HASH_LONG" | cut -c1-7)
+ echo "COMMIT_HASH=${COMMIT_HASH_SHORT}" >> $GITHUB_ENV
- name: setup-debug-signing
run: |
diff --git a/.github/workflows/release-app.yaml b/.github/workflows/release-app.yaml
index b863e3a0c..ca75efdfe 100644
--- a/.github/workflows/release-app.yaml
+++ b/.github/workflows/release-app.yaml
@@ -43,8 +43,13 @@ jobs:
id: get_commit_hash
run: |
set -eu
- COMMIT_HASH=$(git rev-parse --short --verify HEAD)
- echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV
+ if [ "${{ github.event_name }}" = "pull_request" ]; then
+ COMMIT_HASH_LONG="${{ github.event.pull_request.head.sha }}"
+ else
+ COMMIT_HASH_LONG="${{ github.sha }}"
+ fi
+ COMMIT_HASH_SHORT=$(echo "$COMMIT_HASH_LONG" | cut -c1-7)
+ echo "COMMIT_HASH=${COMMIT_HASH_SHORT}" >> $GITHUB_ENV
- name: build_release
env:
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 509f304aa..c777b1f33 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -29,7 +29,7 @@
<!-- StateDialogActivity -->
<!-- Text for FoldersFragment and DevicesFragment loading view -->
<!-- Shown instead of web_gui_loading if the key does not exist and has to be created -->
- <string name="web_gui_creating_key">Generování bezpečnostních klíčů. Toto může trvat pár minut.</string>
+ <string name="web_gui_creating_key">Generování bezpečnostních klíčů. Toto může trvat pár minut…</string>
<!-- FolderListFragment -->
<string name="folders_fragment_title">Složky</string>
<!-- Shown if no folders exist -->
@@ -164,7 +164,7 @@
<string name="keep_wakelock_while_binary_running">Udržovat CPU aktivní pokud Syncthing běží</string>
<string name="use_tor_title">Použít Tor</string>
<!-- Dialog shown before config export -->
- <string name="dialog_confirm_export">Opravdu chcete exportovat svou konfiguraci? Existující soubory budou přepsány. \n \nVAROVÁNÍ! Ostatní aplikace budou moci číst váš soukromý klíč ze zálohy a použít ho ke stahování/úpravám synchronizovaných souborů.</string>
+ <string name="dialog_confirm_export">Opravdu chcete exportovat svou konfiguraci? Stávající archiv bude přepsán.</string>
<!-- Dialog shown before config import -->
<string name="dialog_confirm_import">Opravdu chcete importovat konfiguraci? Existující nastavení včetně sdílených složek a seznam zařízení budou nahrazeny.</string>
<!-- Toast shown after config was exported -->
@@ -252,15 +252,15 @@
<!-- Text for the exit button on the drawer -->
<string name="exit">Ukončit</string>
<!-- Title of the notification shown while syncthing is running and enabled -->
- <string name="syncthing_active">Syncthing běží</string>
- <string name="config_create_failed">Vytváření konfiguračního souboru selhalo</string>
+ <string name="syncthing_active">Spuštěno</string>
+ <string name="config_create_failed">Vytváření konfiguračního souboru selhalo. Zkontrolujte výstup logcat.</string>
<!-- ID of the default folder created on first start (camera folder). Must only contain 'a-z0-9_-'. Parameter is the device name-->
<string name="default_folder_id">%1$s-foto</string>
- <string name="notification_crash_title">Syncthing spadl %1$s</string>
+ <string name="notification_crash_title">Došlo k chybě (kód ukončení: %1$s)</string>
<string name="notifications_other_channel">Ostatní upozornění</string>
<!-- RestApi -->
<!-- Title of the notification shown when a restart is needed -->
- <string name="restart_title">Vyžadováno restartování</string>
+ <string name="restart_title">Vyžadován restart</string>
<!-- Text for positive button in restart dialog -->
<!-- Text for the dismiss button of the restart Activity -->
<!-- Text of the notification shown when a restart is needed -->
@@ -272,7 +272,7 @@
<string name="file_size_unit_KiB">KiB</string>
<string name="file_size_unit_MiB">MiB</string>
<string name="file_size_unit_GiB">GiB</string>
- <string name="file_size_unit_TiB">TiB</string>
+ <string name="file_size_unit_TiB">TB</string>
<!-- Strings representing units for transfer rates, from smallest to largest -->
<string name="transfer_rate_unit_B_s">B/s</string>
<string name="transfer_rate_unit_KiB_s">KiB/s</string>
@@ -304,7 +304,7 @@
\nJsou použity následující intervaly: za první hodinu jsou ponechány verze pro každých 30 sekund, za první den jsou ponechány verze pro každou hodinu, za prvních 30 dní jsou ponechány verze pro každý den a do nejvyššího nastaveného stáří jsou ponechány verze pro každý týden.</string>
<string name="maximum_age_description">Maximální doba pro zachování verze (dny, zapsáním hodnoty 0 bude ponecháno navždy).</string>
<string name="versions_path_description">Cesta pro ukládání verzí (ponechte prázdné pro výchozí adresář .stversions ve sdíleném adresáři).</string>
- <string name="cleanout_after_description">Počet dní, po který budou soubory uchovány v koši. Nula znamená navždy.</string>
+ <string name="cleanout_after_description">Počet dní, po který budou soubory uchovány v koši. Nula znamená navždy</string>
<string name="external_versioning_description">První parametr příkazové řádky je cesta k adresáři, druhý je relativní cesta v témže adresáři.</string>
<string name="no_versioning_description">Pro povolení verzování vyberte jeho typ.</string>
<!-- Displays the current file versioning type in the Folder activity -->
@@ -339,7 +339,7 @@
<string name="st_reset_database_question">Tato akce by měla být provedena pouze na základě doporučení naší podpory.
\nSkutečně chcete vymazat databázi Syncthing?</string>
<string name="st_reset_deltas_title">Resetovat rejstříky přírůstků</string>
- <string name="syncthing_terminated">Syncthing byl ukončen</string>
+ <string name="syncthing_terminated">Ukončeno</string>
<string name="config_file_missing">Soubor s nastaveními nezbytný pro fungování nebyl nalezen</string>
<string name="notifications_persistent_channel">Syncthing je aktivní</string>
<string name="storage_permission_title">Oprávnění pro přístup k úložišti</string>
@@ -427,7 +427,7 @@
<string name="folder_type_switch_to_receive_encrypted_not_allowed">Přepnutí existujících složek na „Přijímat šifrovaně“ není podporováno.</string>
<string name="no_recent_changes">Žádné nedávné změny.</string>
<string name="dialog_settings_restart_app_title">Vyžadován restart</string>
- <string name="syncthing_active_details">Syncthing běží: %1$s</string>
+ <string name="syncthing_active_details">Spuštěno: %1$s</string>
<plurals name="syncthing_active_syncing_device_online">
<item quantity="one">Synchronizace: %1$d%% hotovo, %2$d zařízení je připojeno</item>
<item quantity="few">Synchronizace: %1$d%% hotovo, %2$d zařízení je připojena</item>
@@ -505,7 +505,7 @@
<string name="keep_wakelock_while_binary_running_summary">Pouze pro Android 5 nebo nižší. Toto nastavení použijte, pokud při provozu na baterii zaznamenáte neočekávané odpojení. To bude mít za následek zvýšenou spotřebu baterie.</string>
<string name="http_proxy_address_title">HTTP(S) proxy</string>
<string name="broadcast_service_control_title">Řízení služeb vysíláním</string>
- <string name="broadcast_service_control_summary">Výchozí: Zakázáno. Povolením této možnosti spustíte a zastavíte službu odesíláním broadcastu, např. z automatizačních aplikací třetích stran. Poznámka: Po změně této možnosti musíte aplikaci restartovat ručně.</string>
+ <string name="broadcast_service_control_summary">Výchozí: Vypnuto. Povolte tuto možnost, pokud chcete umožnit nástrojům jako ADB nebo aplikacím třetích stran (např. automatizačním aplikacím) ovlivňovat chování Syncthingu – např. řídit podmínky spuštění, vynuceně spustit nebo zastavit proces.</string>
<string name="dialog_settings_restart_app_question">Změna této možnosti vyžaduje okamžitý restart aplikace. Všechny ostatní změny budou zahozeny. Pokračovat?</string>
<string name="verbose_log_summary">Povolení této možnosti pomůže generovat protokoly ladění na velmi podrobné úrovni.</string>
<string name="log_to_file_title">Protokol do souboru</string>
@@ -518,7 +518,7 @@
<string name="reason_not_nonroaming_mobile_data">Syncthing neběží, protože jste zakázali spuštění na roamingových mobilních datových připojeních.</string>
<string name="reason_run_condition_monitor_not_instantiated">RunConditionMonitor bnemá vytvořenu instance. Pokud tato chyba po restartu aplikace nezmizí, odešlete prosím hlášení o chybě.</string>
<string name="custom_wifi_ssid_whitelist_empty">Žádné WiFi sítě na seznamu povolených. Přidejte nějaké v nastavení.</string>
- <string name="syncthing_disabled">Syncthing neběží</string>
+ <string name="syncthing_disabled">Pozastaveno</string>
<string name="config_read_failed">Načtení konfigurace se nezdařilo. Zvažte zálohování dat ze složek pro synchronizaci, poté vymažte data této aplikace a znovu ji spusťte.</string>
<string name="default_android_camera_folder_label">Fotoaparát Android</string>
<string name="notification_out_of_disk_space">SD karta je plná. Soubor %1$s</string>
@@ -567,7 +567,7 @@
<string name="preference_app_theme_follow_dark">Tmavé</string>
<string name="tips_and_tricks_title">Rady & tipy</string>
<string name="tip_sync_on_local_network_text">Pokud chcete synchronizovat pouze se zařízeními, která se nacházejí v místní síti WiFi nebo jsou dostupná prostřednictvím hotspotu WiFi, můžete snížit spotřebu baterie a vyhnout se náhodné synchronizaci přes mobilní data vypnutím následujících možností v části „Nastavení/Možnosti synchronizace“:\n- Povolit obcházení NAT\n- Globální zjišťování \n- Povolit přenos\nPonechte povolenou pouze možnost „Local discovery“.</string>
- <string name="category_user_interface">Uživateslké rozhraní</string>
+ <string name="category_user_interface">Uživatelské rozhraní</string>
<string name="tip_write_to_sdcard_text">Pokud se v uživatelském rozhraní zobrazí hlášení, že „Android uděluje synchronizaci přístup pouze pro čtení“ k určité složce, vytvořte novou složku pomocí této cesty, abyste získali přístup pro zápis:\n%1$s/YOUR_FOLDER_NAME.\nBuďte opatrní: Pokud tuto aplikaci odinstalujete, systém Android tuto složku vymaže. Před odinstalováním aplikace přesuňte data na bezpečné místo mimo složku .../Android.</string>
<string name="preference_app_theme_follow_system">Podle systému</string>
<string name="local_discovery_disabled">Místní zjišťování jste zakázali v nabídce „Nastavení“ > „Možnosti synchronizace“ > „Místní zjišťování“. Povolte jej, abyste mohli vyhledávat zařízení v místní síti.</string>
@@ -629,7 +629,7 @@
<item quantity="other">%d minut</item>
</plurals>
<string name="reason_not_charging">Telefon se nenabíjí.</string>
- <string name="reason_not_on_battery_power">Telefon neběží z baterie.</string>
+ <string name="reason_not_on_battery_power">Telefon je připojen k nabíječce.</string>
<string name="reason_not_while_power_saving">Syncthing neběží, protože je telefon aktuálně v režimu šetření energie.</string>
<string name="reason_not_while_auto_sync_data_disabled">Syncthing neběží, protože Android má momentálně vypnutou funkci „Synchronizace dat“.</string>
<string name="reason_mobile_data_disallowed">Syncthing není nakonfigurován pro spuštění na mobilním datovém připojení.</string>
@@ -668,4 +668,20 @@
<string name="clear_stversions_done">Složky .stversions byly úspěšně vyčištěny.</string>
<string name="pizza_url_title">» Kočičky milujou pizzu « 😺🍕</string>
<string name="pizza_url_summary">S jediným klepnutím můžete zanechat vřelý plátek laskavosti - doplněný s extra dobrou atmosférou, aby kočičky šťastně vrněly.</string>
+ <string name="folder_run_script_caption">Spustit skript</string>
+ <string name="folder_run_script_description">Expertní volba pro spuštění skriptů po změně stavu synchronizace složky.Skripty umístěné ve složce \'.stfolder/*.sh\' budou spuštěny. Jiné umístění skriptů není podporováno z bezpečnostních důvodů.\nPříklad spuštění skriptu: \'.stfolder/rename-files.sh sync_complete\'</string>
+ <string name="backup_rel_path_to_zip">Relativní cesta k archivu s konfigurací</string>
+ <string name="backup_password_title">Heslo k zabezpečení nastavení</string>
+ <string name="backup_password_summary">ℹ️ Doporučeno:\nZadejte silné heslo, které bude použito k zašifrování vaší konfigurace při exportu a k jejímu dešifrování při importu. Toto heslo si bezpečně uložte – budete ho potřebovat při obnově konfigurace a při použití funkce importu.\n\n⚠️ Nedoporučeno:\nNepoužít žádné heslo. V takovém případě mohou jiné aplikace potenciálně číst nebo upravovat vaši konfiguraci Syncthingu. Zpřístupnění konfigurace nese riziko, že útočník může získat neoprávněný přístup k vašim souborům pomocí odcizeného exportu nastavení.</string>
+ <string name="backup_password_set">✅ Heslo nastaveno: %1$s</string>
+ <string name="backup_password_not_set">⚠ Heslo nenastaveno.</string>
+ <string name="preference_category_actions">Akce</string>
+ <string name="preference_category_explanation">Informace</string>
+ <string name="preference_category_prepare">Připravit</string>
+ <string name="config_export_successful_no_path">Konfigurace byla exportována. Prosím, nezapomeňte heslo pro pozdější import.</string>
+ <string name="syncthing_forum_title">Fórum Syncthing</string>
+ <string name="syncthing_forum_summary">Získat pomoc na fóru Syncthing</string>
+ <string name="privacy_title">Zásady ochrany soukromí</string>
+ <string name="privacy_summary">Otevřete zásady ochrany soukromí Syncthing-Android, které popisují používání (pokud existuje) osobních údajů, například polohy.</string>
+ <string name="share_log_file_missing">Chybí soubor protokolu pro sdílení.</string>
</resources>
diff --git a/docker/prebuild.sh b/docker/prebuild.sh
old mode 100755
new mode 100644
diff --git a/fdroid/com.github.catfriend1.syncthingandroid.yml b/fdroid/com.github.catfriend1.syncthingandroid.yml
index f6aea27ab..831b3ad85 100644
--- a/fdroid/com.github.catfriend1.syncthingandroid.yml
+++ b/fdroid/com.github.catfriend1.syncthingandroid.yml
@@ -2610,11 +2610,79 @@ Builds:
-f 4)
- sdkmanager "ndk;$ndkversion"
+ - versionName: 1.30.0.1
+ versionCode: 1300001
+ commit: 6746c397b133465d0ff37f7eeabfe72c75f742fc
+ subdir: app
+ submodules: true
+ sudo:
+ - apt-get update
+ - apt-get install -y autogen automake autopoint bzip2 g++ libc-dev make gettext
+ libtool pkg-config rename shtool
+ - apt-get install -y -t bookworm-backports golang-go
+ gradle:
+ - yes
+ srclibs:
+ - go@go1.23.0
+ prebuild:
+ - export goVersion=$(grep "ENV GO_VERSION" ../docker/Dockerfile | cut -d "="
+ -f2)
+ - '[[ $goVersion ]] || exit 1'
+ - git -C $$go$$ checkout -f go$goVersion
+ - sed -i -e '/signingConfig/,+2d' build.gradle.kts
+ - sed -i -e 's/java.net.URI/uri/' ../settings.gradle.kts
+ - sed -i -e 's|go_bin = which("go");|go_bin = "$$go$$/bin/go"|' ../syncthing/build-syncthing.py
+ scanignore:
+ - syncthing/src/github.com/syncthing/syncthing/lib/model/testdata
+ build:
+ - pushd $$go$$/src
+ - ./make.bash
+ - popd
+ - export ndkversion=$(grep "ndkVersionShared" ../build.gradle.kts | cut -d '"'
+ -f 4)
+ - sdkmanager "ndk;$ndkversion"
+
+ - versionName: 1.30.0.2
+ versionCode: 1300002
+ commit: 05819c5cd9a188811c09f662cc1e202a04f77caa
+ subdir: app
+ submodules: true
+ sudo:
+ - echo "deb https://deb.debian.org/debian trixie main" > /etc/apt/sources.list.d/trixie.list
+ - apt-get update
+ - apt-get install -y -t trixie openjdk-21-jdk-headless
+ - update-alternatives --auto java
+ - apt-get install -y autogen automake autopoint bzip2 g++ libc-dev make gettext
+ libtool pkg-config rename shtool
+ - apt-get install -y -t bookworm-backports golang-go
+ gradle:
+ - yes
+ srclibs:
+ - go@go1.23.0
+ prebuild:
+ - export goVersion=$(grep "ENV GO_VERSION" ../docker/Dockerfile | cut -d "="
+ -f2)
+ - '[[ $goVersion ]] || exit 1'
+ - git -C $$go$$ checkout -f go$goVersion
+ - sed -i -e '/signingConfig/,+2d' build.gradle.kts
+ - sed -i -e 's/java.net.URI/uri/' ../settings.gradle.kts
+ - sed -i -e 's|go_bin = which("go");|go_bin = "$$go$$/bin/go"|' ../syncthing/build-syncthing.py
+ scanignore:
+ - syncthing/src/github.com/syncthing/syncthing/lib/model/testdata
+ build:
+ - pushd $$go$$/src
+ - ./make.bash
+ - popd
+ - export ndkversion=$(grep "ndkVersionShared" ../build.gradle.kts | cut -d '"'
+ -f 4)
+ - sdkmanager "ndk;$ndkversion"
+
MaintainerNotes: |-
The submodule in syncthing/src/github.com/syncthing/syncthing must be
pristine, as the version/release information is taken from git.
AutoUpdateMode: Version
UpdateCheckMode: Tags ^v[a-z0-9.]*-fdroid$
-CurrentVersion: 1.29.7.5
-CurrentVersionCode: 1290705
+UpdateCheckData: gradle/libs.versions.toml|version-code\s=\s"(\d+)"|.|version-name\s=\s"(.*)"
+CurrentVersion: 1.30.0.2
+CurrentVersionCode: 1300002
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index e0bb34fbb..98697e375 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -5,8 +5,8 @@ min-sdk = "21"
target-sdk = "36"
# App version
-version-code = "1300002"
-version-name = "1.30.0.2"
+version-code = "1300001"
+version-name = "1.30.0.1"
aboutLibraries = "12.2.4"
activity = "1.10.1"
diff --git a/gradlew b/gradlew
old mode 100755
new mode 100644
diff --git a/syncthing/src/github.com/syncthing/syncthing b/syncthing/src/github.com/syncthing/syncthing
deleted file mode 160000
index 0945304a7..000000000
--- a/syncthing/src/github.com/syncthing/syncthing
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 0945304a79d6bbaeac7fc2cc1b06f57d3cf66622