Maybe a bug. Electron.Screen.GetPrimaryDisplayAsync(); #1014

Closed
opened 2026-01-29 16:54:56 +00:00 by claunia · 43 comments
Owner

Originally created by @markatosi on GitHub (Nov 20, 2025).

  • Version: 0.2
  • Target: .net 10.0, electron 38.2.2 node v22.12.0

Steps to Reproduce:

  1. Try to use await Electron.Screen.GetPrimaryDisplayAsync();
  2. Error:System.TimeoutException: No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync()

The Screen id is set to -1 so that's probably not correct.

Originally created by @markatosi on GitHub (Nov 20, 2025). <!-- Please search existing issues to avoid creating duplicates. --> <!-- Which version of Electron.NET CLI and API are you using? --> <!-- Please always try to use latest version before report. --> * **Version**: 0.2 <!-- Which version of .NET Core and Node.js are you using (if applicable)? --> <!-- What target are you building for? --> * **Target**: .net 10.0, electron 38.2.2 node v22.12.0 <!-- Enter your issue details below this comment. --> <!-- If you want, you can donate to increase issue priority (https://donorbox.org/electron-net) --> Steps to Reproduce: 1. Try to use await Electron.Screen.GetPrimaryDisplayAsync(); 2. Error:System.TimeoutException: No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync() The Screen id is set to -1 so that's probably not correct.
claunia added the bug label 2026-01-29 16:54:56 +00:00
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

I'm not sure how you got to those results.

The GetPrimaryDisplayAsync() method is tested by the Primary_display_has_positive_dimensions test which is succeeding on all platforms (e.g. https://github.com/ElectronNET/Electron.NET/actions/runs/19494438431)

@softworkz commented on GitHub (Nov 20, 2025): I'm not sure how you got to those results. The `GetPrimaryDisplayAsync()` method is tested by the `Primary_display_has_positive_dimensions` test which is succeeding on all platforms (e.g. https://github.com/ElectronNET/Electron.NET/actions/runs/19494438431)
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

I have no idea either :-) All I did was migrate from electron-sharp to ElectronNet Core.
I did test on MacOS 26.1 and 15.4.

I also tested the bare bones demo app. Doesn't work on that one either.

Is there anything you can recommend that I do to prove that it's not working for me?

@markatosi commented on GitHub (Nov 20, 2025): I have no idea either :-) All I did was migrate from electron-sharp to ElectronNet Core. I did test on MacOS 26.1 and 15.4. I also tested the bare bones demo app. Doesn't work on that one either. Is there anything you can recommend that I do to prove that it's not working for me?
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Is it like that's the one thing not working and everything else is fine, or is this the first thing your app does and you didn't look any further?

Is there anything you can recommend that I do to prove that it's not working for me?

A minimal app which exposes that problem would be helpful to look at what you are doing. (unless your code is open anyway.. :-)

@softworkz commented on GitHub (Nov 20, 2025): Is it like that's the one thing not working and everything else is fine, or is this the first thing your app does and you didn't look any further? > Is there anything you can recommend that I do to prove that it's not working for me? A minimal app which exposes that problem would be helpful to look at what you are doing. (unless your code is open anyway.. :-)
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

That was the only thing that I noticed wasn't working. Everything else has been fine. Code isn't open but the minimal app i can post

@markatosi commented on GitHub (Nov 20, 2025): That was the only thing that I noticed wasn't working. Everything else has been fine. Code isn't open but the minimal app i can post
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Is there anything you can recommend that I do to prove that it's not working for me?

You could check out the develop branch and run dotnet test on that machine, so that we have a baseline (known to be working) for comparison.

@softworkz commented on GitHub (Nov 20, 2025): > Is there anything you can recommend that I do to prove that it's not working for me? You could check out the develop branch and run dotnet test on that machine, so that we have a baseline (known to be working) for comparison.
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

That includes the test for the screen.API.

@softworkz commented on GitHub (Nov 20, 2025): That includes the test for the screen.API.
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Full error from the minimal app.

warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
      Unhandled exception rendering component: No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync()
      System.TimeoutException: No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync()
         at BlazorApp1.Components.Pages.Counter.IncrementCount() in /Volumes/Repos_APFS/source/electron/BlazorApp1/Components/Pages/Counter.razor:line 18
         at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
      Unhandled exception in circuit 'MNA7dNRZPzivVU5nG-BitNuuwFbp8AR4b3LgQ9kMH0I'.
      System.TimeoutException: No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync()
         at BlazorApp1.Components.Pages.Counter.IncrementCount() in /Volumes/Repos_APFS/source/electron/BlazorApp1/Components/Pages/Counter.razor:line 18
         at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

@markatosi commented on GitHub (Nov 20, 2025): Full error from the minimal app. ``` warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100] Unhandled exception rendering component: No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync() System.TimeoutException: No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync() at BlazorApp1.Components.Pages.Counter.IncrementCount() in /Volumes/Repos_APFS/source/electron/BlazorApp1/Components/Pages/Counter.razor:line 18 at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task) at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState) fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111] Unhandled exception in circuit 'MNA7dNRZPzivVU5nG-BitNuuwFbp8AR4b3LgQ9kMH0I'. System.TimeoutException: No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync() at BlazorApp1.Components.Pages.Counter.IncrementCount() in /Volumes/Repos_APFS/source/electron/BlazorApp1/Components/Pages/Counter.razor:line 18 at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task) at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState) ```
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

This is not the default app startup. How do you do this?

Did you look at the example AspNet app?

Most likely you're just doing this too early?

@softworkz commented on GitHub (Nov 20, 2025): This is not the default app startup. How do you do this? Did you look at the example AspNet app? Most likely you're just doing this too early?
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

https://github.com/markatosi?tab=repositories BlazorApp1

The call to the method is via the counter button on the counter.razor

@markatosi commented on GitHub (Nov 20, 2025): https://github.com/markatosi?tab=repositories BlazorApp1 The call to the method is via the counter button on the counter.razor
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

I've cloned it. But I need to get some sleep. Will look at it tomorrow.

@softworkz commented on GitHub (Nov 20, 2025): I've cloned it. But I need to get some sleep. Will look at it tomorrow.
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Did you look at the example AspNet app?

Most likely you're just doing this too early?

I just followed the Blazor setup that is on the home page for this project with the exception of the WASM stuff since this is a blazor server app.

