error : Did not find PDBs for the following SDK files

On some environments, building the .NET 8 VMR produces errors about missing pdbs:
1>/builddir/build/BUILD/dotnet-8.0.1/build.proj(123,5): error : Did not find PDBs for the following SDK files:
1>/builddir/build/BUILD/dotnet-8.0.1/build.proj(123,5): error : sdk/8.0.101/Microsoft.DotNet.Cli.Utils.dll

I first saw this on RHEL 8 on s390x. But our internal CI reproduced on RHEL 9 as well. I assumed it was a mono-specific issue.
However, it turns out nix folks are seeing it on darwin as well:
      # /private/tmp/nix-build-dotnet-vmr-8.0.2.drv-0/dotnet-8.0.2/build.proj(123,5): error : Did not find PDBs for the following SDK files:
      # /private/tmp/nix-build-dotnet-vmr-8.0.2.drv-0/dotnet-8.0.2/build.proj(123,5): error : sdk/8.0.102/System.Resources.Extensions.dll
      # /private/tmp/nix-build-dotnet-vmr-8.0.2.drv-0/dotnet-8.0.2/build.proj(123,5): error : sdk/8.0.102/System.CodeDom.dll
      # /private/tmp/nix-build-dotnet-vmr-8.0.2.drv-0/dotnet-8.0.2/build.proj(123,5): error : sdk/8.0.102/FSharp/System.Resources.Extensions.dll
      # /private/tmp/nix-build-dotnet-vmr-8.0.2.drv-0/dotnet-8.0.2/build.proj(123,5): error : sdk/8.0.102/FSharp/System.CodeDom.dll

@uweigand @Vishwanatha-HD

This error can occur as a result of assembly poisoning as well. In other words, it's possible these files are coming from the previously source built artifacts or SBRP and ending up in the SDK output. In that case, they were never built and thus have no PDBs. Why this would happen in only some environments, I don't know.

@omajid is this still reproing? I was not able to reproduce on CentOSStream, Fedora or Alpine.

I can reproduce on CentOS Stream 9 (s390x) too:
  [17:11:23.74] Building 'dotnet'...done
  Finding project directories...
  Writing package usage data...
  Writing package usage data... done. Took 00:00:03.3022936
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : 7 new packages used not in baseline! See report at /home/omajid/dotnet/artifacts/prebuilt-report/baseline-comparison.xml for more information. Package IDs are: [/home/omajid/dotnet/repo-projects/dotnet.proj]
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : NuGet.Common.6.7.0 [/home/omajid/dotnet/repo-projects/dotnet.proj]
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : NuGet.Configuration.6.7.0 [/home/omajid/dotnet/repo-projects/dotnet.proj]
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : NuGet.Credentials.6.7.0 [/home/omajid/dotnet/repo-projects/dotnet.proj]
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : NuGet.Frameworks.6.7.0 [/home/omajid/dotnet/repo-projects/dotnet.proj]
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : NuGet.Packaging.6.7.0 [/home/omajid/dotnet/repo-projects/dotnet.proj]
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : NuGet.Protocol.6.7.0 [/home/omajid/dotnet/repo-projects/dotnet.proj]
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : NuGet.Versioning.6.7.0 [/home/omajid/dotnet/repo-projects/dotnet.proj]
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : Prebuilt usages are different from the baseline. If detected changes are acceptable, update baseline with: [/home/omajid/dotnet/repo-projects/dotnet.proj]
/home/omajid/dotnet/repo-projects/Directory.Build.targets(688,5): warning : cp '/home/omajid/dotnet/artifacts/prebuilt-report/generated-new-baseline.xml' '/home/omajid/dotnet/eng//tools/prebuilt-baseline.xml' [/home/omajid/dotnet/repo-projects/dotnet.proj]
  Packaged all symbols in '/home/omajid/dotnet/artifacts/s390x/Release/dotnet-symbols-all-8.0.107-servicing.24270.1-centos.9-s390x.tar.gz'
/home/omajid/dotnet/build.proj(123,5): error : Did not find PDBs for the following SDK files:
/home/omajid/dotnet/build.proj(123,5): error : sdk/8.0.107/Microsoft.DotNet.Cli.Utils.dll

Thanks - will investigate this more closely. The issue does not repro on x64 or arm64 platforms.

@omajid is there a way to do a cross-build for s390x? I tried this repo, but couldn't get it to build successfully: https://github.com/IBM/dotnet-s390x

@omajid is there a way to do a cross-build for s390x? I tried this repo, but couldn't get it to build successfully: https://github.com/IBM/dotnet-s390x

OK - I got it to build, but this repo uses a different build infra, and does not produce symbols archive, so it doesn't hit the issue.

@NikolaMilosavljevic if you have a working SDK, related nuget packages, and access to s390x machines to run builds natively, you can build the VMR there using normal arguments:
$ ./build.sh --with-sdk /home/tester/dotnet/sdk --with-packages /home/tester/dotnet/packages --source-only --use-mono-runtime

A cross build can also be done using the VMR, though I don't know if it reproduces the issue. Assuming you have all the cross build dependencies installed, this should do the job:
$ git clone https://github.com/dotnet/dotnet
$ cd dotnet
$ export CROSS_ARCH=s390x
$ export CROSSCOMPILE=1
$ export ROOTFS_DIR=/   # or the appropriate value
$  ./prep-source-build.sh
$ ./build.sh --source-only --online --use-mono-runtime /p:TargetArchitecture=s390x /p:PortableBuild=true

@NikolaMilosavljevic if you have a working SDK, related nuget packages, and access to s390x machines to run builds natively, you can build the VMR there using normal arguments:
$ ./build.sh --with-sdk /path/to/dotnet/sdk --with-packages /path/to/dotnet/packages --source-only --use-mono-runtime

A cross build can also be done using the VMR, though I don't know if it reproduces the issue. Assuming you have all the cross build dependencies installed, this should do the job:
$ git clone https://github.com/dotnet/dotnet
$ cd dotnet
$ export CROSS_ARCH=s390x
$ export CROSSCOMPILE=1
$ export ROOTFS_DIR=/   # or the appropriate value
$ ./prep-source-build.sh
$ ./build.sh --source-only --online --use-mono-runtime /p:TargetArchitecture=s390x /p:PortableBuild=true

Thanks. I tried the VMR cross-build and it did not repro. I do not have s390x machine to try that option.

@uweigand @Viswhanwa can you help @NikolaMilosavljevic get access to an s390x environment?

@Vishwanatha-HD ^^

@uweigand @Vishwanatha-HD can you help @NikolaMilosavljevic get access to an s390x environment?

FYI, I have put @NikolaMilosavljevic in contact with the right folks to get a repo environment.

I have the environment and native .NET 8 SDK. However I do not have native packages. @omajid are there similar steps for s390x cross-build for .NET 8.0, as those you shared in https://github.com/dotnet/source-build/issues/4150#issuecomment-2274176646?

@NikolaMilosavljevic If you cross-build an SDK, you also get Private.SourceBuilt.Artifacts, eg ./dotnet/artifacts/assets/Release/Private.SourceBuilt.Artifacts.9.0.100-preview.7.24357.1.linux-s390x.tar.gz. I think those should be good enough?
Alternatively, what I often end up doing is taking the Private.SourceBuilt.Artifacts from an x64 build, and then add the various *.linux-s390x*nupkg files produced by a cross-build to it.

@MichaelSimons , as I mentioned yesterday, my suspicion is that this is a race condition - it seems multiple different build steps during the SDK build can produce an output file of the same name
/_/src/sdk/artifacts/source-build/self/src/artifacts/obj/Tests/Microsoft.DotNet.Cli.Utils/Release/net8.0/Microsoft.DotNet.Cli.Utils.pdb

but with different contents and checksum.  In a multi-threaded build, those can run in parallel, so which of these build steps "wins" and creates the final copy of the file is racy.  It seems on most machines, the "expected" copy wins, but on a virtual machine running on a heavily loaded host, in some cases another copy wins.  This would explain why it is very difficult to reproduce the outcome.
Specifically, I think there is a race because there are multiple sub-projects that have a ProjectReference to Microsoft.DotNet.Cli.Utils.csproj:
sdk/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj:    <ProjectReference Include="..\..\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/src/Resolvers/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver/Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.csproj:    <ProjectReference Include="..\..\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/src/Cli/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj:    <ProjectReference Include="..\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/src/Cli/dotnet/dotnet.csproj:    <ProjectReference Include="../Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj" />
sdk/src/Cli/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj:    <ProjectReference Include="../Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj" />
sdk/src/Cli/Microsoft.TemplateEngine.Cli/Microsoft.TemplateEngine.Cli.csproj:    <ProjectReference Include="../Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj" />
sdk/src/Containers/containerize/containerize.csproj:    <ProjectReference Include="..\..\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/src/Containers/packaging/package.csproj:        <ProjectReference Include="../../Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj"
sdk/src/Containers/Microsoft.NET.Build.Containers/Microsoft.NET.Build.Containers.csproj:    <ProjectReference Include="..\..\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj"

sdk/test/Microsoft.NET.TestFramework/Microsoft.NET.TestFramework.csproj:    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/test/Microsoft.TemplateEngine.Cli.UnitTests/Microsoft.TemplateEngine.Cli.UnitTests.csproj:    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/test/SDDLTests/SDDLTests.csproj:    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj:    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj:    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/test/dotnet.Tests/dotnet.Tests.csproj:    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/test/dotnet-sln.Tests/dotnet-sln.Tests.csproj:    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />
sdk/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Microsoft.DotNet.Tools.Tests.ComponentMocks.csproj:    <ProjectReference Include="..\..\src\Cli\Microsoft.DotNet.Cli.Utils\Microsoft.DotNet.Cli.Utils.csproj" />

Now, I'm not sure I fully understand the msbuild directory logic, but normally this would be fine as the resulting files would be places into different output subdirectories.  However, the Microsoft.DotNet.Cli.Utils.csproj file appears to override this default logic:
  <PropertyGroup>
    <OutDirName>Tests\$(MSBuildProjectName)</OutDirName>
  </PropertyGroup>

which seems to place all of them in the same artifacts/obj/Tests/Microsoft.DotNet.Cli.Utils directory.
Can someone with better understanding of msbuild verify whether this (possible) explanation might make sense?

