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

Devtools device description: improve how Servo is advertised in Firefox's about:debugging (fixes #27528) #32227

Merged
merged 10 commits into from
May 8, 2024

Conversation

oSoMoN
Copy link
Contributor

@oSoMoN oSoMoN commented May 5, 2024

This change does several things to improve how Servo is advertised in Firefox's about:debugging page

  • set a display name and a version number (Servo 1.0)
  • advertise a recent platform version and a build ID so that Firefox doesn't complain about version incompatibilities (the platform version will need to be bumped regularly to keep the warning at bay)
  • fix the preference actor that wasn't really querying the servo preferences
  • translate Firefox preferences names onto the corresponding Servo names, in case they don't match
  • enable service workers by default (this gets rid of the corresponding warning, but I am not sure about the practical implications of that change, this might need reverting)

There are no tests for these changes because the devtools components currently doesn't have any tests, and adding some seems like a project of its own, out of the scope of these fixes (but I might be interested in looking into adding some, if deemed relevant).

This is how the Firefox UI looks like before this patch:
screenshot-servo-devtools-before

And after this patch:
screenshot-servo-devtools-after2

@mukilan mukilan added T-linux-wpt-2013 Do a try run of the WPT (legacy layout) T-linux-wpt-2020 Do a try run of the WPT labels May 5, 2024
@github-actions github-actions bot removed T-linux-wpt-2013 Do a try run of the WPT (legacy layout) T-linux-wpt-2020 Do a try run of the WPT labels May 5, 2024
Copy link

github-actions bot commented May 5, 2024

