[BUG] Using tikv with tls as metadata does not work

What happened:
I follow JuiceFS CSI doc to deploy JuiceFS on my k8s cluster.
In my environment, the metadata uses tikv with tls, which requires the certificate and key to be set, so I set them according to the documentation:
apiVersion: v1
kind: Secret
metadata:
  name: juicefs-secret
type: Opaque
stringData:
  name: jfs
  metaurl: tikv://<IP_ADDRESS>:2379,<IP_ADDRESS>:2379,<IP_ADDRESS>:2379/jfs?ca=/etc/tikv/ca.crt&cert=/etc/tikv/client.crt&key=/etc/tikv/client.key
  configs: "{tikv-secret: /etc/tikv}"

But juicefs-csi-controller always log:
I1026 08:28:01.050042       7 controller.go:64] CreateVolume: Secrets contains keys [metaurl name configs]
I1026 08:28:01.050335       7 setting.go:202] Get configs in secret: {tikv-secret: /etc/tikv}
I1026 08:28:01.050407       7 setting.go:253] VolCtx got in config: map[]
I1026 08:28:01.050458       7 juicefs.go:271] JfsMount: storage or bucket is empty, format --no-update.
I1026 08:28:01.050472       7 juicefs.go:680] ceFormat cmd: [/usr/local/bin/juicefs format --no-update ${metaurl} jfs]
I1026 08:28:01.050605       7 controller.go:64] CreateVolume: Secrets contains keys [metaurl name configs]
I1026 08:28:01.050899       7 setting.go:202] Get configs in secret: {tikv-secret: /etc/tikv}
I1026 08:28:01.051000       7 setting.go:253] VolCtx got in config: map[]
I1026 08:28:01.051030       7 juicefs.go:271] JfsMount: storage or bucket is empty, format --no-update.
I1026 08:28:01.051049       7 juicefs.go:680] ceFormat cmd: [/usr/local/bin/juicefs format --no-update ${metaurl} jfs]
I1026 08:28:02.440386       7 identity.go:41] Probe: called with args {XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}
I1026 08:28:12.440799       7 identity.go:41] Probe: called with args {XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}
I1026 08:28:17.060878       7 juicefs.go:699] Format output is 2022/10/26 08:28:01.187901 juicefs[66] <INFO>: Meta address: tikv://<IP_ADDRESS>:2379,<IP_ADDRESS>:2379,10.254.129
.169:2379/jfs?ca=/etc/tikv/ca.crt&cert=/etc/tikv/client.crt&key=/etc/tikv/client.key [interface.go:402]
[2022/10/26 08:28:01.188 +00:00] [WARN] [base_client.go:251] ["[pd] failed to get cluster id"] [url=http://<IP_ADDRESS>:2379] [error="[PD:etcd:ErrEtcdTLSConfig]open /etc/tikv/clie
nt.crt: no such file or directory: open /etc/tikv/client.crt: no such file or directory"]

What you expected to happen:
How to reproduce it (as minimally and precisely as possible): use tikv with tls as meta
Anything else we need to know?
Environment:

JuiceFS CSI Driver version (which image tag did your CSI Driver use): v0.17.1
Kubernetes version (e.g. kubectl version): v1.22.3
Object storage (cloud provider and region): ceph s3
Metadata engine info (version, cloud provider managed or self maintained): tikv with tls
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage): eth
Others:

Hi @wutz , I suggest you to add --format-in-pod arg in juicefs csi node and have a retry. Because juicefs format need cert too and format-in-pod set format as initContainer in mount pod that cert has been mounted in it.

I add --format-in-pod to csi node:
Containers:
  juicefs-plugin:
    Container ID:  containerd://6f18aa49567ba71371dd0be90e6ff400cb59a47ec8af7aa9147192082a92aab4
    Image:         juicedata/juicefs-csi-driver:v0.17.1
    Image ID:      docker.io/juicedata/juicefs-csi-driver@sha256:59e3dcb737fa554f809c022b493bbf0cbb2c32b6d8cae70629f6cf0f2f031530
    Port:          9909/TCP
    Host Port:     0/TCP
    Args:
      --endpoint=$(CSI_ENDPOINT)
      --logtostderr
      --nodeid=$(NODE_NAME)
      --v=8
      --enable-manager=true
      --format-in-pod
    State:          Running
      Started:      Fri, 28 Oct 2022 10:34:31 +0800

But still get same errors:
I1028 02:44:10.574129       7 controller.go:64] CreateVolume: Secrets contains keys [metaurl name configs]
I1028 02:44:10.574418       7 setting.go:202] Get configs in secret: {tikv-secret: /etc/tikv}
I1028 02:44:10.574523       7 setting.go:253] VolCtx got in config: map[]
I1028 02:44:10.574564       7 juicefs.go:271] JfsMount: storage or bucket is empty, format --no-update.
I1028 02:44:10.574587       7 juicefs.go:680] ceFormat cmd: [/usr/local/bin/juicefs format --no-update ${metaurl} jfs]
I1028 02:44:10.657138       7 identity.go:41] Probe: called with args {XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}
I1028 02:44:20.657141       7 identity.go:41] Probe: called with args {XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}
I1028 02:44:26.582621       7 juicefs.go:699] Format output is 2022/10/28 02:44:10.706259 juicefs[234] <INFO>: Meta address: tikv://<IP_ADDRESS>:2379,<IP_ADDRESS>:2379,<IP_ADDRESS>:2379/jfs?ca=/etc/tikv/ca.crt&cert=/etc/tikv/client.crt&key=/etc/tikv/client.key [interface.go:402]
[2022/10/28 02:44:10.706 +00:00] [WARN] [base_client.go:251] ["[pd] failed to get cluster id"] [url=http://<IP_ADDRESS>:2379] [error="[PD:etcd:ErrEtcdTLSConfig]open /etc/tikv/client.crt: no such file or directory: open /etc/tikv/client.crt: no such file or directory"]

@wutz , sorry my fault. --format-in-pod=true

I notice the use of go flag https://github.com/juicedata/juicefs-csi-driver/blob/9407a45abf74c1bb61b10ee7050d42bba951a30e/cmd/main.go#L45
So --format-in-pod and --format-in-pod=true are equivalent.
I guess the csi-controller might also need this flag, so add this flag as well.
After the command kzw rollout restart statefulset juicefs-csi-controller is executed, juicefs can be mounted successfully.
Thank you for your help！

Pod juicefs-csi-node-xxx output
I0901 10:07:30.055416       7 juicefs.go:1035] ceFormat cmd: [/usr/local/bin/juicefs format --storage=ceph --bucket=ceph://juicefs-dev2 --access-key=ceph --secret-key=${secretkey} ${metaurl} juicefs-dev2]
I0901 10:07:30.070017       7 pod_mount.go:494] setMountLabel: set mount info in pod juicefs-app
I0901 10:07:30.076616       7 pod_mount.go:567] createOrUpdateSecret: juicefs-mn02.hs2.local-pvc-72504dee-e470-4c97-a9ad-cdaaffd02192-nupndb-secret, juicefs
I0901 10:07:30.080446       7 pod_mount.go:446] addRefOfMount: Add target ref in mount pod. mount pod: [juicefs-mn02.hs2.local-pvc-72504dee-e470-4c97-a9ad-cdaaffd02192-nupndb], target: [/var/lib/kubelet/pods/5096b5fa-0b3c-4be6-9c70-a18f8be2698c/volumes/kubernetes.io~csi/pvc-72504dee-e470-4c97-a9ad-cdaaffd02192/mount]
I0901 10:07:30.082273       7 pod_mount.go:460] addRefOfMount: Target ref [/var/lib/kubelet/pods/5096b5fa-0b3c-4be6-9c70-a18f8be2698c/volumes/kubernetes.io~csi/pvc-72504dee-e470-4c97-a9ad-cdaaffd02192/mount] in pod [juicefs-mn02.hs2.local-pvc-72504dee-e470-4c97-a9ad-cdaaffd02192-nupndb] already exists.
I0901 10:07:30.082297       7 pod.go:218] waiting for mount point /jfs/pvc-72504dee-e470-4c97-a9ad-cdaaffd02192-nupndb ready, mountpod: juicefs-mn02.hs2.local-pvc-72504dee-e470-4c97-a9ad-cdaaffd02192-nupndb
I0901 10:07:30.083026       7 pod.go:237] Mount point /jfs/pvc-72504dee-e470-4c97-a9ad-cdaaffd02192-nupndb is ready, mountpod: juicefs-mn02.hs2.local-pvc-72504dee-e470-4c97-a9ad-cdaaffd02192-nupndb
I0901 10:07:46.088042       7 pod_mount.go:515] juicefs status error: signal: killed, output: '2024/09/01 18:07:30.127027 juicefs[51] <INFO>: Meta address: tikv://<IP_ADDRESS>:2379,<IP_ADDRESS>:2379,<IP_ADDRESS>:2379/juicefs-dev2?ca=/etc/tikv/ca.crt&cert=/etc/tikv/client.crt&key=/etc/tikv/client.pem [interface.go:504]
2024/09/01 18:07:30.127195 juicefs[51] <INFO>: TiKV gc interval is set to 3h0m0s [tkv_tikv.go:84]
[2024/09/01 18:07:30.127 +08:00] [WARN] [base_client.go:252] ["[pd] failed to get cluster id"] [component=tikv] [pid=51] [url=http://<IP_ADDRESS>:2379] [error="[PD:etcd:ErrEtcdTLSConfig]open /etc/tikv/client.crt: no such file or directory: open /etc/tikv/client.crt: no such file or directory"] [errorVerbose="[PD:etcd:ErrEtcdTLSConfig]open /etc/tikv/client.crt: no such file or directory: open /etc/tikv/client.crt: no such file or directory\ngithub.com/pingcap/errors.AddStack\n\t/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20211224045212-9687c2b0f87c/errors.go:174\ngithub.com/pingcap/errors.(*Error).GenWithStackByCause\n\t/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20211224045212-9687c2b0f87c/normalize.go:307\ngithub.com/tikv/pd/client/tlsutil.TLSConfig.ToTLSConfig\n\t/go/pkg/mod/github.com/tikv/pd/client@v0.0.0-20221031025758-80f0d8ca4d07/tlsutil/tlsconfig.go:223\ngithub.com/tikv/pd/client.(*baseClient).getOrCreateGRPCConn\n\t/go/pkg/mod/github.com/tikv/pd/client@v0.0.0-20221031025758-80f0d8ca4d07/base_client.go:439\ngithub.com/tikv/pd/client.(*baseClient).getMembers\n\t/go/pkg/mod/github.com/tikv/pd/client@v0.0.0-20221031025758-80f0d8ca4d07/base_client.go:327\ngithub.com/tikv/pd/client.(*baseClient).initClusterID\n\t/go/pkg/mod/github.com/tikv/pd/client@v0.0.0-20221031025758-80f0d8ca4d07/base_client.go:250\ngithub.com/tikv/pd/client.(*baseClient).initRetry\n\t/go/pkg/mod/github.com/tikv/pd/client@v0.0.0-20221031025758-80f0d8ca4d07/base_client.go:115\ngithub.com/tikv/pd/client.(*baseClient).init\n\t/go/pkg/mod/github.com/tikv/pd/client@v0.0.0-20221031025758-80f0d8ca4d07/base_client.go:97\ngithub.com/tikv/pd/client.NewClientWithContext\n\t/go/pkg/mod/github.com/tikv/pd/client@v0.0.0-20221031025758-80f0d8ca4d07/client.go:415\ngithub.com/tikv/pd/client.NewClient\n\t/go/pkg/mod/github.com/tikv/pd/client@v0.0.0-20221031025758-80f0d8ca4d07/client.go:400\ngithub.com/tikv/client-go/v2/tikv.NewPDClient\n\t/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.4/tikv/kv.go:209\ngithub.com/tikv/client-go/v2/txnkv.NewClient\n\t/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.4/txnkv/client.go:36\ngithub.com/juicedata/juicefs/pkg/meta.newTikvClient\n\t/workspace/juicefs/pkg/meta/tkv_tikv.go:86\ngithub.com/juicedata/juicefs/pkg/meta.newTkvClient\n\t/workspace/juicefs/pkg/meta/tkv.go:93\ngithub.com/juicedata/juicefs/pkg/meta.newKVMeta\n\t/workspace/juicefs/pkg/meta/tkv.go:97\ngithub.com/juicedata/juicefs/pkg/meta.NewClient\n\t/workspace/juicefs/pkg/meta/interface.go:514\ngithub.com/juicedata/juicefs/cmd.status\n\t/workspace/juicefs/cmd/status.go:93\ngithub.com/urfave/cli/v2.(*Command).Run\n\t/go/pkg/mod/github.com/juicedata/cli/v2@v2.19.4-0.20230605075551-9c9c5c0dce83/command.go:177\ngithub.com/urfave/cli/v2.(*App).RunContext\n\t/go/pkg/mod/github.com/juicedata/cli/v2@v2.19.4-0.20230605075551-9c9c5c0dce83/app.go:389\ngithub.com/urfave/cli/v2.(*App).Run\n\t/go/pkg/mod/github.com/juicedata/cli/v2@v2.19.4-0.20230605075551-9c9c5c0dce83/app.go:254\ngithub.com/juicedata/juicefs/cmd.Main\n\t/workspace/juicefs/cmd/main.go:101\nmain.main\n\t/workspace/juicefs/main.go:29\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1594"]

I fixed this issue by modifying the daemonset juicefs-csi-node to add the mount for tikv-tls. But it seems like just a workaround.


Added filename support for the file payload

What:

[x] Bug Fix
[ ] New Feature

Description:
When uploading a file using:
$client->files()->upload([
    'purpose' => $purpose,
    'file' => $file,
]);

The uploaded file is automatically named Nyholm-Psr7-Zval:, which causes issues because it doesn't have a file extension. This prevents the file from being attached to an assistant.
The proposed changes allow for a file name to be provided by instead passing an array value for the file key:
$client->files()->upload([
    'purpose' => $purpose,
    'file' => [
        'data' => $file,
        'fileName' => $fileName,
    ],
]);

Hi @apc-harold
I am not able to reproduce the issue. When I upload a file, the filename is set properly.
Could you please provided a full example or a demo repository which reproduces the issue?

Hi @gehrisandro,
Thanks for checking it out!
I'm quite busy at the moment so won't be able to provide an example, but:

Using Laravel, using $file->get() to retrieve the file
Using the beta version

I'll maybe have some time on w/s 17th, so will make a reminder to come back and make an example if it's still here.

I stumbled on the same problem:
it is not easily possible to upload string data as a file, because no filename (or an invalid file name) gets sent that is missing the ".jsonl" extension.
This may also be remedied by adding the following code to the file upload example:
$jsonlData = "{...}\n{...}";
$response = $client->files()->upload([
        'purpose' => 'fine-tune',
        'file' => \GuzzleHttp\Psr7\Utils::streamFor($jsonlData, ["metadata" => ["uri" => "upload.jsonl"]]),
    ]);

@DennisBirkholz thanks! Works for me. I'm using the Laravel driver and was stuck in how properly handle this uploads.


Update developers.list

Welcome! Would you like to provide a brief introduction for describing which open source projects you're working on?

gentle ping. Please provide more information.


Auto Crafting + Mekanism = Bad juju! (deletion and non removal of items from system)

Issue description:
Item not removable from storage network
item gets deleted
What happens:
found out today that auto crafting bins in Refined storage is a bad idea. you can craft it but then it doesn't let you have the item out of the grid, or any other way.. i don't know what is causing this there was no crash report or anything, it just won't let me take it out. i even tried an advanced bin, it is also stuck there now.. lol can't take them out. figured you'd at least want to know.
**Another bug i found, when in the crafting grid of Refined storage, you place a Bin with lets say 2k redstone in it, and shift click it to extract all the items, you get one stack and the bin disappears/disintegrates.. **
i am unsure whether this is on your side or on Refined storage's side, but i will post in both places to be safe.
i am posting here to let you be aware of this issue and hopefully find a resolution that works for both mods.
Here is a link to the Issue on Mekanism's Github.
https://github.com/aidancbrady/Mekanism/issues/4169
What you expected to happen:
my stuff not to get deleted especially 2.5k redstone blocks.. that hurt! LOL and to remove items from the storage network after autocrafting,
Steps to reproduce:
1.create a refined storage system using disk drives not blocks (not sure if it matters)
2.create crafters and patterns for just about everything that needs auto crafting from Refined storage lol,
3.add patterns for auto crafting Mekanism's Basic and Advanced Bin, and auto craft one, tada no removeiiii!
...
Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge:2185
Refined Storage:1.2.18

Does this issue occur on a server? [yes/no]
Single player [no]
If a (crash)log is relevant for this issue, link it here:
no crash log generated, just will not give item no matter how many times i clicky clicky!! ;)
[pastebin/gist/etc link here]