@omajid - Is it possible for you to provide an msbuild log or binlog?  TIA

sdk main and source-build binlogs on s390x: 8.0-binlogs.tar.gz
Is that good enough? Do you need me to reproduce with main and/or attach more binlogs?

sdk main and source-build binlogs on s390x: 8.0-binlogs.tar.gz
Is that good enough? Do you need me to reproduce with main and/or attach more binlogs?

This should be plenty - I'll investigate today. I presume these logs are from a build that reproduced the issue.

I presume these logs are from a build that reproduced the issue.

Yes, these are from an 8.0 build (VMR commit 918cd4481ec3ab49e3f6b67170ed7b071741dced) and the build ended with a:
  Packaged all symbols in '/home/omajid/jenkins-scripts/ci/dotnet/artifacts/s390x/Release/dotnet-symbols-all-8.0.110-servicing.24460.1-rhel.9-s390x.tar.gz'
dotnet/build.proj(123,5): error : Did not find PDBs for the following SDK files:
dotnet/build.proj(123,5): error : sdk/8.0.110/Microsoft.DotNet.Cli.Utils.dll

Thank @omajid. It would be great if we could have few more pieces of data from the repro build:
sdk binlogs (same as those shared previously)
vmr binlog (in artifacts)
tarball with all instances of Microsoft.DotNet.Cli.Utils.dll and Microsoft.DotNet.Cli.Utils.pdb in the source tree

It would also be good to have the following, however, I understand that they are large files >400MB in total.
dotnet-symbols-all* tarball
dotnet-sdk* tarball

I rebuilt things using commit 44758f47c604c90a0d3e51aa615f7a146b5e8e37

binlogs.tar.gz
binaries.tar.gz
https://people.redhat.com/~omajid/scratch/dotnet-sdk-8.0.110-rhel.8-s390x.tar.gz
https://people.redhat.com/~omajid/scratch/dotnet-symbols-all-8.0.110-servicing.24467.1-rhel.8-s390x.tar.gz

I've built this on x64, and while I did no repro the race/timing condition we only see on s390x, I did reproduce the issue with multiple builds of the same project.
binlog.sdk.zip
Something is causing this project to be built twice: Microsoft.DotNet.Cli.Utils.csproj - Microsoft.DotNet.Cli.Utils.csproj
According to the binlog, one of those instances is a direct Build target for the project. The other is a project reference from Microsoft.NET.Build.Containers.csproj, while this project is being built for Publish target.
I've searched for the following, in binlog: under($6330) filewrites dotnet.cli.utils.dll
@baronfel @rainersigwald can you help us understand what causes this project to be rebuilt, and what needs to be done to prevent that?

Looks like GenerateLayout.targets is calling that publish with an additional PublishDir global property that breaks it out from the "normal" one: https://github.com/dotnet/sdk/blob/e89072b5f36b1821dc24987a5a487ba0093ef9f4/src/Layout/redist/targets/GenerateLayout.targets#L215-L219
That seems to be "how it's done" in that file but it's unfortunate; I'd assume there's a race on e.g. F# just as much.

Looks like GenerateLayout.targets is calling that publish with an additional PublishDir global property that breaks it out from the "normal" one: https://github.com/dotnet/sdk/blob/e89072b5f36b1821dc24987a5a487ba0093ef9f4/src/Layout/redist/targets/GenerateLayout.targets#L215-L219
That seems to be "how it's done" in that file but it's unfortunate; I'd assume there's a race on e.g. F# just as much.

Thanks - is there any way to solve this?


As a developer, I need to do small fixes to the static content

This issue is a continuation of #208, for working on these edits, after input in WP5 meeting:

[x] In the Learn menu, "Research projects" is in plural, not in singular
[x] in the squared window of the main page (with the dots/buttons), change the current message of what the media suite is to this one:
The Media Suite is a research environment of the Dutch infrastructure for digital humanities and social sciences (CLARIAH). It facilitates access to key Dutch audio-visual and contextual collections with advanced mixed media search and analysis tools.
[x] in the contact page, make the following changes:
--Troubleshooting? Problems or suggestions in using the Media Suite? | Check our “Learn” pages Or use our Gitter chat rooms
--For research and CLARIAH project-related questions: |
General questions<EMAIL_ADDRESS>Research coordination: Julia Noordegraaf<EMAIL_ADDRESS>Technical coordination, Netherlands Institute for Sound and Vision: Roeland Ordelman<EMAIL_ADDRESS>-- Delete "For technical/platform..."
[x] in the contact page, add a dot to the end of Gitter chat rooms.
[x] in the Data page:
--Add link to The Netherlands Institute for Sound and Vision: http://mediasuitedata.clariah.nl/organization/netherlands-institute-for-sound-and-vision
--Add link to EYE Film Museum collections: http://mediasuitedata.clariah.nl/group/eye-film-institute-netherlands
--Add link to DANS oral history interview collections: http://mediasuitedata.clariah.nl/dataset/dans-oral-history
--Add link to Collections from the Open Images project: http://mediasuitedata.clariah.nl/group/open-images-project
[x] In the Data page, change the button "Available collections in CKAN" to: "Available collections"
[x] in the Data page, change the button "Search and analyze" for "Search and analyze collections"

@lilimelgar @jblom
Static content updated for clariah-mediasuite project in branch "task/#233-update-static-content"
@lilimelgar :
To test you have checkout (in the clariah-mediasuite project) branch already mentioned and run git run prod
You also must re-start the server via python server.py since a json file needs to be updated too.

@lilimelgar @jblom
Closing issue as commented by @lilimelgar.
Branch has already been merged with Master.


[BUG] - The autocomplete component does not work within the modal component.

NextUI Version
2.2.10
Describe the bug
I wanted to use the autocomplete component in the modal. I cannot turn off the dropdown unless I select a value from the list.
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue

Add modal component
Add autocomplete component inside modal component
Click on the autocomplete widget
Try turning it off without selecting a value

Expected behavior
I need to turn off the autocomplete dropdown item without selecting a value.
Screenshots or Videos
No response
Operating System Version
Windows 11
Browser
Chrome

@laborasyon I've already made the fix here. Please stay tuned for the next version.

Closing - will be available in the upcoming release v2.3.10


docs: improve readability of documentation

What this PR changes/adds
This PR:

improves the readablity of documentation

fixes some typos

uses the logging webserver as docker container instead of JAR

makes use of docker container name instead of container id  in streaming sample 2

removes non-working property maxDuration in streaming sample 2

makes use of docker compose instead fo docker-compose in advanced sample 1

adds missing catalog fetch in advanced sample 1

Corresponding PullRequest #167

@MichaelSteinert could you take care of make the e2e tests pass? so we can merge then

@ndr-brt yes. i fixed the e2e tests


Fix inspector preview

Fix #22721. Fix #18983.

PR updated to also fix #18983.

This should also be fixed in:
modules/visual_script/visual_script_editor.cpp
1943:void VisualScriptEditor::_button_resource_previewed(const String &p_path, const Ref<Texture> &p_preview, Variant p_ud) {

modules/visual_script/visual_script_editor.h
240:    void _button_resource_previewed(const String &p_path, const Ref<Texture> &p_preview, Variant p_ud);

Those are regressions from b2633a97b9 (ping @groud).
There's also this bug caused by the same commit: https://github.com/godotengine/godot/pull/22618/commits/c026e3957a815199ee301cdcbaa94698ee4a3705#r221904359
We should be more careful when adding new parameters to virtual methods used all over the engine. In this case, I'm not sure if the p_small_preview addition is good, couldn't it use its own method? It looks like it's only used in https://github.com/godotengine/godot/commit/b2633a97b9efa7b926d6682342480c5ccb482369#diff-437a2597f8c2e9b25f7b975bbfd73b2eR515, so it seems overkill to allocate two textures in all those calls when none of them need both in parallel.

This should also be fixed in:

PR updated.

I'm not sure if the p_small_preview addition is good, couldn't it use its own method?

I don't saw a simple way of doing that then if anyone knows how to do it help will be welcome.

We should be more careful when adding new parameters to virtual methods used all over the engine.

I agree, sorry. ^^

so it seems overkill to allocate two textures in all those calls when none of them need both in parallel.

It's only allocated once, that's the point of References, so we only a reference to the texture. Also, their generation is cached and they are only generated for textures and materials.

In this case, I'm not sure if the p_small_preview addition is good, couldn't it use its own method?

The thing is that both thumbnails are generated at the same time, so it made sense to send both version at the same time. Also, the function to ask for a thumbnail generation requires giving
a callback function. Splitting it would have needed to add another callback function argument.
I went for the approach that looked the simplest to me.

Alright, this should be good to go then :)


Bug on ES6: Create Strings using Template Literals

Describe your problem and - if possible - how to reproduce it
I write the script as below but it returns this error test and in the hint section i have a X at “Template strings were used”
I can’t figure out which is the issue
Add a Link to the page with the problem
const result = {
success: ["max-length", "no-amd", "prefer-arrow-functions"],
failure: ["no-var", "var-on-top", "linebreak"],
skipped: ["id-blacklist", "no-dup-keys"]
};
function makeList(arr) {
"use strict";
// change code below this line
const resultDisplayArray = arr.map((x) => {
return
${x}
});
// change code above this line
return resultDisplayArray;
}
/**

makeList(result.failure) should return:
[ no-var,

var-on-top,

linebreak ]

**/
const resultDisplayArray = makeList(result.failure);
Tell us about your browser and operating system

Browser Name: Chrome/67.0.3396.99
Browser Version: 67.0.3396.99
Operating System: Windows 8.1

If possible, add a screenshot here

@mirkocoppola80, thank you for taking the time to report this. You're right--this is a long standing issue that has affected many users. Like @randelldawson mentioned, it was fixed recently and that fix should hopefully be reflected on the live site soon. Please hang tight and your solution should work soon!


Fix running iOS timers when the proximity sensor is engaged

Summary:
When the proximity sensor is engaged and it detects "close", the screen is disabled so timers stop working. Treat the close proximity status as if the app went into the background so CADisplayLink based timers are not used.
Changelog:
[iOS] [Fixed] - Fix running timers when the proximity sensor detects close
Test Plan:

Thank you for merging this so quickly!


Music radio

After the last Fivem update the radio does not work correctly. In the left ear there is noise, and in the right music plays without limit on the distance. 3d positioning does not work.

