libleptonica-1.82.0.so on X86 - Exception

Hi to all,
i'm executing one of the example for tesseract, i've compiled the source and put it in the assembly of the main project of the solution.
debugging step by step this code :
        string testImagePath = "C:/Projects/Images/Grab.JPG";
        string configurationFilePath = @"./tessdata";
        using (var engine = new TesseractEngine(configurationFilePath, "eng", EngineMode.Default))
        {
            using (var img = Pix.LoadFromFile(testImagePath))
            {
                using (var page = engine.Process(img))
                {
                    var text = page.GetText();
                    Console.WriteLine("Mean confidence: {0}", page.GetMeanConfidence());

                    Console.WriteLine("Text (GetText): \r\n{0}", text);
                    Console.WriteLine("Text (iterator):");
                }
            }
        }

at this point :             using (var engine = new TesseractEngine(configurationFilePath, "eng", EngineMode.Default))
i see that in this part of the code of tesseract (LibraryLoader of InteropDotNet.cs)
    public IntPtr LoadLibrary(string fileName, string platformName = null)
    {
        fileName = FixUpLibraryName(fileName);
        lock (syncLock)
        {
            if (!loadedAssemblies.ContainsKey(fileName))
            {
                if (platformName == null)
                    platformName = SystemManager.GetPlatformName();

                Logger.TraceInformation("Current platform: " + platformName);

                IntPtr dllHandle = CheckCustomSearchPath(fileName, platformName);
                if (dllHandle == IntPtr.Zero)
                    dllHandle = CheckExecutingAssemblyDomain(fileName, platformName);
                if (dllHandle == IntPtr.Zero)
                    **dllHandle = CheckCurrentAppDomain(fileName, platformName);**
                if (dllHandle == IntPtr.Zero)
                    dllHandle = CheckCurrentAppDomainBin(fileName, platformName);
                if (dllHandle == IntPtr.Zero)
                    dllHandle = CheckWorkingDirecotry(fileName, platformName);

                if (dllHandle != IntPtr.Zero)
                    loadedAssemblies[fileName] = dllHandle;
                else
                    throw new DllNotFoundException(string.Format("Failed to find library \"{0}\" for platform {1}.", fileName, platformName));
            }

            return loadedAssemblies[fileName];
        }
    }

the debug show me this information when it reach the comand in Bold (dllHandle = CheckCurrentAppDomain(fileName, platformName);)

and executing it, it gives me back this error:

the $exception.InnerException.Message contains this description : "Failed to find library "libleptonica-1.82.0.so" for platform x86."
Could you please help me?
Many thanks in advance.
Massimo

If of any use - there is no libleptonica-1.82.0.so - on linux it has different naming conventions
ls -all /usr/local/lib

.rw-r--r--  13M root root 2023-02-16 08:38 liblept.a
.rwxr-xr-x 1.0k root root 2023-02-16 08:38 liblept.la
lrwxrwxrwx   16 root root 2023-02-16 08:38 liblept.so -> liblept.so.5.0.4
lrwxrwxrwx   16 root root 2023-02-16 08:38 liblept.so.5 -> liblept.so.5.0.4
.rwxr-xr-x 9.1M root root 2023-02-16 08:38 liblept.so.5.0.4
.rw-r--r--  13M root root 2023-02-16 08:23 libleptonica.a
.rwxr-xr-x 1.0k root root 2023-02-16 08:23 libleptonica.la
lrwxrwxrwx   21 root root 2023-02-16 08:23 libleptonica.so -> libleptonica.so.6.0.0
lrwxrwxrwx   21 root root 2023-02-16 08:23 libleptonica.so.6 -> libleptonica.so.6.0.0
.rwxr-xr-x 9.1M root root 2023-02-16 08:23 libleptonica.so.6.0.0

Attempt of a dirty fix, copied one of those as libleptonica-1.82.0.so and then another one pops
 ---> System.DllNotFoundException: Unable to load shared library 'libdl' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibdl: cannot open shared object file: No such file or directory

Of course I am doing it wrong, that's not the way it should work
System.DllNotFoundException: Unable to load shared library 'libdl' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibdl: cannot open shared object file: No such file or directory
   at InteropDotNet.UnixLibraryLoaderLogic.UnixGetLastError()
   at InteropDotNet.UnixLibraryLoaderLogic.LoadLibrary(String fileName)
   at InteropDotNet.LibraryLoader.InternalLoadLibrary(String baseDirectory, String platformName, String fileName)
   at InteropDotNet.LibraryLoader.CheckExecutingAssemblyDomain(String fileName, String platformName)
   at InteropDotNet.LibraryLoader.LoadLibrary(String fileName, String platformName)

Hi Iongion,
i've talk with Charles regarding this issue, andit's very strange.
I'm working on a genuine Microsoft windows 10 pro as you can see below.

The code try to get (i've seen with debug) the right OS, but instead it gets Unix system....
So it tries to elaborates and load libraries as unix, instead of loading the leptonica-1.82.0.dll.
Anyway, i've tried to force the code to take the Windows OS road instead that unix, but i get an exception due to a null value received from this part of code, especially from the two in bold char.
            if (!loadedAssemblies.ContainsKey(fileName))
            {
                if (platformName == null)
                    platformName = SystemManager.GetPlatformName();

                Logger.TraceInformation("Current platform: " + platformName);

                IntPtr dllHandle = CheckCustomSearchPath(fileName, platformName);
                if (dllHandle == IntPtr.Zero)
                    dllHandle = CheckExecutingAssemblyDomain(fileName, platformName);
                if (dllHandle == IntPtr.Zero)
                    **dllHandle = CheckCurrentAppDomain(fileName, platformName);**
                if (dllHandle == IntPtr.Zero)
                    **dllHandle = CheckCurrentAppDomainBin(fileName, platformName);**
                if (dllHandle == IntPtr.Zero)
                    dllHandle = CheckWorkingDirecotry(fileName, platformName);

                if (dllHandle != IntPtr.Zero)
                    loadedAssemblies[fileName] = dllHandle;
                else
                    throw new DllNotFoundException(string.Format("Failed to find library \"{0}\" for platform {1}.", fileName, platformName));
            }

            return loadedAssemblies[fileName];

I've also tried to set the CheckCustomSearchPath (with a directory inside the project on my PC), but i always receive that the file is not present...
Many thanks for the help.
Genko

Setting custom search path isn't going to help here as the root cause is
because dotnet thinks it's Linux for some reason. No idea why, presumably
there's something going on with your setup otherwise there'd be a lot more
reports of this issue (this is the first time I've heard of it in the 10
odd years or so despite to this side of things not changing)
On Thu, 16 Feb 2023, 19:22 Genko71, @.***> wrote:

Hi Iongion,
i've talk with Charles regarding this issue, andit's very strange.
I'm working on a genuine Microsoft windows 10 pro as you can see below.
[image: image]
https://user-images.githubusercontent.com/124817980/219305765-92800990-2cbc-4b52-a7f1-24e10eff4a68.png
The code try to get (i've seen with debug) the right OS, but instead it
gets Unix system....
So it tries to elaborates and load libraries as unix, instead of loading
the leptonica-1.82.0.dll.
Anyway, i've tried to force the code to take the Windows OS road instead
that unix, but i get an exception due to a null value received from this
part of code, especially from the two in bold char.
        if (!loadedAssemblies.ContainsKey(fileName))
        {
            if (platformName == null)
                platformName = SystemManager.GetPlatformName();

            Logger.TraceInformation("Current platform: " + platformName);

            IntPtr dllHandle = CheckCustomSearchPath(fileName, platformName);
            if (dllHandle == IntPtr.Zero)
                dllHandle = CheckExecutingAssemblyDomain(fileName, platformName);
            if (dllHandle == IntPtr.Zero)
                **dllHandle = CheckCurrentAppDomain(fileName, platformName);**
            if (dllHandle == IntPtr.Zero)
                **dllHandle = CheckCurrentAppDomainBin(fileName, platformName);**
            if (dllHandle == IntPtr.Zero)
                dllHandle = CheckWorkingDirecotry(fileName, platformName);

            if (dllHandle != IntPtr.Zero)
                loadedAssemblies[fileName] = dllHandle;
            else
                throw new DllNotFoundException(string.Format("Failed to find library \"{0}\" for platform {1}.", fileName, platformName));
        }

        return loadedAssemblies[fileName];

I've also tried to set the CheckCustomSearchPath (with a directory inside
the project on my PC), but i always receive that the file is not present...
Many thanks for the help.
Genko
—
Reply to this email directly, view it on GitHub
https://github.com/charlesw/tesseract/issues/633#issuecomment-1432694917,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB7HSGTGUJUUDBOWMSIKRLWXXPWFANCNFSM6AAAAAAUX2GHWQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I've another machine in my home with this OS.

i've enabled xamarin for VS2019 and activated HAXM Hyper-V, download and installed .net sdk 4.7 and 4.8 as requested.
I've created the emulator in VS2019 as show below.

And the code give me back again Unix as OS, when i reach with the debug this point.

I've also request support on MSDN Forum and i've received this answer.
that is because the android os is linux, and your code is running in a android emulator (linux virtual machine).
Maybe i'm doing somethings wrong?
Thanks.
Genko

Nope, but you are running it in a Linux VM so that does explain the
behaviour your seeing.
Unfortunately I really can't help you get it running on android or Linux.
Others have got it running using a Linux however not sure about android.
On Fri, 17 Feb 2023, 21:29 Genko71, @.***> wrote:

I've another machine in my home with this OS.
[image: image]
https://user-images.githubusercontent.com/124817980/219618636-6b0898bc-ec70-4c8c-b464-86f3645e1be9.png
i've enabled xamarin for VS2019 and activated HAXM Hyper-V, download and
installed .net sdk 4.7 and 4.8 as requested.
I've created the emulator in VS2019 as show below.
[image: image]
https://user-images.githubusercontent.com/124817980/219616627-e7ff8982-d2f8-4124-9285-82a1961d83a2.png
And the code give me back again Unix as OS, when i reach with the debug
this point.
[image: image]
https://user-images.githubusercontent.com/124817980/219617060-76198b8a-9268-407e-a7bd-099fa92027d4.png
I've also request support on MSDN Forum and i've received this answer.
that is because the android os is linux, and your code is running in a
android emulator (linux virtual machine).
Maybe i'm doing somethings wrong?
Thanks.
Genko
—
Reply to this email directly, view it on GitHub
https://github.com/charlesw/tesseract/issues/633#issuecomment-1434440879,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB7HSGQOY5TTSBJ5443ZPTWX5HIBANCNFSM6AAAAAAUX2GHWQ
.
You are receiving this because you commented.Message ID:
@.***>

OK,
but others who run the application on Windows OS, how do they debug the code, if they don't use the Android emulator (Linux VM)?
Excuse me, but i'm new to the develop of Application on mobile.
I've seen that on VS2019 there are two option in the Visual Studio Installer, perhaps i've installed the wrong one (the one in yellow color), i've to install the one circled in red, or i've to install Android Studio?

Many thanks
Genko


E3008 Property "VpcId" can Fn::GetAtt when creating AWS::EC2::TransitGatewayAttachment

cfn-lint version: (cfn-lint --version)
0.26.2
Description of issue.

Trying to create a AWS::EC2::TransitGatewayAttachment in us-gov-west-1
Assigning an SSM Parameter value to VpcId

  rVpc:
    Type: AWS::EC2::VPC
    Properties:
      ...
  rSsmParameterVpcId:
    Type: AWS::SSM::Parameter
    Properties:
      ...
      Value: !Ref rVpc
  rTransitGatewayAttachment:
    Type: AWS::EC2::TransitGatewayAttachment
    Properties:
      ...
      VpcId: !GetAtt rSsmParameterProdVdmsVpcId.Value

Results in

E3008 Property "VpcId" can Fn::GetAtt to a resource of types [AWS::EC2::SecurityGroup, AWS::EC2::Subnet] at Resources/.../Properties/VpcId/Fn::GetAtt

Please provide as much information as possible:

Template linting issues:

Please provide a CloudFormation sample that generated the issue.
If present, please add links to the (official) documentation for clarification.
Validate if the issue still exists with the latest version of cfn-lint and/or the latest Spec files

Feature request:

Please provide argumentation about the missing feature. Context is key!

Cfn-lint uses the CloudFormation Resource Specifications as the base to do validation. These files are included as part of the application version. Please update to the latest version of cfn-lint or update the spec files manually (cfn-lint -u)

https://github.com/aws-cloudformation/cfn-python-lint/pull/1288
https://github.com/aws-cloudformation/cfn-python-lint/blob/67fc5bb210b020e3226261f966a01726d574475d/src/cfnlint/data/ExtendedSpecs/all/04_property_values/aws_ec2.json#L74-L76
https://github.com/aws-cloudformation/cfn-python-lint/blob/bf18663bf9c69722e8264801ae08e3ef90c87157/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_ec2.json#L28-L43


Enabled mobile phone validation

Enabled mobile phone (China) validation

@chriso does this mean you'll accept PR for all phone-number related patches?

Sure :) As long as it follows the same general pattern of {locale: regex}.