I'll look into this, but don't use Mekanism bins. They don't work well with anything, and cause issues with RS as well.

They don't work well with anything

What exactly do you mean by that? In terms of exposing them to external mods, they implement IItemHandler and should work fine.

They didnt use to.

Not sure when it actually made it to a release, but https://github.com/aidancbrady/Mekanism/commit/536dab7239927d6e38c0918b4f56caa28bdaf46a

Hence my "didn't". You are responding on an issue from january.

issue still happens.. best to use a crafter other than RS to make these.. :/

Works fine for me in 1.5.24; I can autocraft Mekanism bins and get them out.

Fixed (1.12) by https://github.com/aidancbrady/Mekanism/commit/9c7164c0db3877538a6c525700b64d4353d20da5 on Mekanism end
And fixed (1.12) by https://github.com/raoulvdberge/refinedstorage/commit/d1c275d35eb89519e9c537db42851352d3b60146 on Refined Storage end


[TW#14554] Use of xTaskNotify cause reboots

Hi,
I am trying to use xTaskNotify in my application but from time to time I receive this messages and the board reboots:
/esp/esp-idf/components/freertos/./tasks.c:4713 (xTaskNotify)- assert failed!
abort() was called at PC 0xI (75597) task1: Queued RX packet40085de8
on core 1

Backtrace: 0x40086b88:0x3ffc9e70 0x40086c87:0x3ffc9e90 0x40085de8:0x3ffc9eb0 0x400e00ee:0x3ffc9ed0

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)

Any clue on what's happening?
Thank you!

I think it is marked as untested smp function so it is expected to be experimental in dual core mode.

Yes, you are right @negativekelvin this function is marked as untested.
These "untested" functions are planned to be tested and adapted to work on the esp32?

@nilp0inter Using vTaskNotifyGiveFromISR and ulTaskNotifyTake without problems. The assertion is not because you have the config option "Halt when an SMP-untested function is called" enabled, right?

@HubbyGitter No, "Halt when an SMP-untested function is called" is disabled.
I am using xTaskNotifyGive in one task and ulTaskNotifyTake in another, and getting this error randomly under heavy load.
I'll try vTaskNotifyGiveFromISR and be right back with the results.

Yeah, vTaskNotifyGiveFromISR gave me the same error:
/esp/esp-idf/components/freertos/./tasks.c:4900 (vTaskNotifyGiveFromISR...
- assert failed!
abort() was called at PC 0x40085de8 on core 1

Backtrace: 0x40086b60:0x3ffc9e90 0x40086c5f:0x3ffc9eb0 0x40085de8:0x3ffc9ed0 0x400e00d9:0x3ffc9ef0

Rebooting...

@nilp0inter xTaskNotify will check if the task handle parameter provided is NULL by executing configASSERT( xTaskToNotify );
Just to make sure that this isn't the source of the abort, could you check to make sure the task handles that are passed into xTaskNotify  are not null. For example...
if(handle != NULL){
    xTaskNotify(handle, 0xFF, eSetValueWithOverwrite);
}else{
    printf("NULL pointer\n");
    fflush(stdout);
}

yes I am facing this issue. Any fix for this ?

@manoj153 could you provide a backtrace of your crash showing which line of xTaskNotify() your program is crashing in. Also, could you also check you aren't passing a NULL  task handle to xTaskNotify()?

@manoj153 Closing due to lack of updates. Please feel free to open a new issue if you are still facing this problem and suspect it is a bug in ESP-IDF.


change name macos to osx - fix #13

Looks good! :+1:
We can merge tomorrow then. :)

hey hey.
Will make a electron-builder session tomorrow night.
I plan to push test coverage and also build a dummy project on travis as additional test.
Afterwards I plan to have a look at your PR and merge it, if working fine. :)
I'll keep you updated.

Thank you! I will be available if you need any assistance :smiley:

Working fine. :)

Glad to hear that. Didn't have much time to test it properly :blush:

All good. It's already out there. ;)
Am 18.06.2015 22:27 schrieb "Radimir Bitsov"<EMAIL_ADDRESS>
Glad to hear that. Didn't have much time to test it properly [image:
:blush:]
—
Reply to this email directly or view it on GitHub
https://github.com/loopline-systems/electron-builder/pull/17#issuecomment-113279932
.


feat(parquet): Implement AsyncFileWriter for object_store::buffered::BufWriter

Which issue does this PR close?

Closes https://github.com/apache/arrow-rs/issues/5766
Rationale for this change
Implement AsyncFileWriter for object_store::buffered::BufWriter
What changes are included in this PR?
Add a new impl for AsyncFileWriter
Are there any user-facing changes?
New impl added.

This PR is blocked by BufWriter::put API is not released yet.

Hi, @alamb @tustvold, is it possible to run a patch release for object_store?

Thanks for the reminder @Xuanwo
I filed this ticket to track the next release https://github.com/apache/arrow-rs/issues/6022
I looked at the commits that went into object_store: https://github.com/apache/arrow-rs/commits/master/object_store
As of today there do not appear to be any breaking API changes to object store and thus I think we can release a minor 0.10.1 version

Hi, @alamb, Sorry for the long waiting, this PR is ready to review now.

Hi, @alamb, I have addressed all comments. PTAL, thanks!

Thanks again @Xuanwo


Emgucv&OpencvSharp

