Commit Graph

60 Commits

Author SHA1 Message Date
Torsten Grote
07b56f0516 Upgrade Dokka syntax to v2 2025-11-04 08:50:56 -03:00
Torsten Grote
5a04b315d5 Upgrade maven publishing plugin 2025-11-04 08:50:56 -03:00
Torsten Grote
1e4c9f39ed Enable Binary compatibility validation
which is still experimental, but allows us to sport API breakage in CI. It still doesn't produce anything for the database lib.
2025-11-04 08:50:55 -03:00
Torsten Grote
911b337db7 Untangle libraries slightly by creating a common core library 2025-11-04 08:50:55 -03:00
Torsten Grote
ba7731af6c Migrate build scripts from Groovy to Kotlin 2025-11-04 08:50:55 -03:00
Torsten Grote
0fac4d96d0 [download] mirror share uri: fingerprint is non-null now 2025-11-04 08:50:49 -03:00
Torsten Grote
a47423ef01 [download] implement coil disk caching
unfortunately, in coil disk caching is not generic, but deeply integrated in their NetworkFetcher, so if you need a custom Fetcher then you need to implement disk caching yourself.

Maybe in the future, we can hook into their NetworkFetcher and try to use our mirror logic around it. This or they make disk caching work for all fetchers.
2025-11-04 08:50:49 -03:00
Torsten Grote
e99840458e [download] add coil support 2025-11-04 08:50:49 -03:00
Torsten Grote
c5cdcdfd3f [download] limit download progress reporting to once per second
More often isn't needed and runs into issues with UI refresh rates and worse notification rate-limiting which causes important notifications to get missed
2025-11-04 08:50:49 -03:00
Torsten Grote
4579b82a4c [download] verify already downloaded files 2025-11-04 08:50:48 -03:00
Torsten Grote
78e8d09219 Run flaky network-based tests in a different job
that is allowed to fail. These tests are hitting real servers that often have issues and thus make our tests fail.
2025-07-14 23:26:40 +00:00
Torsten Grote
50907a590d Fix NPE when setting session timeout with conscrypt 2025-07-14 23:26:40 +00:00
Torsten Grote
c86600ff9d Upgrade Ktor to latest version 2025-05-30 16:48:42 -03:00
Tobias_Groza
358dc509e5 Do not show "download failed" toast if download was cancelled manually 2025-03-20 14:42:24 +00:00
Thore Goebel
927621f364 Redesign RepoDetailsActivity 2025-02-06 22:02:05 +01:00
Torsten Grote
1d30c1f4e2 [download] add tests for AutoVerifyingInputStream 2025-01-29 11:23:59 -03:00
Torsten Grote
580f552c89 [download] Fix HttpManagerIntegrationTest because example.org stopped allowing range requests 2025-01-23 20:49:50 +01:00
Torsten Grote
dc2c65ebd6 [download] check hash for images loaded with glide 2024-12-16 14:48:14 -03:00
Matthew Bogner
a8e620a996 MirrorChooser orders mirrors using location and error counts 2024-12-06 13:42:30 +00:00
Torsten Grote
8a676010ba [db] rename location to countryCode in Mirror 2024-11-07 14:36:12 -03:00
Torsten Grote
1b7a55b043 Upgrade all the things!
Use version catalog now and upgrade ktlint as well.
2024-10-17 17:41:12 +00:00
Torsten Grote
9c0c5ab9b1 change compileSdk to 35 2024-10-17 17:41:12 +00:00
Torsten Grote
93e973e2b9 There's an official DigestInputStream, no need to make our own 2024-10-11 17:29:22 -03:00
Torsten Grote
1b63bc3898 Revert "let all gradle modules use compileSdk 35"
This reverts commit 957bea4655.
2024-10-08 10:28:34 -03:00
Torsten Grote
957bea4655 let all gradle modules use compileSdk 35 2024-10-07 13:06:33 -03:00
Torsten Grote
4a4d9f808c [download] disable tests using howsmyssl.com on Android 7 and older
because of letsencrypt not working anymore on those devices
2024-04-25 17:30:19 -03:00
Hans-Christoph Steiner
69f44d47bd run checkSessionResumeShort only on Build.VERSION.SDK_INT >= 26
Let's Encrypt no longer works on Android older than SDK 26 #2102

