Umami 2.2.0 tracker XHR request works only on every second app restart
-
Hello,
I'm noticing a very strange issue which I can't quite explain too well. I tried upgrading to Umami 2.2.0 and everything seems to work well. However, when testing on client sites to make sure the script is still loading, I get into a weird loop.
In scenario 1: The client site loads everything fine and with a 200 response (both the js file and XHR request).
In scenario 2: The client site loads a 200 for the js file but a 400 for the XHR request (so the data is not logged).
I do not see any errors, however in testing, I can reproduce this 50% of the time. If I restart the app using the Cloudron interface, it will fix the issue. If I restart the app again, the issue returns, and so-forth in a loop if I were to restart it again for example.
In comparing the logs, I've got these which I can't quite tell a difference at all. Would love some insight into this please and would love to know if anyone else has this issue too. I've tried with a default env.sh but still get the 50% behaviour by the way. Here's my current setup modified from defaults (remembering I get the exact same behaviour when using defaults too):
export HASH_SALT=<redacted> export TRACKER_SCRIPT_NAME=umami2.js export COLLECT_API_ENDPOINT=/api/umamisend export REMOVE_TRAILING_SLASH=1 export DISABLE_UPDATES=1
Working:
May 01 23:57:23 Gyarn run v1.22.19 May 01 23:57:23 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 01 23:57:23 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 01 23:57:23 G$ npm-run-all build-db check-db build-tracker build-geo build-app May 01 23:57:23 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 01 23:57:24 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 01 23:57:24 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 01 23:57:24 G$ npm-run-all copy-db-files build-db-client May 01 23:57:24 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 01 23:57:24 box:tasks update 20219: {"percent":100,"message":"Done"} May 01 23:57:24 box:taskworker Task took 1.493 seconds May 01 23:57:24 box:tasks setCompleted - 20219: {"result":null,"error":null} May 01 23:57:24 box:tasks update 20219: {"percent":100,"result":null,"error":null} May 01 23:57:24 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 01 23:57:24 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 01 23:57:24 G$ node scripts/copy-db-files.js May 01 23:57:24 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 01 23:57:24 Database type detected: postgresql May 01 23:57:24 Copied /app/code/db/postgresql to /app/code/prisma May 01 23:57:24 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 01 23:57:24 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 01 23:57:24 G$ prisma generate May 01 23:57:24 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 01 23:57:25 Prisma schema loaded from prisma/schema.prisma May 01 23:57:26 May 01 23:57:26 ✔ Generated Prisma Client (4.13.0 | library) to ./node_modules/@prisma/client in 155ms May 01 23:57:26 You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client May 01 23:57:26 ``` May 01 23:57:26 import { PrismaClient } from '@prisma/client' May 01 23:57:26 const prisma = new PrismaClient() May 01 23:57:26 ``` May 01 23:57:26 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 01 23:57:26 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 01 23:57:26 G$ node scripts/check-db.js May 01 23:57:26 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 01 23:57:26 ✓ DATABASE_URL is defined. May 01 23:57:26 ✓ Database connection successful. May 01 23:57:26 ✓ Database version check successful. May 01 23:57:27 Prisma schema loaded from prisma/schema.prisma May 01 23:57:27 Datasource "db": PostgreSQL database "db4076b39b249a4e4c82cf9eadf24b0475", schema "public" at "postgresql" May 01 23:57:27 May 01 23:57:27 1 migration found in prisma/migrations May 01 23:57:27 May 01 23:57:27 May 01 23:57:27 No pending migrations to apply. May 01 23:57:27 May 01 23:57:27 ✓ Database is up to date. May 01 23:57:27 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 01 23:57:27 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 01 23:57:27 G$ rollup -c rollup.tracker.config.js May 01 23:57:27 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 01 23:57:27 May 01 23:57:27 tracker/index.js → public/script.js... May 01 23:57:28 created public/script.js in 386ms May 01 23:57:28 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 01 23:57:28 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 01 23:57:28 G$ node scripts/build-geo.js May 01 23:57:28 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 01 23:57:29 Saved geo database: /app/code/geo/GeoLite2-City.mmdb May 01 23:57:29 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 01 23:57:29 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 01 23:57:29 G$ next build May 01 23:57:29 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 01 23:57:30 => Healtheck error: Error: connect ECONNREFUSED 172.18.16.2:3000 May 01 23:57:30 info - Skipping validation of types May 01 23:57:30 info - Skipping linting May 01 23:57:40 => Healtheck error: Error: connect ECONNREFUSED 172.18.16.2:3000 May 01 23:57:40 ?25linfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...G?25hinfo - Compiled successfully May 01 23:57:42 ?25linfo - Creating an optimized production build .?25linfo - Collecting page data .Ginfo - Creating an optimized production build ..Ginfo - Collecting page data ..Ginfo - Creating an optimized production build ...Ginfo - Collecting page data ...Ginfo - Creating an optimized production build .Ginfo - Collecting page data .Ginfo - Creating an optimized production build ..Ginfo - Collecting page data ..Ginfo - Creating an optimized production build ...Ginfo - Collecting page data ...Ginfo - Creating an optimized production build .Ginfo - Collecting page data .Ginfo - Creating an optimized production build ..Ginfo - Collecting page data ..Ginfo - Creating an optimized production build ...Ginfo - Collecting page data ...Ginfo - Creating an optimized production build .Ginfo - Collecting page data .Ginfo - Creating an optimized production build ..Ginfo - Collecting page data ..Ginfo - Creating an optimized production build ...Ginfo - Collecting page data ...G?25hinfo - Collecting page data May 01 23:57:42 ?25l[ ] info - Generating static pages (0/10)Ginfo - Creating an optimized production build .G?25hG?25hinfo - Generating static pages (10/10) May 01 23:57:42 ?25linfo - Creating an optimized production build .?25linfo - Finalizing page optimization .G?25hinfo - Finalizing page optimization May 01 23:57:42 G?25h May 01 23:57:42 ?25linfo - Creating an optimized production build .G?25hRoute (pages) Size First Load JS May 01 23:57:42 ┌ ○ / 290 B 504 kB May 01 23:57:42 ├ /_app 0 B 503 kB May 01 23:57:42 ├ ○ /404 2.67 kB 545 kB May 01 23:57:42 ├ └ css/c4094e7fe30124b9.css 1.16 kB May 01 23:57:42 ├ λ /api/auth/login 0 B 503 kB May 01 23:57:42 ├ λ /api/auth/logout 0 B 503 kB May 01 23:57:42 ├ λ /api/auth/sso 0 B 503 kB May 01 23:57:42 ├ λ /api/auth/verify 0 B 503 kB May 01 23:57:42 ├ λ /api/config 0 B 503 kB May 01 23:57:42 ├ λ /api/heartbeat 0 B 503 kB May 01 23:57:42 ├ λ /api/me 0 B 503 kB May 01 23:57:42 ├ λ /api/me/password 0 B 503 kB May 01 23:57:42 ├ λ /api/me/websites 0 B 503 kB May 01 23:57:42 ├ λ /api/realtime/[id] 0 B 503 kB May 01 23:57:42 ├ λ /api/scripts/telemetry 0 B 503 kB May 01 23:57:42 ├ λ /api/send 0 B 503 kB May 01 23:57:42 ├ λ /api/share/[id] 0 B 503 kB May 01 23:57:42 ├ λ /api/teams 0 B 503 kB May 01 23:57:42 ├ λ /api/teams/[id] 0 B 503 kB May 01 23:57:42 ├ λ /api/teams/[id]/users 0 B 503 kB May 01 23:57:42 ├ λ /api/teams/[id]/users/[userId] 0 B 503 kB May 01 23:57:42 ├ λ /api/teams/[id]/websites 0 B 503 kB May 01 23:57:42 ├ λ /api/teams/[id]/websites/[websiteId] 0 B 503 kB May 01 23:57:42 ├ λ /api/teams/join 0 B 503 kB May 01 23:57:42 ├ λ /api/users 0 B 503 kB May 01 23:57:42 ├ λ /api/users/[id] 0 B 503 kB May 01 23:57:42 ├ λ /api/users/[id]/websites 0 B 503 kB May 01 23:57:42 ├ λ /api/websites 0 B 503 kB May 01 23:57:42 ├ λ /api/websites/[id] 0 B 503 kB May 01 23:57:42 ├ λ /api/websites/[id]/active 0 B 503 kB May 01 23:57:42 ├ λ /api/websites/[id]/eventData 0 B 503 kB May 01 23:57:42 ├ λ /api/websites/[id]/events 0 B 503 kB May 01 23:57:42 ├ λ /api/websites/[id]/metrics 0 B 503 kB May 01 23:57:42 ├ λ /api/websites/[id]/pageviews 0 B 503 kB May 01 23:57:42 ├ λ /api/websites/[id]/reset 0 B 503 kB May 01 23:57:42 ├ λ /api/websites/[id]/stats 0 B 503 kB May 01 23:57:42 ├ λ /console/[[...id]] 3.75 kB 614 kB May 01 23:57:42 ├ └ css/0794f04c077896d1.css 2.48 kB May 01 23:57:42 ├ ○ /dashboard 37.1 kB 644 kB May 01 23:57:42 ├ └ css/d2f5eda4d3c93dbd.css 2.62 kB May 01 23:57:42 ├ λ /login 1.37 kB 505 kB May 01 23:57:42 ├ └ css/86ff2f277829477c.css 316 B May 01 23:57:42 ├ λ /logout 399 B 504 kB May 01 23:57:42 ├ ○ /realtime 3.14 kB 546 kB May 01 23:57:42 ├ └ css/6ad4b9d7611b13d1.css 1.33 kB May 01 23:57:42 ├ ○ /realtime/[id] 7.29 kB 654 kB May 01 23:57:42 ├ └ css/d2622a2458130282.css 2.67 kB May 01 23:57:42 ├ ○ /settings/profile 4.29 kB 640 kB May 01 23:57:42 ├ └ css/a37cb2f80f94b2ae.css 1.62 kB May 01 23:57:42 ├ λ /settings/teams 2.21 kB 548 kB May 01 23:57:42 ├ └ css/3fb4c7181892eb6b.css 1.58 kB May 01 23:57:42 ├ λ /settings/teams/[id] 3 kB 549 kB May 01 23:57:42 ├ └ css/855615cd30af540d.css 1.64 kB May 01 23:57:42 ├ λ /settings/users 2.61 kB 548 kB May 01 23:57:42 ├ λ /settings/users/[id] 1.88 kB 548 kB May 01 23:57:42 ├ λ /settings/websites 1.66 kB 547 kB May 01 23:57:42 ├ λ /settings/websites/[id] 2.31 kB 548 kB May 01 23:57:42 ├ └ css/7879ec0c552148c6.css 1.45 kB May 01 23:57:42 ├ ○ /share/[...id] 1.47 kB 716 kB May 01 23:57:42 ├ └ css/f0b95fb59dffa0de.css 2.82 kB May 01 23:57:42 ├ ○ /sso 354 B 504 kB May 01 23:57:42 └ ○ /websites/[id] 2.66 kB 693 kB May 01 23:57:42 └ css/6489468d7dc0fbd5.css 3.16 kB May 01 23:57:42 + First Load JS shared by all 512 kB May 01 23:57:42 ├ chunks/framework-2c79e2a64abdb08b.js 45.2 kB May 01 23:57:42 ├ chunks/main-0edb7910d6dbf988.js 30.6 kB May 01 23:57:42 ├ chunks/pages/_app-0e67ddf2180faf84.js 427 kB May 01 23:57:42 ├ chunks/webpack-38cee4c0e358b1a3.js 862 B May 01 23:57:42 └ css/e18ca99b696549e2.css 8.32 kB May 01 23:57:42 ?25linfo - Creating an optimized production build .G?25h May 01 23:57:42 ?25linfo - Creating an optimized production build .G?25hλ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps) May 01 23:57:42 ○ (Static) automatically rendered as static HTML (uses no initial props) May 01 23:57:42 ?25linfo - Creating an optimized production build .G?25h May 01 23:57:42 ?25linfo - Creating an optimized production build .?25hG$ node scripts/postbuild.js May 01 23:57:42 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 01 23:57:43 GDone in 19.68s. May 01 23:57:43 => Running migrations May 01 23:57:43 Gyarn run v1.22.19 May 01 23:57:43 Gwarning Skipping preferred cache folder "/home/cloudron/.cache/yarn" because it is not writable. May 01 23:57:43 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000". May 01 23:57:43 G$ prisma migrate deploy May 01 23:57:43 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /home/cloudron/.yarn" May 01 23:57:44 Prisma schema loaded from prisma/schema.prisma May 01 23:57:44 Datasource "db": PostgreSQL database "db4076b39b249a4e4c82cf9eadf24b0475", schema "public" at "postgresql" May 01 23:57:44 May 01 23:57:44 1 migration found in prisma/migrations May 01 23:57:44 May 01 23:57:44 May 01 23:57:44 No pending migrations to apply. May 01 23:57:44 GDone in 0.70s. May 01 23:57:44 ==> Starting Umami May 01 23:57:44 Gyarn run v1.22.19 May 01 23:57:44 Gwarning Skipping preferred cache folder "/home/cloudron/.cache/yarn" because it is not writable. May 01 23:57:44 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000". May 01 23:57:44 G$ /app/code/node_modules/.bin/next start May 01 23:57:44 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /home/cloudron/.yarn" May 01 23:57:44 ready - started server on 0.0.0.0:3000, url: http://localhost:3000
Non-working (notice the difference in migration, possible explanation):
May 02 00:09:05 Gyarn run v1.22.19 May 02 00:09:05 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 02 00:09:05 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 02 00:09:05 G$ npm-run-all build-db check-db build-tracker build-geo build-app May 02 00:09:05 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 02 00:09:05 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 02 00:09:05 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 02 00:09:05 G$ npm-run-all copy-db-files build-db-client May 02 00:09:05 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 02 00:09:06 box:tasks update 20220: {"percent":100,"message":"Done"} May 02 00:09:06 box:taskworker Task took 1.521 seconds May 02 00:09:06 box:tasks setCompleted - 20220: {"result":null,"error":null} May 02 00:09:06 box:tasks update 20220: {"percent":100,"result":null,"error":null} May 02 00:09:06 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 02 00:09:06 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 02 00:09:06 G$ node scripts/copy-db-files.js May 02 00:09:06 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 02 00:09:06 Database type detected: postgresql May 02 00:09:06 Copied /app/code/db/postgresql to /app/code/prisma May 02 00:09:06 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 02 00:09:06 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 02 00:09:06 G$ prisma generate May 02 00:09:06 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 02 00:09:07 Prisma schema loaded from prisma/schema.prisma May 02 00:09:07 May 02 00:09:07 ✔ Generated Prisma Client (4.13.0 | library) to ./node_modules/@prisma/client in 149ms May 02 00:09:07 You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client May 02 00:09:07 ``` May 02 00:09:07 import { PrismaClient } from '@prisma/client' May 02 00:09:07 const prisma = new PrismaClient() May 02 00:09:07 ``` May 02 00:09:08 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 02 00:09:08 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 02 00:09:08 G$ node scripts/check-db.js May 02 00:09:08 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 02 00:09:08 ✓ DATABASE_URL is defined. May 02 00:09:08 ✓ Database connection successful. May 02 00:09:08 ✓ Database version check successful. May 02 00:09:09 Prisma schema loaded from prisma/schema.prisma May 02 00:09:09 Datasource "db": PostgreSQL database "db4076b39b249a4e4c82cf9eadf24b0475", schema "public" at "postgresql" May 02 00:09:09 May 02 00:09:09 1 migration found in prisma/migrations May 02 00:09:09 May 02 00:09:09 May 02 00:09:09 No pending migrations to apply. May 02 00:09:09 May 02 00:09:09 ✓ Database is up to date. May 02 00:09:09 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 02 00:09:09 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 02 00:09:09 G$ rollup -c rollup.tracker.config.js May 02 00:09:09 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 02 00:09:09 May 02 00:09:09 tracker/index.js → public/script.js... May 02 00:09:10 => Healtheck error: Error: connect ECONNREFUSED 172.18.16.2:3000 May 02 00:09:10 created public/script.js in 356ms May 02 00:09:10 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 02 00:09:10 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 02 00:09:10 G$ node scripts/build-geo.js May 02 00:09:10 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 02 00:09:10 Saved geo database: /app/code/geo/GeoLite2-City.mmdb May 02 00:09:11 Gwarning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable. May 02 00:09:11 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0". May 02 00:09:11 G$ next build May 02 00:09:11 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 02 00:09:12 info - Skipping validation of types May 02 00:09:12 info - Skipping linting May 02 00:09:20 => Healtheck error: Error: connect ECONNREFUSED 172.18.16.2:3000 May 02 00:09:22 ?25linfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...Ginfo - Creating an optimized production build .Ginfo - Creating an optimized production build ..Ginfo - Creating an optimized production build ...G?25hinfo - Compiled successfully May 02 00:09:24 ?25linfo - Creating an optimized production build .?25linfo - Collecting page data .Ginfo - Creating an optimized production build ..Ginfo - Collecting page data ..Ginfo - Creating an optimized production build ...Ginfo - Collecting page data ...Ginfo - Creating an optimized production build .Ginfo - Collecting page data .Ginfo - Creating an optimized production build ..Ginfo - Collecting page data ..Ginfo - Creating an optimized production build ...Ginfo - Collecting page data ...Ginfo - Creating an optimized production build .Ginfo - Collecting page data .Ginfo - Creating an optimized production build ..Ginfo - Collecting page data ..Ginfo - Creating an optimized production build ...Ginfo - Collecting page data ...Ginfo - Creating an optimized production build .Ginfo - Collecting page data .Ginfo - Creating an optimized production build ..Ginfo - Collecting page data ..Ginfo - Creating an optimized production build ...Ginfo - Collecting page data ...G?25hinfo - Collecting page data May 02 00:09:25 ?25l[ ] info - Generating static pages (0/10)Ginfo - Creating an optimized production build .G?25hG?25hinfo - Generating static pages (10/10) May 02 00:09:25 ?25linfo - Creating an optimized production build .?25linfo - Finalizing page optimization .G?25hinfo - Finalizing page optimization May 02 00:09:25 G?25h May 02 00:09:25 ?25linfo - Creating an optimized production build .G?25hRoute (pages) Size First Load JS May 02 00:09:25 ┌ ○ / 290 B 504 kB May 02 00:09:25 ├ /_app 0 B 503 kB May 02 00:09:25 ├ ○ /404 2.67 kB 545 kB May 02 00:09:25 ├ └ css/c4094e7fe30124b9.css 1.16 kB May 02 00:09:25 ├ λ /api/auth/login 0 B 503 kB May 02 00:09:25 ├ λ /api/auth/logout 0 B 503 kB May 02 00:09:25 ├ λ /api/auth/sso 0 B 503 kB May 02 00:09:25 ├ λ /api/auth/verify 0 B 503 kB May 02 00:09:25 ├ λ /api/config 0 B 503 kB May 02 00:09:25 ├ λ /api/heartbeat 0 B 503 kB May 02 00:09:25 ├ λ /api/me 0 B 503 kB May 02 00:09:25 ├ λ /api/me/password 0 B 503 kB May 02 00:09:25 ├ λ /api/me/websites 0 B 503 kB May 02 00:09:25 ├ λ /api/realtime/[id] 0 B 503 kB May 02 00:09:25 ├ λ /api/scripts/telemetry 0 B 503 kB May 02 00:09:25 ├ λ /api/send 0 B 503 kB May 02 00:09:25 ├ λ /api/share/[id] 0 B 503 kB May 02 00:09:25 ├ λ /api/teams 0 B 503 kB May 02 00:09:25 ├ λ /api/teams/[id] 0 B 503 kB May 02 00:09:25 ├ λ /api/teams/[id]/users 0 B 503 kB May 02 00:09:25 ├ λ /api/teams/[id]/users/[userId] 0 B 503 kB May 02 00:09:25 ├ λ /api/teams/[id]/websites 0 B 503 kB May 02 00:09:25 ├ λ /api/teams/[id]/websites/[websiteId] 0 B 503 kB May 02 00:09:25 ├ λ /api/teams/join 0 B 503 kB May 02 00:09:25 ├ λ /api/users 0 B 503 kB May 02 00:09:25 ├ λ /api/users/[id] 0 B 503 kB May 02 00:09:25 ├ λ /api/users/[id]/websites 0 B 503 kB May 02 00:09:25 ├ λ /api/websites 0 B 503 kB May 02 00:09:25 ├ λ /api/websites/[id] 0 B 503 kB May 02 00:09:25 ├ λ /api/websites/[id]/active 0 B 503 kB May 02 00:09:25 ├ λ /api/websites/[id]/eventData 0 B 503 kB May 02 00:09:25 ├ λ /api/websites/[id]/events 0 B 503 kB May 02 00:09:25 ├ λ /api/websites/[id]/metrics 0 B 503 kB May 02 00:09:25 ├ λ /api/websites/[id]/pageviews 0 B 503 kB May 02 00:09:25 ├ λ /api/websites/[id]/reset 0 B 503 kB May 02 00:09:25 ├ λ /api/websites/[id]/stats 0 B 503 kB May 02 00:09:25 ├ λ /console/[[...id]] 3.75 kB 614 kB May 02 00:09:25 ├ └ css/0794f04c077896d1.css 2.48 kB May 02 00:09:25 ├ ○ /dashboard 37.1 kB 644 kB May 02 00:09:25 ├ └ css/d2f5eda4d3c93dbd.css 2.62 kB May 02 00:09:25 ├ λ /login 1.37 kB 505 kB May 02 00:09:25 ├ └ css/86ff2f277829477c.css 316 B May 02 00:09:25 ├ λ /logout 399 B 504 kB May 02 00:09:25 ├ ○ /realtime 3.14 kB 546 kB May 02 00:09:25 ├ └ css/6ad4b9d7611b13d1.css 1.33 kB May 02 00:09:25 ├ ○ /realtime/[id] 7.29 kB 654 kB May 02 00:09:25 ├ └ css/d2622a2458130282.css 2.67 kB May 02 00:09:25 ├ ○ /settings/profile 4.29 kB 640 kB May 02 00:09:25 ├ └ css/a37cb2f80f94b2ae.css 1.62 kB May 02 00:09:25 ├ λ /settings/teams 2.21 kB 548 kB May 02 00:09:25 ├ └ css/3fb4c7181892eb6b.css 1.58 kB May 02 00:09:25 ├ λ /settings/teams/[id] 3 kB 549 kB May 02 00:09:25 ├ └ css/855615cd30af540d.css 1.64 kB May 02 00:09:25 ├ λ /settings/users 2.61 kB 548 kB May 02 00:09:25 ├ λ /settings/users/[id] 1.88 kB 548 kB May 02 00:09:25 ├ λ /settings/websites 1.66 kB 547 kB May 02 00:09:25 ├ λ /settings/websites/[id] 2.31 kB 548 kB May 02 00:09:25 ├ └ css/7879ec0c552148c6.css 1.45 kB May 02 00:09:25 ├ ○ /share/[...id] 1.47 kB 716 kB May 02 00:09:25 ├ └ css/f0b95fb59dffa0de.css 2.82 kB May 02 00:09:25 ├ ○ /sso 354 B 504 kB May 02 00:09:25 └ ○ /websites/[id] 2.66 kB 693 kB May 02 00:09:25 └ css/6489468d7dc0fbd5.css 3.16 kB May 02 00:09:25 + First Load JS shared by all 512 kB May 02 00:09:25 ├ chunks/framework-2c79e2a64abdb08b.js 45.2 kB May 02 00:09:25 ├ chunks/main-0edb7910d6dbf988.js 30.6 kB May 02 00:09:25 ├ chunks/pages/_app-0e67ddf2180faf84.js 427 kB May 02 00:09:25 ├ chunks/webpack-38cee4c0e358b1a3.js 862 B May 02 00:09:25 └ css/e18ca99b696549e2.css 8.32 kB May 02 00:09:25 ?25linfo - Creating an optimized production build .G?25h May 02 00:09:25 ?25linfo - Creating an optimized production build .G?25hλ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps) May 02 00:09:25 ○ (Static) automatically rendered as static HTML (uses no initial props) May 02 00:09:25 ?25linfo - Creating an optimized production build .G?25h May 02 00:09:25 ?25linfo - Creating an optimized production build .?25hG$ node scripts/postbuild.js May 02 00:09:25 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn" May 02 00:09:25 GDone in 20.43s. May 02 00:09:25 => Running migrations May 02 00:09:26 Gyarn run v1.22.19 May 02 00:09:26 Gwarning Skipping preferred cache folder "/home/cloudron/.cache/yarn" because it is not writable. May 02 00:09:26 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000". May 02 00:09:26 G$ prisma migrate deploy May 02 00:09:26 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /home/cloudron/.yarn" May 02 00:09:26 Prisma schema loaded from prisma/schema.prisma May 02 00:09:26 Datasource "db": PostgreSQL database "db4076b39b249a4e4c82cf9eadf24b0475", schema "public" at "postgresql" May 02 00:09:26 May 02 00:09:26 1 migration found in prisma/migrations May 02 00:09:26 May 02 00:09:26 May 02 00:09:26 No pending migrations to apply. May 02 00:09:26 GDone in 0.69s. May 02 00:09:26 ==> Starting Umami May 02 00:09:26 Gyarn run v1.22.19 May 02 00:09:26 Gwarning Skipping preferred cache folder "/home/cloudron/.cache/yarn" because it is not writable. May 02 00:09:26 Gwarning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000". May 02 00:09:26 G$ /app/code/node_modules/.bin/next start May 02 00:09:26 Gwarning Cannot find a suitable global folder. Tried these: "/usr/local, /home/cloudron/.yarn" May 02 00:09:27 ready - started server on 0.0.0.0:3000, url: http://localhost:3000
-
@d19dotca said in Umami 2.2.0 tracker XHR request works only on every second app restart:
In scenario 2: The client site loads a 200 for the js file but a 400 for the XHR request (so the data is not logged).
Does the call to umami from the website look correct from the browser ? Maybe related - https://github.com/umami-software/umami/issues/1986
-
@girish I compared the exact cURL command for example (copy as cURL) from the browser and it was identical in both instances. Simply restarting umami changes the behaviour (almost like a switch on or off). That’s what makes me wonder if it’s more of a Cloudron package issue, but not entirely sure. Could totally be a Unami issue too. Not sure why it’s inconsistent though (works 50% of the time).
-
@robi That's what I don't quite understand though... why is the database "toggling" like that? I'm not sure if that's even the root cause, but certainly possible. No idea why it changes on each restart though with 50% failing and 50% successful.
-
I found that there is a bug in the 3.0.0 migration. I have revoked that one and now published 3.0.0-1. Also, the tracking code changes if you set
TRACKER_SCRIPT_NAME
.It was:
<script async defer data-website-id="ef7b2b31-017e-401b-bcd7-cdd3ff35a5c6" src="https://umami.domain.com/umami2.js.js"></script>
But, after updating, it became:
<script async src="https://umami.domain.com/umami2.js" data-website-id="ef7b2b31-017e-401b-bcd7-cdd3ff35a5c6"></script>
Notice that it had .js.js before but only one .js now.
-
@d19dotca The migration did not complete with the previous package. so, it's best to go back to 1.x and then go again to 2.2.
On a side note: if you don't have much setup, I recommend just starting afresh with 2.2 actually. I am not sure about the quality of the migration scripts.
-
@girish is it possible to deploy the latest image on top of the existing one and force an upgrade? It seems like the easier way to go for those who already updated so data isn’t lost. When I check for updates it doesn’t see the latest image though with the fix in it.
-
The package versions are:
- v2.4.2
- v3.0.0 - was revoked, had a migration issue
- v3.0.0-1
- v3.1.0 - this is the latest
so, you are at the latest already.
I assume you still have the problem ? I have no idea unfortunately what could be going wrong, we might have to ask upstream. Otherwise, depending on your setup, I simply suggest starting afresh. My understanding is umami 2 -> 3 nuked all historical event data anyways.
-
@girish Yes, I still see the issue, just tested again a few moments ago to confirm. If I restart the Umami app, the error is seen by all client sites. If I restart it again, suddenly it's fixed... until I restart it again. It's super strange.
I believe 3.1.0 was the only package available when I was able to get to upgrading the Umami app, is it possible there was maybe something that got skipped since I missed the 3.0.0 package version? I assume it should work fine if upgrading straight to 3.1.0 from 2.4.2 (assuming 2.4.2 was the pre-v2 Umami version).
@girish said in Umami 2.2.0 tracker XHR request works only on every second app restart:
Otherwise, depending on your setup, I simply suggest starting afresh. My understanding is umami 2 -> 3 nuked all historical event data anyways.
I've had this running for an about 4 months now, so I'd rather not lose all of that data. The Umami upgrade did not remove any of that data that I can see. Not sure if that's the correct expectation of the Umami upgrade, pretty sure it still keeps the data. I think the only thing it wasn't expected to bring forward to v2 was the event data (i.e. button clicks, etc) but that wasn't setup in mine so there were no event data anyways, just the regular page hits with metrics/data. Ref: https://umami.is/docs/migrate-v1-v2
-
@d19dotca yes, that update route sounds plausible. We released 3.0.0-1 after 3.1.0 . Weird but this was because we found the issue in 3.0.0 later (when you reported this bug).
So, at this point, there is nothing to update for you. We also don't know why it seems to work only every restart. Maybe clone the app and see if it's reproducible in the cloned app. It's easier for us to debug then on the cloned instance.
-
I just did a fresh install of Umami a few days ago, on May 13th, and I am experiencing the same exact issue.
Initially everything works.
If I restart the app, then on the site it loads a 200 for the js file but a 400 for the XHR request (so the data is not logged).
If I restart the app again, it works again as expected.
And so on...The only customization I have is in the env.sh where I added
export TRACKER_SCRIPT_NAME=get.js export COLLECT_API_ENDPOINT=/api/get
The installed version is:
App Title and Version: Umami 2.2.0 Package Version: is.umami.cloudronapp@3.1.0
-
I recently updated (funnily enough also on 13 May). I don't really use it much so only just went to look and lo and behold, zero data has been captured since 13 May (I also note that contrary to the warnings, the old data seems to still be there).
I've just restarted the app to see if like others on this thread that somehow magically makes the data collection work again... didn't seem to.
-
@jdaviescoates validate your tracker script still works and is being called correctly, or simply reinstall it with the new version with copy/pasta.
-