Translated by AI model Qwen/Qwen3-8B.
Source Language: Simplified Chinese, Target Language: english, Translation Time: 2026-05-01 14:41
.AI translation is for reference only. Accuracy is not guaranteed, please refer to the original text.
Recently I upgraded the umami version to 3.0.3, and the upgrade process went smoothly with no issues.
(: Actually, I set up a completely new umami v3 and migrated the v2 data to the new v3, just afraid that upgrading from v2 to v3 might cause problems)
I was completely looking forward to umami's Pixel Tracking feature. I once saw pixel tracking in Microsoft's promotional emails, and when I saw umami v3 added pixel tracking, I wanted to try it right away.
The upgrade process went smoothly, but then a bug occurred later.
After the upgrade, I found that the umami links deployed on Vercel and the pixel tracking functionality were not working properly, unable to track normally.
Just opening the link or the pixel tracking link, the database didn't update the statistics, and there were no error messages.
I checked the Vercel logs for a long time and had doubts about a certain log entry.
In the /p/abc log, there was a query log from prisma, but no write log to the database.

At first, I thought I had turned off the triggers during the database migration, but didn't re-enable them, which caused the statistics update operation to not trigger during queries.
But eventually, I tested it locally and confirmed that there was indeed an INSERT operation to the database.
After a period of tough testing and troubleshooting, I finally determined that it was the hasBlockedIp function in the src/lib/detect.ts file that was causing the issue. This function is used to determine if the request comes from a blocked IP address. However, when clientIp is undefined or an empty string, the function attempts to execute ipaddr.parse(clientIp), which causes an exception and interrupts the entire statistics process. (Actually, I still don't understand why clientIp would be undefined
Note: It seems the issue has been fixed, but it hasn't been fully resolved.
I updated the production environment code again, and also submitted a PR.
- Issue: The statistics for links and pixels on Vercel are not functioning correctly.#4038
- PR: fix: Optimize IP detection logic and add error handling#4039
The Chinese translation in umami v3 is mostly machine-translated, and some translations are incorrect. For example, the English word breakdown was translated as 故障. I personally think it should be translated as 细分. 故障 is nonsense. I can't tolerate some of these translation errors, so I also submitted a PR.

Now it seems like it's not yet reached 2/18, but I'll just post tomorrow's rambling in advance.
If you enjoyed this, leave a comment~