Open jjchee77 opened 7 months ago
Hey there! thanks for bringing this up. The team had a discussion before and we decided it was impractical to try and account for all cases of data corruption or tampering of data - it simply wouldnt be relevant for most of our users.
Team chose [response.Rejected
]
Reason for disagreement: I deeply appreciate the time the team has took to triage this bug.
However, it is not impractical to account for all cases of data corruption. AB3 already ensures that its own fields are non-null else a default address book is created.
Therefore, the team only needed to add checks for the new fields that were added. Additionally, the target users for CodeConnect
are student developers, which increases the likelihood of them to understanding the JSON format and attempting to edit the JSON file, making this bug applicable to them.
Additionally, a simple catch-all exception could also be used to wrap around the root method(s) used to read the JSON file and create the default address book.
This bug appears to be very dangerous. For example, a user might have been trying to copy something but entered Ctrl-X
instead of Ctrl-C
, not noticing that he had removed a JSON field, causing the app to not start at all. Normal users typically start the jar via double-clicking instead of the command line meaning they would have no clue what had happened.
As per what Prof. Damith has mentioned in the forum, the minimum support for invalid edits to the JSON files in the tP should follow AB3 which is as follows:
Therefore, this bug is valid.
Description
Removing
techStackName
field fromdata/addressbook.json
causes app to not launch, no error message displayed if user opens it by double-clicking.Steps to Reproduce
techStackName
field fromdata/addressbook.json
from a person with a tech stack.Expected
Application starts out with an empty contact book and optional message indicating corrupted address book.
Actual
Note
-