I tested it 2 days ago, when i set the radio from admin menu --> Custom Audiosource: I heard it without spacialization and no distance limit BUT the other players were hearing it correctly.
Was any players near you hearing it without spacialization too ?

associated with https://github.com/ImagicTheCat/vRP/issues/399

I can't reproduce the issue, and it doesn't seem related to https://github.com/ImagicTheCat/vRP/issues/399.

Okay I updated to canary and I had sound issues, unfortunately, this is not related to vRP, you can report this to FiveM.


Is there a way to add multiple LocalVideoTrack in Transceiver?

I've a scenario where I need to send local screen capture video and web cam video to the remote peer. While looking at the documentation, I see Transceiver.LocalVideoTrack where I'm able to attach only one video at a given point of time. How can I add multiple local video track to the transceiver?
Something like below
Screenshare:-

_screenshareSource = ExternalVideoTrackSource.CreateFromArgb32Callback(WebRTCFrameCallback);
_localScreenTrack = LocalVideoTrack.CreateFromSource(_screenshareSource, new LocalVideoTrackInitConfig() { trackName = "uwpscreensharetrack" });

Webcam:-

            _webcamSource = await DeviceVideoTrackSource.CreateAsync();
            _localVideoTrack = LocalVideoTrack.CreateFromSource(_webcamSource, new LocalVideoTrackInitConfig() { trackName = "uwpvideotrack" });

If you want to send multiple video tracks, you should add another Video transceiver.

I tried adding another video transceiver, but with no luck. This is what I'm doing.

_screenshareSource = ExternalVideoTrackSource.CreateFromArgb32Callback(WebRTCFrameCallback);
_localScreenTrack = LocalVideoTrack.CreateFromSource(_screenshareSource, new LocalVideoTrackInitConfig() { trackName = "uwpscreensharetrack" });
_webcamSource = await DeviceVideoTrackSource.CreateAsync();
_localVideoTrack = LocalVideoTrack.CreateFromSource(_webcamSource, new LocalVideoTrackInitConfig() { trackName = "uwpvideotrack" });
_videoTransceiver = _Connection.AddTransceiver(MediaKind.Video, new TransceiverInitSettings() { InitialDesiredDirection = Transceiver.Direction.SendReceive });
_videoTransceiver.LocalVideoTrack = localVideoTrack;
_otherVideoTransceiver = _Connection.AddTransceiver(MediaKind.Video, new TransceiverInitSettings() { InitialDesiredDirection = Transceiver.Direction.SendReceive });
_otherVideoTransceiver .LocalVideoTrack = _localScreenTrack ;

SDP offer :-
v=0
o=-<PHONE_NUMBER>453382226 3 IN IP4 <IP_ADDRESS>
s=-
t=0 0
a=group:BUNDLE 0 1
a=msid-semantic: WMS local_av_stream local_av_stream
m=audio 42551 UDP/TLS/RTP/SAVPF 109 9 0 8 101
c=IN IP4 <IP_ADDRESS>
a=rtcp:9 IN IP4 <IP_ADDRESS>
a=candidate:2530088836 1 udp<PHONE_NUMBER> <IP_ADDRESS> 58679 typ host generation 0 network-id 3 network-cost 10
a=candidate:394662192 1 udp<PHONE_NUMBER> <IP_ADDRESS> 58679 typ srflx raddr <IP_ADDRESS> rport 58679 generation 0 network-id 3 network-cost 10
a=candidate:3628985204 1 tcp<PHONE_NUMBER> <IP_ADDRESS> 57923 typ host tcptype passive generation 0 network-id 3 network-cost 10
a=candidate:1916830594 1 udp 41885695 <IP_ADDRESS> 42551 typ relay raddr <IP_ADDRESS> rport 58679 generation 0 network-id 3 network-cost 10
a=candidate:1019445106 1 udp 25108223 <IP_ADDRESS> 43792 typ relay raddr <IP_ADDRESS> rport 57922 generation 0 network-id 3 network-cost 10
a=ice-ufrag:ZwJq
a=ice-pwd:Ee9L6YuXAJ34cURXzBmmM/F7
a=ice-options:trickle
a=fingerprint:sha-256 B4:86:8F:A6:E6:81:C0:73:FE:B2:3E:B1:D7:82:DB:45:68:7E:61:42:66:1F:52:48:52:0A:AD:60:FE:40:20:AC
a=setup:active
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=sendrecv
a=msid:local_av_stream 21f05543-4733-4143-b6a0-168580c09e0f
a=rtcp-mux
a=rtpmap:109 opus/48000/2
a=fmtp:109 minptime=10;useinbandfec=1
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=ssrc:1966771190 cname:obg1pKuTkxaHgcZK
m=video 9 UDP/TLS/RTP/SAVPF 126
c=IN IP4 <IP_ADDRESS>
a=rtcp:9 IN IP4 <IP_ADDRESS>
a=ice-ufrag:ZwJq
a=ice-pwd:Ee9L6YuXAJ34cURXzBmmM/F7
a=ice-options:trickle
a=fingerprint:sha-256 B4:86:8F:A6:E6:81:C0:73:FE:B2:3E:B1:D7:82:DB:45:68:7E:61:42:66:1F:52:48:52:0A:AD:60:FE:40:20:AC
a=setup:active
a=mid:1
a=extmap:5 urn:ietf:params:rtp-hdrext:toffset
a=extmap:4 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:7 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=sendrecv
a=msid:local_screen_av_stream 7bf461b5-76a9-4fc4-a399-819be85c5983
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:126 H264/90000
a=rtcp-fb:126 goog-remb
a=rtcp-fb:126 transport-cc
a=rtcp-fb:126 ccm fir
a=rtcp-fb:126 nack
a=rtcp-fb:126 nack pli
a=fmtp:126 packetization-mode=1;profile-level-id=42e01f
a=ssrc:2724353480 cname:obg1pKuTkxaHgcZK
SDP as well doesn't seem to reflect two video tracks. I'm I missing something here

Your code looks correct to me.
It's possible that the media was not ready at the time the SDP was created. If this is the case, then you will likely find that a renegotiation is needed - that new SDP should have the second m=video line in it.
A quick hack if you don't want to handle renegotiation would just be to introduce a short delay after adding the second transceiver and creating the offer (5 seconds is more than enough).
I have previously found that even with one webcam, if the webcam is not ready at the time the offer is created, the first SDP offer does not negotiate video.


Feature/uniprot-jenkins-implementation

This branch has been alive since v73, but I've been modifying it since then. My mistake to implement the version into the branch name!
This adds:

Jenkinsfile
S3 integration
environmental variable for release value
time stamped db names
clean up

@jweiser @SolomonShorser-OICR - Re-requested review yesterday, but is probably lost in the sea of PR emails. Please don't forget about me! (And thanks for the reviews thus far!!)


style(kibbeh): flex wrap leave button on xs screens

Before:

After:
XS:

SM:

MD and larger:

Looks good


LOOCV for Transfer Learning using Skorch

First and foremost, thanks a lot for the amazing "transfer learning" tutorial in Skorch.
Can you please guide how to apply leave-one-out cross-validation to this tutorial?
https://github.com/dnouri/skorch/blob/master/notebooks/Transfer_Learning.ipynb

In most cases skorch should already work with LOO.
Here is a minimal code example:
import numpy as np
from skorch import NeuralNetClassifier
from skorch.toy import make_classifier
from sklearn.model_selection import LeaveOneOut
from sklearn.model_selection import cross_val_score
from sklearn.datasets import make_classification

X, y = make_classification()
X = X.astype(np.float32)

# when using CV, make sure to set train_split=None to prevent internal train/valid split
# also, set verbose=0 to prevent excessively printing logs
net = NeuralNetClassifier(make_classifier(), verbose=0, train_split=None)
scores = cross_val_score(net, X, y, cv=LeaveOneOut(), scoring='accuracy')
print(np.mean(scores))

That being said, in the mentioned notebook, a Dataset is used for X. This doesn't combine well with sklearn, which will try to split the dataset and make a mess. It is thus easier to make this work if your input data is e.g. a numpy array or torch tensor (or dictionary with the help of SliceDict).
That also being said, I would not recommend using LOO for the given problem since this will result in 1 split -> 1 training for each sample, which takes far too long. How about making a manual train/validation split, train the model and optimize hyperparameters based on the internal split, and when finished testing on the validation data?

@monajalal Was your issue solved?

Closing this since the question got answered.


WSL

The APK is not found in a folder on my Ubuntu wsl :/
"Checking build
Launch failed: APK read error. ENOENT: no such file or directory, open '/home/***/Developer/ang03/android/app/build/outputs/apk/app-debug.apk'"

@Lazare-C
Before I dig further into this (I will need to setup a new Windows environment with Ubuntu WSL) - was the file definitely in that location?
Some gradle configurations place the APK in a different folder with a different name.


feat: nip-05 api

close #42

Pull Request Test Coverage Report for Build<PHONE_NUMBER>7
Details

80 of 80 (100.0%)  changed or added relevant lines in 15 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 97.039%

Totals

Change from base Build<PHONE_NUMBER>0:
0.2%

Covered Lines:
839

Relevant Lines:
873

💛  - Coveralls


Add GroupBy

It would be nice to have a "Group by" support. Seems simple enough.

I think we already have this feature but not indicate in readme. Please see https://github.com/go-xorm/builder/blob/03eb88feccce3e477c318ce7f6f1b386544ab20b/builder_select.go#L136 for more detail.


Unable to start nhost locally: invalid mount config for type "bind": bind source path does not exist

Describe the bug
I am not able to start nhost locally via nhost up due to the following error:
Error response from daemon: invalid mount config for type "bind": bind source path does not exist: [...omitted]/emails
To Reproduce
Steps to reproduce the behavior:

Install nhost CLI
Run nhost login and authenticate
Run nhost config pull
Run nhost up
See error

