It has rightly been said - “All good things come to an end”. Google Summer of Code too was one of the good experiences I’ve had, in the sense that I didn’t know anything about the Open Source world. It provided the exact platform that I needed to kickstart my open source contributions.
About my project:
Haiku has its own coding standards which describe how the code should be formatted. Haiku-format is a tool that reformats code according to Haiku coding style but it is not giving desired results. So, we need to format the code such that when this code is run on Haiku the coding style of code gets updated according to haiku guidelines, but it has to be compiled on the developer machine and then run manually.
Few components of Haiku are as important to the operating system and its functionality as the preferred web browser and internal project: WebPositive.
In recent days, some users have expressed concern about a “disappearing text” bug, where some text on web pages will disappear for undetermined reasons. This issue is now fixed, but highlights the reason why WebPositive is so important.
The history of WebPositive is as intricately woven into Haiku as BeOS was, and has served as a major effort for all the programmers and users of the operating system even as other web browsers are successfully ported, work for a little while, then, unfortunately, lose functionality and are abandoned.
Hello all! This is the third update from the Haiku Promotion Team.
Beta3 Released
As you have noticed, Beta3 has been released! Huge shout out to kallisti5, who was the release coordinator for Beta3. Making a major release of Haiku is a daunting task to all involved!
New Team Members
Since I last wrote in March this year, we welcomed the following members to the Team:
- animortis
- AlwaysLivid
- jeremyf
Switching to IRC/Matrix
It was brought to our attention that the way the Promotion Team communicated was not a very transparent one – we communicated through a group private message on the Haiku forums. Thus, the decision was made to switch to IRC/Matrix, because it is a trusted technology, and it can be accessed from all major platforms including Haiku. Now, anyone can see what we are discussing and working on and can participate in our discussions! If you wish to join, we have a discussion room at #haiku-promo on OFTC, with bridges to Matrix.
This blog will contain all the information about what I have done till now.
I started with the input preferences directory and started solving the issues according to haiku guidelines.
A few changes have been made to clang-format. This work takes a lot of time because it needs a complete understanding of how the llvm code works. As there was number of files, it was difficult to figure out which file should contain the solution of the problem but PulkoMandy really helps me alot.
While working on this project I learn new things which were really good!
Tl;dr I have completed the bot with basic functionality for my local gerrit instance
Link to Introductory blog
Link to Progress 1
Link to Progress 2
As I have said before I divided my project in the following parts
- For every event (change, patch etc.), trigger the Concourse CI pipeline.
- Implement pipeline in concourse CI for fetching the Git repo and running the haiku-format tool on the relevant files and creating appropriate reports out of the tool.
- Implement REST API call to post the result back to Gerrit reviews as a robot comment.
Since last time I started working on creating a report that could be displayed under patchset comments by the bot. I started by looking at various flags of clang-format command out of which --dry-run, --Werror seemed to be working just fine. But I wanted to run the tool only on the files that have been updated/added since last commit and not the entire project. Eventually I found a better way for this i.e. git-clang-format python script which is already present in the llvm project. After installing clang-format, we just need to put this script in /usr/bin/ folder. We can invoke the script using git clang-format directly. git clang-format --diff --style=haiku HEAD~1 would run clang-format with haiku style on the files that have been updated/added since last commit and showcase the diff of it. In order to use this diff information later I dumped the output of the previous command in a file named diff.txt. To use it in my concourse workflow, I added the git-clang-format script on my local server that I created last time using golang to host the clang-format file. Now this seemed rather promising so I went ahead onto the next task i.e. Implement REST API call to post the result back to Gerrit reviews as a robot comment.
Looks like it’s time for me to clutter the blog again!
To start: Since the last update, Caya has been hard-forked and renamed to
“Cardie” (short for “cardinal”),
which at least fits the “bird theme” of libpurple clients.
… And the name’s fitting, since it’s now a fairly functional libpurple client.
:-)

libpurple support
There are a few features not implemented yet, which keeps it behind the XMPP
add-on in terms of functionality, but the core is there: Configuring
and managing accounts for any protocol, joining/creating/leaving rooms,
chatting, sending/receiving your own status, room invitations, managing roster,
purple-side chat commands, etc.
XFS project progress
Hi, I am going to make a short summary of the XFS project work since last post.
Anyway, you can find my post named ‘GSoC 2021 Project: XFS support progress’ on the forum. It records part of the work. Of course, the most is on Gerrit. topic:“xfs” on Gerrit
We could find all remaining patches are merged. But, by the way, not all problems. There is a problem leaving. To be honest, I just learned how to use GDB under linux to debug today… I lack big project experience before so it is also new skills for me. Now I need to fix it soon and then move to next step quickly, if there is no other changes, it will be attributes read support. So it is also why I choose to write summary at this time. I need to continue my attempt afterwards.
Link to Introductory blog
Link to Progress 1
On my quest to finding a way to trigger my jobs anytime a commit happens in gerrit I was looking into this repo and trying to make it work. I tried using it as a resource but it turns out either it’s not public anymore or it was deleted. Then I went through the list of forks in that repo and found this. He claimed to have a base for a somewhat working resource after he made some changes. I cloned his repo and tried building the Dockerfile but it threw some errors. After struggling on it for quite some time and making some minor changes to the files I finally managed to build it and upload it to dockerhub. Then I tried using it as a resource but it failed to fetch my local gerrit repo. Also, the whole thing was written in go which was totally new to me so I started by learning “go” and after some time when I got the hang of it, I started the debugging phase.
As we get closer to the release of Beta 3, it is important we ensure our translations are updated.
Current State of Translation Work
- As of now, no new language has currently reached over 60% since Beta 2 was released last year.
- Croatian translations are at 58%. If no progress is made, this translation risks being removed from Beta 3!
- Korean, Hindi, Bulgarian, Czech and Norwegian were already under 60% in beta2 and are still under 60%, somewhere between 45% and 60% complete. It would be really appreciated if these translations were made more complete so they can be included with the Beta 3 release.
- Languages that are already available on Pootle, but need a lot more work:
- Punjabi
- Slovenian
- Arabic (unfortunately this translation can’t be displayed due to lack of right-to-left text support in Haiku)
- Serbian (both Latin and Cyrillic versions)
- Macedonian
- Maori
- Low German
- Persian
- Na’vi
Pootle
Translation Cut-off for Haiku's User Interface
The cut-off for interface translations on Pootle remains at 60%.