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
[22.05] Fix tag autocomplete for strings that need url encoding #14288
[22.05] Fix tag autocomplete for strings that need url encoding #14288
Conversation
02b9520
to
66d6414
Compare
const testTag = createTag(testLabel); | ||
|
||
const { id, itemClass, context } = svcParams; | ||
const expectedDeleteUrl = `/tag/remove_tag_async?item_id=${id}&item_class=${itemClass}&context=${context}&tag_name=${testLabel}`; | ||
console.log(axiosMock.history.get[0]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that seems to be a left over
@@ -3,7 +3,7 @@ import MockAdapter from "axios-mock-adapter"; | |||
import { TagService } from "./tagService"; | |||
import { createTag } from "./model"; | |||
//import { interval } from "rxjs"; | |||
//import { take, takeUntil } from "rxjs/operators"; | |||
//import { take, takeUntil } from "r\xjs/operators"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, not sure what happened there. We should probably drop all of the commented code, I don't think any future changes will test or expand on pouchdb.
Fixes https://sentry.galaxyproject.org/share/issue/ff9f4891f34e4308b8183ef604970761/: ``` TypeError: tag_autocomplete_data() got an unexpected keyword argument 'd' File "uvicorn/protocols/http/h11_impl.py", line 366, in run_asgi result = await app(self.scope, self.receive, self.send) File "uvicorn/middleware/proxy_headers.py", line 75, in __call__ return await self.app(scope, receive, send) File "fastapi/applications.py", line 269, in __call__ await super().__call__(scope, receive, send) File "starlette/applications.py", line 124, in __call__ await self.middleware_stack(scope, receive, send) File "starlette/middleware/errors.py", line 184, in __call__ raise exc File "starlette/middleware/errors.py", line 162, in __call__ await self.app(scope, receive, _send) File "starlette/middleware/base.py", line 69, in __call__ await response(scope, receive, send) File "starlette/responses.py", line 260, in __call__ await wrap(partial(self.listen_for_disconnect, receive)) File "anyio/_backends/_asyncio.py", line 662, in __aexit__ raise exceptions[0] File "starlette/responses.py", line 256, in wrap await func() File "starlette/responses.py", line 245, in stream_response async for chunk in self.body_iterator: File "starlette/middleware/base.py", line 58, in body_stream raise app_exc File "starlette/middleware/base.py", line 36, in coro await self.app(scope, request.receive, send_stream.send) File "starlette_context/middleware/raw_middleware.py", line 96, in __call__ await self.app(scope, receive, send_wrapper) File "starlette/middleware/base.py", line 69, in __call__ await response(scope, receive, send) File "starlette/responses.py", line 260, in __call__ await wrap(partial(self.listen_for_disconnect, receive)) File "anyio/_backends/_asyncio.py", line 662, in __aexit__ raise exceptions[0] File "starlette/responses.py", line 256, in wrap await func() File "starlette/responses.py", line 245, in stream_response async for chunk in self.body_iterator: File "starlette/middleware/base.py", line 58, in body_stream raise app_exc File "starlette/middleware/base.py", line 36, in coro await self.app(scope, request.receive, send_stream.send) File "starlette/middleware/base.py", line 69, in __call__ await response(scope, receive, send) File "starlette/responses.py", line 260, in __call__ await wrap(partial(self.listen_for_disconnect, receive)) File "anyio/_backends/_asyncio.py", line 662, in __aexit__ raise exceptions[0] File "starlette/responses.py", line 256, in wrap await func() File "starlette/responses.py", line 245, in stream_response async for chunk in self.body_iterator: File "starlette/middleware/base.py", line 58, in body_stream raise app_exc File "starlette/middleware/base.py", line 36, in coro await self.app(scope, request.receive, send_stream.send) File "starlette/exceptions.py", line 93, in __call__ raise exc File "starlette/exceptions.py", line 82, in __call__ await self.app(scope, receive, sender) File "fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "starlette/routing.py", line 670, in __call__ await route.handle(scope, receive, send) File "starlette/routing.py", line 418, in handle await self.app(scope, receive, send) File "a2wsgi/wsgi.py", line 140, in __call__ return await responder(scope, receive, send) File "a2wsgi/wsgi.py", line 179, in __call__ raise self.exc_info[0].with_traceback( File "galaxy/web/framework/middleware/error.py", line 165, in __call__ app_iter = self.application(environ, sr_checker) File "/cvmfs/main.galaxyproject.org/venv/lib/python3.8/site-packages/paste/recursive.py", line 85, in __call__ return self.application(environ, start_response) File "galaxy/web/framework/middleware/statsd.py", line 29, in __call__ req = self.application(environ, start_response) File "/cvmfs/main.galaxyproject.org/venv/lib/python3.8/site-packages/paste/httpexceptions.py", line 640, in __call__ return self.application(environ, start_response) File "galaxy/web/framework/base.py", line 159, in __call__ return self.handle_request(environ, start_response) File "galaxy/web/framework/base.py", line 244, in handle_request body = method(trans, **kwargs) File "galaxy/web/framework/decorators.py", line 84, in decorator return func(self, trans, *args, **kwargs) ``` You can test this by editing a history tag in the history menu, by writing `tag;d`, there should be no 500 error on the Galaxy logs.
66d6414
to
e52130b
Compare
Fixes
https://sentry.galaxyproject.org/share/issue/ff9f4891f34e4308b8183ef604970761/:
We should really use this by default instead of custom string interpolation ... letting axios do url encoding of parameters is almost always correct, and the parameter map is also much easier to handle if you need to pass these around and modify them.
How to test the changes?
(Select all options that apply)
You can test this by editing a history tag in the history menu, by
writing
tag;d
, there should be no 500 error on the Galaxy logs.License