Updates - CSCI-462-01-2021/Fork-Bomb GitHub Wiki
Update 2/24:
Waiting for clarification on what the goal is for leaving challenges. The options are if when leaving a party or guild and choosing to leave the challenges, if the tasks are removed from the user's profile, if that option is even given, or if the tasks always stay. Asked for clarification on 2/23 on github issues page. If no response soon, will try to contact Habitica staff through the blacksmiths guild.
Until then, all of us will shift our focus to the widget issue. We plan to have widget issue submitted prior to coming back from break on 3/9. The plan currently is to open the app if a subtask is selected in the widget. TaskListFactory (file) is looking promising, but we are still figuring out the different states of the app and how to correctly make the call to open it.
Update 3/9:
We have continued to work on leaving challenges. We were able to get clarification on what the Habitica team wanted and they gave us updated models. Another user has asked to collaborate as well.
We have continued to attempt to find the solution to the widget issue from multiple angles.
Concerning our timeline, we are on track, having two issues completed and pull requests submitted by this time in the semester. We are approaching our 'due date' for another pull request within the next week.
Update 3/23
For leaving challenges, we met on 3/17 with the group from Mills College who want to collaborate. They have similar ideas for how to fix the issue and had implemented a for each loop using userRepository. This causes the popup to show up if the user has any challenge, but does not matter if the challenge is related to the group the user is trying to leave or not. Another issue with this approach is that the popup will continuously show up at seemingly random, even after hitting cancel. We believe that this may be due to the fact that getUser returns a flowable and the fix may be to use either a blocking method which returns a type (User) or a method which returns an iterable. Isabel has been testing those, but not having much luck as the app crashes. Chloe has adjusted the strings and where the buttons are created in the code to match the Habitica's staff desired output on the popups.
For the widget issue, we have come up with a fix and implemented it. Currently, if a task contains subtasks and it is clicked on in the widget, the app will open. We have since been updated by the Habitica staff that they would like to discuss further how they would like to fix this issue. One request was to add an indicator of a task having subtasks and just opening the app as was implemented, in which case they would take our pull request. The other fix would be allowing the user to check-off the subtasks from the widget, which is a more difficult fix, but allows less steps for the users.
Our group plans to meet with the Mills College group again on Wednesday and start writing the abstract and planning our presentation for the poster session this week.
Update 4/05
We recorded our poster session for our capstone last Friday. In it we briefly discussed Habitica and covered the four issues we contributed towards on their GitHub. Since two issues are still being worked on, this presentation may not fully reflect our final product, but it hits the major points.
On the widget front, the Habitica staff responded back and confirmed that they prefer the second fix. Progress towards this more complicated fix has been made and we are continuing to work on it, but more research still needs to be made on how remote views and list views work.
Good progress has been made on the leaving challenges issue! The functionality has been implemented and the fix does seem to work as intended, updating the backend properly. However, the front end does not immediately reflect when a user leaves a challenge, and the user must manually refresh. Once we fix this, we will be ready to submit a pull request.
Update 4/13:
We have recorded and edited about 80% of our final video, which includes several demos.
For the leaving parties and guilds with challenges issues, it appears as though everything refreshes at an appropriate rate now when the user chooses to leave the challenges. Today, we want the last members of our group to test out the functionality and as long as it checks out we will make our pull request for this issue. There are other issues related to this issue we may be looking into after this course, including having challenges visible on party and guild pages and differentiating between private and public challenges to improve the functionality of keeping challenges after leaving a group.
There have been some developments in the widget when it comes to views and why duplicate tasks have been created. We have found another file in yesterdailies which creates a similar view to the solution we're going for. We were hoping this file would be helpful and it might still be, however, in this case the view isn't limited by the RemoteViewsAPI. Looking through more of these files have shown us how complicated the subtasks can get as they have that in its own function.