diff --git a/server/.golangci.yml b/server/.golangci.yml index 76e9883096..79e248684a 100644 --- a/server/.golangci.yml +++ b/server/.golangci.yml @@ -100,7 +100,6 @@ issues: channels/app/permissions_test.go|\ channels/app/platform/helper_test.go|\ channels/app/platform/license.go|\ - channels/app/platform/link_cache.go|\ channels/app/platform/log.go|\ channels/app/platform/metrics.go|\ channels/app/platform/searchengine.go|\ diff --git a/server/channels/app/platform/link_cache.go b/server/channels/app/platform/link_cache.go index d6c0362aa1..76a70098c5 100644 --- a/server/channels/app/platform/link_cache.go +++ b/server/channels/app/platform/link_cache.go @@ -16,8 +16,8 @@ var linkCache = cache.NewLRU(&cache.CacheOptions{ Size: LinkCacheSize, }) -func PurgeLinkCache() { - linkCache.Purge() +func PurgeLinkCache() error { + return linkCache.Purge() } func LinkCache() cache.Cache { diff --git a/server/channels/app/post_metadata.go b/server/channels/app/post_metadata.go index 2ea8e404ea..87713a1eca 100644 --- a/server/channels/app/post_metadata.go +++ b/server/channels/app/post_metadata.go @@ -46,7 +46,9 @@ func (s *Server) initPostMetadata() { (before.ImageProxySettings.ImageProxyType != after.ImageProxySettings.ImageProxyType) || (before.ImageProxySettings.RemoteImageProxyURL != after.ImageProxySettings.RemoteImageProxyURL) || (before.ImageProxySettings.RemoteImageProxyOptions != after.ImageProxySettings.RemoteImageProxyOptions) { - platform.PurgeLinkCache() + if err := platform.PurgeLinkCache(); err != nil { + mlog.Warn("Failed to remove cached links when the proxy settings changed", mlog.Err(err)) + } } }) } diff --git a/server/channels/app/post_metadata_test.go b/server/channels/app/post_metadata_test.go index 92fd2fd3dd..8267f413c5 100644 --- a/server/channels/app/post_metadata_test.go +++ b/server/channels/app/post_metadata_test.go @@ -2043,7 +2043,8 @@ func TestGetLinkMetadata(t *testing.T) { *cfg.ServiceSettings.AllowedUntrustedInternalConnections = "127.0.0.1" }) - platform.PurgeLinkCache() + err := platform.PurgeLinkCache() + require.NoError(t, err) return th } @@ -2195,7 +2196,8 @@ func TestGetLinkMetadata(t *testing.T) { th.App.saveLinkMetadataToDatabase(requestURL, timestamp, &opengraph.OpenGraph{Title: title}, nil) t.Run("should use database if saved entry exists", func(t *testing.T) { - platform.PurgeLinkCache() + err := platform.PurgeLinkCache() + require.NoError(t, err) _, _, _, ok := getLinkMetadataFromCache(requestURL, timestamp) require.False(t, ok, "data should not exist in in-memory cache") @@ -2212,7 +2214,8 @@ func TestGetLinkMetadata(t *testing.T) { }) t.Run("should use database if saved entry exists near time", func(t *testing.T) { - platform.PurgeLinkCache() + err := platform.PurgeLinkCache() + require.NoError(t, err) _, _, _, ok := getLinkMetadataFromCache(requestURL, timestamp) require.False(t, ok, "data should not exist in in-memory cache") @@ -2229,7 +2232,8 @@ func TestGetLinkMetadata(t *testing.T) { }) t.Run("should not use database if URL is different", func(t *testing.T) { - platform.PurgeLinkCache() + err := platform.PurgeLinkCache() + require.NoError(t, err) differentURL := requestURL + "/other" @@ -2247,7 +2251,8 @@ func TestGetLinkMetadata(t *testing.T) { }) t.Run("should not use database if timestamp is different", func(t *testing.T) { - platform.PurgeLinkCache() + err := platform.PurgeLinkCache() + require.NoError(t, err) differentTimestamp := timestamp + 60*60*1000 @@ -2455,7 +2460,8 @@ func TestGetLinkMetadata(t *testing.T) { _, _, _, ok = getLinkMetadataFromCache(requestURL, timestamp) require.True(t, ok, "data should now exist in in-memory cache") - platform.PurgeLinkCache() + err = platform.PurgeLinkCache() + require.NoError(t, err) _, _, _, ok = getLinkMetadataFromCache(requestURL, timestamp) require.False(t, ok, "data should no longer exist in in-memory cache")