next/head allow duplicates if it has uniq keys

resolves #4115
For now, I just added 'article:tag' so it could be duplicated if we need more we have to extend:
const ALLOWED_DUPLICATES = ['article:tag']

hi @timneutkens, could you please check this pull request and approve the merge if everything is OK.

Hi @timneutkens
yes, sure.

hei @timneutkens,
I committed integration tests. Sorry for ugly merges I really do not know what's happening with all these merges. It seems whenever I update my fork that commit land on this pull request. :-(

Thank you very much @davscro!


Instant exceptions when building to WebGL on Unity.

New Issue Checklist

[x] I am not disclosing a vulnerability.
[x] I am not just asking a question.
[x] I have searched through existing issues.
[x] I can reproduce the issue with the latest versions of Parse Server and the Parse .NET SDK.

Issue Description
An ArgumentException and many other similar exceptions are occuring whenever building a Unity build with Parse onto a WebGL release. This exception occurs as soon as the project is run in the browser, as well as whenever I attempt to use any Parse methods, such as ParseClient.Instance.LogInAsync(string username, string password) in the browser.
Example Exception:
ArgumentException: Cannot register a type that does not implement the default constructor!
  at Parse.Platform.Objects.ParseObjectClassController.AddValid (System.Type type) [0x00000] in <00000000000000000000000000000000>:0

When exceptions are set to display the full exception and stack trace in the build settings, I also get this as the first exception, but in any attempts after that (for instance, in the Update loop), I instead get a NullReferenceException.
ArgumentException:
ArgumentException: Cannot register a type that does not implement the default constructor!
  at Parse.Platform.Objects.ParseObjectClassController.AddValid (System.Type type) [0x00000] in <00000000000000000000000000000000>:0
  at Parse.Platform.Objects.ParseObjectClassController.AddIntrinsic () [0x00000] in <00000000000000000000000000000000>:0
  at Parse.ParseClient..ctor (Parse.Abstractions.Infrastructure.IServerConnectionData configuration, Parse.Abstractions.Infrastructure.IServiceHub serviceHub, Parse.Abstractions.Infrastructure.IServiceHubMutator[] configurators) [0x00000] in <00000000000000000000000000000000>:0
  at ParseClientInitializer.Awake () [0x00000] in <00000000000000000000000000000000>:0

NullReferenceException:
System.NullReferenceException: Object reference not set to an instance of an object.
  at Parse.UserServiceExtensions.LogInAsync (Parse.Abstractions.Infrastructure.IServiceHub serviceHub, System.String username, System.String password, System.Threading.CancellationToken cancellationToken) [0x00000] in <00000000000000000000000000000000>:0
  at ParseClientInitializer.LoginParseClient (LoginCredentials loginCreds) [0x00000] in <00000000000000000000000000000000>:0
  at JavascriptHook.ReceiveLoginCredentials (System.String loginJson) [0x00000] in <00000000000000000000000000000000>:0
  at JavascriptHook.Start () [0x00000] in <00000000000000000000000000000000>:0
  at System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0
  at JavascriptHook.Start () [0x00000] in <00000000000000000000000000000000>:0
UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
JavascriptHook:ReceiveLoginCredentials(String)
<Start>d__6:MoveNext()
System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Start(<Start>d__6&)
JavascriptHook:Start()

Full example code:
    void Awake()
    {
        var connectionDataClient = new ParseClient(new ServerConnectionData
        {
            ApplicationID = "APP_ID",
            ServerURI = "http://<IP_ADDRESS>:1337/parse/",
            Key = "FAKE_API_KEY",
            MasterKey = "FAKE_MASTER_KEY"
        },
            new LateInitializedMutableServiceHub { },
            new MetadataMutator
            {
                EnvironmentData = new EnvironmentData { OSVersion = SystemInfo.operatingSystem, Platform = $"Unity {Application.unityVersion} on {SystemInfo.operatingSystemFamily}", TimeZone = TimeZoneInfo.Local.StandardName },
                HostManifestData = new HostManifestData { Name = Application.productName, Identifier = Application.productName, ShortVersion = Application.version, Version = Application.version }
            },
            new AbsoluteCacheLocationMutator
            {
                CustomAbsoluteCacheFilePath = $"{Application.persistentDataPath.Replace('/', Path.DirectorySeparatorChar)}{Path.DirectorySeparatorChar}Parse.cache"
            }
        );
        connectionDataClient.Publicize();
    }
    public void LoginParseClient(string username, string password)
    {
        ParseClient.Instance.LogInAsync(username, password);
    }
    public void Start() {
       LoginParseClient("myUsername", "myPassword");
    }

Has anyone else encountered this issue before? Is there any workarounds, or is Unity web deployment not supported?
Steps to reproduce

Create a unity project. Add Parse.dll to Assets/Plugins.
Create a code file with a ParseClient initialization connecting to an existing parse server with code for logging in a user with LogInAsync.
Observe that the code runs correctly when running on a local test.
Set target build platform to WebGL
Set webGL settings for maximum web compatability. Build settings --> Publishing settings --> Turn on stack traces, set compression to Gzip, turn on compression fallback
Build and run

Actual Outcome
When loading in files that use code from ParseInfrastructure, it causes an ArgumentException on startup. From then on, any uses of the code cause a NullReferenceException. The errors and stack traces are seen above.
Expected Outcome
The code should simply log in the user.
Environment
Unity 2022.3.31f1
Server

Parse Server version: 3.0.2
Operating system: MacOS Sonoma 14.4.1
Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): Local

Database

System (MongoDB or Postgres): MongoDB
Database version: n/a
Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): Local

Client

Parse .NET SDK version: 3.0.2

Logs

I replicated the issue on Unity 2022.3.37f1, exploring currently to see if I can determine the root cause.

Is Unity WebGL intended to be supported by Parse, but has this critical issue? Or is it not supported, and this is what happens when you try to use it?

The same problen in Unity Android build. Version 3.0.2.
ArgumentException: Cannot register a type that does not implement the default constructor!

Android.
Fix by add link.xml
assembly fullname="Parse" preserve="all"


Update sMQTTplatform.h

adding the define 'sMQTT_SOCKET' in .ino files, users can use own sockets compatible with the library

It seems to me that in order for such a solution to work, I will have to write a base class for the client and server, and users will be able to inherit from them. otherwise I think it won't compile because the library inside doesn't know about your library.
You can go the second way, you create your device and I add it.


Question: miss generic\common type altrnative to object

Hi, trying it out. I notice I only get warning on object and not object arrays:
[MemoryPackable]
partial class Test
{
        public object O;
	public object[] OA;
}

Here only O produce an error:
Error	MEMPACK018	The MemoryPackable object 'Test' member 'O' type is 'object' that can't serialize
OA give no error. Does this make sense?
I tried this:
[MemoryPackable]
partial class Test
{
        [MemoryPackAllowSerialize]
        public object O;
	public object[] OA;
}

But the error persist.
I am working on code for a client proxy. I want to have an array of arguments and a return value, and these must\will always be [MemoryPackable]. But it seems I can not use object for this. Next idea was if it was possible to use IMemoryPackable<> unbounded, but that wont work. Next idea was if there is possible to use the base interface IMemoryPackFormatterRegister?
[MemoryPackable]
partial class Test
{
	public IMemoryPackFormatterRegister O;
	public IMemoryPackFormatterRegister[] OA;
}

But the error persist.
I wish there was a way to declare that the type will be any [MemoryPackable] type, eg. it would be nice it this worked:
[MemoryPackable]
partial class Test
{
	public IMemoryPackable O;
	public IMemoryPackable[] OA;
}

I hope this make some sense. Thanks.

It must be possible to determine the type in some way.
One way to do this is to use a common Union interface and a DynamicUnionFormatter.

All the types in the system (either memorypackable or native types like int)  will go thru this proxy so I dont think union is possible here.

object serialization, you need to embed typeName to serialize value.
see: https://learn.microsoft.com/en-us/dotnet/standard/serialization/binaryformatter-security-guide
This is unsafe object formatter.
public sealed class UnsafeObjectFormatterAttribute : MemoryPackCustomFormatterAttribute<UnsafeObjectFormatter, object>
{
    public override UnsafeObjectFormatter GetFormatter()
    {
        return UnsafeObjectFormatter.Default;
    }
}

public sealed class UnsafeObjectArrayFormatterAttribute : MemoryPackCustomFormatterAttribute<UnsafeObjectArrayFormatter, object?[]>
{
    public override UnsafeObjectArrayFormatter GetFormatter()
    {
        return UnsafeObjectArrayFormatter.Default;
    }
}

public sealed class UnsafeObjectFormatter : MemoryPackFormatter<object>
{
    public static readonly UnsafeObjectFormatter Default = new UnsafeObjectFormatter();

    // see:http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx
    static readonly Regex AssemblyNameVersionSelectorRegex = new Regex(@", Version=\d+.\d+.\d+.\d+, Culture=[\w-]+, PublicKeyToken=(?:null|[a-f0-9]{16})", RegexOptions.Compiled);
    static readonly ConcurrentDictionary<Type, string> typeNameCache = new ConcurrentDictionary<Type, string>();

    public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref object? value)
    {
        if (value == null)
        {
            writer.WriteNullObjectHeader();
            return;
        }

        var type = value.GetType();

        if (!typeNameCache.TryGetValue(type, out var typeName))
        {
            var full = type.AssemblyQualifiedName!;

            var shortened = AssemblyNameVersionSelectorRegex.Replace(full, string.Empty);
            if (Type.GetType(shortened, false) == null)
            {
                // if type cannot be found with shortened name - use full name
                shortened = full;
            }

            typeNameCache[type] = shortened;
            typeName = shortened;
        }

        writer.WriteObjectHeader(2);
        writer.WriteString(typeName);
        writer.WriteValue(type, value);
    }

    public override void Deserialize(ref MemoryPackReader reader, scoped ref object? value)
    {
        if (!reader.TryReadObjectHeader(out var count))
        {
            value = null;
            return;
        }

        if (count != 2) MemoryPackSerializationException.ThrowInvalidPropertyCount(2, count);

        var typeName = reader.ReadString();
        var type = Type.GetType(typeName!);
        reader.ReadValue(type!, ref value);
    }
}

public sealed class UnsafeObjectArrayFormatter : MemoryPackFormatter<object?[]>
{
    public static readonly UnsafeObjectArrayFormatter Default = new UnsafeObjectArrayFormatter();

