-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
I'm using umami node client (from an electron app) with umami cloud instance and I encounter some issue over "user-agent" field depending of its value.
Example of (good) User-Agent value :
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.268 Electron/28.2.1 Safari/537.36
After like Gecko) , we could see multiple <product/version> instances.
Here is what I saw during my tests:
- if some
productincludes-, then the hit seems to be ignored by umami cloud - if some
versionincludes something else than digit and dot, then the hit seems to be ignored by umami cloud - if some
productincludesbotin the value, then the hit will be considered as bot origin and umami ignore and reply with{"beep":"boop"}
NB: via Similar to electron framework application API response {"beep": "boop"} umami#2833 I understand that with docker hosted version we could useDISABLE_BOT_CHECK=1to disable robot check, but not applicable here when using umami cloud.
As node client user I would like
- a reject case that tell me why my hit (POST /api/send) is rejected or ignored,
- Note that a way to parse correctly the fetch response body (node client with umami cloud - unable to parse response as json #8) seems to be a pre-requisite
At least It would be great if this issue can handle {"beep":"boop"} response to reject the call.
It would be really great that umami backend reject the call in case of ignored/invalid user-agent (ex. 4xx) or else better handle more use-cases according to RFC accepted token format.
- User-Agent RFC 9110 § 10.1.5 where "product" here is a "token" in RFC
- Relates to this discussion about user-agent backend handling : umami - userAgent - custom device umami#3006
Metadata
Metadata
Assignees
Labels
No labels