Page MenuHomePhorge

Fix crash when upload failed
ClosedPublic

Authored by nannanko on Jul 6 2024, 5:10 PM.
Tags
None
Referenced Files
F29173664: D104.1767959007.diff
Thu, Jan 8, 3:43 AM
F29032796: D104.1767931346.diff
Wed, Jan 7, 8:02 PM
F29031615: D104.1767931080.diff
Wed, Jan 7, 7:58 PM
F29028780: D104.1767930436.diff
Wed, Jan 7, 7:47 PM
Subscribers
None

Details

Summary

When response isn't an valid json, nlohmann::json::parse() will cause a crash. This fixed it.

Type: fix

Test Plan

Verify that kazv doesn't crash when upload failed.

Diff Detail

Repository
rK kazv
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

There is currently a lack of unit tests, and I'm not sure how to write them at the moment. I will add all related tests for uploading and downloading soon.

src/kazv-io-job.cpp
299–300

Why not use try-catch?

Also Better to log it.

299–300

Don't assume the json body is in valid format. There are plenty of things that can go wrong.

tusooa requested changes to this revision.Jul 6 2024, 5:41 PM
This revision now requires changes to proceed.Jul 6 2024, 5:41 PM
  • Use try-catch for exception
tusooa requested changes to this revision.Jul 12 2024, 7:08 AM
tusooa added inline comments.
src/kazv-io-job.cpp
300–315

Note, your original code doesn't create a default-constructed json. This creates an empty json array instead.

305

should be qCWarning(kazvLog)

309
310
313

should be qCWarning(kazvLog)

src/l10n/en/100-ui.ftl
215

missing translations for cmn-Hans

This revision now requires changes to proceed.Jul 12 2024, 7:08 AM
  • Add cmn-Hans translations
  • Use qCWarning instead of qDebug
  • Check json format, fix a template call
This revision is now accepted and ready to land.Jul 13 2024, 9:08 AM
This revision was automatically updated to reflect the committed changes.