atr/routes/voting.py (6 lines): - line 50: # TODO: Consider relaxing this to all committers - line 90: # TODO: We should consider not allowing the subject to be changed - line 125: # TODO: We also need to store the duration of the vote - line 153: # TODO: We should log all outgoing email and the session so that users can confirm - line 178: # TODO: Use session.release here - line 193: # TODO: Obtain a lock for this atr/blueprints/admin/admin.py (6 lines): - line 66: # TODO: Add distribution channel, key link, and any others - line 178: # TODO: Use session.apache_uid instead of session.uid? - line 436: # TODO: Confirm that this is a bug, and report upstream - line 527: # FIXME: this is a quick workaround for inconsistent data wrt webservices PMC / projects - line 533: # TODO: Annotator is in both projects and ldap_projects - line 562: # TODO: find a better way to declare a project retired atr/routes/__init__.py (5 lines): - line 53: # TODO: Should get this from config, checking debug there - line 70: # TODO: (Obviously we should move this, but where to?) - line 174: # TODO: Not type safe, should subclass properly if possible - line 221: # TODO: We probably shouldn't do that, or should make it clearer - line 279: # TODO: Is this actually UTC? atr/routes/keys.py (5 lines): - line 246: # TODO: Check if key already exists - line 258: # # TODO: Not sure that we should do this - line 259: # # TODO: Check for multiple signing subkeys - line 411: # TODO: Make an auth.require wrapper that gives the session automatically - line 572: # TODO: Do we modify this? Store a copy just in case, for the template to use atr/db/models.py (5 lines): - line 118: # TODO: Consider using key or label for primary string keys - line 150: # TODO: Consider using key or label for primary string keys - line 153: # TODO: Ideally full_name would be unique for str only, but that's complex - line 158: # TODO: We should have this on Committee too, or instead - line 393: # TODO: Not all releases have a version atr/routes/draft.py (5 lines): - line 122: # TODO: Confirm that this is a bug, and report upstream - line 433: # TODO: Should we deprecate this and ensure compose covers it all? - line 449: # TODO: Move to somewhere appropriate - line 469: # TODO: Validate the vote duration again? Probably not necessary in a preview - line 502: # TODO: Use session.release here atr/mail.py (4 lines): - line 33: # TODO: We should choose a pattern for globals - line 37: # TODO: Get at least global_dkim_domain from configuration - line 78: # TODO: Add message.references if necessary - line 114: # TODO: Document this, or improve it atr/routes/start.py (4 lines): - line 54: # TODO: Temporarily allow committers to start drafts - line 68: # TODO: Consider using Release.revision instead of ./latest - line 81: # TODO: We should check that it's bigger than the current version - line 115: # TODO: Move the helper somewhere else atr/util.py (4 lines): - line 133: # TODO: Skip metadata files - line 215: # TODO: We're currently using cp -al instead - line 556: # TODO: Use with contextlib.suppress(FileNotFoundError) for these sorts of blocks? - line 563: # TODO: This should probably be a session method instead atr/tasks/checks/rat.py (4 lines): - line 75: # TODO: Or bubble for task failure? - line 141: # TODO: We could extract to somewhere in "state/" instead - line 229: # TODO: From RAT 0.17, --exclude will become --input-exclude - line 230: # TODO: Check whether --exclude NAME works on inner files atr/routes/resolve.py (3 lines): - line 52: # TODO: Make this a proper query - line 134: # TODO: Improve this - line 162: # TODO: Format this better based on committee and project atr/tasks/bulk.py (3 lines): - line 60: # TODO: Use a Pydantic model instead - line 160: # TODO: We flatten the hierarchy to get the filename - line 168: # TODO: Check whether local_path itself exists first atr/routes/projects.py (3 lines): - line 47: TODO: Currently only a single mailto_address is supported. - line 230: # TODO: Move this filtering logic somewhere else - line 272: # TODO: We should probably add long name validation atr/tasks/checks/zipformat.py (3 lines): - line 153: # TODO: Obviously we want to reuse the license files check logic from license.py - line 207: # TODO: Add more specific NOTICE checks if needed - line 320: # # TODO: Airavata has e.g. "-source-release" atr/server.py (3 lines): - line 47: # TODO: Technically this is a global variable - line 242: # TODO: Figure out why pyright doesn't know about this attribute - line 257: # FIXME: when running in SSL mode, you will receive these exceptions upon termination at times: atr/tasks/checks/license.py (3 lines): - line 193: # TODO: Be more specific about the issues - line 312: # TODO: Check length, should be 11,358 bytes - line 315: # TODO: Check length doesn't exceed some preset atr/worker.py (2 lines): - line 20: # TODO: If started is older than some threshold and status - line 287: # TODO: Should probably be more robust about this atr/templates/download-all.html (2 lines): - line 95: - line 105: atr/templates/phase-view.html (2 lines): - line 13: {# TODO: Use mappings.py #} - line 110: {# TODO: Should probably disable the link here #} atr/analysis.py (2 lines): - line 185: # TODO: Check total depth to give an indication of SUB? - line 260: # TODO: -incubating atr/ssh.py (2 lines): - line 105: # TODO: Where do we actually do this? - line 158: # TODO: Use shlex.split or similar if commands can contain quoted arguments atr/db/__init__.py (2 lines): - line 125: # TODO: Need to type all of these arguments correctly - line 678: # FIXME: occasionally you see this in the console output atr/tasks/message.py (2 lines): - line 60: # TODO: Move this call into send itself? - line 64: # TODO: Record the vote in the database? atr/routes/preview.py (2 lines): - line 158: # TODO: Move to somewhere appropriate - line 207: # TODO: Abstract this to a function atr/tasks/sbom.py (2 lines): - line 95: # TODO: Add other types here - line 182: # TODO: Ideally we'd have task dependencies or archive caching atr/routes/announce.py (2 lines): - line 33: # TODO: Improve upon the routes_release pattern - line 171: # TODO: We should update only if the announcement email was sent atr/tasks/checks/paths.py (2 lines): - line 131: # TODO: Is .mds supported in analysis.METADATA_SUFFIXES? - line 161: # TODO: There is not a a policy for this atr/manager.py (2 lines): - line 195: # TODO: How long should we wait before trying again? - line 281: # TODO: Return False here to avoid over-reporting errors scripts/interface_privacy.py (1 line): - line 2: # TODO: We want to go the other way around too atr/templates/project-select.html (1 line): - line 16: {# TODO: We're only setting data-project-url for style #} atr/templates/announce-selected.html (1 line): - line 92: TODO: The limited options above are provided for testing purposes. In the finished version of ATR, you will be able to send to your own specified mailing lists. atr/routes/release.py (1 line): - line 152: # TODO: Move to somewhere appropriate atr/tasks/checks/hashing.py (1 line): - line 64: # TODO: Check the FILENAME part atr/config.py (1 line): - line 48: # FIXME: retrieve the list of admin users from LDAP or oath session / isRoot atr/user.py (1 line): - line 82: # TODO: We're limiting this to candidates atr/templates/release-select.html (1 line): - line 31: {# TODO: Use mappings.py #} atr/templates/voting-selected-revision.html (1 line): - line 30: atr/revision.py (1 line): - line 95: # TODO: It's hard to know whether we should clean up the new revision directory atr/routes/file.py (1 line): - line 30: # TODO: Make this independent of the release phase atr/templates/macros/dialog.html (1 line): - line 2: {# TODO: Make ESC close this modal #} atr/construct.py (1 line): - line 142: # TODO: Handle the DURATION == 0 case atr/templates/projects.html (1 line): - line 78: {# TODO: Could add "or is_viewing_as_admin_fn(current_user.uid)" #} atr/templates/upload-selected.html (1 line): - line 137: atr/blueprints/api/api.py (1 line): - line 32: # FIXME: we need to return the dumped model instead of the actual pydantic class atr/blueprints/admin/templates/tasks.html (1 line): - line 64: // TODO: Need a better fix here atr/routes/vote.py (1 line): - line 164: # TODO: This List ID will be dynamic when we allow posting to arbitrary lists atr/templates/check-selected-candidate-forms.html (1 line): - line 6: TODO: We plan to make "Binding" dynamic based on membership. Currently this form always says "Binding" which is known to be wrong. atr/routes/revisions.py (1 line): - line 124: # TODO: We should probably log who is doing this, to create an audit trail atr/routes/download.py (1 line): - line 164: # TODO: Report the bug upstream to mypy atr/tasks/checks/signature.py (1 line): - line 110: # TODO: Log warning about invalid key? atr/routes/report.py (1 line): - line 42: # TODO: When we do more than one thing in a dir, we should use the revision directory directly atr/templates/keys-review.html (1 line): - line 95: atr/routes/candidate.py (1 line): - line 62: # TODO: Move to somewhere appropriate