Expected behavior
nhost up runs successfully
Actual behavior
(base) ➜  backend git:(master) ✗ nhost up
Checking versions...
✅ Auth is already on a recommended version: 0.33.0
✅ Storage is already on a recommended version: 0.6.1
✅ PostgreSQL is already on a recommended version: 14.13-20240909-1
✅ Hasura is already on a recommended version: v2.38.0-ce
✅ Nhost CLI v1.24.5 for darwin-arm64 is already on the latest version
Setting up Nhost development environment...
Starting Nhost development environment...
[+] Running 0/7
 ⠙ Network backend_default           Created                                                                              0.1s
 ⠋ Container backend-configserver-1  Created                                                                              0.1s
 ⠋ Container backend-minio-1         Created                                                                              0.1s
 ⠋ Container backend-traefik-1       Created                                                                              0.1s
 ⠋ Container backend-mailhog-1       Created                                                                              0.1s
 ⠋ Container backend-dashboard-1     Created                                                                              0.1s
 ⠋ Container backend-postgres-1      Created                                                                              0.1s
 ⠋ Container backend-graphql-1       Created                                                                              0.0s
 ⠋ Container backend-auth-1          Creating                                                                             0.0s
 ⠋ Container backend-storage-1       Creating                                                                             0.0s
 ⠋ Container backend-console-1       Creating                                                                             0.0s
Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /host_mnt/Users/myusername/projects/myproject/nhost/emails
failed to start Nhost development environment: failed to start docker compose: exit status 1
- Do you want to stop Nhost's development environment? [y/N] N

Desktop

OS: MacOS 14.5
Browser -
nhost version v1.24.5
Docker version 25.0.3, build 4debf41

hello, thanks for your message. Either you are missing important and necessary folders or your docker setup has some issues. Could you run find nhost -type d in your project folder and share the output?

Thanks for the very quick answer; here's the output:

Output
nhost
nhost/migrations
nhost/migrations/default
nhost/migrations/default/1729605785775_init
nhost/emails
nhost/emails/test
nhost/emails/test/email-verify
nhost/emails/cs
nhost/emails/cs/email-verify
nhost/emails/cs/email-confirm-change
nhost/emails/cs/signin-passwordless
nhost/emails/cs/password-reset
nhost/emails/cs/signin-passwordless-sms
nhost/emails/generator
nhost/emails/bg
nhost/emails/bg/email-verify
nhost/emails/bg/email-confirm-change
nhost/emails/bg/signin-passwordless
nhost/emails/bg/password-reset
nhost/emails/bg/signin-passwordless-sms
nhost/emails/fr
nhost/emails/fr/email-verify
nhost/emails/fr/email-confirm-change
nhost/emails/fr/signin-passwordless
nhost/emails/fr/password-reset
nhost/emails/fr/signin-passwordless-sms
nhost/emails/es
nhost/emails/es/email-verify
nhost/emails/es/email-confirm-change
nhost/emails/es/signin-passwordless
nhost/emails/es/password-reset
nhost/emails/es/signin-passwordless-sms
nhost/emails/en
nhost/emails/en/email-verify
nhost/emails/en/email-confirm-change
nhost/emails/en/signin-passwordless
nhost/emails/en/password-reset
nhost/emails/en/signin-passwordless-sms
nhost/seeds
nhost/metadata
nhost/metadata/databases
nhost/metadata/databases/default
nhost/metadata/databases/default/tables

I was able to get the local environment running by stopping and deleting all existing nhost containers, deleting nhost/ and re-running the steps above with the third step being nhost init --remote.
I will let you know if I find more hints concerning the original errors.
Concerning the --remote flag: I found this via Google search, but I could not find actual documentation for this flag. Does it serve the same purpose as nhost config pull?

Closing this as this isn't an issue.

Concerning the --remote flag: I found this via Google search, but I could not find actual documentation for this flag. Does it serve the same purpose as nhost config pull?

For up to date information I'd suggest using --help:
nhost init --help
NAME:
   nhost init - Initialize a new Nhost project

USAGE:
   nhost init [command options]

OPTIONS:
   --remote    Initialize pulling configuration, migrations and metadata from the linked project (default: false) [$NHOST_REMOTE]
   --help, -h  show help

As you can see from the help it will download a bunch of things from the remote project. The rest will be initialized with defaults. So, to answer your questions, yes, one of the thing it does is equivalent to nhost config pull.

Getting similar issue - in a new nhost project - I upgraded to the latest postgres, hasura and auth versions (from the dashboard). It worked on the server, but locally, after resetting all images and nhost files:
Error response from daemon: invalid mount config for type "bind": stat .nhost/data/main/minio: operation not permitted
I presume there is an incompatibility somewhere for local dev development with the latest versions?

That is most likely an issue with your environment. Try:
nhost down --volumes
rm -rf .nhost
nhost up

If that doesn't fix it the issue might be on your docker setup.


Format README to template, fix method signature

Repoint this at https://github.com/NumbersStationAI/sql_column_presence_validator


update packages

:white_check_mark: Build TheIdServer 2.1.1-fix-dependencies1-0098 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/bfd789bbf7 by @)


remove seo for stealth discord

this is better to prevent against autoblocking

Sodium's getting killed anyways in a few months so there really isn't a need
Ephemeral's meta tags only appear if it's a particular hostname

sodium is a really good static proxy, it shouldn't be autoblocked.

react belongs in my asscheeks

It's a really fast proccy


Segmentation fault (core dumped)

Dear madam/sir,
I used ISOWN to identify somatic mutations and get the following error message when dong the annotation
bin/qpipeline tabix -m 2020 -d bin/../external_databases/00-ALL.modified.vcf.gz -A -E -p dbSNP142_All_20141124 -i output/sample.temp.annovar.vcf -f bin/../external_databases/hg19_random.fa > output/sample.temp.dbSNP.vcfsh: line 1: 36641 Segmentation fault      (core dumped) bin/qpipeline tabix -m 2020 -d bin/../external_databases/00-ALL.modified.vcf.gz -A -E -p dbSNP142_All_20141124 -i output/sample.temp.annovar.vcf -f bin/../external_databases/hg19_random.fa > output/sample.temp.dbSNP.vcf
Then I use gdb to debug the core file, there is the result
$ gdb bin/qpipeline core.36641
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-110.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/wfang/bin/ISOWN/bin/qpipeline...done.
[New LWP 36641]
Core was generated by 'bin/qpipeline tabix -m 2020 -d bin/../external_databases/00-ALL.modified.vcf.gz'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000000004250db in tabix_annotation_against_NCBI_VCF_dbSNP ()
Missing separate debuginfos, use: debuginfo-install zlib-1.2.7-17.el7.x86_64 (gdb)
How can I resolve it?

I have found the solution from #3 set (ulimit -s 65536) on linux


Mattel intellivision not present in emulator config list

Describe the Issue (If applicable)
A clear and concise description of what the bug is.
Intellivision not showing up in enulator config list,so any change should be done manually editing es_systems.cfg (as a workaround)
What device are you using?
Rg351v
What version of ArkOS are you on?
Latest from network update

I confirmed Intellivision is configured properly.  You won't see a emulator configuration for it because there's only one possible emulator available for it in ArkOS.  Just put your roms in the intellivision folder and play.


Unit test fails on docker:ubuntu

RTTR version: 0.9.7
commit hash: 1270a8950616969cf12e4804cd8b149bacc61625
platform: ubuntu
Dockerfile: https://gist.github.com/ctin/157f72efaa9695b9ee3d0fdde942903f
make command output:
[ 90%] Building CXX object src/unit_tests/CMakeFiles/unit_tests.dir/visitor/visitor_test_class.cpp.o
[ 91%] Linking CXX executable ../../bin/unit_tests
[ 91%] Built target unit_tests
Scanning dependencies of target run_tests
 91%] Running unit_tests

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unit_tests is a Catch v1.12.0 host application.
Run with -? for options

-------------------------------------------------------------------------------
library - load
  positive test
-------------------------------------------------------------------------------
/rttr/src/unit_tests/misc/library_test.cpp:58
...............................................................................

/rttr/src/unit_tests/misc/library_test.cpp:63: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:64: FAILED:
  REQUIRE( lib.get_error_string().empty() == true )
with expansion:
  false == true

-------------------------------------------------------------------------------
library - load
  load with suffix
-------------------------------------------------------------------------------
/rttr/src/unit_tests/misc/library_test.cpp:97
...............................................................................

/rttr/src/unit_tests/misc/library_test.cpp:109: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:110: FAILED:
  REQUIRE( lib.get_error_string().empty() == true )
with expansion:
  false == true

-------------------------------------------------------------------------------
library - multi load
  load multiple times
-------------------------------------------------------------------------------
/rttr/src/unit_tests/misc/library_test.cpp:124
...............................................................................

/rttr/src/unit_tests/misc/library_test.cpp:129: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:130: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:132: FAILED:
  REQUIRE( lib.get_error_string().empty() == true )
with expansion:
  false == true

-------------------------------------------------------------------------------
library - multi load
  load the same lib from different instance multiple times
-------------------------------------------------------------------------------
/rttr/src/unit_tests/misc/library_test.cpp:143
...............................................................................

