From 2954044b36cd2e3de51395fb47673ac046ac898a Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Wed, 1 Feb 2023 18:32:34 +0200 Subject: [PATCH 01/11] fix: Don't show time or ical link for unscheduled sessions (#5063) * fix: Don't show time for unscheduled sessions Fixes #5016 * Don't show the ical button either --- ietf/templates/group/meetings-row.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ietf/templates/group/meetings-row.html b/ietf/templates/group/meetings-row.html index 38266e5ce..6dc65ab7f 100644 --- a/ietf/templates/group/meetings-row.html +++ b/ietf/templates/group/meetings-row.html @@ -30,7 +30,7 @@ {% if s.current_status == "sched" %}{{ s.time|date:"D" }}{% endif %} - {% if show_ical %} + {% if show_ical and s.current_status == "sched" %} {% if s.meeting.type_id == 'ietf' %} {{ s.time|date:"H:i" }} Date: Wed, 1 Feb 2023 18:37:20 +0200 Subject: [PATCH 02/11] fix: Break long words in cards to prevent layout jumps (#5064) --- ietf/templates/doc/document_bofreq.html | 2 +- ietf/templates/doc/document_material.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ietf/templates/doc/document_bofreq.html b/ietf/templates/doc/document_bofreq.html index 6cb5df88b..3395403ca 100644 --- a/ietf/templates/doc/document_bofreq.html +++ b/ietf/templates/doc/document_bofreq.html @@ -154,7 +154,7 @@
{{ doc.name }}-{{ doc.rev }}
-
+
{{ content }}
diff --git a/ietf/templates/doc/document_material.html b/ietf/templates/doc/document_material.html index f05a478f6..fbfe77714 100644 --- a/ietf/templates/doc/document_material.html +++ b/ietf/templates/doc/document_material.html @@ -123,7 +123,7 @@

