diff --git a/.gopmfile b/.gopmfile index d4cd970179e..28bc79e69fb 100644 --- a/.gopmfile +++ b/.gopmfile @@ -24,7 +24,9 @@ github.com/macaron-contrib/oauth2 = commit:8f394c3629 github.com/macaron-contrib/session = commit:e48134e803 github.com/macaron-contrib/toolbox = commit:acbfe36e16 github.com/mattn/go-sqlite3 = commit:e28cd440fa +github.com/mcuadros/go-version github.com/microcosm-cc/bluemonday = commit:2b7763a06c +github.com/mssola/user_agent = commit:f659b98638 github.com/msteinert/pam = commit:9a42d39dbf github.com/nfnt/resize = commit:dc93e1b98c github.com/russross/blackfriday = commit:8cec3a854e @@ -33,8 +35,6 @@ golang.org/x/net = commit:937a34c9de13 golang.org/x/text = commit:5b2527008a4c gopkg.in/ini.v1 = commit:caf3f03ad9 gopkg.in/redis.v2 = commit:e617904962 -github.com/hashicorp/go-version = commit:999359b6b7 -github.com/mssola/user_agent = commit:f659b98638 [res] include = etc|public|scripts|templates diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go index e8a362bd4dd..0aaecec84bf 100644 --- a/modules/middleware/repo.go +++ b/modules/middleware/repo.go @@ -10,20 +10,19 @@ import ( "strings" "github.com/Unknwon/macaron" + "github.com/mcuadros/go-version" + "github.com/mssola/user_agent" "github.com/gogits/gogs/models" "github.com/gogits/gogs/modules/base" "github.com/gogits/gogs/modules/git" "github.com/gogits/gogs/modules/log" "github.com/gogits/gogs/modules/setting" - - "github.com/hashicorp/go-version" - "github.com/mssola/user_agent" ) const ( FIREFOX_COPY_SUPPORT = "41.0" - CHROME_COPY_SUPPORT = "43.0.2356" + CHROME_COPY_SUPPORT = "43.0.2356" ) func ApiRepoAssignment() macaron.Handler { @@ -355,22 +354,11 @@ func RepoAssignment(redirect bool, args ...bool) macaron.Handler { ctx.Data["CommitId"] = ctx.Repo.CommitId userAgent := ctx.Req.Header.Get("User-Agent") - ua := user_agent.New(userAgent); + ua := user_agent.New(userAgent) browserName, browserVer := ua.Browser() - sliceVer := strings.Split(browserVer, ".") - var max int - if max = len(sliceVer); 3 < max { - max = 3 - } - browserVer = strings.Join(sliceVer[:max], ".") - - browserVersion, err := version.NewVersion(browserVer) - chromeConstraint, err := version.NewConstraint(">= " + CHROME_COPY_SUPPORT) - firefoxConstraint, err := version.NewConstraint(">= " + FIREFOX_COPY_SUPPORT) - - ctx.Data["BrowserSupportsCopy"] = (browserName == "Chrome" && chromeConstraint.Check(browserVersion)) || (browserName == "Firefox" && firefoxConstraint.Check(browserVersion)) - + ctx.Data["BrowserSupportsCopy"] = (browserName == "Chrome" && version.Compare(browserVer, CHROME_COPY_SUPPORT, ">=")) || + (browserName == "Firefox" && version.Compare(browserVer, FIREFOX_COPY_SUPPORT, ">=")) } }