Have you taken a look at https://github.com/googlei18n/libphonenumber ? Their metadata library is probably the best open source currently available.


Node become no peers over time and stops syncing

We have deployed an Acala testnet with 1 bootnode, 3 validators, 1 rpc node. Over past week we have experienced twice that the bootnodes & validators peer count drop to zero and stops the network.
After enabled more logging, I can only find this suspect
TRACE tokio-runtime-worker peerset: Report 12D3KooWKT28BbijF1Wjee6AHK3AbDVn4zhUdq9P6aM96SMkST6d: -4 to 12421. Reason: Duplicate gossip

Is this expected? Anything specific I should look for on diagnostic this issue?
cc @tomaka

Do you have this https://github.com/paritytech/substrate/commit/97ecd629aff816c15cfff7e73d34dc8c9c5c6a9b commit in your node?

The commit is 4 days ago and our testnet launch a week ago so I don’t think we have it.
Will update & redeploy.

If you used https://github.com/paritytech/substrate/commit/7e5c30709d0d6bae01e1eb9412d17cdf1620af7d in your test network, this would explain it and this would be fixed by this other commit mentioned above :D

It seems https://github.com/paritytech/substrate/commit/97ecd629aff816c15cfff7e73d34dc8c9c5c6a9b is not in Substrate rococo-v1 branch. @bkchr Could you please help to merge master into it?

I will do this, however the rococo branch also does not contains the problematic commit.

Right. We were using Substrate master but now switched to rococo-v1. So should be fine on our side now.

We're using the latest Substrate rococo-v1, but still have this message @xlc mentioned above:

TRACE tokio-runtime-worker peerset: Report 12D3KooWKT28BbijF1Wjee6AHK3AbDVn4zhUdq9P6aM96SMkST6d: -4 to 12421. Reason: Duplicate gossip

As latest rococo-v1 doesn't include https://github.com/paritytech/substrate/commit/7e5c30709d0d6bae01e1eb9412d17cdf1620af7d , this issue might not be related to it.
It seems that the repeating duplicated gossip messages keep peer reputation going down until disconnection. https://github.com/paritytech/substrate/blob/211be1d5f477fa025f7813238b95a1524ad4212f/client/network-gossip/src/state_machine.rs#L340-L344

Any idea which gossip is duplicated?

It seems that the repeating duplicated gossip messages keep peer reputation going down, and finally caused disconnection with all peers.

The reputation decrease is so low that this can't realistically cause a disconnect, until we're being sent gigabytes per second.

The issue is not happening anymore and double check the logs I found out it was #8260 causing the trouble.
The duplicated gossip did not decrease the reputation to the level of disconnecting.
Will close for any and continuing monitor our testnet logs.


Introduce a configuration file for multidatabase support

This PR adds support for configuring different stores, as an alternative to the command line switches we use so far. Existing ways to start graph-node will still work with this change, but it makes it possible to configure more complex database topologies. This PR is only about handling the configuration (and will work as an alternative to the command line switches for a single database), but does not actually use multiple databases yet.
Note that this PR applies on top of PR #1994

@lutter I think toml works well, and we could support a simplified syntax such as:
[store]
primary = "postgresql://graph:${PGPASSWORD}@primary/graph"
vip = "postgresql://graph:${PGPASSWORD}@vip/graph"

For two stores with no replicas and round-robin assignment.
Should we use [stores] for that key? It's often a single store but I suppose that if there are multiple the key should be in the plural.
Another idea, what about merging the matches and indexers key into the [stores] so we can keep a single section in the toml, dropping the deployment section?

1@lutter I think toml works well, and we could support a simplified syntax such as:

It gets a bit funky if you want to describe more deeply nested data structures; and I can't for the live of me figure out how to serialize the config back to TOML (not that we need that, but I was surprised that that was hard) That's why I started to wonder whether we shouldn't just go with YAML. Though we could always switch on the extension of the file and read TOML or YAML if we really needed to.

[store]
primary = "postgresql://graph:${PGPASSWORD}@primary/graph"
vip = "postgresql://graph:${PGPASSWORD}@vip/graph"

For two stores with no replicas and round-robin assignment.

I don't feel that brevity here is terribly important - I think clarity and being explicit is more important. I feel like the less you need to know about defaults etc. the better.

Should we use [stores] for that key? It's often a single store but I suppose that if there can multiple then the key should be in the plural.

I think of the whole thing of what you describe in the [store] section as 'the store', and each individual entry as a shard (with or without replicas)

Another idea, what about merging the matches and indexers key into the [stores] so we can keep a single section in the toml, dropping the [deployment] section?

That also goes towards the clarity aspect of the file: I think that having the deployment rules all together is clearer than putting them next to each store. Plus, if we attach deployment rules to the store, we'd need to insist that they are mutually exclusive to be unambiguous. And, I have vague ideas that we should at some point allow indexing the same subgraph in two shards as an alternative to database replication.

I don't oppose to switching to yaml.

I think I'll leave this as TOML for now. From my point of view, this is ready to go. Are there other things that you think need to be addressed in this PR?

@lutter lgtm then


MODOAIPMH-70: Fix incorrect number of records returned by listrecords…

Purpose
Fix incorrect number of records returned by listrecords with resumption token for marc21
Jira: https://issues.folio.org/browse/MODOAIPMH-216

