parth-io / pe

0 stars 0 forks source link

Data storage file does not invalidate incorrect tag names #5

Open parth-io opened 1 year ago

parth-io commented 1 year ago

Steps to reproduce:

  1. Edit the colleagues tag in 'data/addressbook.json' to be colleagsssues image.png

  2. Launch the app

  3. 'Roy Balakrishnan' still has the `colleagues' tag even though it does not exist.

image.png

nus-pe-bot commented 1 year ago

Team's Response

No details provided by team.

The 'Original' Bug

[The team marked this bug as a duplicate of the following bug]

Editing the reminders.json file to have an invalid date does not notify the user

Edit 'reminders.json' to have an invalid date as shown below.

From the UG, "If your changes to the data file makes its format invalid, Rapportbook will discard all data and start with an empty data file at the next run." But it is not at all clear that edits to 'reminders.json' will only invalidate the data for reminders and not for all the data including client data.

Why should the user be notified of any parsing errors in reminders.json, or why should any parsing errors from reminders.json invalidate all data? Because the user will continue to use the app as expected. If there are many reminders, and if just one of them has an invalid date but is a really important reminder, the user will not realise that this important reminder is missing.

image.png


[original: nus-cs2103-AY2223S1/pe-interim#519] [original labels: type.FeatureFlaw severity.Medium]

Their Response to the 'Original' Bug

[This is the team's response to the above 'original' bug]

Good catch, however, it is very rare that a user would dig into the data files and modify it to become an invalid value.

Only advanced users would modify the data files, and advanced users should know what they are doing.

Items for the Tester to Verify

:question: Issue duplicate status

Team chose to mark this issue as a duplicate of another issue (as explained in the Team's response above)

Reason for disagreement: It's not a duplicate, as a fix for this would only entail improving the checks for valid tags. This fix to check for invalid tags will not automatically fix checks for invalid format in reminders.json, which is a separate file, has different fields, and has its own deserialising mechanism.

image.png


:question: Issue type

Team chose [type.DocumentationBug] Originally [type.FunctionalityBug]

Reason for disagreement: I am fine with severity.Low, but this bug report is not a DocumentationBug, because the behaviour of the app is not as expected. It can be considered a FunctionalityBug because the behaviour of the app does not match the UG where "If your changes to the data file makes its format invalid, Rapportbook will discard all data and start with an empty data file at the next run." Invalid tags should make the data file invalid, and thus discard all data.

it is very rare that a user would dig into the data files and modify it to become an invalid value

Accepted as justification for severity.Low

advanced users should know what they are doing.

Normally, yes, but even the best of us can make mistakes. The point is that the feature is not working as advertised (that invalid fields will cause data to be discarded).


:question: Issue severity

Team chose [severity.Low] Originally [severity.Medium]

Reason for disagreement: [replace this with your explanation]