Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
48dee82
docs: add migration design spec for Nuxt 4 + Vuetify 4 upgrade
AchoArnold May 26, 2026
bd0e8bf
docs: add implementation plan for Nuxt 4 + Vuetify 4 migration
AchoArnold May 26, 2026
2dd7555
feat(web): scaffold fresh Nuxt 4 project for migration
AchoArnold May 26, 2026
0a55981
feat(web): configure nuxt.config.ts with Vuetify 4, VueFire, Pinia
AchoArnold May 26, 2026
7133dc3
feat(web): port utilities, types, and composables
AchoArnold May 26, 2026
1e02f62
feat(web): create all Pinia stores and route middleware
AchoArnold May 26, 2026
edc3fc9
feat(web): port layouts (default, website, error) to Nuxt 4
AchoArnold May 26, 2026
335e6d2
feat(web): port all components (Toast, LoadingDashboard, LoadingButto…
AchoArnold May 26, 2026
9a111ad
feat(web): port all pages to Nuxt 4 + Vue 3 + Vuetify 4
AchoArnold May 26, 2026
757c080
feat(web): add static assets, plugins, and fix useApi composable
AchoArnold May 26, 2026
8cb4701
feat(web): add Dockerfile and nginx config for Nuxt 4
AchoArnold May 26, 2026
3a4e167
fix(web): resolve build errors
AchoArnold May 26, 2026
fb19030
fix(web): switch to SPA mode (ssr: false)
AchoArnold May 26, 2026
3eae4c3
fix(web): fix CI workflow and FirebaseUI compat imports
AchoArnold May 26, 2026
b681014
fix(web): add Vite optimizeDeps for stable dev server
AchoArnold May 26, 2026
5705117
fix: replace placeholder content with production text and fix Firebase
AchoArnold May 26, 2026
c33e887
chore: remove screenshot and test artifacts
AchoArnold May 26, 2026
617f8d9
feat(web): replace phone number input with v-phone-input (#905)
AchoArnold May 27, 2026
c291ad3
fix(web): resolve Codacy static analysis type-safety warnings
AchoArnold May 30, 2026
6d98ef2
fix(web): await compat SDK initialization to prevent race condition
AchoArnold May 30, 2026
3c5931c
feat(web): migrate to modular Firebase SDK and use Vuetify 4 default …
AchoArnold May 30, 2026
9a46c6f
fix(web): remove custom grid breakpoints settings.scss
AchoArnold May 30, 2026
02ddbf8
fix(web): update hardcoded media queries to Vuetify 4 breakpoints
AchoArnold May 30, 2026
7870011
Remove agents
AchoArnold May 30, 2026
8b64bea
fix(web): restore original content on all statically generated pages …
AchoArnold May 30, 2026
39c5e6d
Merge remote-tracking branch 'origin/main' into feat/migrate-nuxt4-vu…
AchoArnold May 31, 2026
354effe
feat(web): port billing page with personalized billing cycles from main
AchoArnold May 31, 2026
ae22ccb
Add tsbuildinfo
AchoArnold May 31, 2026
a0380bb
Fix all issues on the index page
AchoArnold May 31, 2026
982c7aa
Fix all other pages except login
AchoArnold May 31, 2026
ff2f6a0
Fix the login page
AchoArnold May 31, 2026
8ade266
fix(deps): bump github.com/redis/go-redis/v9 in /api
dependabot[bot] Jun 1, 2026
d10b63d
fix(deps): bump cloud.google.com/go/storage in /api
dependabot[bot] Jun 1, 2026
c791aac
fix(deps): bump github.com/redis/go-redis/extra/redisotel/v9 in /api
dependabot[bot] Jun 1, 2026
2f48bfd
fix(deps): bump google.golang.org/api from 0.277.0 to 0.282.0 in /api
dependabot[bot] Jun 1, 2026
50b8ac0
fix(deps): bump github.com/nyaruka/phonenumbers in /api
dependabot[bot] Jun 1, 2026
1c8d5b1
fix(deps): bump github.com/NdoleStudio/go-otelroundtripper in /api
dependabot[bot] Jun 1, 2026
6bb3979
Merge pull request #918 from NdoleStudio/dependabot/go_modules/api/gi…
AchoArnold Jun 9, 2026
8dc2145
Merge pull request #917 from NdoleStudio/dependabot/go_modules/api/gi…
AchoArnold Jun 9, 2026
27fd87c
Merge pull request #915 from NdoleStudio/dependabot/go_modules/api/go…
AchoArnold Jun 9, 2026
4593cc8
Merge pull request #914 from NdoleStudio/dependabot/go_modules/api/gi…
AchoArnold Jun 9, 2026
e65c802
Merge pull request #913 from NdoleStudio/dependabot/go_modules/api/cl…
AchoArnold Jun 9, 2026
165b0f8
fix(deps): bump cloud.google.com/go/cloudtasks in /api
dependabot[bot] Jun 9, 2026
a4e3f7a
Merge pull request #912 from NdoleStudio/dependabot/go_modules/api/cl…
AchoArnold Jun 9, 2026
3b35eeb
Merge remote-tracking branch 'origin/main' into pr-910
AchoArnold Jun 9, 2026
f3e5847
Fix timeout message
AchoArnold Jun 9, 2026
a376028
docs: add implementation plan for Nuxt 4 + Vuetify 4 migration
AchoArnold May 26, 2026
7f1e227
feat(web): scaffold fresh Nuxt 4 project for migration
AchoArnold May 26, 2026
b0e08a8
feat(web): configure nuxt.config.ts with Vuetify 4, VueFire, Pinia
AchoArnold May 26, 2026
3dfcecc
feat(web): port utilities, types, and composables
AchoArnold May 26, 2026
292699f
feat(web): create all Pinia stores and route middleware
AchoArnold May 26, 2026
30f5369
feat(web): port layouts (default, website, error) to Nuxt 4
AchoArnold May 26, 2026
018b531
feat(web): port all components (Toast, LoadingDashboard, LoadingButto…
AchoArnold May 26, 2026
51f3e66
feat(web): port all pages to Nuxt 4 + Vue 3 + Vuetify 4
AchoArnold May 26, 2026
78e3019
feat(web): add static assets, plugins, and fix useApi composable
AchoArnold May 26, 2026
fa5eaed
feat(web): add Dockerfile and nginx config for Nuxt 4
AchoArnold May 26, 2026
f28d9a0
fix(web): resolve build errors
AchoArnold May 26, 2026
5dc719a
fix(web): switch to SPA mode (ssr: false)
AchoArnold May 26, 2026
6052632
fix(web): fix CI workflow and FirebaseUI compat imports
AchoArnold May 26, 2026
6fec02b
fix(web): add Vite optimizeDeps for stable dev server
AchoArnold May 26, 2026
2e2e836
fix: replace placeholder content with production text and fix Firebase
AchoArnold May 26, 2026
a5c13fe
chore: remove screenshot and test artifacts
AchoArnold May 26, 2026
3ede7e4
feat(web): replace phone number input with v-phone-input (#905)
AchoArnold May 27, 2026
7641ade
fix(web): resolve Codacy static analysis type-safety warnings
AchoArnold May 30, 2026
fdc9875
fix(web): await compat SDK initialization to prevent race condition
AchoArnold May 30, 2026
ec6fc9d
feat(web): migrate to modular Firebase SDK and use Vuetify 4 default …
AchoArnold May 30, 2026
77cf3ea
fix(web): remove custom grid breakpoints settings.scss
AchoArnold May 30, 2026
4489cde
fix(web): update hardcoded media queries to Vuetify 4 breakpoints
AchoArnold May 30, 2026
d1eea79
fix(web): restore original content on all statically generated pages …
AchoArnold May 30, 2026
7068603
feat(web): port billing page with personalized billing cycles from main
AchoArnold May 31, 2026
cc1ea20
Add tsbuildinfo
AchoArnold May 31, 2026
a6cbedd
Fix all issues on the index page
AchoArnold May 31, 2026
d18be8d
Fix all other pages except login
AchoArnold May 31, 2026
245744b
Fix the login page
AchoArnold May 31, 2026
616cd0e
Fix the instance ID in the metrics
AchoArnold Jun 17, 2026
5a47e1b
Merge branch 'feat/migrate-nuxt4-vuetify4' of github.com:NdoleStudio/…
AchoArnold Jun 17, 2026
5df5282
Add workspace
AchoArnold Jun 17, 2026
9ad8605
Fix font size
AchoArnold Jun 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
run: pnpm test

- name: Build 🏗️
run: mv .env.production .env && echo GITHUB_SHA=${GITHUB_SHA} >> .env && pnpm run generate
run: pnpm run build

deploy:
name: Deploy
Expand All @@ -67,15 +67,15 @@ jobs:
run: pnpm install

- name: Build 🏗️
run: mv .env.production .env && echo GITHUB_SHA=${GITHUB_SHA} >> .env && pnpm run generate
run: pnpm run build

- name: Cloudflare Deploy 🚀
uses: cloudflare/pages-action@1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: httpsms
directory: web/dist
directory: web/.output/public
gitHubToken: ${{ secrets.GITHUB_TOKEN }}

- name: Firebase Deploy 🚀
Expand Down
20 changes: 10 additions & 10 deletions api/go.mod
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
module github.com/NdoleStudio/httpsms

go 1.25.0
go 1.25.8

require (
cloud.google.com/go/cloudtasks v1.17.0
cloud.google.com/go/storage v1.62.1
cloud.google.com/go/cloudtasks v1.18.0
cloud.google.com/go/storage v1.62.2
firebase.google.com/go v3.13.0+incompatible
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.56.0
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.32.0
github.com/NdoleStudio/go-otelroundtripper v0.0.14
github.com/NdoleStudio/go-otelroundtripper v0.0.15
github.com/NdoleStudio/lemonsqueezy-go v1.3.1
github.com/NdoleStudio/plunk-go v0.0.2
github.com/avast/retry-go/v5 v5.0.0
Expand All @@ -33,13 +33,13 @@ require (
github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible
github.com/jszwec/csvutil v1.10.0
github.com/lib/pq v1.12.3
github.com/nyaruka/phonenumbers v1.7.2
github.com/nyaruka/phonenumbers v1.7.5
github.com/palantir/stacktrace v0.0.0-20161112013806-78658fd2d177
github.com/patrickmn/go-cache v2.1.0+incompatible
github.com/pkg/errors v0.9.1
github.com/pusher/pusher-http-go/v5 v5.1.1
github.com/redis/go-redis/extra/redisotel/v9 v9.19.0
github.com/redis/go-redis/v9 v9.19.0
github.com/redis/go-redis/extra/redisotel/v9 v9.20.0
github.com/redis/go-redis/v9 v9.20.0
github.com/rs/zerolog v1.35.1
github.com/stretchr/testify v1.11.1
github.com/swaggo/swag v1.16.6
Expand All @@ -56,7 +56,7 @@ require (
go.opentelemetry.io/otel/sdk/metric v1.44.0
go.opentelemetry.io/otel/trace v1.44.0
golang.org/x/sync v0.20.0
google.golang.org/api v0.277.0
google.golang.org/api v0.282.0
google.golang.org/protobuf v1.36.11
gorm.io/driver/postgres v1.6.0
gorm.io/gorm v1.31.1
Expand Down Expand Up @@ -128,7 +128,7 @@ require (
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/go-querystring v1.2.0 // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.15 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.16 // indirect
github.com/googleapis/gax-go/v2 v2.22.0 // indirect
github.com/gorilla/css v1.0.1 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
Expand Down Expand Up @@ -156,7 +156,7 @@ require (
github.com/pierrec/lz4/v4 v4.1.26 // indirect
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/redis/go-redis/extra/rediscmd/v9 v9.19.0 // indirect
github.com/redis/go-redis/extra/rediscmd/v9 v9.20.0 // indirect
github.com/richardlehane/mscfb v1.0.6 // indirect
github.com/richardlehane/msoleps v1.0.6 // indirect
github.com/segmentio/asm v1.2.1 // indirect
Expand Down
36 changes: 18 additions & 18 deletions api/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ cloud.google.com/go/auth v0.20.0 h1:kXTssoVb4azsVDoUiF8KvxAqrsQcQtB53DcSgta74CA=
cloud.google.com/go/auth v0.20.0/go.mod h1:942/yi/itH1SsmpyrbnTMDgGfdy2BUqIKyd0cyYLc5Q=
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/cloudtasks v1.17.0 h1:3+U2YGq0fvEqQxdgknsjD5m+QNwah0QZYJOylNQLA1U=
cloud.google.com/go/cloudtasks v1.17.0/go.mod h1:3KeCxwtGEyaySL7CR3lMmEa2I4mq1ynXdgmfNiO4RYE=
cloud.google.com/go/cloudtasks v1.18.0 h1:KzT7hfix/9/xAf20tNPIxwX59XGpRF0Lun2t8LHOj9E=
cloud.google.com/go/cloudtasks v1.18.0/go.mod h1:3KeCxwtGEyaySL7CR3lMmEa2I4mq1ynXdgmfNiO4RYE=
cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs=
cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10=
cloud.google.com/go/firestore v1.22.0 h1:avooeboIq37vKXobrbPUFhFBxS/c3FqmWoX0xs8dO6E=
Expand All @@ -22,8 +22,8 @@ cloud.google.com/go/longrunning v0.12.0 h1:wLv2hXvID9zHejLtcPo1B0JBjErnwZCYAPKST
cloud.google.com/go/longrunning v0.12.0/go.mod h1:8nqFBPOO1U/XkhWl0I19AMZEphrHi73VNABIpKYaTwM=
cloud.google.com/go/monitoring v1.28.0 h1:jOe0Wkm+a56ptZnEeyHevXo7+KPWAPPP5wUTEJdP7GY=
cloud.google.com/go/monitoring v1.28.0/go.mod h1:72NOVjJXHY/HBfoLT0+qlCZBT059+9VXLeAnL2PeeVM=
cloud.google.com/go/storage v1.62.1 h1:Os0G3XbUbjZumkpDUf2Y0rLoXJTCF1kU2kWUujKYXD8=
cloud.google.com/go/storage v1.62.1/go.mod h1:cpYz/kRVZ+UQAF1uHeea10/9ewcRbxGoGNKsS9daSXA=
cloud.google.com/go/storage v1.62.2 h1:WgR4U9n7bIzXkkVnwPKKE8bkaKUNsHG+0MAAlh9DGU4=
cloud.google.com/go/storage v1.62.2/go.mod h1:cpYz/kRVZ+UQAF1uHeea10/9ewcRbxGoGNKsS9daSXA=
cloud.google.com/go/trace v1.15.0 h1:kAYkTwKyYHkGtAGFuu6qaUFRBkOVr+d1Yo44yZtGtgg=
cloud.google.com/go/trace v1.15.0/go.mod h1:r+bdAn16dKLSV1G2D5v3e58IlQlizfxWrUfjx7kM7X0=
dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=
Expand Down Expand Up @@ -54,8 +54,8 @@ github.com/Masterminds/semver/v3 v3.5.0 h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAw
github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
github.com/NdoleStudio/go-otelroundtripper v0.0.14 h1:t/VoW2772wTDQnjdECxxWbtZtbnpJyuRSKxRC/hHfTg=
github.com/NdoleStudio/go-otelroundtripper v0.0.14/go.mod h1:ObQjHo1D/daXeESbFIi0UXJN0yJu4zQ7mMeSKvm4a1I=
github.com/NdoleStudio/go-otelroundtripper v0.0.15 h1:lClvnSNRKfdPejUcMaFa3vv9nkIdONJOzO/WSNBVY2w=
github.com/NdoleStudio/go-otelroundtripper v0.0.15/go.mod h1:YkRryIMC2i4a/6S86isXH+bht3Qp4RRB0rOnnnHBPjU=
github.com/NdoleStudio/lemonsqueezy-go v1.3.1 h1:lMUVgdAx2onbOUJIVPR05xAANYuCMXBRaGWpAdA4LiM=
github.com/NdoleStudio/lemonsqueezy-go v1.3.1/go.mod h1:xKRsRX1jSI6mLrVXyWh2sF/1isxTioZrSjWy6HpA3xQ=
github.com/NdoleStudio/plunk-go v0.0.2 h1:afPW7MHK4Z3rsybpJBnmTmxKCLKF1M7sPI+BNGPf35A=
Expand Down Expand Up @@ -191,8 +191,8 @@ github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=
github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.15 h1:xolVQTEXusUcAA5UgtyRLjelpFFHWlPQ4XfWGc7MBas=
github.com/googleapis/enterprise-certificate-proxy v0.3.15/go.mod h1:vqVt9yG9480NtzREnTlmGSBmFrA+bzb0yl0TxoBQXOg=
github.com/googleapis/enterprise-certificate-proxy v0.3.16 h1:F/VPrx0YPBdksZJQdCAp0WUsqnNmZpUZszzfYt0M5Dw=
github.com/googleapis/enterprise-certificate-proxy v0.3.16/go.mod h1:9Yb0eAkH/Xqhvv3zbeKf/+wMJqCeocWc6KIhDvEAuYE=
github.com/googleapis/gax-go/v2 v2.22.0 h1:PjIWBpgGIVKGoCXuiCoP64altEJCj3/Ei+kSU5vlZD4=
github.com/googleapis/gax-go/v2 v2.22.0/go.mod h1:irWBbALSr0Sk3qlqb9SyJ1h68WjgeFuiOzI4Rqw5+aY=
github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8=
Expand Down Expand Up @@ -262,8 +262,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/nyaruka/phonenumbers v1.7.2 h1:biMUpF5TWuHtYXVzuNE7pSCjlA9tkvd8Vaq8b1CYaaQ=
github.com/nyaruka/phonenumbers v1.7.2/go.mod h1:fsKPJ70O9JetEA4ggnJadYTFWwtGPvu/lETTXNXq6Cs=
github.com/nyaruka/phonenumbers v1.7.5 h1:xXnwzxyuoRtZOk0VKboO0XqFEpcG7KvrTejcUJOSJBU=
github.com/nyaruka/phonenumbers v1.7.5/go.mod h1:fsKPJ70O9JetEA4ggnJadYTFWwtGPvu/lETTXNXq6Cs=
github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 h1:zrbMGy9YXpIeTnGj4EljqMiZsIcE09mmF8XsD5AYOJc=
github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6/go.mod h1:rEKTHC9roVVicUIfZK7DYrdIoM0EOr8mK1Hj5s3JjH0=
github.com/olekukonko/errors v1.3.0 h1:teJvgLGUEqMzBUms+Dj3/3szNqCG/Jdw9iDbum8fR6U=
Expand All @@ -289,12 +289,12 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pusher/pusher-http-go/v5 v5.1.1 h1:ZLUGdLA8yXMvByafIkS47nvuXOHrYmlh4bsQvuZnYVQ=
github.com/pusher/pusher-http-go/v5 v5.1.1/go.mod h1:Ibji4SGoUDtOy7CVRhCiEpgy+n5Xv6hSL/QqYOhmWW8=
github.com/redis/go-redis/extra/rediscmd/v9 v9.19.0 h1:QL3vQTj64ZQpxiDZx6bFYS7oN37EdHHqiYGz3grgTRI=
github.com/redis/go-redis/extra/rediscmd/v9 v9.19.0/go.mod h1:kGroOkFJzE2Si+mojCi3PCvuAnGnzEh1FAzy1Oh9mI8=
github.com/redis/go-redis/extra/redisotel/v9 v9.19.0 h1:yXeFe+EFMUirnzzy8MI5iazoqlpBdzVC6pk+K2Mu7do=
github.com/redis/go-redis/extra/redisotel/v9 v9.19.0/go.mod h1:GgAFS1Cg26tQEiHzDd8cHXPKUzzTineQ91Ei9glAxQs=
github.com/redis/go-redis/v9 v9.19.0 h1:XPVaaPSnG6RhYf7p+rmSa9zZfeVAnWsH5h3lxthOm/k=
github.com/redis/go-redis/v9 v9.19.0/go.mod h1:v/M13XI1PVCDcm01VtPFOADfZtHf8YW3baQf57KlIkA=
github.com/redis/go-redis/extra/rediscmd/v9 v9.20.0 h1:hx/fwTZnY+7hJ3P+zcdFthE6tw/uAEN9TNIZ1CQ7z8Y=
github.com/redis/go-redis/extra/rediscmd/v9 v9.20.0/go.mod h1:IL+oJIDTKpwgW/ld8CA7ldqO2ACgmbOd2WK9WgPqywY=
github.com/redis/go-redis/extra/redisotel/v9 v9.20.0 h1:+Bf7EiyYpSyYf5/JBnsHPDR+tBQ4CgRlBt4WV+QPS0k=
github.com/redis/go-redis/extra/redisotel/v9 v9.20.0/go.mod h1:dRCuOymGRykV8SJVDjvOID00wi2gOthNGg3iLEyrq0A=
github.com/redis/go-redis/v9 v9.20.0 h1:WnQYxLkgO2xiXTCJY0ldIiI8dNqCDlQAG+AtaH7a2a0=
github.com/redis/go-redis/v9 v9.20.0/go.mod h1:v/M13XI1PVCDcm01VtPFOADfZtHf8YW3baQf57KlIkA=
github.com/richardlehane/mscfb v1.0.6 h1:eN3bvvZCp00bs7Zf52bxNwAx5lJDBK1tCuH19qq5aC8=
github.com/richardlehane/mscfb v1.0.6/go.mod h1:pe0+IUIc0AHh0+teNzBlJCtSyZdFOGgV4ZK9bsoV+Jo=
github.com/richardlehane/msoleps v1.0.6 h1:9BvkpjvD+iUBalUY4esMwv6uBkfOip/Lzvd93jvR9gg=
Expand Down Expand Up @@ -521,8 +521,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4=
gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E=
google.golang.org/api v0.277.0 h1:HJfyJUiNeBBUMai7ez8u14wkp/gH/I4wpGbbO9o+cSk=
google.golang.org/api v0.277.0/go.mod h1:B9TqLBwJqVjp1mtt7WeoQwWRwvu/400y5lETOql+giQ=
google.golang.org/api v0.282.0 h1:WmJiSVqUnKqJCpJOx7YADbXaC+9DDsnGSfllFSj7R2I=
google.golang.org/api v0.282.0/go.mod h1:6Wssta4c5n9qHq5CBhmlai5h/PUa1djdDAIhYEHyvcM=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto v0.0.0-20260504160031-60b97b32f348 h1:JjVGDZYWkJWZcxveJGzfkXC5myDVWAd4dZdgbzrDUv8=
Expand Down
45 changes: 15 additions & 30 deletions api/pkg/di/container.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"strings"
"time"

"cloud.google.com/go/compute/metadata"
"github.com/NdoleStudio/httpsms/docs"
plunk "github.com/NdoleStudio/plunk-go"
"github.com/pusher/pusher-http-go/v5"
Expand Down Expand Up @@ -1015,8 +1016,7 @@ func (container *Container) OtelResources(version string, namespace string) *res
semconv.SchemaURL,
semconv.ServiceNameKey.String(namespace),
semconv.ServiceVersionKey.String(version),
semconv.ServiceInstanceIDKey.String(hostName()),
semconv.HostNameKey.String(hostName()),
semconv.ServiceInstanceIDKey.String(instanceID()),
semconv.DeploymentEnvironmentKey.String(os.Getenv("ENV")),
)
}
Expand Down Expand Up @@ -1914,7 +1914,7 @@ func (container *Container) initializeUptraceProvider(version string, namespace

func logger(skipFrameCount int) telemetry.Logger {
fields := map[string]string{
"hostname": hostName(),
string(semconv.ServiceInstanceIDKey): instanceID(),
string(semconv.DeploymentEnvironmentKey): os.Getenv("ENV"),
}

Expand All @@ -1933,32 +1933,6 @@ func logDriver(skipFrameCount int) *zerodriver.Logger {
return axiomLogger(skipFrameCount)
}

func jsonLogger(skipFrameCount int) *zerodriver.Logger {
logLevel := zerolog.DebugLevel
zerolog.SetGlobalLevel(logLevel)

// See: https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#LogSeverity
logLevelSeverity := map[zerolog.Level]string{
zerolog.TraceLevel: "DEFAULT",
zerolog.DebugLevel: "DEBUG",
zerolog.InfoLevel: "INFO",
zerolog.WarnLevel: "WARNING",
zerolog.ErrorLevel: "ERROR",
zerolog.PanicLevel: "CRITICAL",
zerolog.FatalLevel: "CRITICAL",
}

zerolog.LevelFieldName = "severity"
zerolog.LevelFieldMarshalFunc = func(l zerolog.Level) string {
return logLevelSeverity[l]
}
zerolog.TimestampFieldName = "time"
zerolog.TimeFieldFormat = time.RFC3339Nano

zl := zerolog.New(os.Stderr).With().Timestamp().CallerWithSkipFrameCount(skipFrameCount).Logger()
return &zerodriver.Logger{Logger: &zl}
}

func axiomLogger(skipFrameCount int) *zerodriver.Logger {
axiomWriter, err := axiomzerolog.New(
axiomzerolog.SetLevels([]zerolog.Level{zerolog.TraceLevel, zerolog.DebugLevel, zerolog.InfoLevel, zerolog.WarnLevel, zerolog.ErrorLevel, zerolog.PanicLevel, zerolog.FatalLevel, zerolog.NoLevel}),
Expand All @@ -1972,14 +1946,25 @@ func axiomLogger(skipFrameCount int) *zerodriver.Logger {
return &zerodriver.Logger{Logger: &zl}
}

func hostName() string {
func instanceID() string {
h, err := os.Hostname()
if err != nil {
h = strconv.Itoa(os.Getpid())
}
if metadata.OnGCE() {
return getGCEInstanceID(h)
}
return h
}

func getGCEInstanceID(hostname string) string {
instanceID, err := metadata.InstanceIDWithContext(context.Background())
if err != nil {
return hostname
}
return instanceID
}

func consoleLogger(skipFrameCount int) *zerodriver.Logger {
l := zerolog.New(
zerolog.ConsoleWriter{
Expand Down
2 changes: 1 addition & 1 deletion api/pkg/services/webhook_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ func (service *WebhookService) handleWebhookSendFailed(ctx context.Context, even
}

if errors.Is(err, context.DeadlineExceeded) {
payload.ErrorMessage = "TIMOUT after 10 seconds"
payload.ErrorMessage = "TIMEOUT after 10 seconds"
}

if response != nil {
Expand Down
Loading
Loading