* 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>
* chore: fix typo in log message
* fix: write new conflict reviews to the ftp directory
* fix: log exception description
* chore: avoid reusing a name for mypy
* fix: write non-meeting-related slides to ftp/slides
* fix: write status changes to ftp dir
* fix: copy draft yang modules to the ftp dir
the last commit above (see #8401) has no tests :(. There aren't tests of this yang scaffolding to add to. Adding a set of tests should be an independent larger effort.
* fix: keep draft-iesg state on expiration. Update action holders
* feat: task to repair docs in dead because expiry
* fix: restore all to-date flows through update_action_holders
* fix: Fetch the System user following more regular conventions
* fix: better signal test
* fix: test file existance using metadata
* fix: use Path more
* fix: don't read the file to see if it exists
* fix: more conservative error handling
* chore: remove unused import
* refactor: doc search via POST (WIP)
Changes the search view to use a POST instead of a GET. Refactors cache key computation to use cleaned data.
Still todo:
* refactor frontpage view to match
* refactor menubar search (?)
* refactor stats view that uses SearchForm
* revive or drop the "backwards compatibility" branch
* feat: convert GET search to POST
Still todo:
* refactor frontpage view to match
* refactor menubar search (?)
* refactor stats view that uses SearchForm
* fix: revert frontpage changes, search works
Still todo:
* refactor stats view that uses SearchForm
* fix: define vars in all branches
* refactor: update stats use of SearchForm
* chore: improve message
* fix: remove lint
* chore: comments re: QuerySetAny
* test: test query string search params
* style: Black
* test: refactor test_search()
* test: refactor test_search_became_rfc()
* test: use scroll_and_click helper
* feat: remove "AD is watching" state
* chore: update names.json
* refactor: use idexists state, not dead
* fix: remove guidance to use watching state
* chore: remove references to 'watching' state
* feat: remove create_in_state from edit_info view
* test: update test
* style: Black + move class closer to use
* refactor: remove lint
* fix: restore missing admonition
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* feat: Total ids on IESG dashboard
* IESG I-D code comments
* Using Robert's query forIESG dashboard total_ids
* Hiding columns in later IESG Dashboard tables
* Changing IESG dashboard var name to match column table
* Updating IESG pre_pubreqquery
* IESG dashboard prepub req safeParser and graphs
* IESG dashboard fixing Playwright API usage
* IESG dashboard fixing Playwright API usage (2)
* Updating .gitignore for /geckodriver.log
* IESG ad test title
* feat: pages left to ballot on [WIP]
* Adding geckodriver.log to gitignore
* [WIP] pages left to ballot on
* integrating pages left to ballot on WIP
* Tests for ad pages remaining
* Setting states to test ballot items
* refactor ad_pages_left_to_ballot_on count logic
* WIP tests for pages left to ballot on
* chore: remove whitespace change
* fix: look into the BallotPositionDocEventObject
* chore: remove prints
* fix: restructure test
* style: fix js code styling
* fix: only show graph for ADs/Secretariat
---------
Co-authored-by: Matthew Holloway <Matthew Holloway>
Co-authored-by: holloway <matthew@holloway.co.nz>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Matthew Holloway <matthew@staff.ietf.org>
* fix: return to ballotpopup
* fix: ballot position return to in modals
* fix: ballot return to test
* fix: ballot return to additional allow handlers
* fix: ballot return to handler syntax error in test
* fix: #7287 ballot return params
* fix: Moving Ballot edit position ballot_edit_return_point from session to query param
* fix: tests for return_to_path param
* chore: removing Playwright tests until we can figure out a plan
* feat: return_to path utility refactoring
* fix: throw HTTP 400 in view rather than bubbling up a 500
* fix: return http400 rather than raising
* fix: Show recordings for interims
Add methods uses_notes(), has_recordings(), and uses_chat_logs() to the
meeting object (with semantically correct tests) and use them consistently
throughout. List the recordings if the "meeting numnber" starts with
"interim"
Fixes: #6543
* style: Use "is not" and "is" for None comparisons
* None comparison and non-IETF meetings
style: Use "is not None" instead of "!="
For non-IETF meetings assume chat logs exist
* fix: Restore useNotes for JS fields
* fix: uses_notes->useNotes (in JavaScript)
Also add comment about meeting number field in tests
* Missed a uses_notes->useNotes edit
* fix: useNotes->usesNotes
---------
Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: Remove redundant "stream stream" output
fix: Change "Legacy stream" to "Legacy"
chore: Add "stream" to stream.desc as needed
Fixes: #6902
* chore: Remove unused stream_desc parameter
The stream_desc key isn't used in template/doc/docuemnt_draft.html to
don't pass it in nor compute it
Fixes: #6902
* fix: migrate the legacy StreamName
---------
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
* fix: raw_id_fields for ReviewRequestDocEventAdmin
* fix: raw_id_fields for ReviewAssignmentDocEventAdmin
* fix: raw_id_fields for AddedMessageEventAdmin
* fix: raw_id_fields for SubmissionDocEventAdmin
* refactor: make inheritance clearer
* fix: check correct state machine when clearing status change ballots
Fixes#7335
* fix: Improve ballot clearing tests
* fix: look at the right state machines for defer state for a ballot
* fix: also do the right thing with conflrev defers
* chore: update add-django-cprofile-filter.patch
* fix: only use "draft" state when making aliases
* refactor: eliminate repeated get_state_slug()
On dev, reduces time for a draft-aliases api
call by by 10-15%
* refactor: only annotate inactive drafts
* refactor: de-lint
* refactor: speed up get_draft_authors_emails
Another 20% or so improvement in response time
* fix: guard against null person
* refactor: compute draft aliases on demand
n.b., very slow for full set of aliases
* refactor: simplify and cache email_aliases
The name != "" case is, as far as I can see, unused.
* chore: remove draft alias checks
* chore: remove draft alias/virtual settings
* chore: remove lint
* test: update tests
* test: better mocking
* refactor: move utility to utils
* test: add tests
* feat: Add disclaimer banners for unadopted I-Ds and non-IETF RFCs
Fixes#6539
* Fixes
* Add test
* Use BofreqFactory
* Fix disclaimer logic
* fix: Wording changes from stream owners
* fix: Only insert <wbr> when there isn't a space before or after (#6821)
* fix: Only insert <wbr> when there isn't a space before or after.
* Fix @cabo's issue
* fix: Remove debug info from template (#6897)
Fixes#6895
* fix: remove link to Warren's draft from disclaimer text (#7429)
---------
Co-authored-by: Lars Eggert <lars@eggert.org>