@markatosi commented on GitHub (Nov 20, 2025): > Did you look at the example AspNet app? > > Most likely you're just doing this too early? I just followed the Blazor setup that is on the home page for this project with the exception of the WASM stuff since this is a blazor server app.
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Test Results osx-arm64 Main branch

Image

All tests from Solution.txt

@markatosi commented on GitHub (Nov 20, 2025): Test Results osx-arm64 Main branch <img width="1134" height="664" alt="Image" src="https://github.com/user-attachments/assets/f2f2f74d-eb0c-4e4c-93e6-0cffa3a1a2b3" /> [All tests from Solution.txt](https://github.com/user-attachments/files/23642497/All.tests.from.Solution.txt)
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Test Results osx-arm64 develop branch

Image

All tests from Solution Dev.txt

@markatosi commented on GitHub (Nov 20, 2025): Test Results osx-arm64 develop branch <img width="1138" height="673" alt="Image" src="https://github.com/user-attachments/assets/e8857dd2-f23c-42da-9412-c85461310df8" /> [All tests from Solution Dev.txt](https://github.com/user-attachments/files/23642920/All.tests.from.Solution.Dev.txt)
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

I ran your sample on Windows and there it works fine:

Image

Note that you need to remove the package.json file from the project!

Also see here: https://github.com/ElectronNET/Electron.NET/issues/946

@softworkz commented on GitHub (Nov 20, 2025): I ran your sample on Windows and there it works fine: <img width="918" height="360" alt="Image" src="https://github.com/user-attachments/assets/8e2f0e52-7473-446b-8fca-6ab8dc74d8a0" /> Note that you need to remove the package.json file from the project! Also see here: https://github.com/ElectronNET/Electron.NET/issues/946
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

So, what's hapenning? I have no conclusion so far.

You say the screen API was working before on your machine with plain electron? Or with the fork? Did you check the result there? Or was it just that there was no error? Because that's what we are doing. The fork might do otherwise: It might not throw but does it realy give you a result?

@softworkz commented on GitHub (Nov 20, 2025): So, what's hapenning? I have no conclusion so far. You say the screen API was working before on your machine with plain electron? Or with the fork? Did you check the result there? Or was it just that there was no error? Because that's what we are doing. The fork might do otherwise: It might not throw but does it realy give you a result?
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Of course it gives a result :-) This is one of the ways I have been using it for almost 2 years
and currently works with electron-sharp a fork of electron net.

// Prevent the resized window from being larger than the desktop screen size or off the screen
            var display = await Electron.Screen.GetPrimaryDisplayAsync();
            var screenSize = display.Size;
            var rectangle = await _browserWindow.GetBoundsAsync();
            if (rectangle.Width > screenSize.Width || rectangle.Height > screenSize.Height || rectangle.X < 0 ||
                rectangle.Y < 0)
            {
                var windowWidth = Math.Min(rectangle.Width, screenSize.Width);
                var windowHeight = Math.Min(rectangle.Height, screenSize.Height);
                if (Global.Settings.DebugEnabled)
                    _browserWindow.SetTitle($"SOGIC 2026- Debug Mode - ({windowWidth}x{windowHeight})");
                _browserWindow.SetBounds(new Rectangle
                {
                    Width = windowWidth,
                    Height = windowHeight,
                    X = 0,
                    Y = 0
                });
            }
@markatosi commented on GitHub (Nov 20, 2025): Of course it gives a result :-) This is one of the ways I have been using it for almost 2 years and currently works with electron-sharp a fork of electron net. ``` // Prevent the resized window from being larger than the desktop screen size or off the screen var display = await Electron.Screen.GetPrimaryDisplayAsync(); var screenSize = display.Size; var rectangle = await _browserWindow.GetBoundsAsync(); if (rectangle.Width > screenSize.Width || rectangle.Height > screenSize.Height || rectangle.X < 0 || rectangle.Y < 0) { var windowWidth = Math.Min(rectangle.Width, screenSize.Width); var windowHeight = Math.Min(rectangle.Height, screenSize.Height); if (Global.Settings.DebugEnabled) _browserWindow.SetTitle($"SOGIC 2026- Debug Mode - ({windowWidth}x{windowHeight})"); _browserWindow.SetBounds(new Rectangle { Width = windowWidth, Height = windowHeight, X = 0, Y = 0 }); } ```
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

I've pushed a change to this PR https://github.com/ElectronNET/Electron.NET/pull/945 to see how the tests work out on macOS 26...

@softworkz commented on GitHub (Nov 20, 2025): I've pushed a change to this PR https://github.com/ElectronNET/Electron.NET/pull/945 to see how the tests work out on macOS 26...
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Does it make a change when you remove the --no-sandbox arg? Did you have the same before?

Image
@softworkz commented on GitHub (Nov 20, 2025): Does it make a change when you remove the `--no-sandbox arg`? Did you have the same before? <img width="494" height="112" alt="Image" src="https://github.com/user-attachments/assets/ba52505f-1939-4c12-a6d9-991736c1a659" />
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Removing that didn't change anything. I also removed that from the electronNet Test unit config and the tests still fail.

@markatosi commented on GitHub (Nov 20, 2025): Removing that didn't change anything. I also removed that from the electronNet Test unit config and the tests still fail.
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

I hid your comment in the migration issue as off-topic. Rather respond here:

So, if we have to remove the package.json file which is a standard when using npm to install and maintain dependencies easily with mode modules above and beyond what ElectronNet requires this seems like it makes things harder. I read someplace on the wiki that ElectronNet uses it's own default/hidden package.json... why don't you just expose that file. If people mess it up so what? At least it doesn't change how people are used to managing npm dependencies.

This is Electron**.NET**, which means that everything is done the .NET way and there's just a single place to configure things, which is in the .csproj file. Using Visual Studio, you configure everything int he app designer:

see here: https://github.com/ElectronNET/Electron.NET/wiki/Configuration

(otherwise in the .csproj directly)

"All properties from an existing package.json file must be specified as MSBuild properties in the project now.

I guess i should reserve judgement until i see the docs for how this works in practice.

Docs are almost complete already. Did you take a look at the Wiki?

