python-threatexchange/threatexchange/fetcher/apis/fb_threatexchange_api.py (6 lines): - line 183: # TODO -This is supported by the API - line 212: # TODO catch errors here - line 217: # TODO - correctly check types - line 239: # TODO - this is supported by the API - line 249: # TODO - this is supported by the API - line 259: # TODO - this is supported by the API python-threatexchange/threatexchange/fb_threatexchange/descriptor.py (3 lines): - line 32: # TODO - do something smarter than this - static - line 75: # TODO - Consider stripping out collab labels - line 131: self.added_on = added_on # TODO - convert to int? hasher-matcher-actioner/hmalib/hashexchanges/api/stopnciiorg_representations.py (3 lines): - line 17: # TODO: Find where these are sourced from. - line 27: # TODO: Find where these are sourced from. - line 36: # TODO: Are there known values for these keys? hasher-matcher-actioner/hmalib/lambdas/api/content.py (3 lines): - line 208: # TODO #751 Until we resolve type agnostic storage of signal data, - line 212: # TODO: ActionEvaluation does not yet leave a trail. Either record - line 245: # FIXME: Presently, hash API can only support one hash per content_id hasher-matcher-actioner/hmalib/lambdas/actions/action_evaluator.py (3 lines): - line 86: # TODO research max # sqs records / lambda_handler invocation - line 169: TODO Research caching rules for a short bit of time (1 min? 5 min?) use @lru_cache to implement - line 192: TODO implement api-reference-examples/java/te-tag-query/com/facebook/threatexchange/TETagQuery.java (2 lines): - line 710: // TODO: pull out body to method here and re-use for getIncremental - line 712: // TODO: create-time/update-time filters go here ... hasher-matcher-actioner/hmalib/lambdas/api/matches.py (2 lines): - line 304: # TODO: Once ThreatExchange data flows into Banks, we can Use BankMember - line 403: # TODO: Support pagination after implementing in UI. python-threatexchange/threatexchange/signal_type/trend_query.py (2 lines): - line 68: ) # TODO - does this throw all the right exceptions? - line 111: # TODO - Figure out how to properly capture hash vs search hasher-matcher-actioner/hmalib/lambdas/actions/action_performer.py (2 lines): - line 33: TODO: Just refactor this file to separate the lambda and functional - line 50: # TODO research max # sqs records / lambda_handler invocation hasher-matcher-actioner/hmalib/common/s3_adapters.py (2 lines): - line 544: TODO: Additionally, if writebacks are enabled for this privacy group write back - line 571: # TODO: Combine 2 update functions into single function hasher-matcher-actioner/hmalib/matchers/matchers_base.py (2 lines): - line 167: TODO: Move this out of matchers. - line 296: # TODO: This would do good with caching. api-reference-examples/python-notebook/ThreatExchange Data Dashboard.ipynb (2 lines): - line 289: "# TODO Add this translation to Pytx\n", - line 350: "# TODO: also filter for attack_type == PHISHING, when Pytx supports it\n", hasher-matcher-actioner/hmalib/lambdas/api/action_rules.py (2 lines): - line 48: # TODO elevate this to some central place when working on Issue 599 - line 90: # TODO this test for "already exists" should be moved to a common place python-threatexchange/threatexchange/fetcher/fetch_state.py (2 lines): - line 216: # TODO t.Generic[TFetchDeltaBase, TFetchedSignalDataBase, FetchCheckpointBase] - line 274: TODO: This currently implies that you are going to load the entire dataset python-threatexchange/threatexchange/signal_type/index.py (2 lines): - line 99: # TODO - this doesn't handle bytes queries / BytesHashers - line 128: # TODO - probably move add() methods to a mixin instead python-threatexchange/threatexchange/signal_type/pdq_ocr.py (2 lines): - line 38: # This may need to be updated (TODO make more configurable) - line 102: # TODO find way to reuse similar code in raw_text.py without sacrificing performance. hasher-matcher-actioner/webapp/src/components/OpinionChangeConfirmModal.tsx (2 lines): - line 18: opinion?: string; // TODO enum - line 19: pendingOpinionChange?: string; // TODO enum hasher-matcher-actioner/webapp/src/components/ContentMatchPane.tsx (2 lines): - line 38: // TODO: Use a better in-house error message. Perhaps not blur it? - line 46: // Ensure placeholders don't get displayed. TODO: Move this to the API. python-threatexchange/threatexchange/signal_type/pdq.py (2 lines): - line 17: # TODO force this as a required library? - line 43: # This may need to be updated (TODO make more configurable) python-threatexchange/threatexchange/fb_threatexchange/api.py (1 line): - line 6: TODO: Slim down to only what we need hasher-matcher-actioner/hmalib/common/models/content.py (1 line): - line 134: TODO: Something like an override flag should be added to the submit API python-threatexchange/threatexchange/cli/config_cmd.py (1 line): - line 331: settings._state.delete_collab(collab) # TODO clean private member access hasher-matcher-actioner/terraform/fetcher/main.tf (1 line): - line 28: # TODO: make this computed from var.fetch_frequency. hasher-matcher-actioner/hmalib/metrics/cloudwatch.py (1 line): - line 90: # TODO Something better than 'hit limit=skip' python-threatexchange/threatexchange/fb_threatexchange/threat_updates.py (1 line): - line 206: # TODO actually implement fancy threading logic hasher-matcher-actioner/webapp/src/components/OpinionTableCell.tsx (1 line): - line 52: {/* TODO these Dropdown.Item's logic is likely possible to generalize into a signal component */} hasher-matcher-actioner/hmalib/common/models/count.py (1 line): - line 221: TODO: Make this into batch calls to dynamodb so it is performant. Right hasher-matcher-actioner/hmalib/hashing/unified_hasher.py (1 line): - line 25: TODO: assumption that a signal value can only be string is inaccurate. Even python-threatexchange/threatexchange/signal_type/signal_base.py (1 line): - line 173: TODO: Consider moving to its own helper class. hasher-matcher-actioner/hmalib/common/models/pipeline.py (1 line): - line 310: # TODO add method for when matches are added to a sqs hasher-matcher-actioner/hmalib/common/classification_models.py (1 line): - line 43: # TODO name confusing. Should probably be SignalID... hasher-matcher-actioner/webapp/src/utils/constants.ts (1 line): - line 4: * TODO: typescript supports enums. However, all files that use enums from here python-threatexchange/threatexchange/fetcher/apis/stop_ncii_api.py (1 line): - line 44: raise NotImplementedError("TODO not yet implemented") hasher-matcher-actioner/hmalib/lambdas/ddb_stream_counter.py (1 line): - line 92: # TODO These should maybe have a strong connection to the objects instead of class constants api-reference-examples/python-notebook/Getting Started with Sharing.ipynb (1 line): - line 128: " #td.ATTACK_TYPE: a.MALWARE, # TODO uncomment when PR #120 gets added to Pytx in pip\n", hasher-matcher-actioner/webapp/src/Api.tsx (1 line): - line 646: signal_type: signal.signal_type, // TODO: Convert to enum. hasher-matcher-actioner/hmalib/common/external_api.py (1 line): - line 9: # TODO Remove same methods in python-threatexchange api.py hasher-matcher-actioner/hmalib/lambdas/actions/writebacker.py (1 line): - line 26: # TODO research max # sqs records / lambda_handler invocation python-threatexchange/threatexchange/cli/hash_cmd.py (1 line): - line 17: # TODO consider refactor to handle overlap with match python-threatexchange/threatexchange/fetcher/fetch_api.py (1 line): - line 17: # TODO t.Generic[TFetchDelta, TFetchedSignalData, TCollabConfig] hasher-matcher-actioner/hmalib/writebacker/writebacker_base.py (1 line): - line 380: # TODO: Currently writing back INGESTED fails becuase of API limits. Need to hasher-matcher-actioner/hmalib/lambdas/fetcher.py (1 line): - line 61: TODO: Just refactor this file to separate the lambda and functional hasher-matcher-actioner/hmalib/common/config.py (1 line): - line 329: # TODO - we should probably sanity check here to make sure all the fields hasher-matcher-actioner/webapp/src/pages/Matches.tsx (1 line): - line 168: {/* TODO: Undecided nomenclature */} python-threatexchange/threatexchange/cli/dataset/simple_serialization.py (1 line): - line 15: # TODO - merge SimpleDescriptorRollup here python-threatexchange/threatexchange/meta.py (1 line): - line 43: # TODO - consider storing by tuple instead of defending against accidental hasher-matcher-actioner/hmalib/banks/bank_operations.py (1 line): - line 141: TODO: At this point, is dumb. Does not actually batch the requests, instead hasher-matcher-actioner/webapp/src/pages/SubmitContent.tsx (1 line): - line 75: // TODO extra additional fields spec should be established in documentation hasher-matcher-actioner/hmalib/common/threatexchange_config.py (1 line): - line 18: # TODO Currently default to True for testing purpose, hasher-matcher-actioner/hmalib/lambdas/api/datasets.py (1 line): - line 218: # TODO this method is expensive some cache or memoization method might be a good idea. hasher-matcher-actioner/hmalib/lambdas/api/api_root.py (1 line): - line 106: TODO refactor #2 to its own lambda that handles more general sqs events hasher-matcher-actioner/webapp/src/messages/BankMessages.tsx (1 line): - line 43: signal_type: string; // TODO: Convert to enum. python-threatexchange/threatexchange/content_type/pdf.py (1 line): - line 15: # TODO - defend against missing extensions imports python-threatexchange/threatexchange/cli/main.py (1 line): - line 212: ).get_persistent_config() # TODO fix the circular dependency python-threatexchange/threatexchange/fetcher/apis/file_api.py (1 line): - line 53: # TODO - Support things other than just one item per line