    public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref object?[]? value)
    {
        if (value == null)
        {
            writer.WriteNullCollectionHeader();
            return;
        }

        writer.WriteCollectionHeader(value.Length);
        foreach (var item in value)
        {
            var v = item;
            UnsafeObjectFormatter.Default.Serialize(ref writer, ref v);
        }
    }

    public override void Deserialize(ref MemoryPackReader reader, scoped ref object?[]? value)
    {
        if (!reader.TryReadCollectionHeader(out var length))
        {
            value = null;
            return;
        }

        if (length == 0)
        {
            value = Array.Empty<object>();
            return;
        }

        if (value.Length != length)
        {
            value = new object[length];
        }

        for (int i = 0; i < length; i++)
        {
            object? v = null;
            UnsafeObjectFormatter.Default.Deserialize(ref reader, ref v);
            value[i] = v;
        }
    }
}

You can use like this.
[MemoryPackable]
partial class Test
{
        [UnsafeObjectFormatter]
        public object O;
        [UnsafeObjectArrayFormatter]
	public object[] OA;
}

Thank you so much. I got a nullref in UnsafeObjectArrayFormatter.Deserialize and changed from
if (value.Length != length)
{
value = new object[length];
}

to
if (value == null || value.Length != length)
{
value = new object[length];
}

Then it works! Very nice:-)
Maybe it could be included in the package.

btw: i see there is already src/MemoryPack.Core/Formatters/TypeFormatter.cs
so it maybe overlap with some of this code. I see src/MemoryPack.Core/Formatters/TypeFormatter.cs also does not have the typeNameCache, so maybe a potential for code merge\reuse here.

I don't want to include it in the standard because it would be a very Unsecure option, as explained in BinaryFormatter.
However, I understand that there is a demand for this, just as the TypelessFormatter was popular in MessagePack for C#.
Yes, I may introduce it in the future.


[vectorized][udf] improvement java-udaf with group by clause

Now call add_batch will calculate the whole batch at once
Proposed changes
Issue Number: close #10295
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Btw, we should try to put all for-loop inside java side. Besides batch_add, we also should make merge a batch call because  calling a JNI for each row lead to too much JNI overhead now


Add custom router rule support for Traefik (HostRegexp, etc ...)

https://docs.traefik.io/v2.0/routing/routers/#rule

In jsonnet TraefikLabels, the hostname parameter is used for both local certificate generation (cfssl) and traefik router rule, so it's not that simple.
I think we should add an additional and optional parameter to this function and TraefikVirtualHost function, named router_rule to override the default generated router rule from hostname ("Host(" + hostname + ")").


Allow dependabot to check ruby gems

Description

This change allows dependabot to check ruby gem dependencies which this project uses and automatically submit PRs with version bumps in order to keep packages up-to-date.
https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/configuration-options-for-dependency-updates
Related Issue

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] All commits have been signed-off for the Developer Certificate of Origin.

Unfortunately, this won't work. Our Gemfile.lock includes both the windows and *nix gems and to make that happen we have to add logic to our Gemfile that Dependabot won't parse. I wish we could enable Dependabot for this repo since it makes life oh-so-easy, but it's not possible right now.


Make ^crud add case-insensitive

^crud series add name_en "10Th Anniversary Memorial Exchange" series_type regular
^ this failed but
^crud series add name_en "10th Anniversary Memorial Exchange" series_type regular
^ this worked (note the T in 10th) so
I assume there's some case sensitive thing going on, but this should really be 100% case insensitivity
you can step 1) look  up correct casing, step 2) insert

jk daleks is cursed


feat(vpool): sqrt of liquidity depth tracked on pool

Summary

Location
Description

x/common
Added functions for computing the square root of sdk.Dec and big.Int values and corresponding tests. The exact square root is computed using the underlying big integer for the decimal and preserves precision more than root solving.

proto/vpool
Added SqrtDepth as a field of the Vpool type. This is part of an iterative change toward using the base reserves, peg multiplier, and bias for pricing swaps.

x/vpool
Integrates changes to the protos, adds validation checks to Vpool.Validate, and uses the new square root functions in EditSwapInvariantProposal

modules like spot, oracle, perp, etc.
Renames or other no-opp refactors

Notes to self (ignore)

[x] fix types tests
[x] fix keeper tests
[x] fix damage dealt to other modules
[x] fix integration tests
[x] perform self-review
[x] write review guide

I lack some context on why this change. Is there any doc?

@jgimeno Missing fields from the AMM struct here: https://github.com/NibiruChain/think-tank/blob/794b28c3951a7605b8832595c03dbc82b46d2070/drift-v1/programs/clearing_house/src/state/market.rs#L90-L107
This is one of the pieces needed to close

#1236
#1241


Fix deserialize of TABL with foreign keys

Activation of foreign keys now uses with same logic as #3545:

remove keys during DDIC phase
add keys during LATE phase

Closes #3867

thanks 👍


Allow saving high-resolution screenshots from the visualizer

Here's how we could temporarily increase the size of the renderer while taking a screenshot: https://stackoverflow.com/questions/27534206/three-js-screenshot-custom-size-using-an-offscreen-rendere
It would be great to save screenshots as 300 dpi or maybe even 600 dpi.

I implemented the solution suggested and it creates much nicer pngs indeed but you have to specify dimensions (in pixels)

Still deciding on entry point to avoid clutter. Not exactly DPI spec. but DPI has many players involved and no cross-platform measure it seems.

Do you mean the end-user must specify the dimensions? Why is that?

The mapping between resolution DPI (misleading)/PPI and inches doesn't seem to be available in a reasonable (non-hacky way). The two options I'd suggest would be either ask user for size in inches and PPI and compute resolution from that (to pass to the code) or just have the user do the multiplication and specify resolution.
https://www.iprintfromhome.com/mso/understandingdpi.pdf
Either way the function I implemented based on your link above seem to print at arbitrary resolution. Please let me know what you think.

Ah thanks for explaining; I think I understand. Having the user specify the dimensions in inches and then a separate resolution (in pixels/inch) sounds reasonable, though using inches might be confusing for those outside the US. Having the user specify the dimensions in pixels also sounds fine to me.
My main concern is about preserving the aspect ratio. We should make it hard for the user to change the aspect ratio.

@aymanhab How do you exercise this feature? It sounds like you are also working on the background color so this should move to in progress.

Press 'd' when the Visualizer Window has the focus. BTW, it might be worthwhile to replace
// original
var screenShotHiRes = renderer.domElement.toDataURL();
// proposed
var screenShotHiRes = renderer.domElement.toDataURL( 'image/jpeg', 0.92 );

in OpenSimViewport.js to help ensure a screenshot is always produced. By default, toDataURL() generates a PNG, but no file is saved (and no warning/error message is reported) if the number of characters in the file exceeds 65,535---which I believe depends on the frequency content of the image. 0.92 is the default JPEG quality, and should be indistinguishable from the PNG.

Thanks for the note and for the suggestion @tkuchida
In earlier discussion @chrisdembia indicated preference of non lossy png over jpg, would love to hear from him.
One other potentially useful feature is to replace the button to screencapture with a flyover toolbar with different buttons for png, jpg. Do you think this is 4.0 worthy? @jenhicks

I can't get this feature to work. Maybe because I am using a virtual machine?

One other potentially useful feature is to replace the button to screencapture with a flyover toolbar with different buttons for png, jpg.

It would be great to get PNG to work reliably. If the user clicks the button to export a screencap and the file size exceeds 65,535 characters, it would be nice to display a message letting them know that the screencap couldn't be generated and how they can fix/work around the problem.

If the user clicks the button to export a screencap and the file size exceeds 65,535 characters, it would be nice to display a message letting them know that the screencap couldn't be generated and how they can fix/work around the problem.

I think this may have been the issue for me. If I use my laptop screen vs. big screen at work I can save an image.

Having high resolution images in 4.0 definitely seems like a good idea to me. The factor 4 multiplication seems a little arbitrary to me. Some alternate options:

Save the image at the highest resolution possible when you click on the camera icon. This seems like potentially the simplest option.
Give people options to adjust the resolution and potentially file type.

As a user (2) would be nice, but I'd be fine with (1), too since I could down-sample or convert to a different file type in post processing.

@jenhicks Option 1 would not be hard to implement if we can get the size before we actually create the image, if not we should give an error if size is too big. The number 4 was picked as a start but changing it or setting it as a preference in the Advanced  dropdown would be very easy. On my generic desktop/laptop screen size it produces images with better than 300 dpi which was described as the main goal above

The goal, in my mind, is to produce 300 DPI images on a typical/low-end machines with minimal effort.

This page mentions a size limit (under "Common problems"):

Thanks @tkuchida The spec of the method used to get the image from canvas states default DPI of 92, which suggests that indeed a factor of 4 is smallest integer to get to 300 DPI. I'm leaning to make this the default and address the size/error issues and leave it at that unless we're aware of use cases where 300 DPI is not enough.

Here's the latest fixes/proposal:

ScreenCapture  button always does at least 300 DPI.
Pressing  'd' produces close  to 900 DPI capture
I changed the plumbing so that there's no size limitation due to URLs size limit above, as such there's no max resolution.
I can expose the scale up factor or file type in advanced settings either on the visualizer side or as an application side setting but it may not be necessary considering that the limitation has been removed.  Let me know what you think. @jenhicks @tkuchida @chrisdembia and @aseth1

IMO the interface of pressing 'd' is not very clear. What about having a preference that is the scale-up factor, and by default its value is whatever you're using to achieve "at least 300 DPI" (4x?)

I agree that pressing d is not very clear to the user. @chrisdembia 's proposal sounds reasonable to me.

Agreed @chrisdembia The tradeoff is that more options crowd the interface but this sounds reasonable.

@aymanhab Did you add the option to set the preference for resolution? Pressing "d" did not work for me in the 3-13 build. I would either save at a higher resolution when you press the camera button or add a preference in Edit->Preferences or elsewhere. Pressing of "d" is not intuitive and doesn't seem to fit with the rest of our interface.

@jenhicks This is entirely client/visualizer side. The controls menu has a a slider for Scaleup Factor that goes from 1 to 10, defaults to 4.

Ah ... I see the option now.
Behavior on my machine:

If I set the res to 5 or higher, it turns the entire visualizer black. A black image is saved. I have to restart to be able to see a model again
At the default 4 setting, the image saved looks good, but the visualizer background turns black (from the default gray) until I click on the visualizer again.

Jen, I fixed the background color issue after the merge. On my desktop I can go up to 10 without issue. What you describe is a browser crash. If 4 is good enough I can make it the max. Would love to hear from others as well.

Can you give us your feedback on Windows, Mac (latest build, Capture Scaleup under Controls) Slider 1-10. Specifically:

Does it crash or produce black image for settings above 4?
Would limiting the max to 4 (300 DPI) be sufficient.
@tkuchida @aseth1 @chrisdembia @jimmyDunne @carmichaelong

@aymanhab Does everyone have access to the dropbox folder with the latest build (3-13)?

No but they can use SourceForge or appveyor.
On Mar 15, 2018 8:38 AM, "Jen Hicks"<EMAIL_ADDRESS>wrote:

