Thore Goebel
06fa581d3f
Clarify FetchResult computation
2024-05-27 15:24:45 +02:00
Thore Goebel
a26d5fe727
Remove unused Repository.canAdd and Repository.isMirror functions
2024-05-27 15:24:45 +02:00
Thore Goebel
199f9b6c52
Rename Fetching.repo to Fetching.receivedRepo
...
To make it clear that this is the repo as we received it,
not the repo as we may have already stored it in the database.
2024-05-27 15:24:45 +02:00
Thore Goebel
d3ac70276d
fix: Use existingRepoId instead of receivedRepoId to launch existing details
2024-05-27 15:24:45 +02:00
Thore Goebel
e963aeaece
Make ktlint happy
...
For the record: I strongly find the trailing && and ||
less readable than the leading version.
But if that's what the Kotlin folks want 🤷 .
2024-05-27 15:24:45 +02:00
Thore Goebel
f173b1b6dc
Distinguish IsNewRepoAndNewMirror in UI
2024-05-27 15:24:45 +02:00
Thore Goebel
ee8dadf577
Explain what is being tested
2024-05-27 15:24:45 +02:00
Thore Goebel
ca2c97a8cf
Distinguish IsExistingRepository from IsExistingMirror
2024-05-27 15:24:45 +02:00
Thore Goebel
bae2a06693
Refactor: Move fetchUrl up from FetchResult into Fetching
...
The fetchUrl is independent of the result, it better belongs into Fetching.
2024-05-27 15:24:45 +02:00
Torsten Grote
fa65084e60
[db] make repo certs non-null and remove repos without cert
...
historically, repos were added to the DB without much information and could stay in a broken state until manually removed. If a repo is updating, it should have a cert. So only repos that never did a single index update don't have a cert. Nowadays, this can not happen anymore as we get the repo and its cert before adding it to the DB. So whenever we update a repo, we know its certificate and fingerprint. Thus, this includes a DB migration removing all broken repos and making the certificate for repos in the DB non-null.
2024-05-22 09:58:05 +00:00
Torsten Grote
5cf22c5e06
[index] stop passing certificates around
2024-05-22 09:58:05 +00:00
Torsten Grote
ad6b1d6ad5
[index] remove some warnings on CompatibilityChecker
2024-05-22 09:57:17 +00:00
Torsten Grote
c639d7b445
[index] adapt minInstallableTargetSdk for Android 15
2024-05-22 09:57:17 +00:00
Hans-Christoph Steiner
e5f54ab712
documented the edge case and the 100% correct sort order
2024-05-08 10:20:29 +02:00
Torsten Grote
51eadcc1b2
[db] sort versions with same version code by native code (CPU arch) as well
...
Some repos (like SimpleX Chat) publish several versions with the same version code only different in native code. Previously, the sorting of those versions was non-deterministic, now we at least make them deterministic by sorting by native code as well in lexicographic ascending order, so arm64 is shown before armeabi-v7a.
2024-05-08 08:02:37 +00:00
Torsten Grote
4c366403fa
[db] Maintain legacy repo priority ordering when migrating
2024-04-30 10:54:55 -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
Torsten Grote
ef4e72e6d4
[db] handle broken repos without certificate
...
On versions before 1.18.0, adding a repo would add it as "empty" to the DB without a certificate right away and if there was an issue with it (e.g. typo in URL), it would stay in the DB until manually removed.
Our migration code did not consider such repos.
2024-04-05 21:32:16 +00: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
f6caceb63c
[index] treat empty string like null when deserializing FileV2 objects
...
we've seen serialized FileV2 objects becoming an empty string after parcelizing them,
so we need to account for null *and* empty string here.
Fixes acra-crash-reports#617
2024-03-12 15:12:19 +00: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
52e5509878
Fix lint errors after compileSdk upgrade to 34
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
3c2ebe6f49
Don't crash on non-hierarchical URIs in RepoUriGetter
2024-02-27 10:39:24 -03: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
dec7c4d260
[db] return error when trying to add archive repo
2024-02-20 09:42:42 -03:00
Torsten Grote
e47ef72f75
[db] add archive repo adding to RepoAdder
2024-02-20 09:42:41 -03:00
Torsten Grote
0b292f3383
[db] Add convenience method for setting preferred repo via RepoManager
2024-02-20 09:42:40 -03:00
Torsten Grote
108105596d
[db] allow re-ordering repo list and thus priorities
2024-02-20 09:42:40 -03:00
Torsten Grote
51a4bcec58
[db] don't allow initial repos from fixtures to provide weight
...
The client was already auto-incrementing their weight anyway. But it leaked our internal weight handling into the library consumer which can cause issues like when me are making changes to how we handles repo weights as we are doing now.
2024-02-20 09:42:40 -03:00
Torsten Grote
b993da8db8
[db] New repos now get lower weight than older ones
...
so they do not override the information from older repos anymore. This is especially an issue for the official repo which historically had the lowest priority while it should have the highest.
2024-02-20 09:42:39 -03:00
Torsten Grote
d9ea1e154b
[db] Migrate repo weights and test migration
2024-02-20 09:42:39 -03:00
Torsten Grote
4a01b02fa6
[db] Add DB query for getting repos an app is in
2024-02-20 09:42:39 -03:00
Torsten Grote
b28d2ecd5b
[app] Only request updates and suggested versions from preferred repositories
...
Before, we would install compatible updates from any repository
2024-02-20 09:42:39 -03:00
Torsten Grote
ead8bd1262
[db] Only consider preferred versions for updates and suggested version
2024-02-20 09:42:39 -03:00
Torsten Grote
12af2fa32b
[db] reset the preferred repo when it gets disabled or deleted
2024-02-20 09:42:38 -03:00
Torsten Grote
5c27f7033e
[db] Move InstantTaskExecutorRule into base DbTest class
...
so all tests can use LiveData helper methods such as getOrFail() without worrying about that rule
2024-02-20 09:42:38 -03:00
Torsten Grote
704234c9df
[db] allow setting a preferred repo per app
2024-02-20 09:42:38 -03:00
Torsten Grote
c894e48675
[db] last minute change to fdroid.link format
...
The new one is simpler and basically wrap the real URL by just prepending https://fdroid.link/#
2024-02-13 09:47:51 -03:00
Torsten Grote
359145eaef
[app] fix debug logging for libraries
2024-02-13 12:26:03 +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
10d6e5b244
[db] remove trailing whitespace from fingerprint
...
Thanks @iNPUTmice for reporting!
2023-12-12 10:06:45 -03:00
Torsten Grote
b1a0403960
[db] Add URL as mirror if repo was added with unofficial mirror
2023-11-22 12:04:17 +00:00
Torsten Grote
6ac7f652ad
[db] verify fingerprint of known repositories
...
if the user tries to add a repository at a known address with a different fingerprint than what we have on file, we'll refuse to add the repo
2023-10-20 09:26:17 -03: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
10ef3ab055
[db] remove deprecated insertEmptyRepo() method
2023-10-20 09:26:15 -03:00