Update oasisSdk and apply breaking changes

This commit is contained in:
2025-08-31 15:53:00 +01:00
parent 5988eead04
commit 1da705a1b0
3 changed files with 221 additions and 215 deletions

2
go.mod
View File

@@ -7,7 +7,7 @@ require (
fyne.io/x/fyne v0.0.0-20250418202416-58a230ad1acb fyne.io/x/fyne v0.0.0-20250418202416-58a230ad1acb
github.com/rrivera/identicon v0.0.0-20240116195454-d5ba35832c0d github.com/rrivera/identicon v0.0.0-20240116195454-d5ba35832c0d
mellium.im/xmpp v0.22.0 mellium.im/xmpp v0.22.0
pain.agency/oasis-sdk v0.0.0-20250809192709-a3e5dff1aa61 pain.agency/oasis-sdk v0.0.0-20250831105702-85385dca3a95
) )
require ( require (

2
go.sum
View File

@@ -101,3 +101,5 @@ mellium.im/xmpp v0.22.0 h1:UthQVSwEAr7SNrmyc90c2ykGpVHxjn/3yw8Ey4+Im8s=
mellium.im/xmpp v0.22.0/go.mod h1:WSjq12nhREFD88Vy/0WD6Q8inE8t6a8w7QjzwivWitw= mellium.im/xmpp v0.22.0/go.mod h1:WSjq12nhREFD88Vy/0WD6Q8inE8t6a8w7QjzwivWitw=
pain.agency/oasis-sdk v0.0.0-20250809192709-a3e5dff1aa61 h1:7zb69SAfLAJhXoqXZaS0pq/p1Y9W19Pm4FjcwWjTVoE= pain.agency/oasis-sdk v0.0.0-20250809192709-a3e5dff1aa61 h1:7zb69SAfLAJhXoqXZaS0pq/p1Y9W19Pm4FjcwWjTVoE=
pain.agency/oasis-sdk v0.0.0-20250809192709-a3e5dff1aa61/go.mod h1:eyvDgfpHo+9bdB/AkMEMZ3ETeoSONTULVx9X4w9kGAU= pain.agency/oasis-sdk v0.0.0-20250809192709-a3e5dff1aa61/go.mod h1:eyvDgfpHo+9bdB/AkMEMZ3ETeoSONTULVx9X4w9kGAU=
pain.agency/oasis-sdk v0.0.0-20250831105702-85385dca3a95 h1:BcB7/hnMnQIU+pERvQRGFMt9i0/o8XCnHbK1kYG3/K4=
pain.agency/oasis-sdk v0.0.0-20250831105702-85385dca3a95/go.mod h1:eyvDgfpHo+9bdB/AkMEMZ3ETeoSONTULVx9X4w9kGAU=

28
main.go
View File

@@ -202,8 +202,6 @@ func CreateUITab(chatJidStr string) ChatTabUI {
return return
} }
if strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "mp4") || strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "mp3") || strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "gif") || strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "webp") { // FIXME: This code is fucking terrible // TODO: Could check mime? if strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "mp4") || strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "mp3") || strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "gif") || strings.HasSuffix(chatTabs[chatJidStr].Messages[i].ImageURL, "webp") { // FIXME: This code is fucking terrible // TODO: Could check mime?
url, err := url.Parse(chatTabs[chatJidStr].Messages[i].ImageURL) url, err := url.Parse(chatTabs[chatJidStr].Messages[i].ImageURL)
if err != nil { if err != nil {
@@ -396,8 +394,9 @@ func main() {
notifications = config.Notifications notifications = config.Notifications
client, err := oasisSdk.CreateClient( client, err := oasisSdk.CreateClient(
&login, &login)
func(client *oasisSdk.XmppClient, msg *oasisSdk.XMPPChatMessage) {
client.SetDmHandler(func(client *oasisSdk.XmppClient, msg *oasisSdk.XMPPChatMessage) {
correction := false correction := false
userJidStr := msg.From.Bare().String() userJidStr := msg.From.Bare().String()
tab, ok := chatTabs[userJidStr] tab, ok := chatTabs[userJidStr]
@@ -467,8 +466,9 @@ func main() {
} }
}) })
} }
}, })
func(client *oasisSdk.XmppClient, muc *muc.Channel, msg *oasisSdk.XMPPChatMessage) {
client.SetGroupChatHandler(func(client *oasisSdk.XmppClient, muc *muc.Channel, msg *oasisSdk.XMPPChatMessage) {
// HACK: IGNORING ALL MESSAGES FROM CLASSIC MUC HISTORY IN PREPARATION OF MAM SUPPORT // HACK: IGNORING ALL MESSAGES FROM CLASSIC MUC HISTORY IN PREPARATION OF MAM SUPPORT
ignore := false ignore := false
correction := false correction := false
@@ -560,8 +560,9 @@ func main() {
} }
}) })
} }
}, })
func(_ *oasisSdk.XmppClient, from jid.JID, state oasisSdk.ChatState) {
client.SetChatstateHandler(func(_ *oasisSdk.XmppClient, from jid.JID, state oasisSdk.ChatState) {
switch state { switch state {
case oasisSdk.ChatStateComposing: case oasisSdk.ChatStateComposing:
fyne.Do(func() { fyne.Do(func() {
@@ -585,10 +586,13 @@ func main() {
statBar.SetText("") statBar.SetText("")
}) })
} }
}, })
client.SetDeliveryReceiptHandler(
func(_ *oasisSdk.XmppClient, from jid.JID, id string) { func(_ *oasisSdk.XmppClient, from jid.JID, id string) {
fmt.Printf("Delivered %s to %s", id, from.String()) fmt.Printf("Delivered %s to %s", id, from.String())
}, })
client.SetReadReceiptHandler(
func(_ *oasisSdk.XmppClient, from jid.JID, id string) { func(_ *oasisSdk.XmppClient, from jid.JID, id string) {
for _, tab := range chatTabs { for _, tab := range chatTabs {
for i := len(tab.Messages) - 1; i >= 0; i-- { for i := len(tab.Messages) - 1; i >= 0; i-- {
@@ -603,8 +607,8 @@ func main() {
} }
} }
fmt.Printf("%s has seen %s\n", from.String(), id) fmt.Printf("%s has seen %s\n", from.String(), id)
}, })
)
if err != nil { if err != nil {
log.Fatalln("Could not create client - " + err.Error()) log.Fatalln("Could not create client - " + err.Error())
} }