@aymanhab https://github.com/aymanhab Does everyone have access to the
dropbox folder with the latest build (3-13)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opensim-org/opensim-gui/issues/299#issuecomment-373420506,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADyccMq9My8javwdw77ozG5Op4WK5bkSks5teosIgaJpZM4OZNJq
.

Would be also good to report what platform was used: Windows, Mac. Windows
on vm
On Mar 15, 2018 8:43 AM, "Ayman Habib"<EMAIL_ADDRESS>wrote:
No but they can use SourceForge or appveyor.
On Mar 15, 2018 8:38 AM, "Jen Hicks"<EMAIL_ADDRESS>wrote:

@aymanhab https://github.com/aymanhab Does everyone have access to the
dropbox folder with the latest build (3-13)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opensim-org/opensim-gui/issues/299#issuecomment-373420506,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADyccMq9My8javwdw77ozG5Op4WK5bkSks5teosIgaJpZM4OZNJq
.

(W10 VM on Mac, OpenSim-6d5a4cb4-2018-03-13.zip)

Does it crash or produce black image for settings above 4?

The saved image seems correct for values EXCEPT for max value (10), which produces a black image.
When image is saved, the visualizer backgrounds goes black until selected.

Three unexpected behaviors on Windows (AppVeyor artifact OpenSim-0d41eef3-2018-03-14.zip):

The snapshot does not capture what is displayed in the Visualizer Window at high Capture Scaleup values:

Visualizer Window

Snapshot, Capture Scaleup = 4

Snapshot, Capture Scaleup = 8

Snapshot, Capture Scaleup = 10

The background turns black, as reported previously.
Pressing "d" no longer works. I read all the comments above but didn't see a definitive decision; I assume removing "d" was intentional.

Two additional comments:

I don't think users will know what "Capture Scaleup" means. Note that the hover text for the camera button is "Snapshot".
It would be nice to get high-resolution graphics, so limiting to 4x is not ideal.

@tkuchida The d shortcut was removed and replaced with the slider, sorry it wasn't clear in the discussion above. The capture part is puzzling because the scaling is happening indeed as you can see the logo bigger, and I don't know what's different on your machine than others, can you try slider at 1?
Good point regarding slider name, should we change the hover text to Capture, or change slider name? Any preference as a user?

can you try slider at 1?

Slider at 4 is fine (compare first two images above). I wouldn't expect a problem at 1, but here it is anyway in case you're looking for something I'm missing:
Visualizer Window

Snapshot with Capture Scaleup = 1

should we change the hover text to Capture, or change slider name? Any preference as a user?

There are many possible designs for the interface and text. I think replacing "Capture Scaleup" with "Snapshot Resolution" would be an improvement and would require almost no effort.

I like "snapshot resolution"

@aymanhab In the 3-19 build, the resolution slider is just labeled "Snapshot". Was there not room to fit resolution?

The word is actually there but cutoff, if you drag the dropdown you'll see it. I was leaning to Quality or Size since resolution is already well defined and is different from what the slider is.

Can we agree on a shorter meaningful name so i can change the slider name and move on from this one, thanks.

Snapshot Quality works

@aymanhab While you are updating, could we use consistent capitalization and spacing in the visualizer controls menu? Suggestions are below with an asterisk next to the menu items that I'm proposing to tweak.
Floor
Texture*
Height*
Background Color*
Scene Light
Show FPS
Snapshot Quality*

Thanks @jenhicks All done, should show in the next build. Do you find the Show FPS useful?

Changes made, and built into latest AppVeyor artifact

I was not able to save images of the chimp, human and exo models in one scene at even a Snapshot Quality of 1 on my Mac.  I can get snapshots with simpler scenes. I don't think this capability has been completely verified on Mac.
Also editing the Snapshot Quality value is extremely awkward. For example, using the arrow after clicking in the text-box and getting a cursor translates the 3D view.

using the arrow after clicking in the text-box and getting a cursor translates the 3D view

Similar to #625

Screen capture functionality still does not work reliably for me on Mac OpenSim 1e476f2-2018-06-13.
Screen grab:

Snap shot feature at lowest quality is still 5.4MB and yields:

This has been particularly frustrating for trying to generate figures for publications and presentations.

Will investigate a bit more, though differences between machines makes testing hard. A reasonable tradeoff that @tkuchida has used in the past was to use jpg with quality parameter.

All interested parties, do you get black image at any time now or just incomplete capture, please let me know as  I never get a black image on any of my machines at the moment. Thank you.

I can't create a black image, but I do get an incomplete image if I maximize the OpenSim window size and set the snapshot quality to 4.

I took a few screenshots, with and without the Visualizer Window maximized, and I got the expected image out.

I can't find the snapshot quality setting under View Controls on my current build on Windows (OpenSim efbc92ac-2018-08-06).
Also, when saving an image with the same name as an image file that exists in the save directory, I don't get a prompt to ask if I want to overwrite the current file. That is probably for a separate issue though.

@nickbianco Thanks for testing, I've seen this in an earlier build where first time you launch the gui, some preferences are uninitialized leading to missing snapshot slider. Do you see the slider next time you launch the GUI? If so please open an issue and will address. Thank you

@aymanhab the slider appeared after closing and reloading the GUI. The associated issue (#946) has been created.
Regarding the snapshots, I get normal behavior except for the case the Jen reported -- Visualizer Window maximized, Snapshot Quality at 4.
Snapshot Quality 3

Snapshot Quality 4, image taken at same model position/view angle

Perfect, thank you @nickbianco


[backport] Fix NCCL version assignment for NCCL < 2.3.4

Backport of #2009

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit d3ad140e4dfaf87081335b5b1a8d60c5765b10b1, target branch v5) succeeded!

LGTM!


Stop using commonName to validate certificates.

Motivation:
CommonName as part of certificate hostname verification has been
deprecated for more than two decades. Browsers have finally stopped
using the commonName as part of verification, and the WebPKI forbids
putting names into the commonName that are not also part of the
subjectAlternativeName extension.
Continuing to trust the commonName as part of the certificate hostname
will put us in a weaker position than most of the browser ecosystem.
That's not a good place to be, so we should flip our default to not
trusting the commonName any longer.
For pragmatic reasons, we do allow an override, but the default
configuration is off. Users using this override will likely find
themselves disappointed when we remove it at some point in the future.
Modifications:

Added TLSConfiguration options to enable trusting commonName fields
for hostname verification.
Made investigating the commonName field optional during hostname
verification.
Tests to validate the new behaviour.

Result:
No trusting common names by default anymore.

@swift-nio-bot test this please


Dotnet core 3.0 custom packages are setup differently

Could find where to put Nuget.Config and no such place seems left for dotnet core 3.0. So custom packages add added with

dotnet add package RedHat.AspNetCore.Server.Kestrel.Transport.Linux -s https://www.myget.org/F/redhat-dotnet/api/v3/index.json

None of them support 3.0 yet.. -Has the changes merged into the regular Socket-variant. It's a lot faster now anyways.
info : Restoring packages for .......
info :   GET https://api.nuget.org/v3-flatcontainer/redhat.aspnetcore.server.kestrel.transport.linux/index.json
info :   GET https://www.myget.org/F/redhat-dotnet/api/v3/flatcontainer/redhat.aspnetcore.server.kestrel.transport.linux/index.json
info :   OK https://www.myget.org/F/redhat-dotnet/api/v3/flatcontainer/redhat.aspnetcore.server.kestrel.transport.linux/index.json 57ms
info :   NotFound https://api.nuget.org/v3-flatcontainer/redhat.aspnetcore.server.kestrel.transport.linux/index.json 489ms
error: Unable to find a stable package RedHat.AspNetCore.Server.Kestrel.Transport.Linux with version
error:   - Found 456 version(s) in https://www.myget.org/F/redhat-dotnet/api/v3/index.json [ Nearest version: 3.0.0-191007-1144 ]
error:   - Found 0 version(s) in Microsoft Visual Studio Offline Packages
error:   - Found 0 version(s) in nuget.org
error: Package 'RedHat.AspNetCore.Server.Kestrel.Transport.Linux' is incompatible with 'all' frameworks in project

I got the same issue from add package into project with blow logs:
➜  RexBet.BetEngine.Application git:(upstream-master) ✗ dotnet add package RedHat.AspNetCore.Server.Kestrel.Transport.Linux -s https://www.myget.org/F/redhat-dotnet/api/v3/index.json
Writing /var/folders/z3/3dtbzfj158j25nq2f39dg4bjwcdq9g/T/tmpo3Bsm3.tmp
info : Adding PackageReference for package 'RedHat.AspNetCore.Server.Kestrel.Transport.Linux' into project '/Users/ct.tsai/Desktop/Repo/skyline/deliverables/application-betengine/src/RexBet.BetEngine.Application/RexBet.BetEngine.Application.csproj'.
info : Restoring packages for /Users/ct.tsai/Desktop/Repo/skyline/deliverables/application-betengine/src/RexBet.BetEngine.Application/RexBet.BetEngine.Application.csproj...
info :   CACHE http://team.sb.skylinetw.com:8081/repository/nuget-group/FindPackagesById()?id='RedHat.AspNetCore.Server.Kestrel.Transport.Linux'&semVerLevel=2.0.0
info :   GET https://api.nuget.org/v3-flatcontainer/redhat.aspnetcore.server.kestrel.transport.linux/index.json
info :   CACHE https://www.myget.org/F/redhat-dotnet/api/v3/flatcontainer/redhat.aspnetcore.server.kestrel.transport.linux/index.json
info :   NotFound https://api.nuget.org/v3-flatcontainer/redhat.aspnetcore.server.kestrel.transport.linux/index.json 880ms
error: Unable to find a stable package RedHat.AspNetCore.Server.Kestrel.Transport.Linux with version
error:   - Found 494 version(s) in rh [ Nearest version: 3.0.0-191007-1144 ]
error:   - Found 0 version(s) in Team Nuget
error:   - Found 0 version(s) in nuget.org
error: Package 'RedHat.AspNetCore.Server.Kestrel.Transport.Linux' is incompatible with 'all' frameworks in project '/Users/ct.tsai/Desktop/Repo/skyline/deliverables/application-betengine/src/RexBet.BetEngine.Application/RexBet.BetEngine.Application.csproj'.

error: - Found 456 version(s) in https://www.myget.org/F/redhat-dotnet/api/v3/index.json [ Nearest version: 3.0.0-191007-1144 ]

You should add a --Version argument to dotnet add package so it picks one of these.
for example:
$ dotnet add package RedHat.AspNetCore.Server.Kestrel.Transport.Linux -s https://www.myget.org/F/redhat-dotnet/api/v3/index.json --version '3.0.0-*'


