View Issue Details

IDProjectCategoryView StatusLast Update
0007064AnastasisREST APIpublic2022-04-12 22:14
ReporterFlorian Dold Assigned ToFlorian Dold  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
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 18: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 22:37

manager   ~0018751

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

Christian Grothoff

2022-03-01 23:53

manager   ~0018761

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

Christian Grothoff

2022-03-10 04: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 Modified Username Field Change
2021-11-03 11:45 Florian Dold New Issue
2021-11-03 11:45 Florian Dold Assigned To => Christian Grothoff
2021-11-03 11:45 Florian Dold Status new => assigned
2021-11-03 11:46 Florian Dold Description Updated
2022-02-27 18:34 Christian Grothoff Note Added: 0018750
2022-02-27 22:37 Christian Grothoff Note Added: 0018751
2022-03-01 23:53 Christian Grothoff Note Added: 0018761
2022-03-10 04:20 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2022-03-10 04:21 Christian Grothoff Note Added: 0018788
2022-04-12 22:13 Christian Grothoff Status assigned => resolved
2022-04-12 22:13 Christian Grothoff Resolution open => fixed
2022-04-12 22:13 Christian Grothoff Fixed in Version => 0.3.0
2022-04-12 22:14 Christian Grothoff Product Version => Git master
2022-04-12 22:14 Christian Grothoff Target Version => 0.3.0