diff --git a/Dockerfile b/Dockerfile index a804f31..483fa43 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG GO_VERSION=1.24.0 +ARG GO_VERSION=1.24.1 FROM --platform=$BUILDPLATFORM golang:${GO_VERSION} AS build ARG TARGETOS diff --git a/go.mod b/go.mod index 6053f3f..e8bd7bc 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module git.maid.zone/stuff/soundcloak -go 1.24.0 +go 1.24.1 require ( github.com/a-h/templ v0.3.833 @@ -29,8 +29,8 @@ require ( github.com/tinylib/msgp v1.2.5 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/x448/float16 v0.8.4 // indirect - golang.org/x/crypto v0.33.0 // indirect - golang.org/x/net v0.35.0 // indirect - golang.org/x/sys v0.30.0 // indirect - golang.org/x/text v0.22.0 // indirect + golang.org/x/crypto v0.36.0 // indirect + golang.org/x/net v0.37.0 // indirect + golang.org/x/sys v0.31.0 // indirect + golang.org/x/text v0.23.0 // indirect ) diff --git a/go.sum b/go.sum index ce5a1fe..f03f68a 100644 --- a/go.sum +++ b/go.sum @@ -71,14 +71,14 @@ github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3i github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= -golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= -golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= +golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= +golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -88,16 +88,16 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= diff --git a/lib/sc/init.go b/lib/sc/init.go index 3fb6b67..e2c6006 100644 --- a/lib/sc/init.go +++ b/lib/sc/init.go @@ -426,8 +426,9 @@ func init() { for range ticker.C { usersCacheLock.Lock() + now := time.Now() for key, val := range UsersCache { - if val.Expires.Before(time.Now()) { + if val.Expires.Before(now) { delete(UsersCache, key) } } @@ -441,8 +442,9 @@ func init() { for range ticker.C { tracksCacheLock.Lock() + now := time.Now() for key, val := range TracksCache { - if val.Expires.Before(time.Now()) { + if val.Expires.Before(now) { delete(TracksCache, key) } } @@ -456,8 +458,9 @@ func init() { for range ticker.C { playlistsCacheLock.Lock() + now := time.Now() for key, val := range PlaylistsCache { - if val.Expires.Before(time.Now()) { + if val.Expires.Before(now) { delete(PlaylistsCache, key) } } diff --git a/lib/sc/playlist.go b/lib/sc/playlist.go index 53652bd..31e64b4 100644 --- a/lib/sc/playlist.go +++ b/lib/sc/playlist.go @@ -37,7 +37,7 @@ type Playlist struct { func GetPlaylist(cid string, permalink string) (Playlist, error) { playlistsCacheLock.RLock() - if cell, ok := PlaylistsCache[permalink]; ok && cell.Expires.After(time.Now()) { + if cell, ok := PlaylistsCache[permalink]; ok { playlistsCacheLock.RUnlock() return cell.Value, nil } diff --git a/lib/sc/track.go b/lib/sc/track.go index 81eccfb..5a204cc 100644 --- a/lib/sc/track.go +++ b/lib/sc/track.go @@ -129,7 +129,7 @@ func (m Media) SelectCompatible(mode string, opus bool) (*Transcoding, string) { func GetTrack(cid string, permalink string) (Track, error) { tracksCacheLock.RLock() - if cell, ok := TracksCache[permalink]; ok && cell.Expires.After(time.Now()) { + if cell, ok := TracksCache[permalink]; ok { tracksCacheLock.RUnlock() return cell.Value, nil } @@ -394,7 +394,7 @@ func (t Track) FormatDescription() string { func GetTrackByID(cid string, id string) (Track, error) { tracksCacheLock.RLock() for _, cell := range TracksCache { - if string(cell.Value.ID) == string(id) && cell.Expires.After(time.Now()) { + if string(cell.Value.ID) == string(id) { tracksCacheLock.RUnlock() return cell.Value, nil } diff --git a/lib/sc/user.go b/lib/sc/user.go index ff5876c..923f244 100644 --- a/lib/sc/user.go +++ b/lib/sc/user.go @@ -94,7 +94,7 @@ func (l Like) Fix(prefs cfg.Preferences) { } func GetUser(cid string, permalink string) (User, error) { usersCacheLock.RLock() - if cell, ok := UsersCache[permalink]; ok && cell.Expires.After(time.Now()) { + if cell, ok := UsersCache[permalink]; ok { usersCacheLock.RUnlock() return cell.Value, nil }