Most of this issue turns out to be already fixed, as a side effect of the jQuery 4 upgrade.
The call reported in the forum thread is gone. The stack trace in the linked thread comes from bootstrap.min.js, that is Bootstrap 3.4.1's Tooltip.init calling $.isFunction(this.options.viewport), triggered by the lightbox. Bootstrap 3.4 is now forked inside the platform (xwiki-platform-core/xwiki-platform-bootstrap) and that call now uses a plain typeof check in src/main/node/js/tooltip.js, fixed as part of XWIKI-23979.
The platform's own JavaScript is clean. I grepped every non-minified .js, .vm, .ts, .vue and .xml source for all the APIs jQuery Migrate 4.0.2 reports – isFunction, isArray, trim, type, parseJSON, now, camelCase, unique, nodeName, isWindow, isNumeric, cssProps, cssNumber, fx.interval, toggleClass(boolean), attr(name, false), event.global, Deferred.pipe – and there is no remaining hit apart from the one mentioned below. Two things worth noting while reading such a grep: setting the aria-expanded attribute to false is exempt from the attr-false warning, and the self-closed tag usages such as $('<div/>') (47 of them) do not warn either, because Migrate 4 disables that patch by default since it would reintroduce CVE-2020-11022 and CVE-2020-11023.
What still emits JQMIGRATE messages – only the two third-party WebJars that jQuery Migrate is still bundled for:
WebJar
Deprecated call
Loaded when
bootstrap-switch 3.3.4
$.isArray in js/bootstrap-switch.js (one call)
notification settings and the notification menu toggles
bootstrap-tour 0.12.0
$.isFunction (three calls)
only when a tour runs
Both are unmaintained upstream (the last bootstrap-switch release is from 2016), so there is no upgrade to pick up.
One item in our own code, now XWIKI-24621.XWiki.Notifications.Code.NotificationsWatchUIX uses Deferred.pipe(), which is one of the remaining JQMIGRATE messages. Right next to it, the same handler calls jqXHR.error(), which Migrate 4 no longer restores (Migrate 3 did), so that one is not a warning but a real TypeError since 18.3.0, and notification watch settings can silently fail to be saved. Filed separately as XWIKI-24621, with a proposed fix.
Options left for this issue
Stop needing Migrate for those two libraries. They only miss $.isArray and $.isFunction. A tiny RequireJS shim module mapped as their jquery dependency (the same map trick already used for jquery-migrate in flamingo/javascript.vm) would let us drop the jquery-migrate dependency from xwiki-platform-notifications-ui and xwiki-platform-tour-ui. jQuery Migrate would then only remain through the flavor's optional dependency, which is there for recommended extensions not yet migrated to jQuery 4.
Stop spamming the console by default, independently of the above. Setting $.migrateTrace = false removes the console.trace() emitted with each message, which is the actual noise the reporter complained about; we could also set $.migrateMute = true unless minification is disabled, so that developers keep the warnings while users get a clean console. Note that the "JQMIGRATE: Migrate is installed" banner can only be suppressed by setting migrateMute before Migrate loads, which our RequireJS mapping makes awkward – but that single line is precisely what the reporter said was acceptable.
Replace the two libraries, which is the only way to actually remove the deprecated calls rather than hide them, but a much bigger job.
This message was sent by Atlassian Jira (v9.3.0#930000-sha1:287aeb6)
If image attachments aren't displayed, see this article.