HaikuDepot - Refactor in progress (HELP WANTED)

Hello! I’m currently working on a refactor of the data-handling mechanisms in HaikuDepot so the application can better cope with the large number of packages in play. Unfortunately this touches a lot of the code-base and I probably have some weeks elapsed time to go.

As a result, it would be great if anybody is looking at any significant HaikuDepot changes to get in contact first to coordinate or potentially hold off for a wee while until these changes land so that I can avoid dealing with a lot of complex conflicts.

Thanks! :pray:

14 Likes

Hello :wave:

As above, I’ve prepared a large (and long planned) refactor of HaikuDepot. This refactor is not easily broken-up and so represents a “big bang” commit. You can see the details in the commit message in the PR. The intent with this refactor is to improve the stability and performance of the data-handling within the application as well as the way in which data-handling interfaces with the GUI. Other improvements will be easier to layer over the top as well.

Because the refactor touches a large number of files, it will be hard to review cohesively at a code level. I would therefore appreciate some help with manual testing from the community. You can find the change PR here which you can patch on top of the current master and then rebuild. Alternatively, there is a binary available for the next 10 days which I have built locally if you are OK with this. This binary should only be tested on an updated nightly system. The SHA256 hash for this build distribution .tgz is 2b5a13bddfe135908a27de9eca96dcf0013934262890020ee1ecd6c664df6042.

It should be obvious, but to be clear; this work is in development so only use these changes with a testing system.

The only thing that I am interested in getting feedback on around this piece of work are regressions against existing behaviour and stability problems such as freezing or crashing. Specifically I am not wanting to open a discussion about new features in this thread.

Especially if you have a known case where the application is currently unstable for you then please test this change to see if it resolves your problem. If you have an open ticket covering a stability problem, add a comment to indicate that it has or has not been resolved by this refactor. If you find a new problem that does not happen on the current version of the application but does happen with the refactored version then open a new TRAC ticket. In either case please link to the PR and mention the patch-set such as patch-set-1 in the ticket. A crash-report (if applicable) and the last 50 or so lines of the diagnostic log are helpful for understanding any given problem. See here under “Diagnostic Logs” for details about how to obtain the log.

Remember if you are testing timing, do a couple of startups of HaikuDepot first on a specific version (refactor or regular) to warm the caches from the server.

Thank you for any help with this.

9 Likes

The test build for this patch is also available here:
https://haiku.movingborders.es/testbuild/Iefaf4a137411e379e4c461ebc8c783fd1646bcf4/3/hrev58719/x86_64/

2 Likes

Hello. If is useful for you, I could test a 32 bit version (sorry, no 64 bit installation here).

Thanks!

1 Like

Hello @un_spacyar ; Hey thanks for the offer. That would be great. There is an x86_gcc2h build here for a few days with SHA256 checksum 46b662783c0b50e2920661bbe68ed39dbcd5889bacb3c4fff4d45edd58e690b8.

2 Likes

Hi there; thanks to those who have been able to undertake some testing around this change. Unless there’s any outstanding issues anybody knows about or more time is required for testing, I will give this about 24h more and then merge this change in.

5 Likes

I’ve not reviewed further than the files I crittiqued, but I don’t have time this weekend. So no objections if you want to merge now. :smile:

EDIT: I also tested this on one machine and it worked fine.The crash when searching on launch iirc also dissapeared.

3 Likes