Skip to content

Warn when pressing ember-source deprecations are silenced#235

Draft
Copilot wants to merge 6 commits intomainfrom
copilot/print-silenced-deprecation-count
Draft

Warn when pressing ember-source deprecations are silenced#235
Copilot wants to merge 6 commits intomainfrom
copilot/print-silenced-deprecation-count

Conversation

Copy link

Copilot AI commented Mar 13, 2026

When a user silences a deprecation, they should be notified if it's an ember-source deprecation with an until version that's approaching — so they know it needs attention before the next major Ember release.

What changed

New isApproaching(until, currentVersion) helper — determines whether a deprecation's until is pressing relative to the current Ember VERSION:

  • Cross-major: until.major === current.major + 1 and current.minor >= 8 (e.g. until: '8.0' on Ember 7.8+)
  • Same-major: until.minor - current.minor <= 2 (e.g. until: '7.3' on Ember 7.1)

handleDeprecationWorkflow'silence' case — silently tracks pressing ember-source deprecations in a pressingSilenced Set (deduplicated by ID) without producing any immediate console output. The 'silence' handler remains silent during test execution.

setupDeprecationWorkflow — initializes the pressingSilenced Set and registers a QUnit.done() callback (when QUnit is available) that logs the total count once after all tests have completed:

Deprecation Workflow: 2 deprecation(s) silenced.

Nothing is logged at startup or during individual deprecation handling — only at the very end of the test run, and only if at least one pressing ember-source deprecation was silenced.

Key design notes

  • for and until are only available at deprecation-fire time, not in the workflow config entries — this is why the tracking must live in the handler, not at setup.
  • The pressingSilenced Set reference is captured at setup time so it is unaffected by self.deprecationWorkflow being reset between tests.
  • isApproaching is exported and accepts an optional currentVersion parameter for testability without mocking the @ember/version module.
  • Constants APPROACHING_MINOR_WINDOW = 2 and CROSS_MAJOR_MINOR_THRESHOLD = 8 make the policy explicit and easy to adjust.

📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.

Copilot AI and others added 2 commits March 13, 2026 19:06
… called

Co-authored-by: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Co-authored-by: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Copilot AI changed the title [WIP] Add printing of silenced deprecation count Print silenced deprecation count on setup Mar 13, 2026
Copilot AI requested a review from NullVoxPopuli March 13, 2026 19:07
Copilot AI and others added 2 commits March 13, 2026 19:17
Co-authored-by: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
…ching until

Co-authored-by: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Copilot AI changed the title Print silenced deprecation count on setup Warn when pressing ember-source deprecations are silenced Mar 13, 2026
assert.expect(1);

let warnMessages = [];
console.warn = function (message) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot logging anything when a deprecation happens is not what silencing is.

Since it seems this behavior is only possible when deprecations are encountered, we should log nothing until Qunit.done(() => {
log here
});

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in ce4c375. The 'silence' handler now silently adds pressing ember-source deprecations to the pressingSilenced Set without any immediate logging. A QUnit.done() callback is registered in setupDeprecationWorkflow (when QUnit is available) that logs the final count once after all tests complete.

…er-deprecation

Co-authored-by: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com>
Copy link
Author

