Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 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
94eab76
Fix firebase
AchoArnold Jun 22, 2026
1b9f372
Fix the auth API for firebase
AchoArnold Jun 22, 2026
a5b4a9e
Fix the layout of the empty threads page
AchoArnold Jun 22, 2026
3e0e10e
Fix archived messages size
AchoArnold Jun 22, 2026
3ae7bca
Fix download app button
AchoArnold Jun 22, 2026
abaee6c
Cosmetic fixes
AchoArnold Jun 22, 2026
a62f7d1
Fix the laout
AchoArnold Jun 23, 2026
ba9a55c
Fixed the settings page
AchoArnold Jun 23, 2026
0c40a80
Fix phone api keys page
AchoArnold Jun 23, 2026
e26e65e
Fix the billing usage layout
AchoArnold Jun 23, 2026
8c4216e
Fix the billing page
AchoArnold Jun 23, 2026
c43c315
Fix the filters and the new message button
AchoArnold Jun 23, 2026
a6d5e84
Fix the bulk messages page
AchoArnold Jun 23, 2026
f520f92
Fix xtyling
AchoArnold Jun 23, 2026
5550f7e
start message search
AchoArnold Jun 23, 2026
717de73
add primary to loading annimation
AchoArnold Jun 23, 2026
4cb9013
Fix captcha
AchoArnold Jun 23, 2026
5813ef2
Fix message search
AchoArnold Jun 23, 2026
e2893d8
Run prettier
AchoArnold Jun 23, 2026
13f0a45
Fix prettier
AchoArnold Jun 23, 2026
64eb5cc
chore: configure husky lint hooks and ignore eslint cache
AchoArnold Jun 23, 2026
5381c5b
style: fix lint errors and format codebase with prettier/stylelint
AchoArnold Jun 23, 2026
321589a
fix: message thread header
AchoArnold Jun 24, 2026
61b0463
fix: style on thread page
AchoArnold Jun 24, 2026
b0d5159
fix: style on heartbeats page
AchoArnold Jun 24, 2026
1bd98f3
fix: layout of the thread psage
AchoArnold Jun 24, 2026
9027178
fix: add laout to new message page
AchoArnold Jun 24, 2026
fb65c6c
fix: add primary color to text-input
AchoArnold Jun 24, 2026
42d4dc7
fix: change <code> to <v-code>
AchoArnold Jun 24, 2026
83d5e4b
fix: make landing page mobile responsive
AchoArnold Jun 24, 2026
c92d023
docs: add design for login last-used badge
AchoArnold Jun 24, 2026
55a88a5
fix: add last used tag
AchoArnold Jun 24, 2026
d5f047c
fix: padding
AchoArnold Jun 24, 2026
b59d245
fix: make it mobile responsive
AchoArnold Jun 24, 2026
a6644da
fix: make pages mobile responsive
AchoArnold Jun 24, 2026
8febdf3
fix: add deployment to cloudflare
AchoArnold Jun 24, 2026
89d6ee4
fix: fixed eslint warnings
AchoArnold Jun 24, 2026
566940a
fix: migrate to wrangler
AchoArnold Jun 24, 2026
e43fd7b
fix: add logging
AchoArnold Jun 24, 2026
dc0c4f5
ci: add deployment to firebase
AchoArnold Jun 24, 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
15 changes: 7 additions & 8 deletions .github/workflows/web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest]
node: [20]
node: [24]

steps:
- name: Checkout 🛎
Expand All @@ -34,7 +34,7 @@ jobs:
- uses: pnpm/action-setup@v6
name: Install pnpm
with:
version: 10
version: 11

- name: Install dependencies 📦
run: pnpm install
Expand All @@ -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: mv .env.production .env && echo "GITHUB_SHA=${GITHUB_SHA}" >> .env && pnpm run generate

deploy:
name: Deploy
Expand All @@ -61,21 +61,20 @@ jobs:
- uses: pnpm/action-setup@v6
name: Install pnpm
with:
version: 10
version: 11

- name: Install dependencies 📦
run: pnpm install

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

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

- name: Firebase Deploy 🚀
Expand Down
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
repos:
- repo: https://github.com/tekwizely/pre-commit-golang
rev: v1.0.0-rc.1
rev: v1.0.0-rc.4
hooks:
- id: go-fumpt
- id: go-mod-tidy
- id: go-lint
- id: go-imports
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v6.0.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace

- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.1.0
rev: v4.0.0-alpha.8
hooks:
- id: prettier
exclude: ^web/
7 changes: 6 additions & 1 deletion api/docs/docs.go
Original file line number Diff line number Diff line change
Expand Up @@ -3348,6 +3348,7 @@ const docTemplate = `{
"required": [
"created_at",
"delivered_count",
"expired_count",
"failed_count",
"pending_count",
"request_id",
Expand All @@ -3364,6 +3365,10 @@ const docTemplate = `{
"type": "integer",
"example": 25
},
"expired_count": {
"type": "integer",
"example": 3
},
"failed_count": {
"type": "integer",
"example": 5
Expand All @@ -3374,7 +3379,7 @@ const docTemplate = `{
},
"request_id": {
"type": "string",
"example": "bulk-32343a19-da5e-4b1b-a767-3298a73703cb"
"example": "bulk-csv-a1B2c3D4e5"
},
"scheduled_count": {
"type": "integer",
Expand Down
9 changes: 7 additions & 2 deletions api/docs/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -3345,6 +3345,7 @@
"required": [
"created_at",
"delivered_count",
"expired_count",
"failed_count",
"pending_count",
"request_id",
Expand All @@ -3361,6 +3362,10 @@
"type": "integer",
"example": 25
},
"expired_count": {
"type": "integer",
"example": 3
},
"failed_count": {
"type": "integer",
"example": 5
Expand All @@ -3371,7 +3376,7 @@
},
"request_id": {
"type": "string",
"example": "bulk-32343a19-da5e-4b1b-a767-3298a73703cb"
"example": "bulk-csv-a1B2c3D4e5"
},
"scheduled_count": {
"type": "integer",
Expand Down Expand Up @@ -5367,4 +5372,4 @@
"in": "header"
}
}
}
}
6 changes: 5 additions & 1 deletion api/docs/swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,17 @@ definitions:
delivered_count:
example: 25
type: integer
expired_count:
example: 3
type: integer
failed_count:
example: 5
type: integer
pending_count:
example: 30
type: integer
request_id:
example: bulk-32343a19-da5e-4b1b-a767-3298a73703cb
example: bulk-csv-a1B2c3D4e5
type: string
scheduled_count:
example: 50
Expand All @@ -69,6 +72,7 @@ definitions:
required:
- created_at
- delivered_count
- expired_count
- failed_count
- pending_count
- request_id
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
Loading
Loading