Initial feedback
bbenezech opened this issue · comments
Hello, I just tried queuedash
mounted in my express app.
I see you are probably just getting started, here are my 2 cents:
- incoming new jobs make the list jump, which is not ideal while scrolling. IMO, when a list is opened, new items should remain hidden until a
position: absolute
button that says smtg like "10 new jobs added" is clicked. clean all
did not work (but removing specific jobs did)- missing
prioritized
section (this is a new one fromBullMQ
). Prioritized jobs are invisible until they go toactive
. - no job count on section titles. Is it on purpose?
- incompatibilities with CSP, you load scripts from 3rd party domain
https://unpkg.com
. You can serve them directly to mitigate. Also thewindow
script hack to check current path does not work with CSP. Accept a nonce or a config time parameter to set it. More and more projects have strict CSPs, all middlewares that serve JS from CDNs do get complains about this unfortunately... - lots of npm
dependencies
, you bring UI related dependencies that are not needed since only compiled files matter to the end-user), you can move them todevDependencies
easily I guess. http://localhost:3001/api/bull/dash/trpc/queue.byName?input={"0":{"queueName":"jobQueue"}}&batch=1
(I cleaned the URL encoding) fails with500
TRPCError: n.queue.client.info is not a function
:
[
{
"error": {
"message": "n.queue.client.info is not a function",
"code": -32603,
"data": {
"code": "INTERNAL_SERVER_ERROR",
"httpStatus": 500,
"stack": "TRPCError: n.queue.client.info is not a function\n at /Users/ben/code/XXX/back/node_modules/@queuedash/api/dist/main.js:41:4620\n at d (/Users/ben/code/XXX/back/node_modules/@queuedash/api/dist/main.js:1:1757)\n at Object.next (/Users/ben/code/XXX/back/node_modules/@queuedash/api/dist/main.js:1:1040)\n at c (/Users/ben/code/XXX/back/node_modules/@queuedash/api/dist/main.js:1:619)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)",
"path": "queue.byName"
}
}
}
]
Not a dealbreaker when you only have one queue, but it does break the top of the UI a bit.
I use redis-cli
7.0.5
with latest BullMQ on latest Express.
Thank you very much Alex for the value you provide for free, I will be happy to help should you need any.
Thanks for the feedback @bbenezech! I've started some of these tweaks in #21
- no job count on section titles. Is it on purpose?
Are you referring to the sidebar?
- lots of npm dependencies, you bring UI related dependencies
If you're using this with Express and only installing @queuedash/api
, it shouldn't bring in those deps. Will try to move some more things to devDeps though!
- missing prioritized section
This should be there (#7), must be a bug?
- incompatibilities with CSP
Think you can help here? Or point me in the right direction? I'd love to serve the JS / css files directly
Hello, I owe you a follow up!
missing prioritized section
is fixed, I see them nowlots of npm dependencies
, my bad, I was not only using@queuedash/api
, it's all goodno job count
on tab titles, it's here now, awesomeclean all
is fixedTRPCError: n.queue.client.info is not a function
is fixed, no more overview issue
It's awesome! Thank you very much, it's completely usable now for me and the UI/UX is top-notch!
Suggestion for the future:
- the initial
GET
request to/
does work perfectly and returns the initial HTML, but for some reason the call also "bubbles up" in my router and ends up in my 404 handler. I'm not an Express expert, it might very well be a skill issue on my side, and not a big deal anyway. the job lists "jumps" on incoming jobs
. I guess you can either anchor the scroll or delay new jobs on a user action. IMO this one is the only UX pain in the app.CSP
is a simple one. Serve them with express as static files withapp.use(express.static("public"))
. The bothering thing is that you will need to copy the JS/CSS files to your@queuedash/api
package public folder in a build step.
Cheers!