Week 8
I picked up where I left off with Chat-activity, implementing the Search feature. Since I got collaboration environment setup, I could go ahead with testing the feature as well. As expected there were bugs in the feature.
The user experience at the start seemed unsual. The feature failed with multiple TextBoxes. After debugging, I quickly realised that I was not updating my count at one point which seemed to cause the problem. The other thing I notices was that the cyan tag, was not jumping between the TextBoxes. Rather, a new cyan tag was created and the older one continued to remain, which meant that at any point there were two matches in existence.
This was a serious issue. At the back of my head, I seemed to think as to what could have caused the problem in the code, whereas I constantly believed that it cannot be a fault in my code, because no matter how mnay times I tried retracing it, the logic seemed perfect and I carried it out as expected. Even my mentor was a loss. One night, having been awake till 4am in the mornign, I noticed that I had forgotten to update a variable name when I included a condition in a certain place. Unfortunately, the older variable name was still in use.
I quickly fixed it and the feature worked like a charm. However, I was yet to add the shortcuts and automatic scroll feature, which proceeded with immediately. The former was simple, just about adding accelerators. However, the latter was tricky. Each TextBox comes can be added to a Gtk.ScrolledWindow, and used for auto-scrolling, however, since the activity contained several TextBoxes, I found it hard to understand how the code worked. In the end, I got my PR partially pushed and the problem about the auto-scrolling remains unfixed.
I also worked on Cedit-activity of saving individual files as Journal instances. I made use of custom Gtk signals to handle the user envents of clicking specific buttons. However, the PR at the moment, does not meet with what the expected user experience.
Links to PR: Cedit-activity: PR #13 Chat-activity: PR #19