From 158cff3098e9370696f9250a199c78e4f2d18ce0 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Sat, 30 May 2026 16:10:36 +0200 Subject: Add JID interning --- main/src/ui/add_conversation/add_contact_dialog.vala | 4 ++-- main/src/ui/add_conversation/add_groupchat_dialog.vala | 6 +++--- .../src/ui/add_conversation/conference_details_fragment.vala | 6 +++--- main/src/ui/add_conversation/select_jid_fragment.vala | 2 +- main/src/ui/application.vala | 2 +- main/src/ui/widgets/avatar_picture.vala | 2 +- main/src/windows/preferences_window/add_account_dialog.vala | 12 ++++++------ 7 files changed, 17 insertions(+), 17 deletions(-) (limited to 'main') diff --git a/main/src/ui/add_conversation/add_contact_dialog.vala b/main/src/ui/add_conversation/add_contact_dialog.vala index 7b4f40a0..22bcb771 100644 --- a/main/src/ui/add_conversation/add_contact_dialog.vala +++ b/main/src/ui/add_conversation/add_contact_dialog.vala @@ -40,7 +40,7 @@ protected class AddContactDialog : Gtk.Dialog { private void on_ok_button_clicked() { string? alias = alias_entry.text == "" ? null : alias_entry.text; try { - Jid jid = new Jid(jid_entry.text); + Jid jid = Jid.from_string(jid_entry.text); stream_interactor.get_module(RosterManager.IDENTITY).add_jid(account, jid, alias); stream_interactor.get_module(PresenceManager.IDENTITY).request_subscription(account, jid); close(); @@ -51,7 +51,7 @@ protected class AddContactDialog : Gtk.Dialog { private void on_jid_entry_changed() { try { - Jid parsed_jid = new Jid(jid_entry.text); + Jid parsed_jid = Jid.from_string(jid_entry.text); ok_button. sensitive = parsed_jid != null && parsed_jid.resourcepart == null && stream_interactor.get_module(RosterManager.IDENTITY).get_roster_item(account, parsed_jid) == null; } catch (InvalidJidError e) { diff --git a/main/src/ui/add_conversation/add_groupchat_dialog.vala b/main/src/ui/add_conversation/add_groupchat_dialog.vala index a94b8c86..44ac0cfa 100644 --- a/main/src/ui/add_conversation/add_groupchat_dialog.vala +++ b/main/src/ui/add_conversation/add_groupchat_dialog.vala @@ -39,7 +39,7 @@ protected class AddGroupchatDialog : Gtk.Dialog { check_ok(); if (!alias_entry_changed) { try { - Jid parsed_jid = new Jid(jid_entry.text); + Jid parsed_jid = Jid.from_string(jid_entry.text); alias_entry.text = parsed_jid != null && parsed_jid.localpart != null ? parsed_jid.localpart : jid_entry.text; } catch (InvalidJidError e) { alias_entry.text = jid_entry.text; @@ -49,7 +49,7 @@ protected class AddGroupchatDialog : Gtk.Dialog { private void check_ok() { try { - Jid parsed_jid = new Jid(jid_entry.text); + Jid parsed_jid = Jid.from_string(jid_entry.text); ok_button.sensitive = parsed_jid != null && parsed_jid.localpart != null && parsed_jid.resourcepart == null; } catch (InvalidJidError e) { ok_button.sensitive = false; @@ -59,7 +59,7 @@ protected class AddGroupchatDialog : Gtk.Dialog { private void on_ok_button_clicked() { try { Conference conference = new Conference(); - conference.jid = new Jid(jid_entry.text); + conference.jid = Jid.from_string(jid_entry.text); conference.nick = nick_entry.text != "" ? nick_entry.text : null; conference.name = alias_entry.text; stream_interactor.get_module(MucManager.IDENTITY).add_bookmark(account_combobox.selected, conference); diff --git a/main/src/ui/add_conversation/conference_details_fragment.vala b/main/src/ui/add_conversation/conference_details_fragment.vala index 11374032..71fca841 100644 --- a/main/src/ui/add_conversation/conference_details_fragment.vala +++ b/main/src/ui/add_conversation/conference_details_fragment.vala @@ -145,7 +145,7 @@ protected class ConferenceDetailsFragment : Box { string label_text = ""; try { - Jid parsed_jid = new Jid(jid); + Jid parsed_jid = Jid.from_string(jid); Muc.JoinResult? join_result = yield stream_interactor.get_module(MucManager.IDENTITY).join(account, parsed_jid, nick, password); ok_button.label = _("Join"); @@ -180,7 +180,7 @@ protected class ConferenceDetailsFragment : Box { label_text = _("Too many occupants in room"); break; } } else if (join_result.stanza_error != null) { - label_text = _("Could not connect to %s").printf((new Jid(jid)).domainpart); + label_text = _("Could not connect to %s").printf((Jid.from_string(jid)).domainpart); } } catch (InvalidJidError e) { label_text = _("Invalid address"); @@ -191,7 +191,7 @@ protected class ConferenceDetailsFragment : Box { private void check_if_done() { try { - Jid parsed_jid = new Jid(jid); + Jid parsed_jid = Jid.from_string(jid); done = parsed_jid.localpart != null && parsed_jid.resourcepart == null && nick != null; } catch (InvalidJidError e) { done = false; diff --git a/main/src/ui/add_conversation/select_jid_fragment.vala b/main/src/ui/add_conversation/select_jid_fragment.vala index cea1ff86..c9898e8c 100644 --- a/main/src/ui/add_conversation/select_jid_fragment.vala +++ b/main/src/ui/add_conversation/select_jid_fragment.vala @@ -61,7 +61,7 @@ public class SelectJidFragment : Gtk.Box { list.invalidate_filter(); try { - Jid parsed_jid = new Jid(str); + Jid parsed_jid = Jid.from_string(str); if (parsed_jid != null && parsed_jid.localpart != null) { foreach (Account account in accounts) { var list_row = new Gtk.ListBoxRow(); diff --git a/main/src/ui/application.vala b/main/src/ui/application.vala index 605a7a75..1b4dc049 100644 --- a/main/src/ui/application.vala +++ b/main/src/ui/application.vala @@ -89,7 +89,7 @@ public class Dino.Ui.Application : Adw.Application, Dino.Application { Gee.List accounts = stream_interactor.get_accounts(); Jid parsed_jid = null; try { - parsed_jid = new Jid(jid); + parsed_jid = Jid.from_string(jid); } catch (InvalidJidError ignored) { // Ignored } diff --git a/main/src/ui/widgets/avatar_picture.vala b/main/src/ui/widgets/avatar_picture.vala index bfad4d22..155c9440 100644 --- a/main/src/ui/widgets/avatar_picture.vala +++ b/main/src/ui/widgets/avatar_picture.vala @@ -34,7 +34,7 @@ public class Dino.Ui.ViewModel.ConversationParticipantAvatarPictureTileModel : A secondary_avatar_jid = primary_avatar_jid; primary_avatar_jid = real_jid.bare_jid; color_id = primary_avatar_jid.to_string(); - } else { + } else if (jid.resourcepart != null) { color_id = jid.resourcepart.to_string(); } } else if (conversation.type_ == Conversation.Type.CHAT) { diff --git a/main/src/windows/preferences_window/add_account_dialog.vala b/main/src/windows/preferences_window/add_account_dialog.vala index 2568a01e..a0d42533 100644 --- a/main/src/windows/preferences_window/add_account_dialog.vala +++ b/main/src/windows/preferences_window/add_account_dialog.vala @@ -91,7 +91,7 @@ public class AddAccountDialog : Adw.Dialog { // Select Server server_entry.changed.connect(() => { try { - Jid jid = new Jid(server_entry.text); + Jid jid = Jid.from_string(server_entry.text); select_server_continue.sensitive = jid != null && jid.localpart == null && jid.resourcepart == null; } catch (InvalidJidError e) { select_server_continue.sensitive = false; @@ -182,7 +182,7 @@ public class AddAccountDialog : Adw.Dialog { private void on_jid_entry_changed() { try { - login_jid = new Jid(jid_entry.text); + login_jid = Jid.from_string(jid_entry.text); if (login_jid.localpart != null && login_jid.resourcepart == null) { sign_in_continue_button.sensitive = true; } else { @@ -195,7 +195,7 @@ public class AddAccountDialog : Adw.Dialog { private async void on_sign_in_continue_button_clicked() { try { - login_jid = new Jid(jid_entry.text); + login_jid = Jid.from_string(jid_entry.text); sign_in_tls_label.label = ""; sign_in_error_label.visible = false; sign_in_continue_button.sensitive = false; @@ -258,7 +258,7 @@ public class AddAccountDialog : Adw.Dialog { private void on_select_server_continue() { try { - server_jid = new Jid(server_entry.text); + server_jid = Jid.from_string(server_entry.text); request_show_register_form.begin(server_jid); } catch (InvalidJidError e) { warning("Invalid address from interface allowed server: %s", e.message); @@ -268,7 +268,7 @@ public class AddAccountDialog : Adw.Dialog { private void on_server_list_row_activated(ListBox box, ListBoxRow row) { try { - server_jid = new Jid(list_box_jids[row]); + server_jid = Jid.from_string(list_box_jids[row]); request_show_register_form.begin(server_jid); } catch (InvalidJidError e) { warning("Invalid address from selected server: %s", e.message); @@ -351,7 +351,7 @@ public class AddAccountDialog : Adw.Dialog { } } try { - Account account = new Account(new Jid.components(username, server_jid.domainpart, null), password); + Account account = new Account(Jid.from_components(username, server_jid.domainpart, null), password); add_activate_account(account); show_success(account); } catch (InvalidJidError e) { -- cgit v1.3