INFO: lint-raml: Using lint-raml version: 1.4.2
INFO: lint-raml: Investigating and determining configuration: mod-oai-pmh/ramls
WARNING: lint-raml: Configured file not found: oai-pmh-set.raml
WARNING: lint-raml: Configuration needs to be updated (FOLIO-903).
WARNING: lint-raml: Missing from configuration: folio-set.raml
WARNING: lint-raml: Configuration needs to be updated (FOLIO-903).
INFO: lint-raml: Not assessing schema descriptions, as per option '--validate-only'.
INFO: lint-raml: Assessing RAML files (https://dev.folio.org/guides/raml-cop/):
INFO: lint-raml-cop: Processing RAML v1.0 file: folio-set.raml
ERROR: lint-raml-cop:   raml-cop detected errors with folio-set.raml:
[ramls/raml-util/rtypes/collection.raml:59:0] ERROR Can not parse JSON example: Unexpected token '"createdDate"'
INFO: lint-raml-cop: Processing RAML v1.0 file: oai-pmh.raml
INFO: lint-raml-cop:   raml-cop did not detect any errors with oai-pmh.raml
ERROR: lint-raml: There were processing errors. See list above.

Note: When those errors are fixed, then the INFO messages will be gone too. See Jenkins "Artifacts" tab.

INFO: lint-raml: Using lint-raml version: 1.4.2
INFO: lint-raml: Investigating and determining configuration: mod-oai-pmh/ramls
WARNING: lint-raml: Configured file not found: oai-pmh-set.raml
WARNING: lint-raml: Configuration needs to be updated (FOLIO-903).
WARNING: lint-raml: Missing from configuration: folio-set.raml
WARNING: lint-raml: Configuration needs to be updated (FOLIO-903).
INFO: lint-raml: Not assessing schema descriptions, as per option '--validate-only'.
INFO: lint-raml: Assessing RAML files (https://dev.folio.org/guides/raml-cop/):
INFO: lint-raml-cop: Processing RAML v1.0 file: folio-set.raml
ERROR: lint-raml-cop:   raml-cop detected errors with folio-set.raml:
[ramls/raml-util/rtypes/collection.raml:59:0] ERROR Can not parse JSON example: Unexpected token '"createdDate"'
INFO: lint-raml-cop: Processing RAML v1.0 file: oai-pmh.raml
INFO: lint-raml-cop:   raml-cop did not detect any errors with oai-pmh.raml
ERROR: lint-raml: There were processing errors. See list above.

Note: When those errors are fixed, then the INFO messages will be gone too. See Jenkins "Artifacts" tab.

INFO: lint-raml: Using lint-raml version: 1.4.2
INFO: lint-raml: Investigating and determining configuration: mod-oai-pmh/ramls
WARNING: lint-raml: Missing from configuration: folio-set-filtering-conditions.raml
WARNING: lint-raml: Configuration needs to be updated (FOLIO-903).
INFO: lint-raml: Not assessing schema descriptions, as per option '--validate-only'.
INFO: lint-raml: Assessing RAML files (https://dev.folio.org/guides/raml-cop/):
INFO: lint-raml-cop: Processing RAML v1.0 file: folio-set-filtering-conditions.raml
INFO: lint-raml-cop:   raml-cop did not detect any errors with folio-set-filtering-conditions.raml
INFO: lint-raml-cop: Processing RAML v1.0 file: folio-set.raml
ERROR: lint-raml-cop:   raml-cop detected errors with folio-set.raml:
[ramls/raml-util/rtypes/collection.raml:59:0] ERROR Can not parse JSON example: Unexpected token '"createdDate"'
INFO: lint-raml-cop: Processing RAML v1.0 file: oai-pmh.raml
INFO: lint-raml-cop:   raml-cop did not detect any errors with oai-pmh.raml
ERROR: lint-raml: There were processing errors. See list above.

Note: When those errors are fixed, then the INFO messages will be gone too. See Jenkins "Artifacts" tab.

INFO: lint-raml: Using lint-raml version: 1.4.2
INFO: lint-raml: Investigating and determining configuration: mod-oai-pmh/ramls
INFO: lint-raml: Not assessing schema descriptions, as per option '--validate-only'.
INFO: lint-raml: Assessing RAML files (https://dev.folio.org/guides/raml-cop/):
INFO: lint-raml-cop: Processing RAML v1.0 file: folio-set-filtering-conditions.raml
INFO: lint-raml-cop:   raml-cop did not detect any errors with folio-set-filtering-conditions.raml
INFO: lint-raml-cop: Processing RAML v1.0 file: folio-set.raml
ERROR: lint-raml-cop:   raml-cop detected errors with folio-set.raml:
[ramls/raml-util/rtypes/collection.raml:59:0] ERROR Can not parse JSON example: Unexpected token '"createdDate"'
INFO: lint-raml-cop: Processing RAML v1.0 file: oai-pmh.raml
INFO: lint-raml-cop:   raml-cop did not detect any errors with oai-pmh.raml
ERROR: lint-raml: There were processing errors. See list above.

Note: When those errors are fixed, then the INFO messages will be gone too. See Jenkins "Artifacts" tab.


Rename ord wallet satoshis to ord wallet sats

yes please

@rot13maxi LGTMs and "I want this"s are always welcome!


HTML Classes are not documented

I noticed the example projects use some HTML classes for formatting, such as "ok" for green, "err" for errors, or "ref" for code references. An example of this is:
'This is an error'
I was not able to find how to easily access these in the program, and I was not able to find a list of these classes in the documentation.

I am also interested in this. So far I have come across:
'
'
'
They are all great additions to built in formatting but not documented as far as I have seen. Are there more of these excellent classes?


travis setting fixed for elm-make build speed

using sysconfcpus, we can exploit multithread.

Testing with PR, please do not merge this a while...

Yes, it's done!

Squash some commits then I'll approve.


Created new update type

New update type: UPDATE_WITH_NUMBER functions as the default update when the update type is set to other other types.
Created with reference to the changes proposed here : https://github.com/quintel/etsource/pull/1492

Just want to include @antw and get his opinion - if time permits. If not, please do tell.
I don't like the UPDATE_WITH_NUMBER name. It's exactly the same as an UPDATE with the :absolute strategy. So my suggestion would be to name it:
UPDATE_ABSOLUTE.
Also it would be nice to include some comment in the code explaining what it does, much like the other methods. I added those changes here. If that looks okay to you?

I don't like the UPDATE_WITH_NUMBER name. It's exactly the same as an UPDATE with the :absolute strategy.

I don't think the new method is necessary – please correct me if I'm wrong. The default strategy is :absolute, so this is identical to just calling UPDATE.

But how do I call UPDATE when the update type is set to something else, for example %y ?

@antw to explain the situation a little. It's related to: https://github.com/quintel/etsource/pull/1492
In that PR there are changes to a slider which performs a series of UPDATE statements. The last one is a correction for the things changed with those UPDATE statements. The sliders update_type is %y and the correction needs to be updated absolutely.

But how do I call UPDATE when the update type is set to something else, for example %y ?
The sliders update_type is %y and the correction needs to be updated absolutely.

Good questions. In that case I guess the UPDATE is being forced to relative_per_year when you explicitly don't want that? I agree that UPDATE_ABSOLUTE is a better name.
I'm not so keen on adding a new method just for one query, but I'm struggling to come up with a better idea.

I'm not so keen on adding a new method just for one query, but I'm struggling to come up with a better idea.

Same problem over here 😓

Edit: I did had another idea, where the UPDATE method could take a second argument called force_strategy to set the strategy manually. But it doesn't feel 'better'.

Yeah, I agree. That might be quite fragile since UPDATE tries (too) hard to be flexible with arguments. It dates back to the Ruby 1.8 days, but in newer Rubies (> 2.0?) it's method signature would be:
def update (*things_to_update, attribute_name, value)
  # ...
end

... where things_to_update is any number of objects (or arrays of objects) to be updated. Therefore, it's kind of hard to add new arguments and options without risking breaking some ETSource inputs
A longer-term alternative might be to do away with - update_type altogether, add some new UPDATE_* methods, and be more explicit in the queries:

UPDATE (today: update_strategy=absolute)
UPDATE_WITH_FACTOR (as today)
UPDATE_RELATIVE (today: update_strategy=relative)
UPDATE_RELATIVE_PER_YEAR (today: update_strategy=relative_per_year)
...

Maybe that's a nice-to-have for next year.
For the moment, perhaps we should just push ahead with UPDATE_ABSOLUTE?

Maybe that's a nice-to-have for next year.

Yes. Are you noting this one down or should I aswell?

For the moment, perhaps we should just push ahead with UPDATE_ABSOLUTE?

Yes, I guess that would help @nairnamratha for now.

Yes. Are you noting this one down or should I aswell?

I added a reminder in Basecamp to remind us. I think it's very low-priority; just something to explore when we have a day or two free.


Error: Network Error

I wonder why several API cannot be accessed?
I found these API and I tried this out but didn't work. I even created my own API with WCF RESTful and hosted it on azure.

http://pp53.azurewebsites.net/pp53service.svc/viewprovincelist
https://www.getpostman.com/collections/1d8df8b0b5bf27e5009b

But these API are worked.

https://api.myjson.com/bins/1cfkej
http://jsonplaceholder.typicode.com/todos
https://api.github.com/users/fityanaula

Please let me know where I am wrong, is it because my API or what?
Here's what I've tried:
import React from 'react';
import axios from 'axios';

export class viewDetailPP53 extends React.Component {
    constructor(props) {
        super(props);
        this.state = { count : [] };
    }

    componentDidMount(){
        var self = this;
        // try with this https://api.myjson.com/bins/1cfkej it's worked
        axios.get('http://pp53.azurewebsites.net/pp53service.svc/viewprovincelist')
        .then(function (results) {
            self.setState({ count: results.data });
        })
        .catch(function (error) {
            console.log(error);
        });
    }

    render() {
        return(

                            column 1
                            column 2

                        {this.state.count.map((a, i) => <TableRow key = {i} count = {a} />)}

        );
    }
}

class TableRow extends React.Component {
   render() {
      return (

            {this.props.count.idProvince}
            {this.props.count.province}

      );
   }
}

And the error:
Error: Network Error
config:Object {adapter: , transformRequest: Object, transformResponse: Object, …}
message:"Network Error"
request:XMLHttpRequest {onreadystatechange: , readyState: 4, timeout: 0, …}
response:undefined
stack:"Error: Network Error\n    at createError (http://localhost:3000/static/js/bundle.js:1546:15)\n    at XMLHttpRequest.handleError (http://localhost:3000/static/js/bundle.js:1075:14)"
__proto__:Object {name: "Error", message: "", constructor: , …}

Hi, I got the problem too . Can u tell me how did u fixed it?

same problem , can you share your solution?

Sorry for late reply. I got problem with CORS configuration in my API 😂 so, be sure to check your CORS so that you can access your axios with no problem. Some url like this http://jsonplaceholder.typicode.com/todos works. Because they have no problem with CORS lol.


Issue processing regex exclusions?

[CRITICAL][27869] Beacon processing failed: Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/salt/minion.py", line 948, in _process_beacons
    beacons = self.process_beacons(self.functions)
  File "/usr/lib/python2.6/site-packages/salt/minion.py", line 476, in process_beacons
    return self.beacons.process(b_conf)
  File "/usr/lib/python2.6/site-packages/salt/beacons/__init__.py", line 56, in process
    raw = self.beacons[fun_str](b_config[mod])
  File "/var/cache/salt/minion/extmods/beacons/pulsar.py", line 232, in beacon
    if exclude.values()[0].get('regex', False):
AttributeError: 'bool' object has no attribute 'get'
. No beacons will be processed.

I could test things more thoroughly, but I'm pretty sure this traceback was generated by the following regex:
/etc:
  exclude:
    - \/etc\/sfx\/service_id[a-zA-Z0-9_]{6}:
        regex: True

I'm having issues testing this to confirm that this regex is the culprit.  Theoretically, this module should be reloaded every time the minion is restarted but I don't see the exclusions being registered, etc.

Can you throw single quotes around your regex and try again?
/etc:
  exclude:
    - '\/etc\/sfx\/service_id[a-zA-Z0-9_]{6}':
        regex: True

Also note that you need to do a cp.cache_file to get the file down to the minion. The provided schedule only does it once a day. Then restart your minion to pick up the new config.

@corleyma Did adding quotes work here?

I'm going to assume quotes were the issue. Feel free to comment if that's not the case and I'll re-open.


Gleam 0.28+

Document how to run Glychee now: https://github.com/gleam-lang/gleam/issues/2078
https://github.com/gleam-lang/gleam/pull/2068/files#diff-22ce7fbab55bd31150cd8fded527444426ce413332430e614a5e88211e48a490R42

Release new version after


[MNT] publish using API token

This changes the pypi wheels publish credentials from user name and password to skpro specific API token.

Codecov Report
Patch coverage has no change and project coverage change: -1.97% :warning:

Comparison is base (945966e) 71.67% compared to head (52530d1) 69.71%.
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #99      +/-   ##
==========================================
- Coverage   71.67%   69.71%   -1.97%
==========================================
  Files          93       93
  Lines        4950     4949       -1
  Branches      900      806      -94
==========================================
- Hits         3548     3450      -98
- Misses       1173     1275     +102
+ Partials      229      224       -5

see 6 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


The Select element does not select items from the list

🐛 Bug Report
In the Expo application, the Select element does not select items from the list, but shows "Option 1", "Option 2", etc.
I copied the code from the UI Kitten documentation for the Select element and pasted it into my application. I just replaced the "title" value in  with my own text. But the Select after selection still shows "Option 1", "Option 2", and not my items.

I have reproduced the bug at Expo Snack - you can check it here.
The same thing happens with the enabled and disabled multiSelect option.
How do I fix the bug?
UI Kitten and Eva version

Package
Version

@eva-design/eva
2.1.1

@ui-kitten/components
5.1.1

Environment information
"expo": "~43.0.2",
"react": "17.0.1",
"react-dom": "17.0.1",
"react-native": "0.64.3",

Having the same problem... unless we're missing something?
In the meantime, this is how I'm doing it:
const [index, setIndex] = useState();
const options = ["a", "b", "c"];
...
<Select selectedIndex={index} onSelect={setIndex} value={options[index.row]}>
  {options.map((value)=><SelectItem title={value} key={value}>)}
</Select>

Seems like value is what is displayed in the input box.

Having the same problem... unless we're missing something?
In the meantime, this is how I'm doing it:
const [index, setIndex] = useState();
const options = ["a", "b", "c"];
...
<Select selectedIndex={index} onSelect={setIndex} value={options[index.row]}>
  {options.map((value)=><SelectItem title={value} key={value}>)}
</Select>

Seems like value is what is displayed in the input box.

Thanks to. With single select I solved the problem too.
But with multiSelect not yet.

@Latgals
By default, Select displays a value by building strings for selected indices. For a real-word examples, a value property should be configured.
Please, take a look at the example 'Select Display Value'.


Queue CSS edits

I'm going to do the queue stuff a little differently just to integrate it into the stuff player I'm working on, but I wanted to leave some comments on yours.
Overall it's great. It looks slick, works great, and the code is separated.
However, I think you have a bad habit of doing a lot of logic in CSS instead of in JavaScript. Stuff is always going to be simpler if you do the logical stuff in JS though; here's an example of how much CSS could be removed if you used more conditional rendering.

Handled in #31


Question about using custom dataset for pretraining

Hi, I already read the tutorial about "Pretrain TinyLlama" but still confuse about how to use my own custom dataset for pretraining.
As I understand, I need to follow these step:

Download my raw custom dataset
Write the "prepare" script for the dataset in litgpt/data to process and have a *.bin of the dataset

But:

Do I need to modify the file litgpt/data/tinyllama.py?
What if I want to run pretraining on different model than TinyLlama? Can I run the command like this?

litgpt pretrain \
  --model_name Mistral-7B-v0.1 \
  --data path-to-my-dataset \
  --tokenizer_dir checkpoints/mistralai/Mistral-7B-v0.1

Thank you very much!

Hi there,
your overall process sounds correct to me. There's a LitData module by Adrian that you can use for a preprocessed datasets via --data LitData <path>.
In addition, there is also a TextFiles class in the works via #1235 to preprocess a folder of text files, and then use the preprocessed files for pretraining. I would only recommend this for smaller datasets though, not if you have hundreds of gigabytes of data.
In any case, maybe the updated (WIP) pretraining doc is helpful as it also contains links to project templates:
https://github.com/Lightning-AI/litgpt/blob/50e05de2acbbca067f571cc0adec59a977c8da33/tutorials/pretrain.md
Let me know if you have any feedback about the doc so we can address it in #1235 for others as well

Hi, thank you.
I think the updated Pretraining Doc could be better if the Warning section you guys could specify the syntax when using LitData likes you said above  --data LitData --data.path path/to/your/data because I would be mistaken that the path of LitData would be the same as TextFile like this --data LitData --data.train_data_path my_data_path

Thanks for the note. I agree that we should document this better!


Util.findKey() deprecated

Hi Guys!
Can you please advise why com.cavium.cfm2.Util.findKey() is deprecated?
What should I use instead to get key handle by key label?
Thanks.

You could use KeyStore's getKey function to get a CaviumKey object and call getHandle() on it.
You can find the example usage in KeyStoreExampleRunner.java or CloudHSMKeyStoreExampleRunner.java

I'll close this as the sample gives a way to get the handle from the KeyStore, please re-open if there is still an issue!


btn-lg is smaller than input-lg

In Chrome, Safari, and Firefox (not IE10+) btn-lg is a pixel off and should be 46px but instead its 45px. Here is some code that I'm working with. What I've done in my projects is just add a height:46px to btn-lg but I think a better solution is to just change the @line-height-large to 1.34 instead of 1.33.

Tests failed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: BUSTED
Commit: 69d1aa7a9a4f9572344de6d724dd4af1bcd0ff24
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/45714198
(Please note that this is a fully automated comment.)

Tests failed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: BUSTED
Commit: ec7bfd698fb551861da34c465204576b9bf3651f
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/45717175
(Please note that this is a fully automated comment.)

Tests failed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: BUSTED
Commit: 2c2a8d63362fe5a271856c6a4811b6d2828eb4ba
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/46883953
(Please note that this is a fully automated comment.)

Tests passed. Automated cross-browser testing via Sauce Labs and Travis CI shows that the JavaScript changes in this pull request are: CONFIRMED
Commit: 73c1f2b7aa143f6c19664e801c8fbdb276921512
Build details: https://travis-ci.org/twbs-savage/bootstrap/builds/46885995
(Please note that this is a fully automated comment.)

I really don't want to set the height of buttons, which is why I haven't pursued this much. I'll check in on the problem again when I can.

I agree, I will play around some more but here are my notes.

Closing as we aren't going to be setting the height.


DataFusion weekly project plan (Andrew Lamb) - Jan 1, 2024

Follow on to Dec 25 2023:
Boilerplate Overview
The idea of this ticket is make my plans for DataFusion visible, largely for my own personal organizational needs, but also to:

Try some different ways to communicate / coordinate in the community
Help provide an interesting summary of what is happening in DataFusion this week

It would be great if anyone else who has plans like this for DataFusion could try to make them visible somehow as well 🙏  (feel free to copy / modify the format)
My (personal) plans for this week

[ ] Circulate / Discuss: https://github.com/apache/arrow-datafusion/issues/8491
[ ] Prepare next steps for https://github.com/apache/arrow-datafusion/issues/8045

Project Queue (list of future projects)

[ ] Help with some more advanced pruning predicates https://github.com/apache/arrow-datafusion/issues/7869#issuecomment-1872530149
[ ] Writing: https://github.com/apache/arrow-datafusion/issues/6780
[ ] Statistics: https://github.com/apache/arrow-datafusion/issues/8227 (specifically, https://github.com/apache/arrow-datafusion/issues/8078)

Projects I plan to prioritize reviewing / helping

[ ] Additional work on PruningPredicate: https://github.com/apache/arrow-datafusion/pull/8669 from @yahoNanJing, and  possibly https://github.com/apache/arrow-datafusion/issues/7869#issuecomment-1872530149 with @NGA-TRAN
[ ] Memory explosion in HashJoin outputs: https://github.com/apache/arrow-datafusion/issues/7848  from @korowa
[ ] Improve planning speed https://github.com/apache/arrow-datafusion/issues/5637 with @matthewmturner
[ ] Making function packages more modular: https://github.com/apache/arrow-datafusion/issues/8045 (looking for help)

Algorithm for (my) prioritizing PR reviews
Note there are many committers who can and do review and merge PRs, so this is not the priorities of the project as a whole, just the approximate algorithm I am using
Priority:

Bug fixes (where something is just incorrect), especially regressions (where it used to work and now does not)
Improvements directly related to features needed for InfluxDB (my employer)
Documentation and test improvements (I view these as very strategically important)
PRs that I think are strategically important
Other new features / additions to functionality

The current strategically important projects in my head are:

Making function packages modular and easier to mix/match: https://github.com/apache/arrow-datafusion/issues/8045
Improving performance of high cardinality aggregation (I have dreams of working on this over Christmas break)

Thus, if you are interested in contributing to DataFusion and are interested in a fast turn around time I would recommend looking into bug fixes / test improvements / documentation / etc.
If you propose adding new functionality, the review cycle will likely be longer. You can make it a shorter cycle by looking at the comments on other recent PRs and following the same model (e.g. ensure there are tests in sqllogictest for example, the CI passes, includes documentation, etc)

Review Queue:
Arrow-rs:

[ ] https://github.com/apache/arrow-rs/pull/5262

Review Queue:
DataFusion:

[x] https://github.com/apache/arrow-datafusion/pull/8715#pullrequestreview-1800363039

Arrow-rs:

[ ] https://github.com/apache/arrow-rs/pull/5262

DataFusion

[ ] https://github.com/apache/arrow-datafusion/pull/8721

btw, the title should be Jan 1, 2024 :)

btw, the title should be Jan 1, 2024 :)

Thank you @jayzhan211  -- I have fixed it (off by one, a classic programmer error 😆 )

DataFusion

[ ] https://github.com/apache/arrow-datafusion/issues/8723
[ ] https://github.com/apache/arrow-datafusion/pull/8562
[ ] https://github.com/apache/arrow-datafusion/pull/8566

DataFUsion:

[x] https://github.com/apache/arrow-datafusion/pull/8774#pullrequestreview-1807481671
[ ] https://github.com/apache/arrow-datafusion/pull/8775
[ ] https://github.com/apache/arrow-datafusion/pull/8744


Issue: First get uses index 1, whereas array starts at index 0

Is there any reasoning behind this?
The problem is ui scroll starts loading from index 1, then shortly after prepends the element at index 0. This results in the container being scrolled down slightly on initial page load.
I tried just subtracting 1 from index before fetching elements from my array, but this can result in a situation where the requested index is -10 and count is 10 (total 0 elements requested) which means it will stop asking for more.

Is there an item with index 0 in your dataset? If there is not, it should not prepend anything there.

Like me, he might have tried to map his dataset into a standard Javascript Array.
In my use case, the data is retrieved from a web service which returns a JSON string that is parsed into a standard JS Array. This means that the dataset index is zero based and it will always have an item with index 0, even if i don't use it.

Yes, I'm using standard 0-based javascript arrays. Should I not?

You can use anything - 0 based arrays included, it does not change the logic on what items are sent back in the responses. Assuming the you have and items[20] array the scroller is going to call get as follows:
Request 1 start:1 count: 10 - you have to respond with 10 items 1 through 10
Request 2 start: 11 count 10 - respond with 9 items 11 through 19
Request 3 start: -9 count 10 - respond with 1 item 0
Keep in mind that as you scroll up and down the start index can change to pretty much anything, so the math selecting the array subset although simple is somewhat confusing. You can check the examples i.e. this one

I just decremented the index before doing any selection to respond.
So, for an array with length==20 :
Request 1 start: 1 count: 10 - you have to respond with 10 items from index 0 through 9
Request 2 start: 11 count 10 - respond with 10 items from index 10 through 19
Request 3 start: -9 count 10 - respond with 0 items
What i don't understand is really why?

Yea, it should work. You just should also be prepared to handle the requests with any start index between -9 and 20

Just for completeness and considering the array has all the data:
--index; // ...
endItem = index + count;
startItem = (index<0?0:index);

this.data.slice(startItem, endItem)

Yes this is exactly the solution I came up with, however, it doesn't work with all viewport sizes.
The problem is on small viewports it would ask for index -9 to 1 on the first request, after which decrementing by 1 would result in a return of index range -10 to 0. That gives a result of length 0, which causes ui scroll to stop listening for any more scroll events. That left me with an empty virtual list and no way to populate it.

You also need to account for the case when index+count goes out of bounds

But what do I do in that case?
If the problem was as trivial as the answers currently provided in this issue assume, I would have come up with a solution weeks ago.
How do I account for when index + count goes out of bounds without returning 0 items or returning duplicate items? Can you give an example?

that's what worked for me:
start = Math.max(MININDEX, actualIndex);
end = Math.min(actualIndex + count - 1, MAXINDEX);
This is taken from this example


Placeholder attribute should be only partial support on Safari

The spec for the "placeholder" HTML attribute supports line breaks. Safari ignores them however and renders all the content on a single line. CanIUse says that recent Safari versions support placeholder, but due to the above issue I think it should show partial support.

Not sure if that quite warrants partial support, but have added it under known issues. Thanks for reporting!


.env file / GitHub Secrets

During development, sensitive information such as database connections and credentials is stored in environment (env) files for security reasons.

The .env file is consistently excluded from version control repositories to prevent sensitive information from being exposed.

For hosting, GitHub Secrets are employed to securely store sensitive data, which is then referenced within the code for secure runtime access.

.env file and GitHub secrets has been created and will be updated accordingly!


Remove future trait objects in EitherTransportHandle

Can't be dealt with according to this: https://stackoverflow.com/questions/27535289/what-is-the-correct-way-to-return-an-iterator-or-any-other-trait
Need to wait for https://github.com/rust-lang/rust/issues/63063


Superset-ui v0.15.3 with incubator-superset fails with generator-superset 0.15.3

Describe the bug
Hello world plugin generated with  generator-superset 0.15.3 won't run properly with superset incubator-superset.
The process is pretty much the same as in So, You Want to Build a Superset Viz Plugin...
Have tried with (incubator-superset)

current master (9d7b3536e11ba550467b3872f0b0d56e865cf1c9)
0.37.1
0.37.2rc2
0.38 (f7e2dfa6056acf83b8a32bd1745e03c33d25047b)

To Reproduce
Steps to Replicate
Setup repro
# Setup root dir for repro
export SUPERSET_REPRO_ROOT=~/Desktop/superset_repro
export SUPERSET_REF=0.37.1
export SUPERSET_SHA=fa787d2de40a9bf90cf2f365bbc7a75b92227bcd
export SUPERSET_UI_VERSION=v0.15.3
cd $SUPERSET_REPRO_ROOT

# Clean up any potential docker resources
docker ps -q --filter name='superset' | xargs -r docker stop
docker ps -q --filter name='superset' | xargs -r docker rm
echo 'y' |docker container prune
echo 'y' |docker volume prune
echo 'y' |docker network prune

# Remove existing folders (sometimes requires sudo)
rm -rf $SUPERSET_REPRO_ROOT/incubator-superset
rm -rf $SUPERSET_REPRO_ROOT/superset-ui

Pull and run superset
# Get superset up and running
cd $SUPERSET_REPRO_ROOT
git clone -b $SUPERSET_REF https://github.com/apache/incubator-superset.git
cd $SUPERSET_REPRO_ROOT/incubator-superset
git checkout $SUPERSET_REF --force
git pull
git reset --hard $SUPERSET_SHA
docker-compose up --build

After this I check that the http://localhost:8088 runs normally without errors.
New terminal: Run superset-frontend
## Install
cd $SUPERSET_REPRO_ROOT/incubator-superset/superset-frontend
npm install
npm run dev-server

After this I check that the http://localhost:9000 runs normally without errors.
Create a new plugin
# Clone superset-ui
cd $SUPERSET_REPRO_ROOT
git clone -b $SUPERSET_UI_VERSION https://github.com/apache-superset/superset-ui.git

# Set up the new plugin with generator-superset
cd $SUPERSET_REPRO_ROOT/superset-ui
yarn install
cd $SUPERSET_REPRO_ROOT/superset-ui/plugins
mkdir plugin-chart-hello-world
cd plugin-chart-hello-world
npm install -g yo @superset-ui/generator-superset@$SUPERSET_UI_VERSION
yo @superset-ui/superset

Answer the following:
? What do you want to do? Create superset-ui chart plugin package
? Package name: hello-world
? Description: Hello World
? What type of React component would you like? Class component
? What type of chart would you like? Time-series chart
? Add superset-ui badges to your plugin's README.md Yes

Add tsconfig.json to the current folder and give it the following content
{
  "compilerOptions": {
    "declarationDir": "lib",
    "outDir": "lib"
  },
  "exclude": [
    "lib",
    "test"
  ],
  "extends": "../../tsconfig.options.json",
  "include": [
    "src/**/*",
    "types/**/*",
    "../../types/**/*"
  ]
}

Add the following to incubator-superset/superset-frontend/package.json dependencies section
    "@superset-ui/plugin-chart-hello-world": "^0.0.0",

Add the following to incubator-superset/superset-frontend/src/visualizations/presets/MainPreset.js
// Before FilterBoxChartPlugin
import HelloWorldChartPlugin from '@superset-ui/plugin-chart-hello-world';

// After EchartsTimeseriesChartPlugin

new HelloWorldChartPlugin().configure({
    key: 'hello-world'
})

Execute the following in a new terminal
cd $SUPERSET_REPRO_ROOT/incubator-superset/superset-frontend
npm link ../../superset-ui/plugins/plugin-chart-hello-world

restart dev-server
cd $SUPERSET_REPRO_ROOT/incubator-superset/superset-frontend
npm run dev-server

The terminal shows the following error:
WARNING in ./src/visualizations/presets/MainPreset.js 111:10-31
"export 'default' (imported as 'HelloWorldChartPlugin') was not found in '@superset-ui/plugin-chart-hello-world'

When going to localhost:9000, after login there is the forever loading screen and console shows the following error:

Uncaught TypeError: _superset_ui_plugin_chart_hello_world__WEBPACK_IMPORTED_MODULE_37__.default is not a constructor

After issuing the following commands...
cd $SUPERSET_REPRO_ROOT/superset-ui
yarn build

...and restarting the dev-server...
I get the same error. Even though the dev-server command gives the following output:
[Superset Plugin] Use symlink source for @superset-ui/plugin-chart-hello-world @ ^0.0.0

Expected behavior
I should be able to go to Superset and pick the Hellow World Plugin from the list of available plugins.
Screenshots
Environment (please complete the following information):

superset-ui version: v0.15.3
Node version: v12.18.3
npm version: 6.14.6

Additional context
Add any other context about the problem here.

Thank you for the excellent amount of detail in your issue report! This is tremendously helpful! And there's good news, I think I see the problem!
You pointed out the error "export 'default' (imported as 'HelloWorldChartPlugin') was not found in '@superset-ui/plugin-chart-hello-world'
Indeed, as you mentioned, in MainPreset you're doing import HelloWorldChartPlugin from '@superset-ui/plugin-chart-hello-world';
I'm willing to bet that if you try import { HelloWorldChartPlugin } from '@superset-ui/plugin-chart-hello-world'; it will work! The brackets mean you will be importing your plugin's "named export". You can, of course, also alter your plugin to provide a default export instead, but we figured the named export pattern was a little more scalable.
Hope this helps! If not, I'll keep trying to help

I'm willing to bet that if you try import { HelloWorldChartPlugin } from '@superset-ui/plugin-chart-hello-world'; it will work! The brackets mean you will be importing your plugin's "named export". You can, of course, also alter your plugin to provide a default export instead, but we figured the named export pattern was a little more scalable.

I can verify that the change removes the error. However, I'm still not seeing the HelloWorldChartPlugin in the available visualizations when I go to superset/explore in localhost:9000.
The npm run dev-server produces me the magic [Superset Plugin] Use symlink source for @superset-ui/plugin-chart-hello-world @ ^0.0.0 message.
When I go to $SUPERSET_REPRO_ROOT/superset-ui and hit yarn jest, I get an error message as follows:

But I don't think this is related to the undelying issue. Just that the TranslatorSingleton isn't initialized at this point.
So I go ahead and remove all the references to t() and its import under $SUPERSET_REPRO_ROOT/superset-ui/plugins/plugin-chart-hello-world/src/ and after this, the yarn jest runs without errors and we're not getting any additional hints on what might be wrong.
So I turn my eye on the yarn build log and notice while the:
"babel        --config-file=../../babel.config.js src --extensions \".ts,.tsx,.js,.jsx\" --copy-files --out-dir esm"

compilation finishes fine and picks up the @superset-ui/plugin-chart-hello-world plugin, the:
lerna exec --stream --concurrency 3 --scope @superset-ui/{chart-controls,core,legacy-plugin-chart-country-map,legacy-plugin-chart-event-flow,legacy-plugin-chart-paired-t-test,legacy-plugin-chart-parallel-coordinates,legacy-plugin-chart-sunburst,legacy-plugin-chart-time-table,legacy-preset-chart-big-number,legacy-preset-chart-nvd3,plugin-chart-choropleth-map,plugin-chart-echarts,plugin-chart-table,plugin-chart-word-cloud,preset-chart-xy}        -- ../../scripts/tsc.sh --build

does not include it...
So I execute npx lerna exec --stream --concurrency 3 --scope @superset-ui/plugin-chart-hello-world -- ../../scripts/tsc.sh --build manually and then restart the dev-server but still, no plugin, no error :-/

I also have verified the issue really is something related to the generated plugin. I tried the following steps to replicate:

Do everything as previously up to the point where you would generate a plugin but don't do that.
Instead go to superset-ui/plugins/plugin-chart-echarts/package.json and rename the plugin to @superset-ui/plugin-chart-echarts2
Delete all the other plugins in the plugins directory
cd $SUPERSET_REPRO_ROOT/superset-ui and run yarn install and yarn build
Add "@superset-ui/plugin-chart-echarts2": "^0.15.1", in superset-frontend/package.json
Add import { EchartsTimeseriesChartPlugin as EchartsTimeseriesChartPlugin2 } from '@superset-ui/plugin-chart-echarts2'; in MainPresets.js
Add new EchartsTimeseriesChartPlugin2().configure({ key: 'echarts_timeseries2' }), in MainPresets.js
cd cd $SUPERSET_REPRO_ROOT/incubator-superset/superset-frontend and run npm link ../../superset-ui/plugins/plugin-chart-echarts2
cd $SUPERSET_REPRO_ROOT/incubator-superset/superset-frontend and run npm run dev-server
Verify that you have now 2 ECharts Timeseries plugins. Other with key echarts_timeseries and other with echarts_timeseries2

This one works just fine and you can see the expected results. I assume this verifies that the fault is within the plugin itself and not f.ex. in the superset-ui or incubator-superset project or version compatibilty etc.
The versions for this repro were:
export SUPERSET_REPRO_ROOT=~/Desktop/superset_repro
export SUPERSET_REF=master
export SUPERSET_SHA=448a41a4e7563cafadea1e03feb5980151e8b56d
export SUPERSET_UI_VERSION=v0.15.3

Ha! Got it!
I will get back with more details but I believe the root of the problem boils down to this particular line in the package.json the generator-superset generated. It initially sets the version to 0.0.0 but I believe you need to be in same major version as the generator and/or superset-ui.

But like I said, I will repro this and get back with more details once I've verified this indeed is the root of the problem.
Now I have to eat, debugging makes you hungry ;)

No, it's not the version as the process I am currently using works even if the plugin's version is 0.0.0.
However, while the original failing procedure still fails, I have attached another process that works consistently.
793-repro-fixed.zip
I still do not know what actually makes the difference but it's not the package version as the attached process works even with version 0.0.0.

any update on this topic? am also affected.. the version from the attachment (793-repro-fixed.zip) works, but its version is a bit behind the latest release

The codebase on this repo has been moved to the main Apache Superset repo, and consequently the repo is in the process of being archived. See the Superset Improvement Proposal for details: https://github.com/apache/superset/issues/13013 . While all currently open issues and PRs will be closed, we encourage you to reopen this issue on the main repo if it is still relevant.


Licensing

What's the license on this? I'm started an Instagram growth service and want to provide users with a dashboard where they can check the results of using my service. I was thinking that this would be an awesome value add to my service since there's a lot of awesome features that's been built in and it'd be way better than I can do even if I can scrape the necessary data from Instagram myself.

Hi @yourstruly22
You can do whatever you want :)
But if you have an agency, you may be interested in the cloud version, it has more features, reports, etc. I also support the dedicated version, which can be freely changed.
greetings

