History log of /haiku/src/tests/apps/haikudepot/HaikuDepotTestAddon.cpp
Revision Date Author Comments
# bf866d5e 17-Feb-2024 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot : Improve Language Code Handling

HDS is soon going to be enhanced to deal with more than
just the two-character ISO language codes that it
currently supports. The logic in HD is currently expecting
that HDS will only supply these two character codes. This
change is about making adjustments to be able to cater to
any ICU language IDs from HDS.

The naming in HDS is still going to continue to use the
terminology that it currently does; it will call the
identifier for a language a "natural language code". The
HD source will instead reflect the nomenclature of ICU
and call the same thing a language ID.

Change-Id: Ib138c2e3b7b667edf15cd497c2f710f80b3c29f8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7424
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>


# b02777c1 25-Oct-2023 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Avoid Corrupt Username

If the user happened to enter control characters into
their username when authenticating then the username
may cause problems later when communicating back to
the server. This is a hard problem to diagnose and
this commit will remove the problem.

Change-Id: Iad3c24f16cc6799ad8ddad634b8621a0aaadb921
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7067
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 4b347fcc 23-Sep-2023 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Token Based Authentication

This switches the application over from using basic
authentication to using token-based authentication in
preparation for later using Open-ID based
authentication flows. The application version is also
bumped in order that the server can detect this version
at some later date in the future when it no longer
supports basic authentication itself.

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


# dfbcbde1 01-Mar-2021 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Remove Custom List

Closes #15534

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


# 027d6086 29-Oct-2020 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: LRU Cache for Icons

Only keep a fixed number of icons in memory at once.

Completes To #15370

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


# f0e491d3 28-Jul-2020 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Icon / Tarball Handling

Instead of exploding the tar-ball of icons from
HDS, keep it as a tar-ball, index it and read
data directly out from specific indicies on demand.

This will speed up the process of downloading
the icons by removing the unpack. Also updates
will be faster by avoiding the need to delete the
old icon files.

Because icons are loaded on-demand, the start
time is faster by avoiding all the icon loads.
There are also savings on memory consumption.

Indexing on each load is surprisingly fast so
no external index is maintained. Likewise for
the tar-balls's meta-data.

This commit does not cover the implementation
of an LRU cache of the icons in memory.

Relates to #15370

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


# 835e7239 07-Oct-2019 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Refactor of Login

These changes cover a rework of the login and
account creation logic before making additional
changes related to the user usage conditions.

Relates to #15209

Change-Id: I90b7dbcee5b0285476938c6ced0afc89483d6227
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2023
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 3094fef3 19-Dec-2017 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot : More Backend Communications Improvements

* Further improves the logging and provides some
basic performance numbers.
* Moves the bulk-load logic out of the data-model
class.
* Introduces a state-machine for the bulk-load
process so that it will be more easily able to be
shifted to non-blocking IO when the HTTP libraries
can do that.
* Implements concurrent loading of the bulk-data to
hopefully improve lead time for icons and meta-data.
* Loads data to a temporary file and then moves to the
final location in order to avoid partially written
data in the cache.
* Handles situations where no network is available;
prevents attempt to access the network.
* Allows bulk-load processes to be cancelled when the
application quits.
* Introduces command-line arguments to help simulate
scenarios to help with testing performance and
network absence.
* Implements ordered insert and binary search in the
'List' class + basic unit test.


# 3d528c4a 03-Nov-2017 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot: Change communication mechanism with server for repos

(last commit with same title only included new files - added those now)

Previously the desktop application would make a number of JSON-RPC calls
over HTTP to get the repositories. Now it will make a single call to get
the repositories and cache the result. This uses standard HTTP cache
signalling techniques and allows the server-side the ability to cache
the generated data as well. Note that the model classes and parse-
related classes are generated and may not be code-style compliant. They
are generated from JSON schema files in the server-side project.
Information about this as well as the python files used to generate the
C++ classes and headers are included in the server-side project.


# a1c3daa6 01-Aug-2017 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot : Streaming Icon Meta-Data Parser

More background work for later performance improvements.
This change generalizes the parsing of meta-data from
JSON streams as similarly structured meta-data is
anticipated to be carried in other payloads. Unit tests
have also been implemented to provide coverage on this
new functionality.