Hi:
Thank you for providing such a good lib.
I retrieve the video frame by emgucv and opencvsharp, want to use the same idea to detect faces also. But i dont got  datas of the type DlibDotNet.Rectangle[] on opencvsharp, What should I do? The code is as follows：
    public System.Drawing.Image FaceRecognize(Mat imageFrame)
    {
        System.Drawing.Image bi = null;
        Mat tempImg = imageFrame;
        byte[] array = tempImg.ToBytes();
        System.Drawing.Image image = byteToImage(array);
        BitmapImage bImg = BitmapToBitmapImage(BytesToBitmap(imageFrame.ToBytes()));

        Mat grayImage = new Mat();
        Cv2.CvtColor(tempImg, grayImage, ColorConversionCodes.RGB2GRAY);
        Cv2.EqualizeHist(grayImage, grayImage);

        using (var imageArray = Dlib.LoadImageData<byte>(grayImage.ToBytes(), (uint)bImg.PixelHeight, (uint)bImg.PixelWidth, (uint)bImg.PixelWidth))
        {
            DlibDotNet.Rectangle[] faces = faceDetector.Operator(imageArray);

            foreach (var item in faces)
            {
                Dlib.DrawRectangle(imageArray, item, new RgbPixel(0, 0, 255));
            }
        }
        bi = byteToImage(imageFrame.ToBytes());
        return bi;
    }`

FaceRecognitionDotNet uses FrontalFaceDetector.
But FRDN engancements image before calling FrontalFaceDetector.
And FRDN requires RGB image rather than grayscale.

Thanks for your reply.
I have used FaceRecognize before calling Dlib.GetFrontalFaceDetector() and Assign to faceDetector.
I  try to use RBG image,but i dont got datas of the type DlibDotNet.Rectangle[] on opencvsharp. I tried to debug in Emgucv and OpencvSharp, and dont found out different in FaceRecognitionDotNet source code.

I`m so sorry.
I didn't go into the source code before. Now, i found out returned value is different on GetSize function in StdVector class. The retruned value is zero when used opencvsharp. so where is the problem? I don't know how to fix it. pls tell me the reason why there might be a problem, I'll try to solve it. thank you very much.

Emgucv works, right?
Opencv align image pixel as bgr.
So your emgucv treats mat as bgr and converting to grayscale leads good result.

No response


Report line length in callbacks

Hi, I have a feature request, I'm trying to implement a loading bar client side to show the state of an import of CSV file, to do this I need to know the length of a line in order to calculate the percent of file processed. But in callbacks, I have only the data parsed, so I can't get the line length with "line.length", and guessing the line length by joining the line array is too risky without knowing the line and cell delimiters.
Could you add the line length (including eol) in the second arguments of callbacks, or maybe have you a better idea ? I tried to use "preFileLine" to fill an array with the length of every lines but it's very dirty and the hook seems to have a bug (see #210).

Isn't the rowIndex in json or csv event what you need?
https://github.com/Keyang/node-csvtojson#json
On 9 October 2017 at 15:30, Zeex<EMAIL_ADDRESS>wrote:

Hi, I have a feature request, I'm trying to implement a loading bar client
side to show the state of an import of CSV file, to do this I need to know
the length of a line in order to calculate the percent of file processed.
But in callbacks, I have only the data parsed, so I can't get the line
length with "line.length", and guessing the line length by joining the line
array is too risky without knowing the line and cell delimiters.
Could you add the line length (including eol) in the second arguments of
callbacks, or maybe have you a better idea ? I tried to use "preFileLine"
to fill an array with the length of every lines but it's very dirty and the
hook seems to have a bug (see #210
https://github.com/Keyang/node-csvtojson/issues/210).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Keyang/node-csvtojson/issues/211, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABCs963d9Se1coKpR6CeRCZvA5px3ePPks5sqi4bgaJpZM4Pyk5_
.

It could be perfect, but I work with a file stream so I don't know the total number of lines at the beginning, and without it I can't calculate the percent of file processed :(

the parser wont know the total number of lines unless it finished reading the whole document.
That's the tradeoff of using streaming...

Close due to no activity


Changed a few things

Please read through changes and confirm as may be incorrect. Added fullstops for grammar/grammer.
My Post:
https://www.thebuddyforum.com/thebuddystore/honorbuddy-store/honorbuddy-store-plugins/monitoring/191226-pushhub-multi-notification-hub-post1839728.html#post1839728

Will merge and change it a bit later today.


Obtaining Logic App config appsettings searches for resource with Mircosoft.Web/sites provider rather than resource with Mircosoft.Logic provider

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az logicapp config appsettings list --name {1} --resource-group {2}
Errors:
(ResourceNotFound) The Resource 'Microsoft.Web/sites/{1}' under resource group '{2}' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
Code: ResourceNotFound
Message: The Resource 'Microsoft.Web/sites/{1}' under resource group '{2}' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az logicapp config appsettings list --name {} --resource-group {}

Expected Behavior
I would expect that the resource it should look for would not be provided by Microsoft.Web/sites but rather the resource it should give the appsettings for would be provided by Microsoft.Logic
Environment Summary
Windows-10-10.0.19044-SP0
Python 3.10.8
Installer: MSI

azure-cli 2.43.0

Extensions:
log-analytics-solution 0.1.1

Dependencies:
msal 1.20.0
azure-mgmt-resource 21.1.0b1

Additional Context
These docs seem to explicitly state only the name of the logic app is needed.

@banani720 The logicapp subcommand is for Single Tenant Logic App Workflows, which are deployed as a special case of Web Apps, hence the Microsoft.Web resource provider.
I can confirm the command does work as expected for a standard logic app that is present. Considering you are using this command; I assume you are using a standard logic app as well. Could you make sure the logic app is indeed present?

route to CXP team


Add topics for ocean earth system domain

Proposed initial topics for the ocean earth system domain based on GOOS networks and existing GTS headers (see #147):

Name
Description
Source

moored-buoys
Data from moored buoys

drifting-buoys
Data from drifting buoys

sea-ice
Sea ice observations

ocean-profilers
Data from ocean profilers, e.g. Argo

ship-surface
Along track surface observations from ships

ship-sub-surface
Profile data measured from ships, e.g. XBT, CTD, etc.

wave-buoys
Data from wave buoys

tsunami-buoys
Data from tsunami buoys, e.g. DART buoys

autonomous-surface-vehicles
Data from autonomous surface vehicles

gliders
Data from gliders

animal-borne-sensors
Data from animal borne sensors

fixed-marine-platforms
Data from fixed surface platforms

sea-level
Sea level data from tide gauges and other sources

Response received from GOOS Observations Coordination Group (10th September 2024)
WIS2.0 topic hierarchy-Ocean based observations
Observation Coordination Group (OCG) response
OCG executive members have discussed the suggested topic hierarchy (Annex 1) for the ocean-based platform data.
Comments from the OCG Exb members;

The suggested hierarchy (Annex1) is based on the platform view of the system. With a wide variety of platform types, adding EOV/ECV based hierarchy makes it more meaningful, although as long as this is available as a readily searchable option, it may not need hard coding into the hierarchy.

e.g. ocean/surface-based-observations/EOV or ECV/fixed-marine-platforms

We suggest keeping the observing systems in the hierarchy that is broad enough to include a variety of similar observing systems. In line with this, we suggest the following changes

change gliders to autonomous underwater vehicles. (i.e. gliders, Autosub from UK, other underwater vehicles)
ocean/surface-based-observations/autonomous underwater vehicles
Change ocean-profilers (Argo) to include other platforms providing ocean profilers
ocean/surface-based-observations/drifting ocean profilers
moored buoys category includes sub-surface measurements
ocean/surface-based-observations/moored-buoys-and-moorings
Sea-level is an EOV. Replace it with fixed coastal station that can include sea level stations (GLOSS) and HF Radar
ocean/surface-based-observations/fixed-marine-platforms

We are not clear whether this hierarchy will be used to search on each of these terms or work as tree branches , see comment 1 above. If it is the former, we are comfortable with the proposed hierarchy with the edits mentioned above and with or without the inclusion of EOV/ECV, preferably before the observing system similar to the example provided in bullet i).

Question: We would like to clarify how the data users will use this topic hierarchy. Please see our assumption in iii) above.
Annex 1
Oceanographic data
ocean/surface-based-observations/fixed-marine-platforms
ocean/surface-based-observations/moored-buoys
ocean/surface-based-observations/drifting-buoys
ocean/surface-based-observations/wave-buoys
ocean/surface-based-observations/autonomous-sea-surface-vehicles
ocean/surface-based-observations/gliders
ocean/surface-based-observations/sea-level
ocean/surface-based-observations/animal-borne-sensors
ocean/surface-based-observations/ship-based-observations
ocean/surface-based-observations/ocean-profilers
Meteorological / weather data
weather/surface-based-observations/ship-based-observations
weather/surface-based-observations/ship-based-radiosondes
weather/surface-based-observations/moored-buoys
weather/surface-based-observations/drifting-buoys
weather/surface-based-observations/fixed-marine-platforms
weather/surface-based-observations/autonomous-sea-surface-vehicles

@david-i-berry @amilan17 or @tomkralidis update a new branch with requested changes for team to review.

@david-i-berry / @amilan17 any update here?  Can we have a branch update for review?

@kevin-obrien
To answer the questions above, starting with (3):

The topic hierarchy is used to subscribe to (and publish) alerts when new data files are available. The tree structure is used to subscribe to different domains and sub-domains through the use of wild cards, with the notifications containing additional (limited) metadata to enable further filtering. The topics are not intended to be used to discover / search the catalogues. (@tomkralidis please correct me if I am wrong).

Now (1) and (2):

Data on the WIS2 is packed into reports / BUFR messages containing multiple EOVs. As such, a EOV based approach would not work. However, the WIS2 metadata, used to discover datasets and topics to subscribe, will contain this information - both through controlled vocabularies and free text keywords.

Proposed changes made, see proposal at the top of this issues (and associated branch):
https://github.com/wmo-im/wis2-topic-hierarchy/tree/oceanv2

TT-WISMD 2024-10-22:

@kevin-obrien to provide final confirmation in the next 1-2 days

Update: we have a go ahead from @kevin-obrien.


C  for Fizzbuzz

Interesting python code! :D
Unfortunately the C code has already been submitted which is why I removed this file from the PR.
Mergen the python code now :)


Android and DataChannel

Hi
It may be a general question.
I have tried (unsuccessfully) to implement data channel (simple message) on Android.
So did anyone try to implement data channel on Android and is even possible at this stage of SDK?

Hi stankohorvat,
did you come any further with your quest?
Looks like we are still at the same stage.
I also desperately need DataChannel support on Android.
Regards
Peter

Not at moment, having some troubles with custom server, web client implementations, i week or two I'm back on Data Channel,

great :)

stankohorvat, did you have time to get ahead with this?

not yet, starting on Data Channel next week
Stanko Horvat
Kralja Tomislava 35 b, Bilje
mob:<PHONE_NUMBER>
2016-04-05 9:38 GMT+02:00 petergerten<EMAIL_ADDRESS>
stankohorvat, did you have time to get ahead with this?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/EricssonResearch/openwebrtc/issues/527#issuecomment-205702960


Tensorflow with GPU-support crashes when opening many CPU-only sessions in parallel