Add suport for parsing type name fragments

In the process of introspecting solc's ast, we have a use case to parse the type strings embedded in some nodes. It seems that this can be perfectly solved using the solidity-parser-antlr. This PR propses a small new entry point to the parser:
function parseType(input, options) {
That is almost identical to parse(), but parses strings representing just typeName fragments, instead of whole contracts.
So for example one could run:
> parser.parseType('uint[]', {strict: true})
{ type: 'ArrayTypeName',
  baseTypeName: { type: 'ElementaryTypeName', name: 'uint' },
  length: null }
>

The PR also adds several tests for common solidity types in test/index.js and fixes 2 small lint issues.
Thank you for considering this!
Best
~Dimo

Appologies, I did not open an issue first. If you wish I can also open an issue and reference it here?

Hi, I see https://github.com/federicobond/solidity-parser-antlr/pull/85/commits/2273972a655e10cf53c8ac8a9ded5c1f9e87fca6 above, I wonder if you are working on any natspec related? I worked on it in the past, and it got merged (https://github.com/federicobond/solidity-parser-antlr/pull/71), but unfortunately, there were a few cases that I haven't tested so my changes got reverted.
Since that time, and because I want to use solidity-parser-antlr for everything in my solidity documentation tool (https://github.com/HQ20/soldoc) I decided to fork and make it work. That was when I realized the limitations. See here https://github.com/obernardovieira/solidity-parser-antlr I'm very proud of it and planning to open a PR. If there's any chance that we merge our work or see wht fits best. I would appreciate a lot :+1: thanks for your time


trivial rename: pkg: rte: rename internal helper

The resourcetopologyexporter package has a utility object
confusingly called ResourceMonitor (compare with
resourcemonitor.ResourceMonitor).
Let's rename it ResourceObserver to improve the code clarity
(or at least reduce the code ambiguity) without any change
in behaviour
Signed-off-by: Francesco Romani<EMAIL_ADDRESS>

Fairly straightforward change. Even though ResourceMonitor utilities are in different packages, its best to rename to avoid any confusion.
/lgtm


Q: how to connect wallet connect on dev on simulator?

I'm submitting a ...
[ ] bug report
[ ] feature request
[ ] question about the decisions made in the repository
[x] question about how to use this project
Summary
I can't found out how to get wallet connect working on dev env. I am on the simulator but when opening wallet popup you need to have an app like metamask mobile connected but you can't install apps in the simulator. How can I make the connection on dev?
Other information (e.g. detailed explanation, stack traces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.)

Hi @bidah, thanks for getting in touch! There are a few ways you could accomplish this:

Use yarn web/npm run-script web to run the version of your app within a browser and scan the QR code shown on your browser using a physical device.
Build Rainbow from source and install this on your emulator.
Render the WalletConnect QR Code in your development environment on mobile and scan this with another device (uri in this instance is the WalletConnect URI).

You can also avoid using WalletConnect in dev and just allocate a hot wallet programmatically stored with initial funds to play with (this is what the example application does). This is only really useful for testing on-chain interactions though, since it basically ignores the connection flow the user would be required to work through.


Replace samples

The current samples in the repository depend on the Boot starter which is about to move to the Spring Boot repository, which also means that the samples need to move too. The plan is to turn them into tests spring-graphql and/or spring-graphql-test.
In addition we'll also create a getting started guide and a more advanced external sample.

Example scenarios to consider:

#252
#439
#473

This is probably part of this issue, but the current link to samples in the documentation is broken. The link here https://docs.spring.io/spring-graphql/docs/current/reference/html/#samples points to https://github.com/spring-projects/spring-graphql/tree/main/samples (broken)

Thanks, @eduanb. This was addressed in 0baceda48ccbb1ea30e5fc6d2ae1fd54cc747635 already.

Thanks, @eduanb. This was addressed in 0baceda already.

Hello,
The link is actually corrected in the 1.1.3 version. It would be nice if it is also corrected in the 1.0.4 doc.
Etienne

Is there still a chance to get this documented Provide guidance on how to set up multiple GraphQL endpoints #439?

Yes, it's the plan, however it hasn't been done. In the mean time, start with the Boot auto configuration, which shows how to set up a single endpoint, and go from there. If you want to make a sample repository somewhere, and you get stuck, we can have a look and help you.

Hi. I've just finished my own attepmt to implement multiple graphql endpoints and now found this topic. I've metioned that example does not provide ability to setup different packages to process external and internal schemas by different ways. For example:
for external consumers i dont'want to fetch not processed books (e.g. checked for restricted content), but internal consumers should recive it. So in common case there is need different controllers for external/internal schemas, so in my example (Java) I've added PackagedAnnotatedControllerConfigurer, that overrides detectHandlerMethods and adds filters for loaded beans. But this way forced me to put this class in "org.springframework.graphql.data.method.annotation.support" package (beacuse there is several package-private fields/methods, that i could'nt use)
`
public class PackagedAnnotatedControllerConfigurer extends AnnotatedControllerConfigurer {
private static final String SCOPED_TARGET_NAME_PREFIX = "scopedTarget.";
private String activePackage = "";

public void setActivePackage(String activePackage) {
	this.activePackage = activePackage;
}

@Override
protected Set<DataFetcherMappingInfo> detectHandlerMethods() {
	Set<DataFetcherMappingInfo> results = new LinkedHashSet<>();
	ApplicationContext context = obtainApplicationContext();
	for (String beanName : context.getBeanNamesForType(Object.class)) {
		if (beanName.startsWith(SCOPED_TARGET_NAME_PREFIX)) {
			continue;
		}
		Class<?> beanType = null;
		try {
			beanType = context.getType(beanName);
		}
		catch (Throwable ex) {
			// An unresolvable bean type, probably from a lazy bean - let's ignore it.
			if (this.logger.isTraceEnabled()) {
				this.logger.trace("Could not resolve type for bean '" + beanName + "'", ex);
			}
		}
		if (beanType == null || !AnnotatedElementUtils.hasAnnotation(beanType, Controller.class) || !isPackageMatched(beanType)) {
			continue;
		}
		Class<?> beanClass = context.getType(beanName);
		findHandlerMethods(beanName, beanClass).forEach((info) -> addHandlerMethod(info, results));
	}

	return results;
}

private boolean isPackageMatched(Class<?> beanType) {
	return StringUtils.isEmpty(activePackage) || activePackage.contains(beanType.getPackageName());
}

private Collection<DataFetcherMappingInfo> findHandlerMethods(Object handler, @Nullable Class<?> handlerClass) {
	if (handlerClass == null) {
		return Collections.emptyList();
	}

	Class<?> userClass = ClassUtils.getUserClass(handlerClass);
	Map<Method, DataFetcherMappingInfo> map = MethodIntrospector.selectMethods(
			userClass, (Method method) -> getMappingInfo(method, handler, userClass));

	return map.values();
}

private void addHandlerMethod(DataFetcherMappingInfo info, Set<DataFetcherMappingInfo> results) {
	HandlerMethod handlerMethod = getHandlerMethod(info);
	DataFetcherMappingInfo existing = results.stream().filter((o) -> o.equals(info)).findFirst().orElse(null);
	if (existing != null && !getHandlerMethod(existing).equals(handlerMethod)) {
		throw new IllegalStateException(
				"Ambiguous mapping. Cannot map '" + handlerMethod.getBean() + "' method \n" +
						handlerMethod + "\n" + ": There is already '" +
						getHandlerMethod(existing).getBean() + "' bean method\n" + existing + " mapped.");
	}
	results.add(info);
	((AnnotatedControllerExceptionResolver)this.getExceptionResolver()).registerController(handlerMethod.getBeanType());
}

}
`
I suggest to partially change code of AnnotatedControllerConfigurer to build more clean way to implement ability of different packages for different endpoints
Best regards

@codesnippe I've added a link to your sample at spring-graphql-examples

We now have a number of samples either hosted or listed at spring-graphql-examples. For further samples, please create an issue at that repository.


osu-lazer: 2023.617.0 -> 2023.621.0

Description of changes

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

on aarch64-darwin:
$ nix run nixpkgs#nixpkgs-review -- pr 238967
1 package built:
osu-lazer-bin

on x86_64-linux:
$ nix run nixpkgs#nixpkgs-review -- pr 238967
2 packages built:
osu-lazer osu-lazer-bin


updates to tags for type do not update channels as necessary, potentially also classification

I think changes to engine api fix this


Dependencies and README update

Our example repo should provide a standard snippet on dependencies and glide.

I rather thought this repo is only to show the "opensource" relevant examples and not go-related specifities, but if you think it would be useful and there's no other place to put it then LGTM

I think it doesn't hurt to document some more best practices here which might even apply to private repos.


Mark project as deprecated

I was investigating the dry-rb project and I came across this post by solnic which states that dry-web (and dry-web-roda) are deprecated. It'd be good to make this clear ASAP so newcomers don't invest too much time in deprecated tools.

We should definitely document this somehow, but I wouldn't say people should avoid dry-web from now on. If you somebody wants to use dry/rom stack, it is still the best option out there. Moving to hanami 2.0 in the future will not be hard, as it'll only be a matter of switching routing front-end from roda to hanami.

I'm still using it, even for all new projects and works like a charm. Of course some local updates and changes needed, so it works with new rom, dry  gems. Dry-web(-roda) itself is just a container (an app/configs skeleton) for sure it's not deprecated.

The README link to the documentation is broken, which lead me here. It seems like it would be nice to have a message of some kind that it's no longer supported but still functional, and perhaps fix the docs link.

@bbugh README's are generated from a unified template, and unfortunately dry-web* gems have no docs so that's not good. I'll probably just remove dry-web and dry-web-roda from the maintenance automation setup. We're not doing anything with these gems anyway.
@timriley would you be OK with that? then we could add info to README's explaining things and pointing people to Hanami 2.0

@solnic sounds good 👍🏼


Optional delay on remove banner

Allows the use of custom show/hide behaviours beyond instantly showing or removing the cookie banner.
-Can specify a delays time (ms) for the banners removal in the 'cookies-eu-banner' element's data-delay-remove attribute.

Can you clean your history and do not change lock file please?
Thanks :)

Thanks!


Fix circular require between webdrivers.rb and railtie.rb

webdrivers.rb requires webdrivers/railtie.rb,
https://github.com/titusfortner/webdrivers/blob/161d1bb67fbf74638dcc82068cc6c002a7caed89/lib/webdrivers.rb#L7
and webdrivers/railtie.rb requires webdrivers.rb.
https://github.com/titusfortner/webdrivers/blob/161d1bb67fbf74638dcc82068cc6c002a7caed89/lib/webdrivers/railtie.rb#L3
This causes warning: loading in progress, circular require considered harmful warning from the Ruby interpreter.
Here's a minimum step to reproduce.
$ ruby -w -rrails -rwebdrivers -ep
<internal:.../rubygems/core_ext/kernel_require.rb>:148: warning: <internal:.../rubygems/core_ext/kernel_require.rb>:148: warning: loading in progress, circular require considered harmful - .../webdrivers-5.0.0/lib/webdrivers.rb
	from <internal:.../rubygems/core_ext/kernel_require.rb>:149:in  `require'
	from <internal:.../rubygems/core_ext/kernel_require.rb>:160:in  `rescue in require'
	from <internal:.../rubygems/core_ext/kernel_require.rb>:160:in  `require'
	from .../webdrivers-5.0.0/lib/webdrivers.rb:7:in  `<top (required)>'
	from <internal:.../rubygems/core_ext/kernel_require.rb>:96:in  `require'
	from <internal:.../rubygems/core_ext/kernel_require.rb>:96:in  `require'
	from .../webdrivers-5.0.0/lib/webdrivers/railtie.rb:3:in  `<top (required)>'
	from <internal:.../rubygems/core_ext/kernel_require.rb>:148:in  `require'
	from <internal:.../rubygems/core_ext/kernel_require.rb>:148:in  `require'

This patch fixes the warning by simply removing the require call in webdrivers/railtie.rb, since there won't be any actual use case where directly requiring webdrivers/railtie.rb without requiring webdrivers.rb (via bundler in most cases).

Thanks for your contribution!
P.S. Test failure is unrelated to your changes.


Add support to set Page Title in the page level

Currently a site may define a page title in the layout level https://github.com/BeaconCMS/beacon/blob/2b391396cd1815e3f9b97389fa4a3ba7f03ad10a/lib/beacon/layouts/layout.ex#L23 which in turn is used to resolve every page title under that layout, see https://github.com/BeaconCMS/beacon/blob/2b391396cd1815e3f9b97389fa4a3ba7f03ad10a/lib/beacon_web/components/layouts.ex#L70-L80 and https://github.com/BeaconCMS/beacon/blob/2b391396cd1815e3f9b97389fa4a3ba7f03ad10a/lib/beacon_web/components/layouts/runtime.html.heex#L10
We want to add a field :title in https://github.com/BeaconCMS/beacon/blob/2b391396cd1815e3f9b97389fa4a3ba7f03ad10a/lib/beacon/pages/page.ex so the page title can be customized per page.
In the future we may support the callback page_title in Beacon.DataSource.Behaviour to further customize page titles, for eg to support dynamic values or prefix/suffix as previously explored and suggested by @schrockwell

Hi @SumeetMaurya pinging you to check if you have updates on this issue. I don't want to rush you but we'll need this feature done :)
So if you have not started working on it I'd like to send a PR. Thanks!


ARM template export missing "routingRules" for Redirect

When I do an export of a Front Door to ARM then it looks like routingRules of type "Redirect" are missing from the export. Furthermore, I cannot find any docs on how to set them in ARM. Please advise.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 52009ea9-bd18-16cf-30cc-5ab2b85d0d44
Version Independent ID: 56a1a5c6-c760-e0e9-e6c7-2e9687bcc775
Content: Azure Front Door Service - URL Redirect
Content Source: articles/frontdoor/front-door-url-redirect.md
Service: frontdoor
GitHub Login: @sharad4u
Microsoft Alias: sharadag

@CasperJ Thanks for the feedback! I was able to reproduce this, and I am following up now to get more information.

We just ran into this issue too.  I'll add that when you do export the templates it is using an old version of the API that I have been unable to find documentation for.  It is using "2018-08-01", but the only versions I see in the Azure Documentation are "2019-03-01" or newer.  Documentation: https://docs.microsoft.com/en-us/azure/templates/microsoft.network/frontdoors-allversions

@CasperJ What @AlphaCreative-Mike spoke about is correct, but you can get the JSON schema for redirect rules.
I was able to use Postman to pull the newer API versions, but any API query will work. I used these instructions to get a bearer token for auth.
If you have an existing Front Door with routing rules, you can pull the API: https://management.azure.com/subscriptions/{{subscriptionId}}/providers/Microsoft.Network/frontDoors?api-version=2019-05-01
I had better luck using the 2019-05-01 API.
Here is the routing rule of my test Front Door:
"routingRules": [
{
"id": "/subscriptions/xxxxx-xxxx-xxxx-xxxxx/resourcegroups/travtestfd/providers/Microsoft.Network/Frontdoors/travtesthost/RoutingRules/travrule",
"name": "travrule",
"type": "Microsoft.Network/Frontdoors/RoutingRules",
"properties": {
"frontendEndpoints": [
{
"id": "/subscriptions/xxxxx-xxxxx-xxxxxx-xxx/resourcegroups/travtestfd/providers/Microsoft.Network/Frontdoors/travtesthost/FrontendEndpoints/travtesthost-azurefd-net"
}
],
"acceptedProtocols": [
"Http",
"Https"
],
"patternsToMatch": [
"/*"
],
"enabledState": "Enabled",
"resourceState": "Enabled",
"routeConfiguration": {
<EMAIL_ADDRESS>"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
"customFragment": null,
"customHost": "",
"customPath": "/redirect/",
"redirectProtocol": "HttpsOnly",
"customQueryString": null,
"redirectType": "Found"
}
}
}
],
Here is the associated portal configuration:

Please let me know if you need any additional information.

Another thing you can do is using the Azure CLI you can get the properties in JSON of the routing rule.  You can take the values from what is returned with the command below and match them to the schema in the document here: https://docs.microsoft.com/en-us/azure/templates/microsoft.network/frontdoors-allversions
az network front-door routing-rule list --resource-group myResourceGroup --front-door-name myFrontDoor

@CasperJ We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

@TravisCragg-MSFT  - Why was this issue closed?  I still don't see in the Azure Docs where it shows how to setup an HTTP Redirect.  This section should have enough information to show how to define a RouteConfiguration object.  https://docs.microsoft.com/en-us/azure/templates/microsoft.network/2019-05-01/frontdoors#routeconfiguration-object

@TravisCragg-MSFT  - This issue needs reopened.  Though you mentioned in this issue how to implement redirect rules the documentation is not updated.

@AlphaCreative-Mike I am re-opening the issue and assigning to the author to update as appropriate.

Are there any updates on this issue? It really is blocking our adoption of Front Door in my organization.

@nospoon4u  - We are trying to implement everything through ARM templates but are routinely running into issues where either the ARM templates don't support what we need or there is no documentation for anything other than the most basic example.  Right now we are using a combination of ARM templates, AZ CLI and Azure Powershell to fully deploy our application.  Good luck!

By using az cli, I was able to get the correct ARM structure to implement Redirect Rules. This is still missing from the current 2019-05-01 Azure Front Door ARM definition:
{                         "name": "HTTPS-Redirect",                         "properties": {                             "frontendEndpoints": [                                 {                                     "id": "[variables('frontEndId')]"                                 }                             ],                             "acceptedProtocols": [                                 "Http"                             ],                             "patternsToMatch": [                                 "/*"                             ],                             "enabledState": "Enabled",                             "resourceState": "Enabled",                             "routeConfiguration": {<EMAIL_ADDRESS>"#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",                                 "customFragment": null,                                 "customHost": "",                                 "customPath": "",                                 "redirectProtocol": "HttpsOnly",                                 "customQueryString": null,                                 "redirectType": "Found"                             }                         }                     }

#reassign: amitsriva

Bump. Front Door has been GA for more than a year. It is absolutely bonkers that this is still not fixed. This service is missing support for multiple features through ARM templates.

Just run into this issue now - please get this sorted

I managed to get this working by using the sample ARM template - make sure to check your "apiVersion" property
https://github.com/Azure/azure-quickstart-templates/blob/b393bdf8ad62a4dcbc92d61d971bb5b78e6a56ca/101-front-door-create-redirect/azuredeploy.json

Get the ARM configuration snippet by ex. using Az PowerShell
Get-AzResource -ResourceId $frontdoorResourceId -debug 5>&1 | clip

This will redirect the debug stream to your clipboard. Paste the content into an editor of your choice.
I got this working using apiVersion 2020-01-01 as in
        ...
        "type": "Microsoft.Network/frontdoors",
        "apiVersion": "2020-01-01",
        "name": "[parameters('frontdoor_name')]",
        "location": "Global",
        ...

Get the ARM configuration snippet by ex. using Az PowerShell
Get-AzResource -ResourceId $frontdoorResourceId -debug 5>&1 | clip

This will redirect the debug stream to your clipboard. Paste the content into an editor of your choice.
I got this working using apiVersion 2020-01-01 as in
        ...
        "type": "Microsoft.Network/frontdoors",
        "apiVersion": "2020-01-01",
        "name": "[parameters('frontdoor_name')]",
        "location": "Global",
        ...

Thanks spaelling - that should come in handy with any ARM template debugging.

#reassign: jessie-jyy


How to get real card data from connected PD

I have a connected PD device, but it's not clear how to receive real card data from my card reader.

Have you a copy of the OSDP specification?
I I’d well described in the specification.
Regards
George
Sent from my iPhone
On 1 Mar 2022, at 00:01, Carl Wainwright @.***> wrote:

I have a connected PD device, but it's not clear how to receive real card data from my card reader.
—
Reply to this email directly, view it on GitHubhttps://github.com/ryanhz/osdp-python/issues/10, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAOMCXC5QQBXMHQWOXBEEMTU5QEETANCNFSM5PSQCVJQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

I figured it out and I’m not getting the card data :-)

What reader are you using, and does it have the correct keys/configuration for the card you are using?
Sent from my iPhone
On 1 Mar 2022, at 07:50, Carl Wainwright @.***> wrote:

Closed #10https://github.com/ryanhz/osdp-python/issues/10.
—
Reply to this email directly, view it on GitHubhttps://github.com/ryanhz/osdp-python/issues/10#event-6159963798, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAOMCXCKDRX72765MACOPBLU5R3DJANCNFSM5PSQCVJQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID: @.***>

I’m this case I was testing with an Axis A8207 network door reader. Not sure how to setup secure mode.

This is a door station, it is a CP, that connects to an OSDP reader, it then communicates over Ethernet to a centralised application, there isn’t a card reader in this unit (based on the part number you have provided.)
Regards
George
From: Carl Wainwright @.>
Sent: 01 March 2022 14:41
To: ryanhz/osdp-python @.>
Cc: George Redpath @.>; Comment @.>
Subject: Re: [ryanhz/osdp-python] How to get real card data from connected PD (Issue #10)
I’m this case I was testing with an Axis A8207 network door reader. Not sure how to setup secure mode.
—
Reply to this email directly, view it on GitHubhttps://github.com/ryanhz/osdp-python/issues/10#issuecomment-1055513573, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAOMCXD6KT6PJC4KO2CGZ73U5YT6BANCNFSM5PSQCVJQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>

George,
It is a reader and supports both Wiegand and OSDP.
Originally I was using this device to connect to a Lenel box using wiegand. Now I’m testing with a device that will act as a CP.
I did a bit more digging with the code and was able to poll my reader and get card data back.
https://www.axis.com/products/axis-a8207-ve-mk-ii

I am sorry from the part number you are giving me this is not a reader, you need a configured device such as a A4020-E to read cards, loaded with the correct keys to read EV2, or configured to read the card UID.
Regards
George
From: Carl Wainwright @.>
Sent: 01 March 2022 16:33
To: ryanhz/osdp-python @.>
Cc: George Redpath @.>; Comment @.>
Subject: Re: [ryanhz/osdp-python] How to get real card data from connected PD (Issue #10)
George,
It is a reader and supports both Wiegand and OSDP.
Originally I was using this device to connect to a Lenel box using wiegand. Now I’m testing with a device that will act as a CP.
I did a bit more digging with the code and was able to poll my reader and get card data back.
https://www.axis.com/products/axis-a8207-ve-mk-ii
—
Reply to this email directly, view it on GitHubhttps://github.com/ryanhz/osdp-python/issues/10#issuecomment-1055628478, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAOMCXEX4KHDSMOCVJDKWUDU5ZBCXANCNFSM5PSQCVJQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>

It is a reader and it is reading my cards. Yes it’s a product that is not available anymore, but it IS a card reader/camera reader

I have one here as well. So you have to run it on 12vdc not poe?

I have MKVMII here. So you have to run it on 12vdc not poe?

Did not need the 12v. Reader was powered by POE. I only connected A/B and ground for it to work.

I did a bit more digging with the code and was able to poll my reader and get card data back.

Would you be able to share how to poll and retrieve the data, as there is no example available.
I'm trying to read the card using an Axis A4020-E Reader, but no luck so far.


Remove version: WinSCP.WinSCP version 5.17.10

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

Close with reason: Duplicate;


[watchbuild] use buildwatcher from core

PR 4/4
This series of PR's try's to de-duplicate the various blocks that check if a build is finished processing.
by moving the logic to fastlanecore.

1/4 ->  https://github.com/fastlane/fastlane/pull/7386 (fastlane_core)
2/4 ->  https://github.com/fastlane/fastlane/pull/7387 (pilot)
3/4 ->  https://github.com/fastlane/fastlane/pull/7388 (deliver)
4/4 ->  https://github.com/fastlane/fastlane/pull/7389 (watchbuild)

a full branch is at this PR: https://github.com/fastlane/fastlane/pull/7381
(i am going to keen the full branch updated, if during review the singel PR's change)
the fastlane_core PR is mandatory for the other ones, but the tools could be merged one by one.
let me know what you guys think.

Thanks for the PR. We actually moved this into its own repo now https://github.com/fastlane/watchbuild

@KrauseFx  so i should do the PR - there to use shared FastlaneCore/fastlane parts ?


[full-ci] Fix e2e-tests for propfind requests with DEPTH:inifinity

refs #4188
refs https://github.com/cs3org/reva/pull/4014

closed due to misunderstanding


Using for pixel art: low res lighting?

Hi there!
I'm using pixi-lights for a retro game with pixel art. The original low res image is loaded with PIXI.SCALE_MODES.NEAREST and then scaled up. It looks pretty good. However, the lighting cast onto the sprite is soft and high res. I want to maintain that low res pixel art effect. For example:

That's a 4 pixels from the original sprite, but scaled up (5x) and with the lighting effect, it's lost that low res effect to a degree. I'm not sure if I'm explaining this very well.
So how would I go about fixing this?
Thanks so much!

Lighting uses getRenderTexture() thingy from pixi-display plugin. You can introduce a lower resolution there, and make PR, I'll accept it.

Might be worth trying a mosaic filter at your desired big-pixel size perhaps?


Unabe to train in TF2.0

Hi,
i tried to run this code in tensorflow-gpu, but i am facing this issue while execute train command,
(tensor_gpu) C:\Users\admin\Downloads\models\research\object_detection>python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/faster_rcnn_inception_v2_pets.config
2019-12-02 16:21:53.124045: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_100.dll
Traceback (most recent call last):
File "train.py", line 48, in
from tensorflow.contrib import framework as contrib_framework
ModuleNotFoundError: No module named 'tensorflow.contrib'
Please give some suggestions to solve this issue...

@suravijayjilla look at this https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10/issues/383

look at issue #383


Add 3 new options for the video description

Here are the added options :

Hide chapters
Hide transcription
Hide channel links

Everything looks alright, adding this to version 1.5.0! Thank you, @Rashnain !


Updated Readme

Added a basic example

Thanks for the contribution!
With the project being in JavaScript, I would prefer that examples on the README also be in JavaScript.


fix: support folders with spaces in npm

Closes #33.
This fixes the problem with local node_modules, but I wonder if the quotes should be added at a higher level, for example, when populating cmdPath or if it is ok to do it only on node_modules.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Haha, no problem. Glad to help 🙂


UncontrolledCollapse error on IE11. Object doesn't support property or method 'forEach'

Issue description

components: UncontrolledCollapse
reactstrap version 6.5.0
import method es
react version 16.5.2
bootstrap version 4.1.3

What is happening?
I've got an error when it is rendered on IE11.
The error is  "Object doesn't support property or method 'forEach'"
Code
https://stackblitz.com/edit/reactstrap-uncontrolled-collapse-llryd4

Merged via #1262 ! Will be out in next release.

@gergely-nagy when will be next release?


Cannot log in XP machine share drive

Hi Daniel,
I'm very interested and curious with your lib. Thank you for the lib.
The issue I'm facing is I cannot log into a XP machine. I got the same error code as the issue https://github.com/38leinaD/tango/issues/5. . It looks like the lib supported XP already but I don't know why it doesn't work for me. I tested the lib with an iPhone emulator.
Do you have any idea to solve this problem?
Thanks again for the good lib.
ntquy99

Hello, I'm also having this problem. I'm trying to connect to a machine running Windows 7. Here's my output:
_tango_send(): Bytes to send (including nbt-header!): 51
_tango_send(): Sent 51 bytes.
_tango_send_and_receive(): Received 4 bytes.
_tango_send_and_receive(): Received 123 bytes.
_tango_NEGOTIATE_PROTOCOL(): Received response
_tango_NEGOTIATE_PROTOCOL(): Server Capabilities 0x1e3fc
_tango_NEGOTIATE_PROTOCOL(): - CAP_LARGE_READX
_tango_send(): Bytes to send (including nbt-header!): 106
_tango_send(): Sent 106 bytes.
_tango_send_and_receive(): Received 4 bytes.
_tango_send_and_receive(): Received 35 bytes.
_tango_SESSION_SETUP(): Received response
_tango_evaluate_response_header(): NT_STATUS Level is 0003 with value 006d.
_tango_send(): Bytes to send (including nbt-header!): 87
_tango_send(): Sent 87 bytes.
_tango_send_and_receive(): Received 4 bytes.
_tango_send_and_receive(): Received 35 bytes.
_tango_TRANS2_FIND_FIRST2(): Received response
_tango_TRANS2_FIND_FIRST2(): Parameters-block length ==0.
File count: -1
I'm willing to put lots of time into debugging this if you need it...

Hi RohBear,

I'm willing to put lots of time into debugging this if you need it...
Thanks for your support. For Windows 7 the problem is already known to me: The required security mechanism is not implemented. I only have implemented the LM2 challenge-response that is used in WinXP by default. Win7 has switched to a more secure mechanism and does not allow the old mechanism anymore.

I am not sure when I will have the time to implement this. The main problem is that I don't have a Win7 system to play with…
cheers,
Daniel
On Nov 13, 2011, at 8:25 PM, RoohBear wrote:

Hello, I'm also having this problem. I'm trying to connect to a machine running Windows 7. Here's my output:
_tango_send(): Bytes to send (including nbt-header!): 51
_tango_send(): Sent 51 bytes.
_tango_send_and_receive(): Received 4 bytes.
_tango_send_and_receive(): Received 123 bytes.
_tango_NEGOTIATE_PROTOCOL(): Received response
_tango_NEGOTIATE_PROTOCOL(): Server Capabilities 0x1e3fc
_tango_NEGOTIATE_PROTOCOL(): - CAP_LARGE_READX
_tango_send(): Bytes to send (including nbt-header!): 106
_tango_send(): Sent 106 bytes.
_tango_send_and_receive(): Received 4 bytes.
_tango_send_and_receive(): Received 35 bytes.
_tango_SESSION_SETUP(): Received response
_tango_evaluate_response_header(): NT_STATUS Level is 0003 with value 006d.
_tango_send(): Bytes to send (including nbt-header!): 87
_tango_send(): Sent 87 bytes.
_tango_send_and_receive(): Received 4 bytes.
_tango_send_and_receive(): Received 35 bytes.
_tango_TRANS2_FIND_FIRST2(): Received response
_tango_TRANS2_FIND_FIRST2(): Parameters-block length ==0.
File count: -1
I'm willing to put lots of time into debugging this if you need it...

Reply to this email directly or view it on GitHub:
https://github.com/38leinaD/tango/issues/6#issuecomment-2723839

I'm seeing the same error trying to connect to a Windows 8. I'm sure it's the same problem. Do you know of any SMB client that works with Windows 8/10?


Overloaded Indexing Operations

This P.R. overloads matrix indexing in the same manner that the standard library overloads slice indexing.
Modes of Indexing
Matrices can be indexed in three ways, each with different safety guarantees:

get produces Some reference to the element(s) at the index, or None if the index is out of bounds
index produces a reference to the element(s) at the index, or panics if the index is out of bounds
get_unchecked produces a reference to the element(s) at the index, without bounds checking

Each of these has a corresponding _mut counterpart that produces a mutable reference to the element(s) at the given location.
Types of Indices
Matrices can be indexed by a usize, or with any pair of usize, Range<usize>, RangeFrom<usize>, RangeFull, RangeInclusive<usize>, RangeTo<usize>, and RangeToInclusive<usize>.
Indexing by usize and (usize, usize) produces a reference to the element at that location. All other two-dimensional indices produce a MatrixSlice.
Some examples:
Indicies to Individual Elements
Two-Dimensional Indicies
let matrix = Matrix2::new(0, 2,
                          1, 3);

assert_eq!(matrix.index((0, 0)), &0);
assert_eq!(matrix.index((1, 0)), &1);
assert_eq!(matrix.index((0, 1)), &2);
assert_eq!(matrix.index((1, 1)), &3);

Linear Address Indexing
let matrix = Matrix2::new(0, 2,
                          1, 3);

assert_eq!(matrix.get(0), Some(&0));
assert_eq!(matrix.get(1), Some(&1));
assert_eq!(matrix.get(2), Some(&2));
assert_eq!(matrix.get(3), Some(&3));

Indicies to Individual Rows and Columns
Index to a Row
let matrix = Matrix2::new(0, 2,
                          1, 3);

assert!(matrix.index((0, ..))
    .eq(&Matrix1x2::new(0, 2)));

Index to a Column
let matrix = Matrix2::new(0, 2,
                          1, 3);

assert!(matrix.index((.., 0))
    .eq(&Matrix2x1::new(0,
                        1)));

Indicies to Parts of Individual Rows and Columns
Index to a Partial Row
let matrix = Matrix3::new(0, 3, 6,
                          1, 4, 7,
                          2, 5, 8);

assert!(matrix.index((0, ..2))
    .eq(&Matrix1x2::new(0, 3)));

Index to a Partial Column
let matrix = Matrix3::new(0, 3, 6,
                          1, 4, 7,
                          2, 5, 8);

assert!(matrix.index((..2, 0))
    .eq(&Matrix2x1::new(0,
                        1)));

Indicies to Ranges of Rows and Columns
Index to a Range of Rows
let matrix = Matrix3::new(0, 3, 6,
                          1, 4, 7,
                          2, 5, 8);

assert!(matrix.index((1..3, ..))
    .eq(&Matrix2x3::new(1, 4, 7,
                        2, 5, 8)));

Index to a Range of Columns
let matrix = Matrix3::new(0, 3, 6,
                          1, 4, 7,
                          2, 5, 8);

assert!(matrix.index((.., 1..3))
    .eq(&Matrix3x2::new(3, 6,
                        4, 7,
                        5, 8)));

Future Work
This PR can be extended in a non-breaking way to permit:

Overloaded linear address indexing.
Further overloading two-dimensional indexing whereby the row and column components are ranges of Dim (and thus the output can be a MatrixSlice of size known at compile-time). This just requires some tricky code-generation work that the current macros can't handle.

This is amazing! I will take a closer look and get back to you this week.

9f9e5759282cdf0106c20ec8415e691d5d633ce7 implements the groundwork for indexing with typenums and adds a proof-of-concept MatrixIndex implementation for index pairs where one of the components is a ops::RangeFrom<impl DimName>.
To support the other range types, we're going to need to do some work to surface more of typenum's type-level operators as Dim operators (namely IsLess). This seems like a significant undertaking, and I don't think I'll get to it in this PR.

Thanks!


Provide file stats via named exports

Feature Proposal
Provide file stats as named exports, similarly how @swgr/webpack operates.
import termsAndConditions, { fileSizeHumanReadable, fileSizeBytes } from './termsAndConditions.pdf'

I found sizeof-loader which provides this functionality but has incompatible API with file-loader, it provides stats object including src as the default export, using named exports for stats would be backward compatible and possibly allows to use optimization (collect only stats user requests via named import).
Feature Use Case
I want to display a human-readable file size as part of a hyperlink text, which points to a PDF file. I import the PDF file to obtain its pathname via file-loader, but there is not an easy way to obtain its size.

Sorry, it is out of scope file-loader, you can create an own loader for this case, it is very non standard feature, you even can do it without loader, just fetch resource and calculate it, you already have URL to an asset,


Please update Slick Carousel version and new release to Bower

Slick Carousel version is 1.5.7, but your bower.json is outdated.
"slick-carousel": "~1.4.1"

Also your version is 0.2.1 but in bower install we got 0.2.0 see #103

Same here:
bower angular-slick#~0.2.1           mismatch Version declared in the json (0.2.0) is different than the resolved one (0.2.1)


Added docs and updated for sbmodule rename in origami

Added read-the-docs capable mkdocs.
Depends on https://github.com/noteable-io/origami/pull/56 being released as 0.0.10

Codecov Report

Merging #57 (0b7dfd9) into main (8d4e571) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #57   +/-   ##
=======================================
  Coverage   60.04%   60.04%
=======================================
  Files          18       18
  Lines         956      956
=======================================
  Hits          574      574
  Misses        382      382

Impacted Files
Coverage Δ

papermill_origami/engine.py
74.32% <100.00%> (ø)

papermill_origami/iorw.py
80.00% <100.00%> (ø)

papermill_origami/manager.py
50.84% <100.00%> (ø)

papermill_origami/tests/conftest.py
100.00% <100.00%> (ø)

papermill_origami/tests/test_engine.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


When switching weapons the tick before the attack, plugin doesn't readjust on the followup

I was doing CMs today and I've noticed that if I equip a weapon and attack on the same tick, the plugin keeps track of the previous weapon cycle but doesn't change to the current one since I'm assuming it didn't detect a gear swap since the one it didn't pick up on.

Does this happen every time? Including a gif of this happening would be really helpful.
The plugin should check your currently equipped item every time you perform an attack animation. If this is a bug where the equipment isn't detected on the same tick by the ItemManager, I can't do anything about it.


Axum application stuck after SIGINT and needs to be killed with SIGTERM

When trying to terminate the application with Ctrl + C (or by sending SIGINT directly) the monitor shuts down, but the application is stuck until it receives a SIGTERM signal.
$ cargo run --package axum-example
    Finished dev [unoptimized + debuginfo] target(s) in 0.18s
     Running `target/debug/axum-example`
2022-10-07T13:33:36.526309Z DEBUG axum_example: listening on <IP_ADDRESS>:3000
2022-10-07T13:33:36.526681Z DEBUG apalis_core::worker::monitor: Listening shut down command (ctrl + c)
2022-10-07T13:33:46.759826Z DEBUG apalis_core::worker::monitor: Workers shutdown complete
^C^C

I tested this with the axum example and my own app, both have the same result.
The actix-web example does properly exit, so maybe axum needs some special handling for signals.
$ cargo run --package actix-web-example
    Finished dev [unoptimized + debuginfo] target(s) in 0.19s
     Running `target/debug/actix-web-example`
[2022-10-07T13:40:11Z INFO  actix_server::builder] Starting 4 workers
[2022-10-07T13:40:11Z INFO  actix_server::server] Actix runtime found; starting in Actix runtime
[2022-10-07T13:40:11Z DEBUG apalis_core::worker::monitor] Listening shut down command (ctrl + c)
[2022-10-07T13:40:13Z INFO  actix_server::server] SIGINT received; starting forced shutdown
[2022-10-07T13:40:13Z INFO  actix_server::worker] Shutting down idle worker
[2022-10-07T13:40:13Z DEBUG actix_server::accept] Paused accepting connections on <IP_ADDRESS>:8000
[2022-10-07T13:40:13Z INFO  actix_server::worker] Shutting down idle worker
[2022-10-07T13:40:13Z INFO  actix_server::accept] Accept thread stopped
[2022-10-07T13:40:13Z INFO  actix_server::worker] Shutting down idle worker
[2022-10-07T13:40:13Z INFO  actix_server::worker] Shutting down idle worker
[2022-10-07T13:40:13Z DEBUG apalis_core::worker::monitor] Workers shutdown complete

Could you try using:
Monitor::new()
    ....
    .run_without_signals()

Axum is possibly intercepting signals from tokio::ctrl_c

This does fix the application getting stuck.
I also found this when looking for potential issues in the axum repo:
https://docs.rs/hyper/latest/hyper/server/struct.Server.html#method.with_graceful_shutdown
Already tested it and it also fixes the problem, requires a bit more boilerplate code though.


Meta: Top 3 Pain Points of the Toolchain

What are the top three pain points of OpenROAD for chip design?
@antonblanchard
@arlpetergadfort
@maliberty
@proppy

@donn

Question is maybe better suited for our chip designers: @kareefardi
Me personally, I have no complaints, just would like a Python interface, which is a monumental effort.

@QuantamHD

Parasitic extraction, requiring a different tool to jumpstart the PDK bring up
Yosys/ABC synthesis, generates a netlist that requires a lot of additional work to meet constraints.

I'm sure there are more, but these are the two that stand out the most to me at the moment.

I am not sure what is the state of any of these today but mainly my struggles are:

automatic macro placement
signal routing with multiple macros
(multiple domain) power routing of multiple macros

System Verilog support in Yosys. The generated netlist doesn't work (probably I am doing something wrong but it isn't an easy flow)
Power planning and routing
Timing results are really hard to understand (No hockey stick trend yet)

@msaligane would you elaborate on your last point.

@hzeller / @kgugala -- See @msaligane's comment about SystemVerilog above.

Lack of timing model generator for hierarchical flows.  LEF abstract generator improvements would then follow.

+1 for "Lack of timing model generator for hierarchical flows". Even a basic (and pessimistic) liberty file generator would be very useful.
+1 for "ABC/synthesis". We don't pass FFs, manually instantiated standard cells or other black boxed things to ABC, so are missing a lot of optimisations including the ability to do register retiming. I've looked into this but tripped up on what looks like ABC issues.

@msaligane would you elaborate on your last point.

@maliberty This is what I meant by the hokey stick (or knee). Below is the expected timing on a RISC-V core when I push the clock:

This is a reference from [Ketkar, et al ICCAD02] with area instead of power but the two correlates:

So, if I would like to optimize a design, I need to optimize sizing until the knee (sensitivity-based method) and then optimize Vth (out of scope here). I am currently unable to replicate this, but I am not updated on the latest development in yosys/abc.

@msaligane what do you see if you construct a delay/area plot with OR?  We do very little with power opt so I don't expect much of an optimal result there.

lack of packaging and limited surface of the Python API (related to #1424 and #1659)
lack of machine-readable logs/parameters/metrics export (METRICS2.1?) outside of ORFS (related to #1669)
cross platform packages w/ gui enabled for OSX / Windows (related to https://github.com/hdl/conda-eda/issues/193)

We wrote a paper on this. See sections 5 & 6: https://dl.acm.org/doi/pdf/10.1145/3400302.3415734
I still believe that most of the QoR gains need to be gained from synthesis (automatic clock gating, physical synthesis - let alone timing-based synthesis).
Most of the usability gains need to be from improved documentation, although more automation would be nice too.
I'll add another one to the list, which is runtime. I'm actively doing research with this, but a lot of tools could benefit from hardware acceleration and/or algorithm improvement.

@QuantamHD what is the ultimate goal of this discussion?

To gather issues from the community, and help me understand where I could allocate resources to improve the toolcahin.
People do a lot with the tool, and this thread was helpful to understand the current areas where the tool struggles.

@QuantamHD do you have sufficient input to make that decision and allocate resources?


Bug: Using Java instead of Kotlin

I was browsing the code and noticed Java being used instead of Kotlin. This can lead to a lot of production issues, such as NPEs and antiquated syntax.

It is my understanding that we can leverage Kotlin ona spring boot app. Feel free to PR a module for Kotlin in the ws-dateTime section.


Robolectric + JUnit test case written in Scala doesn't work

Hey, I use your plugin with p.leafytree.gradle:gradle-android-scala-plugin. It looks like gradle clean test doesn't try to compile nor use test code I write in Scala and put in src/androidTest/scala.
I've managed to run JUnit + Robolectric tests written in Java, simple, but my goal is to write them in Scala. At least pure JUnit + Robolectric but in Scala. In better world I'd use ScalaTest Matchers and in perfect world I'd use ScalaTest instead of JUnit but lets start simple.
I want to run this test case with all my Java JUnit test cases:
@RunWith(classOf[RobolectricTestRunner])
class PureJUnitScalaTest {
  @Test def sampleTest(): Unit = {
    assertThat(10, is(10))
  }
}

I attach my test project with whole gradle configuration and source code.
I'm not exactly sure if this is problem with robolectric-gradle-plugin but I hope you can help me.

Same issue for Kotlin. The robolectric test tasks don't seem to be triggering the compile${variant}TestKotlin tasks so the kotlin classes are never built and do not end up in the test-classes folder. If i manually run the task and copy the .class files into the test-classes folder robolectric runner has no problem executing them.
Hooking into the plugin to support other JVM languages would be pretty sweet.

I got robolectric running my tests written in Kotlin with the following tweaks to the gradle file
task copyKotlinTestFiles(type: Copy) {
    inputs.dir('build/intermediates/classes/test/debug')
    outputs.dir('build/test-classes')

    from fileTree('build/intermediates/classes/test/debug')
    into 'build/test-classes'
}

gradle.projectsEvaluated {
    copyKotlinTestFiles.dependsOn(compileDebugTestKotlin)
    testDebug.dependsOn(copyKotlinTestFiles)
}

#129 changed the implementation significantly so we piggy-back on the unit testing support added in version 1.1.0 of the Android Gradle plugin. Can you retest with 1.0.0-SNAPSHOT? If it doesn't work, we may not be able to support this feature since I'd like to not have a ton of custom build logic in this plugin.

Any chance we can get this reopened, or some guidance as to what to request of the Kotlin team (assuming this is something they can fix)?
At the moment all alternative JVM languages are locked out of Robolectric testing, which is a shame because that's where Kotlin's DSL capabilities really shine.

I don't use Scala or Kotlin, so I'm not sure where to start to address the issue. For what it's worth, Robolectric 3.0 + Android Studio 1.1.0 doesn't require this plugin to run, so we'll be deprecating it once 3.0 is released.


Bad performance: Many references

Processing many reference definitions/references takes too much time. On my machine:
$ time python -c 'print ("".join(map(lambda x: ("[" + str(x) + "]: u\n"), range(1,10000 * 16))) + "[0] " * 10000)' | ./hoedown >/dev/null
real	0m8.778s
user	0m8.739s
sys	0m0.029s

Are you really saying that 8 seconds is too big for 160000 links? And as a note, if you really have a document as big I'm not sure if I would read it.

Well, yes, it is slow. Maybe I should elaborate more.
Parsing few MB in seconds is slow on a modern computer.
Much worse, the time grows in much worse fashion (I guess quadratic) then linear here. On my quite fast machine I get these results, with this slightly more generalized example for different N:
$ time python -c 'N=16; print ("".join(map(lambda x: ("[" + str(x) + "]: u\n"), range(1,N*10000))) + "[0] " * N*10000)' | ./hoedown >/dev/null

And, for comparison, I added times it takes MD4C parser.

N
input size
hoedown
md4c

8
1.2MB
5.859s
0.125s

16
2.5MB
23.531s
0.203s

24
3.8MB
55.000s
0.281s

And no, it's not about whether you read the document or not.
If the application can read the document from any (read: untrusted) source, this document can be used as a DOS attack, even if the application limits document size to e.g. something like 10MB, consuming CPU cycles of your server for long minutes per single request.

Did you run the same input against other Markdown parsers? Markdown references are notoriously difficult to handle, and is known to be a performance hog in literally every Markdown parser. I’d say Hoedown is doing okay now.


Multiple albums and artists for MusicRecording

Just checking for multidimensional array
If $items is array of arrays its mean multiple context inside.
Old way (example array with single artist context)
$byArtist = [
    'name' => 'Artist name'
];

New way (multiple artists context)
$byArtist = [
    ['name' => 'Artist name one'],
    ['name' => 'Artist name two'],
];

If you have multiple items as value of a property, you could use an array.
https://www.w3.org/TR/2014/REC-json-ld-20140116/#sets-and-lists


Maybe they each get an objective of some kind.


[Package Request]: Microsoft Report Builder

Package Requested

[X] I would like someone else to build the manifest.
[X] I would like help so I can submit the manifest.
[X] I have performed a search and couldn't find this package.
[X] I have checked that the installer for this package is not contained in a .zip file
[ ] I think there is a new version available and I have provided the URL.

Please provide the following information
Publisher: Microsoft
Publisher Url: https://www.microsoft.com/en-us/download/details.aspx?id=53613
Package Name: Microsoft Report Builder
Description: Report Builder provides a productive report-authoring environment for IT professionals and power users. The download provides a stand-alone installer for Report Builder.
Report Builder provides data visualizations that include charts, maps, sparklines, and data bars that can help produce new insights well beyond what can be achieved with standard tables and charts. Use Report Builder to create reports and shared datasets. Publish report parts, and then browse the Report Part Gallery to reuse existing report parts as building blocks for creating new reports quickly with a “grab and go” experience.
Package Version: 15.0.19914.0
Installer URL: https://download.microsoft.com/download/5/E/B/5EB40744-DC0A-47C0-8B0A-1830E74D3C23/ReportBuilder.msi
Current Package Identifier (for new versions):

I believe i submitted correctly with wingetcreate.

select top(10) * from Repository
where RepositoryName = 'winget-pkgs'

@randomgit87 which PR is it?

I found it:

https://github.com/microsoft/winget-pkgs/pull/75356

@randomgit87 one of the moderators made several suggestions for you to merge/consider.


Various issues

https://github.com/OA-PASS/pass-ember/issues/595 https://github.com/OA-PASS/pass-ember/issues/704 https://github.com/OA-PASS/pass-ember/issues/663 https://github.com/OA-PASS/pass-ember/issues/708
This PR fixs multiple things:

Adds min width to tooltips
Checks for blank authors and removes them
Force "ISSN", "DOI", and "NLMTA" to be upper cased
Add browser info to each submissions metadata

@emetsger I notice that one of the issues (#708) associated with this says to tag you. Below is a screenshot of the browser info. Is this OK for you or does it need any changes before I merge?  The other changes on this PR can be merged.


tests, probes: Test dual stack

What this PR does / why we need it:
This add new tests that will start up a pod that acts as probe backend (tcp or http) and use
the field Host from probes to point there, this way we have the probe IP before creating the
VMI and we can exercise whatever IP we want from dual stack.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Only readiness is implemented and only TCP is working, we have to debug why HTTP is not working.
Release note:

NONE

/test all

/cc @maiqueb


Add halo for area icons

Old maki icons included a stroke and fill:

New ones are fill only:

So for legibility we should render each icon with a slight halo to get the old effect.

definitely needed for areaicons,
maybe also vertex, poi
probably not needed for preset icons

Added slight halo 👌


Documentation: Output on Memory page is misleading

This is the output from a loop printing the results of a query - but they look "different"
{'name': 'Urban2', 'created': '2017-09-12T13:26:18.023Z', 'labels': ['rootkit'], 'modified': '2017-09-12T13:26:18.023Z', 'type': 'malware', 'id': 'malware--2daa14d6-cbf3-4308-bb8e-226d324a08e4'}
{
"type": "malware",
"id": "malware--2b3dd412-18a5-4e81-8742-4977068eb3eb",
"created": "2017-09-29T19:52:17.028Z",
"modified": "2017-09-29T19:52:17.028Z",
"name": "Alexios",
"labels": [
"rootkit"
]
}

Did you see the code comment explaining why the output is different?
In code comment:
# note that python STIX objects are pretty-printed
# due to some python dunder method magic, but normal
# python dictionaries are not by default. Thus the
# python STIX objects and python STIX dictionaries
# that match the above query can be easily identified visually

No - of course not :-(
But it seems strange that the contents of the "memory" data store would contain "different" kinds of python objects - can we make sure everything is a STIX object?

@rpiazza : We've talked about this and gone back and forth. Ultimately, converting "normal" dicts to python-stix2 objects is troublesome because of the potential for custom properties, and converting python-stix2 objects to dictionaries negates most of the benefits of python-stix2.
Our attitude has generally been "if you store dictionaries, you'll get back dictionaries; if you store python-stix2 objects, you'll get those back". load_from_file() should parse into python-stix2 objects by default, but it seems like it doesn't do that right now.
I don't think the guide needs to go into a ton of detail, but the examples should generally use STIX objects, with maybe a note at the bottom saying something to the effect of "if you store normal dictionaries, we won't modify them unless you write them to a file and later read that file back".

Ill attempt to rewrite the sections and examples a little to be more explicit.


Override Vault Economy

Hey, would it be possible to override the default economy?
OverrideEconomy: true/false
AddMoneyCommand: coins give %player% %amount%
RemoveMoney: coins take %player% %amount%
Description:
If in the config, the override economy is true, and then what in the job degrades, the money is executed via these commands, because unfortunately I do not know in the Payment Api how to connect to the own economy system. :) If there is a possibility, I would like to know, if this is not possible, it would be nice to do as described above. :)
Best Regards,
Pyario

Nop, use the JobsPrePaymentEvent to cancel the reward, and overriding to your economy system.

Thanks for the answer. Can you give me an example of how exactly I can do that?

@Pyario Open again that tab, which I posted above ^
If you don't know how to code a plugin, I think learn first the Bukkit usage. And actually, we not creating an option to overwrite the economy command, because we using the VaultAPI, that has custom methods to pay.

@montlikadani
I know how to program plugins, but each Api is numbered differently, and I do not quite look at it, please do not misunderstand it, but everyone is different. Then I have to see how it works. Thanks anyway for the answer.


removed duplicate imports

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Removed multiple imports for an import name
bug fixes # (bugs from https://bugzilla.nearbeach.org)
Type of change

[*] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Database change that requires a migration
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Local manual testing via "./manage runserver"
[ ] Local Python Unit Testing via "./manage test"
[ ] Local Cypress E2E Testing
[ ] Tested on virtual box
[ ] Tested on server

Checklist:

[ ] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Fixed #256


Community PR to fix PDB typo on top of #402

LGTM, @jCOTINEAU! Don't forget to squash, I see quite a lot of commits