View Issue Details

IDProjectCategoryView StatusLast Update
0007064AnastasisREST APIpublic2022-09-26 18:50
ReporterFlorian Dold Assigned ToFlorian Dold Due Date
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.3.0Fixed in Version0.3.0 
Summary0007064: GET /truths/ endpoint is problematic
DescriptionFirst, this one endpoint conflates many things that should probably be covered by separate POST requests. The GET response really should just be the status of the truth. Solving or triggering a challenge should be a POST against /truths/$UUID/solve.

Then, the HTTP response status codes are absolutely bonkers. Most completely go against the standard's interpretation of it.

208 Already Reported => This is a WebDAV status code, besides the name of the status code, is is totally not applicable here.
303 See Other => Bad, because it might be handled transparently by the user agent. An implementation of the reducer might not even get to see this response, and there is no reasonable scenario where we might navigate to /truths/ in a browsing context at all.
403 Forbidden => If anything, this should be unauthorized.
408 Request Timeout => no! the HTTP semantics of this status code have nothing to do with what the anastasis REST docs talk about
410 Gone => I don't understand what this even is supposed to mean
417 Expectation Failed => Again, totally goes against the HTTP spec
TagsNo tags attached.

Activities

Christian Grothoff

2022-02-27 17:34

manager   ~0018750

9cc9673..f6a64e0 documents two new POST /truth/ endpoints to replace the existing GET /truth/ endpoint. The new ones should address the points raised above.
This is not yet implemented.

Christian Grothoff

2022-02-27 21:37

manager   ~0018751

f6a64e0..fb3c4bb implements the two new endpoints. They are NOT yet used and NOT tested.

Christian Grothoff

2022-03-01 22:53

manager   ~0018761

Client APIs are now implemented. Still not used or tested ;-).

Christian Grothoff

2022-03-10 03:21

manager   ~0018788

New API is complete and tested with anastasis-gtk. Assigning to Florian (maybe re-assign to Sebastian) for implementation in the TypeScript version!

Issue History

Date ModifiedUsernameFieldChange
2021-11-03 10:45Florian DoldNew Issue
2021-11-03 10:45Florian DoldAssigned To => Christian Grothoff
2021-11-03 10:45Florian DoldStatusnew => assigned
2021-11-03 10:46Florian DoldDescription Updated
2022-02-27 17:34Christian GrothoffNote Added: 0018750
2022-02-27 21:37Christian GrothoffNote Added: 0018751
2022-03-01 22:53Christian GrothoffNote Added: 0018761
2022-03-10 03:20Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2022-03-10 03:21Christian GrothoffNote Added: 0018788
2022-04-12 20:13Christian GrothoffStatusassigned => resolved
2022-04-12 20:13Christian GrothoffResolutionopen => fixed
2022-04-12 20:13Christian GrothoffFixed in Version => 0.3.0
2022-04-12 20:14Christian GrothoffProduct Version => Git master
2022-04-12 20:14Christian GrothoffTarget Version => 0.3.0
2022-09-26 18:50Christian GrothoffStatusresolved => closed