/rttr/src/unit_tests/misc/library_test.cpp:150: FAILED:
  CHECK( lib1.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:151: FAILED:
  CHECK( lib2.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:153: FAILED:
  CHECK( does_plugin_type_exist() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:158: FAILED:
  CHECK( does_plugin_type_exist() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:160: FAILED:
  CHECK( lib2.unload() == true )
with expansion:
  false == true

-------------------------------------------------------------------------------
library - multi load
  load the same lib multiple times 2xload() and 2xunload()
-------------------------------------------------------------------------------
/rttr/src/unit_tests/misc/library_test.cpp:165
...............................................................................

/rttr/src/unit_tests/misc/library_test.cpp:171: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:172: FAILED:
  CHECK( does_plugin_type_exist() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:174: FAILED:
  CHECK( lib.unload() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:177: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:178: FAILED:
  CHECK( does_plugin_type_exist() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:180: FAILED:
  CHECK( lib.unload() == true )
with expansion:
  false == true

-------------------------------------------------------------------------------
library - using types
  property invoke
-------------------------------------------------------------------------------
/rttr/src/unit_tests/misc/library_test.cpp:189
...............................................................................

/rttr/src/unit_tests/misc/library_test.cpp:193: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:201: FAILED:
  CHECK( prop.is_valid() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:204: FAILED:
  REQUIRE( point.is_valid() == true )
with expansion:
  false == true

-------------------------------------------------------------------------------
library - using types
  sequential view
-------------------------------------------------------------------------------
/rttr/src/unit_tests/misc/library_test.cpp:221
...............................................................................

/rttr/src/unit_tests/misc/library_test.cpp:225: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:230: FAILED:
  CHECK( var_obj.is_valid() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:233: FAILED:
  CHECK( prop.is_valid() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:236: FAILED:
  CHECK( var_point_list.is_valid() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:238: FAILED:
  CHECK( var_point_list.is_sequential_container() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:242: FAILED:
  CHECK( view.is_valid() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:243: FAILED:
  CHECK( view.get_size() == 100 )
with expansion:
  0 == 100

/rttr/src/unit_tests/misc/library_test.cpp:246: FAILED:
  CHECK( lib.unload() == true )
with expansion:
  false == true

-------------------------------------------------------------------------------
library - unload derived types
  load lib
-------------------------------------------------------------------------------
/rttr/src/unit_tests/misc/library_test.cpp:257
...............................................................................

/rttr/src/unit_tests/misc/library_test.cpp:261: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:264: FAILED:
  CHECK( derived_t.is_valid() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:269: FAILED:
  CHECK( ret1 != base_classes.end() )
with expansion:
  {?} != {?}

/rttr/src/unit_tests/misc/library_test.cpp:272: FAILED:
  CHECK( derived_classes.size() == 1 )
with expansion:
  0 == 1

/rttr/src/unit_tests/misc/library_test.cpp:274: FAILED:
  CHECK( ret2 != derived_classes.end() )
with expansion:
  {?} != {?}

/rttr/src/unit_tests/misc/library_test.cpp:277: FAILED:
  CHECK( lib.unload() == true )
with expansion:
  false == true

-------------------------------------------------------------------------------
library - unload derived types
  load lib again
-------------------------------------------------------------------------------
/rttr/src/unit_tests/misc/library_test.cpp:290
...............................................................................

/rttr/src/unit_tests/misc/library_test.cpp:294: FAILED:
  CHECK( lib.load() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:297: FAILED:
  CHECK( derived_t.is_valid() == true )
with expansion:
  false == true

/rttr/src/unit_tests/misc/library_test.cpp:301: FAILED:
  CHECK( derived_classes.size() == 1 )
with expansion:
  0 == 1

/rttr/src/unit_tests/misc/library_test.cpp:303: FAILED:
  CHECK( ret != derived_classes.end() )
with expansion:
  {?} != {?}

/rttr/src/unit_tests/misc/library_test.cpp:305: FAILED:
  CHECK( lib.unload() == true )
with expansion:
  false == true

===============================================================================
test cases:  555 |  551 passed |  4 failed
assertions: 5019 | 4979 passed | 40 failed

src/unit_tests/CMakeFiles/run_tests.dir/build.make:57: recipe for target 'src/unit_tests/CMakeFiles/run_tests' failed
make[2]: *** [src/unit_tests/CMakeFiles/run_tests] Error 40
CMakeFiles/Makefile2:176: recipe for target 'src/unit_tests/CMakeFiles/run_tests.dir/all' failed
make[1]: *** [src/unit_tests/CMakeFiles/run_tests.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2

The basic test of loading the library failed. The path must be wrong. Can you debug it yourself?

Debugged in my project, gcc not linking dynamic lib if you not calling any
functions from it (because it marked as unused).
If your unit test does not call anything from library - this library will
not be linked.

C уважением,
Константин Ляшкевич
пн, 1 окт. 2018 г. в 22:50, acki-m<EMAIL_ADDRESS>
The basic test of loading the library failed. The path must be wrong. Can
you debug it yourself?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rttrorg/rttr/issues/195#issuecomment-426039487, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADi8l_llAs9MJhyyT3gUsdNKJp38cS7xks5ugnIAgaJpZM4XCnCz
.

Okay, I don't quite understand. How can we fix your issue?

the libs can not be loaded because it can't find where they are located.
As a workaround, from your build directory, set the environment LD_LIBRARY_PATH to the lib folder where they reside and then run make install. this will work.
This will work.

When I run the tests on travis, everything works..so I guess, that's a solution for your specific problem

The problem was bit different. My linker ignoring dynamic libraries while they are not used. Adding call of any function from library or linker flag " -no-unused" solving my problems. Thank you


Add "github:bazel-contrib/rules_jvm_external" as a source repo to rules_jvm_external's metadata

The old domain redirects to the new one, so I think it's okay to leave it in place.

Hello @jin, @cheister, modules you maintain (rules_jvm_external) have been updated in this PR. Please review the changes.

Based on the feedback in https://github.com/bazelbuild/bazel-central-registry/pull/2799#issuecomment-2358630184


add correct none check to distortion params

If distortion params are provided and not None, then this check fails with
RuntimeError: Boolean value of Tensor with more than one value is ambiguous

ns-dev-test

Can you run ns-dev-test to fix the formatting errors

Can you run ns-dev-test to fix the formatting errors

Thanks! Done!


Add a flag to KemenyOptimalAggregator to mute pulp logging

I'd be happy to submit a quick PR for this, I'm making a lot of calls to RRF and would love a flag to silence the calculation logs from pulp.
From what I gather, should only be a few lines of change to add this flag

Thanks, that would be great. Does RRF use PuLP? I think it's just KemenyOptimalAggregator, right?

Yup, I was thinking of just KemenyOptimalAggregator

Closed by #2, thanks!


Screen Size

Need to find a way to make it so that the initial window will fit in the screen in a comfortable manner
Static screen size in Line 7 of TestField.py is a temporary solution
screen = pygame.display.set_mode((1000, 1000))

issue is semi reseloved but scuffed need to add a exit button that will let player exit since bars dont exist anymore


added option for reliable queues

Background
This PR adds the ability to use reliable queues. There are two steps to enable this option:

Set Sidekiq::Grouping::Config.reliable to true in an initializer. This will enable the Lazarus module that revives expired jobs.
Set the Sidekiq batch_reliable worker option to true for the jobs that should use reliable queues.

I tried to keep the code backing the reliable queue option as separate as possible from the standard queues implementation so as to avoid any negative impact to the main workflow.
Testing
Tested in sandbox with messages sent to schools and districts and confirmed statuses are updated in batches. Added specs.
Risks
I haven't tested this with datasets larger than what we've got in sandbox.
Author Checklist

[x] A1 I added a Jira issue number
[x] A2 I added a Background section
[x] A3 I added automated tests, or they are not needed (explain why)
[x] A4 I described the manual tests I performed for this change
[ ] A5 I performance tested this with real data, or this does not affect performance
[x] A6 I described any risks with this change

Reviewer Checklist

[ ] R1 I understand the scope and function of this change
[ ] R2 This change fulfills the requirements in the Jira issue
[ ] R3 This change is good quality and provides a good user experience
[ ] R4 Future maintainers will be able to understand this code
[ ] R5 This code is sufficiently tested
[ ] R6 This change requires no further verification or testing

Thanks for the great comments @justinhoward. I will work on this and let you know when it's ready for another look. Assuming this got accepted in the parent repo, it'd be my first open source contribution so I'm pretty stoked.

The services sidekiq Redis instance has been upgraded to 6.2.6 and the updated queries appear to be working in sandbox. https://www.sandbox.parentsquare.com/feeds/157/delivery_stats


[QUERY] Large memory allocations when uploading a file with Azure.Storage.Blobs

Library name and version
Azure.Storage.Blobs 12.16.0
Query/Question
As per my understanding, when uploading a non-seekable stream, Azure.Storage.Blobs library allocates in memory a buffer whose size is equal to the MaximumTransferSize option set in the client (see Performance tuning for uploads and downloads with the Azure Storage client library for .NET)
In case no custom value is set, there is a default of 8MiB for MaximumTransferSize.
Behind the scenes the SDK is using an ArrayPool.Shared instance to allocate the buffer byte arrays needed for the upload. ArrayPool.Shared is being used and it is making sure that you could reuse the ArrayPool only for byte arrays up to 1MiB, otherwise, if size is too large for the pool it allocates an array of exactly the requested length
Assuming we have hundreds of small files to be uploaded, this means that for small file transfer, 8MiB are allocated on the LOH resulting in a big amount of allocations and a delayed collection.
Knowing that the guideline is to actually tweak accordingly the MaximumTransferSize, I am wondering why the default of 8MiB was chosen, knowing that it would have contradicted the ArrayPool.Shared choice.
Any idea/suggestion/feedback?
Thanks!
Environment
No response

Adding service team to look into this.

I don't believe it's any worse than no array pool
I think this is exactly the issue. For non-seekable streams, with default settings, we are never capable of using the default array pool (as the 8MiB default is conflicting with the 1MiB size of the default array pool)

The problem I see is not about optimization, rather is about applications going to provoke out of memory exceptions for fast and subsequent uploads from non-seekable streams.
/cc @jaschrep-msft

It seems this query has been resolved (partially by external chat) and there isn't an action item as a result.


CI: Create GitHub Actions workflow that tests LoopGPT

Adds a continuous integration configuration which uses GitHub Actions to run the LoopGPT tests using Pytest. It runs on each push and pull request, and also once a week on Monday and when manually triggered.
GitHub Actions needs to be enabled at https://github.com/farizrahman4u/loopgpt/actions

@EwoutH Thanks a lot for the PR! We'll get this merged soon.

Thank you!


fix(nuxt): prevent initial scroll jump when loading page

🔗 Linked issue
resolves https://github.com/nuxt/nuxt/issues/19664
resolves https://github.com/nuxt/nuxt/issues/25030
resolves https://github.com/nuxt/nuxt/issues/22487
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
When performing an initial load of a page, there are two navigation events that happen, first when the router plugin initialises, and then after all plugins run (to give a chance for plugins to register middleware).
This causes a jump of the scroll to the top and then after all plugins run, it restores the scroll position. However, this is unaesthetic and a bad user experience.
Rather than adjusting the scrollBehavior itself, we can set window.history.scrollRestoration to auto until these first two navigations have taken place.
https://github.com/vuejs/router/blob/main/packages/router/src/router.ts#L378-L381
This supersedes some of https://github.com/nuxt/nuxt/pull/24960 but by no means all. (cc: @bernhardberger)
📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have added tests (if possible).
[ ] I have updated the documentation accordingly.

Thanks! I overlooked this in my PR.


crash with uws 0.7.1 -> 0.7.6

Hi,
under high load (maybe 10.000 real clients randomly connecting and disconnecting), a socket.io server with documented defaults (perMessageDeflate false, clientTracking false), no ssl, crash:
src/unix/poll.c:98: uv_poll_start: Assertion !(handle->flags & (UV_CLOSING | UV_CLOSED))' failed.`

This is probably not a regression but rather an old flaw, I cannot see anything obvious that changed between these releases.
One way to trigger this assertion fail is to close the socket from JS inside the callback of send. Does Socket.IO use send callbacks?

this ?

Good thing is, this assertion is pretty self-explanatory and can only happen in 1-3 places, while one place (after calling the JS-callback which can mess up alot of things) is the most obvious.
How often does this happen? First time?
Maybe I should start with just adding a log message where and when this happens. You didn't get any dump of where this happened?

They emit drain from within the send callback, which calls flush which potentially (if having buffered data) sends again (with its own send callback). This is super strange and cannot possibly happen (send is not re-entrant).
One solution that probably solves this (it certainly fixes a lot of potential issues) is to wrap any send callbacks in process.nextTick just like the close function does.

Can you test 0.7.7? It should fix a whole bunch of possible crashes coming from the send callback.

There is significant overhead of using the send callback. I get 350 echoes/ms with and 450 without it, but what can you really do? Still better than ws's 32 :wink:

I'm closing this. Reopen if you still get problems.

It still happens, a few seconds after restart (and i cannot reopen).

Did i mention the Node.js version ? nodejs 4.4.3 from debian (with uv 1.9.0 and 1.9.1 depending on server).

You are not using the uv from the system so that version doesn't matter.
This is strange, I haven't made any changes that should break this. Can you revert back to 0.7.1 and make sure that one works, and then step up one version at a time until it breaks? If you can trigger it only seconds after restart it shouldn't be that hard to track down.

This is the complete (code) change between 0.7.1 and 0.7.7:
diff --git a/nodejs/addon.cpp b/nodejs/addon.cpp
index 5e49fa2..0f19ca0 100644
--- a/nodejs/addon.cpp
+++ b/nodejs/addon.cpp
@@ -177,8 +177,13 @@ public:
             data = node::Buffer::Data(value);
             length = node::Buffer::Length(value);
         } else if (value->IsTypedArray()) {
-            Local<ArrayBufferView> arrayBuffer = Local<ArrayBufferView>::Cast(value);
-            ArrayBuffer::Contents contents = arrayBuffer->Buffer()->GetContents();
+            Local<ArrayBufferView> arrayBufferView = Local<ArrayBufferView>::Cast(value);
+            ArrayBuffer::Contents contents = arrayBufferView->Buffer()->GetContents();
+            length = contents.ByteLength();
+            data = (char *) contents.Data();
+        } else if (value->IsArrayBuffer()) {
+            Local<ArrayBuffer> arrayBuffer = Local<ArrayBuffer>::Cast(value);
+            ArrayBuffer::Contents contents = arrayBuffer->GetContents();
             length = contents.ByteLength();
             data = (char *) contents.Data();
         } else {
diff --git a/nodejs/dist/package.json b/nodejs/dist/package.json
index 5ff4c36..b092e75 100644
--- a/nodejs/dist/package.json
+++ b/nodejs/dist/package.json
@@ -1,6 +1,6 @@
 {
   "name": "uws",
-  "version": "0.7.1",
+  "version": "0.7.7",
   "scripts": {
     "install": "node-gyp rebuild > build_log.txt 2>&1 || exit 0"
   },
diff --git a/nodejs/dist/uws.js b/nodejs/dist/uws.js
index dc5099e..e5f2aa1 100644
--- a/nodejs/dist/uws.js
+++ b/nodejs/dist/uws.js
@@ -1,7 +1,6 @@
 'use strict';

 const http = require('http');
-//const https = require('https'); // should we ever create an https server?
 const EventEmitter = require('events');
 const EE_ERROR = "Registering more than one listener to a WebSocket is not supported.";
 function noop() {}
@@ -14,13 +13,6 @@ const uws = (() => {
     }
 })();

-exports.PERMESSAGE_DEFLATE = 1;
-exports.SERVER_NO_CONTEXT_TAKEOVER = 2;
-exports.CLIENT_NO_CONTEXT_TAKEOVER = 4;
-exports.OPCODE_TEXT = 1;
-exports.OPCODE_BINARY = 2;
-exports.OPCODE_PING = 9;
-
 class Socket {
     /**
      * Creates a Socket instance.
@@ -31,13 +23,46 @@ class Socket {
     constructor(nativeSocket, nativeServer) {
         this.nativeSocket = nativeSocket;
         this.nativeServer = nativeServer;
-        this.onmessage = noop;
-        this.onclose = noop;
+        this.internalOnMessage = noop;
+        this.internalOnClose = noop;
         this.onping = noop;
         this.onpong = noop;
         this.upgradeReq = null;
     }

+    set onmessage(f) {
+        if (f) {
+            this.internalOnMessage = (message) => {
+                f({data: Buffer.isBuffer(message) ? new Uint8Array(message).buffer : message});
+            };
+        } else {
+            this.internalOnMessage = noop;
+        }
+    }
+
+    set onclose(f) {
+        if (f) {
+            this.internalOnClose = () => {
+                f();
+            };
+        } else {
+            this.internalOnClose = noop;
+        }
+    }
+
+    emit(eventName, arg1, arg2) {
+        if (eventName === 'message') {
+            this.internalOnMessage(arg1);
+        } else if (eventName === 'close') {
+            this.internalOnClose(arg1, arg2);
+        } else if (eventName === 'ping') {
+            this.onping(arg1);
+        } else if (eventName === 'pong') {
+            this.onpong(arg1);
+        }
+        return this;
+    }
+
     /**
      * Registers a callback for given eventName.
      *
@@ -47,15 +72,15 @@ class Socket {
      */
     on(eventName, f) {
         if (eventName === 'message') {
-            if (this.onmessage !== noop) {
+            if (this.internalOnMessage !== noop) {
                 throw Error(EE_ERROR);
             }
-            this.onmessage = f;
+            this.internalOnMessage = f;
         } else if (eventName === 'close') {
-            if (this.onclose !== noop) {
+            if (this.internalOnClose !== noop) {
                 throw Error(EE_ERROR);
             }
-            this.onclose = f;
+            this.internalOnClose = f;
         } else if (eventName === 'ping') {
             if (this.onping !== noop) {
                 throw Error(EE_ERROR);
@@ -79,20 +104,20 @@ class Socket {
      */
     once(eventName, f) {
         if (eventName === 'message') {
-            if (this.onmessage !== noop) {
+            if (this.internalOnMessage !== noop) {
                 throw Error(EE_ERROR);
             }
-            this.onmessage = () => {
+            this.internalOnMessage = () => {
                 f();
-                this.onmessage = noop;
+                this.internalOnMessage = noop;
             };
         } else if (eventName === 'close') {
-            if (this.onclose !== noop) {
+            if (this.internalOnClose !== noop) {
                 throw Error(EE_ERROR);
             }
-            this.onclose = () => {
+            this.internalOnClose = () => {
                 f();
-                this.onclose = noop;
+                this.internalOnClose = noop;
             };
         } else if (eventName === 'ping') {
             if (this.onping !== noop) {
@@ -123,10 +148,10 @@ class Socket {
      */
     removeAllListeners(eventName) {
         if (!eventName || eventName === 'message') {
-            this.onmessage = noop;
+            this.internalOnMessage = noop;
         }
         if (!eventName || eventName === 'close') {
-            this.onclose = noop;
+            this.internalOnClose = noop;
         }
         if (!eventName || eventName === 'ping') {
             this.onping = noop;
@@ -145,10 +170,10 @@ class Socket {
      * @public
      */
     removeListener(eventName, cb) {
-        if (eventName === 'message' && this.onmessage === cb) {
-            this.onmessage = noop;
-        } else if (eventName === 'close' && this.onclose === cb) {
-            this.onclose = noop;
+        if (eventName === 'message' && this.internalOnMessage === cb) {
+            this.internalOnMessage = noop;
+        } else if (eventName === 'close' && this.internalOnClose === cb) {
+            this.internalOnClose = noop;
         } else if (eventName === 'ping' && this.onping === cb) {
             this.onping = noop;
         } else if (eventName === 'pong' && this.onpong === cb) {
@@ -176,7 +201,9 @@ class Socket {
         }

         const binary = options && options.binary || typeof message !== 'string';
-        this.nativeServer.send(this.nativeSocket, message, binary ? exports.OPCODE_BINARY : exports.OPCODE_TEXT, cb);
+        this.nativeServer.send(this.nativeSocket, message, binary ? Socket.OPCODE_BINARY : Socket.OPCODE_TEXT, cb ? (() => {
+            process.nextTick(cb);
+        }) : undefined);
     }

     /**
@@ -208,7 +235,7 @@ class Socket {
             return;
         }

-        this.nativeServer.send(this.nativeSocket, message, exports.OPCODE_PING);
+        this.nativeServer.send(this.nativeSocket, message, Socket.OPCODE_PING);
     }

     /**
@@ -226,18 +253,10 @@ class Socket {
     }

     /**
-     * Static and per-instance readyState constants
+     * Per-instance readyState constants.
      *
      * @public
      */
-    static get OPEN() {
-        return 1;
-    }
-
-    static get CLOSED() {
-        return 0;
-    }
-
     get OPEN() {
         return Socket.OPEN;
     }
@@ -247,7 +266,7 @@ class Socket {
     }

     /**
-     * Returns the state of the socket (OPEN or CLOSED)
+     * Returns the state of the socket (OPEN or CLOSED).
      *
      * @public
      */
@@ -283,16 +302,16 @@ class Server extends EventEmitter {
     constructor(options, callback) {
         super();

-        var nativeOptions = exports.PERMESSAGE_DEFLATE;
+        var nativeOptions = Socket.PERMESSAGE_DEFLATE;
         if (options.perMessageDeflate !== undefined) {
             if (options.perMessageDeflate === false) {
                 nativeOptions = 0;
             } else {
                 if (options.perMessageDeflate.serverNoContextTakeover === true) {
-                    nativeOptions |= exports.SERVER_NO_CONTEXT_TAKEOVER;
+                    nativeOptions |= Socket.SERVER_NO_CONTEXT_TAKEOVER;
                 }
                 if (options.perMessageDeflate.clientNoContextTakeover === true) {
-                    nativeOptions |= exports.CLIENT_NO_CONTEXT_TAKEOVER;
+                    nativeOptions |= Socket.CLIENT_NO_CONTEXT_TAKEOVER;
                 }
             }
         }
@@ -371,12 +390,12 @@ class Server extends EventEmitter {

         this.nativeServer.onDisconnection((nativeSocket, code, message, socket) => {
             socket.nativeServer = socket.nativeSocket = null;
-            socket.onclose(code, message);
+            socket.internalOnClose(code, message);
             this.nativeServer.setData(nativeSocket);
         });

         this.nativeServer.onMessage((nativeSocket, message, binary, socket) => {
-            socket.onmessage(binary ? message : message.toString());
+            socket.internalOnMessage(binary ? message : message.toString());
         });

         this.nativeServer.onPing((nativeSocket, message, socket) => {
@@ -440,7 +459,7 @@ class Server extends EventEmitter {
      * @public
      */
     prepareMessage(message, binary) {
-        return this.nativeServer.prepareMessage(message, binary ? exports.OPCODE_BINARY : exports.OPCODE_TEXT);
+        return this.nativeServer.prepareMessage(message, binary ? Socket.OPCODE_BINARY : Socket.OPCODE_TEXT);
     }

     /**
@@ -476,8 +495,16 @@ class Server extends EventEmitter {

         this.nativeServer.close();
     }
-
 }

-exports.Server = Server;
-exports.uws = uws;
+Socket.PERMESSAGE_DEFLATE = 1;
+Socket.SERVER_NO_CONTEXT_TAKEOVER = 2;
+Socket.CLIENT_NO_CONTEXT_TAKEOVER = 4;
+Socket.OPCODE_TEXT = 1;
+Socket.OPCODE_BINARY = 2;
+Socket.OPCODE_PING = 9;
+Socket.OPEN = 1;
+Socket.CLOSED = 0;
+Socket.Server = Server;
+Socket.uws = uws;
+module.exports = Socket;
diff --git a/nodejs/echo.js b/nodejs/echo.js
index 55fd41c..731ca8f 100644
--- a/nodejs/echo.js
+++ b/nodejs/echo.js
@@ -17,9 +17,16 @@ wss.on('connection', function connection(ws) {
     console.log('Got a pong!');
   });

-  ws.on('message', function incoming(message) {
+  // EventEmitter interface
+  /*ws.on('message', function incoming(message) {
     ws.send(message, { binary: Buffer.isBuffer(message) }, sent);
-  });
+  });*/
+
+  // Web interface
+  ws.onmessage = function(e) {
+    ws.send(e.data);
+  };
+
 });

 wss.on('error', function error(e) {
diff --git a/src/Parser.h b/src/Parser.h
index b230dbc..37726a0 100644
--- a/src/Parser.h
+++ b/src/Parser.h
@@ -6,7 +6,7 @@
 #include "Network.h"
 #include <uv.h>

-#define STRICT
+#define STRICT_WS

 namespace uWS {

@@ -160,7 +160,7 @@ public:
                     socketData->pmd->compressedFrame = rsv1(frame);
                 }

-    #ifdef STRICT
+    #ifdef STRICT_WS
                 // invalid reserved bits
                 if ((rsv1(frame) && !socketData->pmd) || rsv2(frame) || rsv3(frame)) {
                     WebSocket(p).close(true, 1006);
@@ -182,7 +182,7 @@ public:
                         socketData->opCode[(unsigned char) ++socketData->opStack] = (OpCode) opCode(frame);
                     }

-    #ifdef STRICT
+    #ifdef STRICT_WS
                     // Case 5.18
                     if (socketData->opStack == 0 && !lastFin && fin(frame)) {
                         WebSocket(p).close(true, 1006);
diff --git a/src/Server.cpp b/src/Server.cpp
index 99f0f0a..d35e990 100644
--- a/src/Server.cpp
+++ b/src/Server.cpp
@@ -74,18 +74,22 @@ void Server::upgradeHandler(Server *server)
         memcpy(server->upgradeBuffer + 125, "\r\n", 2);
         size_t upgradeResponseLength = 127;

+        // Latin-1 µ = \xB5 but Autobahn crashes on this char
+        static char stamp[] = "Server: uWebSockets\r\n\r\n";
+
         // Note: This could be moved into Extensions.cpp as a "decorator" if we get more complex extension support
         PerMessageDeflate *perMessageDeflate = nullptr;
         ExtensionsParser extensionsParser(upgradeRequest.extensions.c_str());
         if ((server->options & PERMESSAGE_DEFLATE) && extensionsParser.perMessageDeflate) {
             std::string response;
             perMessageDeflate = new PerMessageDeflate(extensionsParser, server->options, response);
-            response.append("\r\n\r\n");
+            response.append("\r\n");
+            response.append(stamp);
             memcpy(server->upgradeBuffer + 127, response.data(), response.length());
             upgradeResponseLength += response.length();
         } else {
-            memcpy(server->upgradeBuffer + 127, "\r\n", 2);
-            upgradeResponseLength += 2;
+            memcpy(server->upgradeBuffer + 127, stamp, sizeof(stamp) - 1);
+            upgradeResponseLength += sizeof(stamp) - 1;
         }

         uv_poll_t *clientPoll = new uv_poll_t;
@@ -127,6 +131,10 @@ void Server::closeHandler(Server *server)

 Server::Server(int port, bool master, int options, int maxPayload, SSLContext sslContext) : master(master), options(options), maxPayload(maxPayload), sslContext(sslContext)
 {
+#ifdef NODEJS_WINDOWS
+    options &= ~PERMESSAGE_DEFLATE;
+#endif
+
     loop = master ? uv_default_loop() : uv_loop_new();

     recvBuffer = new char[LARGE_BUFFER_SIZE + Parser::CONSUME_POST_PADDING];
@@ -254,7 +262,7 @@ void Server::upgrade(uv_os_sock_t fd, const char *secKey, void *ssl, const char
 void Server::broadcast(char *data, size_t length, OpCode opCode)
 {
     WebSocket::PreparedMessage *preparedMessage = WebSocket::prepareMessage(data, length, opCode, false);
-    if (options & (PERMESSAGE_DEFLATE | SERVER_NO_CONTEXT_TAKEOVER)) {
+    if (options & PERMESSAGE_DEFLATE && options & SERVER_NO_CONTEXT_TAKEOVER) {
         size_t compressedLength = compress(data, length, inflateBuffer);
         WebSocket::PreparedMessage *preparedCompressedMessage = WebSocket::prepareMessage(inflateBuffer, compressedLength, opCode, true);

diff --git a/src/WebSocket.cpp b/src/WebSocket.cpp
index 314a496..2197a2d 100644
--- a/src/WebSocket.cpp
+++ b/src/WebSocket.cpp
@@ -150,7 +150,7 @@ void WebSocket::handleFragment(const char *fragment, size_t length, OpCode opCod
                 return;
             }

-            socketData->server->messageCallback(p, (char *) fragment, length, opCode);
+            socketData->server->messageCallback(p, (char *) fragment, socketData->server->maxPayload ? std::min<size_t>(length, socketData->server->maxPayload) : length, opCode);
         } else {
             socketData->buffer.append(fragment, socketData->server->maxPayload ? std::min(length, socketData->server->maxPayload - socketData->buffer.length()) : length);
             if (!remainingBytes && fin) {

My mistake, the crash happens as soon as version 0.7.0 (and 0.6.5 seems to be having a major issue and eats lots of memory).

Also note that it crashes without sending any message, just by having lots of clients connecting to socket.io.

I bet Socket.IO makes a ton of ping sends under the hood though. Anyways - I think its better to just fix 0.7.7+ instead of trying to find what changed. Obviously a whole lot has changed and I think its better to just add some debug prints at each uv_poll_start. I will make a shitty release that adds some more info to the Linux build which you can test and get some more info from.

Okay can you test out 0.7.8? It should tell you some more info.

Tried, but nothing more shows itself in the logs...

To the gitter

Hey don't release ! just push to a test branch and i'll work from there.

Can you check out this commit:
4417b389d0ae15e1eb6d7aa7422096ab4a57a7c1

Derp! Pointer dereference missing, wtf I need to sleep. This one:
3be3b0dac047803d4ec7eb589d51123045e79725

Seems to be working.

Will do a release tomorrow

FYI i thought i had the NOFILE limit for the processes set to 65535 (which should be more than enough and is the value returned by ulimit -n) but it was actually 4096 (checked with prlimit --pid).

Speaking of which, i find it a bit rude to drop the connection without any kind of warning.
Maybe a once-only message "failed to allocate a file descriptor, consider raising NOFILE limit" ?

Yeah, maybe. But so far all automatic drops (invalid frames, dup fails, accept fails, etc) have all been silent drops. Maybe I could add some warning but the most important is to not crash I guess.


[help] how do i install?

Hi there, I am new to using unity studio and the vrchat model i have used these shaders and there isnt a unitypackage file for it and I dont know how I install it. Can you help me out with it?

Unzip the download into your unity project. That's all that needs to be done.

Ok thanks!


Tests for error propagation

This PR adds some missing for the codebase of #1104 and removes dead code.

@armiol, PTAL.


client

API | Common | Forge

Closing as this has already been, somewhat, implemented in api-8.

Yes, but what about API-7?

Not happening on 7,


Clean apps fs testing

Managed to remove some translation and documentation material, the package is still fairly large though. Please let me know if it needs to be trimmed down even further.

When you add more apps, make sure you do them as separate PRs.  This is fine, but in the future please do one PR per app.

so do a unique branch and a unique PR


OneDrive forces "Open in New Window" Behavior

My system is Windows 10 with OneDrive for Business.
Anytime I right-click and Open the Documents directory in File Explorer two things happen:

The Documents directory is opened within the same occurrence of Windows Explorer, which is the expected behavior.
In addition a second File Explorer window is launched that places me in my OneDrive location (_C:\Users\MyUserID\OneDrive - Business_). This is unexpected behavior as I don't need this second window opened and am constantly forced to close it. Why does this happen and how do I disable it?

This issue only started just after I installed OneDrive for Business. I installed OneDrive for Business and synced my OneDrive to my Documents. I did this by right clicking on my Documents folder, selecting Location and entering C:\Users\MyUserID\OneDrive - Business\Documents and hitting OK.

Did you get to the bottom of this?


use framer generator on windows

Is there a way to use framer generator on windows ??? if not is there any other way i can import .psd files into framer.js???
Thanks for your time

While this is definitely would be interesting, it's not our focus currently.
If you export your files manually with photoshop, you can drop them in the "images" folder of your framer project and use them as images of a layer.

thank you for the reply and for your time...really appreciate it


Support for very long list of images in my-images

User may have a very, very long list of containers, need to scroll down then back up when switching between images.
Need to have the list scrollable, but have the editor fixed to the viewport.

Still an issue as of
DockstoreUI - 1.2-alpha.3
DockstoreApi - 1.2.0-beta.0


As a DevOps I want to know how to deploy my services (or routes) on OpenShift

Feature Request
As a DevOps I want to know how to deploy my services (or routes) on OpenShift **including any other Mercury components **
Description of Problem:
FSI needs the flexibility to determine the  Mercury components to be deployed that can include: routs, microservices, security components, databases, and more
Potential Solutions:

configurable pipeline
Mercury Framework operator

The operator takes care of this part. Use the Custom Resources defined for the service domains to do so.


Relax "QEMU binary /Users//.colima/_wrapper//bin/qemu-system-x86_64 is not properly signed"

"QEMU binary /Users//.colima/_wrapper//bin/qemu-system-x86_64 is not properly signed" is usually negligible for colima, but printed due to abiosoft/colima issue 796

cc @abiosoft


Properly limit the variable output size for BLAKE2

The upper limit of the output size is the default output size of the respective algorithm variants.
Checklist

[x] documentation is added or updated
[x] tests are added or updated

Branch 3.2 PR will be coming shortly.

https://github.com/openssl/openssl/pull/22661 PR for 3.2 branch

fixup pushed addressing @slontis comments. @t-j-h @mattcaswell please reconfirm.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

@t-j-h ping for reconfirm.

This pull request is ready to merge

Merged to the master branch. Thank you for the reviews.


RFC: Add a new command for generating example TFjobs

This command adds a new command genjob to hack/ directory. The command
generates TFJobs for testing purpose. Currently the generated jobs are
following the definitions of examples/tf_job.yaml and
examples/tf_job_gpu.yaml.
Example usage (generating 30 TFJobs):
$ ./genjob --kube-config-path ~/.kube/config --nr-tfjobs 30 --use-gpu --scheduler-name tfjob

I think the command is useful for testing tf-operator and kube-batchd. The remaining major todo is adding more realistic TFJob (especially distributed examples).

This change is

Coverage remained the same at 45.323% when pulling 7cb420f13518333074585e01ff0aadb2e29a056f on mitake:genjob into 6214e5607a60d555c37e5d28246dcbaae0815942 on kubeflow:master.

/ok-to-test
I like the idea!

/assign @gaocegege


LoggingConfiguration - FindTargetByName should also find target + fix for logging on a target even after removed

When configured directly with AddRule (Without using AddTarget first)
Also changed RemoveTarget so it can safely remove an active target. Resolves #2227 (And replaces #2259)
Discovered some tricky business with AddTarget(string name, Target target), that allows one to register a target with a different alias (instead of the actual target-name). Trying to support removing target by alias, and still removing correctly from active LoggingRules (ReferenceEquals)

thx!


Add prometheus metrics to the rewrite

The rewrite currently doesn't contain any k8up metrics.
The operator-sdk provides a default metrics endpoint though. So use that one to add the custom metrics, if possible.
Most metrics are defined in the observer or the scheduling in the old version:
https://github.com/vshn/k8up/blob/master/service/schedule/scheduleRunner.go#L30
https://github.com/vshn/k8up/blob/master/service/observe/subscription.go#L23
With #114 merged the new implementation lives on the development branch.

I'll take this

@Kidswiss quick question related to this task: what’s the best way to setup prometheus in my local cluster for dev mode?

@susana-garcia I usually just curl'd the /metrics endpoint to see if the metrics show up. As they are plain text it's pretty easy to verify that way.

@Kidswiss ok, thanks!


Docs route

In this MileStone, I carried out the following;

Set a route for the Docs in the navigation bar.
Made use of the Image built-in tag for Nextjs on the home page.
Set default widths and heights to the images.
Add alt attributes to the Image tags.

LGTM

@saintmalik  Thank you for approving my PR.


Merge branches 2

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/OfficeDev/skype-docs, working directory: W:\ymqr-s, target branch: live, target branch commit: 742ac4134e9344ed53099fa42ccd4a191931e26a, source branch: master, source branch commit: .
Learn more: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Skype/UCMA/activating-a-manually-provisioned-application.md
:white_check_mark:Succeeded

Skype/UCMA/activating-a-ucma-5-0-trusted-application.md
:white_check_mark:Succeeded

Skype/UCMA/activating-an-auto-provisioned-application.md
:white_check_mark:Succeeded

Skype/UCMA/audio-devices.md
:white_check_mark:Succeeded

Skype/UCMA/audiovideoflow.md
:white_check_mark:Succeeded

Skype/UCMA/back-to-back-user-agent-architecture.md
:white_check_mark:Succeeded

Skype/UCMA/calls.md
:white_check_mark:Succeeded

Skype/UCMA/conference-lobby.md
:white_check_mark:Succeeded

Skype/UCMA/conferencesession-state-transitions.md
:white_check_mark:Succeeded

Skype/UCMA/conversation-context-channel.md
:white_check_mark:Succeeded

Skype/UCMA/establishing-an-outgoing-call.md
:white_check_mark:Succeeded

Skype/UCMA/extending-the-mediaprovider-class.md
:white_check_mark:Succeeded

Skype/UCMA/general-application-activation.md
:white_check_mark:Succeeded

Skype/UCMA/mediaprovider-recommendations.md
:white_check_mark:Succeeded

Skype/UCMA/security-considerations-in-ucma-5-0.md
:white_check_mark:Succeeded

Skype/UCMA/server-platforms.md
:white_check_mark:Succeeded

Skype/UCMA/ucma-2-0-core-applications-coexistence-migration-and-upgrade-scenarios.md
:white_check_mark:Succeeded

Skype/UCMA/ucma-5-0-building-blocks.md
:white_check_mark:Succeeded

Skype/UCMA/ucma-5-0-exception-model.md
:white_check_mark:Succeeded

Skype/UCMA/ucma-applications-coexistence-migration-and-upgrade-scenarios.md
:white_check_mark:Succeeded

Skype/UCMA/what-is-ucma-5-0.md
:white_check_mark:Succeeded

Skype/toc.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


UnifiedFactions Error (Not working) - Timberborn Update 4

Hello!
I got this message (in red color) while using UnifiedFactions mod, I downloaded it from Mod Manager inside of the game, version 1.3.2, Timberborn Update 4 (v<IP_ADDRESS>).
[Error  :UnifiedFactions] Entrypoint failed: Could not load type Timberborn.FactionSystemGame.FactionObjectCollection, Timberborn.FactionSystemGame, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null while decoding custom attribute: (null)
Thank you so much, screenshot added.

I miss unified factions, any chance of a return?  Thanks for the work you have done, I enjoyed it while it was working.  Please love and timberborn.


Topology post has a gap.

The proof that the closure of a subset S of a topological space is the intersection of all closed supersets of S assumes that we know the closure of S is closed, but that actually hasn't been proved yet in the post.

Closed by 7b42a515607f6ded5657731de3d67c3bfa89b92e


Separate WithUserNamespace for different uid and gid mapping

What is the problem you're trying to solve
oci.WithUserNamespace() in
https://github.com/containerd/containerd/blob/master/oci/spec_opts.go#L442
creates both mapping of uid and gid in host for container. We would like to separate this into cases of different uid and gid mapping.
Describe the solution you'd like
Split oci.WithUserNamespace into oci.WithUserUIDNamespace and oci.WithUserUIDNamespace. This implementation can be helpful to start ctr run in different mappings.
Additional context
#3848 will be using this. I would like to implement this if possible. Would there be backward compatibility issues? cc @estesp @AkihiroSuda

This should be like  WithUserNamespace(uidMap, gidMap []specs.LinuxIDMapping).
You can break compatibility, probably no project is using this.

I added the PR at #3881

Merged at #3881. Thanks for the merge!


Added Image, Snapshot and IP metrics

Added support for Image Events and Pollsters
Added Snapshot Events
Added IP Allocation Events
Updated Infer.hs for instance_disk
Fixed some prism bugs
Added missing tests
@tranma
Succeeds #3

hold on a sec. I'm cleaning up some of the merged code, then I will rebase this onto master.

can you rebase this branch onto master? Use interactive rebase to graft changes & squash commits. Once it's up to date we'll check & merge.

Ceilometer.Infer is gone, the code that looks up the schema sourcedict and give you a concrete type is in Ceilometer.Client, you need to add your tags checking there.

remove all the Typeable derivations, they are no longer needed.
Then merge yourself.


Resistor network size difficult to obtain

The 1206x4 resistor network is difficult to obtain from AliExpress, or have to revert to Mouser or other supplyers with prohibitive (at least for hobbyist) high prices. These have to be replaced with either smaller components (1206 as total package) or separate resistors.

Smaller parts might be difficult to solder by hand for DIY-people. Maybe the resistor networks can be duplicated, so for external fabbing the SMD components can be used, while for DIY-enthousiasts the though-hole option is still available.

Going to be solved in #3

Solved in version 1.1 of HUB75HAT. Smaller components used, designed to be manufactured by a fab (JLCPCB / PCBWAY / others)


bug: error when unknown parameters are passed to the main executable

For some reason the 'coverageReporter' issue does not occur anymore and the tests pass without that if statement.
@RubenVerborgh Also missing a check on not having filenames as argument, I think.
We interpreted this as follows: a user cannot start the server with this command ./bin/server.js -s since -s has no default value.
Do you want us to actually check if the value is an actual path to a file ?

@RubenVerborgh Also missing a check on not having filenames as argument, I think.
We interpreted this as follows: a user cannot start the server with this command ./bin/server.js -s since -s has no default value.

It would be: a user cannot start the server with ./bin/server.js foo bar foo.txt bar.txt since these arguments have no meaning to the server.