The following code works fine in a CPU-only Tensorflow, but crashes on a GPU-enabled Tensorflow installation (0.7.1, with a Titan X, NVidia driver 352.79) when run many times in parallel:
# test_tensorflow_session.py
import tensorflow as tf
import os
os.environ['CUDA_VISIBLE_DEVICES'] = ''
sess = tf.Session()

Bash command to run it in parallel:
for i in {1..48}; do ((python ./test_tensorflow_session.py 2> output$i.err 1> output$i.out ) &) ; done

If you then look into the output*.err files, you will see that most of the processes crashed. The output will look like this:
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
E tensorflow/stream_executor/cuda/cuda_driver.cc:481] failed call to cuInit: CUDA_ERROR_NO_DEVICE
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:114] retrieving CUDA diagnostic information for host: gpu1
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:121] hostname: gpu1
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:146] libcuda reported version is: 352.79
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:257] driver version file contents: """NVRM version: NVIDIA UNIX x86_64 Kernel Module  352.79  Wed Jan 13 16:17:53 PST 2016
GCC version:  gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
"""
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:150] kernel reported version is: 352.79
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:226] kernel version seems to match DSO: 352.79
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA:
terminate called after throwing an instance of 'std::system_error'
  what():  Resource temporarily unavailable

For the sake of completeness, here is the use case: applying a Tensorflow model is just a small part in processing large amounts of data; processing is parallelised simply by using multiple processes.
I also tried wrapping the tf.Session() call in with tf.device('/cpu:0'):, but that didn't change anything. I assume that it is trying to get exclusive access to the GPU, and if it can't do that, it crashes. This is a bit annoying, since by setting os.environ['CUDA_VISIBLE_DEVICES'] = '', I am actively trying to disable the GPU.
Ideas?

Hm, that is indeed weird.  Not sure why CUDA_VISIBLE_DEVICES isn't helping you.
Can you try the following in the meantime?
config=tf.ConfigProto(device_count={"GPU": 0, "CPU": 1})
tf.Session(config=config)

Thanks for the amazingly quick reply! Unfortunately, explicitly setting the device_count doesn't change the situation.
I would love to gather more debug information. Right now, all I can see is that a std::system_error is thrown somewhere, although it looks like it is thrown somewhere in the CUDA code, not in Tensorflow (I couldn't find any matching line in Tensorflow's codebase). Do you have any advice on how I could get a more meaningful stack trace?

I think it would be nice to figure out what's causing the actual failure at the cuda level, but it's surprising to me that this code is being reached at all -- I think that's the bug.  Basically, we need to figure out why "GPUMachineManager()" is ever being called when no GPU devices are requested -- that's the entry point that tries to do GPU initilization.  I'll try to find time to debug this.

Okay I partially take this back.  It is weird that the stream executor code is called at all, but I don't think that's the cause of the problem.  I tried reproducing your problem at HEAD, spawning 48 processes with CUDA_VISIBLE_DEVICES="" and I didn't get any std::system_error.
My guess from looking up the error is that each session is creating a number of std::threads, and at some point one of them blows up.
Another thing to try for debugging is to set the intra_op_parallelism_threads and intra_op_parallelism_threads in the ConfigProto to smaller values (they default to the number of cores on the machine).
As for why this causes problems only with the GPU pip, I'm not entirely sure yet :)

Oh gosh, turns out the problem was somewhere else completely. I hit the user process limit. Just to recap, I have two servers, one with a GPU and one without, otherwise nearly identical. However, on the CPU-only server, I increased the number of maximum processes per user in /etc/security/limits.conf a while ago, and when setting up the GPU server, I forgot to do that. It simply crashed because it wasn't allowed to spawn a thread anymore.
I think I simply got mislead by Tensorflow's stderr output. For the future, it would be great if there was an easier way to see when exactly Tensorflow crashes - that way I would have seen it had nothing to do with CUDA.
@vrv, thank you so much for your really fast replies!

Hi
I have exactly the same issue, I am training resNet50 and always after 3 epochs,i get this error
i use ubuntu 16.04,tensorflow 1.3,and gtx 1080 gpu on a shared server with 3 gpus
and also i have used new dataset tensorflow api,i suspect something is write aboute feeding data to network
this is my training code :+1:
github.txt


fix: amd64, offset read error issue for PIE executable. PR #516

fix  PR  #516
On amd64, when the executable program in PIE format compiled by golang reads the return instruction of the function, the start address of inst is incorrect, resulting in an exception, see PR #516 for details.
ref: https://github.com/golang/go/blob/bdd27c4debfb51fe42df0c0532c1c747777b7a32/src/cmd/internal/objfile/elf.go#L175

now, IT works.
@sancppp PTAL

LGTM.
I'm sorry I can only provide some testing and no assistance in locating and resolving this bug.

LGTM. I'm sorry I can only provide some testing and no assistance in locating and resolving this bug.

This is also a big contribution, thank you.


cancelling event breaks entity

Spark link
https://spark.lucko.me/ob4jBvLRdv
Expected behavior
nothing to happen, I want my "minecraft:interaction" to stay as it is

Observed/Actual behavior
the entity(interaction entity) rotated

Steps/models to reproduce

setup server with any plugin that cancels "PlayerInteractAtEntityEvent", for example this:

package com.example.bug;

import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
import org.bukkit.plugin.java.JavaPlugin;

public final class Bug extends JavaPlugin implements Listener {
    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onEvent(PlayerInteractAtEntityEvent event){
        event.setCancelled(true);
    }
}

interact with any minecraft:interaction
done

Purpur version

version
[13:22:57 INFO]: Checking version, please wait...
[13:22:57 INFO]: Current Purpur Version: 1.21.1-2324-e12a4de (MC: 1.21.1)*

You are running the latest version
Previous: 1.21.1-2308-8332fa4 (MC: 1.21.1)

Agreements

[X] I am running the latest version of Purpur available from https://purpurmc.org/downloads.
[X] I have searched for and ensured there isn't already an open issue regarding this.
[ ] I ticked all the boxes without actually reading them
[X] My version of Minecraft is supported by Purpur.

Other
Its probably not a purpur specific bug

@miniking1000 are you able to reproduce this on paper? We don't really modify anything in terms of the PlayerInteractAtEntityEvent event.

Its a paper but, I already create issue there and it's accepted

Since this is an upstream bug, this issue will be closed. Updates are tracked here: https://github.com/PaperMC/Paper/issues/11496


AdaptiveCard with “mailto” Action.OpenUrl is not working for buttons with Image set as well

On Microsoft Teams, we are using a customized who bot scenario where we are sending data from Graph API in the adaptive card about the person whom the user is looking for in our bot. The adaptive card contains two icons one chat icon and one mail icon. The chat icon will open a particular person's chat in teams and the mail icon will redirect to outlook with the particular user's email id in the To column. At present on clicking the mail icon is again redirecting back in teams in Web and is not working in the desktop client. Please help me how to redirect it properly to Outlook when the mail icon is clicked.
Please find the screenshots below:

Hi @RajdeepRay0411 - Currently openSafeUrlMT  in adaptive card does not allow mailto urls. we already have a backlog feature request on this and engineering team is looking into it

Hi,  On a related note.
Are all URI activations not allowed for openUrl or just mailto ?
Is there a workaround available ?

@YPillay - Currently Adaptive card openUrl supports https,http,ftps and ftp Urls. There is no workaround for this.

@YPillay  - Concerned team is working on this feature but we do not have a firm timeline to share with you. Hence, we are closing this question for now.


Enforce Namespace Filter

Summary
Fixes #6483
Occurred changes and/or fixed issues

When there are over a configurable amount of resources to display in a list force the user to select a single namespace and use it to fetch resources related to the list
Disabled by default, this can be enabled via the usual Global Settings --> Performance setting as usual

Technical notes summary
Functional Comments

Gates for forcing the filter (count, resource type is namespaced, etc) apply only to the resources shown in the list.

For example PV's aren't namespaced, so no enforced filtering. However they fetch PVC's which are namespaced
Another example, we could have 10 resources to show in the list, but the resource types list component fetches 10000 other resources. The secondary resource count is not taken in to account

If we're under the threshold and have fetched all resources, if in that session we go over the threshold we won't fetch NS specific resources (because we have them all already)
If we're over the threshold and have fetched namespaced resources, if in that session we go under the threshold we will fetch all resources
If we're over the threshold and have fetched namespaced resources, going to a page that needs them all will result in us fetching them all (for instance from events list page to cluster dashboard)
Deselecting a namespace and selecting it again should not kick off another http request (unless manual refresh applies to the list)

General PR Comments

The threshold to enforce the filter is set at 1500 as per manual fresh and incremental loading
Optimised some code in ResourceList, resource-fetch and $loadingResources

Areas or cases that should be tested

Different types of resource lists

