Some changes
Some checks failed
build for freebsd / build (push) Has been cancelled
build Linux / build (push) Has been cancelled
build for macos / build (push) Has been cancelled
build for windows / build (push) Has been cancelled

This commit is contained in:
2025-08-27 12:02:38 +01:00
parent 65e4e3380c
commit d2b9f9843f

57
main.go
View File

@@ -26,11 +26,12 @@ import (
"github.com/rrivera/identicon" "github.com/rrivera/identicon"
// xmpp - required // xmpp - required
"mellium.im/xmpp/disco" _ "mellium.im/xmpp/disco"
"mellium.im/xmpp/jid" "mellium.im/xmpp/jid"
"mellium.im/xmpp/muc" "mellium.im/xmpp/muc"
"mellium.im/xmpp/stanza"
_ "mellium.im/xmpp/stanza"
oasisSdk "pain.agency/oasis-sdk" oasisSdk "pain.agency/oasis-sdk"
// gui - optional // gui - optional
// catppuccin "github.com/mbaklor/fyne-catppuccin" // catppuccin "github.com/mbaklor/fyne-catppuccin"
// TODO: integrated theme switcher // TODO: integrated theme switcher
@@ -945,27 +946,61 @@ func main() {
}) })
servDisc := fyne.NewMenuItem("Disco features", func() { servDisc := fyne.NewMenuItem("Disco features", func() {
var search jid.JID //var search jid.JID
dialog.ShowEntryDialog("Disco features", "JID: ", func(s string) { // TODO: replace with undeprecated widget dialog.ShowEntryDialog("Disco features", "JID: ", func(s string) { // TODO: replace with undeprecated widgetd
search, err = jid.Parse(s) d := dialog.NewCustom("Please wait", "Close", widget.NewLabel("..."), w)
d.Show()
go func() {
//search, err = jid.Parse(s)
//if err != nil {
// d.Hide()
// dialog.ShowError(err, w)
// return
//}
txt := `<iq from='ringen@muc.isekai.rocks/sunglocto'
to='ringen@muc.iskai.rocks/snit'
type='get'
id='vc2'>
<vCard xmlns='vcard-temp'/>
</iq>`
var stan stanza.IQ
xml.Unmarshal([]byte(txt), &stan)
if err != nil { if err != nil {
d.Hide()
dialog.ShowError(err, w) dialog.ShowError(err, w)
return return
} }
r, err := client.Session.EncodeIQ(client.Ctx, stan)
if err != nil {
d.Hide()
dialog.ShowError(err, w)
return
}
ra, _ := r.Token()
t, _ := xml.MarshalIndent(ra, "", "\t")
fmt.Println(string(t))
d.Hide()
/*
myBox := container.NewGridWithColumns(1, widget.NewLabel("Items")) myBox := container.NewGridWithColumns(1, widget.NewLabel("Items"))
info, err := disco.GetInfo(client.Ctx, "", search, client.Session) info, err := disco.GetInfo(client.Ctx, "", search, client.Session)
if err != nil { if err != nil {
d.Hide()
dialog.ShowError(err, w) dialog.ShowError(err, w)
return return
} }
m := info.Features m := info.Identity
for _, v := range m { bytes, err := xml.MarshalIndent(m, "", "\t")
myBox.Add(widget.NewLabel(v.Var)) if err != nil {
myBox.Refresh() d.Hide()
dialog.ShowError(err, w)
return
} }
fyne.Do(func() {d.Hide()})
dialog.ShowCustom("Features", "cancel", myBox, w) myBox.Objects = append(myBox.Objects, widget.NewLabel(string(bytes)))
dialog.ShowCustom("Service discovery", "cancel", myBox, w)
*/
}()
}, w) }, w)
}) })