https://github.com/jakim/ig-monitoring/blob/master/LICENSE.md


use EditorControl via props in List widget

Fix list widget by porting the object control changes in #1446.

Deploy preview for netlify-cms-www ready!
Built with commit a041958528c0df525e0f6154a76cd507af77489f
https://deploy-preview-1506--netlify-cms-www.netlify.com

Deploy preview for cms-demo ready!
Built with commit a041958528c0df525e0f6154a76cd507af77489f
https://deploy-preview-1506--cms-demo.netlify.com

Fixed in 2.0.


adding domain delete function!

database was tricky with the mutation, but it passes the test!

I rebased the feature branch on latest main - so i rebased this branch on that rebase.  The code is still good to merge - the test failures are from the other unimplemented ones


Ambiguous phrasing of env_var setting

This sentence is ambiguous:

To disable environment variable collection for a specific container, set the key/value [log_collection_settings.env_var] enabled = true to enable variable collection globally.

specifically: "To disable environment ... set ... to enable variable collection globally."
It seems to say that in order to disable collecting environment settings the "enable" should be true which then collects vars globally so that contradicts the first part of the sentence. Would be handy if enable = false is included in the example, and the sentence should be rephrased to say 'disable globally'.

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

ID: 01a0ac36-c3c9-1d86-0dd0-21b755ea8494
Version Independent ID: b0c90660-61aa-005b-235f-54361a338028
Content: Configure Container insights data collection using ConfigMap - Azure Monitor
Content Source: articles/azure-monitor/containers/container-insights-data-collection-configmap.md
Service: azure-monitor
Sub-service: containers
GitHub Login: @bwren
Microsoft Alias: bwren

