Commit Graph

10742 Commits

Author SHA1 Message Date
Michael Pöhn
de69003c5d Merge branch '2.0' into 'master'
Release 2.0-alpha6

Closes #3218, #3222, #3223, #3228, and #3229

See merge request fdroid/fdroidclient!1644
2.0-alpha6
2026-03-29 17:21:28 +00:00
Torsten Grote
05233f3f6a Release 2.0-alpha6 2026-03-26 14:40:29 -03:00
Torsten Grote
3bd170ba5e CI: Don't manually install apps before running tests
We've seen some errors where the apps couldn't get installed when it was time for tests, so maybe this helps. Also installing the apps manually shouldn't be needed.
2026-03-26 14:39:52 -03:00
Torsten Grote
74abab56da Don't scroll to top when rotating screen in My Apps
when there are updates available
2026-03-26 14:39:52 -03:00
Torsten Grote
91e5f6ef4a Fix more padding/placement issues
related to window insets mostly
2026-03-26 14:38:57 -03:00
Torsten Grote
6bf1f76b32 Fix icons
* add monochrome icon for basic flavor
* make icons smaller so antennas don't touch border of circle of round icons
2026-03-26 14:38:57 -03:00
Torsten Grote
709c04d008 Fix crash when deleting repos 2026-03-26 14:38:56 -03:00
Torsten Grote
34b3fa31f4 [db] fix diff bug where zero-whitespace gets added more than once
This bug only affects CJK languages and apart from DB growth, the symptom is that word filtering in app lists doesn't find affected apps because we look for a single whitespace between tokens
2026-03-26 14:38:56 -03:00
Torsten Grote
bd8d1b9261 Fix crash when removing screenshots from disk cache 2026-03-26 14:38:56 -03:00
Torsten Grote
e6c1d0d91a Fix name and summary localization in app details 2026-03-26 14:38:56 -03:00
Torsten Grote
fa2ef709cf [db] Deprecate usage of localization cache for name and summary 2026-03-26 14:38:56 -03:00
Torsten Grote
91a880a236 Add tests for search in app lists 2026-03-26 14:38:56 -03:00
Torsten Grote
5e7c1c7a94 Upgrade dependencies 2026-03-26 14:38:55 -03:00
Torsten Grote
2d7cf4f455 Use new SearchQueryRewriter and adapt for improved Chinese queries 2026-03-26 14:38:55 -03:00
Torsten Grote
42314c8377 [db] Add SearchQueryRewriter and use it in AppSearchItemsTest
This code comes from SearchManager, but making it available in the DB library makes sense since the queries are specific to the DB implementation such as zero-whitespace hack.
2026-03-26 14:38:55 -03:00
Torsten Grote
757ac543b3 [db] Add search test: AppSearchItemsTest
the test tries to ensure that queries in various languages provide results within some limited test data
2026-03-26 14:38:55 -03:00
Torsten Grote
c88b47a494 [db] Move migration tests into their own package
as it got kinda crowded in the database package
2026-03-26 14:38:55 -03:00
Torsten Grote
e13f58a10d Move Fts repair check out of Application
because it may cause database locked crashes
2026-03-26 14:38:54 -03:00
Torsten Grote
5c64b8ec1a Add tests for SearchManager
An attempt to already test against a real in memory DB failed due to the module separation. So the search will be tested from two sides. This is the UI side and the DB side comes later.
2026-03-26 14:38:54 -03:00
Torsten Grote
201060076c Fix horizontal padding
in the rare case that a device has a very small screen and uses three button nav, so the nav is on the right side of the screen and overlays our content if we don't apply the proper padding insets
2026-03-26 14:38:54 -03:00
Torsten Grote
abfaafeede Remove zero whitespace from CJK languages in app details
where that text could get copied to the clipboard
2026-03-26 14:38:54 -03:00
Torsten Grote
1ed12630ca Fix CJK language search in app lists and my apps 2026-03-26 14:38:54 -03:00
Torsten Grote
b48369fed3 Check Fts integrity after startup and rebuild it, if needed
We tried doing it inside the DB library when the DB was opened, but that blocked all DB access for too long each cold start, so doing it on a worker thread some time after start seems like the better solution.
2026-03-26 14:38:53 -03:00
Torsten Grote
13a3b313db [db] add a method for repairing Fts table, if corrupted
this is a bit hacky, but there seems to be very little information about this specific bug which affected several installs and either degraded search result quality or broke search completely.

In absence of a better fix or even a way to reproduce the issue, we are resorting to this.
2026-03-26 14:38:53 -03:00
Torsten Grote
e8ae5981b2 Handle list of repos being null before they have loaded 2026-03-26 14:38:53 -03:00
Torsten Grote
853382a8b2 [db] list of repos in RepoManager is null until they have loaded
Otherwise, we can't differentiate between not having repos. This difference is important when a DB migration delays initial loading of repos.
2026-03-26 14:38:52 -03:00
Torsten Grote
91d74ed333 Add screenshot test for My Apps 2026-03-26 14:38:52 -03:00
Torsten Grote
73a8fbb65b Run screenshot tests in CI 2026-03-26 14:38:52 -03:00
Torsten Grote
e64f0c5c3e More data for discover screenshot test 2026-03-26 14:38:52 -03:00
Torsten Grote
006276ce84 Fix RTL language presentation of installing apps 2026-03-26 14:38:52 -03:00
Torsten Grote
6e7d63064d Add tests for RepoUpdateWorker 2026-03-26 14:38:51 -03:00
Torsten Grote
ae653123db Add tests for AppUpdateWorker 2026-03-26 14:38:51 -03:00
Torsten Grote
d85f9a9963 Add tests for InstalledAppsCache 2026-03-26 14:38:51 -03:00
Torsten Grote
68ae977d9c Add a small test for CacheCleaner 2026-03-26 14:38:51 -03:00
Torsten Grote
9f85c16acc Add Contact, Radio, Remote Controller categories 2026-03-26 14:38:51 -03:00
Torsten Grote
f807040e53 Add Git LFS to CI setup 2026-03-26 14:38:50 -03:00
Torsten Grote
c6f3dbb8ce Add git status to DB schema check CI job 2026-03-26 14:38:50 -03:00
Torsten Grote
53496d1d3a Add tests for SessionInstallManager 2026-03-26 14:38:50 -03:00
Torsten Grote
91d1f201dc Make SessionInstallManager testable 2026-03-26 14:38:50 -03:00
Torsten Grote
022752be8c Refactor AppInstallManager for readability 2026-03-26 14:38:49 -03:00
Torsten Grote
59d181e651 Add tests for AppInstallManager 2026-03-26 14:38:49 -03:00
Torsten Grote
dd62075388 Catch more error conditions in AppInstallManager 2026-03-26 14:38:49 -03:00
Torsten Grote
3b03f0878a Refactor RepoUpdateManager for readability
some code was factored out into own files as well
2026-03-26 14:38:49 -03:00
Torsten Grote
d3f6b3d692 Add tests for RepoUpdateManager 2026-03-26 14:38:49 -03:00
Torsten Grote
af8058314b Add tests for UpdatesManager and the new UpdateInstaller 2026-03-26 14:38:49 -03:00
Torsten Grote
2cf17bb986 Refactor UpdateManager for better readability
also separate UpdateInstaller since updating apps is technically a different concern than loading updates and exposing state about them.
2026-03-26 14:38:48 -03:00
Torsten Grote
b8069d86cb Track screenshots for tests in LFS 2026-03-26 14:38:48 -03:00
Torsten Grote
6d7b10be86 Some fixes for TimingDatabase logging 2026-03-26 14:38:48 -03:00
Peter Serwylo
ba87e2e8ba DB Performance fixes focussing on App Details screen.
Added indexes based on slow query logs and associated `EXPLAIN QUERY
PLAN` output.

Note: There are some composite primary keys with `repoId` +
`packageName` + ..., and we still ad an index on `packageName`.
This is because the order matters in composite keys. It might
be possible to restructure the primary key to be `packageName` +
`repoId` + ..., however this requires removing the table and
recreating it which is more complex then just adding an index on
`packageIndex` in addition to the primary key. There is also no
guarantee that things wont slow down when restructuring the primary key,
because there may be some cases where it is important that `repoId` is
first in that index.
2026-03-26 14:38:48 -03:00
Peter Serwylo
262d322dc5 Instrument db to monitor slow queries and log explain statements.
Only enabled in debug mode. When auditing performance, make sure
to tune the parameters to the open helper. By default it will log
and explain queries that take more than 2s.
2026-03-26 14:38:45 -03:00