From 6ed4ea0f938f832060e0d0d0d7523d0ce2df6e2d Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Fri, 15 Jul 2022 13:48:54 -0500 Subject: [PATCH] feat: point to Zulip chat rather than jabber. (#4218) * feat: point to Zulip chat rather than jabber. * fix: Address review comments from Jennifer and Nick --- client/agenda/AgendaScheduleList.vue | 12 +-- client/agenda/store.js | 5 +- ietf/doc/templatetags/ietf_filters.py | 2 +- ietf/group/admin.py | 2 +- .../migrations/0057_nojabber_onlychat.py | 19 ++++ ietf/group/models.py | 12 ++- ietf/group/resources.py | 2 +- ietf/meeting/models.py | 14 ++- ietf/meeting/views.py | 7 +- ietf/name/fixtures/names.json | 90 +++++++++++-------- ietf/secr/sreq/tests.py | 4 +- ietf/settings.py | 6 ++ ietf/templates/group/group_about.html | 14 +-- .../meeting/interim_minutes_reminder.txt | 4 +- .../meeting/interim_session_buttons.html | 16 ++-- .../meeting/session_buttons_include.html | 24 ++--- 16 files changed, 150 insertions(+), 83 deletions(-) create mode 100644 ietf/group/migrations/0057_nojabber_onlychat.py diff --git a/client/agenda/AgendaScheduleList.vue b/client/agenda/AgendaScheduleList.vue index 7a95d430a..3ca6bd7f6 100644 --- a/client/agenda/AgendaScheduleList.vue +++ b/client/agenda/AgendaScheduleList.vue @@ -278,12 +278,12 @@ const meetingEvents = computed(() => { } if (item.adjustedEnd > current) { // -> Pre/live event - // -> Jabber logs + // -> Chat room links.push({ - id: `lnk-${item.id}-logs`, - label: `Chat logs for ${item.acronym}`, + id: `lnk-${item.id}-room`, + label: `Chat room for ${item.acronym}`, icon: 'chat-left-text', - href: `xmpp:${item.type === 'plenary' ? 'plenary' : item.acronym}@jabber.ietf.org?join`, + href: item.links.chat, color: 'green' }) // -> Video stream @@ -339,12 +339,12 @@ const meetingEvents = computed(() => { } else { // -> Post event if (meetingNumberInt >= 60) { - // -> Jabber logs + // -> Chat logs links.push({ id: `lnk-${item.id}-logs`, label: `Chat logs for ${item.acronym}`, icon: 'chat-left-text', - href: `https://www.ietf.org/jabber/logs/${item.type === 'plenary' ? 'plenary' : item.acronym}?C=M;O=D`, + href: item.links.chatArchive, color: 'green' }) } diff --git a/client/agenda/store.js b/client/agenda/store.js index 040518a79..a4ac296e8 100644 --- a/client/agenda/store.js +++ b/client/agenda/store.js @@ -107,12 +107,11 @@ export const useAgendaStore = defineStore('agenda', { adjustedStartDateTime: eventStartDate.toISO(), adjustedEndDateTime: eventEndDate.toISO(), links: { - recordings: s.links.recordings, + ...s.links, videoStream: formatLinkUrl(s.links.videoStream, s, state.meeting.number), onsiteTool: formatLinkUrl(s.links.onsiteTool, s, state.meeting.number), audioStream: formatLinkUrl(s.links.audioStream, s, state.meeting.number), - remoteCallIn: remoteCallInUrl, - calendar: s.links.calendar + remoteCallIn: remoteCallInUrl }, sessionKeyword: s.sessionToken ? `${s.groupAcronym}-${s.sessionToken}` : s.groupAcronym } diff --git a/ietf/doc/templatetags/ietf_filters.py b/ietf/doc/templatetags/ietf_filters.py index 5b19ccf67..d2450fa62 100644 --- a/ietf/doc/templatetags/ietf_filters.py +++ b/ietf/doc/templatetags/ietf_filters.py @@ -729,7 +729,7 @@ def is_special_agenda_item(assignment): @register.filter def should_show_agenda_session_buttons(assignment): - """Should this agenda item show the session buttons (jabber link, etc)? + """Should this agenda item show the session buttons (chat link, etc)? In IETF-112 and earlier, office hours sessions were designated by a name ending with ' office hours' and belonged to the IESG or some other group. This led to diff --git a/ietf/group/admin.py b/ietf/group/admin.py index b2559513f..0773a4ce2 100644 --- a/ietf/group/admin.py +++ b/ietf/group/admin.py @@ -200,7 +200,7 @@ class GroupFeaturesAdmin(admin.ModelAdmin): 'has_nonsession_materials', 'has_meetings', 'has_reviews', - 'has_default_jabber', + 'has_default_chat', 'acts_like_wg', 'create_wiki', 'custom_group_roles', diff --git a/ietf/group/migrations/0057_nojabber_onlychat.py b/ietf/group/migrations/0057_nojabber_onlychat.py new file mode 100644 index 000000000..c089a9761 --- /dev/null +++ b/ietf/group/migrations/0057_nojabber_onlychat.py @@ -0,0 +1,19 @@ +# Copyright The IETF Trust 2022, All Rights Reserved +# Generated by Django 2.2.28 on 2022-07-14 09:09 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('group', '0056_dir_chair_groupman_role'), + ] + + operations = [ + migrations.RenameField( + model_name='groupfeatures', + old_name='has_default_jabber', + new_name='has_default_chat', + ), + ] diff --git a/ietf/group/models.py b/ietf/group/models.py index d598d862d..899c88241 100644 --- a/ietf/group/models.py +++ b/ietf/group/models.py @@ -205,6 +205,16 @@ class Group(GroupInfo): desc = [ p for p in re.split(r'\r?\n\s*\r?\n\s*', text) if p.strip() ][0] return desc + def chat_room_url(self): + return settings.CHAT_URL_PATTERN.format(chat_room_name=self.acronym) + + def chat_archive_url(self): + # Zulip has no separate archive + if 'CHAT_ARCHIVE_URL_PATTERN' in settings: + return settings.CHAT_ARCHIVE_URL_PATTERN.format(chat_room_name=self.acronym) + else: + return self.chat_room_url() + validate_comma_separated_materials = RegexValidator( regex=r"[a-z0-9_-]+(,[a-z0-9_-]+)*", @@ -237,7 +247,7 @@ class GroupFeatures(models.Model): has_nonsession_materials= models.BooleanField("Other Matrl.", default=False) has_meetings = models.BooleanField("Meetings", default=False) has_reviews = models.BooleanField("Reviews", default=False) - has_default_jabber = models.BooleanField("Jabber", default=False) + has_default_chat = models.BooleanField("Chat", default=False) # acts_like_wg = models.BooleanField("WG-Like", default=False) create_wiki = models.BooleanField("Wiki", default=False) diff --git a/ietf/group/resources.py b/ietf/group/resources.py index 06ff90dc4..310fb5fb9 100644 --- a/ietf/group/resources.py +++ b/ietf/group/resources.py @@ -302,7 +302,7 @@ class GroupFeaturesResource(ModelResource): "has_nonsession_materials": ALL, "has_meetings": ALL, "has_reviews": ALL, - "has_default_jabber": ALL, + "has_default_chat": ALL, "customize_workflow": ALL, "about_page": ALL, "default_tab": ALL, diff --git a/ietf/meeting/models.py b/ietf/meeting/models.py index 19aff9e29..01ade77a7 100644 --- a/ietf/meeting/models.py +++ b/ietf/meeting/models.py @@ -1254,14 +1254,24 @@ class Session(models.Model): return self._agenda_file - def jabber_room_name(self): + def chat_room_name(self): if self.type_id=='plenary': return 'plenary' - elif self.historic_group: + elif hasattr(self, 'historic_group'): return self.historic_group.acronym else: return self.group.acronym + def chat_room_url(self): + return settings.CHAT_URL_PATTERN.format(chat_room_name=self.chat_room_name()) + + def chat_archive_url(self): + # Zulip has no separate archive + if hasattr(settings,'CHAT_ARCHIVE_URL_PATTERN'): + return settings.CHAT_ARCHIVE_URL_PATTERN.format(chat_room_name=self.chat_room_name()) + else: + return self.chat_room_url() + def notes_id(self): note_id_fragment = 'plenary' if self.type.slug == 'plenary' else self.group.acronym return f'notes-ietf-{self.meeting.number}-{note_id_fragment}' diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index be2890281..0de34cee3 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -1639,7 +1639,7 @@ def agenda_neue(request, num=None, name=None, base=None, ext=None, owner=None, u "categories": filter_organizer.get_filter_categories(), "isCurrentMeeting": is_current_meeting, "useHedgeDoc": True if meeting.date>=settings.MEETING_USES_CODIMD_DATE else False, - "schedule": list(map(agenda_extract_shedule, filtered_assignments)), + "schedule": list(map(agenda_extract_schedule, filtered_assignments)), "floors": list(map(agenda_extract_floorplan, floors)) }, "schedule": { @@ -1651,7 +1651,7 @@ def agenda_neue(request, num=None, name=None, base=None, ext=None, owner=None, u return rendered_page -def agenda_extract_shedule (item): +def agenda_extract_schedule (item): return { "id": item.id, "room": item.room_name, @@ -1689,7 +1689,8 @@ def agenda_extract_shedule (item): "short": item.session.short if item.session.short else item.session.short_name, "sessionToken": item.session.docname_token_only_for_multiple(), "links": { - # "jabber": item.session.jabber_room_name + "chat" : item.session.chat_room_url(), + "chatArchive" : item.session.chat_archive_url(), "recordings": list(map(agenda_extract_recording, item.session.recordings())), "videoStream": item.timeslot.location.video_stream_url() if item.timeslot.location else "", "audioStream": item.timeslot.location.audio_stream_url() if item.timeslot.location else "", diff --git a/ietf/name/fixtures/names.json b/ietf/name/fixtures/names.json index 59d23a419..e8509628d 100644 --- a/ietf/name/fixtures/names.json +++ b/ietf/name/fixtures/names.json @@ -2604,7 +2604,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"chair\",\n \"lead\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": true, + "has_default_chat": true, "has_documents": false, "has_meetings": true, "has_milestones": false, @@ -2643,7 +2643,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"chair\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -2680,7 +2680,7 @@ "groupman_authroles": "[\n \"Secretariat\",\n \"Area Director\"\n]", "groupman_roles": "[\n \"ad\",\n \"chair\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": true, "has_meetings": true, "has_milestones": false, @@ -2720,7 +2720,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"ad\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -2759,7 +2759,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"ad\",\n \"secr\",\n \"delegate\",\n \"chair\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": true, "has_milestones": false, @@ -2798,7 +2798,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -2835,7 +2835,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": true, "has_milestones": false, @@ -2874,7 +2874,7 @@ "groupman_authroles": "[\n \"Secretariat\",\n \"IAB\"\n]", "groupman_roles": "[\n \"lead\",\n \"chair\",\n \"secr\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": true, "has_meetings": true, "has_milestones": true, @@ -2913,7 +2913,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"chair\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -2950,7 +2950,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"chair\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -2987,7 +2987,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"chair\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": true, "has_milestones": false, @@ -3003,7 +3003,7 @@ ], "req_subm_approval": true, "role_order": "[\n \"chair\",\n \"secr\"\n]", - "session_purposes": "[\n \"admin\",\n \"plenary\",\n \"presentation\",\n \"social\"\n]", + "session_purposes": "[\n \"admin\",\n \"plenary\",\n \"presentation\",\n \"social\",\n \"officehours\"\n]", "show_on_agenda": false }, "model": "group.groupfeatures", @@ -3026,7 +3026,7 @@ "groupman_authroles": "[]", "groupman_roles": "[]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -3065,7 +3065,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"chair\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -3104,7 +3104,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"chair\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": true, "has_meetings": false, "has_milestones": false, @@ -3141,7 +3141,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"chair\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -3180,7 +3180,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"chair\",\n \"advisor\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -3219,7 +3219,7 @@ "groupman_authroles": "[\n \"Secretariat\",\n \"IAB\"\n]", "groupman_roles": "[\n \"lead\",\n \"chair\",\n \"secr\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": true, "has_meetings": true, "has_milestones": true, @@ -3258,7 +3258,7 @@ "groupman_authroles": "[\n \"Secretariat\",\n \"IRTF Chair\"\n]", "groupman_roles": "[\n \"chair\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": true, "has_meetings": true, "has_milestones": false, @@ -3297,7 +3297,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[\n \"ad\",\n \"secr\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": true, "has_milestones": false, @@ -3324,8 +3324,8 @@ "about_page": "ietf.group.views.group_about", "acts_like_wg": false, "admin_roles": "[\n \"chair\"\n]", - "agenda_filter_type": "none", - "agenda_type": "side", + "agenda_filter_type": "normal", + "agenda_type": "ietf", "create_wiki": false, "custom_group_roles": true, "customize_workflow": false, @@ -3334,11 +3334,11 @@ "default_used_roles": "[\n \"auth\",\n \"chair\"\n]", "docman_roles": "[]", "groupman_authroles": "[\n \"Secretariat\"\n]", - "groupman_roles": "[]", + "groupman_roles": "[\n \"chair\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, - "has_meetings": false, + "has_meetings": true, "has_milestones": false, "has_nonsession_materials": false, "has_reviews": false, @@ -3350,7 +3350,7 @@ "parent_types": [], "req_subm_approval": true, "role_order": "[\n \"chair\",\n \"secr\"\n]", - "session_purposes": "[\n \"officehours\"\n]", + "session_purposes": "[\n \"officehours\",\n \"regular\"\n]", "show_on_agenda": false }, "model": "group.groupfeatures", @@ -3373,7 +3373,7 @@ "groupman_authroles": "[\n \"Secretariat\",\n \"IRTF Chair\"\n]", "groupman_roles": "[\n \"chair\",\n \"delegate\"\n]", "has_chartering_process": true, - "has_default_jabber": true, + "has_default_chat": true, "has_documents": true, "has_meetings": true, "has_milestones": true, @@ -3412,7 +3412,7 @@ "groupman_authroles": "[\n \"Secretariat\"\n]", "groupman_roles": "[]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": false, "has_milestones": false, @@ -3452,7 +3452,7 @@ "groupman_authroles": "[\n \"Secretariat\",\n \"Area Director\"\n]", "groupman_roles": "[\n \"chair\",\n \"delegate\"\n]", "has_chartering_process": false, - "has_default_jabber": false, + "has_default_chat": false, "has_documents": false, "has_meetings": true, "has_milestones": false, @@ -3491,7 +3491,7 @@ "groupman_authroles": "[\n \"Secretariat\",\n \"Area Director\"\n]", "groupman_roles": "[\n \"ad\",\n \"chair\",\n \"delegate\",\n \"secr\"\n]", "has_chartering_process": true, - "has_default_jabber": true, + "has_default_chat": true, "has_documents": true, "has_meetings": true, "has_milestones": true, @@ -12744,6 +12744,26 @@ "model": "name.rolename", "pk": "trac-editor" }, + { + "fields": { + "desc": "Has group \"Administrator\" permissions in public wikijs instances. Can alter the wiki configuration and manage users.", + "name": "Wikijs administrator", + "order": 15, + "used": true + }, + "model": "name.rolename", + "pk": "wikiadmin" + }, + { + "fields": { + "desc": "Has group \"Manager\" in public wikijs instances.", + "name": "Wiki Manager", + "order": 16, + "used": true + }, + "model": "name.rolename", + "pk": "wikiman" + }, { "fields": { "desc": "Can operate the YangCatalog, change its configuration, and edit its data", @@ -15964,7 +15984,7 @@ "fields": { "command": "xym", "switch": "--version", - "time": "2022-05-25T00:09:36.388", + "time": "2022-07-13T00:09:29.108", "used": true, "version": "xym 0.5" }, @@ -15975,7 +15995,7 @@ "fields": { "command": "pyang", "switch": "--version", - "time": "2022-05-25T00:09:36.720", + "time": "2022-07-13T00:09:29.475", "used": true, "version": "pyang 2.5.3" }, @@ -15986,7 +16006,7 @@ "fields": { "command": "yanglint", "switch": "--version", - "time": "2022-05-25T00:09:36.733", + "time": "2022-07-13T00:09:29.497", "used": true, "version": "yanglint SO 1.9.2" }, @@ -15997,9 +16017,9 @@ "fields": { "command": "xml2rfc", "switch": "--version", - "time": "2022-05-25T00:09:37.756", + "time": "2022-07-13T00:09:30.513", "used": true, - "version": "xml2rfc 3.12.7" + "version": "xml2rfc 3.13.0" }, "model": "utils.versioninfo", "pk": 4 diff --git a/ietf/secr/sreq/tests.py b/ietf/secr/sreq/tests.py index a15202004..fabbc0807 100644 --- a/ietf/secr/sreq/tests.py +++ b/ietf/secr/sreq/tests.py @@ -50,7 +50,7 @@ class SessionRequestTestCase(TestCase): sched = r.context['scheduled_groups'] self.assertEqual(len(sched), 2) unsched = r.context['unscheduled_groups'] - self.assertEqual(len(unsched), 8) + self.assertEqual(len(unsched), 11) def test_approve(self): meeting = MeetingFactory(type_id='ietf', date=datetime.date.today()) @@ -1095,4 +1095,4 @@ class SessionFormTest(TestCase): form_data = dict(self.valid_form_data, **new_form_data) form = SessionForm(data=form_data, group=self.group1, meeting=self.meeting) self.assertFalse(form.is_valid()) - return form \ No newline at end of file + return form diff --git a/ietf/settings.py b/ietf/settings.py index dd334e02c..ef00ac9be 100644 --- a/ietf/settings.py +++ b/ietf/settings.py @@ -1031,6 +1031,12 @@ YOUTUBE_API_VERSION = 'v3' YOUTUBE_BASE_URL = 'https://www.youtube.com/watch' YOUTUBE_IETF_CHANNEL_ID = 'UC8dtK9njBLdFnBahHFp0eZQ' +# If we need to revert to xmpp, change this to 'xmpp:{chat_room_name}@jabber.ietf.org?join' +CHAT_URL_PATTERN = 'https://zulip.ietf.org/#narrow/stream/{chat_room_name}' + +# If we need to revert to xmpp +# CHAT_ARCHIVE_URL_PATTERN = 'https://www.ietf.org/jabber/logs/{chat_room_name}?C=M;O=D' + PRODUCTION_TIMEZONE = "America/Los_Angeles" PYFLAKES_DEFAULT_ARGS= ["ietf", ] diff --git a/ietf/templates/group/group_about.html b/ietf/templates/group/group_about.html index 3b8bc14aa..44906a3fa 100644 --- a/ietf/templates/group/group_about.html +++ b/ietf/templates/group/group_about.html @@ -255,11 +255,11 @@ {% endif %} - {% if group.state_id != "conclude" and group.features.has_default_jabber %} + {% if group.state_id != "conclude" and group.features.has_default_chat %} - Jabber chat + Chat Room address @@ -267,11 +267,12 @@ - - xmpp:{{ group.acronym }}@jabber.ietf.org?join + + chat_room_url + {% if group.chat_room_url != group.chat_archive_url %} @@ -281,11 +282,12 @@ - - https://jabber.ietf.org/jabber/logs/{{ group.acronym }}/ + + {{ group.chat_archive_url }} + {% endif %} {% endif %} diff --git a/ietf/templates/meeting/interim_minutes_reminder.txt b/ietf/templates/meeting/interim_minutes_reminder.txt index fd3b4d918..7c239c30f 100644 --- a/ietf/templates/meeting/interim_minutes_reminder.txt +++ b/ietf/templates/meeting/interim_minutes_reminder.txt @@ -2,8 +2,8 @@ Please note that we have not yet received minutes from the {{ group.name }} ({{ group.acronym }}) interim meeting held -on {{ meeting.date|date:"Y-m-d"}}. As per the IESG Guidence on Interim Meetings, -Conference Calls and Jabber Sessions [1], detailed minutes must +on {{ meeting.date|date:"Y-m-d"}}. As per the IESG Guidance on Interim Meetings, +Conference Calls and Chat Sessions [1], detailed minutes must be provided within 10 days of the event. At your earliest convenience, please upload meeting minutes, as diff --git a/ietf/templates/meeting/interim_session_buttons.html b/ietf/templates/meeting/interim_session_buttons.html index 57924b5e3..b8443851b 100644 --- a/ietf/templates/meeting/interim_session_buttons.html +++ b/ietf/templates/meeting/interim_session_buttons.html @@ -42,11 +42,11 @@ {% endif %} {# show stream buttons up till end of session, then show archive buttons #} {% if now < item.timeslot.end_time %} - {# Jabber #} + {# Chat #} + href="{{ session.chat_room_url }}" + aria-label="Chat for {{ session.chat_room_name }}" + title="Chat for {{ session.chat_room_name }}"> {# Remote call-in #} @@ -95,11 +95,11 @@ {% else %} - {# Jabber #} + {# Chat logs #} + href="{{ session.chat_archive_url }}" + aria-label="Chat logs for {{ session.chat_room_name }}" + title="Chat logs for {{ session.chat_room_name }}"> {% with session.recordings as recordings %} diff --git a/ietf/templates/meeting/session_buttons_include.html b/ietf/templates/meeting/session_buttons_include.html index dbd706270..b904709d5 100644 --- a/ietf/templates/meeting/session_buttons_include.html +++ b/ietf/templates/meeting/session_buttons_include.html @@ -55,12 +55,12 @@ {% endif %} {# show stream buttons up till end of session, then show archive buttons #} {% if now < timeslot.utc_end_time %} - {# Jabber #} + {# Chat #} + href="{{ session.chat_room_url }}" + aria-label="Chat room for {{ session.chat_room_name }}" + title="Chat room for {{ session.chat_room_name }}"> {# Video stream (meetecho) #} @@ -128,13 +128,13 @@ {% else %} - {# Jabber logs #} + {# Chat logs #} {% if meeting.number|add:"0" >= 60 %} + href="{{ session.chat_archive_url }}" + aria-label="Chat logs for {{ session.chat_room_name }}" + title="Chat logs for {{ session.chat_room_name }}"> {% endif %} @@ -241,10 +241,10 @@ {% endif %} {# show stream buttons up till end of session, then show archive buttons #} {% if now < timeslot.utc_end_time %} - {# Jabber #} + {# Chat #}
  • + href="{{ session.chat_room_url }}"> Chat room
  • @@ -305,11 +305,11 @@ {% else %} - {# Jabber logs #} + {# Chat logs #} {% if meeting.number|add:"0" >= 60 %}
  • + href="{{ session.chat_archive_url }}"> Chat logs