Copilot AI commented Mar 13, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4186 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-354429099874-vAayFc --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17194266646374076756,14299113640875619296,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --no-sandbox --headless=new --disable-dev-shm-usage --disable-software-rasterizer --mute-audio --remote-debugging-port=0 --window-size=1440,900 --user-data-dir=/tmp/testem-354429099874-vAayFc --no-default-browser-check --no-first-run --ignore-certificate-errors --test-type --disable-renderer-REDACTEDing --disable-REDACTED-timer-throttling http://localhost:44001/354429099874/tests/index.html?hidepassed (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4530 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-441817298702-MBV4hl --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3035357985720884546,9993950341982325755,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4186 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-354429099874-vAayFc --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17194266646374076756,14299113640875619296,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --no-sandbox --headless=new --disable-dev-shm-usage --disable-software-rasterizer --mute-audio --remote-debugging-port=0 --window-size=1440,900 --user-data-dir=/tmp/testem-354429099874-vAayFc --no-default-browser-check --no-first-run --ignore-certificate-errors --test-type --disable-renderer-REDACTEDing --disable-REDACTED-timer-throttling http://localhost:44001/354429099874/tests/index.html?hidepassed (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4530 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-441817298702-MBV4hl --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3035357985720884546,9993950341982325755,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • clientservices.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4186 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-354429099874-vAayFc --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17194266646374076756,14299113640875619296,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --no-sandbox --headless=new --disable-dev-shm-usage --disable-software-rasterizer --mute-audio --remote-debugging-port=0 --window-size=1440,900 --user-data-dir=/tmp/testem-354429099874-vAayFc --no-default-browser-check --no-first-run --ignore-certificate-errors --test-type --disable-renderer-REDACTEDing --disable-REDACTED-timer-throttling http://localhost:44001/354429099874/tests/index.html?hidepassed (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4530 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-441817298702-MBV4hl --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3035357985720884546,9993950341982325755,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • content-autofill.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4186 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-354429099874-vAayFc --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17194266646374076756,14299113640875619296,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --no-sandbox --headless=new --disable-dev-shm-usage --disable-software-rasterizer --mute-audio --remote-debugging-port=0 --window-size=1440,900 --user-data-dir=/tmp/testem-354429099874-vAayFc --no-default-browser-check --no-first-run --ignore-certificate-errors --test-type --disable-renderer-REDACTEDing --disable-REDACTED-timer-throttling http://localhost:44001/354429099874/tests/index.html?hidepassed (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4530 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-441817298702-MBV4hl --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3035357985720884546,9993950341982325755,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4186 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-354429099874-vAayFc --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17194266646374076756,14299113640875619296,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --no-sandbox --headless=new --disable-dev-shm-usage --disable-software-rasterizer --mute-audio --remote-debugging-port=0 --window-size=1440,900 --user-data-dir=/tmp/testem-354429099874-vAayFc --no-default-browser-check --no-first-run --ignore-certificate-errors --test-type --disable-renderer-REDACTEDing --disable-REDACTED-timer-throttling http://localhost:44001/354429099874/tests/index.html?hidepassed (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4530 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-441817298702-MBV4hl --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3035357985720884546,9993950341982325755,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • safebrowsingohttpgateway.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4186 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-354429099874-vAayFc --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17194266646374076756,14299113640875619296,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --no-sandbox --headless=new --disable-dev-shm-usage --disable-software-rasterizer --mute-audio --remote-debugging-port=0 --window-size=1440,900 --user-data-dir=/tmp/testem-354429099874-vAayFc --no-default-browser-check --no-first-run --ignore-certificate-errors --test-type --disable-renderer-REDACTEDing --disable-REDACTED-timer-throttling http://localhost:44001/354429099874/tests/index.html?hidepassed (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4530 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-441817298702-MBV4hl --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3035357985720884546,9993950341982325755,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4186 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-354429099874-vAayFc --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,17194266646374076756,14299113640875619296,262144 --disable-features=PaintHolding --variations-seed-version (dns block)
    • Triggering command: /opt/google/chrome/chrome /usr/bin/google-chrome --no-sandbox --headless=new --disable-dev-shm-usage --disable-software-rasterizer --mute-audio --remote-debugging-port=0 --window-size=1440,900 --user-data-dir=/tmp/testem-354429099874-vAayFc --no-default-browser-check --no-first-run --ignore-certificate-errors --test-type --disable-renderer-REDACTEDing --disable-REDACTED-timer-throttling http://localhost:44001/354429099874/tests/index.html?hidepassed (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --ignore-certificate-errors --use-angle=swiftshader-webgl --mute-audio --ignore-certificate-errors --crashpad-handler-pid=4530 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/testem-441817298702-MBV4hl --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,3035357985720884546,9993950341982325755,262144 --disable-features=PaintHolding --variations-seed-version (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants