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