Commit graph

406 commits

Author SHA1 Message Date
Lars Eggert efb9f135c3
fix: Apply various suggestions from @martinthomson (#4849)
* With bs 5.2.3, no need to rewrite dots in ids and hrefs.

* Remove leftover console.log().

* Inherit color for <code>

* Don't wrap boilerplate URLs; makes it look more like text version.
2022-12-08 08:58:28 -06:00
Lars Eggert 220be21998
chore: Use codespell to fix typos in code. (#4797)
* chore: Use codespell to fix typos in code.

Second part of replacement of #4651

@rjsparks, I probably need to revert some things here, and I also
still need to add that new migration - how do I do that?

* Revert migrations

* Migrate "Whitelisted" to "Allowlisted"

* TEST_COVERAGE_MASTER_FILE -> TEST_COVERAGE_MAIN_FILE

* Fix permissions

* Add suggestions from @jennifer-richards
2022-12-07 15:10:35 -06:00
Jennifer Richards 3af68b6fbb
fix: avoid readonly attribute on select element (#4819)
* fix: avoid readonly attribute on select element

* chore: remove now-unused CSS for select2

* test: don't ignore `readonly` on `select`

* refactor: simplify OutgoingLiaisonForm base class overrides
2022-12-02 15:39:21 -06:00
Robert Sparks 9457e2b1e1
feat: better htmlization views (#4825)
* feat: Use bs5 for htmlized doc (#4082)

Co-authored-by: Martin Thomson <mt@lowentropy.net>

* fix: Various fixes to HTMLized document view (#4501)

* fix: Pref labels were switched

* fix: Fix ToC for htmlized docs

* Replace datatracker button with document name link to datatracker

* ui: Make fonts even larger on larger window widths

* fix: Document format buttons open new tabs

* fix: Various suggestions from Jay

* fix: Don't show "htmlized" self-link under formats

* ui: Font size fix for iOS

* ui: More little tweaks

* feat/htmlize fixes and improvements (#4506)

* fix: Don't open htmlized view in new tab

* fix: Tests were failing

* feat: Add pref settings to cap max font size

* feat: Add ability to hide side panel

* fix: And more `feat/htmlize` fixes (#4511)

* fix: Remove superfluous scrollbars

* fix: Show email links for authors

* fix: Only show "email authors" button for latest reversion

* fix: Remove duplicate code, fix nav scrolling

* feat: Add RFCs to revision lists

* feat: Add pref option to control dependency inlining

* fix: Add analytical tags

* feat: Notify user of rendering inconsistencies

* feat: Split out bootstrap-icons when not inlining dependencies

* fix: Revision list and minor other fixes

* feat: Show stream logo when possible (#4516)

* fix: Remove superfluous scrollbars

* fix: Show email links for authors

* fix: Only show "email authors" button for latest reversion

* fix: Remove duplicate code, fix nav scrolling

* feat: Add RFCs to revision lists

* feat: Add pref option to control dependency inlining

* fix: Add analytical tags

* feat: Notify user of rendering inconsistencies

* feat: Split out bootstrap-icons when not inlining dependencies

* fix: Revision list and minor other fixes

* feat: Show stream logos when possible

* fix: Pick up CSS changes from https://github.com/martinthomson/rfc-txt-html (#4520)

* fix: Remove superfluous scrollbars

* fix: Show email links for authors

* fix: Only show "email authors" button for latest reversion

* fix: Remove duplicate code, fix nav scrolling

* feat: Add RFCs to revision lists

* feat: Add pref option to control dependency inlining

* fix: Add analytical tags

* feat: Notify user of rendering inconsistencies

* feat: Split out bootstrap-icons when not inlining dependencies

* fix: Revision list and minor other fixes

* feat: Show stream logos when possible

* fix: Pick up CSS changes from https://github.com/martinthomson/rfc-txt-html

* chore: add debug script to replicate GitHub Actions test environment

* chore: cleanup from merge of main

* fix: Fix PDFixation crash due to referencing renamed CSS asset (#4665)

* fix: Rename some CSS classes to handle recent xml2rfc changes (#4791)

* Merge main

* fix: Rename some CSS classes to handle recent xml2rfc changes

Fixes #4784.

* chore: repair merge damage

* chore: more merge corrections

* chore: one more merge correction

* fix: npm dependencies

* fix: Change default font size (#4817)

* Fix dependency issues

* Cap fontsize at 12pt by default

Co-authored-by: Nicolas Giard <github@ngpixel.com>

Co-authored-by: Lars Eggert <lars@eggert.org>
Co-authored-by: Martin Thomson <mt@lowentropy.net>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-12-02 15:17:14 -06:00
Lars Eggert 6eabd4a3a1
chore: Use codespell to fix typos in comments. (#4794)
First part of replacement of #4651
2022-11-28 10:36:36 -06:00
Robert Sparks 2c304d0364
feat: UI enhancements to allow control-click etc on the search results (provided by @kivinen - see #4747)
Fixes #4711 i.e., allows using control-click or context menu to open items in the top right search list to open multiple documents in different tabs.

Authored by @kivinen
2022-11-14 17:08:28 -06:00
Jennifer Richards 331bf8d2dc
fix: revert change from readonly to disabled on liaison from contact (#4708)
* feat: apply 'readonly' property to select2 inputs

* fix: revert change from readonly to disabled on liaison from contact
2022-11-06 12:27:36 +00:00
Lars Eggert 5ac3874ce9
fix: Format NomCom feedback table per suggestion of @richsalz (#4625)
Also makes table header alignment the same as for columns, site-wide.

Fixes #4529
2022-10-21 11:04:10 -05:00
Lars Eggert 76b88b1658
fix: Replace some deprecated jQuery with recommended replacements (#4607) 2022-10-19 14:36:15 -05:00
Lars Eggert 0cc0281fe8
fix: Fix table sort functionality for tables with colspan attributes (#4605)
Fixes #4555
2022-10-19 11:59:09 -05:00
Lars Eggert 66533827e1
fix: Fix status change form (#4598)
* fix: Fix status change form

Also make it so that select2 search fields get focus when they open.

* Remove feat
2022-10-18 09:59:04 -05:00
Lars Eggert 5f7c585252
feat: Auto-focus select2 search fields when they open (#4599) 2022-10-18 09:42:00 -05:00
Robert Sparks c1556a3bc5
fix: revert photo-on-menubar enhancement (#4564)
* fix: revert photo-on-menubar enhancement

* fix: revert styling added for menubar photo.
2022-10-12 13:25:47 -05:00
Jennifer Richards 9709dbdf1c
fix: work around dataTransfer.getData limitation in agenda editor (#4553)
* fix: work around dataTransfer.getData limitation in agenda editor

* refactor: be slightly more careful checking dataTransfer type

* chore: remove debug statement
2022-10-10 08:48:23 -05:00
Lars Eggert 3e2b1fc92e
feat: Add a bug report link to the menu bar (#4525)
This required making some horizontal room for it, mostly by showing a
user photo or shorter tag when they are logged in.
2022-09-30 09:20:43 -05:00
Lars Eggert 5fcf2aa44a
ui: Hyphenate table headers, and optionally force-wrap them (#4441) 2022-09-13 09:07:21 -05:00
Jennifer Richards a3550c1920
fix: show()/hide() timeslots/sessions on schedule editor (#4385) 2022-08-29 17:52:33 -05:00
Lars Eggert e666894d55
fix: Fix CSS query selectors (#4372) 2022-08-26 12:51:27 -05:00
Nicolas Giard 2c522ee169
fix: use white ietf text logo in header (#4283) 2022-07-27 15:43:06 -05:00
Mark Donnelly 109c646450
fix: Update timezone on the interim create page (#4262)
* Fix: Update timezone on the interim create page

The interim creation screen will set the timezone to the timezone of
the browser.  Unfortunately, the UI element was never refreshed, so
it remained on its loaded default, thus telling the user the wrong
value.

This change adds a timezone widget refresh to the end of the function that
loads the browser's local timezone into the timezone value.

This change also adds code to update the 'Local timezone' help text
for the start time and end time input bozes to
call out the selected timezone specifically.

Fixes #3898

* Fix: Change var to const for code review
2022-07-26 12:16:14 -05:00
Jennifer Richards 608b8e16a4
feat: only offer IAB/IESG members for bofreq responsible leadership (#4276)
* refactor: avoid using select2 data-* attrs on html elements

Using "data-ajax--url" shadows explicit configuration in our
select2.js wrapper. Use "data-select2-ajax-url" to avoid this.

Also add ability to omit the ajax setup entirely by returning
None from ajax_url().

* chore: hook up a flag to disable ajax for SearchablePersonsField

* refactor: send select2 prefetch data as array and allow config of min input length

* feat: only offer IAB/IESG members for bofreq responsible leadership

* test: area directors/IAB members should be options for bofreq responsible leaders

* test: update tests to match changes to SearchableField

* fix: clean up SearchablePersonsField breakage when searching by email address

* chore: finish incomplete comment
2022-07-26 11:23:00 -05:00
Lars Eggert 28b8ed0c84
fix: Allow searching for non-alphanumeric characters (#4266)
* fix: Allow searching for non-alphanumeric characters

Fixes #3675

@rjsparks, this avoids us needing to fork list.js. If you prefer a fork, let me
know.

* Add a TODO
2022-07-26 09:38:34 -05:00
Lars Eggert 98af0e8a58
fix: Make dropdowns toggle correctly on click/hover combo (#4265)
Fixes #4095
2022-07-24 07:13:12 -05:00
Lars Eggert e94614e0a8
feat: Add opengraph information to document pages (#4207)
* feat: Add opengraph information to document pages

* Apply suggestions from code review

Co-authored-by: Mark Nottingham <mnot@mnot.net>

* Add IRTF and IAB logo and make card PNGs for all

* Use the cards and restore stuff that somehow got dropped

* Try and make Twitter use the "large image" card format

Co-authored-by: Mark Nottingham <mnot@mnot.net>
2022-07-23 12:07:04 -05:00
Lars Eggert ce050fc508
chore: Update bootstrap to 5.2.0 (#4034)
* bootstrap -> 5.2.0

* Update other deps
2022-07-21 15:56:27 -05:00
Lars Eggert e465f1f0f0
feat: Replace graphviz with d3 (#4067)
* feat: Use d3 for doc dependencies

* Interim commit

* Progress

* Progress

* Auto pan and zoom

* Arrows

* Remove graphviz and the code that uses it

* More graphviz-related changes

* Interim commit

* Move things into place

* Add test

* Final touches

* Make SVG work in Chrome

* Get the docs more similarly to how the group doc page does it

* Reindent

* Add ability to download the SVG, and use bs fonts.

* Follow @rjsparks' advice on how to compute the reference list

* Interim commit

* Add legend

* Speed up simulation

* Fix tooltips

* fix: escape a period in a new url regex

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-07-21 12:14:45 -05:00
Lars Eggert 8b3cf2a9fc
fix(ui): Make the heading and textarea font sizes a bit smaller (#4212)
* ui: Make the heading and textarea font sizes a bit smaller

* Address review commit from @NGPixel
2022-07-13 16:22:08 -05:00
Nicolas Giard aa9490faf6
feat(ui): new dynamic agenda view (#4086)
* feat: agenda page in vue (wip)

* feat: scroll to agenda day

* fix: vue 3 composition api + eslint settings

* fix: agenda day scroll match indicator

* fix: convert vite deps to yarn

* fix: missing lodash + legacy build step

* fix: agenda - move calendar into drawer

* fix: improve agenda filter UI

* fix: download ics + move agenda into own component

* feat: use fullcalendar for agenda calendar view (wip)

* feat: add events to agenda calendar

* feat: agenda filter UI improvements

* feat: agenda add to calendar dropdown

* feat: agenda calendar filter + timezone + event coloring

* feat: agenda calendar color improvements

* chore: exclude dist-neue from git

* feat: agenda calendar event modal

* fix: rebuild yarn deps

* chore: add run migration task to vscode

* fix: agenda buttons display flag

* feat: agenda event modal component

* feat: show calendar event quick info on hover

* fix: clear calendar quick info on timezone change

* feat: agenda list view improvements

* feat: agenda list row coloring

* feat: agenda list note

* feat: agenda list icons for office hours + hackathon

* fix: agenda top links

* refactor: use pinia as store for agenda components

* feat: agenda jump to now

* fix: agenda mobile improvements

* feat: agenda search

* feat: agenda search improvements

* feat: agenda event recordings buttons for post-meeting

* fix: agenda switch to meeting timezone on load

* feat: agenda pre & live session buttons

* fix: remove agenda utc + personalize links in top menu

* feat: add pre-vue loading state on page load

* feat: filter from agenda picker mode

* fix: agenda UI improvements

* fix: django-vite non-dev mode

* chore: update yarn dependencies for vue + vite

* feat: agenda settings panel + UI improvements

* feat: agenda settings colors + import/export feature

* feat: agenda color assignments + responsive UI improvements

* feat: agenda realtime red line + debug datetime offset

* feat: agenda add aria labels for settings

* feat: add new agenda path + pages/menu

* fix: bring base/menu.html up to main

* fix: agenda various fixes

* test: add new agenda item to meetings menu for item count

* chore: restore devcontainer extensions list

* fix: agenda UI improvements + montserrat default font

* feat: agenda bolder text + hide event icons options

* feat: agenda warning badge

* fix: agenda various UI improvements + intersectionObserver fix

* feat: agenda floorplan page + various UI improvements

* feat: agenda floor plan pin

* feat: view floor plan room from agenda

* feat: agenda floor plan mobile optimization

* feat: adjust calendar options + default calendar view in settings

* feat: agenda persist picked events + change base font only on new agenda page

* feat: agenda mobile view optimizations

* fix: add .vite to cached volumes

* fix: mobile view for filters, calendar, settings panels

* test: upgrade cypress existing tests to work on bs5 + update dependencies

* fix: use named url patterns to avoid hardcoded URLs. Add rudimentary test coverage for the neue views.

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-07-13 16:20:23 -05:00
Lars Eggert 091144d7c1
Update deps (#4203)
* chore: Update deps

There are these yarn messages, which I don't understand, but @NGPixel may.

```
➤ YN0000: ┌ Resolution step
➤ YN0060: │ @parcel/optimizer-image@npm:2.6.2 provides @parcel/core (pec760) with version 2.5.0, which doesn't satisfy what @parcel/workers requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p1835f) with version 2.5.0, which doesn't satisfy what @parcel/fs requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p40766) with version 2.5.0, which doesn't satisfy what @parcel/workers requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p60182) with version 2.5.0, which doesn't satisfy what @parcel/cache requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (pe24cb) with version 2.5.0, which doesn't satisfy what @parcel/package-manager requests
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed
```

* Use .yarnrc.yml from @NGPixel

* Fix tests.

I have no idea why they started failing, the both the js code and the tests have
not changed in months...
2022-07-08 16:07:57 -05:00
Lars Eggert 75bb797d9e
fix: Fix floorplan (#4160)
* fix: Fix the floorplan location highlighter

* Revert erroneous commit
2022-07-06 14:18:44 -05:00
Lars Eggert cfa0886343
fix: Make the IPR search form work when enter is pressed (#4114) 2022-06-22 11:59:32 -05:00
Lars Eggert bbeb9aece7
fix: Various accumulated fixes (#4106)
This makes (more) sure the table sort chevron doesn't wrap, by removing trailing
whitespace from table headers.

It also fixes various whitespace nits related to buttonlists.
2022-06-21 13:00:41 -05:00
Lars Eggert 6e97628a64
fix(ui): badge -> badge rounded-pill (#4076)
* ui: badge -> badge rounded-pill

To make badges look a little less like small buttons.

* Rip out copy&paste error
2022-06-15 13:43:49 -05:00
Lars Eggert 7fc601ee69
fix: Don't let the sort chevron wrap (#4075)
I couldn't figure out a way to not let it wrap *and* float it to the right,
however,

Fixes #4071
2022-06-14 17:37:06 -05:00
Lars Eggert d0e6fd62cb
fix: Make document revisions in timeline clickable again (#4065)
Fixes #4064
2022-06-13 11:16:41 -05:00
Lars Eggert 525ce6bc68
fix: Correctly scroll to URL fragment after augmenting tables (#4040)
* fix: Correctly scroll to URL fragment after augmenting tables

* feat: Only add search field to longer tables

* Tweak vertical whitespace around search field

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-06-01 11:56:25 -05:00
Lars Eggert 8b339b74e4
fix: Fix include of bootstrap-icons (#4039)
This got broken in #4035, which included some things it wasn't meant to.
2022-06-01 10:55:01 -05:00
Lars Eggert 60ba38defe
fix: Nav links got broken in #3980 (#4032)
Righthand-nav links were no longer clickable since #3980. Fix that.
2022-05-31 17:06:15 -05:00
Lars Eggert 74f2a85d64
refactor: replace flot with highcharts (#4030)
* chore: Replace flot with highcharts

Since flot hasn't been updated since 2014 and was only used in one
place. Simplify how highcharts is initialized and used, and re-enable
pre-bs5 export functionality.

* Fix tests

* Remove some console.log statements
2022-05-31 17:05:27 -05:00
Lars Eggert 337d2ad387
feat: Switch to SVG logo; use it (and new bitmaps) in more places (#4035)
* feat: Switch to SVG logo; use it (and new bitmaps) in more places

* Run images through image_optim

* Copy icons from base template

* Tint icons red when in dev mode
2022-05-31 17:03:43 -05:00
Lars Eggert bf22223877
Update d3 (#4016)
* Over to slate

* Port to d3@4

* Port to d3@5

* Port to d3@7 (current release)

* Fix axis font size
2022-05-24 11:07:14 -05:00
Lars Eggert 9a24ee7e94
fix: Make AD position colors more noticeable (#4013)
* fix: Make AD position colors more noticeable

Also remove the striping of the table, which makes it easier to notice which
documents are missing a ballot.

* Make "yes" a bit darker

* Stripe the table for non-ADs
2022-05-24 09:51:34 -05:00
Lars Eggert a1518e4dcb
fix(ui): debounce the scroll event to make chrome happy (#3958)
* fix: Debounce the scroll event, to make Chrome happy

* Address review comments

* fix: Prevent overscrolling from scrolling the main content

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-05-18 14:01:22 -05:00
Lars Eggert de6d8b2b2a
fix: Prevent righthand-nav from overlapping the footer on short screens (#3980)
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-05-18 13:19:23 -05:00
Lars Eggert de7ff7e84e
test: fix more validation issues (#3975)
* fix: Avoid numeric IDs on NomCom pages

* fix: Correctly group last names with lowercase/i18n parts

* Remove some unneeded CSS

* fix: Remove extra div closing tag
2022-05-18 10:58:39 -05:00
Jennifer Richards 4a5583845e
fix(ui): import moment.js library with moment-timezone support in wrapper (#3977)
* fix: import moment.js library with moment-timezone support in wrapper

Packaging changes broke the mechanism used to make moment.tz available
to javascript code. This eliminates the separate moment.js and
moment-timezone-with-data-10-year-range.js wrappers and instead
imports the timezone-augmented version directly. This provides both
the timezone support and the regular moment features.

* refactor: put moment on window instead of global for consistency
2022-05-18 09:23:07 -05:00
Lars Eggert b265bac1fe
fix: Fix action holder form buttons (#3956)
Fixes #3943
2022-05-13 14:01:14 -05:00
Jennifer Richards cb996c5c0b
fix: refactor/correct calculation of week-view event start/end times (#3947)
* fix: use DST-friendly tz calculation for TimeSlot end times

Around DST changes, localize(time + duration).astimezone() is not
the same as localize(time).astimezone() + duration. The latter allows
tz-aware times to do their magic and give correct clock times.

* fix: refactor/correct calculation of week-view event start/end times

There were bugs in the timestamp calculations around DST switchover.
This corrects those and tries to clarify and improve documentation in
the relevant code.
2022-05-11 16:08:47 -05:00
Lars Eggert 5f8d4ed718
More HTML nitfixing (#3934)
* Unicode messages are triggered by both db content and tests

* Make ids unique

* Avoid "No value found" message on page

* Strip HTML from history entries, it's often broken

* Check HTML sources for occurrences of "** No value found for" and fix them

* Fix another occurrence of "** No value found for"

* Fix more occurrences of "** No value found for"

* Fix document revision stripping

* Force breaks of long (garbage) words

* Check URL validity before urlizing them

* Handle some additional corner cases

* Linkify action items

* Don't create profile/email links for System

* Handle headings with HTML elements in them better

* Fix comment

* Fix another occurrence of "** No value found for"

* Better I-D URLization that handles more edge cases. Also, test for them.

* Remove print

* Handle charters better

* Cache for one day
2022-05-10 12:37:14 -05:00
Lars Eggert 5598762608
fix: add more HTML validation & fixes (#3891)
* Update vnu.jar

* Fix py2 -> py3 issue

* Run pyupgrade

* test: Add default-jdk to images

* test: Add option to also validate HTML with vnu.jar

Since it's already installed in bin. Don't do this by default, since it
increases the time needed for tests by ~50%.

* fix: Stop the urlizer from urlizing in linkified mailto: text

* More HTML fixes

* More HTML validation fixes

* And more HTML fixes

* Fix floating badge

* Ignore unicode errors

* Only URLize docs that are existing

* Final fixes

* Don't URLize everything during test-crawl

* Feed HTML into vnu using python rather than Java to speed things up

* Allow test-crawl to start vnu on a different port

* Increase retry count to vnu. Restore batch size to 30.

* More HTML validation fixes

* Use urllib3 to make requests to vnu, since overriding requests_mock is tricky

* Undo commit of unmodified file

* Also urlize ftp links

* Fix matching of file name

* More HTML fixes

* Add `is_valid_url` filter

* weekday -> data-weekday

* urlencode URLs

* Add and use vnu_fmt_message. Bump vnu max buffer.

* Simplify doc_exists

* Don't add tab link to mail archive if the URL is invalid

* Run urlize_ietf_docs before linkify

Reduces the possibility of generating incorrect HTML

* Undo superfluous change

* Runner fixes

* Consolidate vnu message filtering into vnu_filter_message

* Correctly handle multiple persons with same name

* Minimze diff

* Fix HTML nits

* Print source snippet in vnu_fmt_message

* Only escape if there is something to escape

* Fix snippet

* Skip crufty old IPR declarations

* Only include modal when needed. Add handles.

* Fix wordwrap+linkification

* Update ietf/doc/templatetags/ietf_filters.py

* Update ietf/doc/templatetags/tests_ietf_filters.py

* Don't right-align second column
2022-05-03 13:55:48 -05:00