@roelof-adam Thanks for your feedback! We will investigate and update as appropriate.


libencrypt is only in 64bit for linux...

Hi and thanks for the job...
Try to run on my raspberry but failed with "Exception while downloading map: /home/pi/PokemonGo-map/PokemonGo-Map-master/pogom/libencrypt.so: wrong ELF class: ELFCLASS64"
My guess is it's because the library is only in 64bits... a 32bits compilation would be appreciated....

A workaround if you got the same problem... It works for me..
https://m.reddit.com/r/pokemongodev/comments/4wjlq5/linux_arm_build/


feat: kclrun controller code structure

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[x] N
[ ] Y

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[x] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[x] Other

Generate the kubernetes gvk code and controller code structure. Also modify the project and go mod info to kcl-lang.io Please help double check. @Peefy


Show type status in occurrence search as default under basis of record

The type status is an important property distinguising specimens. It would be better to show it below the basis of record in the same column and turn it on by default
from http://dev.gbif.org/issues/browse/POR-1964?jql=project %3D POR AND status %3D Open

The type now has a prominent position in the header above the map.
In the body, terms are group by their group as exposed here: http://api.gbif.org/v1/occurrence/term/


The tag became System.out and no longer Rebugger after beta01, is this deliberate?

The tag became System.out and no longer Rebugger after beta01, is this deliberate?
I made a simple Log.e("TAG","message") to show the concern with the tag