@softworkz commented on GitHub (Nov 20, 2025): I hid your comment in the migration issue as off-topic. Rather respond here: >So, if we have to remove the package.json file which is a standard when using npm to install and maintain dependencies easily with mode modules above and beyond what ElectronNet requires this seems like it makes things harder. I read someplace on the wiki that ElectronNet uses it's own default/hidden package.json... why don't you just expose that file. If people mess it up so what? At least it doesn't change how people are used to managing npm dependencies. This is Electron**.NET**, which means that everything is done the .NET way and there's just a single place to configure things, which is in the .csproj file. Using Visual Studio, you configure everything int he app designer: see here: https://github.com/ElectronNET/Electron.NET/wiki/Configuration (otherwise in the .csproj directly) > > "All properties from an existing package.json file must be specified as MSBuild properties in the project now. > I guess i should reserve judgement until i see the docs for how this works in practice. Docs are almost complete already. Did you take a look at [the Wiki](https://github.com/ElectronNET/Electron.NET/wiki)?
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

The tests have succeeded on a macOS 26 runner as well: https://github.com/ElectronNET/Electron.NET/actions/runs/19549035700?pr=945

I don't know much about macOS, so the only idea I have for getting behind this is to try find out what's the difference between execution on those runners and your own system...

@softworkz commented on GitHub (Nov 20, 2025): The tests have succeeded on a macOS 26 runner as well: https://github.com/ElectronNET/Electron.NET/actions/runs/19549035700?pr=945 I don't know much about macOS, so the only idea I have for getting behind this is to try find out what's the difference between execution on those runners and your own system...
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

I did read that particular documentation but I didn't see how I'm supposed to include arbitrary npm packages that need to be installed. That's what i was talking about when I mentioned reserving judgement. So, when I see some guidance regarding how I'm supposed to add random npm packages via the csproj file I'll be able to better understand how it's supposed to work.

@markatosi commented on GitHub (Nov 20, 2025): I did read that particular documentation but I didn't see how I'm supposed to include arbitrary npm packages that need to be installed. That's what i was talking about when I mentioned reserving judgement. So, when I see some guidance regarding how I'm supposed to add random npm packages via the csproj file I'll be able to better understand how it's supposed to work.
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

I did read that particular documentation but I didn't see how I'm supposed to include arbitrary npm packages that need to be installed.

That hasn't changed. Anything custom you do on the npm side needs to be done by using the ElectronHostHook. The main package.json is none of your business because it's only about what Electron.NET needs for its own operation.
But when you have an ElectronHostHook folder with a package.json, that becomes a dependency of the main package.json and in turn, its dependencies will get installed as well.

@softworkz commented on GitHub (Nov 20, 2025): > I did read that particular documentation but I didn't see how I'm supposed to include arbitrary npm packages that need to be installed. That hasn't changed. Anything custom you do on the npm side needs to be done by using the ElectronHostHook. The main package.json is none of your business because it's only about what Electron.NET needs for its own operation. But when you have an ElectronHostHook folder with a package.json, that becomes a dependency of the main package.json and in turn, its dependencies will get installed as well.
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

But thinking about it: using npm for web/client related packages must still be possible. I forgot about that. In your case it's been about electron, but regarding the former case, a package.json might still need to be allowed, so that part needs consideration.

@softworkz commented on GitHub (Nov 20, 2025): But thinking about it: using npm for web/client related packages must still be possible. I forgot about that. In your case it's been about electron, but regarding the former case, a package.json might still need to be allowed, so that part needs consideration.
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

I just created a new blazor app and used the old electron net 23.6.2 and got the following results

stdout: Called Event screen-getPrimaryDisplayCompleted - data {
  "id": 5,
  "label": "LG ULTRAWIDE",
  "bounds": {
    "x": 0,
    "y": 0,
    "width": 3440,
    "height": 1440
  },
  "workArea": {
    "x": 0,
    "y": 31,
    "width": 3440,
    "height": 1321
  },
  "accelerometerSupport": "unknown",
  "monochrome": false,
  "colorDepth": 24,
  "colorSpace": "{primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}",
  "depthPerComponent": 8,
  "size": {
    "width": 3440,
    "height": 1440
  },
  "displayFrequency": 59,
  "workAreaSize": {
    "width": 3440,
    "height": 1321
  },
  "scaleFactor": 1,
  "rotation": 0,
  "internal": false,
  "touchSupport": "unknown"
}
Image
@markatosi commented on GitHub (Nov 20, 2025): I just created a new blazor app and used the old electron net 23.6.2 and got the following results ``` stdout: Called Event screen-getPrimaryDisplayCompleted - data { "id": 5, "label": "LG ULTRAWIDE", "bounds": { "x": 0, "y": 0, "width": 3440, "height": 1440 }, "workArea": { "x": 0, "y": 31, "width": 3440, "height": 1321 }, "accelerometerSupport": "unknown", "monochrome": false, "colorDepth": 24, "colorSpace": "{primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}", "depthPerComponent": 8, "size": { "width": 3440, "height": 1440 }, "displayFrequency": 59, "workAreaSize": { "width": 3440, "height": 1321 }, "scaleFactor": 1, "rotation": 0, "internal": false, "touchSupport": "unknown" } ``` <img width="736" height="463" alt="Image" src="https://github.com/user-attachments/assets/d49dc062-9653-4a89-83c9-11a1709305c2" />
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Hmmn...

Can you try with earlier pre-release packages. Like

0.1.0-pre.139 and 0.1.0-pre.163

These were before some changes were made to the screen APIs.

@softworkz commented on GitHub (Nov 20, 2025): Hmmn... Can you try with earlier pre-release packages. Like 0.1.0-pre.139 and 0.1.0-pre.163 These were before some changes were made to the screen APIs.
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Hmmn...

Can you try with earlier pre-release packages. Like

0.1.0-pre.139 and 0.1.0-pre.163

These were before some changes were made to the screen APIs.

Probably a dumb question but how do i get the electron part started with the older release? I'm not getting a electron window only the blazor app is being started.

@markatosi commented on GitHub (Nov 20, 2025): > Hmmn... > > Can you try with earlier pre-release packages. Like > > 0.1.0-pre.139 and 0.1.0-pre.163 > > These were before some changes were made to the screen APIs. Probably a dumb question but how do i get the electron part started with the older release? I'm not getting a electron window only the blazor app is being started.
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Ah sorry, these ones probably don't work with Blazor.

Let's try something else. The main problem here is that any exceptions in the host-side code are simply swallowed and we never get to see them. I have pushed a new branch here which should finally reveal what's happening:

https://github.com/softworkz/ElectronNET/tree/test_screen_api

Please run the integration tests suite from this branch and post the output around the failing getPrimaryDisplay call.

Everything that comes from the nodejs side is prefixed with ||

