emails/views.py (15 lines): - line 600: TODO: Return a more appropriate status object - line 601: TODO: Document the metrics emitted - line 634: # TODO: Add metric - line 641: # FIXME: this ambiguous return of either - line 667: # TODO: determine action on dmarcPolicy "quarantine" - line 749: # TODO: MPP-3407, MPP-3417 - Determine how to handle these - line 916: # FIXME: calling code is likely to duplicate this query - line 1387: TODO: Return a more appropriate status object (see _handle_received) - line 1388: TODO: Document metrics emitted - line 1444: # TODO: Issue #1747 - Remove wrapper / prefix in replies - line 1499: # TODO: Consider flows when a user generating alias on a fly - line 1557: # TODO: create a hard bounce receipt rule in SES - line 1637: # TODO: handle bounce for a user who no longer exists - line 1649: # TODO: handle sub-types: 'General', 'NoEmail', etc. - line 1653: # TODO: handle sub-types: 'MessageTooLarge', 'AttachmentRejected', etc. api/views/phones.py (12 lines): - line 119: # TODO: this doesn't seem to e working? - line 230: # TODO: this logic might be able to move "up" into the model, but it will - line 254: # TODO: check verification_sent_date is not "expired"? - line 703: TODO: delete the message from Twilio; how to do this AFTER this request? queue? - line 793: # TODO: Mark RealPhone as unsubscribed? - line 1166: # TODO: Create or update an OutboundContact (new model) on send, or limit - line 1228: # TODO: Create or update an OutboundContact (new model) on send, or limit - line 1230: # TODO: Reduce user's SMS messages for the month by one - line 1305: # TODO: Support filtering to messages for outbound-only phones. - line 1306: # TODO: Show data from our own (encrypted) store, rather than from Twilio's - line 1468: # TODO: don't default to US when we support other regions - line 1652: # FIXME: switch to proper hmac when iQ is ready privaterelay/models.py (5 lines): - line 50: # TODO MPP-2972: delete date_phone_subscription_checked in favor of - line 81: # TODO: Data migration to set null to false - line 82: # TODO: Schema migration to remove null=True - line 112: # TODO: change subdomain field as a custom field inheriting from - line 291: # FIXME: as we don't have all the tiers defined we are over-defining frontend/src/components/phones/onboarding/RelayNumberPicker.tsx (4 lines): - line 72: {/* TODO: Add logic to display success message */} - line 253: {/* TODO: Add error class to input field */} - line 286: {/* TODO: Add logic to show this instead of step-select-phone-number-mask when loading */} - line 317: {/* TODO: Add logic to display success message */} emails/models.py (3 lines): - line 124: # TODO: create hard bounce receipt rule in AWS for the address - line 308: # FIXME: if the alias is randomly generated and has bad words - line 324: # TODO: create hard bounce receipt rule in AWS for the address frontend/src/components/phones/onboarding/RelayNumberPicker.module.scss (2 lines): - line 31: // TODO: This is not working - line 294: // TODO: Use height of parent container api/views/privaterelay.py (2 lines): - line 324: # TODO: Implement an FXA token authentication class - line 391: # TODO: use this logging to fix the underlying issue frontend/src/components/dashboard/aliases/AliasGenerationButton.tsx (2 lines): - line 329: // TODO: Fix the typing (likely: report to react-aria that the type does not include an isDisabled prop) - line 343: // TODO: Figure out correct type: phones/models.py (2 lines): - line 429: # TODO: if IQ_FOR_NEW_NUMBERS, send welcome message via IQ - line 507: # TODO: can we make multiple pattern searches in a single Twilio API request frontend/src/components/layout/navigation/AppPicker.tsx (2 lines): - line 335: // TODO: Fix the typing (likely: report to react-aria that the type does not include an isDisabled prop) - line 351: // TODO: Figure out correct type: frontend/next.config.ts (2 lines): - line 123: // TODO MPP-3946: Fix deprecation warnings in sass 1.80.x - line 129: // TODO MPP-3946: Update to mozilla-protocol 18.0.0 frontend/src/hooks/api/relayNumber.ts (2 lines): - line 54: // TODO: Add post function to same API url - line 61: // TODO: Validate number as E.164 privaterelay/settings.py (2 lines): - line 210: "worker-src": [SELF, "blob:"], # TODO: remove blob: temporary fix for GA4 - line 783: # TODO: introduce an environment variable to control CORS_ALLOWED_ORIGINS frontend/src/components/layout/navigation/UserMenu.tsx (2 lines): - line 302: // TODO: Fix the typing (likely: report to react-aria that the type does not include an isDisabled prop) - line 317: // TODO: Figure out correct type: frontend/src/pages/accounts/profile.page.tsx (2 lines): - line 111: // TODO: Show a loading spinner? - line 190: // TODO: Refactor CustomAddressGenerationModal to remove the setAliasGeneratedState callback, and instead use a try catch block. privaterelay/signals.py (1 line): - line 71: # TODO create a utility function or property for hashed fxa uid frontend/src/components/phones/dashboard/PhoneDashboard.tsx (1 line): - line 116: //TODO: Add real data to phone stats frontend/src/hooks/api/api.ts (1 line): - line 92: // TODO: Also use the sessionId cookie in the key, frontend/src/pages/vpn-relay-welcome.module.scss (1 line): - line 4: // TODO MPP-3946: Remove this legacy versioning comment frontend/src/components/layout/topmessage/NpsSurvey.tsx (1 line): - line 31: // TODO: Show if either the user has been one for three days, frontend/src/components/dashboard/PremiumOnboarding.tsx (1 line): - line 196: // TODO: Use react-aria's useProgressBar()? emails/utils.py (1 line): - line 305: # TODO: MPP-3407, MPP-3417 - Determine how to handle these frontend/src/apiMocks/handlers.ts (1 line): - line 418: // TODO: Move to phone API hook: frontend/src/hooks/api/realPhone.ts (1 line): - line 113: // TODO: Validate number as E.164 emails/management/commands/process_emails_from_sqs.py (1 line): - line 413: # TODO: extract data from _sns_inbound_logic return frontend/src/components/dashboard/AddonData.tsx (1 line): - line 18: // TODO: Make it look for this custom element instead. frontend/src/components/dashboard/FreeOnboarding.tsx (1 line): - line 55: // TODO: Add GA events - for view events and pings frontend/src/styles/globals.scss (1 line): - line 25: TODO MPP-3959: Try changes from June 2023 and later privaterelay/fxa_utils.py (1 line): - line 70: # TODO: find out why the auto_refresh and token_updater is not working frontend/src/components/phones/onboarding/RealPhoneSetup.tsx (1 line): - line 308: {/* TODO: Make remaining_time count backwards with "X minutes, XX seconds" */} privaterelay/views.py (1 line): - line 281: # TODO: more graceful handling of profile fetch failures frontend/src/components/layout/navigation/whatsnew/WhatsNewMenu.tsx (1 line): - line 555: // TODO: Add has_bundle to profile data => subscribed={props.profile.has_bundle} frontend/src/components/phones/onboarding/RealPhoneSetup.module.scss (1 line): - line 17: // TODO: This is not working frontend/src/styles/text.scss (1 line): - line 8: TODO MPP-3946: Replace with mozilla-protocol v18.0.0 overrides privaterelay/management/commands/update_phone_remaining_stats.py (1 line): - line 33: # TODO: consider moving this as a property in Profile model privaterelay/management/commands/aggregate_generated_for.py (1 line): - line 53: # TODO: good candidate for a unit-tested function api/authentication.py (1 line): - line 99: # TODO: revisit this since the token can expire before its time frontend/src/pages/accounts/settings.page.tsx (1 line): - line 68: // TODO: Show a loading spinner? api/urls.py (1 line): - line 118: # TODO: Update Twilio webhooks to versions with trailing slashes, frontend/src/pages/phone.page.tsx (1 line): - line 80: // TODO: Show a loading spinner?