Not deliberate. Which version ur using ?

1.0.0-rc01

Hmm.. interesting. It looks like the android variant is not published, and gradle is picking JVM variant, which relies on System.out. This will be fixed in rc02

@ravenfeld 1.0.0-rc02 is available now. Can you check if it works ? :)

Thank you very much, it works now.
And thank you for your bookshop, it helps me a lot to understand recomposition. I've learned that it's necessary to test in release because otherwise you'll get into recompositions that shouldn't be in debug.
https://itnext.io/exercises-in-futility-jetpack-compose-recomposition-6ea3cf9bc1b4


(Feature request): good name of components generated by stitches inside react dev tools

Hi stiches team,
is there a way that generated stitches components get the right component name inside react developper tools ?
It's quite hard to read inside the react chrome inspector.
In the examples bellow i would like to see ScrollableContent instead of Styled.div inside the react chrome inspector

Thanks a lot @shawnbot, i implement it and give you a feedback of the efficiency of the api


dynamoose.local() does not work

Hi,
When adding the dynamoose.local() config, it still connects to AWS dynamodb instance.
What am I missing?
F

Silly me was not issuing dynamoose.local() in the correct place.

@frankbolviken I am facing the same issue, where did you specify dynamoose.local()? I tried putting it in the server script and models, neither worked. And, it's not showing any errors either.

I had the same issue. The solution is to run dynamoose.local() before running dynamoose.model(). As it seems, the models keep a copy of the endpoint that was defined at modeling time, which means that running dynamoose.local() afterwards will have no effect
Run your app with DEBUG=dynamoose to see the order in which they run.


net/rpc: Server.ServeHTTP assumes default http mux

rpc.Server.ServeHTTP() calls http.Handle(rpcPath, server) and registers with http.DefaultServeMux. The second call to ServeHTTP() with the default names normally results in panic: http: multiple registrations for /_goRPC_. This means that if I want to start two different RPC endpoints on different ports I have to work around this library.
Solution with workaround
Playground link
package main

import (
	"fmt"
	"net"
	"net/http"
	"net/rpc"
)

func main() {
	Serve("one", ":2001")
	Serve("two", ":2002")
	Call(":2001")
	Call(":2002")
}

func Call(port string) {
	client, err := rpc.DialHTTP("tcp", port)
	if err != nil {
		fmt.Println(err)
	}
	var name string
	err = client.Call("Server.Name", struct{}{}, &name)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println("Server name on port", port, "is", name)
}

func Serve(name, port string) {
	serv := rpc.NewServer()
	s := Server{name}
	serv.Register(&s)

	// ===== workaround ==========
	oldMux := http.DefaultServeMux
	mux := http.NewServeMux()
	http.DefaultServeMux = mux
	// ===========================

	serv.HandleHTTP(rpc.DefaultRPCPath, rpc.DefaultDebugPath)

	// ===== workaround ==========
	http.DefaultServeMux = oldMux
    // ===========================

	l, err := net.Listen("tcp", port)
	if err != nil {
		panic(err)
	}
	go http.Serve(l, mux)
}

// RPC Server
type Server struct {
	name string
}

func (s *Server) Name(arg struct{}, ret *string) error {
	*ret = s.name
	return nil
}

Maybe the API could be improved for a future version to support that use case without a workaround.
 I don't think we'll be making any API additions to it. Sorry.

@bradfitz hmm okay, I understand. At least there is a pretty straightforward workaround, and it is probably not something a lot of people need.


Add optional returnType #4

Usage:
$bittrexManager = new BittrexManager();
$client = $bittrexManager->client;
$client->setReturnType('object');
$result = $client->getBalances();

@rpijpers Looks good ! I will merge and release to master tomorrow (or soon after)


Improve the snippet UI by offering 'Don't delete' actions to the edit form.

It's useful to have a 'No, don't delete' button on the delete snippet form. I think it's important to keep UI bits like this as similar as possible, with this addition snippet deletion looks and acts more like page
deletion which is visually less jarring.
The snippets now have a delete/edit button on hover as well as a 'Don't delete' action on the delete form:

Do the tests still pass? : Yes
Does the code comply with the style guide? Yes
For front-end changes: Did you test on all of Wagtail’s supported browsers? Chrome 70.0.3

Looks good to me - thanks @kevinhowbrook! Merged in 1079b7f0212f3ddedfe350a20aa929c6a9c7072b.
(Just changed the button from "No, don't delete it" to "No, don't delete", as this view gets used for multiple deletions too.)


Docker Install Errors

New install of the docker-compose file included gives this error at the end of the process.
Is this second line - /app/node_modules in the docker-compose file even allowed?  Maybe it is the issue.  Shouldn't it have two paths, one for host and one for docker?
    volumes:
      - .:/app/
      - /app/node_modules

Below is the log:
nodetube_mongo    | 2020-04-16T17:00:10.826+0000 I INDEX    [LogicalSessionCacheRefresh] build index on: config.system.sessions properties: { v: 2, key: { lastUse: 1 }, name: "lsidTTLIndex", ns: "config.system.sessions", expireAfterSeconds: 1800 }
nodetube_mongo    | 2020-04-16T17:00:10.826+0000 I INDEX    [LogicalSessionCacheRefresh] 	 building index using bulk method; build may temporarily use up to 500 megabytes of RAM
nodetube_mongo    | 2020-04-16T17:00:10.827+0000 I INDEX    [LogicalSessionCacheRefresh] build index done.  scanned 0 total records. 0 secs
nodetube_app      |
nodetube_app      | ><EMAIL_ADDRESS>start /app
nodetube_app      | > node --max-old-space-size=4096 app.js
nodetube_app      |
nodetube_app      | internal/modules/cjs/loader.js:638
nodetube_app      |     throw err;
nodetube_app      |     ^
nodetube_app      |
nodetube_app      | Error: Cannot find module 'express'
nodetube_app      |     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
nodetube_app      |     at Function.Module._load (internal/modules/cjs/loader.js:562:25)
nodetube_app      |     at Module.require (internal/modules/cjs/loader.js:692:17)
nodetube_app      |     at require (internal/modules/cjs/helpers.js:25:18)
nodetube_app      |     at Object.<anonymous> (/app/app.js:4:17)
nodetube_app      |     at Module._compile (internal/modules/cjs/loader.js:778:30)
nodetube_app      |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
nodetube_app      |     at Module.load (internal/modules/cjs/loader.js:653:32)
nodetube_app      |     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
nodetube_app      |     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
nodetube_app      | npm ERR! code ELIFECYCLE
nodetube_app      | npm ERR! errno 1
nodetube_app      | npm ERR<EMAIL_ADDRESS>start: `node --max-old-space-size=4096 app.js`
nodetube_app      | npm ERR! Exit status 1
nodetube_app      | npm ERR!
nodetube_app      | npm ERR! Failed at the<EMAIL_ADDRESS>start script.
nodetube_app      | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
nodetube_app      |
nodetube_app      | npm ERR! A complete log of this run can be found in:
nodetube_app      | npm ERR!     /root/.npm/_logs/2020-04-16T17_00_11_464Z-debug.log
nodetube_app exited with code 1

I don't use Docker personally, you'd want to chat with @chovy he's the one who's in charge of Docker stuff for the project

This works for me when I run docker-compose up --build
https://gist.github.com/chovy/ffb851c7b3f3cdf3b41d11a86205e869

Hi @chovy
I got this working, and upgraded the images used to modern ones (latest node.js version node:alpine and latest mongoDB version mongo:4).  Attached are my Dockerfile and docker-compose.yml file.
I added my own network, and adjusted the ports to run behind a reverse proxy on the compose file, but you will see the changes that are probably better to add into your templates.  Also you see that your Dockerfile was missing quite a few dependencies that the app requires to install, and that is why it was failing.  Anyway, it all now works for me, but the Dockerfile and compose file in this repo DO NOT work "out of the box", and my attached ones will.
If you would like me to directly make a PR to upgrade this, I will do so, just let me know.
Thanks guys, GREAT app, love it!
I do have a few questions for you (curious, and I could not work it out):

Why do you expose port 8080 in Dockerfile?  the app needs port 3000 exposed and is not (as far as I see?) using port 8080 at all.
In compose file, why do you expose mongo 27011:27017 ?  27017 will be accessible on the internal docker network without any config in compose (what is 27011 used for at all?).

My Dockerfile:
FROM node:alpine

RUN apk add ffmpeg
RUN apk add git
RUN apk add tar

COPY package*.json /app/

RUN npm install express compression express-session morgan chalk

WORKDIR /app/
#RUN rm -rf ./node_modules
#RUN npm cache clean --force
#RUN npm i --production
RUN npm i
#RUN npm rebuild node-sass

RUN npm audit fix

COPY . .

EXPOSE 8080
EXPOSE 3000

CMD ["npm", "start"]

My docker-compose.yml file:
version: '3.1'

services:
  nodetube_app:
    container_name: nodetube_app
    restart: always
    build:
      context: .
      dockerfile: Dockerfile
#    ports: # required if you do not run behind reverse proxy, uncomment
#      - "49161:3000" # required if you do not run behind reverse proxy, uncomment
    volumes:
      - .:/app/
      - /app/node_modules
      - /var/lib/docker/volumes/nodetube_app/_data_upload:/app/upload
      - /var/lib/docker/volumes/nodetube_app/_data_uploads:/app/uploads
    environment:
      REDIS_HOST: nodetube_redis
      MONGODB_DOCKER_URI: mongodb://nodetube_mongo:27017/nodetube
