Diff
1diff --git a/cmd/soft/hook/hook.go b/cmd/soft/hook/hook.go
2index e9b3f1f5c1ff6c3ebf40cbf3f5d5160c53ed8953..8a6fb87dc4ca64a9eaf0da1a1ef7fdaf5a8c7faa 100644
3--- a/cmd/soft/hook/hook.go
4+++ b/cmd/soft/hook/hook.go
5@@ -12,7 +12,7 @@ import (
6 "path/filepath"
7 "strings"
8
9- "github.com/charmbracelet/log"
10+ "github.com/charmbracelet/log/v2"
11 "github.com/charmbracelet/soft-serve/cmd"
12 "github.com/charmbracelet/soft-serve/pkg/backend"
13 "github.com/charmbracelet/soft-serve/pkg/config"
14diff --git a/cmd/soft/main.go b/cmd/soft/main.go
15index 1abf8c2f8572476f0b0dd07deb8576f4395188b2..9b248fd37aa641d6d0707004413bf53ad959b4aa 100644
16--- a/cmd/soft/main.go
17+++ b/cmd/soft/main.go
18@@ -8,7 +8,7 @@ import (
19 "strconv"
20
21 "github.com/charmbracelet/colorprofile"
22- "github.com/charmbracelet/log"
23+ "github.com/charmbracelet/log/v2"
24 "github.com/charmbracelet/soft-serve/cmd/soft/admin"
25 "github.com/charmbracelet/soft-serve/cmd/soft/browse"
26 "github.com/charmbracelet/soft-serve/cmd/soft/hook"
27diff --git a/cmd/soft/serve/server.go b/cmd/soft/serve/server.go
28index 76e55f581234203600edebb4f7b7bcb5d1d155f7..56402f13e0182a0a5e9c0b089727cd398174a731 100644
29--- a/cmd/soft/serve/server.go
30+++ b/cmd/soft/serve/server.go
31@@ -6,7 +6,7 @@ import (
32 "fmt"
33 "net/http"
34
35- "github.com/charmbracelet/log"
36+ "github.com/charmbracelet/log/v2"
37
38 "github.com/charmbracelet/soft-serve/pkg/backend"
39 "github.com/charmbracelet/soft-serve/pkg/config"
40diff --git a/go.mod b/go.mod
41index ffd590990293616db03614748deade271399e236..c42aba922584329e82b66a857199447281e6da3b 100644
42--- a/go.mod
43+++ b/go.mod
44@@ -3,13 +3,10 @@ module github.com/charmbracelet/soft-serve
45 go 1.23.0
46
47 require (
48- github.com/charmbracelet/glamour v0.9.1
49- github.com/charmbracelet/lipgloss v1.1.0 // indirect
50 github.com/dustin/go-humanize v1.0.1
51 github.com/go-git/go-git/v5 v5.14.0
52 github.com/matryer/is v1.4.1
53 github.com/muesli/reflow v0.3.0
54- github.com/muesli/termenv v0.16.0
55 github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3
56 )
57
58@@ -19,15 +16,16 @@ require (
59 github.com/aymanbagabas/git-module v1.8.4-0.20231101154130-8d27204ac6d2
60 github.com/caarlos0/duration v0.0.0-20240108180406-5d492514f3c7
61 github.com/caarlos0/env/v11 v11.2.2
62- github.com/charmbracelet/bubbles/v2 v2.0.0-alpha.2.0.20250318132216-bd20b89a3e80
63- github.com/charmbracelet/bubbletea/v2 v2.0.0-alpha.2.0.20250318133619-2ce107c85fed
64- github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc
65+ github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1
66+ github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.1
67+ github.com/charmbracelet/colorprofile v0.3.0
68 github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240708204110-bacbfdb68d92
69+ github.com/charmbracelet/glamour/v2 v2.0.0-20250327182525-cd9a02a87169
70 github.com/charmbracelet/keygen v0.5.3
71- github.com/charmbracelet/lipgloss/v2 v2.0.0-alpha.2.0.20250313133401-58331b1fff40
72- github.com/charmbracelet/log v0.4.1
73+ github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.1
74+ github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706
75 github.com/charmbracelet/ssh v0.0.0-20250128164007-98fd5ae11894
76- github.com/charmbracelet/wish/v2 v2.0.0-20250319172925-3ae4bfe9c24e
77+ github.com/charmbracelet/wish/v2 v2.0.0-20250328000358-93bac50f7f6a
78 github.com/charmbracelet/x/ansi v0.8.0
79 github.com/go-jose/go-jose/v3 v3.0.3
80 github.com/gobwas/glob v0.2.3
81@@ -55,12 +53,10 @@ require (
82 require (
83 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be // indirect
84 github.com/atotto/clipboard v0.1.4 // indirect
85- github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
86 github.com/aymerick/douceur v0.2.0 // indirect
87 github.com/beorn7/perks v1.0.1 // indirect
88 github.com/cespare/xxhash/v2 v2.3.0 // indirect
89- github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706 // indirect
90- github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
91+ github.com/charmbracelet/x/cellbuf v0.0.14-0.20250326144200-0875329e71da // indirect
92 github.com/charmbracelet/x/conpty v0.1.0 // indirect
93 github.com/charmbracelet/x/errors v0.0.0-20240725160154-f9f6568126ec // indirect
94 github.com/charmbracelet/x/input v0.3.4 // indirect
95@@ -99,7 +95,6 @@ require (
96 golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
97 golang.org/x/net v0.36.0 // indirect
98 golang.org/x/sys v0.31.0 // indirect
99- golang.org/x/term v0.30.0 // indirect
100 golang.org/x/text v0.23.0 // indirect
101 golang.org/x/tools v0.26.0 // indirect
102 google.golang.org/protobuf v1.36.1 // indirect
103diff --git a/go.sum b/go.sum
104index 91a8baea2b45cb5fff2f52414d7b68c5819af1d7..fb492a5f1685be3e89f598a9725c7d3a7389283e 100644
105--- a/go.sum
106+++ b/go.sum
107@@ -14,8 +14,6 @@ github.com/aymanbagabas/bubblezone/v2 v2.0.0-20250319214444-bb232f16d5e3 h1:1z2i
108 github.com/aymanbagabas/bubblezone/v2 v2.0.0-20250319214444-bb232f16d5e3/go.mod h1:sJwqZoo/BSKSizmr0pSJ758RuRsnjlkrOaxPtwlWtOs=
109 github.com/aymanbagabas/git-module v1.8.4-0.20231101154130-8d27204ac6d2 h1:3w5KT+shE3hzWhORGiu2liVjEoaCEXm9uZP47+Gw4So=
110 github.com/aymanbagabas/git-module v1.8.4-0.20231101154130-8d27204ac6d2/go.mod h1:d4gQ7/3/S2sPq4NnKdtAgUOVr6XtLpWFtxyVV5/+76U=
111-github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
112-github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
113 github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWpi6yML8=
114 github.com/aymanbagabas/go-udiff v0.2.0/go.mod h1:RE4Ex0qsGkTAJoQdQQCA0uG+nAzJO/pI/QwceO5fgrA=
115 github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
116@@ -28,34 +26,30 @@ github.com/caarlos0/env/v11 v11.2.2 h1:95fApNrUyueipoZN/EhA8mMxiNxrBwDa+oAZrMWl3
117 github.com/caarlos0/env/v11 v11.2.2/go.mod h1:JBfcdeQiBoI3Zh1QRAWfe+tpiNTmDtcCj/hHHHMx0vc=
118 github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
119 github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
120-github.com/charmbracelet/bubbles/v2 v2.0.0-alpha.2.0.20250318132216-bd20b89a3e80 h1:RlfUmUVZpshOB7YP4sdnIymgXb6tXhHeQ2854afgKoU=
121-github.com/charmbracelet/bubbles/v2 v2.0.0-alpha.2.0.20250318132216-bd20b89a3e80/go.mod h1:OQsv1nZAu5v8GtZqNTqS4yY5mfR0VgImkpe2F0QYEfs=
122-github.com/charmbracelet/bubbletea/v2 v2.0.0-alpha.2.0.20250318133619-2ce107c85fed h1:Fsn31oc6fmX7YgfZ1Am+19HVorJ8Bf6wJTebVNLcQP0=
123-github.com/charmbracelet/bubbletea/v2 v2.0.0-alpha.2.0.20250318133619-2ce107c85fed/go.mod h1:ks5r0VCpADtYFlNU15krnFIbMn545yV3U6ee6UJrlto=
124-github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
125-github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
126+github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1 h1:swACzss0FjnyPz1enfX56GKkLiuKg5FlyVmOLIlU2kE=
127+github.com/charmbracelet/bubbles/v2 v2.0.0-beta.1/go.mod h1:6HamsBKWqEC/FVHuQMHgQL+knPyvHH55HwJDHl/adMw=
128+github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.1 h1:RvpXiXuPAuaKCHPCsE/lK5+zztnNDTSCa0CpeeIKdDU=
129+github.com/charmbracelet/bubbletea/v2 v2.0.0-beta.1/go.mod h1:qbcZLI5z8R49v9xBdU5V5Dh5D2uccx8wSwBqxQyErqc=
130+github.com/charmbracelet/colorprofile v0.3.0 h1:KtLh9uuu1RCt+Hml4s6Hz+kB1PfV3wi++1h5ia65yKQ=
131+github.com/charmbracelet/colorprofile v0.3.0/go.mod h1:oHJ340RS2nmG1zRGPmhJKJ/jf4FPNNk0P39/wBPA1G0=
132 github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240708204110-bacbfdb68d92 h1:KtQlsiHfY3K4AoIEh0yUE/wCLHteZ9EzV1hKmx+p7U8=
133 github.com/charmbracelet/git-lfs-transfer v0.1.1-0.20240708204110-bacbfdb68d92/go.mod h1:UrXUCm3xLQkq15fu7qlXHUMlrhdlXHoi13KH2Dfiits=
134-github.com/charmbracelet/glamour v0.9.1 h1:Q7PdJLOx8EoepsXUvW6Puz5WQ3YUElIGQdYKrIpiGLA=
135-github.com/charmbracelet/glamour v0.9.1/go.mod h1:+SHvIS8qnwhgTpVMiXwn7OfGomSqff1cHBCI8jLOetk=
136+github.com/charmbracelet/glamour/v2 v2.0.0-20250327182525-cd9a02a87169 h1:e7EonUlg7tnyBROD7J+C6bI3ndLF7Zh62UGd7d60ORM=
137+github.com/charmbracelet/glamour/v2 v2.0.0-20250327182525-cd9a02a87169/go.mod h1:4iwRPRwCj2jWI3odZnAPqc1nyCXDuBlnfkGavmjl9NI=
138 github.com/charmbracelet/keygen v0.5.3 h1:2MSDC62OUbDy6VmjIE2jM24LuXUvKywLCmaJDmr/Z/4=
139 github.com/charmbracelet/keygen v0.5.3/go.mod h1:TcpNoMAO5GSmhx3SgcEMqCrtn8BahKhB8AlwnLjRUpk=
140-github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
141-github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
142-github.com/charmbracelet/lipgloss/v2 v2.0.0-alpha.2.0.20250313133401-58331b1fff40 h1:9IxBdCOOJoJ1PYXgxWXJCk3Fkl7h2n+b7VtY+5BbIuQ=
143-github.com/charmbracelet/lipgloss/v2 v2.0.0-alpha.2.0.20250313133401-58331b1fff40/go.mod h1:XhU7tcZRWVGzkjWQ6XYRH7tIVqYuWLx6XLjVqAz+7FU=
144-github.com/charmbracelet/log v0.4.1 h1:6AYnoHKADkghm/vt4neaNEXkxcXLSV2g1rdyFDOpTyk=
145-github.com/charmbracelet/log v0.4.1/go.mod h1:pXgyTsqsVu4N9hGdHmQ0xEA4RsXof402LX9ZgiITn2I=
146+github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.1 h1:D9AJJuYTN5pvz6mpIGO1ijLKpfTYSHOtKGgwoTQ4Gog=
147+github.com/charmbracelet/lipgloss/v2 v2.0.0-beta.1/go.mod h1:tRlx/Hu0lo/j9viunCN2H+Ze6JrmdjQlXUQvvArgaOc=
148 github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706 h1:WkwO6Ks3mSIGnGuSdKl9qDSyfbYK50z2wc2gGMggegE=
149 github.com/charmbracelet/log/v2 v2.0.0-20250226163916-c379e29ff706/go.mod h1:mjJGp00cxcfvD5xdCa+bso251Jt4owrQvuimJtVmEmM=
150 github.com/charmbracelet/ssh v0.0.0-20250128164007-98fd5ae11894 h1:Ffon9TbltLGBsT6XE//YvNuu4OAaThXioqalhH11xEw=
151 github.com/charmbracelet/ssh v0.0.0-20250128164007-98fd5ae11894/go.mod h1:hg+I6gvlMl16nS9ZzQNgBIrrCasGwEw0QiLsDcP01Ko=
152-github.com/charmbracelet/wish/v2 v2.0.0-20250319172925-3ae4bfe9c24e h1:WjrZFTFMjmm9dyc+KzXpY8z2viWdwShU6Qqqu3ixAss=
153-github.com/charmbracelet/wish/v2 v2.0.0-20250319172925-3ae4bfe9c24e/go.mod h1:olUvE0hW+a8zFU1vNvlEm6PJS+ElY1V5pcaV5pjzaGI=
154+github.com/charmbracelet/wish/v2 v2.0.0-20250328000358-93bac50f7f6a h1:K+X0iNqDhVbjbPsXIh/HFfa5rBbhaH0aQQGzfMhGh8Q=
155+github.com/charmbracelet/wish/v2 v2.0.0-20250328000358-93bac50f7f6a/go.mod h1:sa+xyPJGyNn2g9WTIMGVhwHniS92FWjcfPPYROIq80c=
156 github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
157 github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
158-github.com/charmbracelet/x/cellbuf v0.0.13 h1:/KBBKHuVRbq1lYx5BzEHBAFBP8VcQzJejZ/IA3iR28k=
159-github.com/charmbracelet/x/cellbuf v0.0.13/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
160+github.com/charmbracelet/x/cellbuf v0.0.14-0.20250326144200-0875329e71da h1:8MGKD5WBtuzfXglq0CnyzVSwGojv57X+H46OL9OUyRA=
161+github.com/charmbracelet/x/cellbuf v0.0.14-0.20250326144200-0875329e71da/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
162 github.com/charmbracelet/x/conpty v0.1.0 h1:4zc8KaIcbiL4mghEON8D72agYtSeIgq8FSThSPQIb+U=
163 github.com/charmbracelet/x/conpty v0.1.0/go.mod h1:rMFsDJoDwVmiYM10aD4bH2XiRgwI7NYJtQgl5yskjEQ=
164 github.com/charmbracelet/x/errors v0.0.0-20240725160154-f9f6568126ec h1:O8c7pFFK0imuHH5JBqv5smlbVoFn4CZKGjtvCQKu1WE=
165@@ -163,8 +157,6 @@ github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s=
166 github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8=
167 github.com/muesli/roff v0.1.0 h1:YD0lalCotmYuF5HhZliKWlIx7IEhiXeSfq7hNjFqGF8=
168 github.com/muesli/roff v0.1.0/go.mod h1:pjAHQM9hdUUwm/krAfrLGgJkXJ+YuhtsfZ42kieB2Ig=
169-github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
170-github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
171 github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
172 github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
173 github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
174diff --git a/pkg/backend/auth.go b/pkg/backend/auth.go
175index 23713347883ddff6c9a2112d27db740f127052c2..7c8158f6d1ad67a580c2f6216b4ad02664f3a94b 100644
176--- a/pkg/backend/auth.go
177+++ b/pkg/backend/auth.go
178@@ -5,7 +5,7 @@ import (
179 "crypto/sha256"
180 "encoding/hex"
181
182- "github.com/charmbracelet/log"
183+ "github.com/charmbracelet/log/v2"
184 "golang.org/x/crypto/bcrypt"
185 )
186
187diff --git a/pkg/backend/backend.go b/pkg/backend/backend.go
188index ba8796b54546620df6b8377704ee5d76b1c10283..579d4cecbbc95118b8af451fdd8c9069d3c29e63 100644
189--- a/pkg/backend/backend.go
190+++ b/pkg/backend/backend.go
191@@ -3,7 +3,7 @@ package backend
192 import (
193 "context"
194
195- "github.com/charmbracelet/log"
196+ "github.com/charmbracelet/log/v2"
197 "github.com/charmbracelet/soft-serve/pkg/config"
198 "github.com/charmbracelet/soft-serve/pkg/db"
199 "github.com/charmbracelet/soft-serve/pkg/store"
200diff --git a/pkg/backend/webhooks.go b/pkg/backend/webhooks.go
201index e8e1fe9224f5b2bde6e7cae237599b7912fbcee4..cd3eb07e78ce3016c835c6ae00976f5b33fd427c 100644
202--- a/pkg/backend/webhooks.go
203+++ b/pkg/backend/webhooks.go
204@@ -4,7 +4,7 @@ import (
205 "context"
206 "encoding/json"
207
208- "github.com/charmbracelet/log"
209+ "github.com/charmbracelet/log/v2"
210 "github.com/charmbracelet/soft-serve/pkg/db"
211 "github.com/charmbracelet/soft-serve/pkg/db/models"
212 "github.com/charmbracelet/soft-serve/pkg/proto"
213diff --git a/pkg/cron/cron.go b/pkg/cron/cron.go
214index 6fed17b6a15ae6a954e9d6aa8d2418521231b4be..fa290a33e1e826515aeae2fbcd24e78b5a68e95d 100644
215--- a/pkg/cron/cron.go
216+++ b/pkg/cron/cron.go
217@@ -4,7 +4,7 @@ import (
218 "context"
219 "time"
220
221- "github.com/charmbracelet/log"
222+ "github.com/charmbracelet/log/v2"
223 "github.com/robfig/cron/v3"
224 )
225
226diff --git a/pkg/cron/cron_test.go b/pkg/cron/cron_test.go
227index c254191b2e45e889b5d2ce3f10fc1c7f16949c83..b8151db55fbbacb7444a87ad67e3f83ba87e6343 100644
228--- a/pkg/cron/cron_test.go
229+++ b/pkg/cron/cron_test.go
230@@ -6,7 +6,7 @@ import (
231 "fmt"
232 "testing"
233
234- "github.com/charmbracelet/log"
235+ "github.com/charmbracelet/log/v2"
236 )
237
238 func TestCronLogger(t *testing.T) {
239diff --git a/pkg/daemon/daemon.go b/pkg/daemon/daemon.go
240index a5156355e3362162ca8f958b232a4e5709c79751..3fe241cd65cddaf8aae540f014f6c4dd3ee0a976 100644
241--- a/pkg/daemon/daemon.go
242+++ b/pkg/daemon/daemon.go
243@@ -11,7 +11,7 @@ import (
244 "sync/atomic"
245 "time"
246
247- "github.com/charmbracelet/log"
248+ "github.com/charmbracelet/log/v2"
249 "github.com/charmbracelet/soft-serve/pkg/access"
250 "github.com/charmbracelet/soft-serve/pkg/backend"
251 "github.com/charmbracelet/soft-serve/pkg/config"
252diff --git a/pkg/db/db.go b/pkg/db/db.go
253index 968d0425afeb65cf7a62d6ebc6c406922178f692..7d5fc2ebea59141c5f40ff83341303792709eebf 100644
254--- a/pkg/db/db.go
255+++ b/pkg/db/db.go
256@@ -6,7 +6,7 @@ import (
257 "errors"
258 "fmt"
259
260- "github.com/charmbracelet/log"
261+ "github.com/charmbracelet/log/v2"
262 "github.com/charmbracelet/soft-serve/pkg/config"
263 "github.com/jmoiron/sqlx"
264 _ "github.com/lib/pq" // postgres driver
265diff --git a/pkg/db/logger.go b/pkg/db/logger.go
266index 821576d11990ebb4b14f76c2015d2a6a8c794f5d..605ec133a82c7676c3a7315904bb09a5fb219e5b 100644
267--- a/pkg/db/logger.go
268+++ b/pkg/db/logger.go
269@@ -5,7 +5,7 @@ import (
270 "database/sql"
271 "strings"
272
273- "github.com/charmbracelet/log"
274+ "github.com/charmbracelet/log/v2"
275 "github.com/jmoiron/sqlx"
276 )
277
278diff --git a/pkg/db/migrate/0003_migrate_lfs_objects.go b/pkg/db/migrate/0003_migrate_lfs_objects.go
279index d7acd7be715be008c6ad8d261de0af622a6a4496..c89775d8ed0b5fc0f0d414179ff6c3c8f6fc4d4c 100644
280--- a/pkg/db/migrate/0003_migrate_lfs_objects.go
281+++ b/pkg/db/migrate/0003_migrate_lfs_objects.go
282@@ -6,7 +6,7 @@ import (
283 "path/filepath"
284 "strconv"
285
286- "github.com/charmbracelet/log"
287+ "github.com/charmbracelet/log/v2"
288 "github.com/charmbracelet/soft-serve/pkg/config"
289 "github.com/charmbracelet/soft-serve/pkg/db"
290 "github.com/charmbracelet/soft-serve/pkg/db/models"
291diff --git a/pkg/db/migrate/migrate.go b/pkg/db/migrate/migrate.go
292index 18bc1780d488d13363e0be7b73768e337a1358e6..8273e454c9b5a8b1ac28edef580147be04dcafee 100644
293--- a/pkg/db/migrate/migrate.go
294+++ b/pkg/db/migrate/migrate.go
295@@ -6,7 +6,7 @@ import (
296 "errors"
297 "fmt"
298
299- "github.com/charmbracelet/log"
300+ "github.com/charmbracelet/log/v2"
301 "github.com/charmbracelet/soft-serve/pkg/db"
302 )
303
304diff --git a/pkg/git/git.go b/pkg/git/git.go
305index ed922e2649bf8c072a6197315507f465c676b85a..7b18cf22d562ebb638520501309a196a04a86cdb 100644
306--- a/pkg/git/git.go
307+++ b/pkg/git/git.go
308@@ -9,7 +9,7 @@ import (
309 "strings"
310
311 gitm "github.com/aymanbagabas/git-module"
312- "github.com/charmbracelet/log"
313+ "github.com/charmbracelet/log/v2"
314 "github.com/charmbracelet/soft-serve/git"
315 "github.com/go-git/go-git/v5/plumbing/format/pktline"
316 )
317diff --git a/pkg/git/lfs.go b/pkg/git/lfs.go
318index 3d3ae6f7e78f828360ccc11c3ff010e4f59a8438..212ad08041a14b20d54acbd50bf8da942f3e4c9a 100644
319--- a/pkg/git/lfs.go
320+++ b/pkg/git/lfs.go
321@@ -12,7 +12,7 @@ import (
322 "time"
323
324 "github.com/charmbracelet/git-lfs-transfer/transfer"
325- "github.com/charmbracelet/log"
326+ "github.com/charmbracelet/log/v2"
327 "github.com/charmbracelet/soft-serve/pkg/config"
328 "github.com/charmbracelet/soft-serve/pkg/db"
329 "github.com/charmbracelet/soft-serve/pkg/db/models"
330diff --git a/pkg/git/lfs_auth.go b/pkg/git/lfs_auth.go
331index edf0785d45e60c20dea26bb998276ec3a67581ac..32a8e6cba7abbc50d7499ba858bdb4ddffc9e83b 100644
332--- a/pkg/git/lfs_auth.go
333+++ b/pkg/git/lfs_auth.go
334@@ -7,7 +7,7 @@ import (
335 "fmt"
336 "time"
337
338- "github.com/charmbracelet/log"
339+ "github.com/charmbracelet/log/v2"
340 "github.com/charmbracelet/soft-serve/pkg/config"
341 "github.com/charmbracelet/soft-serve/pkg/jwk"
342 "github.com/charmbracelet/soft-serve/pkg/lfs"
343diff --git a/pkg/git/lfs_log.go b/pkg/git/lfs_log.go
344index 979932d51df6a5cfd9700c12f7d103d2d2a8aed3..fed14ba440aacc986c99e646fbef90e455c266b2 100644
345--- a/pkg/git/lfs_log.go
346+++ b/pkg/git/lfs_log.go
347@@ -2,7 +2,7 @@ package git
348
349 import (
350 "github.com/charmbracelet/git-lfs-transfer/transfer"
351- "github.com/charmbracelet/log"
352+ "github.com/charmbracelet/log/v2"
353 )
354
355 type lfsLogger struct {
356diff --git a/pkg/git/service.go b/pkg/git/service.go
357index 24576421d4b9a0850501a34143ae6482d4358391..af589c25719320f4c2d8581fe375de32158346b9 100644
358--- a/pkg/git/service.go
359+++ b/pkg/git/service.go
360@@ -10,7 +10,7 @@ import (
361 "strings"
362 "sync"
363
364- "github.com/charmbracelet/log"
365+ "github.com/charmbracelet/log/v2"
366 )
367
368 // Service is a Git daemon service.
369diff --git a/pkg/hooks/gen.go b/pkg/hooks/gen.go
370index 245e5eb69fe4844c19c721cd7573ff723b9b0aab..d06661be6010efa7ae6acc94e296fd072bae50b1 100644
371--- a/pkg/hooks/gen.go
372+++ b/pkg/hooks/gen.go
373@@ -7,7 +7,7 @@ import (
374 "path/filepath"
375 "text/template"
376
377- "github.com/charmbracelet/log"
378+ "github.com/charmbracelet/log/v2"
379 "github.com/charmbracelet/soft-serve/pkg/config"
380 "github.com/charmbracelet/soft-serve/pkg/utils"
381 )
382diff --git a/pkg/jobs/mirror.go b/pkg/jobs/mirror.go
383index 16ea923418ea49d4a24bf7892257d8a93688e3a6..9ebfdd864e76494b5081bb9ba244947989b591ee 100644
384--- a/pkg/jobs/mirror.go
385+++ b/pkg/jobs/mirror.go
386@@ -7,7 +7,7 @@ import (
387 "runtime"
388 "strings"
389
390- "github.com/charmbracelet/log"
391+ "github.com/charmbracelet/log/v2"
392 "github.com/charmbracelet/soft-serve/git"
393 "github.com/charmbracelet/soft-serve/pkg/backend"
394 "github.com/charmbracelet/soft-serve/pkg/config"
395diff --git a/pkg/lfs/basic_transfer.go b/pkg/lfs/basic_transfer.go
396index 609197c1035c176f6d31495d3a8cf57de7f5830c..d3e4100cd3477d77b3fe8a5953882f847336fd53 100644
397--- a/pkg/lfs/basic_transfer.go
398+++ b/pkg/lfs/basic_transfer.go
399@@ -9,7 +9,7 @@ import (
400 "io"
401 "net/http"
402
403- "github.com/charmbracelet/log"
404+ "github.com/charmbracelet/log/v2"
405 )
406
407 // BasicTransferAdapter implements the "basic" adapter
408diff --git a/pkg/lfs/http_client.go b/pkg/lfs/http_client.go
409index a8b55031f083d1fd5e4b9aaccd896fb50013f41c..c78a2e4b2e061a3f8b9c4a675b4f97226ee209bb 100644
410--- a/pkg/lfs/http_client.go
411+++ b/pkg/lfs/http_client.go
412@@ -8,7 +8,7 @@ import (
413 "fmt"
414 "net/http"
415
416- "github.com/charmbracelet/log"
417+ "github.com/charmbracelet/log/v2"
418 )
419
420 // httpClient is a Git LFS client to communicate with a LFS source API.
421diff --git a/pkg/log/log.go b/pkg/log/log.go
422index b9134ead76d6d5a96a413cfea5d2202647054374..0c1552589506a2cd82ae11aa77e300218e47d4d6 100644
423--- a/pkg/log/log.go
424+++ b/pkg/log/log.go
425@@ -5,7 +5,7 @@ import (
426 "strings"
427 "time"
428
429- "github.com/charmbracelet/log"
430+ "github.com/charmbracelet/log/v2"
431 "github.com/charmbracelet/soft-serve/pkg/config"
432 )
433
434diff --git a/pkg/ssh/cmd/commit.go b/pkg/ssh/cmd/commit.go
435index 4f91b2fed9ef2ca334d266ee4c43b8770ac73a06..88fb1b2c8bd310a3b30492c8e67a02d3c37df72d 100644
436--- a/pkg/ssh/cmd/commit.go
437+++ b/pkg/ssh/cmd/commit.go
438@@ -5,7 +5,7 @@ import (
439 "strings"
440 "time"
441
442- gansi "github.com/charmbracelet/glamour/ansi"
443+ gansi "github.com/charmbracelet/glamour/v2/ansi"
444 "github.com/charmbracelet/soft-serve/git"
445 "github.com/charmbracelet/soft-serve/pkg/backend"
446 "github.com/charmbracelet/soft-serve/pkg/ui/common"
447diff --git a/pkg/ssh/cmd/git.go b/pkg/ssh/cmd/git.go
448index 7265c9a762dd57ec62348b2da960d1ef7cca3651..620b9f0890e2ee4c19b202f9e97eee7ecab325b2 100644
449--- a/pkg/ssh/cmd/git.go
450+++ b/pkg/ssh/cmd/git.go
451@@ -6,7 +6,7 @@ import (
452 "strings"
453 "time"
454
455- "github.com/charmbracelet/log"
456+ "github.com/charmbracelet/log/v2"
457 "github.com/charmbracelet/soft-serve/pkg/access"
458 "github.com/charmbracelet/soft-serve/pkg/backend"
459 "github.com/charmbracelet/soft-serve/pkg/config"
460diff --git a/pkg/ssh/cmd/tag.go b/pkg/ssh/cmd/tag.go
461index 009ac03083a90c6809b61d2c904ae398a59572fe..fc21ce0e4f73a2a340d61ade327ecfd157c1af0e 100644
462--- a/pkg/ssh/cmd/tag.go
463+++ b/pkg/ssh/cmd/tag.go
464@@ -3,7 +3,7 @@ package cmd
465 import (
466 "strings"
467
468- "github.com/charmbracelet/log"
469+ "github.com/charmbracelet/log/v2"
470 "github.com/charmbracelet/soft-serve/git"
471 "github.com/charmbracelet/soft-serve/pkg/backend"
472 "github.com/charmbracelet/soft-serve/pkg/proto"
473diff --git a/pkg/ssh/middleware.go b/pkg/ssh/middleware.go
474index 0bfb4c483a9bd5dfeadc23686841f0343a3e6110..32c31af933a807bef2de20dd37e53778a7cb91aa 100644
475--- a/pkg/ssh/middleware.go
476+++ b/pkg/ssh/middleware.go
477@@ -4,7 +4,7 @@ import (
478 "fmt"
479 "time"
480
481- "github.com/charmbracelet/log"
482+ "github.com/charmbracelet/log/v2"
483 "github.com/charmbracelet/soft-serve/pkg/backend"
484 "github.com/charmbracelet/soft-serve/pkg/config"
485 "github.com/charmbracelet/soft-serve/pkg/db"
486diff --git a/pkg/ssh/session_test.go b/pkg/ssh/session_test.go
487index d8d8bab850790ff76602bc8abbb257dac423b8b7..f831327450cf92c32188bde1096473274c57e78e 100644
488--- a/pkg/ssh/session_test.go
489+++ b/pkg/ssh/session_test.go
490@@ -8,7 +8,7 @@ import (
491 "testing"
492 "time"
493
494- "github.com/charmbracelet/log"
495+ "github.com/charmbracelet/log/v2"
496 "github.com/charmbracelet/soft-serve/pkg/backend"
497 "github.com/charmbracelet/soft-serve/pkg/config"
498 "github.com/charmbracelet/soft-serve/pkg/db"
499@@ -20,7 +20,6 @@ import (
500 bm "github.com/charmbracelet/wish/v2/bubbletea"
501 "github.com/charmbracelet/wish/v2/testsession"
502 "github.com/matryer/is"
503- "github.com/muesli/termenv"
504 gossh "golang.org/x/crypto/ssh"
505 _ "modernc.org/sqlite" // sqlite driver
506 )
507@@ -79,7 +78,7 @@ func setup(tb testing.TB) (*gossh.Session, func() error) {
508 be := backend.New(ctx, cfg, dbx, dbstore)
509 ctx = backend.WithContext(ctx, be)
510 return testsession.New(tb, &ssh.Server{
511- Handler: ContextMiddleware(cfg, dbx, dbstore, be, log.Default())(bm.MiddlewareWithProgramHandler(SessionHandler, termenv.ANSI256)(func(s ssh.Session) {
512+ Handler: ContextMiddleware(cfg, dbx, dbstore, be, log.Default())(bm.MiddlewareWithProgramHandler(SessionHandler)(func(s ssh.Session) {
513 _, _, active := s.Pty()
514 if !active {
515 os.Exit(1)
516diff --git a/pkg/ssh/ssh.go b/pkg/ssh/ssh.go
517index 6ce1f7d113a8066db3c6960a0fb4ea2de37a570f..bd6dd2cf0cee82618c1d8421ce8e0037f42b0a8f 100644
518--- a/pkg/ssh/ssh.go
519+++ b/pkg/ssh/ssh.go
520@@ -10,7 +10,7 @@ import (
521 "time"
522
523 "github.com/charmbracelet/keygen"
524- "github.com/charmbracelet/log"
525+ "github.com/charmbracelet/log/v2"
526 "github.com/charmbracelet/soft-serve/pkg/backend"
527 "github.com/charmbracelet/soft-serve/pkg/config"
528 "github.com/charmbracelet/soft-serve/pkg/db"
529diff --git a/pkg/store/database/database.go b/pkg/store/database/database.go
530index 02c4bd19cf25e2c3dccd59829eeb71d1947e59af..e41087c7a8dfaa8f14da34715425c0f761d380ba 100644
531--- a/pkg/store/database/database.go
532+++ b/pkg/store/database/database.go
533@@ -3,7 +3,7 @@ package database
534 import (
535 "context"
536
537- "github.com/charmbracelet/log"
538+ "github.com/charmbracelet/log/v2"
539 "github.com/charmbracelet/soft-serve/pkg/config"
540 "github.com/charmbracelet/soft-serve/pkg/db"
541 "github.com/charmbracelet/soft-serve/pkg/store"
542diff --git a/pkg/ui/common/common.go b/pkg/ui/common/common.go
543index 76b6ac488e8f71f21b5fb94c054f137331146bd7..687939407f8af05cc703dbf0ef1a60cd01302836 100644
544--- a/pkg/ui/common/common.go
545+++ b/pkg/ui/common/common.go
546@@ -6,7 +6,7 @@ import (
547
548 "github.com/alecthomas/chroma/v2/lexers"
549 zone "github.com/aymanbagabas/bubblezone/v2"
550- "github.com/charmbracelet/log"
551+ "github.com/charmbracelet/log/v2"
552 "github.com/charmbracelet/soft-serve/git"
553 "github.com/charmbracelet/soft-serve/pkg/backend"
554 "github.com/charmbracelet/soft-serve/pkg/config"
555diff --git a/pkg/ui/common/format.go b/pkg/ui/common/format.go
556index 4344e057d8cfba2478b977a34f01a1d28c1cc6d2..f82c71aec65d6366f3f4d6da770979c94a4d18e4 100644
557--- a/pkg/ui/common/format.go
558+++ b/pkg/ui/common/format.go
559@@ -6,7 +6,7 @@ import (
560 "strings"
561
562 "github.com/alecthomas/chroma/v2/lexers"
563- gansi "github.com/charmbracelet/glamour/ansi"
564+ gansi "github.com/charmbracelet/glamour/v2/ansi"
565 "github.com/charmbracelet/soft-serve/pkg/ui/styles"
566 )
567
568diff --git a/pkg/ui/common/style.go b/pkg/ui/common/style.go
569index 62239d0a5c9a122679362e17f6942b834eec4690..01000da16591fe143f73ff9cc97c831691f47892 100644
570--- a/pkg/ui/common/style.go
571+++ b/pkg/ui/common/style.go
572@@ -2,9 +2,8 @@ package common
573
574 import (
575 "github.com/charmbracelet/colorprofile"
576- gansi "github.com/charmbracelet/glamour/ansi"
577- "github.com/charmbracelet/glamour/styles"
578- "github.com/muesli/termenv"
579+ gansi "github.com/charmbracelet/glamour/v2/ansi"
580+ "github.com/charmbracelet/glamour/v2/styles"
581 )
582
583 // DefaultColorProfile is the default color profile used by the SSH server.
584@@ -40,7 +39,6 @@ func StyleRenderer() gansi.RenderContext {
585 // DefaultColorProfile and styles.
586 func StyleRendererWithStyles(styles gansi.StyleConfig) gansi.RenderContext {
587 return gansi.NewRenderContext(gansi.Options{
588- ColorProfile: termenv.ANSI256,
589- Styles: styles,
590+ Styles: styles,
591 })
592 }
593diff --git a/pkg/ui/components/code/code.go b/pkg/ui/components/code/code.go
594index 416cd85d0a0066396f506f595592e74524b6c76b..6da77c65fe8040f9bf21c266eafbcf78328613c5 100644
595--- a/pkg/ui/components/code/code.go
596+++ b/pkg/ui/components/code/code.go
597@@ -7,12 +7,11 @@ import (
598
599 "github.com/alecthomas/chroma/v2/lexers"
600 tea "github.com/charmbracelet/bubbletea/v2"
601- "github.com/charmbracelet/glamour"
602- gansi "github.com/charmbracelet/glamour/ansi"
603+ "github.com/charmbracelet/glamour/v2"
604+ gansi "github.com/charmbracelet/glamour/v2/ansi"
605 "github.com/charmbracelet/lipgloss/v2"
606 "github.com/charmbracelet/soft-serve/pkg/ui/common"
607 vp "github.com/charmbracelet/soft-serve/pkg/ui/components/viewport"
608- "github.com/muesli/termenv"
609 )
610
611 const (
612@@ -228,8 +227,7 @@ func (r *Code) renderFile(path, content string) (string, error) {
613 var m uint
614 st.CodeBlock.Margin = &m
615 rc = gansi.NewRenderContext(gansi.Options{
616- ColorProfile: termenv.TrueColor,
617- Styles: st,
618+ Styles: st,
619 })
620 }
621 err := formatter.Render(&s, rc)
622diff --git a/pkg/ui/pages/repo/log.go b/pkg/ui/pages/repo/log.go
623index 1caabb4d6ba4ff42d6f91df56c723809c97bb8d4..bb8caa34c4d4b2d6f915ae0a5411d4388b6f24bf 100644
624--- a/pkg/ui/pages/repo/log.go
625+++ b/pkg/ui/pages/repo/log.go
626@@ -8,7 +8,7 @@ import (
627 "github.com/charmbracelet/bubbles/v2/key"
628 "github.com/charmbracelet/bubbles/v2/spinner"
629 tea "github.com/charmbracelet/bubbletea/v2"
630- gansi "github.com/charmbracelet/glamour/ansi"
631+ gansi "github.com/charmbracelet/glamour/v2/ansi"
632 "github.com/charmbracelet/lipgloss/v2"
633 "github.com/charmbracelet/soft-serve/git"
634 "github.com/charmbracelet/soft-serve/pkg/proto"
635diff --git a/pkg/web/auth.go b/pkg/web/auth.go
636index 96b2bab85fcc94200525088d0bf37bac31942bf8..0d8f6d49737b2585cda0720c1567f5e4470cd229 100644
637--- a/pkg/web/auth.go
638+++ b/pkg/web/auth.go
639@@ -7,7 +7,7 @@ import (
640 "net/http"
641 "strings"
642
643- "github.com/charmbracelet/log"
644+ "github.com/charmbracelet/log/v2"
645 "github.com/charmbracelet/soft-serve/pkg/backend"
646 "github.com/charmbracelet/soft-serve/pkg/config"
647 "github.com/charmbracelet/soft-serve/pkg/proto"
648diff --git a/pkg/web/context.go b/pkg/web/context.go
649index ccba92776861ac7108851c0ace1845b7a1311936..725e80b201b71ececfd0edc85515d22da1ac4464 100644
650--- a/pkg/web/context.go
651+++ b/pkg/web/context.go
652@@ -4,7 +4,7 @@ import (
653 "context"
654 "net/http"
655
656- "github.com/charmbracelet/log"
657+ "github.com/charmbracelet/log/v2"
658 "github.com/charmbracelet/soft-serve/pkg/backend"
659 "github.com/charmbracelet/soft-serve/pkg/config"
660 "github.com/charmbracelet/soft-serve/pkg/db"
661diff --git a/pkg/web/git.go b/pkg/web/git.go
662index 1980f73af53cda7ff1b594fd4581d7397de0b0f2..df307d41f0d5e5b367362549ff8608efd6f54b55 100644
663--- a/pkg/web/git.go
664+++ b/pkg/web/git.go
665@@ -14,7 +14,7 @@ import (
666 "strings"
667 "time"
668
669- "github.com/charmbracelet/log"
670+ "github.com/charmbracelet/log/v2"
671 gitb "github.com/charmbracelet/soft-serve/git"
672 "github.com/charmbracelet/soft-serve/pkg/access"
673 "github.com/charmbracelet/soft-serve/pkg/backend"
674diff --git a/pkg/web/git_lfs.go b/pkg/web/git_lfs.go
675index dccd87f95ea9d0a9d37ea1f1bf62e1c3c8ee3023..9149d4f8ee7a56290b33daf53cec104f4e94c6ab 100644
676--- a/pkg/web/git_lfs.go
677+++ b/pkg/web/git_lfs.go
678@@ -13,7 +13,7 @@ import (
679 "strconv"
680 "strings"
681
682- "github.com/charmbracelet/log"
683+ "github.com/charmbracelet/log/v2"
684 "github.com/charmbracelet/soft-serve/pkg/access"
685 "github.com/charmbracelet/soft-serve/pkg/backend"
686 "github.com/charmbracelet/soft-serve/pkg/config"
687diff --git a/pkg/web/goget.go b/pkg/web/goget.go
688index 3c9c49719c0d44ad30fdef5dc9a44492d9e15497..b6678ff9184dd323a232a02d0ee41eb37feffa7e 100644
689--- a/pkg/web/goget.go
690+++ b/pkg/web/goget.go
691@@ -6,7 +6,7 @@ import (
692 "path"
693 "text/template"
694
695- "github.com/charmbracelet/log"
696+ "github.com/charmbracelet/log/v2"
697 "github.com/charmbracelet/soft-serve/pkg/backend"
698 "github.com/charmbracelet/soft-serve/pkg/config"
699 "github.com/charmbracelet/soft-serve/pkg/utils"
700diff --git a/pkg/web/http.go b/pkg/web/http.go
701index 20fae6bd176edff577947b56e14722f8f53d8819..0cdc57b1bb087d395b577441d5659b93adbb580b 100644
702--- a/pkg/web/http.go
703+++ b/pkg/web/http.go
704@@ -5,7 +5,7 @@ import (
705 "net/http"
706 "time"
707
708- "github.com/charmbracelet/log"
709+ "github.com/charmbracelet/log/v2"
710 "github.com/charmbracelet/soft-serve/pkg/config"
711 )
712
713diff --git a/pkg/web/logging.go b/pkg/web/logging.go
714index 63b6d35e5b5fcf22308fffc7caefe729832d90d5..b9a264f55988d5b6697bae25e38afba276033ca9 100644
715--- a/pkg/web/logging.go
716+++ b/pkg/web/logging.go
717@@ -7,7 +7,7 @@ import (
718 "net/http"
719 "time"
720
721- "github.com/charmbracelet/log"
722+ "github.com/charmbracelet/log/v2"
723 "github.com/dustin/go-humanize"
724 )
725
726diff --git a/pkg/web/server.go b/pkg/web/server.go
727index 74a04f5b176bee7d1710f023643436119b181c97..a5cb490ed4b20f54c49f93775affc640594a6970 100644
728--- a/pkg/web/server.go
729+++ b/pkg/web/server.go
730@@ -4,7 +4,7 @@ import (
731 "context"
732 "net/http"
733
734- "github.com/charmbracelet/log"
735+ "github.com/charmbracelet/log/v2"
736 "github.com/gorilla/handlers"
737 "github.com/gorilla/mux"
738 )