JSON API mixes null and empty strings for missing URLs
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
Research direction
Start by tracing the API serialization for list_archive_url, webscm_url, and the other nullable URL fields mentioned in the issue. Determine whether the null-versus-empty behavior is controlled by DRF or Patchwork, then verify that nullable URLs consistently produce null and that the behavior is covered by the relevant API tests.
Written by the indexing model from the issue text.
Description
This is in quite a few places.
list_archive_url is null (though it can be "" too! not sure what the correlation is), most other nullable URLs i.e. webscm_url are "".
I believe the best option is to have them all be null, avoiding cases where a JSON parser knows a field should contain a URL, finds a value (since it's not null), and can't parse it as a valid URL.
Also not sure if this is a DRF quirk or something Patchwork can control.
- Dominant language
- Python
- Stars
- 317
- Forks
- 91
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from getpatchwork/patchwork
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
getpatchwork/patchwork#668 ·
-
bug web-ui
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
getpatchwork/patchwork#546 · 2 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 52/100
getpatchwork/patchwork#664 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
getpatchwork/patchwork#663 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
getpatchwork/patchwork#645 ·
All issues in getpatchwork/patchwork
Similar issues
-
Add: hunch Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
DiamondLightSource/dodal#2211 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
openml/openml-python#1749 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
sipyourdrink-ltd/bernstein#6191 ·