# start reverse proxy config - comment out if needed and uncomment the ports lines for "49161:3000" above
      VIRTUAL_HOST: "toob.mydomain.com"
      VIRTUAL_PORT: 3000
      LETSENCRYPT_HOST: "toob.mydomain.com"
      LETSENCRYPT_EMAIL<EMAIL_ADDRESS># end reverse proxy config
    depends_on:
      - nodetube_redis
      - nodetube_mongo
    command: npm start

  nodetube_mongo:
    container_name: nodetube_mongo
    restart: always
    image: mongo:4
    volumes:
      - /var/lib/docker/volumes/nodetube_app/_data_db:/data/db
#    ports: # This is not needed at all
#      - "27011:27017"  # This is not needed at all

  nodetube_redis:
    container_name: nodetube_redis
    restart: always
    image: redis

# start reverse proxy config - add your own network here for all the nodes, or comment it out completely for the default network to be created
networks:
    default:
       external:
         name: webproxy
# end reverse proxy config

Its good to expose non-standard ports in docker-compose because a lot of times the host OS already has those services running. I run about 30 docker apps locally, they can't all use port 3000

Ok. Thank you. That's what a reverse proxy is good for. Then they all can
run on port 3000
Are the other changes good for you?
What about the other ports I asked about?
On Thu, 16 Apr 2020, 23:13 Anthony Ettinger<EMAIL_ADDRESS>wrote:

Its good to expose non-standard ports in docker-compose because a lot of
times the host OS already has those services running. I run about 30 docker
apps locally, they can't all use port 3000
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mayeaux/nodetube/issues/243#issuecomment-614899163,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKS7W4WYRQSDUZNPUKNCR3RM5YGFANCNFSM4MJ5GPRA
.


Typescript const enums not compiled correctly

Version
3.3.0
Reproduction link
https://github.com/jestarray/const-enum-vue
Environment info
   @vue/babel-helper-vue-jsx-merge-props:  1.0.0-beta.2
    @vue/babel-plugin-transform-vue-jsx:  1.0.0-beta.2
    @vue/babel-preset-app:  3.3.0
    @vue/babel-preset-jsx:  1.0.0-beta.2
    @vue/babel-sugar-functional-vue:  1.0.0-beta.2
    @vue/babel-sugar-inject-h:  1.0.0-beta.2
    @vue/babel-sugar-v-model:  1.0.0-beta.2
    @vue/babel-sugar-v-on:  1.0.0-beta.2
    @vue/cli-overlay:  3.3.0
    @vue/cli-plugin-babel: ^3.3.0 => 3.3.0
    @vue/cli-plugin-typescript: ^3.3.0 => 3.3.0
    @vue/cli-service: ^3.3.0 => 3.3.1
    @vue/cli-shared-utils:  3.3.0
    @vue/component-compiler-utils:  2.5.1
    @vue/preload-webpack-plugin:  1.1.0
    @vue/web-component-wrapper:  1.2.0
    babel-helper-vue-jsx-merge-props:  2.0.3
    babel-plugin-transform-vue-jsx:  4.0.1
    vue: ^2.5.21 => 2.5.22
    vue-class-component: ^6.0.0 => 6.3.2
    vue-hot-reload-api:  2.3.1
    vue-loader:  15.6.2
    vue-property-decorator: ^7.0.0 => 7.3.0
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.5.21 => 2.5.22
    vue-template-es2015-compiler:  1.8.2
  npmGlobalPackages:
    @vue/cli: 3.3.0

Steps to reproduce
-npm install the dependencies,
-npm run build
-check the output in dist
What is expected?
const enum declarations should be inlined.
example:
const enum TEST{
HELLLO
}

console.log(TEST.HELLO);
//should be transpiled to console.log(0)

What is actually happening?
It's transpiled into console.log(TEST.HELLO) instead.

I have a const enum of keyboard events and event key names that I need inlined correctly. Followed some solutions of ts-loader since vue cli uses it under the hood but no luck.

Hi @jestarray! I ran into a similar issue this last week and this thread was helpful.
We ended up separating our enum "types" into a different file. (a plain .ts file) Then we imported that file into our types file. It fixed the problem. Here's a watered down version:
types.d.ts
// Import Enums
import { MyEnum } from './enums'

export interface MyInterface {
   firstProperty: MyEnum,
   secondProperty: string,
   thirdProperty: number
}

enums.ts
export enum MyEnum {
   firstProperty = 0,
   secondProperty = 1,
   thirdProperty = 2
}

That was suggested by Lukas Behal.


Bitcast

Please don't submit incomplete PRs like this

Please don't submit incomplete PRs like this

I noticed that a view of a buffer isn't the same as the bit cast view of a buffer as it views the whole buffer. I thought it would be simpler to satisfy the assert for the offset attribute, than specify two different view types. Also because all the gpu/onnx tests passed with just returning the whole buffer in the offset function, I thought I didn't violate anything. The TODO statement was more for anyone who needed the offset func to work. I tried to implement it but got misaligned errors and when I realigned the offset, the right part of the buffer isn't read because I think the memory is planned beforehand. How do I go about this?


CB-3578 ephemeral disk list is not parsed correctly

DELETE THIS TEMPLATE BEFORE SUBMITTING
Describe the change you are making here!
Please include tests. Check out these examples:

https://github.com/hortonworks/cloudbreak/blob/master/core/src/test/java/com/sequenceiq/cloudbreak/service/blueprint/BlueprintLoaderServiceTest.java#L62-L76

Please include a short description. Check out these examples:

https://github.com/hortonworks/cloudbreak/commit/888b2e2a8887def28a24e26efcd6d9ca5863733a

If your PR resolves any open issue(s), please indicate them like this so they will be closed when your PR is merged:
Closes #xxx
Closes #xxx

Growparts won't work on Azure with this.


Run make tests before updating in Golang PR

Issue #, if available:
Description of changes:
Adding make run-make-tests will generate the actual files expected during the make update-make-tests-expected target
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve


Advertise a recommended way to scrape cadvisor container metrics

(Note: this issue also serves as a braindump and an explanation for future googlers)
Currently in the grafana ecosystem, there are many ways to scrape container metrics, with not so obvious tradeoffs between them:

The agent can scrape directly from each node kubelet, by hitting the /metrics/cadvisor endpoint. This works best when the agent runs inside the cluster with a ServiceAccount properly granted, then making use of the node role in the kubernetes discovery.

Alternatively, the requests can be proxied through the API server by hitting the api/v1/nodes/<MY_NODE>/proxy/metrics/cadvisor endpoint. This is what the prometheus helm chart did by default, but they're moving away from that in favor of option 1 (see https://github.com/prometheus-community/helm-charts/pull/3081). I've seen various discussions online regarding the pros and cons of this solution, but I'm not competent enough to weigh in on it (from what I understand, pro is being able to scrape from outside the cluster, con is heavier load on the api server)

The prometheus operator and the agent operator both deploy a kubelet service as an entrypoint that can be scraped with a ServiceMonitor. It's unclear to me whether this service provides a value besides being able to be used with a ServiceMonitor.

The grafana agent can launch its own cadvisor via an integration. This integration is not yet available as a component in flow mode but should eventually be there (see grafana/agent#3162). I'm not sure if this integration is tailored for deployments outside of kubernetes, or is intended to be a replacement/improvement of the cadvisor bundled within the kubelet.

Long term, the landscape of kubernetes metrics may change with the introduction of PodAndContainerStatsFromCRI, but I think this option can be safely ignored for now.

Assuming a deployment in flow mode via the helm chart, which seems to be the future, what option should be recommended? I'd lean in favor of option 1, but I'm interested in gathering feedback by the subject matter experts :) If a consensus is reached, this information could be added to the docs as part of a tutorial.
Cheers!

Someone might find this useful. I run a DaemonSet to collect pod logs so I use this same instance to scrape metrics from node local pods as described in the example.
This inspired me to do the same for the cadvisor exposed container metrics.
discovery.kubernetes "nodes" {
  role = "node"
}

discovery.relabel "local_node_only" {
	targets = discovery.kubernetes.nodes.targets

	rule {
		source_labels = ["__meta_kubernetes_node_name"]
		action = "keep"
		regex = env("HOSTNAME")
	}

	rule {
		replacement = "https"
		target_label = "__scheme__"
	}

	rule {
		replacement = "metrics/cadvisor"
		target_label = "__metrics_path__"
	}
}

prometheus.scrape "local_cadvisor" {
	targets = discovery.relabel.local_node_only.output
	forward_to = [prometheus.remote_write.mimir.receiver]
	scrape_interval = "15s"

	authorization {
		credentials_file = "/run/secrets/kubernetes.io/serviceaccount/token"
		type = "Bearer"
	}

	tls_config {
		ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
		insecure_skip_verify = false
	}
}

Here is what works for me:
      discovery.kubernetes "k8s_nodes" {
        role = "node"
      }

      discovery.relabel "kubelet" {
        targets = discovery.kubernetes.k8s_nodes.targets

        rule {
          replacement  = "kubernetes.default.svc:443"
          target_label = "__address__"
        }

        rule {
          regex         = "(.+)"
          source_labels = ["__meta_kubernetes_node_name"]
          replacement   = "/api/v1/nodes/$1/proxy/metrics"
          target_label  = "__metrics_path__"
        }
      }

      prometheus.scrape "kubelet" {
        job_name = "integrations/kubernetes/kubelet"
        targets  = discovery.relabel.kubelet.output
        scheme   = "https"

        tls_config {
          server_name          = "kubernetes"
          ca_file              = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
          insecure_skip_verify = false
        }

        bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
        forward_to        = [prometheus.remote_write.mimir.receiver]
      }

      discovery.relabel "cadvisor" {
        targets = discovery.kubernetes.k8s_nodes.targets

        rule {
          replacement  = "kubernetes.default.svc:443"
          target_label = "__address__"
        }

        rule {
          regex         = "(.+)"
          source_labels = ["__meta_kubernetes_node_name"]
          replacement   = "/api/v1/nodes/$1/proxy/metrics/cadvisor"
          target_label  = "__metrics_path__"
        }
      }

      prometheus.scrape "cadvisor" {
        job_name = "integrations/kubernetes/cadvisor"
        targets  = discovery.relabel.cadvisor.output
        scheme   = "https"

        tls_config {
          server_name          = "kubernetes"
          ca_file              = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
          insecure_skip_verify = false
        }

        bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
        forward_to        = [prometheus.remote_write.mimir.receiver]
      }

@portswigger-tim , @ScOut3R I have tried both of the solutions you provided and still I could not get some of the metrics (for example container_fs_usage_bytes) ? Were you able to get this metric with your configurtion?

@portswigger-tim brilliant :clap:
worked with me

@snk-actian
Yes, I tried @portswigger-tim 's solution and I can see this metric.
Bear in mind that this is a snippet of the configuration, and the not the whole configuration.
There's a component that's not configurable in the answer, which is the prometheus.remote_write. You'll need to set it up.

Hi @hkhairy thanks for the reply and confirmation.
Yes I am currently using Grafana Alloy and have full configuration working as expected.  I have tried to add this to my current config and in debug screen, I could not see anything..
As it is working for others, I suspect it is something like a "PEBKAC". I will re-try with more attention..

