From 7ed560e45d98065aadfc71fe427a6513aeeff02f Mon Sep 17 00:00:00 2001 From: sunglocto Date: Sat, 9 Aug 2025 10:07:05 +0100 Subject: [PATCH] Update dependencies and add warning to Hot Fuck button --- go.mod | 2 +- go.sum | 20 ++------------------ main.go | 40 ++++++++++++++++++++++++++-------------- 3 files changed, 29 insertions(+), 33 deletions(-) diff --git a/go.mod b/go.mod index b0cac3a..fb295f3 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( fyne.io/x/fyne v0.0.0-20250418202416-58a230ad1acb github.com/rrivera/identicon v0.0.0-20240116195454-d5ba35832c0d mellium.im/xmpp v0.22.0 - pain.agency/oasis-sdk v0.0.0-20250805092722-ede7355bc2e8 + pain.agency/oasis-sdk v0.0.0-20250808203123-f4b5bab7b040 ) require ( diff --git a/go.sum b/go.sum index a0196b2..97782d3 100644 --- a/go.sum +++ b/go.sum @@ -70,34 +70,20 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.7.13 h1:GPddIs617DnBLFFVJFgpo1aBfe/4xcvMc3SB5t/D0pA= github.com/yuin/goldmark v1.7.13/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg= -golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= -golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= -golang.org/x/image v0.29.0 h1:HcdsyR4Gsuys/Axh0rDEmlBmB68rW1U9BUdB3UVHsas= -golang.org/x/image v0.29.0/go.mod h1:RVJROnf3SLK8d26OW91j4FrIHGbsJ8QnbEocVTOWQDA= golang.org/x/image v0.30.0 h1:jD5RhkmVAnjqaCUXfbGBrn3lpxbknfN9w2UhHHU+5B4= golang.org/x/image v0.30.0/go.mod h1:SAEUTxCCMWSrJcCy/4HwavEsfZZJlYxeHLc6tTiAe/c= -golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg= -golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= -golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= -golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= -golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -113,7 +99,5 @@ mellium.im/xmlstream v0.15.4 h1:gLKxcWl4rLMUpKgtzrTBvr4OexPeO/edYus+uK3F6ZI= mellium.im/xmlstream v0.15.4/go.mod h1:yXaCW2++fmVO4L9piKVkyLDqnCmictVYF7FDQW8prb4= mellium.im/xmpp v0.22.0 h1:UthQVSwEAr7SNrmyc90c2ykGpVHxjn/3yw8Ey4+Im8s= mellium.im/xmpp v0.22.0/go.mod h1:WSjq12nhREFD88Vy/0WD6Q8inE8t6a8w7QjzwivWitw= -pain.agency/oasis-sdk v0.0.0-20250805052243-df6be3f9f629 h1:NE+Z2HQzc77nw7l7DsSDSi0x9l+YfLfXBYerK+GsPrQ= -pain.agency/oasis-sdk v0.0.0-20250805052243-df6be3f9f629/go.mod h1:eyvDgfpHo+9bdB/AkMEMZ3ETeoSONTULVx9X4w9kGAU= -pain.agency/oasis-sdk v0.0.0-20250805092722-ede7355bc2e8 h1:veXelXiQdENbezz06+mpbvmq5FvZibCISuKh14D77iw= -pain.agency/oasis-sdk v0.0.0-20250805092722-ede7355bc2e8/go.mod h1:eyvDgfpHo+9bdB/AkMEMZ3ETeoSONTULVx9X4w9kGAU= +pain.agency/oasis-sdk v0.0.0-20250808203123-f4b5bab7b040 h1:NcLVvJf5LwygyA7sXqc2dnJKWl9KJ2uChR3Wvr0kelM= +pain.agency/oasis-sdk v0.0.0-20250808203123-f4b5bab7b040/go.mod h1:eyvDgfpHo+9bdB/AkMEMZ3ETeoSONTULVx9X4w9kGAU= diff --git a/main.go b/main.go index b405013..6668de7 100644 --- a/main.go +++ b/main.go @@ -37,7 +37,7 @@ import ( // TODO: integrated theme switcher ) -var version string = "3.14a" +var version string = "3.142a" var statBar widget.Label var chatInfo fyne.Container var chatSidebar fyne.Container @@ -162,25 +162,33 @@ func CreateUITab(chatJidStr string) ChatTabUI { if chatTabs[chatJidStr].Messages[i].ImageURL != "" { btn.Hidden = false btn.OnTapped = func() { - fyne.Do(func() { + go func() { u, err := storage.ParseURI(chatTabs[chatJidStr].Messages[i].ImageURL) if err != nil { - dialog.ShowError(err, w) + fyne.Do(func() { + dialog.ShowError(err, w) + }) return } if strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "mp4") || strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "mp3") { url, err := url.Parse(chatTabs[chatJidStr].Messages[i].ImageURL) if err != nil { - dialog.ShowError(err, w) + fyne.Do(func() { + dialog.ShowError(err, w) + }) return } - a.OpenURL(url) + fyne.Do(func() { + a.OpenURL(url) + }) return } image := canvas.NewImageFromURI(u) image.FillMode = canvas.ImageFillOriginal - dialog.ShowCustom("Image", "Close", image, w) - }) + fyne.Do(func() { + dialog.ShowCustom("Image", "Close", image, w) + }) + }() } } // Check if the message is a quote @@ -409,14 +417,14 @@ func main() { if v.XMLName.Local == "delay" { // Classic history message //ignore = true //fmt.Println("ignoring!") - return //what is blud doing + //return //what is blud doing } } for _, v := range msg.Unknown { if v.XMLName.Local == "replace" { correction = true - break // dont need to look at more fields + break // dont need to look at more fields } } @@ -552,8 +560,7 @@ func main() { entry := widget.NewMultiLineEntry() entry.SetPlaceHolder("Say something, you know you want to.") entry.Wrapping = fyne.TextWrapBreak - entry.OnChanged = func(s string) { - } + //entry.TypedShortcut() SendCallback := func() { text := entry.Text @@ -846,9 +853,14 @@ func main() { }) hotfuck := fyne.NewMenuItem("Hot Fuck", func() { - entry.Text = "Hot Fuck" - SendCallback() - entry.Text = "Oh Yeah." + dialog.ShowConfirm("WARNING", "This button will send the message \"Hot Fuck\" into your currently focused chat. Do you want to continue?", func(b bool) { + if b { + + entry.Text = "Hot Fuck" + SendCallback() + entry.Text = "Oh Yeah." + } + }, w) }) agree := fyne.NewMenuItem("Agree", func() {