Commit graph

168 commits

Author SHA1 Message Date
Robert Sparks 997239a2ea
feat: write objects to blob storage (#8557)
* feat: basic blobstore infrastructure for dev

* refactor: (broken) attempt to put minio console behind nginx

* feat: initialize blobstore with boto3

* fix: abandon attempt to proxy minio. Use docker compose instead.

* feat: beginning of blob writes

* feat: storage utilities

* feat: test buckets

* chore: black

* chore: remove unused import

* chore: avoid f string when not needed

* fix: inform all settings files about blobstores

* fix: declare types for some settings

* ci: point to new target base

* ci: adjust test workflow

* fix: give the tests debug environment a blobstore

* fix: "better" name declarations

* ci: use devblobstore container

* chore: identify places to write to blobstorage

* chore: remove unreachable code

* feat: store materials

* feat: store statements

* feat: store status changes

* feat: store liaison attachments

* feat: store agendas provided with Interim session requests

* chore: capture TODOs

* feat: store polls and chatlogs

* chore: remove unneeded TODO

* feat: store drafts on submit and post

* fix: handle storage during doc expiration and resurrection

* fix: mirror an unlink

* chore: add/refine TODOs

* feat: store slide submissions

* fix: structure slide test correctly

* fix: correct sense of existence check

* feat: store some indexes

* feat: BlobShadowFileSystemStorage

* feat: shadow floorplans / host logos to the blob

* chore: remove unused import

* feat: strip path from blob shadow names

* feat: shadow photos / thumbs

* refactor: combine photo and photothumb blob kinds

The photos / thumbs were already dropped in the same
directory, so let's not add a distinction at this point.

* style: whitespace

* refactor: use kwargs consistently

* chore: migrations

* refactor: better deconstruct(); rebuild migrations

* fix: use new class in mack patch

* chore: add TODO

* feat: store group index documents

* chore: identify more TODO

* feat: store reviews

* fix: repair merge

* chore: remove unnecessary TODO

* feat: StoredObject metadata

* fix: deburr some debugging code

* fix: only set the deleted timestamp once

* chore: correct typo

* fix: get_or_create vs get and test

* fix: avoid the questionable is_seekable helper

* chore: capture future design consideration

* chore: blob store cfg for k8s

* chore: black

* chore: copyright

* ci: bucket name prefix option + run Black

Adds/uses DATATRACKER_BLOB_STORE_BUCKET_PREFIX option. Other changes
are just Black styling.

* ci: fix typo in bucket name expression

* chore: parameters in app-configure-blobstore

Allows use with other blob stores.

* ci: remove verify=False option

* fix: don't return value from __init__

* feat: option to log timing of S3Storage calls

* chore: units

* fix: deleted->null when storing a file

* style: Black

* feat: log as JSON; refactor to share code; handle exceptions

* ci: add ietf_log_blob_timing option for k8s

* test: --no-manage-blobstore option for running tests

* test: use blob store settings from env, if set

* test: actually set a couple more storage opts

* feat: offswitch (#8541)

* feat: offswitch

* fix: apply ENABLE_BLOBSTORAGE to BlobShadowFileSystemStorage behavior

* chore: log timing of blob reads

* chore: import Config from botocore.config

* chore(deps): import boto3-stubs / botocore

botocore is implicitly imported, but make it explicit
since we refer to it directly

* chore: drop type annotation that mypy loudly ignores

* refactor: add storage methods via mixin

Shares code between Document and DocHistory without
putting it in the base DocumentInfo class, which
lacks the name field. Also makes mypy happy.

* feat: add timeout / retry limit to boto client

* ci: let k8s config the timeouts via env

* chore: repair merge resolution typo

* chore: tweak settings imports

* chore: simplify k8s/settings_local.py imports

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2025-02-19 17:41:10 -06:00
dependabot[bot] 1bcee8b506
chore(deps): bump the yarn group with 15 updates (#6924)
* chore(deps): bump the yarn group with 15 updates

Bumps the yarn group with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001572` | `1.0.30001576` |
| [highcharts](https://github.com/highcharts/highcharts-dist) | `11.2.0` | `11.3.0` |
| [naive-ui](https://github.com/tusen-ai/naive-ui) | `2.36.0` | `2.37.3` |
| [sortablejs](https://github.com/SortableJS/Sortable) | `1.15.1` | `1.15.2` |
| [vue](https://github.com/vuejs/core) | `3.4.4` | `3.4.13` |
| [@parcel/optimizer-data-url](https://github.com/parcel-bundler/parcel) | `2.10.3` | `2.11.0` |
| [@parcel/transformer-inline-string](https://github.com/parcel-bundler/parcel) | `2.10.3` | `2.11.0` |
| [@parcel/transformer-sass](https://github.com/parcel-bundler/parcel) | `2.10.3` | `2.11.0` |
| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `4.5.0` | `4.6.2` |
| [c8](https://github.com/bcoe/c8) | `9.0.0` | `9.1.0` |
| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `16.6.1` | `16.6.2` |
| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) | `9.19.2` | `9.20.1` |
| [html-validate](https://gitlab.com/html-validate/html-validate) | `8.8.0` | `8.9.1` |
| [parcel](https://github.com/parcel-bundler/parcel) | `2.10.3` | `2.11.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `4.5.0` | `4.5.1` |


Updates `caniuse-lite` from 1.0.30001572 to 1.0.30001576
- [Commits](https://github.com/browserslist/caniuse-lite/compare/1.0.30001572...1.0.30001576)

Updates `highcharts` from 11.2.0 to 11.3.0
- [Commits](https://github.com/highcharts/highcharts-dist/compare/v11.2.0...v11.3.0)

Updates `naive-ui` from 2.36.0 to 2.37.3
- [Changelog](https://github.com/tusen-ai/naive-ui/blob/main/CHANGELOG.en-US.md)
- [Commits](https://github.com/tusen-ai/naive-ui/compare/v2.36.0...v2.37.3)

Updates `sortablejs` from 1.15.1 to 1.15.2
- [Release notes](https://github.com/SortableJS/Sortable/releases)
- [Commits](https://github.com/SortableJS/Sortable/compare/1.15.1...1.15.2)

Updates `vue` from 3.4.4 to 3.4.13
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.4...v3.4.13)

Updates `@parcel/optimizer-data-url` from 2.10.3 to 2.11.0
- [Release notes](https://github.com/parcel-bundler/parcel/releases)
- [Changelog](https://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md)
- [Commits](https://github.com/parcel-bundler/parcel/compare/v2.10.3...v2.11.0)

Updates `@parcel/transformer-inline-string` from 2.10.3 to 2.11.0
- [Release notes](https://github.com/parcel-bundler/parcel/releases)
- [Changelog](https://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md)
- [Commits](https://github.com/parcel-bundler/parcel/compare/v2.10.3...v2.11.0)

Updates `@parcel/transformer-sass` from 2.10.3 to 2.11.0
- [Release notes](https://github.com/parcel-bundler/parcel/releases)
- [Changelog](https://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md)
- [Commits](https://github.com/parcel-bundler/parcel/compare/v2.10.3...v2.11.0)

Updates `@vitejs/plugin-vue` from 4.5.0 to 4.6.2
- [Release notes](https://github.com/vitejs/vite-plugin-vue/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-vue/blob/plugin-vue@4.6.2/packages/plugin-vue/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@4.6.2/packages/plugin-vue)

Updates `c8` from 9.0.0 to 9.1.0
- [Release notes](https://github.com/bcoe/c8/releases)
- [Changelog](https://github.com/bcoe/c8/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bcoe/c8/compare/v9.0.0...v9.1.0)

Updates `eslint-plugin-n` from 16.6.1 to 16.6.2
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.6.1...16.6.2)

Updates `eslint-plugin-vue` from 9.19.2 to 9.20.1
- [Release notes](https://github.com/vuejs/eslint-plugin-vue/releases)
- [Commits](https://github.com/vuejs/eslint-plugin-vue/compare/v9.19.2...v9.20.1)

Updates `html-validate` from 8.8.0 to 8.9.1
- [Release notes](https://gitlab.com/html-validate/html-validate/tags)
- [Commits](https://gitlab.com/html-validate/html-validate/compare/v8.8.0...v8.9.1)

Updates `parcel` from 2.10.3 to 2.11.0
- [Release notes](https://github.com/parcel-bundler/parcel/releases)
- [Changelog](https://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md)
- [Commits](https://github.com/parcel-bundler/parcel/compare/v2.10.3...v2.11.0)

Updates `vite` from 4.5.0 to 4.5.1
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.1/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.1/packages/vite)

---
updated-dependencies:
- dependency-name: caniuse-lite
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: yarn
- dependency-name: highcharts
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: naive-ui
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: sortablejs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: yarn
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: yarn
- dependency-name: "@parcel/optimizer-data-url"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: "@parcel/transformer-inline-string"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: "@parcel/transformer-sass"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: "@vitejs/plugin-vue"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: c8
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: eslint-plugin-n
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: yarn
- dependency-name: eslint-plugin-vue
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: html-validate
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: parcel
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: yarn
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: yarn
...

Signed-off-by: dependabot[bot] <support@github.com>

* test: Disable hidden-focusable and unique-landmark validations

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2024-01-16 11:00:23 -06:00
Jennifer Richards c7ca0b7d8e
Revert "chore: Replace markup_txt with rfc2html (#6632)" (#6909)
This reverts commit e24fb601db.
2024-01-11 13:08:24 -06:00
Lars Eggert e24fb601db
chore: Replace markup_txt with rfc2html (#6632)
* chore: Replace markup_txt with rfc2html

* Suppress HTML issues

* Remove comment

* Suppress harder

* Suppress even more

* Fix test

* Ignore vnu "duplicate ID" errors

* Undo accidental commit

* Fix RFCs

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2024-01-05 12:29:28 -06:00
Robert Sparks 925e22006b
ci: change test coverage fudge factor (#6649) 2023-11-16 12:46:36 -06:00
Lars Eggert 8abbaae0c0
Update ietf/utils/test_runner.py 2023-09-28 11:34:03 +03:00
Lars Eggert abe93a42b2
feat: Add the ability to rerun a test suite until a failure occurs
More quickly than looping in the shell around a non-zero error code.
This only incurs all the setup and scaffolding overheads once.
2023-09-28 11:31:16 +03:00
Jennifer Richards 19abdfe5e7
refactor: Inject tests without using deprecated extra_tests 2023-05-19 11:09:05 -03:00
Jennifer Richards cbabb864c2
test: Use issubclass, not isinstance, to ID view_class 2023-05-17 16:09:56 -03:00
Jennifer Richards d519bca12c
test: Fix ignore_pattern so Redirect/TemplateViews are ignored again 2023-05-17 15:59:28 -03:00
Jennifer Richards 69eb6340fd
test: Do not misuse django.conf.settings for HTML validation params 2023-05-10 15:41:36 -03:00
Robert Sparks 01b4a91bfe
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-29 10:41:47 +09:00
Lars Eggert c3bb142c98
Rebase (#5416) 2023-03-25 17:37:33 +09:00
Robert Sparks e1206fa91e
Merge remote-tracking branch 'upstream/main' into feat/postgres 2023-02-13 09:17:05 -06:00
Lars Eggert c5562fbbea
chore: Update deps (#5084)
* chore: Update deps

* Deal with html-validate changes

* Update fullcalendar

* Delete things
2023-02-08 11:18:54 -06:00
Robert Sparks 2351629fcc
Merge remote-tracking branch 'origin/main' into feat/postgres 2023-01-23 10:28:14 -06:00
Lars Eggert 715b1d1934
Update deps (#4969)
* Update deps

* Disable warning

* Fix typo
2023-01-12 09:21:54 -06:00
Robert Sparks 912c7b5ee3
fix: simplify migrations when building postgres db image (#4889)
* chore: remove the effectively unused DATABASE_TEST_OPTIONS setting

* fix: simplify default settings_local so that db-include-fix.py is not needed in CI

* fix: simplify migrations in db-pg-migrate.sh
2022-12-13 17:37:24 -05: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
Lars Eggert cb2f4afc8b
fix: Ignore readonly on select (#4786)
This was caused by #4708
2022-11-23 15:03:13 -06:00
Jennifer Richards eb41424ea4
test: permit multiple <h1> tags in a document (#4741) 2022-11-10 16:17:43 +00:00
Jennifer Richards e77419029a
test: validate HTML in own test case and report all results (#4740)
* ci: move HTML validation out of teardown so all failures are caught

Failures in the last batch were suppressed by the original implementation.

* test: rename template validation "test" so it is not auto-discovered

* test: run all HTML validation in a single batch at the end

Adds ~50 MB peak RAM usage during a full test run.

* test: refactor validation to collect failures of all kinds before exit
2022-11-10 16:17:00 +00:00
Robert Sparks fbd9509db7
chore: silence interleaved migration warning (#4687) 2022-11-02 14:33:09 -03:00
Jennifer Richards da70acfdff
Merge branch 'feat/tzaware' into jennifer/yet-more-tz-fixes
# Conflicts:
#	ietf/ietfauth/utils.py
#	ietf/meeting/tests_views.py
#	ietf/stats/tests.py
2022-10-17 16:39:45 -03:00
Jennifer Richards f3bdbf0ed4
Merge branch 'feat/tzaware' into jennifer/main-for-tzaware-merge
# Conflicts:
#	ietf/meeting/tests_js.py
#	ietf/meeting/tests_models.py
#	ietf/meeting/tests_views.py
#	ietf/meeting/views.py
#	ietf/name/fixtures/names.json
#	ietf/templates/meeting/agenda.html
#	ietf/templates/meeting/session_buttons_include.html
#	ietf/templates/meeting/timeslot_start_end.html
2022-10-14 16:35:57 -03:00
Robert Sparks 50668c97cd
feat: apis for attaching chatlogs and polls to session materials (#4488)
* feat: apis for attaching chatlogs and polls to session materials

* fix: anticipate becoming tzaware, and improve guard against attempts to provide docs for sessions that have no official timeslot assignment.

* fix: get chatlog upload to actually work

Modifications to several initial implementation decisions.
Updates to the fixtures.

* fix: test polls upload

Refactored test to reduce duplicate code

* fix: allow api keys to be created for the new endpoints

* feat: add ability to view chatlog and polls documents. Show links in session materials.

* fix: commit new template

* fix: typo in migration signatures

* feat: add main doc page handling for polls. Improve tests.

* feat: chat log vue component + embedded vue loader

* feat: render polls using Vue

* fix: address pug syntax review comments from Nick.

* fix: repair remaining mention of chat log from copymunging

* fix: use double-quotes in html attributes

* fix: provide missing choices update migration

* test: silence html validator empty attr warnings

* test: fix test_runner config

* fix: locate session when looking at a dochistory object for polls or chatlog

Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-10-13 09:20:36 -05:00
Jennifer Richards 7b1b7f5273
Merge branch 'feat/tzaware' into dev/tzaware-main-merge 2022-10-11 14:57:34 -03:00
Lars Eggert 15a1d3e379
chore: Update deps (bs to 5.2.2, various others) (#4537)
Also fix html-validate, which now wants a `.json` suffix on config files.
2022-10-07 16:05:04 -05:00
Jennifer Richards a653582cf7
fix: timezone fixes from last few comparisons with tzaware-obe 2022-09-28 13:21:50 -03:00
Jennifer Richards 1366b6de38
Merge branch 'feat/tzaware' into jennifer/main-to-tzaware-conflicts 2022-09-14 12:36:33 -03:00
Lars Eggert 64b5bdffa7
chore: Update deps (#4383)
* chore: Update dependencies

* Handle new html-validate tests
2022-09-09 08:56:53 -05:00
Robert Sparks 57fd099ea0
feat: add ability to ignore reduction in coverage to the testrunner (#4422) 2022-09-08 13:19:07 -05:00
Jennifer Richards ebebdbed3e
refactor: replace datetime.now and datetime.today with timezone.now (#4211)
* refactor: replace datetime.now with timezone.now

* refactor: migrate model fields to use timezone.now as default

* refactor: replace datetime.today with timezone.now

datetime.datetime.today() is equivalent to datetime.datetime.now(); both
return a naive datetime with the current local time.

* refactor: rephrase datetime.now(tz) as timezone.now().astimezone(tz)

This is effectively the same, but is less likely to encourage accidental
use of naive datetimes.

* refactor: revert datetime.today() change to old migrations

* refactor: change a missed datetime.now to timezone.now

* chore: renumber timezone_now migration

* chore: renumber migrations
2022-08-25 13:45:16 -03:00
Robert Sparks 1b64231e98
test: Convert interleaved migration failure to a warning. (#4301) 2022-08-02 10:23:12 -05:00
Nicolas Giard 744bcc54e8
fix: set vite base path during deploy build + allow google fonts (#4217)
* fix: set vite base path during deploy build + allow google fonts

* ci: only set vite base path if build is for production release

* test: add html-validate ignore rules for vite generated content that is valid

* fix: show buttons on regular sessions without agenda materials + link to legacy agenda

* fix: temporarily hide left menu on agenda-neue and floor-plan-neue

* fix: set resize handler to whole app

* fix: apply html-validate ignore to agenda-neue only + deploy/build.sh fix

* test: change old agenda cypress to always take the same elements to avoid #3564
2022-07-14 18:55:55 -05:00
Robert Sparks b988850985
fix: avoid mutables as defaults. Compute date default arguments at runtime rather than loadtime. (#4144) 2022-07-06 14:39:36 -05:00
Lars Eggert 411b5f4747
fix: Fix some HTML validation errors that came in via #4035 (#4066)
* fix: Fix some HTML validation errors that came in via #4035

Also make validation errors display a bit better.

* content -> color for mask-icon (caught by @jennifer-richards; thanks)
2022-06-16 11:59:12 -05:00
Lars Eggert 8ef92312d0
fix: Don't urlencode all resource URLs (#3988)
While this does suppress errors, it breaks even valid URLs. Instead, just
suppress the validation error for those few cases in the database.
2022-05-19 12:31:29 -05:00
Nicolas Giard 8a7f67d4d1
test: make tests run without root access (#3968) 2022-05-14 08:11:44 -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
Nicolas Giard 8ea883cb7e
chore: switch to Yarn 3 (#3819)
* refactor: switch to yarn 3

* chore: add other os+cpu to yarn supported architectures

* chore: add gitattributes

* chore: add missing yarn native modules rebuild step

* chore: replace npx with yarn in test_runner + update readme

* chore: remove bootstrap-datepicker github dependency, use local instead
2022-04-25 15:54:05 -05:00
Jennifer Richards 68684be247
test: fix permissions on files for html validation (#3795)
* test: fix permissions on files for html validation

* test: rewind stdout before dumping output that caused error
2022-04-07 16:17:33 -05:00
Lars Eggert 3234f1a121
test: Validate HTML rendered during tests (#3782) 2022-04-07 13:30:38 -03:00
Robert Sparks 87838725af
test: bypass html validation pending rework at template level (#3748) 2022-03-25 07:53:46 -05:00
Lars Eggert f516f86a17
ci: Add vnu to dev + test docker image (#3724)
* ci: Add vnu to dev docker image

* Use default-jdk from apt, and just download the vnu JAR blob
2022-03-22 13:13:28 -04:00
Lars Eggert eb5423d084
ci: Also check generated HTML with the "vnu" validator (#3682)
* ci: Also check generated HTML with the "vnu" validator

Because HTML Tidy apparently misses a bunch of errors.

* thead -> tbody

* More fixes

* More fixes

* Start checker in test runner
2022-03-21 12:50:23 -05:00