History log of /haiku/src/apps/haikudepot/server/LocalPkgDataLoadProcess.cpp
Revision Date Author Comments
# 2af0f027 08-Dec-2023 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot : Rename Depot Url to Identifier

The old depot / repository "url" was renamed as
"identifier" some years ago. This field seemed
to remain as "url" and is now corrected.

Change-Id: Icd1390745311030e3fd57b852de91ed69b326496
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7190
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# c110a5eb 05-Nov-2023 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Loading Pkg File Size

This change will move the loading of packages' file size
to a latter phase as HaikuDepot starts up as a separate
step. This way it can only load sizing for those packages
which do not have a size from HaikuDepot Server -- which
should be very few. This gives a circa 10-15% performance
improvement on the phase where the local HPKR catalogue
of packages is populated.

Change-Id: I52055ecaa79f9819e70b469134e5b94636f02b13
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7095
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 338b492e 19-Oct-2023 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: minor performance improvement

Owing to the larger number of files involved, reducing the `stat`
operations from two to one seems to make some difference to the
performance.

Change-Id: Ia4f92e23a90967bbd12735a81be8ceecc605e385
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7055
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 409af934 01-May-2022 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Fix Crash on Shutdown

The MainWindow itself was a BReferencable via a listener
virtual class. It looks like the error has come from a
conflict between the MainWindow's own deletion and the
state of the reference count. This change moves the
listener / BReferencable out of the MainWindow so that
the lifecycle of the BReferenable can be managed
correctly.

A further problem here is that the new listener
was leaked from the MainWindow class on shutdown.
To resolve this problem requires a considerable
change to the "process coordinator" system.

Fixes #17689

Change-Id: I7230843ba05537015f4a597b4a616b96c6db3dde
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5285
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>


# f67e0538 20-Feb-2022 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Size Package Files

Obtain the size of local package files.

Fixes #17445

Change-Id: Ica15d3f7c1e80bcf9b3b23d6af851cc33b5b6253
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5016
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>


# a18f873f 06-May-2021 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Background Processing

Unify the background processing in the
application to one system and refactor
the package actions. This won't fix
any specific current issues with this
area, but lays the ground for later
fixes.

Change-Id: I098b81e7afc4aeb883bddf1acfc01f7888134257
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3997
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>


# 779ab335 09-Dec-2020 X512 <danger_mail@list.ru>

use .IsSet() instead if .Get() != NULL

Change-Id: Ia2b7a719fd398e78cc3b11d4f7b02cb81179f65f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3488
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 05880d13 16-Sep-2020 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Custom List Removal (Depots)

Remove use of custom list class where it is not
really required in the area of Depots. Also
convert the use of Depots to be wrapped in
BReference to match other model objects. At the
same time some data-loading logic has been
simplified.

Relates To #15534

Change-Id: Ie6fcc35f258a0c69c44990e4b09f6c32ec79945d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3225
Reviewed-by: Rene Gollent <rene@gollent.com>


# fa5c8097 25-Jul-2020 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Languages List

Abstacts the list of supported languages into
the LanguageModel class preventing use of
List. Also; fix a few cases where newer
logging techniques may have caused incorrect
logic flow.

Relates To #15534

Change-Id: I144fe4788abdaf0d93e53eeabc97b3f7aa2ec710
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3085
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# f96d1f4d 10-Jul-2020 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Better Logging

Changes the logging in HD to use a macro for the
various log levels to declutter the code and to
make it easier to more systematically log.

Change-Id: I025970707a0a11e7e3aaa4b52fc91288af0183f5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3018
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# aa272ca3 01-May-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Package Kit: reduce identifer/base-url confusion

For historical reasons, the package kit has an "url" field that is not
actually meant to be used as an URL. Rename it in the API and user
facing output as "identifier" to make it clear what the file is used
for. This change preserves the "url" key in on-disk and online storage
(hpkr files, stored settings, etc) in an attempt to not break anything.

Fix one remaining misuse of the "url" field as an URL in
get_package_dependencies.

Add an unit test showing that BUrl does parse "tab" URIs properly (there
is just a protocol and a path segment).

Change-Id: I339ce526e5798d42d78ae650855d7e988dbb4a1a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2542
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 992ae400 18-Jan-2020 Murai Takashi <tmurai01@gmail.com>

Fix catching by value

Pointed out by LGTM.
Change-Id: I223655c728305f6f45b3738553da5b7d7a69e8c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2134
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 1448ced0 18-Sep-2019 Humdinger <humdingerb@gmail.com>

HaikuDepot: sentence casing notification titles

* We generally use sentence casing, even for alerts and notification
titles

* Using "User usage conditions" uses a bit too many 'users' for my
taste. How about dropping the "User" and distinguish possible future
additions with e.g. "Developer usage conditions"?

Change-Id: Iff2473ec193515b960d3da45bbd590c95413f99f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1869
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>


# 3369e03d 15-Dec-2018 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Process and Data-loading Improvements

This change is a reshuffle of the backend processing involved in the
aquisition of data from servers including the pull-down and load of
HPKR data as well as the pull-down and load of data from the
HaikuDepotServer (HDS) system. The driver for this change is to
implement an initial implementation of a progress bar for the
loading of data as the application starts.

The following are notable changes;

* Removed some previously attempted 'functional style' logic in the
model which didn't fit well with C++
* Use of the base-url in the logical mapping from HDS and HD data is no
longer required and has been removed
* Some logging has been improved making it clearer which part of HD
is producing the logging which in turn helps with debugging issues
* List class has been modified to more cleanly support sorted lists
and binary searches; tests have also be updated accordingly
* Reorganise and tidy-up of the data-loading processes' structures
* The local repository update (HPKR) and data-load occur in background
processes now in the same system as the HDS data-load - this has been
crudely shifted from the MainWindow to new Processes and incorporated
into the background processing system
* The 'state-machine' background process runner is now replaced with a
'coordinator' style approach that can more easily handle the new
processes related to HPKR loading.
* Progress for loading processes is shown in the main window in the
WorkStatusView - this is flickering a bit, but basically works
* Added some documentation regarding how Processes work in the system
* The "Refresh Repositories" menu item now also updates data from HDS
* The "Refresh Repositories" menu item is disabled when the background
processes are running that update the repository data

Some further refinement would be good, but this change is large enough
for one round of improvements. There is an issue that the status bar
is used for screenshot display as well as this data-loading, but that
was the case before so it is something that can be dealt with later if
it is a problem.

Change-Id: I7668307645e3aabaf7e4a6e37e2cca80cc0f489e
Reviewed-on: https://review.haiku-os.org/770
Reviewed-by: waddlesplash <waddlesplash@gmail.com>