Hi @snk-actian , you're most welcome
Ah you're using the newer Alloy. Apologies for not stating that earlier, but we're using the older Grafana Agent. We haven't migrated to Alloy yet. I'm not sure if this syntax is compatible with Grafana Alloy.

Hi @snk-actian , you're most welcome
Ah you're using the newer Alloy. Apologies for not stating that earlier, but we're using the older Grafana Agent. We haven't migrated to Alloy yet. I'm not sure if this syntax is compatible with Grafana Alloy.

Yeah they both use same river syntax and I migrated from Grafana Agent Flow to Alloy without any issues on configuration. ;-)

@snk-actian
Okay Great!
Hope you manage to solve this issue :crossed_fingers:
Have you checked that maybe it's a metric relabel config that's dropping the metric?
Also, while researching I found a way to look at the cadvisor metrics directly. Maybe you can check this way to see if this metric is being exported by cadvisor in the first place or not

Run kubectl proxy to tunnel your localhost to the kubernetes proxy. It will usually be localhost:8001
Visit localhost/8001/api/v1/nodes to get a JSON response, detailing the names for your nodes. Copy the name of the node
alternatively, you could run kubectl get nodes
Then, visit http://localhost:8001/api/v1/nodes/<node-name>/proxy/metrics/cadvisor

You'll see the text representation of the prometheus metrics that the agent is scraping. Just CTRL+F on it and search for the metric you want to make sure it's being exported by cadvisor.

Hey @hkhairy thanks for that last tip to proxy tunneling.. That was the proof that I did not do something wrong and that it does not provide the metric.. I got only below, which I normally get from cadvisor thru Grafana Agent / Alloy. :-(
# HELP container_fs_usage_bytes Number of bytes that are consumed by the container on this filesystem.
# TYPE container_fs_usage_bytes gauge
container_fs_usage_bytes{container="",device="/dev/nvme0n1p1",id="/",image="",name="",namespace="",pod=""} 8.32131072e+09<PHONE_NUMBER>622
container_fs_usage_bytes{container="",device="/dev/shm",id="/",image="",name="",namespace="",pod=""} 0<PHONE_NUMBER>622
container_fs_usage_bytes{container="",device="/run",id="/",image="",name="",namespace="",pod=""} 2.84672e+06<PHONE_NUMBER>622
container_fs_usage_bytes{container="",device="/sys/fs/cgroup",id="/",image="",name="",namespace="",pod=""} 0<PHONE_NUMBER>622

Could it be related to the issues that began occurring with the removal of the Docker shim? https://kubernetes.io/docs/tasks/administer-cluster/migrating-from-dockershim/check-if-dockershim-removal-affects-you/#some-filesystem-metrics-are-missing-and-the-metrics-format-is-different

Yes, that is the case indeed @portswigger-tim . I thought the starting point of this issue was this Docker shim removal and did not think of re-mentioning that :-)
So those alternative ways are not solutions for the main problem. Which I believe from that link, only way is to use external cadvisor daemonset or kubelet-summary.. I reviewed that  doc before but did not want to get into that additional daemonset before trying all other possibilities

@snk-actian
welp, it turns out I was getting the same metric container_fs_usage_bytes with no container or pod label. I thought the metric itself didn't show up for you, but now I understand that it's practically useless without the container and pod labels.
When I told you I saw the metric, I only checked if the metric existed, and didn't look at its labels :man_facepalming:
So, yeah, I guess it has to do with the shim after all :joy:


[Dialog] Blurry content when opened

Problem description
When initially opened, the Dialog component's contents appear blurry. If a redraw is forced (e.g. by changing the width of the container, as demonstrated in the example video below), the contents become sharp as expected.
This is occurring on a Retina MacBook Pro running macOS 10.12 using Chrome.
Link to minimally-working code that reproduces the issue
Dialog in the Material-UI docs, all examples
Example video
Before redraw

After redraw, notice that text is now sharp

The issue may not appear especially pronounced in the screenshots above, but it becomes increasingly evident in modals with lots of content.
Versions

Material-UI: 0.16.5
React: 15.4.1
Browser: Chrome 55

Thanks for opening an issue and for making that video, but I'm not being able to see a difference in the video since it's on low-quality (not sure if it's a Dropbox thing).
The images that you provided only shows differences between the font-weight on the text content, is it the issue that you are referring to?

Argh, yeah, looks like Dropbox compresses the video in the web viewer. If you hit th download link in the upper right-hand corner then you should be able to download the original file and then play that way.
Right, it looks like font-weight is different, but it's actually the same in both screenshots (one is just pre-redraw and one is after). In addition to just appearing bolder the text is also blurrier (although I admit that's not as discernible in the screenshots - video is clearer). The issue is also evident in the DropDownMenu component, FWIW (same problem - text appears bolder and blurrier until a redraw occurs), which leads me to think perhaps it's some sort of Chrome issue with fixed position transformed elements? Just thinking aloud, though.

How are you loading the Roboto font?  I found that trying to do that within React caused this issue. Now, my only reference to the font is in the html file i.e.

Hm, thanks for the idea... Right now our only reference to the font is in the html file as well, specifically:
<link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700,400italic,700italic" rel="stylesheet" type="text/css">

So unfortunately doesn't seem like that would help. Curious though, did you experience the same bold-looking text as well, @markau? Might be a hint as to the source of the issue...

Having same issue. Content is very blurry. Any ideas?

Looking at your demo video, I can't say that the issue I faced is the same. I was, however, loading the roboto font server-side, and then again on the client. On first render, the font was blurry (like a larger font-weight) and then when the client-side load kicked in the font was fixed. This was really frustrating and fortunately I was able to fix it by removing all server-side references to Roboto, and only including it as I suggested above. But you have done that, so I don't have any suggestions except to try the precise link I have used above (loading just the font and not different weights).

A possible reason for this issue is that CSS translate with percents can cause this effect in Chrome. See https://stackoverflow.com/questions/32034574/font-looks-blurry-after-translate-in-chrome for details.


[mesheryctl] Promote model command

Notes for Reviewers
This PR fixes #
Signed commits

[x] Yes, I signed my commits.

🚀 Preview for commit e1986200be0b79f1c58d35bec9cd51e747c76549 at: https://665fd8465a33f5966b9099c3--meshery-docs-preview.netlify.app


Field Mapping Dialog: Field Order

Hello and thanks for your time. I don't know if this is a Bug or a Feature Request.  I hope this isn't a duplicate issue, I have searched the docs and issues boards but could not find an answer.
System information:

Operating system Microsoft Windows [Version 10.0.19041.867]
DBeaver version  <IP_ADDRESS>103102007
Java version 11.0.5
No Additional extensions

Connection specification:

MariaDB 10.5.8-MariaDB
Driver mariadb-java-client-2.7.1

Describe the problem you're observing:

Import Field Mapping Dialog only displays fields in order created, not alpha-sorted

in the Map Columns Dialog, I see no way to sort the columns.
I have tables with Hundreds of Fields and Target Tables with just a dozen or so.
I am having a very hard time finding the source columns for which I want to select a target

Steps to reproduce, if exist:

I right click on a Table in the Database Browser, and select Import Data

I select Source Type (database tables)

I select the input source

I click the Columns Button in the Data Transfer dialog

in the Map Columns Dialog...I need the Source Columns alpha sorted, I see no way to do that. I have tables with Hundreds of Fields and Target Tables with just a dozen or so. I am having a very hard time finding the source columns for which I want to select a target

thank you for suggestion

Implemented:

Now you can click on the column's header to change ordering.

verified


Run emulator in containers

Hello,
What would take to have DocumentDb Emulator to run in a Windows Container? It would be good if we have a .zip package deployment instead of a MSI so we can run it from a microsoft/windowsservercore container, and even better (and lightweight) if we could run it on a microsoft/nanoserver container.
What can we do to have it to work? Any plans on support it? Any ETA?
Thanks, that would be really helpful to support.
Thanks!
Gutemberg

@galvesribeiro We’re working on a Windows container for the emulator (currently based on windowsservercore).  The timeframe is about 2-3 weeks.

@rnagpal thanks for get back. Will track this issue to follow up.
Thanks!

Any updates on this? I've seen a few recent references to running the emulator in a Windows container... has someone published a Docker image yet?

@rnagpal any news?

I just got an email from Azure and one of the headlines was DocumentDb Emulator in Docker.  But there were no details to it in the email other then the headlines.

Emulator in Docker is now available - https://docs.microsoft.com/en-us/azure/documentdb/documentdb-nosql-local-emulator#running-on-docker-for-windows.
@erichexter - Sorry for the delay in updating the documentation.
@rnagpal - Can you update the labels on this issue?

Sadly, it is only for Windows :(

I wonder why it was closed if it is just for windows... Beats the purpose of the container and this issue... To be clear, I'm editing the issue description to cover that...

Even if the issue has been closed last year, do you plan to support Linux Containers ?


Make token picker on bottom sheet scrollable

Description
The token picker is now scrollable.
https://user-images.githubusercontent.com/6062888/139738067-b5aad11c-5723-4c3f-bc9a-20a73784bcf6.mov
Other changes
Fixed a warning due to a missing key attribute.
Tested
I made a few copies of the tokens I had to test with a large token list.
How others should test
Get a lot of different tokens and check that they can all be seen from the token picker
Related issues

Part of #1126

Backwards compatibility
N/A

Hey @MuckT, We have verified this issue using Latest iOS Alfajores Nightly V1.23.0, Android Alfa jores nightly V1.23.0 and added the result in below sheet.
Sheet Link:
https://docs.google.com/spreadsheets/d/1LcYXmQcuLTBIHZrzUjoYaUvnzisq2ReRvxVwmn-xGEA/edit#gid=1458277593
Devices: iPhone 13 mini (15.1.1), One plus 7t (11.0)
CC: @gnardini
Thanks..!!


Add flaps client support for new secrets endpoints

tested against dev gw with flyctl pr.

retested on dev gw again with latest RESTful endpoints.


#48: Fix exaslct on bash 4.2

It turned out that #10 is causing issues with bash version < 4.4, for example on CentOS 7.
[[ -v ]] is not working correctly, use -n.
However, this causes unbound variables, so need to deactivate unbound check temporarily.

Two things which might help to avoid the deactivation of the unbound check
https://github.com/tests-always-included/wick/blob/master/doc/bash-strict-mode.md#unbound-variable-1-and-optional-parameters
https://github.com/tests-always-included/wick/blob/master/doc/bash-strict-mode.md#unbound-variable-array


Doc: document Stream/Device handling in interoperability docs

Document that:

"current device" is a thread-local managed by CUDA, i.e. device set in one library affects the other library so mixing device management (especially using context manager) is highly discouraged. Related to #5705.
"current stream" is a concept provided by each library and should be activated for each library.

@kmaehashi May I send a PR to address this issue? We (cuQuantum) also hit this ourselves despite I initiated this change of handling, so it's better to get this documented asap 😅
In particular,

so mixing device management (especially using context manager) is highly discouraged

This must be highlighted and the same workaround (#5915) must be noted for downstream "libraries" (normal projects are fine) that wish to support external calls to cudaSetDevice() outside of the library.

the same workaround (https://github.com/cupy/cupy/pull/5915)

Quoted the wrong PR. It should be #5963.

Thanks Leo, adding docs looks good to me!


WIP: Aks options

Depends on:
https://github.com/rancher/types/pull/469
Issue:
https://github.com/rancher/rancher/issues/13395

LGTM