Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds 58 new SLDs based on popularity of mapping #98907

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

StevenPartridge
Copy link
Contributor

To ensure proper instructions are provided for users connecting unsupported domains with two level tlds, such as .edu.my or .av.tr

Related to # https://github.com/Automattic/nomado-issues/issues/947
Related Slack Discussion: p1736980903062009-slack-C0BNMNMNG

Proposed Changes

  • Adds 58 new SLDs to the Front-End multi-level-domain json file
  • Sorts them alphabetically

I came up with this list using the following process:

  • Created a Superset query to determine the most mapped multi-level domains that we don't also support (count of distinct multi-level tlds in the domain_mapping table not found in the domains table, sorted)
  • Filtered down to just SLDs (couldn't think of a way to use sql for this)

Starter query:

WITH extracted_domains AS (
    SELECT
    domain,
    regexp_extract(domain, '([^.]+\.[^.]+)$') AS tld_candidate
FROM domain_mapping
WHERE length(domain) - length(replace(domain, '.', '')) >= 2 -- Pre-filter: At least two dots
  AND domain NOT LIKE '%.blog' -- Exclude .blog domains
    ),
    excluded_tlds AS (
SELECT DISTINCT
    regexp_extract(name, '([^.]+\.[^.]+)$') AS tld
FROM domains
WHERE name LIKE '%.%' -- Ensure valid TLD structure
    ),
    filtered_domains AS (
SELECT
    tld_candidate
FROM extracted_domains
WHERE tld_candidate NOT IN (SELECT tld FROM excluded_tlds) -- Exclude matching TLDs
    )
SELECT
    tld_candidate,
    COUNT(*) AS count
FROM filtered_domains
GROUP BY tld_candidate
ORDER BY count DESC
    LIMIT 200;

Filtered down to remove things like wpcomstaging.com and mlblogs.com, validating the remainder against https://publicsuffix.org/list/

Why are these changes being made?

  • Some checks for isSubdomain() use this list to determine if something is a subdomain or multi level TLD
  • To reduce customer confusion and support requests

Testing Instructions

  • Code inspection

Pre-merge Checklist

  • Has the general commit checklist been followed? (PCYsg-hS-p2)
  • Have you written new tests for your changes?
  • Have you tested the feature in Simple (P9HQHe-k8-p2), Atomic (P9HQHe-jW-p2), and self-hosted Jetpack sites (PCYsg-g6b-p2)?
  • Have you checked for TypeScript, React or other console errors?
  • Have you used memoizing on expensive computations? More info in Memoizing with create-selector and Using memoizing selectors and Our Approach to Data
  • Have we added the "[Status] String Freeze" label as soon as any new strings were ready for translation (p4TIVU-5Jq-p2)?
    • For UI changes, have we tested the change in various languages (for example, ES, PT, FR, or DE)? The length of text and words vary significantly between languages.
  • For changes affecting Jetpack: Have we added the "[Status] Needs Privacy Updates" label if this pull request changes what data or activity we track or use (p4TIVU-aUh-p2)?

To ensure proper instructions are provided for users connecting unsupported domains with two level tlds, such as .edu.my or .av.tr
@StevenPartridge StevenPartridge requested a review from a team January 24, 2025 19:32
@StevenPartridge StevenPartridge self-assigned this Jan 24, 2025
@matticbot matticbot added [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. labels Jan 24, 2025
@StevenPartridge StevenPartridge marked this pull request as ready for review January 24, 2025 19:33
@matticbot
Copy link
Contributor

Here is how your PR affects size of JS and CSS bundles shipped to the user's browser:

Sections (~2818 bytes added 📈 [gzipped])

name                               parsed_size           gzip_size
update-design-flow                      +609 B  (+0.0%)     +219 B  (+0.0%)
themes                                  +609 B  (+0.1%)     +187 B  (+0.1%)
theme                                   +609 B  (+0.1%)     +187 B  (+0.1%)
site-purchases                          +609 B  (+0.0%)     +186 B  (+0.0%)
site-overview                           +609 B  (+0.0%)     +218 B  (+0.0%)
site-blocks                             +609 B  (+0.1%)     +185 B  (+0.1%)
signup                                  +609 B  (+0.2%)     +185 B  (+0.3%)
settings                                +609 B  (+0.1%)     +230 B  (+0.1%)
security                                +609 B  (+0.1%)     +199 B  (+0.1%)
purchases                               +609 B  (+0.0%)     +186 B  (+0.0%)
privacy                                 +609 B  (+0.1%)     +185 B  (+0.1%)
plugins                                 +609 B  (+0.0%)     +194 B  (+0.0%)
plans                                   +609 B  (+0.0%)     +198 B  (+0.0%)
notification-settings                   +609 B  (+0.1%)     +195 B  (+0.1%)
me                                      +609 B  (+0.1%)     +185 B  (+0.1%)
marketplace                             +609 B  (+0.1%)     +187 B  (+0.1%)
link-in-bio-tld-flow                    +609 B  (+0.0%)     +203 B  (+0.0%)
jetpack-connect                         +609 B  (+0.1%)     +185 B  (+0.1%)
jetpack-cloud-settings                  +609 B  (+0.1%)     +185 B  (+0.1%)
jetpack-cloud-pricing                   +609 B  (+0.1%)     +185 B  (+0.1%)
jetpack-cloud-features-comparison       +609 B  (+0.1%)     +185 B  (+0.1%)
jetpack-app                             +609 B  (+0.1%)     +185 B  (+0.1%)
hundred-year-domain                     +609 B  (+0.3%)     +185 B  (+0.3%)
hosting                                 +609 B  (+0.0%)     +186 B  (+0.0%)
home                                    +609 B  (+0.0%)     +195 B  (+0.0%)
help                                    +609 B  (+0.1%)     +185 B  (+0.1%)
email                                   +609 B  (+0.1%)     +185 B  (+0.1%)
domains                                 +609 B  (+0.0%)     +186 B  (+0.0%)
developer                               +609 B  (+0.1%)     +185 B  (+0.1%)
copy-site-flow                          +609 B  (+0.1%)     +201 B  (+0.1%)
connect-domain                          +609 B  (+0.3%)     +185 B  (+0.4%)
checkout                                +609 B  (+0.0%)     +186 B  (+0.0%)
account-close                           +609 B  (+0.1%)     +185 B  (+0.1%)
account                                 +609 B  (+0.1%)     +208 B  (+0.1%)

Sections contain code specific for a given set of routes. Is downloaded and parsed only when a particular route is navigated to.

Async-loaded Components (~758 bytes added 📈 [gzipped])

name                                                                              parsed_size           gzip_size
async-load-purchase-modal-wrapper                                                      +609 B  (+0.2%)     +185 B  (+0.1%)
async-load-my-sites-checkout-purchase-modal-is-eligible-for-one-click-checkou...       +609 B  (+0.2%)     +185 B  (+0.2%)
async-load-design-blocks                                                               +609 B  (+0.0%)     +195 B  (+0.0%)
async-load-calypso-my-sites-current-site-stale-cart-items-notice                       +609 B  (+2.5%)     +185 B  (+2.8%)
async-load-calypso-my-sites-current-site-domain-warnings                               +609 B  (+2.0%)     +188 B  (+2.5%)
async-load-calypso-my-sites-checkout-modal                                             +609 B  (+0.0%)     +190 B  (+0.0%)
async-load-calypso-blocks-editor-checkout-modal                                        +609 B  (+0.1%)     +185 B  (+0.1%)

React components that are loaded lazily, when a certain part of UI is displayed for the first time.

Legend

What is parsed and gzip size?

Parsed Size: Uncompressed size of the JS and CSS files. This much code needs to be parsed and stored in memory.
Gzip Size: Compressed size of the JS and CSS files. This much data needs to be downloaded over network.

Generated by performance advisor bot at iscalypsofastyet.com.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants