2021-10-14 - Working on my first issue

Home

Finding my first issue

THe first hurdle in contributing to Ubuntu Touch is finding what issue to work on. When I say issue, I mean a bug or feature request that is recorded in the issue tracker on github/gitlab. Ubuntu Touch projects are spread out between Github and Gitlab as they migrate from the former to the latter over time. Since most of the core parts of Ubuntu Touch are on Gitlab, that is where I decided to go to find issues. Specifically you can view all of the issues in the organization here. Scrolling through the list I found an issue that is related to the port type page on ubuntu-touch.io and possibly some missing information. Time to get to work. (Issue)

Understanding and learning

So this person is saying that the port type page is missing information about android 10, 11, and 12. To add to that, it doesn't show phones that are based on Android 10. It is possible that this page just hasn't been updated in quite some time, or Android 10 based devices aren't functional enough to add to that page yet. So android based devices that run Ubuntu Touch use a project called Halium in order to control/access their hardware. I'm not an expert, so I might get some information wrong here. Halium uses the android kernel and some (I think) android code running in a container in order to provide functionality. So an android device with a version of android supported by halium (android 9, for example) could, in theory, have Ubuntu Touch ported to it. Having never done any porting, this is the extent of my knowledge on this. Back to the issue, my first reaction is that I think Halium 10 is not yet ready for daily driving devices. The author mentioned that the miatoll phone is not on that page, which is the Xiaomi Poco M2 Pro. I looked up that device on the devices page and I can see that it is based on halium 10 and is missing quite a few features (poco M2 Pro). However, if you look at all of devices that are based on Halium 10, it does mean that there are a lot missing from the list. It could be added, time to look at the find out where Halium 10 is at.

Information gathering

  • Looks like Halium 10 is displayed on the same level as Halium 9 in the UBports docs.
  • Ports using Halium 10 seem fairly mature, most having a majority of features supported.

So I think I was wrong, there are a lot of Halium devices that work quite well. The page in the issue must just be out of date. I guess I keep moving forward now.

Working on a fix for the issue.

In this case, I don't think I can fully fix the issue. This page has content on it in relation to the different Halium versions (e.g. Refers to 9 as the latest). What I will do is just change it to something that makes sense to me and mention in the description of a merge request that the content may need tweaking. Now, this website is built using Vue.js and Gridsome, which I have very little experience with, but should be straightforward enough. I'm basically copying the section for Halium 9 and replacing 9 with 10.

Setup

To get started I cloned the git repo to my laptop, opened it up in VSCode (my code editor of choice right now), and took a look at the README. Fortunately it is super easy to develop a gridsome project, just `npm run develop` and it will compile and run the site locally. With that out of the way, I can get started.

Development

First thing I see when I open the file for the /about/categories page is that I need to do is add a halium10 query to the <page-query> section at the bottom. Very easy, looks like it filters through the .md files in data/devices. Next copy the Halium 9 section and modify to be Halium 10. Gridsome does a nice job of auto-building the changes and refreshing the page I have open. This was a very simple change, so I'm not going to go into a lot of detail, but now I need to figure out how to make a merge request. I've never done this in Gitlab before. [Time passes] I have forked the original repository and committed my changes to the fork. Then I created a merge request from my repo to the original repo. The MR is available here. I also left a comment on the original issue to explain what I added in the merge request and why I didn't add anything about Android 11 or 12.

Conclusion

This was a very small issue to fix and doesn't really have much of an effect on UBports as a whole, but it was fun and scratches an itch that someone had. Excited to find more issues to fix!

Home

Created: 2021-10-20 Wed 10:44

Emacs 27.2 (Org mode 9.4.4)