🔨 Triggering try run (#8955174180) for Linux WPT

Copy link

github-actions bot commented May 5, 2024

Test results for linux-wpt-layout-2013 from try job (#8955174180):

Flaky unexpected result (19)
  • CRASH [expected PASS] /_webgl/conformance/glsl/bugs/long-expressions-should-not-crash.html (#19221)
  • OK /css/cssom-view/MediaQueryList-addListener-handleEvent.html (#24571)
    • FAIL [expected PASS] subtest: rethrows errors when getting handleEvent

      assert_true: Timed out waiting for error expected true got false
      

  • OK /css/cssom-view/MediaQueryList-extends-EventTarget-interop.html (#25285)
    • FAIL [expected PASS] subtest: removeEventListener (capture) doesn't remove listener added with addListener

      assert_equals: triggerMQLEvent expected 1 but got 0
      

  • TIMEOUT /fetch/api/basic/keepalive.any.html (#29536)
    • TIMEOUT [expected PASS] subtest: [keepalive] simple GET request on 'load' [no payload]; setting up

      Test timed out
      

    • NOTRUN [expected TIMEOUT] subtest: [keepalive] simple GET request on 'pagehide' [no payload]; setting up
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigate-to-unparseable-url.html (#29050)
    • PASS [expected FAIL] subtest: <a> tag navigate fails for unparseable URLs
  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • FAIL [expected PASS] subtest: Cross-origin navigation started from unload handler must be ignored

      promise_test: Unhandled rejection with value: object "SecurityError: The operation is insecure."
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.html (#29049)
    • FAIL [expected PASS] subtest: Same-origin navigation started from unload handler must be ignored

      assert_equals: expected "?pass" but got "?fail"
      

  • OK /html/browsers/history/the-history-interface/traverse_the_history_2.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • OK /html/semantics/forms/form-submission-0/text-plain.window.html (#28687)
    • PASS [expected FAIL] subtest: text/plain: \n in value (normal form)
  • OK /html/semantics/forms/form-submission-0/urlencoded2.window.html (#28687)
    • PASS [expected FAIL] subtest: application/x-www-form-urlencoded: \n in value (normal form)
  • OK /html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html (#23205)
    • PASS [expected FAIL] subtest: Check that rel=noopener with target=_self does a normal load
  • TIMEOUT [expected OK] /html/webappapis/dynamic-markup-insertion/opening-the-input-stream/remove-initial-about-blankness.window.html (#28684)
    • TIMEOUT [expected PASS] subtest: document.open() removes the initial about:blank-ness of the document

      Test timed out
      

  • OK [expected TIMEOUT] /performance-timeline/not-restored-reasons/performance-navigation-timing-same-origin-replace.tentative.window.html
    • FAIL [expected TIMEOUT] subtest: RemoteContextHelper navigation using BFCache

      promise_test: Unhandled rejection with value: object "TypeError: result is undefined"
      

  • TIMEOUT /resource-timing/test_resource_timing.html (#25720)
    • FAIL [expected PASS] subtest: PerformanceEntry has correct name, initiatorType, startTime, and duration (img)

      assert_equals: expected 27840256 but got 27840512
      

  • TIMEOUT [expected OK] /webmessaging/with-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank

      Test timed out
      

  • OK [expected TIMEOUT] /webmessaging/with-ports/018.html (#24485)
    • PASS [expected TIMEOUT] subtest: origin of the script that invoked the method, javascript:
  • TIMEOUT [expected OK] /webmessaging/without-ports/017.html (#24486)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, about:blank

      Test timed out
      

  • OK /workers/WorkerGlobalScope-close.html (#23064)
    • PASS [expected FAIL] subtest: Test sending a message after closing.
  • OK [expected ERROR] /workers/constructors/Worker/Worker-constructor.html (#22991)
Stable unexpected results that are known to be intermittent (16)
  • FAIL [expected PASS] /_mozilla/gfx-rs-gecko/descriptor-ranges.html (#23258)
  • TIMEOUT [expected OK] /custom-elements/reactions/customized-builtins/HTMLMediaElement.html (#31014)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html (#29066)
    • FAIL [expected PASS] subtest: Check execution order from nested timeout

      assert_equals: Expected nested setTimeout to run second expected true but got false
      

    • FAIL [expected PASS] subtest: Check execution order on load handler

      assert_equals: Expected onload to run first expected false but got true
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html (#28691)
    • FAIL [expected PASS] subtest: load event does not fire on window.open('about:blank')

      assert_unreached: load should not be fired Reached unreachable code
      

  • OK [expected TIMEOUT] /html/browsers/browsing-the-web/navigating-across-documents/javascript-url-referrer.window.html (#29081)
    • PASS [expected TIMEOUT] subtest: no-referrer referrer policy used to create the starting page
  • OK /html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html (#28697)
    • PASS [expected FAIL] subtest: aElement.click() before the load event must NOT replace
  • TIMEOUT [expected CRASH] /html/browsers/windows/embedded-opener-remove-frame.html (#23867)
    • TIMEOUT [expected FAIL] subtest: opener of discarded auxiliary browsing context

      Test timed out
      

  • CRASH [expected TIMEOUT] /html/dom/documents/dom-tree-accessors/Document.currentScript.html (#22423)
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html (#22647)
  • TIMEOUT [expected CRASH] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html (#22667)
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html (#24057)
  • TIMEOUT /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
    • NOTRUN [expected FAIL] subtest: Check that popups from a sandboxed iframe do not escape the sandbox
  • TIMEOUT [expected OK] /html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html (#29724)
    • TIMEOUT [expected PASS] subtest: reparent-form-during-planned-navigation-task

      Test timed out
      

  • TIMEOUT /html/webappapis/scripting/events/compile-event-handler-settings-objects.html (#24246)
    • TIMEOUT [expected FAIL] subtest: The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document

      Test timed out
      

  • TIMEOUT [expected OK] /performance-timeline/not-restored-reasons/performance-navigation-timing-iframes-without-attributes.tentative.window.html (#32213)
    • TIMEOUT [expected FAIL] subtest: RemoteContextHelper navigation using BFCache

      Test timed out
      

  • TIMEOUT [expected OK] /performance-timeline/not-restored-reasons/performance-navigation-timing-navigation-failure.tentative.window.html (#32226)
    • TIMEOUT [expected FAIL] subtest: Ensure that navigation failure blocks bfcache and gets recorded.

      Test timed out
      

Stable unexpected results (19)
  • OK /_mozilla/mozilla/interfaces.html
    • FAIL [expected PASS] subtest: Interfaces exposed on the window

      assert_true: If this is failing: DANGER, are you sure you want to expose the new interface ServiceWorkerContainer to all webpages as a property on the global? Do not make a change to this file without review from jdm or Ms2ger for that specific change! expected true got false
      

  • OK /_mozilla/mozilla/interfaces.worker.html
    • FAIL [expected PASS] subtest: interfaces

      assert_true: If this is failing: DANGER, are you sure you want to expose the new interface ServiceWorkerContainer to all webpages as a property on the global? Do not make a change to this file without review from jdm or Ms2ger for that specific change! expected true got false
      

  • CRASH [expected OK] /fetch/api/abort/serviceworker-intercepted.https.html
  • ERROR [expected OK] /fetch/metadata/generated/serviceworker.https.sub.html
    • NOTRUN [expected FAIL] subtest: sec-fetch-site - Same origin, no options - updating
    • NOTRUN [expected FAIL] subtest: sec-fetch-mode - options: type=classic - registration
    • NOTRUN [expected FAIL] subtest: sec-fetch-mode - options: type=classic - updating
    • NOTRUN [expected FAIL] subtest: sec-fetch-mode - no options - registration
    • NOTRUN [expected FAIL] subtest: sec-fetch-mode - no options - updating
    • NOTRUN [expected FAIL] subtest: sec-fetch-dest - no options - registration
    • NOTRUN [expected FAIL] subtest: sec-fetch-dest - no options - updating
    • NOTRUN [expected FAIL] subtest: sec-fetch-user - no options - registration
    • NOTRUN [expected FAIL] subtest: sec-fetch-user - no options - updating
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-background-fetch.tentative.https.window.html
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-fetch-document-treat-as-public.tentative.https.window.html
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-fetch-document.tentative.https.window.html
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-fetch.tentative.https.window.html?1-8
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-fetch.tentative.https.window.html?9-last
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-update.tentative.https.window.html
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker.tentative.https.window.html
  • CRASH [expected ERROR] /fetch/security/dangling-markup/dangling-markup-mitigation-allowed-apis.tentative.https.html
  • CRASH [expected OK] /fetch/security/dangling-markup/dangling-markup-mitigation.tentative.https.html
  • CRASH [expected ERROR] /fetch/stale-while-revalidate/fetch-sw.https.html
  • CRASH [expected OK] /html/anonymous-iframe/serviceworker-partitioning.tentative.https.window.html
  • CRASH [expected TIMEOUT] /html/anonymous-iframe/worker-cookies.tentative.https.window.html?worker=service_worker
  • OK [expected ERROR] /html/semantics/embedded-content/the-img-element/list-of-available-images-matching.https.html
    • FAIL [expected PASS] subtest: registering service worker

      navigator.serviceWorker.getRegistration is not a function
      

    • FAIL [expected PASS] subtest: unregistering service worker

      navigator.serviceWorker.getRegistration is not a function
      

  • ERROR [expected OK] /html/semantics/scripting-1/the-script-element/json-module-assertions/json-module-service-worker-test.https.html
    • PASS [expected FAIL] subtest: Javascript importing JSON Module should load within the context of a service worker
    • NOTRUN [expected FAIL] subtest: Trying to register a service worker with a top-level JSON Module should fail
    • NOTRUN [expected FAIL] subtest: JSON Module dynamic import should not load within the context of a service worker
  • CRASH [expected OK] /webmessaging/broadcastchannel/service-worker.https.html

Copy link

github-actions bot commented May 5, 2024

Test results for linux-wpt-layout-2020 from try job (#8955174180):

Flaky unexpected result (13)
  • CRASH [expected PASS] /_webgl/conformance/glsl/bugs/qualcomm-loop-with-continue-crash.html
  • OK /css/css-fonts/variations/font-weight-matching.html (#20686)
    • FAIL [expected PASS] subtest: Test @font-face matching for weight 900

      assert_approx_equals: @font-face should be mapped to CSSTest Weights 100. expected 90 +/- 2 but got 180
      

  • OK /css/cssom-view/MediaQueryListEvent.html (#25275)
    • FAIL [expected PASS] subtest: argument of addListener

      assert_true: expected true got false
      

  • OK /custom-elements/form-associated/ElementInternals-setFormValue.html (#29174)
    • PASS [expected FAIL] subtest: Single value - Non-empty name exists
    • PASS [expected FAIL] subtest: setFormValue with an empty FormData should submit nothing
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html (#28691)
    • PASS [expected FAIL] subtest: load event does not fire on window.open('about:blank')
  • TIMEOUT [expected OK] /html/interaction/focus/the-autofocus-attribute/supported-elements.html (#24145)
    • TIMEOUT [expected FAIL] subtest: Host element with delegatesFocus including no focusable descendants should be skipped

      Test timed out
      

    • NOTRUN [expected FAIL] subtest: Area element should support autofocus
  • TIMEOUT [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html (#24057)
    • TIMEOUT [expected FAIL] subtest: Check that popups from a sandboxed iframe escape the sandbox if allow-popups-to-escape-sandbox is used

      Test timed out
      

  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html (#22154)
  • OK /html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html (#26243)
    • FAIL [expected PASS] subtest: document.write in an imported module

      assert_true: onload must be called expected true got false
      

  • TIMEOUT [expected OK] /performance-timeline/not-restored-reasons/performance-navigation-timing-iframes-without-attributes.tentative.window.html (#32213)
    • TIMEOUT [expected FAIL] subtest: RemoteContextHelper navigation using BFCache

      Test timed out
      

  • TIMEOUT [expected OK] /performance-timeline/not-restored-reasons/performance-navigation-timing-navigation-failure.tentative.window.html (#32226)
    • TIMEOUT [expected FAIL] subtest: Ensure that navigation failure blocks bfcache and gets recorded.

      Test timed out
      

  • TIMEOUT [expected OK] /webmessaging/without-ports/018.html (#24485)
    • TIMEOUT [expected PASS] subtest: origin of the script that invoked the method, javascript:

      Test timed out
      

  • TIMEOUT [expected OK] /webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html (#29053)
    • TIMEOUT [expected PASS] subtest: StorageKey: test 3P about:blank window opened from a 3P iframe

      Test timed out
      

Stable unexpected results that are known to be intermittent (16)
  • FAIL [expected PASS] /_mozilla/css/dirty_viewport.html (#13731)
  • FAIL [expected PASS] /_mozilla/gfx-rs-gecko/descriptor-ranges.html (#23258)
  • OK /_mozilla/mozilla/service-workers/service-worker-registration.https.html (#31036)
    • PASS [expected FAIL] subtest: Test: Asserts ServiceWorkerContainer in Navigator
    • PASS [expected FAIL] subtest: Test: Installing Service Worker ScriptURL property
    • PASS [expected FAIL] subtest: Test: Asserts Installing Service Worker and its Registration
    • PASS [expected FAIL] subtest: Test: Service Worker Registration property scope Url when no scope
    • PASS [expected FAIL] subtest: Test: Service Worker Registration property scope when provided a scope
    • PASS [expected FAIL] subtest: Test: Throws Error when Invalid Url Path
    • PASS [expected FAIL] subtest: Test: Throws Error when Invalid Scope
  • OK /css/cssom-view/MediaQueryList-extends-EventTarget-interop.html (#25285)
    • PASS [expected FAIL] subtest: listener added with addListener and addEventListener is called once
  • TIMEOUT /fetch/metadata/generated/css-images.sub.tentative.html (#29047)
    • PASS [expected TIMEOUT] subtest: background-image sec-fetch-site - HTTPS downgrade (header not sent)
  • OK /html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html (#29066)
    • PASS [expected FAIL] subtest: Check execution order on load handler
    • PASS [expected FAIL] subtest: Check execution order from nested timeout
  • OK /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html (#28681)
    • FAIL [expected PASS] subtest: load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank'

      assert_unreached: load should not be fired Reached unreachable code
      

  • OK /html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html (#29056)
    • FAIL [expected PASS] subtest: Cross-origin navigation started from unload handler must be ignored

      promise_test: Unhandled rejection with value: object "SecurityError: The operation is insecure."
      

  • OK /html/browsers/history/the-history-interface/traverse_the_history_5.html (#21383)
    • PASS [expected FAIL] subtest: Multiple history traversals, last would be aborted
  • OK [expected CRASH] /html/browsers/windows/embedded-opener-remove-frame.html (#23867)
    • FAIL [expected TIMEOUT] subtest: opener of discarded auxiliary browsing context

      assert_object_equals: property "get" expected function "function opener() {
          [native code]
      }" got function "function opener() {
          [native code]
      }"
      

  • CRASH [expected TIMEOUT] /html/dom/documents/dom-tree-accessors/Document.currentScript.html (#22423)
  • TIMEOUT [expected OK] /html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html (#30970)
  • CRASH [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html (#22647)
  • CRASH [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html (#24066)
  • OK [expected TIMEOUT] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html (#24066)
  • OK [expected TIMEOUT] /webmessaging/without-ports/017.html (#24486)
    • PASS [expected TIMEOUT] subtest: origin of the script that invoked the method, about:blank
Stable unexpected results (19)
  • OK /_mozilla/mozilla/interfaces.html
    • FAIL [expected PASS] subtest: Interfaces exposed on the window

      assert_true: If this is failing: DANGER, are you sure you want to expose the new interface ServiceWorkerContainer to all webpages as a property on the global? Do not make a change to this file without review from jdm or Ms2ger for that specific change! expected true got false
      

  • OK /_mozilla/mozilla/interfaces.worker.html
    • FAIL [expected PASS] subtest: interfaces

      assert_true: If this is failing: DANGER, are you sure you want to expose the new interface ServiceWorkerContainer to all webpages as a property on the global? Do not make a change to this file without review from jdm or Ms2ger for that specific change! expected true got false
      

  • CRASH [expected OK] /fetch/api/abort/serviceworker-intercepted.https.html
  • ERROR [expected OK] /fetch/metadata/generated/serviceworker.https.sub.html
    • NOTRUN [expected FAIL] subtest: sec-fetch-site - Same origin, no options - updating
    • NOTRUN [expected FAIL] subtest: sec-fetch-mode - options: type=classic - registration
    • NOTRUN [expected FAIL] subtest: sec-fetch-mode - options: type=classic - updating
    • NOTRUN [expected FAIL] subtest: sec-fetch-mode - no options - registration
    • NOTRUN [expected FAIL] subtest: sec-fetch-mode - no options - updating
    • NOTRUN [expected FAIL] subtest: sec-fetch-dest - no options - registration
    • NOTRUN [expected FAIL] subtest: sec-fetch-dest - no options - updating
    • NOTRUN [expected FAIL] subtest: sec-fetch-user - no options - registration
    • NOTRUN [expected FAIL] subtest: sec-fetch-user - no options - updating
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-background-fetch.tentative.https.window.html
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-fetch-document-treat-as-public.tentative.https.window.html
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-fetch-document.tentative.https.window.html
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-fetch.tentative.https.window.html?1-8
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-fetch.tentative.https.window.html?9-last
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker-update.tentative.https.window.html
  • CRASH [expected TIMEOUT] /fetch/private-network-access/service-worker.tentative.https.window.html
  • CRASH [expected ERROR] /fetch/security/dangling-markup/dangling-markup-mitigation-allowed-apis.tentative.https.html
  • CRASH [expected OK] /fetch/security/dangling-markup/dangling-markup-mitigation.tentative.https.html
  • CRASH [expected ERROR] /fetch/stale-while-revalidate/fetch-sw.https.html
  • CRASH [expected OK] /html/anonymous-iframe/serviceworker-partitioning.tentative.https.window.html
  • CRASH [expected TIMEOUT] /html/anonymous-iframe/worker-cookies.tentative.https.window.html?worker=service_worker
  • OK [expected ERROR] /html/semantics/embedded-content/the-img-element/list-of-available-images-matching.https.html
    • FAIL [expected PASS] subtest: registering service worker

      navigator.serviceWorker.getRegistration is not a function
      

    • FAIL [expected PASS] subtest: unregistering service worker

      navigator.serviceWorker.getRegistration is not a function
      

  • ERROR [expected OK] /html/semantics/scripting-1/the-script-element/json-module-assertions/json-module-service-worker-test.https.html
    • PASS [expected FAIL] subtest: Javascript importing JSON Module should load within the context of a service worker
    • NOTRUN [expected FAIL] subtest: Trying to register a service worker with a top-level JSON Module should fail
    • NOTRUN [expected FAIL] subtest: JSON Module dynamic import should not load within the context of a service worker
  • CRASH [expected OK] /webmessaging/broadcastchannel/service-worker.https.html

Copy link

github-actions bot commented May 5, 2024

⚠️ Try run (#8955174180) failed.

components/devtools/actors/preference.rs Outdated Show resolved Hide resolved
resources/prefs.json Outdated Show resolved Hide resolved
components/devtools/actors/device.rs Outdated Show resolved Hide resolved
oSoMoN added 10 commits May 6, 2024 18:12
…r the display name and version of the server

When connecting to Servo from Firefox (about:debugging), it will display "Servo (71.0)" instead of "{$name} (${version})".
…xpects to compare versions for compatibility (_compareVersionCompatibility function)
…remove the incompatibility warning in Firefox's about:debugging
…t a confusing warning in about:debugging if the build ID is newer than that of Firefox (likely)
@oSoMoN oSoMoN force-pushed the devtools-device-description branch from 3fa4774 to b1af490 Compare May 6, 2024 16:15
@sagudev
Copy link
Member

sagudev commented May 7, 2024

If we are changing platform version, does that mean that debugging with newer ff works now? Last time I used it I needed firefox 78, to make it work.

@mukilan
Copy link
Member

mukilan commented May 8, 2024

If we are changing platform version, does that mean that debugging with newer ff works now? Last time I used it I needed firefox 78, to make it work.

I think we will need additional work to make debugging work with latest FF.

@mukilan
Copy link
Member

mukilan commented May 8, 2024

@oSoMoN Thank you for the contribution!

@mukilan mukilan added this pull request to the merge queue May 8, 2024
@sagudev
Copy link
Member

sagudev commented May 8, 2024

If we are changing platform version, does that mean that debugging with newer ff works now? Last time I used it I needed firefox 78, to make it work.

I think we will need additional work to make debugging work with latest FF.

Then maybe we shouldn't change platform version.

Merged via the queue into servo:main with commit 6a2e4a6 May 8, 2024
10 checks passed
@mukilan
Copy link
Member

mukilan commented May 8, 2024

Sorry, I'm not familiar with this part of the code base. I assumed this would be the first among multiple patches to get dev tools working i.e we need to update the platformversion to unblock subsequent fixes in Servo. Do you think we should instead back out the change to platformversion (I can raise the PR) and update it along with the fixes?

@fabricedesre
Copy link
Contributor

As commented in #29831 I had a bit more support done in fabricedesre@0c41bf4

Feel free to steal, and the major part left is to implement the watcher protocol.

@oSoMoN
Copy link
Contributor Author

oSoMoN commented May 8, 2024

Thanks for the prompt review and for merging!

Then maybe we shouldn't change platform version.

Note that the case of the platformversion property was incorrect (fixed in e2908fc), so the previous value didn't really matter, it was not being exposed at all.

@oSoMoN
Copy link
Contributor Author

oSoMoN commented May 8, 2024

As commented in #29831 I had a bit more support done in fabricedesre@0c41bf4

Feel free to steal, and the major part left is to implement the watcher protocol.

I'm interested in working on this, I'll claim the issue and will get to work. Thanks for the pointer Fabrice!

@oSoMoN oSoMoN deleted the devtools-device-description branch May 8, 2024 16:32
@sagudev
Copy link
Member

sagudev commented May 8, 2024

I was only worried that firefox 78.15.0 ESR that would stopped working if this was changed, but it still works so it's all good. We do not want to have no FF version working.

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.

Warnings from remote devtools in Firefox are confusing
5 participants