@softworkz commented on GitHub (Nov 20, 2025): Ah sorry, these ones probably don't work with Blazor. Let's try something else. The main problem here is that any exceptions in the host-side code are simply swallowed and we never get to see them. I have pushed a new branch here which should finally reveal what's happening: https://github.com/softworkz/ElectronNET/tree/test_screen_api Please run the integration tests suite from this branch and post the output around the failing getPrimaryDisplay call. Everything that comes from the nodejs side is prefixed with ||
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Unfortunately I'm not seeing any nodejs output with this test suite. the results are the same as before just c# errors

@markatosi commented on GitHub (Nov 20, 2025): Unfortunately I'm not seeing any nodejs output with this test suite. the results are the same as before just c# errors
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Do you see any lines prefixed with || ?

If not, please

export ELECTRON_ENABLE_LOGGING=1
dotnet test ...
@softworkz commented on GitHub (Nov 20, 2025): Do you see any lines prefixed with || ? If not, please ```bash export ELECTRON_ENABLE_LOGGING=1 dotnet test ... ```
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

When i run the screen tests in the test debugger i'm getting an error with serialization

public void Once<T>(string eventName, Action<T> action)

System.Text.Json.JsonException: The JSON value could not be converted to System.Int32. Path: $[0].displayFrequency | LineNumber: 0 | BytePositionInLine: 247.
 ---> System.FormatException: Either the JSON value is not in a supported format, or is out of bounds for an Int32.
   at System.Text.Json.ThrowHelper.ThrowFormatException(NumericType numericType)
   at System.Text.Json.Utf8JsonReader.GetInt32()
   at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
   at System.Text.Json.Serialization.JsonCollectionConverter`2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, T& value, JsonSerializerOptions options, ReadStack& state)
   --- End of inner exception stack trace ---
   at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, T& value, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.Serialization.Metadata.JsonTypeInfo`1.Deserialize(Utf8JsonReader& reader, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo`1 jsonTypeInfo, Nullable`1 actualByteCount)
   at System.Text.Json.JsonSerializer.ReadFromNode[TValue](JsonNode node, JsonTypeInfo`1 jsonTypeInfo)
   at SocketIO.Serializer.SystemTextJson.SystemTextJsonSerializer.Deserialize[T](IMessage message, Int32 index)
   at SocketIOClient.SocketIOResponse.GetValue[T](Int32 index)
   at ElectronNET.API.SocketIoFacade.<>c__DisplayClass13_1`1.<Once>b__1() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.API/Bridge/SocketIOFacade.cs:line 86
   at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
@markatosi commented on GitHub (Nov 20, 2025): When i run the screen tests in the test debugger i'm getting an error with serialization ``` public void Once<T>(string eventName, Action<T> action) System.Text.Json.JsonException: The JSON value could not be converted to System.Int32. Path: $[0].displayFrequency | LineNumber: 0 | BytePositionInLine: 247. ---> System.FormatException: Either the JSON value is not in a supported format, or is out of bounds for an Int32. at System.Text.Json.ThrowHelper.ThrowFormatException(NumericType numericType) at System.Text.Json.Utf8JsonReader.GetInt32() at System.Text.Json.Serialization.Metadata.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.JsonCollectionConverter`2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value) at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, T& value, JsonSerializerOptions options, ReadStack& state) --- End of inner exception stack trace --- at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex) at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, T& value, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.Serialization.Metadata.JsonTypeInfo`1.Deserialize(Utf8JsonReader& reader, ReadStack& state) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 utf8Json, JsonTypeInfo`1 jsonTypeInfo, Nullable`1 actualByteCount) at System.Text.Json.JsonSerializer.ReadFromNode[TValue](JsonNode node, JsonTypeInfo`1 jsonTypeInfo) at SocketIO.Serializer.SystemTextJson.SystemTextJsonSerializer.Deserialize[T](IMessage message, Int32 index) at SocketIOClient.SocketIOResponse.GetValue[T](Int32 index) at ElectronNET.API.SocketIoFacade.<>c__DisplayClass13_1`1.<Once>b__1() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.API/Bridge/SocketIOFacade.cs:line 86 at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) ```
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Ha! That looks like we found the culprit!

@softworkz commented on GitHub (Nov 20, 2025): Ha! That looks like we found the culprit!
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Here's the output after enabling the logger

 dotnet test
Restore complete (0.6s)
  ElectronNET.API net10.0 succeeded (1.5s) → /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.API/bin/Debug/net10.0/ElectronNET.API.dll
  ElectronNET net10.0 succeeded (0.2s) → /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET/bin/Debug/net10.0/ElectronNET.dll
  ElectronNET.IntegrationTests net10.0 osx-arm64 succeeded (0.3s) → bin/Debug/net10.0/osx-arm64/ElectronNET.IntegrationTests.dll
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v3.1.5+1b188a7b0a (64-bit .NET 10.0.0)
[xUnit.net 00:00:00.04]   Discovering: ElectronNET.IntegrationTests (app domain = off, method display = Method, method display options = None)
[xUnit.net 00:00:00.06]   Discovered:  ElectronNET.IntegrationTests (93 test cases to be run)
[xUnit.net 00:00:00.08]   Starting:    ElectronNET.IntegrationTests (parallel test collections = off, stop on fail = off, explicit = off)
[xUnit.net 00:00:00.09]     Resize_and_crop_produce_expected_sizes [SKIP]
[xUnit.net 00:00:00.09]       Only supported on Windows
[xUnit.net 00:00:00.10]     Create_from_buffer_and_to_data_url [SKIP]
[xUnit.net 00:00:00.10]       Only supported on Windows
[xUnit.net 00:00:00.10]     Add_representation_for_scale_factor [SKIP]
[xUnit.net 00:00:00.10]       Only supported on Windows
[xUnit.net 00:00:00.10]     Create_from_bitmap_and_to_png [SKIP]
[xUnit.net 00:00:00.10]       Only supported on Windows
[ElectronFixture] InitializeAsync: start
[ElectronFixture] Acquire RuntimeController
GatherBuildInfo: Detected testhost
Probe scored for launch origin:   DotNet 2 vs. 0 Electron
Probe scored for package mode:   Unpackaged 3 vs. 0 Packaged
Evaluated StartupMethod: UnpackedDotnetFirst
[ElectronFixture] Starting Electron runtime...
[StartCore]: isUnPacked: True
[StartCore]: electronBinaryName: electronnet-integrationtests
[StartCore]: args: --no-sandbox /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/bin/Debug/net10.0/osx-arm64/testhost.dll --port 54189 --endpoint 127.0.0.1:054189 --role client --parentprocessid 52593 --telemetryoptedin false
[StartCore]: Before Start
[ElectronFixture] Waiting for Ready...
[StartInternal]: startCmd: /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/bin/Debug/net10.0/osx-arm64/.electron/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron
[StartInternal]: args: main.js -unpackeddotnet --trace-warnings -electronforcedport=8000 --no-sandbox /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/bin/Debug/net10.0/osx-arm64/testhost.dll --port 54189 --endpoint 127.0.0.1:054189 --role client --parentprocessid 52593 --telemetryoptedin false
|| Entry!!!:  
|| unpackedelectron! dir: /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/bin/Debug/net10.0/osx-arm64/.electron
[StartInternal]: after run:
|| Electron Socket IO (forced) Port: 8000
|| Electron Socket: starting...
|| Electron Socket: listening on port 8000 at ::1
|| Electron Socket: connected!
|| Electron Socket: loading components...
|| Electron Socket: startup complete.
BridgeConnector connected!
[ElectronFixture] Runtime Ready
|| [52598:1120/115103.490372:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
|| [52595:1120/115103.660175:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52595:1120/115104.023031:INFO:CONSOLE(2)] "%cElectron Security Warning (Node.js Integration with Remote Content) font-weight: bold; This renderer process has Node.js integration enabled
||     and attempted to load remote content from 'https://example.com/'. This
||     exposes users of this app to severe security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52595:1120/115104.023060:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
     Warning:
     The component "Fluent Assertions" is governed by the rules defined in the Xceed License Agreement and
     the Xceed Fluent Assertions Community License. You may use Fluent Assertions free of charge for
     non-commercial use only. An active subscription is required to use Fluent Assertions for commercial use.
     Please contact Xceed Sales mailto:sales@xceed.com to acquire a subscription at a very low cost.
     A paid commercial license supports the development and continued increasing support of
     Fluent Assertions users under both commercial and community licenses. Help us
     keep Fluent Assertions at the forefront of unit testing.
     For more information, visit https://xceed.com/products/unit-testing/fluent-assertions/
|| [52600:1120/115104.056449:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
|| [52604:1120/115104.195552:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
|| [52595:1120/115104.208731:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52595:1120/115104.239290:INFO:CONSOLE(2)] "%cElectron Security Warning (Node.js Integration with Remote Content) font-weight: bold; This renderer process has Node.js integration enabled
||     and attempted to load remote content from 'https://example.com/'. This
||     exposes users of this app to severe security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52595:1120/115104.239374:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52595:1120/115104.891023:INFO:CONSOLE(2)] "%cElectron Security Warning (Node.js Integration with Remote Content) font-weight: bold; This renderer process has Node.js integration enabled
||     and attempted to load remote content from 'https://example.com/'. This
||     exposes users of this app to severe security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52595:1120/115104.891070:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52612:1120/115104.915414:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
|| [52595:1120/115104.952320:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
[xUnit.net 00:00:03.39]     SetThumbarButtons_returns_success [SKIP]
[xUnit.net 00:00:03.39]       Only supported on Windows
[xUnit.net 00:00:03.39]     Thumbar_button_click_invokes_callback [SKIP]
[xUnit.net 00:00:03.39]       Only supported on Windows
[xUnit.net 00:00:03.39]     OpenExternal_invalid_scheme_returns_error_or_empty [SKIP]
[xUnit.net 00:00:03.39]       This can keep the test process hanging until the e-mail window is closed
[xUnit.net 00:00:04.46]     GetAllDisplays_returns_at_least_one [FAIL]
[xUnit.net 00:00:04.46]       System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetAllDisplaysAsync()
[xUnit.net 00:00:04.46]       Stack Trace:
[xUnit.net 00:00:04.46]         /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(30,0): at ElectronNET.IntegrationTests.Tests.ScreenTests.GetAllDisplays_returns_at_least_one()
[xUnit.net 00:00:04.46]         --- End of stack trace from previous location ---
[xUnit.net 00:00:05.47]     GetDisplayNearestPoint_check [FAIL]
[xUnit.net 00:00:05.47]       System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetDisplayNearestPointAsync()
[xUnit.net 00:00:05.47]       Stack Trace:
[xUnit.net 00:00:05.47]         /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(64,0): at ElectronNET.IntegrationTests.Tests.ScreenTests.GetDisplayNearestPoint_check()
[xUnit.net 00:00:05.47]         --- End of stack trace from previous location ---
[xUnit.net 00:00:06.48]     GetDisplayMatching_check [FAIL]
[xUnit.net 00:00:06.48]       System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetDisplayMatchingAsync()
[xUnit.net 00:00:06.48]       Stack Trace:
[xUnit.net 00:00:06.48]         /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(80,0): at ElectronNET.IntegrationTests.Tests.ScreenTests.GetDisplayMatching_check()
[xUnit.net 00:00:06.48]         --- End of stack trace from previous location ---
[xUnit.net 00:00:07.48]     Primary_display_has_positive_dimensions [FAIL]
[xUnit.net 00:00:07.48]       System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync()
[xUnit.net 00:00:07.48]       Stack Trace:
[xUnit.net 00:00:07.48]         /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(22,0): at ElectronNET.IntegrationTests.Tests.ScreenTests.Primary_display_has_positive_dimensions()
[xUnit.net 00:00:07.48]         --- End of stack trace from previous location ---
|| [52633:1120/115109.099003:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
|| [52595:1120/115109.135090:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52595:1120/115111.743782:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
[xUnit.net 00:00:11.32]     HostHook_call_returns_value [SKIP]
[xUnit.net 00:00:11.32]       Requires HostHook setup; skipping
[xUnit.net 00:00:11.32]     Cookie_set_get_remove_sequence [SKIP]
[xUnit.net 00:00:11.32]       Cookie set/get requires navigation to domain; skipping until test harness serves page
|| [52638:1120/115113.456003:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
|| [52595:1120/115113.491629:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52595:1120/115113.958680:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52646:1120/115115.507366:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
|| [52595:1120/115115.542678:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52647:1120/115116.318384:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
|| [52595:1120/115116.352146:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
[xUnit.net 00:00:16.23]     Menu_bar_visibility_and_auto_hide [SKIP]
[xUnit.net 00:00:16.23]       Only supported on Linux and Windows
[xUnit.net 00:00:16.23]     MenuBar_auto_hide_and_visibility [SKIP]
[xUnit.net 00:00:16.23]       Only supported on Linux and Windows
|| [52649:1120/115121.558745:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition.
|| [52595:1120/115121.595816:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| [52595:1120/115122.058967:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security
||   Policy set or a policy with "unsafe-eval" enabled. This exposes users of
||   this app to unnecessary security risks.
|| 
|| For more information and help, consult
|| https://electronjs.org/docs/tutorial/security.
|| This warning will not show up
|| once the app is packaged.", source: node:electron/js2c/renderer_init (2)
|| Skip checkForUpdates because application is not packed and dev update config is not forced
|| Skip checkForUpdates because application is not packed and dev update config is not forced
[ElectronFixture] Stopping Electron runtime...
BridgeConnector disconnected!
[ElectronFixture] Runtime stopped
[xUnit.net 00:00:21.05]   Finished:    ElectronNET.IntegrationTests
  ElectronNET.IntegrationTests test net10.0 osx-arm64 failed with 4 error(s) (21.4s)
    /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(30): error TESTERROR: 
      GetAllDisplays_returns_at_least_one (1s 2ms): Error Message: System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetAllDisplaysAsync()
      Stack Trace:
         at ElectronNET.IntegrationTests.Tests.ScreenTests.GetAllDisplays_returns_at_least_one() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs:line 30
      --- End of stack trace from previous location ---
    /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(64): error TESTERROR: 
      GetDisplayNearestPoint_check (1s 2ms): Error Message: System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetDisplayNearestPointAsync()
      Stack Trace:
         at ElectronNET.IntegrationTests.Tests.ScreenTests.GetDisplayNearestPoint_check() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs:line 64
      --- End of stack trace from previous location ---
    /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(80): error TESTERROR: 
      GetDisplayMatching_check (1s 2ms): Error Message: System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetDisplayMatchingAsync()
      Stack Trace:
         at ElectronNET.IntegrationTests.Tests.ScreenTests.GetDisplayMatching_check() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs:line 80
      --- End of stack trace from previous location ---
    /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(22): error TESTERROR: 
      Primary_display_has_positive_dimensions (1s 1ms): Error Message: System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync()
      Stack Trace:
         at ElectronNET.IntegrationTests.Tests.ScreenTests.Primary_display_has_positive_dimensions() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs:line 22
      --- End of stack trace from previous location ---

Test summary: total: 93, failed: 4, succeeded: 78, skipped: 11, duration: 21.4s
Build failed with 4 error(s) in 24.4s
@markatosi commented on GitHub (Nov 20, 2025): Here's the output after enabling the logger ``` dotnet test Restore complete (0.6s) ElectronNET.API net10.0 succeeded (1.5s) → /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.API/bin/Debug/net10.0/ElectronNET.API.dll ElectronNET net10.0 succeeded (0.2s) → /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET/bin/Debug/net10.0/ElectronNET.dll ElectronNET.IntegrationTests net10.0 osx-arm64 succeeded (0.3s) → bin/Debug/net10.0/osx-arm64/ElectronNET.IntegrationTests.dll [xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v3.1.5+1b188a7b0a (64-bit .NET 10.0.0) [xUnit.net 00:00:00.04] Discovering: ElectronNET.IntegrationTests (app domain = off, method display = Method, method display options = None) [xUnit.net 00:00:00.06] Discovered: ElectronNET.IntegrationTests (93 test cases to be run) [xUnit.net 00:00:00.08] Starting: ElectronNET.IntegrationTests (parallel test collections = off, stop on fail = off, explicit = off) [xUnit.net 00:00:00.09] Resize_and_crop_produce_expected_sizes [SKIP] [xUnit.net 00:00:00.09] Only supported on Windows [xUnit.net 00:00:00.10] Create_from_buffer_and_to_data_url [SKIP] [xUnit.net 00:00:00.10] Only supported on Windows [xUnit.net 00:00:00.10] Add_representation_for_scale_factor [SKIP] [xUnit.net 00:00:00.10] Only supported on Windows [xUnit.net 00:00:00.10] Create_from_bitmap_and_to_png [SKIP] [xUnit.net 00:00:00.10] Only supported on Windows [ElectronFixture] InitializeAsync: start [ElectronFixture] Acquire RuntimeController GatherBuildInfo: Detected testhost Probe scored for launch origin: DotNet 2 vs. 0 Electron Probe scored for package mode: Unpackaged 3 vs. 0 Packaged Evaluated StartupMethod: UnpackedDotnetFirst [ElectronFixture] Starting Electron runtime... [StartCore]: isUnPacked: True [StartCore]: electronBinaryName: electronnet-integrationtests [StartCore]: args: --no-sandbox /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/bin/Debug/net10.0/osx-arm64/testhost.dll --port 54189 --endpoint 127.0.0.1:054189 --role client --parentprocessid 52593 --telemetryoptedin false [StartCore]: Before Start [ElectronFixture] Waiting for Ready... [StartInternal]: startCmd: /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/bin/Debug/net10.0/osx-arm64/.electron/node_modules/electron/dist/Electron.app/Contents/MacOS/Electron [StartInternal]: args: main.js -unpackeddotnet --trace-warnings -electronforcedport=8000 --no-sandbox /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/bin/Debug/net10.0/osx-arm64/testhost.dll --port 54189 --endpoint 127.0.0.1:054189 --role client --parentprocessid 52593 --telemetryoptedin false || Entry!!!: || unpackedelectron! dir: /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/bin/Debug/net10.0/osx-arm64/.electron [StartInternal]: after run: || Electron Socket IO (forced) Port: 8000 || Electron Socket: starting... || Electron Socket: listening on port 8000 at ::1 || Electron Socket: connected! || Electron Socket: loading components... || Electron Socket: startup complete. BridgeConnector connected! [ElectronFixture] Runtime Ready || [52598:1120/115103.490372:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition. || [52595:1120/115103.660175:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52595:1120/115104.023031:INFO:CONSOLE(2)] "%cElectron Security Warning (Node.js Integration with Remote Content) font-weight: bold; This renderer process has Node.js integration enabled || and attempted to load remote content from 'https://example.com/'. This || exposes users of this app to severe security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52595:1120/115104.023060:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) Warning: The component "Fluent Assertions" is governed by the rules defined in the Xceed License Agreement and the Xceed Fluent Assertions Community License. You may use Fluent Assertions free of charge for non-commercial use only. An active subscription is required to use Fluent Assertions for commercial use. Please contact Xceed Sales mailto:sales@xceed.com to acquire a subscription at a very low cost. A paid commercial license supports the development and continued increasing support of Fluent Assertions users under both commercial and community licenses. Help us keep Fluent Assertions at the forefront of unit testing. For more information, visit https://xceed.com/products/unit-testing/fluent-assertions/ || [52600:1120/115104.056449:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition. || [52604:1120/115104.195552:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition. || [52595:1120/115104.208731:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52595:1120/115104.239290:INFO:CONSOLE(2)] "%cElectron Security Warning (Node.js Integration with Remote Content) font-weight: bold; This renderer process has Node.js integration enabled || and attempted to load remote content from 'https://example.com/'. This || exposes users of this app to severe security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52595:1120/115104.239374:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52595:1120/115104.891023:INFO:CONSOLE(2)] "%cElectron Security Warning (Node.js Integration with Remote Content) font-weight: bold; This renderer process has Node.js integration enabled || and attempted to load remote content from 'https://example.com/'. This || exposes users of this app to severe security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52595:1120/115104.891070:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52612:1120/115104.915414:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition. || [52595:1120/115104.952320:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) [xUnit.net 00:00:03.39] SetThumbarButtons_returns_success [SKIP] [xUnit.net 00:00:03.39] Only supported on Windows [xUnit.net 00:00:03.39] Thumbar_button_click_invokes_callback [SKIP] [xUnit.net 00:00:03.39] Only supported on Windows [xUnit.net 00:00:03.39] OpenExternal_invalid_scheme_returns_error_or_empty [SKIP] [xUnit.net 00:00:03.39] This can keep the test process hanging until the e-mail window is closed [xUnit.net 00:00:04.46] GetAllDisplays_returns_at_least_one [FAIL] [xUnit.net 00:00:04.46] System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetAllDisplaysAsync() [xUnit.net 00:00:04.46] Stack Trace: [xUnit.net 00:00:04.46] /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(30,0): at ElectronNET.IntegrationTests.Tests.ScreenTests.GetAllDisplays_returns_at_least_one() [xUnit.net 00:00:04.46] --- End of stack trace from previous location --- [xUnit.net 00:00:05.47] GetDisplayNearestPoint_check [FAIL] [xUnit.net 00:00:05.47] System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetDisplayNearestPointAsync() [xUnit.net 00:00:05.47] Stack Trace: [xUnit.net 00:00:05.47] /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(64,0): at ElectronNET.IntegrationTests.Tests.ScreenTests.GetDisplayNearestPoint_check() [xUnit.net 00:00:05.47] --- End of stack trace from previous location --- [xUnit.net 00:00:06.48] GetDisplayMatching_check [FAIL] [xUnit.net 00:00:06.48] System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetDisplayMatchingAsync() [xUnit.net 00:00:06.48] Stack Trace: [xUnit.net 00:00:06.48] /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(80,0): at ElectronNET.IntegrationTests.Tests.ScreenTests.GetDisplayMatching_check() [xUnit.net 00:00:06.48] --- End of stack trace from previous location --- [xUnit.net 00:00:07.48] Primary_display_has_positive_dimensions [FAIL] [xUnit.net 00:00:07.48] System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync() [xUnit.net 00:00:07.48] Stack Trace: [xUnit.net 00:00:07.48] /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(22,0): at ElectronNET.IntegrationTests.Tests.ScreenTests.Primary_display_has_positive_dimensions() [xUnit.net 00:00:07.48] --- End of stack trace from previous location --- || [52633:1120/115109.099003:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition. || [52595:1120/115109.135090:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52595:1120/115111.743782:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) [xUnit.net 00:00:11.32] HostHook_call_returns_value [SKIP] [xUnit.net 00:00:11.32] Requires HostHook setup; skipping [xUnit.net 00:00:11.32] Cookie_set_get_remove_sequence [SKIP] [xUnit.net 00:00:11.32] Cookie set/get requires navigation to domain; skipping until test harness serves page || [52638:1120/115113.456003:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition. || [52595:1120/115113.491629:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52595:1120/115113.958680:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52646:1120/115115.507366:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition. || [52595:1120/115115.542678:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52647:1120/115116.318384:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition. || [52595:1120/115116.352146:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) [xUnit.net 00:00:16.23] Menu_bar_visibility_and_auto_hide [SKIP] [xUnit.net 00:00:16.23] Only supported on Linux and Windows [xUnit.net 00:00:16.23] MenuBar_auto_hide_and_visibility [SKIP] [xUnit.net 00:00:16.23] Only supported on Linux and Windows || [52649:1120/115121.558745:WARNING:runtime_features.cc(730)] AttributionReportingCrossAppWeb cannot be enabled in this configuration. Use --enable-features=ConversionMeasurement,AttributionReportingCrossAppWeb in addition. || [52595:1120/115121.595816:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || [52595:1120/115122.058967:INFO:CONSOLE(2)] "%cElectron Security Warning (Insecure Content-Security-Policy) font-weight: bold; This renderer process has either no Content Security || Policy set or a policy with "unsafe-eval" enabled. This exposes users of || this app to unnecessary security risks. || || For more information and help, consult || https://electronjs.org/docs/tutorial/security. || This warning will not show up || once the app is packaged.", source: node:electron/js2c/renderer_init (2) || Skip checkForUpdates because application is not packed and dev update config is not forced || Skip checkForUpdates because application is not packed and dev update config is not forced [ElectronFixture] Stopping Electron runtime... BridgeConnector disconnected! [ElectronFixture] Runtime stopped [xUnit.net 00:00:21.05] Finished: ElectronNET.IntegrationTests ElectronNET.IntegrationTests test net10.0 osx-arm64 failed with 4 error(s) (21.4s) /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(30): error TESTERROR: GetAllDisplays_returns_at_least_one (1s 2ms): Error Message: System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetAllDisplaysAsync() Stack Trace: at ElectronNET.IntegrationTests.Tests.ScreenTests.GetAllDisplays_returns_at_least_one() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs:line 30 --- End of stack trace from previous location --- /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(64): error TESTERROR: GetDisplayNearestPoint_check (1s 2ms): Error Message: System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetDisplayNearestPointAsync() Stack Trace: at ElectronNET.IntegrationTests.Tests.ScreenTests.GetDisplayNearestPoint_check() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs:line 64 --- End of stack trace from previous location --- /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(80): error TESTERROR: GetDisplayMatching_check (1s 2ms): Error Message: System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetDisplayMatchingAsync() Stack Trace: at ElectronNET.IntegrationTests.Tests.ScreenTests.GetDisplayMatching_check() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs:line 80 --- End of stack trace from previous location --- /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs(22): error TESTERROR: Primary_display_has_positive_dimensions (1s 1ms): Error Message: System.TimeoutException : No response after 1000ms trying to retrieve value screen.GetPrimaryDisplayAsync() Stack Trace: at ElectronNET.IntegrationTests.Tests.ScreenTests.Primary_display_has_positive_dimensions() in /Volumes/Repos_APFS/source/electron/electron-net-softworkz/ElectronNET/src/ElectronNET.IntegrationTests/Tests/ScreenTests.cs:line 22 --- End of stack trace from previous location --- Test summary: total: 93, failed: 4, succeeded: 78, skipped: 11, duration: 21.4s Build failed with 4 error(s) in 24.4s ```
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Here's the output after enabling the logger

Thanks - but no longer needed. The error is on our side.

I think it's due to the migration to System.Text.Json: The Json.NET serializers have probably ignored the type mismatch for DisplayFrequency while System.Text.Json does not.

@softworkz commented on GitHub (Nov 20, 2025): > Here's the output after enabling the logger Thanks - but no longer needed. The error is on our side. I think it's due to the migration to System.Text.Json: The Json.NET serializers have probably ignored the type mismatch for DisplayFrequency while System.Text.Json does not.
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

I think it's due to the migration to System.Text.Json: The Json.NET serializers have probably ignored the type mismatch for DisplayFrequency while System.Text.Json does not.

I doubt they "ignored" the type mismatch. Newtonsoft just gracefully handled it and no one was the wiser. i still need to use JSON.net in places because it just "works" for some things that seem impossible for system.text.json to do without a lot of hair pulling.

Also, i wouldn't take much stock in github integration tests "passing" at least with respect to macos. I've had plenty of issues with nonsense there. There might be something different about how system.text.json works on .net for mac. Might be worth creating an issue with the dotnet team because it shouldn't work on windows and fail on a mac.

@markatosi commented on GitHub (Nov 20, 2025): > I think it's due to the migration to System.Text.Json: The Json.NET serializers have probably ignored the type mismatch for DisplayFrequency while System.Text.Json does not. I doubt they "ignored" the type mismatch. Newtonsoft just gracefully handled it and no one was the wiser. i still need to use JSON.net in places because it just "works" for some things that seem impossible for system.text.json to do without a lot of hair pulling. Also, i wouldn't take much stock in github integration tests "passing" at least with respect to macos. I've had plenty of issues with nonsense there. There might be something different about how system.text.json works on .net for mac. Might be worth creating an issue with the dotnet team because it shouldn't work on windows and fail on a mac.
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Anyway, I'm happy to run integration testing on my mac whenever you need me to if you want a real test done. Just let me know

@markatosi commented on GitHub (Nov 20, 2025): Anyway, I'm happy to run integration testing on my mac whenever you need me to if you want a real test done. Just let me know
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

Also, i wouldn't take much stock in github integration tests "passing" at least with respect to macos.

I'm quite satisfied with it so far.

I thought it would be obvious, but in case you're wondering why it didn't fail: Because Displayfrequency values are integers there.. 😜

@softworkz commented on GitHub (Nov 20, 2025): > Also, i wouldn't take much stock in github integration tests "passing" at least with respect to macos. I'm quite satisfied with it so far. I thought it would be obvious, but in case you're wondering why it didn't fail: Because Displayfrequency values are integers there.. 😜
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

I doubt they "ignored" the type mismatch. Newtonsoft just gracefully handled it and no one was the wiser.

What would be the difference between "ignored" and "gracefully handled"?

@softworkz commented on GitHub (Nov 20, 2025): > I doubt they "ignored" the type mismatch. Newtonsoft just gracefully handled it and no one was the wiser. What would be the difference between "ignored" and "gracefully handled"?
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

What would be the difference between "ignored" and "gracefully handled"?

I guess converting the floating point or decimal or whatever it is to an integer. Maybe it's an 80/20 type solution :-)
We'll give you a mostly correct answer which is probably good enough most of the time.

@markatosi commented on GitHub (Nov 20, 2025): > What would be the difference between "ignored" and "gracefully handled"? I guess converting the floating point or decimal or whatever it is to an integer. Maybe it's an 80/20 type solution :-) We'll give you a mostly correct answer which is probably good enough most of the time.
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Anyway, thanks for all your improvements to ElectronNet. The fact that i can debug the application without having to attach to the asp.net core process separately is awesome.

@markatosi commented on GitHub (Nov 20, 2025): Anyway, thanks for all your improvements to ElectronNet. The fact that i can debug the application without having to attach to the asp.net core process separately is awesome.
Author
Owner

@softworkz commented on GitHub (Nov 20, 2025):

I guess converting the floating point or decimal or whatever it is to an integer. Maybe it's an 80/20 type solution :-)
We'll give you a mostly correct answer which is probably good enough most of the time.

Hmm, that would be a crazily invalid behavior. But I don't know they're really doing.


Other note: A quick fix for you - until it's fixed here - might be to change your monitor refresh rate to an integral value - LOL 🤣

@softworkz commented on GitHub (Nov 20, 2025): > I guess converting the floating point or decimal or whatever it is to an integer. Maybe it's an 80/20 type solution :-) > We'll give you a mostly correct answer which is probably good enough most of the time. Hmm, that would be a crazily invalid behavior. But I don't know they're really doing. --- Other note: A quick fix for you - until it's fixed here - might be to change your monitor refresh rate to an integral value - LOL 🤣
Author
Owner

@markatosi commented on GitHub (Nov 20, 2025):

Other note: A quick fix for you - until it's fixed here - might be to change your monitor refresh rate to an integral value - LOL 🤣

Now that's funny.

@markatosi commented on GitHub (Nov 20, 2025): > Other note: A quick fix for you - until it's fixed here - might be to change your monitor refresh rate to an integral value - LOL 🤣 Now that's funny.
Author
Owner

@agracio commented on GitHub (Nov 24, 2025):

In some monitor reviews on YouTube I have seen multiple instances of monitors reporting decimal refresh value on Windows as well.

@agracio commented on GitHub (Nov 24, 2025): In some monitor reviews on YouTube I have seen multiple instances of monitors reporting decimal refresh value on Windows as well.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/Electron.NET#1014