29 Commits

Author SHA1 Message Date
Torsten Grote
ba7731af6c Migrate build scripts from Groovy to Kotlin 2025-11-04 08:50:55 -03:00
Torsten Grote
23dde0bc9b [db] Better support search for CJK languages
by inserting zero whitespace between their characters to help the existing sqlite FTS tokenizers to split them up.

We have considered splitting them up only at word boundaries, but after consulting native speakers decided to do splitting by chars instead.

Doing this is a hack, but due to the limitations of tokenizers currently available with sqlite, we saw no better solution. While the ICU tokenizer is available as well, it doesn't handle diacritics in other languages.

The zero whitespace is added to zh, ja and ko locales when saving their text to the database. It happens for app names, summaries and descriptions either when loading a full index or when applying diffs. Tests have been added for both cases.
2025-11-04 08:50:51 -03:00
Tobias_Groza
948e22efc8 Fix and add tests for hasAuthorMoreThanOneApp(), getAppListItemsForAuthor() 2025-06-25 11:01:17 +02:00
proletarius101
1b978cf6d6 fix: JDK version was locked to exactly 17 2025-05-26 14:36:41 +00:00
Thore Goebel
5a87cbba6a Add /repo suffix to mid-v1.com official mirror 2025-05-01 10:26:42 +02:00
Torsten Grote
837d2a6658 Also fix URL of mid and max test data 2025-04-28 10:42:16 -03:00
Torsten Grote
3f142da1c1 Improve RepoAdderTest by changing test data 2025-04-28 10:33:43 -03: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
195911c765 Fixing Kotlin style issues ahead of ktlint upgrade 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
632f55eb15 [index] Fix diffing of version features
The structure of the JSON (FeatureV2) and of our internal class AppManifest is different. The latter uses a list of strings instead of objects. The ReflectionDiffer didn't handle this different and was throwing an exception when diffing changing features.

However, the impact of this bug should be small as normally one version has an ID which is its SHA256 hash and thus its features shouldn't change over repo updates. Imaginable is erratic repo creation software though.
2024-10-08 17:14:24 +00: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
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
ead8bd1262 [db] Only consider preferred versions for updates and suggested version 2024-02-20 09:42:39 -03: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
f3e8a0a45b [db] Add plumping for fetching and adding a new repo 2023-08-21 10:52:34 +02:00
Torsten Grote
4aa244bd1a Downgrade kotlinx-serialization-json to 1.4.1 to fix #2637
https://github.com/Kotlin/kotlinx.serialization/issues/2231
2023-06-20 09:11:20 -03:00
Torsten Grote
d62e4b7735 Upgrade kotlinx-serialization-json to 1.5.1 in hope to fix #2637 2023-06-19 10:32:02 -03:00
Torsten Grote
d83822510c Compile libraries with SDK 33 as well 2023-05-29 12:00:49 -03:00
Torsten Grote
e86063937a Change repo attribute icons to be localized
This affects anti-features and categories. Reflection diffing has been made more robust in the process with the earlier FileV2 hack removed and better error messages.
2022-12-01 17:43:13 +01:00
Torsten Grote
77c4506420 [download] add support for IPFS HTTP gateways
This refactors the library so that Downloaders receive the IndexFile directly so that they get access to the IPFS CID, but also to the SHA256 hash and the file size. Mirrors can now be marked as IPFS gateways.
2022-12-01 17:43:13 +01:00
Torsten Grote
eef3c3fb0d Upgrade to Android Studio Chipmunk
and upgrade other dependencies as well
2022-11-28 12:48:58 +01:00
Torsten Grote
83dd06e682 [app] upgrade dependencies 2022-11-28 10:17:30 +01:00
Torsten Grote
38e7bce982 Rename EntryV2 to Entry as requested by Hans in #2443 2022-11-25 12:24:33 +01:00
Torsten Grote
ce1d07b4b1 [index] in v1 the whatsNew refers to suggested version not first version 2022-11-24 22:34:50 +01:00
Torsten Grote
1608502569 [index] move v1 tests from app to index
and allow permission arrays of larger size for v1
2022-11-24 20:53:19 +01:00
Torsten Grote
f6075848e7 Move libraries into their own folder
and remove sharedTest symlink hack. The shared tests are now a proper gradle module to avoid issues with using the same source files in different modules.
2022-09-12 09:46:15 +00:00