{{ doc.name }}-{{ doc.rev }}
-
+
{% if doc.rev and content != None %} {% if content_is_html %} {{ content|sanitize|safe }} From 760a01ad918db4b3d102a846658e78d09ba0bba7 Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Wed, 1 Feb 2023 12:47:37 -0400 Subject: [PATCH 03/11] fix: Handle proceedings for "notmeet" sessions correctly (#5065) --- ietf/meeting/views.py | 5 +++-- ietf/templates/meeting/proceedings.html | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 8a028d435..5cffe9459 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -3621,7 +3621,8 @@ def organize_proceedings_sessions(sessions): """ material_times = {} # key is material, value is first timestamp it appeared for s, mats in items: - timestamp = s.official_timeslotassignment().timeslot.time + tsa = s.official_timeslotassignment() + timestamp = tsa.timeslot.time if tsa else None if not isinstance(mats, list): mats = [mats] for mat in mats: @@ -3640,7 +3641,7 @@ def organize_proceedings_sessions(sessions): 'group': group, 'name': sess_name, 'canceled': all_canceled, - # pass sessions instead of the materials here so session data (like time) is easily available + 'has_materials': s.sessionpresentation_set.exists(), 'agendas': _format_materials((s, s.agenda()) for s in ss), 'minutes': _format_materials((s, s.minutes()) for s in ss), 'bluesheets': _format_materials((s, s.bluesheets()) for s in ss), diff --git a/ietf/templates/meeting/proceedings.html b/ietf/templates/meeting/proceedings.html index 6f3f2cda4..d4040ec8e 100644 --- a/ietf/templates/meeting/proceedings.html +++ b/ietf/templates/meeting/proceedings.html @@ -88,7 +88,7 @@ - {% for entry in not_meeting_groups %}{% if entry.sessions_with_materials %} + {% for entry in not_meeting_groups %}{% if entry.has_materials %} {% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=True only %} {% endif %}{% endfor %} From f763db206b47f2546d1e690fa60a010a289f94aa Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Wed, 1 Feb 2023 20:02:22 -0500 Subject: [PATCH 04/11] ci: add workflow options to nightly db build --- .github/workflows/dev-db-nightly.yml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dev-db-nightly.yml b/.github/workflows/dev-db-nightly.yml index 9a2284d4d..99a4af569 100644 --- a/.github/workflows/dev-db-nightly.yml +++ b/.github/workflows/dev-db-nightly.yml @@ -23,12 +23,23 @@ on: # Allows you to run this workflow manually from the Actions tab workflow_dispatch: + inputs: + skipMariaDBBuild: + description: 'Skip MariaDB Build' + default: false + required: true + type: boolean + exportDumpAsSQL: + description: 'Save PostgreSQL Debug Dump' + default: false + required: true + type: boolean jobs: build-mariadb: name: Build MariaDB Docker Images runs-on: ubuntu-latest - if: ${{ github.ref == 'refs/heads/main' }} + if: ${{ github.ref == 'refs/heads/main' && github.event.inputs.skipMariaDBBuild == 'false' }} permissions: contents: read packages: write @@ -96,6 +107,7 @@ jobs: name: Migrate MySQL to PostgreSQL DB runs-on: ubuntu-latest container: ghcr.io/ietf-tools/datatracker-app-base:latest + if: ${{ always() && !failure() }} needs: [combine-mariadb] permissions: contents: read @@ -141,6 +153,17 @@ jobs: with: name: dump path: ietf.dump + + - name: Export as SQL (Debug) + if: ${{ github.event.inputs.exportDumpAsSQL == 'true' }} + run: pg_dump -h pgdb -U django ietf > ietf.sql + + - name: Upload SQL DB Dump (Debug) + if: ${{ github.event.inputs.exportDumpAsSQL == 'true' }} + uses: actions/upload-artifact@v3 + with: + name: dumpsql + path: ietf.sql build: name: Build PostgreSQL Docker Images From 9ea2ee6234f07662a13a133d89c62abe89c72096 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Wed, 1 Feb 2023 20:18:28 -0500 Subject: [PATCH 05/11] ci: fix db nightly build condition --- .github/workflows/dev-db-nightly.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dev-db-nightly.yml b/.github/workflows/dev-db-nightly.yml index 99a4af569..838eb48de 100644 --- a/.github/workflows/dev-db-nightly.yml +++ b/.github/workflows/dev-db-nightly.yml @@ -168,6 +168,7 @@ jobs: build: name: Build PostgreSQL Docker Images runs-on: ubuntu-latest + if: ${{ always() && !failure() }} needs: [migrate] permissions: contents: read From bfe25fce5a9227dadefcfff272fd6d880886f76c Mon Sep 17 00:00:00 2001 From: Martin Thomson Date: Fri, 3 Feb 2023 03:12:58 +1100 Subject: [PATCH 06/11] feat: Lighter styling on internal irefs (#5071) Documents like https://datatracker.ietf.org/doc/html/draft-ietf-ohai-ohttp-06 use a tagging scheme for certain keywords that turns them into links. This can be useful in giving people the ability to quickly jump to the definition of an important term, but it tends to produce a lot of visual noise. The resulting links are blue and underlined, which can be distracting when there are lots of these links. This change removes styling for these links. If there is an `` tag (which renders as an empty ``) immediately preceding a link and that link is tagged `class="internal"`, link styling is removed. These will still result in the cursor changing to a pointer, but the blue and underlining will reduce line noise. Note that this change depends on a corresponding change in kramdown-rfc that reorders the generation of the iref and xref tags. The above document will not change in appearance as a result, because that version of kramdown-rfc generated the tags in the wrong order. A new version generated with an updated kramdown-rfc is forthcoming. --- ietf/static/css/document_html_txt.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ietf/static/css/document_html_txt.scss b/ietf/static/css/document_html_txt.scss index f79734e1a..e2a401763 100644 --- a/ietf/static/css/document_html_txt.scss +++ b/ietf/static/css/document_html_txt.scss @@ -368,7 +368,7 @@ td, th { } /* Links */ -a.selfRef, a.pilcrow { +a.selfRef, a.pilcrow, .iref + a.internal { color: black; text-decoration: none; } From 0fd8df4e000df92d269c15130c68a199ea56336f Mon Sep 17 00:00:00 2001 From: Jennifer Richards Date: Thu, 2 Feb 2023 15:06:45 -0400 Subject: [PATCH 07/11] test: Set DateField to a date, not a datetime, in factory (#5075) --- ietf/group/factories.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ietf/group/factories.py b/ietf/group/factories.py index 0a3f7b6db..d56fcf721 100644 --- a/ietf/group/factories.py +++ b/ietf/group/factories.py @@ -10,6 +10,8 @@ from django.utils import timezone from ietf.group.models import Group, Role, GroupEvent, GroupMilestone, \ GroupHistory, RoleHistory from ietf.review.factories import ReviewTeamSettingsFactory +from ietf.utils.timezone import date_today + class GroupFactory(factory.django.DjangoModelFactory): class Meta: @@ -68,7 +70,7 @@ class BaseGroupMilestoneFactory(factory.django.DjangoModelFactory): class DatedGroupMilestoneFactory(BaseGroupMilestoneFactory): group = factory.SubFactory(GroupFactory, uses_milestone_dates=True) - due = timezone.now()+datetime.timedelta(days=180) + due = date_today() + datetime.timedelta(days=180) class DatelessGroupMilestoneFactory(BaseGroupMilestoneFactory): group = factory.SubFactory(GroupFactory, uses_milestone_dates=False) From fac5a8cf0d2998e5f8b8178925a348788ce22c5a Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Thu, 2 Feb 2023 17:03:03 -0600 Subject: [PATCH 08/11] fix: restore IRTF non-meeting groups to agenda (#5077) * fix: restore IRTF non-meeting groups to agenda Fixes #5010 * fix: account for changes to entry from #5065 --- ietf/meeting/views.py | 6 ++++- ietf/templates/meeting/proceedings.html | 32 +++++++++++++++++++++++-- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 5cffe9459..6e96fa82a 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -3688,9 +3688,13 @@ def proceedings(request, num=None): sessions.filter(name__icontains='plenary') .exclude(current_status='notmeet') ) - irtf, _ = organize_proceedings_sessions( + irtf_meeting, irtf_not_meeting = organize_proceedings_sessions( sessions.filter(group__parent__acronym = 'irtf').order_by('group__acronym') ) + # per Colin (datatracker #5010) - don't report not meeting rags + irtf_not_meeting = [item for item in irtf_not_meeting if item["group"].type_id != "rag"] + irtf = {"meeting_groups":irtf_meeting, "not_meeting_groups":irtf_not_meeting} + training, _ = organize_proceedings_sessions( sessions.filter(group__acronym__in=['edu','iaoc'], type_id__in=['regular', 'other',]) .exclude(current_status='notmeet') diff --git a/ietf/templates/meeting/proceedings.html b/ietf/templates/meeting/proceedings.html index d4040ec8e..eb6fe0f04 100644 --- a/ietf/templates/meeting/proceedings.html +++ b/ietf/templates/meeting/proceedings.html @@ -148,7 +148,7 @@ {% endif %} - {% if irtf %} + {% if irtf.meeting_groups %}

IRTF Internet Research Task Force

@@ -173,11 +173,39 @@ - {% for entry in irtf %} + {% for entry in irtf.meeting_groups %} {% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=True only %} {% endfor %} + {% if irtf.not_meeting_groups %} +

+ IRTF groups not meeting: + {% for entry in irtf.not_meeting_groups %} + {% if entry.name == "" %}{# do not show named sessions in this list #} + + {{ entry.group.acronym }} + {% if not forloop.last %},{% endif %} + {% endif %} + {% endfor %} +

+ + + + + + + + + + + + {% for entry in irtf.not_meeting %}{% if entry.has_materials %} + {% include "meeting/group_proceedings.html" with entry=entry meeting=meeting show_agenda=True only %} + {% endif %}{% endfor %} + +
+ {% endif %} {% endif %} {% endcache %} {% endblock %} From f61c531f0dfa17067b42df87b6ed3752d928783a Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Mon, 6 Feb 2023 17:35:10 +0200 Subject: [PATCH 09/11] fix: Don't include the modal inside a button group, it breaks the styling (#5085) --- ietf/templates/meeting/interim_session_buttons.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ietf/templates/meeting/interim_session_buttons.html b/ietf/templates/meeting/interim_session_buttons.html index 30be5c734..4f5e3d2a0 100644 --- a/ietf/templates/meeting/interim_session_buttons.html +++ b/ietf/templates/meeting/interim_session_buttons.html @@ -4,10 +4,12 @@ {% load textfilters tz %} {% origin %} {% with item=session.official_timeslotassignment acronym=session.group_at_the_time.acronym %} + {% if session.agenda and show_agenda %} + {# Note: if called with show_agenda=True, calling template must load agenda_materials.js, needed by session_agenda_include.html #} + {% include "meeting/session_agenda_include.html" with slug=item.slug session=session timeslot=item.timeslot only %} + {% endif %}
{% if session.agenda and show_agenda %} - {% include "meeting/session_agenda_include.html" with slug=item.slug session=session timeslot=item.timeslot only %} - {# Note: if called with show_agenda=True, calling template must load agenda_materials.js, needed by session_agenda_include.html #} {# agenda pop-up button #} Date: Mon, 6 Feb 2023 17:40:38 +0200 Subject: [PATCH 10/11] fix: Fix HTML validation issues (#5081) --- ietf/templates/doc/document_html.html | 3 ++- ietf/templates/meeting/requests.html | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ietf/templates/doc/document_html.html b/ietf/templates/doc/document_html.html index 84a921532..2718189c8 100644 --- a/ietf/templates/doc/document_html.html +++ b/ietf/templates/doc/document_html.html @@ -47,7 +47,6 @@ direction: rtl; text-align: left; } - } @@ -103,6 +102,8 @@ {% include "doc/document_info.html" with sidebar=False %} + + {% endif %} - {{ session.current_status_name|capfirst }} + {{ session.current_status_name|capfirst }} From 35d124106a54a8dcd9b7f442b4e08a13476736a1 Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Mon, 6 Feb 2023 19:40:46 +0200 Subject: [PATCH 11/11] fix: Limit `overflow-wrap: break-word` to paragraphs and references (#5078) Fixes #5073. Thanks @martinthomson --- ietf/static/css/document_html_txt.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ietf/static/css/document_html_txt.scss b/ietf/static/css/document_html_txt.scss index e2a401763..84e677908 100644 --- a/ietf/static/css/document_html_txt.scss +++ b/ietf/static/css/document_html_txt.scss @@ -43,11 +43,13 @@ margin-bottom: var(--line); margin-left: 3ch; + section > p, section > dl.references > dd { /* Really long lines can wrap when all else fails. * This won't affect
 or , or cases where soft-wrapping occurs.
    * Mostly this exists so that long URLs wrap properly in Safari, which
    * doesn't break words at '/' like other browsers. */
   overflow-wrap: break-word;
+  }
 
 h1, h2, h3, h4, h5 {
   font-weight: bold;