-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactoring of error propagation and more #288
Conversation
… and dataset resources CRUD
6f698f2
to
d03ccec
Compare
Here is a first round of (human) tests creation and listing of projects
CRUD of datasets
CRUD of dataset resources
|
d03ccec
to
e900c47
Compare
Closes #289 |
ba32284
to
cef7c39
Compare
Some more tests:
|
EDIT: this was before the relevant commit, to repeat
GLITCH: after a failed workflow import, close the modal, then perform a successful import. The red alert of the first error is still there. EDIT: all good, see #288 (comment) |
|
|
This should be ok now |
I tried to set type to null, but I receive |
Refactored import workflows, project deletion and project name update
A failed project-name update results into a very compact error message, with no details: I guess this was on purpose? Fine with me, when such a limited-scope action fails, but in general let's try to include the error message. Fixed workflow import error glitchFixed, thanks! |
It's OK. |
28720ef
to
5fecc0f
Compare
fixed |
Thanks for aa5542d, I confirm it works as expected (or at least as I expected): |
I'm not sure that 5fecc0f works as expected, with respect to #291.
Then in which cases do we automatically remove an item from the list? |
Related to the last comment, note that the logs shown in the screenshot (below the error message) most likely belong to a different item, and not to the one that is being fetched now (which is not surprising, since that fetch will fail with 404). |
Another minor glitch question:
This is probably due to the trailing slash, right? In fractal-server we do not add a trailing slash when the path ends with an ID (while we are a bit less consistent when the path ends with a word, because then it depends on whether the endpoint is our own or one that we take from fastapi-users). |
43080bb refactored the download of job logs. Notice that while passing through the "Svelte proxy" the response body isn't streamed, so the user can experience a sort of lag during the download if the content of the file is very big. In any case this happened also before, because the response was read and then converted to a blob object before the download, so I assume it is not a problem. This note is just a consideration in case we will need to handle big files in the future. It could be solved setting up a "real" proxy between the front-end and the Python API. |
8f370ec mitigates this leaving the trailing slash only in the POST endpoints, that usually doesn't have the id at the end, however it doesn't cover all the cases. Also in this case a "real" proxy can help fixing the glitch, but this non-homogeneous behavior is a bit weird. Could we consider to set the same behavior on all the endpoints? |
The only remaining action that uses formData is the login. I wouldn't touch this part in this PR, since it involves the call of |
I confirm that after 32a6d3c I observe the expected behavior. |
I think the following one is a bug: If I submit a workflow, and if I do set some specific values of the first/last task to run, the payload for the
while I would expect |
Thanks for the note. Agreed, this is not a priority now. Meanwhile I tested the download-logs feature still works as expected. |
We found the error source with Sonia (a typo in the parameter name), and it's easy to fix. Other than that, I don't have anything more to add for the moment. |
Checklist before merging
CHANGELOG.md
I think that when an error happens while using the modal handled by the
ConfirmActionButton
component, the error should be displayed inside the modal and the modal should not be closed in that case, so I modified thehandleCallbackAction()
function inside theConfirmActionButton
component to catch a specificAlertError
that can be thrown by the custom callback set on the component. On all the other cases (when we are not using the modal) I expect to check theresponse.ok
value and open directly aStandardErrorAlert
, without any kind of error rethrowing logic.I introduced the
src/routes/api/[...path]/+server.js
file, that acts like a proxy for the Python backend. The following features have been rewritten calling these proxy endpoints and removing the duplication of calls:Note: I'm adding the
@type
comments in various places. This suggests the types to the IDE and makes it happier without having to move to TypeScript.Closes #250
Closes #289
Closes #248
Closes #178
Closes #291