https://letsencrypt.org/2020/11/06/own-two-feet.html
2024-04-05 12:39:38 +02:00
Torsten Grote
268560bf45 Don't fail session resumption test if session doesn't get resumed 2024-03-12 19:40:45 +01:00
Torsten Grote
6ffb3fe7e3 Update dependencies 2024-03-05 14:43:28 +00:00
Torsten Grote
f8d70b2c54 no more namespaces in manifests 2024-03-05 14:43:28 +00:00
Torsten Grote
35affc09db Upgrade to Gradle 8 and SDK 34
This commit tries to limit the changes required to what is needed to make the project compile again. This includes the Kotlin and Room update.
2024-03-05 14:43:28 +00:00
Torsten Grote
47a921e45a [download] test that session gets only resumed for a short time (10s)
see https://svs.informatik.uni-hamburg.de/publications/2018/2018-12-06-Sy-ACSAC-Tracking_Users_across_the_Web_via_TLS_Session_Resumption.pdf
2024-02-20 15:30:26 +00:00
Torsten Grote
fcd1178837 [download] fix broken TLS instrumentation tests
because check.tls.support is down for months already
2024-02-09 11:31:35 -03:00
Torsten Grote
d842590343 [download] fix cleartext instrumentation test 2024-02-09 11:00:25 -03:00
Matthew Bogner
cf595783b0 Added a dns class that caches dns lookups 2024-02-01 11:57:31 +00:00
Torsten Grote
e61886c6b6 Upgrade the libraries we can still upgrade
without going to gradle 8, Java 17 and compileSdk 34
2023-10-20 09:26:17 -03:00
Torsten Grote
aaa4b56a9d [download] Add HttpManager method for checking URI validity 2023-10-18 11:39:38 +00:00
Torsten Grote
d4a77e4aba [download] Fix download of v1 images
As v1 images don't have a sha256 hash, we were using the name as the glide cache key. In some cases (e.g. repo icons), this caused false re-use of a cached image. Now we use the first mirror and the file name as the cache key.
2023-09-06 07:21:38 +00:00
Torsten Grote
26b2c7b2fd Upgrade test dependencies and fix instrumentation test issue 2023-08-23 10:30:21 +02:00
Torsten Grote
937fe99062 [download] expose method for getting an InputStream from a DownloadRequest
Also add a DigestInputStream variant, so we can verify the SHA-256 hash while reading from the stream.

This can be useful when we don't want to save a file, but already process a download while downloading.
2023-08-21 10:52:20 +02:00
Torsten Grote
e80323e57f [download] TLS 1.3 is only supported on SDK 29 and up 2023-06-15 10:28:40 +00:00
Torsten Grote
6a5022511e Run library instrumentation tests together with app instrumentation tests
This job already takes the longest to complete due to the slow emulator. Therefore splitting this off doesn't make much sense.
2023-06-15 10:28:40 +00:00
Torsten Grote
b0d04e3664 [download] increase high HTTP timeouts to 5min
Apparently, this can still be a sane choice for Tor as well :o
2023-06-07 09:47:20 -03:00
Torsten Grote
fe78d954b6 [download] Allow making connections with higher HTTP timeouts
always use that for Tor proxies
2023-06-06 11:47:16 -03:00
Torsten Grote
21f8a23814 Upgrade all (most of) the things 2023-05-30 09:39:15 -03:00
Torsten Grote
9c50183b68 Upgrade to Android Studio Electric Eel to solve some test bugs 2023-05-30 09:39:15 -03:00
Torsten Grote
d83822510c Compile libraries with SDK 33 as well 2023-05-29 12:00:49 -03:00
Torsten Grote
2500915a03 Bump library versions and update their README 2023-02-23 10:45:53 +00:00
Torsten Grote
a70f89a255 [download] Consider that MirrorChooser can auto-resume downloads as well
Also try next mirror when you need to resume, but the current one doesn't support it.
2023-02-08 21:22:12 +01:00
Torsten Grote
d2473d8ae8 [download] remove deprecated HttpGlideUrlLoader as we always use DownloadRequest with mirrors now 2023-02-01 14:25:14 -03:00