Hans-Christoph Steiner
aebcc1edd6
port 1.x swap startup to 2.x
...
The whole swap setup was designed around having certain tiny background
processes start at app start. They are designed to be very low impact, run
at lowest priority, and be scheduled via WorkManager.
port was in 0f73f9ca0e
2026-07-10 15:45:24 +02:00
Hans-Christoph Steiner
e697808519
Merge branch 'donation-icons' into 'master'
...
🖼️ add opencollective/liberapay/bitcoin/litecoin donation icons
Closes #3321
See merge request fdroid/fdroidclient!1696
2026-07-10 10:44:56 +00:00
Michael Pöhn
8d09dc01c3
🖼️ opencollective/liberapay/bitcoin/litecoin icons
...
This adds colorful icons to the donation section on the AppDetails
composable.
2026-07-09 18:37:12 +02:00
Hans-Christoph Steiner
413dc46222
Merge branch 'disable-nearby-sdk-25-and-older' into 'master'
...
remove Nearby from menu on SDK<26, it is borked
See merge request fdroid/fdroidclient!1692
2026-07-09 09:26:22 +00:00
Hans-Christoph Steiner
4dd8572596
remove Nearby from menu on SDK<26, it is borked
...
Looks like there would have to be "desugaring" or something like included to
make it work, since `java.nio` was added in SDK 26:
```
java.lang.NoSuchMethodError: No virtual method toPath()Ljava/nio/file/Path; in class Ljava/io/File; or its super classes (declaration of 'java.io.File' appears in /system/framework/core-oj.jar)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:927)
at org.fdroid.fdroid.nearby.LocalRepoManager.writeIndexJar(LocalRepoManager.java:289)
at org.fdroid.fdroid.nearby.LocalRepoManager.generateIndex(LocalRepoManager.java:265)
at org.fdroid.fdroid.nearby.LocalRepoService.runProcess(LocalRepoService.java:107)
at org.fdroid.fdroid.nearby.LocalRepoService$GenerateLocalRepoThread.run(LocalRepoService.java:96)
```
2026-07-09 09:25:28 +00:00
Michael Pöhn
95911e2ccb
Merge branch 'check-for-updates-menu' into 'master'
...
add "Check for updates" menu item to MyApps, #3171
See merge request fdroid/fdroidclient!1693
2026-07-09 08:55:39 +00:00
Hans-Christoph Steiner
2b019f958b
add "Check for updates" menu item to MyApps, #3171
2026-07-09 08:55:15 +00:00
Michael Pöhn
0bbb8530ce
Merge branch 'log-error-to-port' into 'master'
...
log error if ROM hasn't ported additional_repos.xml to JSON
See merge request fdroid/fdroidclient!1685
2026-07-09 08:34:22 +00:00
Hans-Christoph Steiner
15c0a4a7b4
log error if ROM hasn't ported additional_repos.xml to JSON
...
fdroid-website@9bdf0905f9
fdroid-website!1508
2026-07-09 08:33:50 +00:00
Hans-Christoph Steiner
f2b1ee6b0b
Merge branch 'swap_fix' into 'master'
...
improve security of swap feature
See merge request fdroid/fdroidclient!1682
2026-07-08 19:15:30 +00:00
Hans-Christoph Steiner
b56e58f749
this code base uses integer values for SDK_INT checks
2026-07-08 20:43:31 +02:00
mnbogner
cf996d28d2
restored some removed code and added some logigng based on pr feedback
2026-07-08 11:35:59 -07:00
mnbogner
b707215a11
added ipv6 support
2026-07-08 11:28:10 -07:00
mnbogner
3695c4b80c
updates based on pr suggestions to avoid unintentional dns lookups
2026-07-08 10:32:09 -07:00
mnbogner
0f95122faf
fix result mismatch and observer loop
2026-07-08 10:32:09 -07:00
mnbogner
176a0351b1
restored some removed code and added some logigng based on pr feedback
2026-07-08 10:32:09 -07:00
mnbogner
cb4c29783a
clear subnet info if wifi is disabled
2026-07-08 10:32:09 -07:00
mnbogner
27d8b2f159
added ipv6 support
2026-07-08 10:32:09 -07:00
mnbogner
2fade0c1df
for improved security, a swap repo config will not be saved unless it's on the same wifi network as the device
2026-07-08 10:32:09 -07:00
Hans-Christoph Steiner
e36f616b91
Merge branch 'weblate-f-droid-f-droid' into 'master'
...
Translations update from Hosted Weblate
See merge request fdroid/fdroidclient!1683
2026-07-08 13:47:32 +00:00
+44
f8305357a5
Translations update from weblate
...
Co-authored-by: -akku- <akkun11.open@gmail.com >
Co-authored-by: Alexander Gabilondo <alexgabi@openmailbox.org >
Co-authored-by: Aster <coil4129@users.noreply.hosted.weblate.org >
Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com >
Co-authored-by: Hamlet <h@mlet.me >
Co-authored-by: Hosted Weblate <hosted@weblate.org >
Co-authored-by: Hosted Weblate user 115094 <veselsem@users.noreply.hosted.weblate.org >
Co-authored-by: Hosted Weblate user 152808 <anonymous0474@users.noreply.hosted.weblate.org >
Co-authored-by: Hồ Nhất Duy <axicenia@gmail.com >
Co-authored-by: Irene <ps86m042i@mozmail.com >
Co-authored-by: Jaxom <jaxom+weblate@tchack.xyz >
Co-authored-by: Jeff Huang <s8321414@gmail.com >
Co-authored-by: Jim Kats <jim-kats@hotmail.com >
Co-authored-by: Joel A <joeax910@student.liu.se >
Co-authored-by: John Doe <thraex@numericable.fr >
Co-authored-by: Kenpel <sarah.beara-weblate@vfemail.net >
Co-authored-by: Kibogr <kibogr@users.noreply.hosted.weblate.org >
Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com >
Co-authored-by: Krit Autarawisead <morphine459@gmail.com >
Co-authored-by: Licaon Kter <licaon.kter@protonmail.com >
Co-authored-by: Liner Seven <linour7gmekiblo@gmail.com >
Co-authored-by: Lucas Sogaray <lucassogaray72@gmail.com >
Co-authored-by: LucasMZ <git@lucasmz.dev >
Co-authored-by: Marcel Kubík <xkubik3@mailbox.org >
Co-authored-by: Marija Grineviciute <marijagrine@protonmail.com >
Co-authored-by: Mickaël Binos <mickaelbinos@outlook.com >
Co-authored-by: Milan <mobrcian@hotmail.com >
Co-authored-by: Milo Ivir <mail@milotype.de >
Co-authored-by: Moo <hazap@hotmail.com >
Co-authored-by: Mārtiņš B(...) <user-154873@users.noreply.hosted.weblate.org >
Co-authored-by: Nifou <nifou@mailfence.com >
Co-authored-by: Omer I.S. <omeritzicschwartz@gmail.com >
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org >
Co-authored-by: Relavavik <relavavik792@gmail.com >
Co-authored-by: Sadig Akhund <sadigaxund@gmail.com >
Co-authored-by: Tuomas Hietala <tuomas.hietala@iki.fi >
Co-authored-by: VfBFan <vfbfan@users.noreply.hosted.weblate.org >
Co-authored-by: Watchman89 <rplatte@hotmail.nl >
Co-authored-by: XianR <xian@users.noreply.hosted.weblate.org >
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com >
Co-authored-by: Yurt Page <yurtpage+weblate@gmail.com >
Co-authored-by: andrey <andrey@mailbox.org >
Co-authored-by: caviaz <sverrebesteman@gmail.com >
Co-authored-by: cyberboh <cybermay686@gmail.com >
Co-authored-by: ginger-co <ginger_co@outlook.com >
Co-authored-by: glemco <32201227+glemco@users.noreply.github.com >
Co-authored-by: jonnysemon <jonnysemon@users.noreply.hosted.weblate.org >
Co-authored-by: justcontributor <kty5663@gmail.com >
Co-authored-by: paul mayero <pmmayero@gmail.com >
Co-authored-by: ssantos <ssantos@web.de >
Co-authored-by: tedyurix <xxxtedtedi@gmail.com >
Co-authored-by: winver <kirillstuzhuk@gmail.com >
Co-authored-by: Алкуат Базарбеков <alkuat666@gmail.com >
Co-authored-by: ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝) <coool@mail.lv >
Translate-URL: https://hosted.weblate.org/projects/f-droid/client-changelog/et/
Translate-URL: https://hosted.weblate.org/projects/f-droid/client-changelog/fa/
Translate-URL: https://hosted.weblate.org/projects/f-droid/client-changelog/fr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/client-changelog/gl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/client-changelog/nl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/client-changelog/ro/
Translate-URL: https://hosted.weblate.org/projects/f-droid/client-changelog/sl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/client-changelog/sv/
Translate-URL: https://hosted.weblate.org/projects/f-droid/client-changelog/vi/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-basic-metadata/el/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-basic-metadata/fr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-basic-metadata/ko/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-basic-metadata/uk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid-metadata/ja/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ar/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/az/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/bn_BD/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/de/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/es_AR/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/eu/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fa/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fi/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/fr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/gl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/he/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/hr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/id/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/it/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ja/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/kk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ko/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/lv/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/nl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/ru/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sl/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sv/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/sw/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/th/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/tr/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/uk/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/vi/
Translate-URL: https://hosted.weblate.org/projects/f-droid/f-droid/zh_Hant/
Translation: F-Droid/Client Changelog
Translation: F-Droid/F-Droid
Translation: F-Droid/F-Droid Basic metadata
Translation: F-Droid/F-Droid metadata
2026-07-07 16:33:21 +00:00
Michael Pöhn
5102ebe498
Merge branch 'maintain-changelog' into 'master'
...
add missing CHANGELOG.md entries; automate making release tags with changelogs included
Closes #3271
See merge request fdroid/fdroidclient!1688
2026-07-07 16:32:22 +00:00
Hans-Christoph Steiner
5b761bbca1
add script to make release tags
...
Now that the changelog entry is also include in the tag message, this
script makes sure that happens, and the entry also ends up in CHANGELOG.md
2026-07-03 15:49:05 +02:00
Hans-Christoph Steiner
611ad88870
fetch missing CHANGELOG.md entries from git tags
...
closes #3271
```python
import git
import os
import re
import sys
from colorama import Fore, Style
from datetime import date
from pathlib import Path
def main():
private_token = os.getenv("PERSONAL_ACCESS_TOKEN")
if not private_token:
print(
Fore.RED
+ "ERROR: GitLab Token not found in PERSONAL_ACCESS_TOKEN!"
+ Style.RESET_ALL
)
sys.exit(1)
project_dir = Path(__file__).parent.parent
changelog_file = project_dir / "CHANGELOG.md"
changelog = changelog_file.read_text()
releases = []
for version, _ignored in re.findall(r"\#\# *(\S+) *\(([0-9-]+)\)", changelog):
releases.append(version)
repo = git.Repo(project_dir)
new_changelog = ""
for tag in sorted(
repo.tags,
key=lambda t: t.tag.tagged_date if t.tag is not None else 0,
reverse=True,
):
if tag.name in releases:
print("Found", tag.name)
break
new_changelog += (
f"### {tag.name} ({date.fromtimestamp(tag.tag.tagged_date)})\n\n"
)
new_changelog += tag.tag.message.split("-----")[0].replace(tag.name, "")
new_changelog += "\n"
changelog_file.write_text(re.sub(r"\n{3,}", r"\n\n", new_changelog + changelog))
if __name__ == "__main__":
main()
```
2026-07-03 15:48:50 +02:00
Hans-Christoph Steiner
a0f2b3d94d
CHANGELOG.md: include entry for 1.23.2
2026-07-03 15:47:47 +02:00
Michael Pöhn
ac088b17d8
Merge branch '2.0' into 'master'
...
Bug fixes, new categories and updates
See merge request fdroid/fdroidclient!1686
2026-06-27 01:16:31 +00:00
Torsten Grote
2abc7cbaa4
Move Market & Price category to Financial group
2026-06-24 13:39:08 -03:00
Torsten Grote
d074610368
Fix cruft introduced when moving classes with IDE
...
which was now causing test compilation issues
2026-06-24 10:11:23 -03:00
Torsten Grote
e9ce73c649
Add MR paragraph to CONTRIBUTING.md
2026-06-24 10:11:23 -03:00
Torsten Grote
c1468276d4
Update CONTRIBUTING.md
2026-06-24 10:11:22 -03:00
Torsten Grote
47e62454f4
Update dependencies
2026-06-24 10:11:22 -03:00
Torsten Grote
2ba424a76d
Add new categories
2026-06-24 10:11:21 -03:00
Torsten Grote
2bcf64d289
Check out LFS reference screenshots only in screenshot test
2026-06-24 10:11:21 -03:00
Torsten Grote
73c48aec19
Prevent updating ourselves from getting stuck
...
and allow to cancel our update when it is still waiting
2026-06-24 10:11:19 -03:00
Michael Pöhn
7512ac1110
Merge branch '2.0' into 'master'
...
Bug fixes for 2.0
Closes #3201 , #3295 , #3297 , #3298 , and #3300
See merge request fdroid/fdroidclient!1684
2026-06-16 07:56:54 +00:00
Torsten Grote
eb126e3ac7
Hide keyboard before navigating to search result
...
Otherwise, the auto-hide comes late and looks sluggish after the destination has already loaded.
2026-06-15 15:15:01 -03:00
Torsten Grote
9aa80e4e9b
Don't cache nightly deploy
...
because everything relevant should have been cached before already and uploading several GB of cache takes a lot of time
2026-06-15 15:15:00 -03:00
Torsten Grote
7d223cb4f4
Start WifiStateChangeService when starting SwapService
2026-06-15 15:14:59 -03:00
Torsten Grote
b3aea44cf0
Also clip app icons in app lists
...
so they use rounded corners there as well
2026-06-15 15:14:59 -03:00
Torsten Grote
801b07c646
Improve apps details description animation
...
when it expands and collapses. Also simplifies the code by not having two times different descriptions in the view hierarchy.
2026-06-15 15:14:58 -03:00
Torsten Grote
c1e4e27797
Auto-try legacy installer when install verification fails
...
This is useful for users with Google Advanced Protection who can use this to circumvent install restrictions and still use F-Droid. See #3201
2026-06-15 15:14:57 -03:00
Torsten Grote
751b00242b
Fix dynamic colors for category group icons
2026-06-15 15:14:57 -03:00
Torsten Grote
f4f6041518
Work around Chinese ROMs aborting installation pre-approval
...
There's a second code path for updates where we can't ask for pre-approval right away, so it needs to be triggered by the user when they see the UI. This code path gets hit for automatic updates or when the user wants to update many apps at once.
There we also measure time to abort and if it is faster than 250ms we continue without pre-approval.
2026-06-15 15:14:56 -03:00
Torsten Grote
2778299cb4
Show self-update notification also when user triggered update
...
before we were showing it only when the app was in foreground when it started to self-update
2026-06-15 15:14:55 -03:00
Torsten Grote
0231b58a2f
Remove dependencies that are no longer needed
...
after removing the legacy code
2026-06-15 15:14:55 -03:00
Torsten Grote
a2a857dae9
Merge branch 'hints-3.1.0' into 'master'
...
ComposeHints 3.1.0
See merge request fdroid/fdroidclient!1681
2026-06-15 17:21:16 +00:00
Torsten Grote
85b6ab3daf
Update compose-hints to 3.1.1
...
this fixes an issue with the onboarding dialog scrolling, if a scroll was in progress
2026-06-15 13:57:40 -03:00
Viktor Mykhailiv
adcb542362
Set global hint overlay color
2026-06-11 21:29:43 +01:00
Viktor Mykhailiv
42cea9d27d
Show full-screen hints for Repo screens
2026-06-11 21:16:58 +01:00
Torsten Grote
5f0f7560e4
Merge branch 'weblate-f-droid-f-droid' into 'master'
...
Translations update from Hosted Weblate
See merge request fdroid/fdroidclient!1680
2026-06-11 19:09:24 +00:00