Workloads (contains resources from different types)
Sub-workload types (work with an odd workloads type list
Non-workload custom lists (Any list for resources matching file names from ./shell/list/*
Non-workload, non-custom lists (any but those from above, for example configmaps or secrets

List performance whilst Manual Refresh and Incremental Loading performance features are enabled, also with the new Force Namespace Filtering enabled

Areas which could experience regressions

See above

Screenshot/Video

I just found another issue on Fleet:
I have the threshold configured for 2 and even if I change workspace, I still get the message and no list view...

@aalves08

RE Filtering by custom value (for example only user resources) showing low count in side nav but warning message shown.

This is a frustration due to how the API works. Filtering by those custom values results in multiple namespaces and we don't have the API support to apply them, only a single one. So in order to show the 1 secret from your example we would need to fetch all of them which would defeat the point.
I thought about updating the text to make it a little clearer, I'll bring this up when it's demo'd and see if there are suggestions

RE Fleet resources blocked on filter message

I couldn't reproduce this. I've doubled checked and the fleet resource schema's indicate the resources aren't namespaced so i never saw the screen. Could you check with the latest code, and if visible let me access it?

@aalves08

RE Filtering by custom value (for example only user resources) showing low count in side nav but warning message shown.

This is a frustration due to how the API works. Filtering by those custom values results in multiple namespaces and we don't have the API support to apply them, only a single one. So in order to show the 1 secret from your example we would need to fetch all of them which would defeat the point. I thought about updating the text to make it a little clearer, I'll bring this up when it's demo'd and see if there are suggestions

RE Fleet resources blocked on filter message

I couldn't reproduce this. I've doubled checked and the fleet resource schema's indicate the resources aren't namespaced so i never saw the screen. Could you check with the latest code, and if visible let me access it?

That's fair for 1.. I always thought that wouldn't be something easy to fix due to nature of how it works, but I think I it was worth mentioning it. I agree, let's wait for the demo to see if anyone has some feedback. 🙏
As for 2., you can reproduce it for Fleet bundles. I took a look at the schema and it's namespaced. I can reproduce it on my system. Reach out to me on slack so that I can share the credentials to access it 🙏

Thanks @aalves08 , i've reproduced it now using your instance and decided to just disable the feature for fleet (for info see commit comment).

@aalves08 same with this one


fix SLF001

Changes
Add SLF001 to ignore in test cases. This throws warnings when accessing a private member of a class,
but this is probably fine in unit tests.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#177  👈
#176
#175
#174
#173
#172
#171
#170
#169
#168
#167
#166
#165
#164
#163
#162
#161
#160
#159
#158
#157
#156
#155
#154
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @chrisaddy and the rest of your teammates on  Graphite

No actual changes after all of the rebasing.


Add awareness of HTTP/3

The HTTP mapping to the QUIC transport was renamed to HTTP/3 in Internet Draft version 17.
This PR just adds the basics (enum, string) that acknowledge that HTTP/3 is now the official name.

Thanks for this, I really want to proceed here, but just calling out that thanks to (in my opinion, a compiler bug) the way the compiler leaks exhaustive-ness of the wrapped enum, adding this new constant is technically a breaking change. See #155.

Ah shucks. Thanks for the link.

Because we (foolishly apparently) assumed HTTP/3 would not be coming soon...

@carllerche we didn't think it'd come so soon, but we did try to design the Version type to be extendable, by making it an opaque struct. However, the compiler "leaks" that you can exhaustively match all the constants.

Ah yes...

HTTP/3 is not far off, can we start building a 0.2.0-alpha branch so the h3 implementation can using it?

We can probably try to coordinate a release w/ Future reaching std stable.

Can H3 be added under an optional feature for now with #[cfg(feature = "h3")] guards on everything? Then it won't break downstream crates that didn't opt-in to the feature yet.

@RReverser unfortunately not. Features are additive. If one dependency didn't exprct the extra variant, whereas another turned on the feature, it'd still break compilation.

sigh Right, that reduces the risk but doesn't eliminate it...

Can we add this under an off-by-default feature for now? That way, we can allow experimentation with H3 support across the ecosystem without waiting for the next API-breaking release.

Ah, sorry -- I see this was discussed above. Still, if we want to allow HTTP 3 experiments across the ecosystem (which would be nice given the H3 timeline -- handed over to the steering group for review in July) it seems we need to unblock something here soonish.

I've started a 0.2.x branch, which we can start merging these kinds of things into.


Missing driver for BSEC

Noticed that I had to install the driver for BSEC from Bosch and place it in the /nrf/ext/BSEC_<IP_ADDRESS>_Generic_Release directory to get your code to work.

Hi Daniel,
It's not included as a license agreement needs to be signed. I will update the readme.
https://www.bosch-sensortec.com/media/boschsensortec/downloads/bsec/2017-07-17_clickthrough_license_terms_environmentalib_sw_clean.pdf


Content area options

When rendering component-like partials, it'd be nice to customise element attributes within the partial, not just the content. For example, let's say we have a section partial, with a  element, and we can set its content via p.content_for :header. What if we want to customise the  element itself in a particular situation? A Rails-y API might look like
<%= render 'section' do |p| %>
  <% p.content_for :header, class: 'sm:hidden' %>

Lorem ipsum…

<% end %>

With this API, we'd need to have some kind of name-spaced store for the options passed into content_for, and a method to access them. Perhaps something like p.options_for(:name):
<%# app/views/application/_section.html.erb %>
<% content = yield(p = np) %>

  <% if p.content_for?(:header) %>
    <%= content_tag :header, p.content_for(:header), p.options_for(:header) %>
  <% end %>

  <%= content %>

I think this could be accomplished with something like:
class Partial
  def initialize(view_context)
    @view_context = view_context
    @key = SecureRandom.uuid
    @options = {}
  end

  def content_for(name, content_or_options_with_block = nil, options = {}, &block)
    if block_given?
      content = capture(&block)
      options = content_or_options_with_block || {}
    else
      content = content_or_options_with_block
    end

    @options[name_for(name)] = options.without(:flush)
    @view_context.content_for(name_for(name), content, options)
  end

  def options_for(name)
    @options[name_for(name)]
  end

  def name_for(name)
<EMAIL_ADDRESS>  end
end

This expands the API beyond the current mirrored approach, but thought I'd throw it out there and see what you make of it.

Looks like combining/merging DOM token lists (and therefore some content_tag options) in Rails is going to get a little easier in Rails 6.1: https://github.com/rails/rails/pull/40146 and in particular: https://github.com/rails/rails/pull/40146#issuecomment-683728878

@domchristie I don't think we necessarily need a new option to accomplish the outcome desired above. For example, my first instinct would be to try and accomplish the same thing just using locals, like so:
<% render 'section', header: {class: 'sm:hidden'} do |p| %>
  <% p.content_for :header do %>
    Some header content.
  <% end %>

  <% p.content_for :body do %>

Lorem ipsum…

  <% end %>
<% end %>

And the partial would be something like:
<% yield p = np %>

<% header ||= {} %>

  <% if p.content_for?(:header) %>
    <header class="some-default-class another-default-class <%= header[:class] %>">
      <%= p.content_for(:header) %>

  <% end %>

  <%= p.content_for(:body) %>

In practice this has actually worked pretty well for me. In particular, you have a lot of control within the partial itself what you want to do with the locals that are passed in. You can, for example, merge them into a default version of a hash that's defined in the partial. You can overwrite the default values. You can append to the default values (which works well for utility classes, for example). I've got a bunch of examples of different things that can be accomplished from the Bullet Train code base and other projects I've worked on. I'll try to find a moment to put them into the documentation.
Happy to continue discussing, but generally my instinct here is for folks to accomplish as much as possible using the native approach they would have taken with partials in the first place.

(Please let me know if there is an angle I'm missing here.)

I'm a bit torn. On the one hand, using locals requires no extra code, and it keeps the library code nice and clean; on the other, we're polluting locals with attributes that don't directly apply to the containing "component"—rather, they apply to the child content areas. There is also potential for a partial with lots of content areas to have an unwieldy list of locals. Allowing p.content_for to accept applicable options keeps the main locals options tidy whilst keeping the content area options close to the elements they affect e.g.:
<%= render 'section', data: { component: 'chat', props: { id: 1 } }, toolbar: { class: 'toolbar--chat', data: { component: 'toolbar', props: { actions: […] }.to_json } } do |p| %>
  <%# … %>
  <%# … %>
  <%# … %>
  <%# … %>
  <%# … %>
  <%# … %>
  <% p.content_for :toolbar do %>
    <%# … %>
  <% end %>
<% end %>

versus:
<%= render 'section', data: { component: 'chat', props: { id: 1 } } do |p| %>
  <%# … %>
  <%# … %>
  <%# … %>
  <%# … %>
  <%# … %>
  <%# … %>
  <% p.content_for :toolbar, class: 'toolbar--chat', data: { component: 'toolbar', props: { actions: […] }.to_json } do %>
    <%# … %>
  <% end %>
<% end %>

Inside the partial, we'll have just as much control over the options since it's just whatever was passed in to p.content_for.
Perhaps there's a better API for this that doesn't move away from the elegance of just wrapping content_for? I'll have a think.

Yeah, I see your point. I'll keep thinking on this one, too.

I should add, I'm looking into migrating from a hand-rolled component framework to Nice Partials, and stress-testing it on a layout component. The very shortened code I'm testing looks like:
<%= section data: { component: '…' } do |s| %>
  <%= s.toolbar class: '…' do %>
    <%# … %>
  <% end %>
<% end %>

Which would ideally convert to something like:
<%= render 'section', data: { component: '…' } do |p| %>
  <%= p.content_for :toolbar, class: '…' do %>
    <%# … %>
  <% end %>
<% end %>

@domchristie Not sure how I didn't grok this the first time I looked at it, but this is actually fantastic. I totally get this now. It's just local locals, but for the named content areas/slots. Do you have a PR by chance?

No PR atm, but I've had a quick play with callbacks. It still feels Rails-y. This is what it could look like:
class ApplicationPartial < NicePartials::Partial
  before_capture :set_content_options

  def options_for(name)
    content_options[name_for(name)] || {}
  end

  private

  def content_options
    @content_options ||= {}
  end

  def set_content_options
    content_options[name_for(current_name)] = current_options
  end
end

Obviously it would require overriding np to return an ApplicationPartial instance, but I wonder if that might help with people understanding the magic? An ApplicationPartial may also be useful for developers to add methods that's useful to all their Nice Partials, saving them from repetition in p.helpers do …

@domchristie Hey, sorry this took me so long to circle back around on, but I'm convinced you were right about this. For example, we might have a content area on a component that defaults to having padding, but we want to allow downstream component users to specify that the default padding should be disabled, e.g.:
  <% p.content_for :footer, padding: false do %>
    ...
  <% end %>

No worries! Overriding component styles it something I've been mulling over (and I think is related to: https://github.com/bullet-train-co/nice_partials/issues/13).
Also, did you see this tailwind proposal: https://twitter.com/adamwathan/status/1496663833980686338?


Set the content type as application/json

I copied off the jsonify function like you told me to check out from
https://github.com/UWFlow/rmc/blob/master/server/api/api_util.py#L91
I removed the ApiJsonEncoder, wasn't sure if it was needed here. Let me know if I should add it back.

Has this pull request been abandoned? Issue #4 should be a quick fix, and I'm happy to submit a new one if this is no longer being worked on.

It should indeed have been a quick fix! Sorry @andyzg for asking you to do a whole bunch of non-issue related refactoring — that should've been a request for another PR.
Thanks for the bump @jonafato. I did not notice code review comments were addressed on August 21 (or maybe I did and put it off till I forgot).
Will look into merging.

Resolved conflict and manually merged! (Created a branch from this PR, merge into master, resolve conflicts, commit merge.)
You still get credit for these commits @andyzg: https://github.com/divad12/vim-awesome/commits/master?author=andyzg
Thanks for addressing all those comments, and sorry about the delay in getting back!

Closes #4


Question: File Counts and Dataset Size

I recently downloaded The Stack (the-stack-dedup) from Huggingface via GIT LFS. I have two questions that I need help with:

The size on disk of the dedup datset is only around 900GB (much smaller than the 1.5TB indicated on the data card - https://huggingface.co/datasets/bigcode/admin/resolve/main/the-stack-infographic-v11.png)

Is there somewhere were the file counts are listed in full for each dataset by language (dedup and full)?

Essentially I am looking to make sure that I have accessed the entirety of the dataset, so I either need to understand the dataset size difference, or know how many files there should be for each language so I can validate my download. Ideally both.
Thanks in advance!

The dataset was compressed with parquet + snappy when uploaded to the hub. Here is a before and after comparison in terms of physical size (w/o compression) and number of files:
bquxjob_25a65048_188085aa72f.csv
The last line is the total change, here is the screenshot for quick reference:


How to display text file result from batch jobs?

I have some scheduled batch jobs running automatically during the night and will show the results in separate .txt files. Is there anyway to grab the data from the .txt file and consolidate them to display in kibana? Any tools or reference .conf?
Here is the case:
I have two data : Job Name.txt & Job Status.txt . No matter they're in a same file or separate. I hope to pop the status in proper way in kibana.
I have found the mapper-attachment plugin and logstash-input-file plugin, yet, I am not sure how should it be work out
Thanks

Looks like you picked the wrong project to report this bug. simple_enum is not affiliated with kibana or one of it's plugins.


Add U2I and user history API

Hi @mikaelsitruk, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (mikaels). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

Author approved.


Add a column to manual search for "LRC"/timestamped status

So that people can see from the tab (without having to click on each item) which lyrics are timestamped or not.
Reported @ https://www.reddit.com/r/foobar2000/comments/mm70rb/i_made_an_opensource_alternative_to/h7uijix/

Currently when we open the manual search window, we have these columns : Artist, Title, Album, Source . Can we also have LRC? this way we'll know if the lyrics are synced or not only by looking at the column

This is one of my critical few too.  I think this is very much needed and a great time saver.  LSP3 has this and it is a very quick way to look at the search results and see which ones you need to use (in my case LRC files only).  Now, as you mentioned, you have to click on each one to see if they are timestamped or not.  Kind of a pain.
Glad I found this open issue, because I think this would be a great addition.

Rename column to Un/Synced and Yes to Synced and No to UnSynced

Rename column to Un/Synced and Yes to Synced and No to UnSynced

Please create a new issue (and provide at least a little bit of justification) so it can be properly tracked.

Add a checkbox to filter results to show only synced lyrics or Unsynced Lyrics it would solve other issues


Error parsing text frame

Hi there -- at some point after a recent Slack update, I started seeing this constantly. Any clues as to what's going on there? Seems like it's happening at some regular interval.
[ERROR] [02/18/2016 16:16:06.542] [org_mbs3_trivial-akka.actor.default-dispatcher-2] [akka://org_mbs3_trivial/user/$a] [SlackRtmClient] Error parsing text frame
play.api.libs.json.JsResultException: JsResultException(errors:List((,List(ValidationError(Invalid type property: {},WrappedArray(reconnect_url))))))
	at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67)
	at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67)
	at play.api.libs.json.JsResult$class.fold(JsResult.scala:77)
	at play.api.libs.json.JsError.fold(JsResult.scala:13)
	at play.api.libs.json.JsValue$class.as(JsValue.scala:65)
	at play.api.libs.json.JsObject.as(JsValue.scala:166)
	at slack.rtm.SlackRtmConnectionActor$$anonfun$receive$1.applyOrElse(SlackRtmClient.scala:103)
	at akka.actor.Actor$class.aroundReceive(Actor.scala:480)
	at slack.rtm.SlackRtmConnectionActor.aroundReceive(SlackRtmClient.scala:87)
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:525)
	at akka.actor.ActorCell.invoke(ActorCell.scala:494)
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
	at akka.dispatch.Mailbox.run(Mailbox.scala:224)
	at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
	at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
	at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
	at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

I'll take a look!

https://api.slack.com/events/reconnect_url
Looks like it's currently experimental and has no properties associated with it. No idea why they're actually sending it out now (or if it currently has a meaningful purpose). I'll do a little testing and see if they're actually sending data along with the event....at the very least I'll add support for parsing the event so you won't see errors whenever it comes in.

Thanks for responding so quickly! I need to really dive in and help fix stuff w/ a PR instead of just filing issues :)

No worries! I just pushed a commit to properly parse this event type. Interestingly it was sending down a websocket url in the event payload.
My guess is that at some point in the future they're start requiring clients to reconnect when this event is received. I'd imagine this is so they could force clients to disconnect / reconnect in the event of server upgrades, maintenance, load balancing, etc.

Weeeeird. Thanks so much!


[eth2] Tracking issue: failing two AttesterSlashing spec tests

What is wrong?
Failing two attester slashing tests as of commit 8570b61c8.
In both cases, we raise a SignatureError when validating the AttesterSlashing when in fact, the operation should be valid. AFAIK we were passing all of the operation spec tests so there is likely some regression b/t our BLS code, py_ecc and the spec tests.
This issue serves to track the problem so we can make sure we are compliant.
How can it be fixed
Needs more debugging on why there is a signature mismatch -- look at use of Domains?

this seemed to be due to a difference in loading spec tests that had to be customized w/ the correct version of py_ecc


Error.localizedDescription

Error conformance now properly forwards localizedDescription from rawValue

Ok so here's the problem: This works on Tagged<Tag, Error> but if you store it in a variable thats just an Error, localizedDescription breaks again and goes back to the Swift default :(
Imho this is magical enough that its better to just remove the conformance altogether. Will create a PR for that and see if you guys think its justified.


Vendor dir should not be commited.

Since you are using the dep as a package manager, shouldn't you be grabbing those dependencies during docker build? Vendor should not be committed, we can do dep ensure or a similiar command to make sure all the deps are in sync.

is this repo updated anymore ?


feat: adds a super simple terminal UI

The UI shows progress in the form of "completed X/N" and the statuses "waiting for available chunk" and "contributing to chunk". It also moves all the other logging to write to a snark-setup.log file.

@silasbw had a good comment that this might hurt compatibility with log collection in docker/kubernetes. It's not super important since this is for contributors/verifiers, but we should keep it in mind. cc @cmcewen

Did you want to add a progress bar at all? Or just the loading indicator?

Did you want to add a progress bar at all? Or just the loading indicator?

There's not a lot of progress I can show here :( So I think this is fine!


React onClick best practices

I'm using kefir with a new react app I'm working on, and I'm trying to find the best way to handle the onClick events.
I've read all the other issues on here about alternatives to Bus, and I settled on using
var count = Kefir.pool();
clickHandler = count.plug(Kefir.constant(1));

But I don't see how this is different from the bus of doom situation.
Is there a better way of handling React events?
Thanks,

You are right, it's not much different from using emitter. But with the interface that React provides for subscribing to events, you have to use something like emitter.
See also https://gitter.im/pozadi/kefir?at=55782a6ff40a067d1c9c0cf9


[FIX] Remove base class get/set params methods

Closes None. These methods are not compatible with **kwargs and *args, which are now used in several major classes.

Changes proposed in this pull request:

Remove NiMAREBase.get_params()
Remove NiMAREBase.set_params()
Remove NiMAREBase._get_param_names()

Apparently we need get_params (at least for now). I'll close this and may revisit at a later date.


Password inventory

The idea of using tags (jinja?) as a meta tag for the plugin is very good and if it is possible/works is much better than my idea.
But juste another idea (I have not tested/try anything).
Maybe users want to use multiple methods (env/tags) for page encryption.
And with this logic, the priority of one method over another should be removed in favor of a password inventory.
Inventory could (potentially) be an extra key to add to the global "mkdocs.config" navigation menu (nav:).
It would allow to have a list of passwords per page, to be used (always with the 3 basic cases, global/specific/absent) and for each of this password to use the env method OR the tag method.
From a management point of view, it allows you to centralize passwords.
From a security point of view, there is no real loss since currently if the source repository is accessible the passwords too.
From a code point of view, you have to change a lot of things ^^'
Thank you for the continuous improvements of this plugin !
Originally posted by @CoinK0in in https://github.com/unverbuggt/mkdocs-encryptcontent-plugin/issues/43#issuecomment-1397571905

You're welcome.
I like your idea and want to summarize my thoughts on this:

introduce a new key in central mkdocs.yml file where password sources for different kinds of protection levels are defined.
password sources may include: text, environment variable, password manager api?, keyring api?, console input
The order of password sources may be used as fallback order.
protection level may be a number or a string (f.ex. confidential, top secret, classified).
introduce new markdown meta tag where protection level can be set for each page. (not braking compatibility)

It maybe should also rate the used passwords and put out a warning if they are too weak. We must be aware that encryptcontent protected pages do not hinder offline brute force attacks, so the information is only as safe as the password used (when it comes to passwords, length is all that matters, really).
Also, I do believe that environment variables are not 100% secured from being read by other processes or even other users on the same system, so you need to trust your system and everyone who uses it. More secure would be to request password as text input on build (okay, there are keyloggers) and compare the input to a hash value saved beforehand to avoid mistyping.

Thank you for opening a new "improvement".

introduce a new key in central mkdocs.yml file where password sources for different kinds of protection levels are defined.
protection level may be a number or a string (f.ex. confidential, top secret, classified).

For this part, it is possible to introduce different level of encryption depending on the desired level of security (Good idea), but to kept it simple, I was thinking of adding an additional key to the basic navigation menu of mkdocs.yml, which is exploitable by all the current methods of the plugin (Add Env/TagMeta to define password, and use it as Specific in some case).

password sources may include: text, environment variable, password manager api?, keyring api?, console input

Interesting, on the other hand I think that the management of the "Password manager" is excluded cause the method of detection/identification/filling of the fields concerned are already included in the password manager.
For the "keyring API" parts (if you are thinking of vaults) indeed very interesting to add a way to fill in a "vault" source. But there are so many that seem very complicated.
And for the "console input" I think's that the process is slow/boring and I'm not sure that it brings more value compared to the development time. Maybe if someone ask it in the futur...

introduce new markdown meta tag where protection level can be set for each page. (not braking compatibility)

Might as well do that, as long as add an additional key in the menu definition, but it will always require a default order in case it is not defined.

It maybe should also rate the used passwords and put out a warning if they are too weak. We must be aware that encryptcontent protected pages do not hinder offline brute force attacks, so the information is only as safe as the password used (when it comes > to passwords, length is all that matters, really).

This is a good idea, as long as this process is done offline (on the build machine). Afterwards I do not agree that the length defines strength (it's rather the "entropy" which takes precedence from my point of view). For example AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA (30*A - 8 bits entropy) is always weaker than åøÜÒÛ¹ä (93 bits entropy).

Also, I do believe that environment variables are not 100% secured from being read by other processes or even other users on the same system, so you need to trust your system and everyone who uses it. More secure would be to request password as text input on build (okay, there are keyloggers) and compare the input to a hash value saved beforehand to avoid mistyping.

Personally I wouldn't spend time to developing this feature cause I'm lazy. The fact is at the creation of this plugin access to sources by an malicious third party has always been a problem. Your method corrects this specific point, but again (from my point of view), it's really necessary to push your development so far, if the person is not able to protect the source ?

Could you write a short example mkdocs.yml of how you'd picture it?
Something like this?
nav:
    - Short title: /path/to/page.md
        encrypt: !ENV [ENCRYPTCONTENT_PASSWORD, ''] #fallback is not to encrypt?!
    - Subcategory:
        - Another short title: /path/to/another_page.md
            encrypt: 'another password'
        - And another one: /path/to/and_another_page.md
            encrypt:
              - !ENV [ENCRYPTCONTENT_PASSWORD, '']
              - [fallback_to_another_source]

But maybe I'm doing the spaces of the subkeys wrong... I'll have to try the correct syntax and test how to read the value in the plugin.
Adding third party "trusted" password sources (could be f.ex. yubikey) was just an idea, but as you were saying, the person has the plaintext right on his computer - unprotected. He could however place the plaintext site inside veracrypt/encfs to achieve additional protection. Maybe an idea for the future - if there are easy to interface safe password vaults.
Calculating the entropy of the used passwords offline should be not that hard. I agree, entropy is all that matters in the end, but it's easier to achieve high entropy by password length rather than adding additional characters to the mix.

I tried my ideas as I thought I would do the trick (In the style of your above config), but it seems it's not allowed in mkdocs . . . https://github.com/mkdocs/mkdocs/blob/c99ec45a320194d8f05f6f7124656294e3cb8098/mkdocs/config/config_options.py#L800-L813 🙃
And I didn't manage to overwrite the check function .. anyway it was not a great idea.

mh, I see a problem when it comes to names (Page1) or markdown files (page1.md). The names could have duplicates on different parts/levels of the nav tree (or have different names: i18n) and what happens if you decide to move a markdown file and forget to change nav_password (also what happens if one of the nav_passwords is not used?).
plugins:
  - encryptcontent:
      password_levels:
        confidential: !ENV [ENCRYPTCONTENT_PASSWORD, ''] #won't raise an error if env not found -> also won't encrypt if not found
        top_secret:
          - !ENV [SUPERSECRET_PASSWORD] #won't build if env not found
        classified:
          - {other_source_of_password} #future use
          - 'test1234'

This way it would be possible to either define one password per level or a fallback order. Currently, I see no distinct use in a fallback order, as it is possible to define a fallback value using !ENV already (and we currently only have password string and env as options). So maybe the option to define a (fallback) list is currently of no direct use.
But I do believe I've seen an issue somewhere with the idea to define multiple passwords per page (so one could hand out multiple passwords to people and revoke/remove passwords later for reasons™). For this, I'd encrypt the page with a random password and encrypt this password for all other passwords in the list (and try them all when decrypting).
To actually use the password_levels one could write password_level: classified as meta tag in markdown. This would have the benefit that there is only one place where all passwords (or their sources) are defined: mkdocs.yml.

I'll create a 2.5.x branch to test this and other changes


Update vocal_numeric response to "unknown" label

Changed response byte value from 128 (dot value on seven segment display) to 62 (shows "U" character on ssd).

This change has been confirmed to work on device.


Import CSV page errors

When attempting to import a CSV block equivalency file, I'm running into everything from general slowness to unresponsive behavior at various steps. It generally seems to be happening more often with state lower files, which do have a larger number of districts.
Three types of unresponsive behavior:

When importing the Florida Lower CSV, the page got stuck in the Upload step.
When importing the Pennsylvania Lower CSV, the CSV was able to import but it got stuck on the Create Map step.
When importing a Pennsylvania Congress CSV, the page was stuck on Create Map but later after navigating away from the page it did actually create the map.

fl_lower.csv
pa_lower.csv

Looks like the accompanying Rollbar error for this is https://rollbar.com/Azavea/DistrictBuilder/items/42/

Potential fix: https://stackoverflow.com/questions/52783959/nest-js-request-entity-too-large-payloadtoolargeerror-request-entity-too-larg

I suspect this also has the same root cause as #618


pyproject.toml: Move project metadata here from setup.py

That's preparation for but independent of the decision on the build system to use (#52).

Thanks

To be clear I think the decision about a build system is not difficult. I would just use meson but I'm happy to consider alternatives if others would prefer something else. I haven't see any strong opinions about it.
The hold up on switching to meson is just finding the time. I don't know meson that well so it would take me a little while to work out exactly how to do it.
The primary motivation for switching away from setuptools is really just that it doesn't manage building the dependencies like flint. A first step to moving to meson would just be to have a meson configuration that could do the equivalent of bin/build_dependencies_unix.sh which makes a local development build of GMP, MPFR and Flint. That part is already not managed by setuptools anyway.
The main constraint is just that whatever system is used needs to work somehow on Windows.


I can't access any of the functions, am I doing something wrong?

"import json
from pyinaturalist import *
observations = get_observations(taxon_name='Danaus plexippus')
pprint(observations)"
This is all I have written so far, and yet, I am already getting an error.
"observations = get_observations(
NameError: name 'get_observations' is not defined"
No matter how hard I try I cannot get this to work. I am sure I have it installed, and every other library I have installed works perfectly fine.
Is there something that I'm not understanding correctly?
Thanks in advance.

What version of the library do you have, and how did you install it? Poetry, pip, conda, or other?
First, try reinstalling in a fresh virtualenv, just to rule out a few common environment-related problems.
Then, if that's still not working, show me the output of:
import pyinaturalist
print(dir(pyinaturalist))

['DEFAULT_USER_AGENT', 'DRY_RUN_ENABLED', 'DRY_RUN_WRITE_ONLY', 'author', 'builtins', 'cached', 'doc', 'email', 'file', 'loader', 'name', 'package', 'path', 'spec', 'version', 'constants', 'getLogger', 'get_prerelease_version', 'getenv', 'user_agent']
installed it with pip just a few days ago, on windows.

Okay, so that looks like none of the modules are getting imported into the top-level pyinaturalist package (here), which probably means a missing dependency. In that case you should be seeing a message like No module named 'requests' (or some other package).
Otherwise, try importing via the full module path, and you should get an error showing you which package is missing:
from pyinaturalist.v1.observations import get_observations

"ModuleNotFoundError: No module named 'pyinaturalist.v1'"
What does this mean?

Well, I was hoping that would give a more useful error message. It still just means there's a dependency missing. There's almost certainly another error before that, which you're either missing or is being hidden by something else in your environment.
I made some logging changes, which will hopefully give us the right error this time. Create a new virtualenv, install the latest pre-release build, and try importing again:
pip install pyinaturalist==0.16.0dev3

I installed it and tried running a short program. No errors were passed... but the output looked like this:
"  ID          Taxon ID   Taxon         [" (this is only a small snippet of it but it basically just does this for the whole time)
Is this... supposed to happen?

Those look like terminal control characters. It's trying to print color but your terminal doesn't support it (probably cmd.exe?). So you can either use just plain print() instead of pyinaturalist.pprint(), or use a terminal with better color support. On Windows, using Powershell under Windows Terminal should work.

I'm going to go ahead and close this issue now, but feel free to open another one if you run into more problems.


New HUD

I thought back to a new user interface, I'd like to know if it's a good idea @EdwardDunn ?

@painlibanais Great idea!
Another contributor is in the process of adding a high score element, would you mind adding this also when he submits his PR? This will be within the next couple days, I will let you know.

@painlibanais Thats the high score functionality implemented.
If you could add this to your new interface that would be great.

I'm sorry for taking time to respond, i was little busy. I work on it right now.

Completed by @painlibanais


Motion template tasks

Motion tasks:

[x] meta box: add "meta information" in minimized state
[x] meta box: show state buttons in drop down list
[x] meta box: format voting result (big icon over 2 lines: label + votes, progress bar)
[x] slide: show submitters (motion.submitters does not work, but motion.submitters_id - How I get the user names?)
[x] show vote results for normal users only if votes are saved (check poll.hasVotes())
[x] meta box: layout problem with 3 columns (with votes!) on small window width
[x] poll edit form: show in dialog
[x] show delete confirm message before delete poll
[x] slide: problem with verboseName after autoupdate, e.g. "Antrag Motion 1: TITEL"

All done with #1875


Implementation for Channel.select method

This PR adds channel select method allowing receive from multiple channels.
The idea is that the method returns the first channel that receives a message leaving the other channels untouched and ready for their own receives or a new select.
Current PR Status:

[x] Method signature
[ ] Implementation
[x] Basic tests
[ ] Comprehensive tests

Fixes #2

Merged here the amazing implementation from @jmgimeno from #3.
I've also added a more robust check in two tests to avoid them being flaky.
Thanks a lot!


onScan is not working on the Xiaomi Poco M3 device

onScan is not working on the Xiaomi Poco M3 device. I have provided camera permission, the camera image appears, but the code does not scan.
On the Samsung A30s device and emulator -  it works.
Code sample
code from Example not work too

Logs
I/CameraManagerGlobal( 3943): Connecting to camera service
W/CameraManagerGlobal( 3943): [soar.cts] ignore the status update of camera: 2
W/CameraManagerGlobal( 3943): [soar.cts] ignore the status update of camera: 3
W/CameraManagerGlobal( 3943): [soar.cts] ignore the status update of camera: 4
W/CameraManagerGlobal( 3943): [soar.cts] ignore the status update of camera: 5
W/CameraManagerGlobal( 3943): [soar.cts] ignore the status update of camera: 6
W/CameraManagerGlobal( 3943): ignore the torch status update of camera: 3
W/CameraManagerGlobal( 3943): ignore the torch status update of camera: 4
W/CameraManagerGlobal( 3943): ignore the torch status update of camera: 5
E/libc    ( 3943): Access denied finding property "persist.vendor.camera.privapp.list"
W/ne.appany.reach( 3943): type=1400 audit(0.0:3041): avc: denied { read } for name="u:object_r:persist_camera_prop:s0" dev="tmpfs" ino=16035 scontext=u:r:untrusted_app:s0:c48,c262,c512,c768 tcontext=u:object_r:persist_camera_prop:s0 tclass=file permissive=0
W/CameraManagerGlobal( 3943): ignore the torch status update of camera: 3
W/CameraManagerGlobal( 3943): ignore the torch status update of camera: 4
W/CameraManagerGlobal( 3943): ignore the torch status update of camera: 5
I/Camera  ( 3943): startPreview
W/libc    ( 3943): Unable to set property "persist.vendor.camera.mi.cameraid" to "false": connection failed; errno=13 (Permission denied)
W/ne.appany.reach( 3943): type=1400 audit(0.0:3044): avc: denied { write } for name="property_service" dev="tmpfs" ino=14666 scontext=u:r:untrusted_app:s0:c48,c262,c512,c768 tcontext=u:object_r:property_socket:s0 tclass=sock_file permissive=0
E/CameraManager( 3943): setprop error: java.lang.RuntimeException: failed to set system property
W/BpBinder( 3943): Slow Binder: BpBinder transact took 218ms, interface=android.hardware.camera2.ICameraDeviceUser, code=6 oneway=false
I/Camera  ( 3943): CameraCaptureSession onConfigured
I/Camera  ( 3943): Updating builder settings
D/Camera  ( 3943): Updating builder with feature: ExposureLockFeature
D/Camera  ( 3943): Updating builder with feature: ExposurePointFeature
D/Camera  ( 3943): Updating builder with feature: ZoomLevelFeature
D/Camera  ( 3943): Updating builder with feature: AutoFocusFeature
D/Camera  ( 3943): Updating builder with feature: NoiseReductionFeature
I/Camera  ( 3943): updateNoiseReduction | currentSetting: fast
D/Camera  ( 3943): Updating builder with feature: FocusPointFeature
D/Camera  ( 3943): Updating builder with feature: ResolutionFeature
D/Camera  ( 3943): Updating builder with feature: SensorOrientationFeature
D/Camera  ( 3943): Updating builder with feature: FlashFeature
D/Camera  ( 3943): Updating builder with feature: ExposureOffsetFeature
D/Camera  ( 3943): Updating builder with feature: FpsRangeFeature
I/Camera  ( 3943): refreshPreviewCaptureSession
W/pool-13-thread-( 3943): type=1400 audit(0.0:3045): avc: denied { read } for name="u:object_r:camx_hq_prop:s0" dev="tmpfs" ino=15920 scontext=u:r:untrusted_app:s0:c48,c262,c512,c768 tcontext=u:object_r:camx_hq_prop:s0 tclass=file permissive=0
E/libc    ( 3943): Access denied finding property "persist.vendor.camera.mi.cameraid"
W/BpBinder( 3943): Slow Binder: BpBinder transact took 215ms, interface=android.hardware.camera2.ICameraDeviceUser, code=14 oneway=false
W/BpBinder( 3943): Slow Binder: BpBinder transact took 293ms, interface=android.hardware.camera2.ICameraDeviceUser, code=6 oneway=false
I/Camera  ( 3943): startPreviewWithImageStream
I/Camera  ( 3943): CameraCaptureSession onConfigured
W/ne.appany.reac( 3943): Long monitor contention with owner main (3943) at boolean android.os.BinderProxy.transactNative(int, android.os.Parcel, android.os.Parcel, int)(BinderProxy.java:-2) waiters=0 in void android.hardware.camera2.impl.CameraDeviceImpl$4.run() for 512ms
I/Camera  ( 3943): Updating builder settings
D/Camera  ( 3943): Updating builder with feature: ExposureLockFeature
I/Camera  ( 3943): refreshPreviewCaptureSession
W/ne.appany.reach( 3943): type=1400 audit(0.0:3046): avc: denied { read } for name="u:object_r:camx_hq_prop:s0" dev="tmpfs" ino=15920 scontext=u:r:untrusted_app:s0:c48,c262,c512,c768 tcontext=u:object_r:camx_hq_prop:s0 tclass=file permissive=0
E/libc    ( 3943): Access denied finding property "persist.vendor.camera.mi.cameraid"
D/Camera  ( 3943): Updating builder with feature: ExposurePointFeature
I/Camera  ( 3943): CameraCaptureSession onClosed
D/Camera  ( 3943): Updating builder with feature: ZoomLevelFeature
D/Camera  ( 3943): Updating builder with feature: AutoFocusFeature
D/Camera  ( 3943): Updating builder with feature: NoiseReductionFeature
I/Camera  ( 3943): updateNoiseReduction | currentSetting: fast
D/Camera  ( 3943): Updating builder with feature: FocusPointFeature
D/Camera  ( 3943): Updating builder with feature: ResolutionFeature
D/Camera  ( 3943): Updating builder with feature: SensorOrientationFeature
D/Camera  ( 3943): Updating builder with feature: FlashFeature
D/Camera  ( 3943): Updating builder with feature: ExposureOffsetFeature
D/Camera  ( 3943): Updating builder with feature: FpsRangeFeature
I/Camera  ( 3943): refreshPreviewCaptureSession
E/libc    ( 3943): Access denied finding property "persist.vendor.camera.mi.cameraid"
W/System  ( 3943): A resource failed to call release.

Doctor output
[√] Flutter (Channel stable, 3.13.9, on Microsoft Windows [Version 10.0.19045.3570], locale en-US)
    • Flutter version 3.13.9 on channel stable at C:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d211f42860 (5 days ago), 2023-10-25 13:42:25 -0700
    • Engine revision 0545f8705d
    • Dart version 3.1.5
    • DevTools version 2.25.0

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at G:\DB\soft_db\Android\Sdk\
    • Platform android-33-ext5, build-tools 33.0.2
    • ANDROID_HOME = G:\DB\soft_db\Android\Sdk\
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 2022.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)

[√] VS Code (version 1.83.1)
    • VS Code at C:\Users\ooovid\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.46.0

[√] Connected device (3 available)
    • M2010J19CG (mobile) • 931c654c0920 • android-arm64  • Android 10 (API 29)
    • Chrome (web)        • chrome       • web-javascript • Google Chrome 118.0.5993.118
    • Edge (web)          • edge         • web-javascript • Microsoft Edge 118.0.2088.61

[√] Network resources
    • All expected network resources are available.

• No issues found!

any updates?


[core] Ensure that send actions are resolved in interpreter

Fixes #2880
Fixes #2057
Fixes #2450
Fixes #3053

@Andarist Should we close this pending your in-progress PR?


cannot flash hello_world on stm32f303k8

At least because the same involved mcu, issue seems the same of  https://github.com/zephyrproject-rtos/zephyr/issues/54117
I tested succesfully blinky on a small custom board with stm32f303k8
I can flash it properly by "west flash", using stlink v2 pod.
As soon as i build hello_world and enable serial console in the config, i cannot flash anymore
Logs and console output
west build -p always -b ks_zion samples/hello_world
`
[95/96] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
FLASH:       12848 B        64 KB     19.60%
RAM:        4088 B        12 KB     33.27%
CCM:          0 GB         8 KB      0.00%
IDT_LIST:          0 GB         2 KB      0.00%
Generating files from /home/angelo/dev-baylibre/zephyrproject/zephyr/build/zephyr/zephyr.elf for board: ks_zion
[96/96] cd /home/angelo/dev-baylibre/zephyrproject/zephyr/.../dev-baylibre/zephyrproject/zephyr/build/zephyr/zephyr.elf
-- west flash: using runner openocd
-- runners.openocd: Flashing file: /home/angelo/dev-baylibre/zephyrproject/zephyr/build/zephyr/zephyr.hex
Open On-Chip Debugger 0.11.0+dev-00726-ge2b6f5655 (2023-11-15-11:07)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
Info : DEPRECATED target event trace-config; use TPIU events {pre,post}-{enable,disable}
Info : clock speed 1000 kHz
Info : STLINK V2J43S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.223669
Info : [stm32f3x.cpu] Cortex-M4 r0p1 processor detected
Info : [stm32f3x.cpu] target has 6 breakpoints, 4 watchpoints
Info : starting gdb server for stm32f3x.cpu on 3333
Info : Listening on port 3333 for gdb connections
TargetName         Type       Endian TapName            State

0* stm32f3x.cpu       hla_target little stm32f3x.cpu       halted
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : device id = 0x10016438
Info : flash size = 64kbytes
Warn : Adding extra erase range, 0x08003230 .. 0x080037ff
Error: error writing to flash at address 0x08000000 at offset 0x00000000
auto erase enabled
FATAL ERROR: command exited with status 1: /opt/zephyr-sdk-0.16.4/sysroots/x86_64-pokysdk-linux/usr/bin/openocd -s /home/angelo/dev-baylibre/zephyrproject/zephyr/boards/arm/ks_zion/support -s /opt/zephyr-sdk-0.16.4/sysroots/x86_64-pokysdk-linux/usr/share/openocd/scripts -f /home/angelo/dev-baylibre/zephyrproject/zephyr/boards/arm/ks_zion/support/openocd.cfg '-c init' '-c targets' -c 'reset init' -c 'flash write_image erase /home/angelo/dev-baylibre/zephyrproject/zephyr/build/zephyr/zephyr.hex' -c 'reset run' -c shutdown
`
To Reproduce
west flash
With openpocd.cfg as:
`source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f3x.cfg]
reset_config srst_only
$_TARGETNAME configure -event gdb-attach {
echo "Debugger attaching: halting execution"
reset halt
gdb_breakpoint_override hard
}
$_TARGETNAME configure -event gdb-detach {
echo "Debugger detaching: resuming execution"
resume
}`
Expected behavior
complete flash write
Environment (please complete the following information):

Linux
Toolchain: Zephyr SDK,
Commit SHA or Version used, master 8f6be9661e64987404f2356b536e1918f173d08f

Additional context
If i disable UART from board defconfig, i can flash properly
Upgraded the stlink firmware to last available, same issue
if i copy the zephyr.bin away, and flash it by
`
#!/bin/sh
openocd -f interface/stlink-v2.cfg -f ./openocd.cfg -c "program zephyr.bin 0x08000000 verify reset exit"
openocd.cfg :
source [find target/stm32f3x.cfg]
`
It works, i can flash the binary, and can see the console working.

@ajarmouni-st ^^

Thanks, i solved for now as done in the above 54117, using pyocd runner, it works fine.

@ajarmouni-st Can you check we can use source [find target/stm32f3x.cfg] instead of source [find board/st_nucleo_f3.cfg] could work on nucleo_f303k8 on our side as well ?

@spectrum70 is this issue closed from your POV ?


Fix footer for loading in webpack2

closes #171

@highsource any chance we can get this merged, and a release? If you can show me the release procedure I would be happy to do it if I have sufficient rights.

this doesn't work as expected for phantom


Upgrade Google double-conversion library as "REQUIRED" (at least to version 3.1.6)

With pull request #3160  commit https://github.com/InsightSoftwareConsortium/ITK/commit/701c8c25ea998cc5defdd3457241c518a7b8b65b ("COMP: Add minimum version for double-conversion" by @RafaelPalomar), ITK requires at least version 3.1.6 of the double-conversion library: https://github.com/InsightSoftwareConsortium/ITK/blob/701c8c25ea998cc5defdd3457241c518a7b8b65b/Modules/ThirdParty/DoubleConversion/CMakeLists.txt#L10
At least, when ITK_USE_SYSTEM_DOUBLECONVERSION is enabled.
Would it be possible to also upgrade the "embedded" (non-system) version of that library, at https://github.com/InsightSoftwareConsortium/ITK/tree/master/Modules/ThirdParty/DoubleConversion/src ? As I suggested at https://github.com/InsightSoftwareConsortium/ITK/pull/3160#issuecomment-1036156664
Related issue: #3193 "Refactor UpdateDoubleConversionFromGoogle.sh" by @dzenanz

@dzenanz Would you possibly still have time to upgrade the double-conversion library? ITK requires at least version 3.1.6 now (commit https://github.com/InsightSoftwareConsortium/ITK/commit/701c8c25ea998cc5defdd3457241c518a7b8b65b), but still has an older versions at ITK/Modules/ThirdParty/DoubleConversion
The newer double-conversion library has an extra feature I would like to use  😃: StringToDoubleConverter::StringTo<T> , https://github.com/google/double-conversion/commit/eee1a4544fda1fd70f93412ad7a210d40693ef1c added with https://github.com/google/double-conversion/pull/158

I made some progress in #3533.


Fix rate-limit headers information when rate-limited

Fixes #54
The problem is that when calculating the remaining quota for a usage_report, we were taking into account the information from the status. In particular, we were returning a remaining of 0 if the status was not authorized.
Suppose that we have several usage_reports for the same status. If the status is unauthorized, all of them with return a remaining of 0. This is a problem because we cannot properly compare them to figure out which one of them is causing the "unauthorized" status. We could have a report that goes over limits and another that does not.

@mikz I addressed your comments :+1:

bors r=@eguzki


iOS App Crashes Instantly on 14.2

[X] This issue is present in the app downloaded from the App Store.

Describe the bug
When starting the app on iOS 14.2 it shows the authenticator logo page with the white background then crashes instantly.
To Reproduce
Steps to reproduce the behavior:

On iOS 14.2 tap to open Google Authenticator
See error

Expected behavior
The app should load.
Smartphone (please complete the following information):

Device: [iPhone XS]
OS: [iOS 14.2]
Browser [N/A]

This means I can't access a ton of stuff I use for work, so it's pretty high priority for me. I understand I took the risk by using a beta OS, however.

any updates on the status of this? or any work around to make it work?

Yes, found it on Reddit but forgot to post it here. 😅
Delete and reinstall the app. Like most people I assumed this would remove my auth tokens but it didn’t. ¯_(ツ)_/¯

Yep, delete and re-install.

Alternatively, just "offload" the app, and then re-install it.

Go to Settings - General - iPhone Storage - Authenticator - Offload App，then tap Reinstall App.
This works for me, data not lost.

Go to Settings - General - iPhone Storage - Authenticator - Offload App，then tap Reinstall App.
This works for me, data not lost.

This has worked for me too, nice one!!

Go to Settings - General - iPhone Storage - Authenticator - Offload App，then tap Reinstall App.
This works for me, data not lost.

This worked for me too! Thanks for the hot tip.