Any C# samples to get me started

I am very interested in using this class but am having a heck of a time  in C#.
I have added SharpAdbClient to my project using NuGet package manager.
For instance - I would like to setup  Device Monitoring and have implemented the following in my Form Load event:
AdbServer.Instance.StartServer(@"C:\adb.exe", true);
DeviceMonitor adbMonitor = new DeviceMonitor(new AdbSocket(AdbServer.Instance.EndPoint));
adbMonitor.DeviceConnected += this.OnDeviceConnected;
adbMonitor.DeviceDisconnected += this.OnDeviceDisconnected;
adbMonitor.Start();
I get an error when initializing the new DeviceMonitor telling me that AdbServer does not contain a definition for EndPoint - yet this code is your example.
Any assistance or a small sample C# app to get me started would be greatly appreciated.

@chapman57 I updated the code samples, hope you find them useful now!

Thank you VERY much for the updates and the fast reply. I now have the device monitor working and generating connect/disconnect events.
I also learned I need Visual Studio started as administrator to avoid an exception when I call startServer.
Kind Regards,
Don

@chapman57 I'm closing this issue as it seems the examples helped you - thanks for your feedback!

I thought I sent a reply. Yes, I am all set and thank you Very Much!
Don
From: Frederik Carlier<EMAIL_ADDRESS>Sent: Tuesday, October 17, 2017 9:34 AM
To: quamotion/madb<EMAIL_ADDRESS>Cc: Donald S Chapman<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [quamotion/madb] Any C# samples to get me started (#90)
[CAUTION: This email originated from outside of Kodak Alaris. Do not click links or open attachments unless you recognize the sender and know the content is safe.]

@chapman57https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_chapman57&d=DwMCaQ&c=skUQKLuTFULvQUMqV0uyBaBvPxsA7Wk8MKjvMTLjY3w&r=-jTQJcfSQ_F5BpfVt8JFM_109ZwvmL_WzK1_d6cg57Q&m=VqrspFm1_Wvt88OtGdGMRzuRa963X3dT7uZ0c0TCxeA&s=kY8OSuLdzHf8bMmSFZjTc6oc4KERHzSsWZC54Qm0_Qw&e= I'm closing this issue as it seems the examples helped you - thanks for your feedback!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_quamotion_madb_issues_90-23issuecomment-2D337232855&d=DwMCaQ&c=skUQKLuTFULvQUMqV0uyBaBvPxsA7Wk8MKjvMTLjY3w&r=-jTQJcfSQ_F5BpfVt8JFM_109ZwvmL_WzK1_d6cg57Q&m=VqrspFm1_Wvt88OtGdGMRzuRa963X3dT7uZ0c0TCxeA&s=9PrkufKUaVQKCjzNcRsJJHRdHz7xZPRg50syQyQ-Hmg&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_Ab8mhn1NCYQt-5FYPfLZ807h5c2xra-5FTYXks5stKzcgaJpZM4PAjcm&d=DwMCaQ&c=skUQKLuTFULvQUMqV0uyBaBvPxsA7Wk8MKjvMTLjY3w&r=-jTQJcfSQ_F5BpfVt8JFM_109ZwvmL_WzK1_d6cg57Q&m=VqrspFm1_Wvt88OtGdGMRzuRa963X3dT7uZ0c0TCxeA&s=XTdYb5jD_qtduwC6N-Z8yWr2Mxr9uNoiO13NGivEjpA&e=.

Could you please add example how to subscribe to broadcasts like http://madb.bit13.com/#managed-adb-installreceiver and http://madb.bit13.com/#managed-adb-installreceiver


Java Application MainClass is not readable depending on how it is set

Expected Behavior
I think I should be able to read out the Application Plugin's mainClass value regardless of how it is specified
Current Behavior
The Application plugin main class can be specified in 2 ways...
apply plugin: "application"
mainClassName = "com.foo.bar.Main"

or...
apply plugin: "application"
application {
    mainClass.set("com.foo.bar.Main")
}

I'm using the following code to access the main class via the ApplicationPluginConvention...
task('print main class') {
  println(project.convention.findPlugin(ApplicationPluginConvention.class).getMainClassName())
}

I can print out com.foo.bar.Main in the first example but I get null for the second example
As far as I know this method isn't being deprecated, only the JavaApplication#getMainClassName is being deprecated - is that correct?
I see the new mainClass property and the convention are linked in DefaultJavaApplication as follows...
https://github.com/gradle/gradle/blob/386998a43f7d609a8f35d0ff6ab45c833d2edf47/subprojects/plugins/src/main/java/org/gradle/api/plugins/internal/DefaultJavaApplication.java#L35
Does that mean it's only set in one direction?  So it doesn't update the convention's value when mainClass is set in the Application?
Or is it not valid to use the convention to access the main class?
Context
It's for a plugin that exports the Java/Scala build setup - Bloop
Gradle 6.5
Windows 10

Doing the following is the recommended way:
application {
    mainClass.set("com.foo.bar.Main")
}

When you do mainClassName = "com.foo.bar.Main" at the root of the build script, you leverage an historical system in Gradle, the convention mappings.
This system is being slowly deprecated and replaced with Property types that have a better API and less surprises for developers new to Gradle.
When you read the value by doing println(project.convention.findPlugin(ApplicationPluginConvention.class).getMainClassName()) you only read the value of the convention. You do not read the value of the underlying model, be it application.mainClassName (deprecated) or application.mainClass, you only see what was set in the convention.
The convention was a commodity for plugin authors to set default values to fields. It should not be used in a build script by build authors.

@ljacomet thank you for the info.  The move to Property types makes sense to me.
Do you have a link to documentation for plugin authors on how to read out these kind of settings from the underlying model if conventions are not the way?  Or could you give me a line of code on how you would do it?
I was following the examples here although I realise here they set data, not read it

Thanks for the pointer to that documentation. It needs an update.
You should simply read the value from the model. So in the case we discussed: application.mainClass.get() or any other method on Provider that makes sense, like orElse, ...
In short, values set by convention - either through the ApplicationPluginConvention (to be considered legacy) or by calling application.mainClass.convention (the modern way for a plugin author to set a convention), will be reflected when reading the property.

Ah I see.  So go through the extension rather than the convention
So
project.extensions.getByType(JavaApplication.class).mainClass.get()

instead of
project.convention.findPlugin(ApplicationPluginConvention.class).getMainClassName()

Thanks for the help.


[incubator/drone] Ingress class config results in wrong behaviour

Version of Helm and Kubernetes:
Client: &version.Version{SemVer:"v2.8.2", GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.8.1", GitCommit:"6af75a8fd72e2aa18a2b278cfe5c7a1c5feca7f2", GitTreeState:"clean"}

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-29T10:10:42Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.4", GitCommit:"9befc2b8928a9426501d3bf62f72849d5cbcd5a3", GitTreeState:"clean", BuildDate:"2017-11-20T05:17:43Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Which chart:
incubator/drone
What happened:
When configuring my annotations to be kubernetes.io/ingress.class: "nginx" the template renders as if I had set it to gce even though I didn't. This results in the ingress domain taking me to the default backend and not the drone service.
I issue appears to be on this line. It should resolve to false but instead resolves to true.
Manually changing the path to - path: / in the kubernetes dashboard resolves the error.

Can you provide a working solution or a fix? The comparison looks correct to me.

Any update on this issue?

Perhaps @Depado or @puradox have some thoughts?

I'll have a closer look when I have some spare time :smile:

@jacobtomlinson Could you show me how you define your ingress class ?
I just tried it out, and the path is correctly set to / when using anything else than gce :
$ helm install --dry-run --debug --set ingress.enabled=true --set "ingress.annotations.kubernetes\.io/ingress\.class"="nginx" --set ingress.hosts[0]="drone.example.com" incubator/drone

# Source: drone/templates/ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes/ingress.class: "nginx"
  labels:
    app: drone
    heritage: "Tiller"
    release: "deadly-salamander"
    chart: "drone-1.0.5"
  name: deadly-salamander-drone
spec:
  rules:
    - host: drone.example.com
      http:
        paths:
          - path: /
            backend:
              serviceName: deadly-salamander-drone
              servicePort: 80

Whereas when passing --set "ingress.annotations.kubernetes\.io/ingress\.class"="gce":
# Source: drone/templates/ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: "gce"
  labels:
    app: drone
    heritage: "Tiller"
    release: "brown-cow"
    chart: "drone-1.0.5"
  name: brown-cow-drone
spec:
  rules:
    - host: drone.example.com
      http:
        paths:
          - path: /*
            backend:
              serviceName: brown-cow-drone
              servicePort: 80

I'm using the nginx ingress chart. You can see my config here.
https://github.com/informatics-lab/terraform-kubernetes/tree/master/cluster-services/nginx-ingress
You can also see the config I used to setup drone.
https://github.com/informatics-lab/terraform-kubernetes/tree/master/cluster-services/drone

Running again on my local config now seems to be giving the correct result.
helm install --dry-run --debug -f config.yaml -f secrets.yaml incubator/drone

# Source: drone/templates/ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/tls-acme: "true"
  labels:
    app: drone
    heritage: "Tiller"
    release: "volted-eagle"
    chart: "drone-0.6.0"
  name: volted-eagle-drone
spec:
  rules:
    - host: drone.informaticslab.co.uk
      http:
        paths:
          - path: /
            backend:
              serviceName: volted-eagle-drone
              servicePort: 80
  tls:
    - hosts:
      - drone.informaticslab.co.uk
      secretName: drone.informaticslab.co.uk

My guess would be that #4771 resolved the issue and perhaps I was using a cached version of the chart.
Thanks for your hep.


Bump etcd image to 3.5.9 in KDM

SURE-6162

/backport v2.7-KDM-Oct-2023-patches

/backport v2.7-KDM-Oct-2023-patches

Validated the ETCD version bump for k8s v1.27, v1.26 and v1.25 as documented on the Qase.
Tested the following three scenarios on k8s v1.25.16-rancher2-1, v1.26.11-rancher2-1 and v1.27.8-rancher2-1.

Fresh Install checks
Upgrade checks
Downstream cluster checks.

Made sure on all the above 3 scenarios the ETCD version on the etcd node was 3.5.9.
Since the ETCD version is correct, closing the issue.


Adding User Avatars

As a viewer I'd like to see my & other people's avatars in the task lists next to their usernames when I watch the task list scroll on the screen.
According to twitchio's bot builder documentation there's a profile_image variable in the twitch's API.

We discovered this request won't be possible for this project.
Retrieving the profile image of users requires an app access token or user access token.
user-access token is outside the scope of this project.
closing Issue.


Precompiled X86 binary required

hello sir can u please give X86 Binary for linux please.

goflyway_linux_386.tar.gz is what you are looking for in the release page.

Yes sir goflyway_linux_386.tar.gz i need it but i cannot go to release page where is it please


Fill deprecation for LSP

bors r+
Thanks!

bors r-

bors r+

We also probably want to find a better place for finding the deprecated attribute, but off the top of my head I don't know a strictly better place.

I was thinking of this too. We may want to do something similar to Documentation for built in attrs? For instance it would be nice to match on the deprecated attr's optional note or since field and add that to the details string. I'm not quite sure but I think we may need an abstraction for this sort of thing.

I think syn's abstraction works quite well (on mobile so can't link). Maybe we could look at what we can learn from that.


Use uniqueIds for ids on terra-arrange examples.

Issue Description
This implementation of an id for the terra-arrange components doesn't feel like we can be guaranteed a unique id (https://github.com/cerner/terra-core/blob/f9846b168e06d5e13a346b6176234d3ebf73b38a/packages/terra-site/src/examples/arrange/ArrangeAlignment.jsx#L35). We should look into using uniqueId to generate one, and then setting it in componentWillMount as opposed to the constructor.
Issue Type

[ ] New Feature
[x] Enhancement
[ ] Bug
[ ] Other

Expected Behavior
Look into using uniqueId to generate one, and then setting it in componentWillMount as opposed to the constructor.
Current Behavior
Id for example is set with the following:
class ArrangeAlignment extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      id: Math.floor(Math.random() * 0xFFFF),
    };
    this.getId = this.getId.bind(this);
    this.handleSelectChange = this.handleSelectChange.bind(this);
  }

  getId(name) {
    return name + this.state.id;
  }

Released in<EMAIL_ADDRESS>


Improvements for erlbrake

See CHANGES

any news on this? apparently never got merged into mainline

Nope, moved away from the service. I'd propose to look into Rollbar and use https://github.com/omarkj/erollbar.

cool tip, looks good!


doc(zh-cn): translate deploy

What kind of changes does this PR include?

[ ] Minor content fixes (broken links, typos, etc.)
[ ] New or updated content
[x] Translated content
[ ] Changes to the docs site code
[ ] Something else!

Description
translate deploy

One note @kecrily — we haven’t actually marked this and the other deploy guides as i18nReady yet, so I’d recommend not translating any of those yet. You can check #438 for all the pages that still need translating. I think a PR updating the zh-cn ui.ts and nav.ts files would also be helpful.

I just now understand what i18nReady means.
I've been comparing missing files between file trees for translation.

Haha, oh no! Yes we have that beautiful issue that keeps track of things 💜


Unable to open scanned photos

thumbnails show up and the scan runs without issue, however after scan I am unable to click and view photo. Zoom and make photo public buttons infinitly load.
Platform

Windows 10 Docker Desktop

Attempted solutions:

running a new scan
restarting docker containers (when no scan is running and workers are available)

Fixed the issue. Please do a docker-compose down, docker-compose pull and docker-compose up -d

Fixed the issue. Please do a docker-compose down, docker-compose pull and docker-compose up -d


add Translation to pt-BR from my gist on Readme

https://gist.github.com/tteurs/5a87ff4bc5f24692dab05b3cde0ca9df

Thanks! I added your contribution to the readme https://github.com/stephskardal/rails_admin_import/commit/2ee4ec1c6779e56c158cf805cf548650fcf210e4


Secure uploads using https://github.com/RacingTadpole/django-private-media

for the moment anyone can guess the file name and access it without being authenticated. We need to secure it using https://github.com/RacingTadpole/django-private-media

Actually a simple view checking that the user is logged in will suffice since we don't have multi-tenancy

Blog post describing how to do it with nginx http://sametmax.com/servir-un-fichier-protege-avec-django-et-nginx/

Fixed in 69de002


Add support for RSA keys

https://binance-docs.github.io/apidocs/spot/en/#signed-trade-user_data-and-margin-endpoint-security
https://www.binance.com/en/support/faq/how-to-generate-an-rsa-key-pair-to-send-api-requests-on-binance-2b79728f331e43079b27440d9d15c5db

Need some help on how to correctly assign the RSA key
I generated the public and private key, added the public key in binance. But I keep getting errors like
"Invalid character in header content ["X-MBX-APIKEY"]"
"API-key format invalid"
I've tried to assign the value in environment variables and load them with "process.env". Tried removing newlines to convert key to a single line. Also tried to replace newline with text "\n".
I've also assigned the keys directly in the code.
Maybe it's something very simple but iI can figure it out .

Need some help on how to correctly assign the RSA key
I generated the public and private key, added the public key in binance. But I keep getting errors like "Invalid character in header content ["X-MBX-APIKEY"]" "API-key format invalid"
I've tried to assign the value in environment variables and load them with "process.env". Tried removing newlines to convert key to a single line. Also tried to replace newline with text "\n". I've also assigned the keys directly in the code.
Maybe it's something very simple but iI can figure it out .

Hi @posman - does your private key by any chance have this as the header?
-----BEGIN RSA PRIVATE KEY-----

Or how does the header look? There's an assumption right now in how the RSA auth works, I'll adapt it slightly, as well as providing an example.

@posman here's a full example for RSA authentication using this SDK:
https://github.com/tiagosiebler/binance/blob/master/examples/rest-private-rsa.md
If you have any problems with it, please open another issue. Thanks!


Date Filter in Filter Result Area

Firstly, thank u for this amazing tool:)
I have one problem about filtering data of which type is date. I didnt find a way to filter my date column with >, <, = these operators in filter result area. Is there any way to filter dynamically ?
My dates like this. format --> dd.mm.yyyy

Is there anyone to suggest something?

If you use ISO format like 2012-04-30 then you can use the builtin > and < operators.

Alternatively, you can use sorters to build a sorting function that accepts your date format, and then the </> operators will respect that.
For example in this page https://pivottable.js.org/examples/montreal_2014.html you can see that <may returns the appropriate months. Note that you can build a sorter that doesn't require enumeration of the values, the example there uses the handy shortcut of sortAs :)

Thank you for your respond. I cant change my date format because of my regional format. As a result, I made a little changes in pivot.js to fit my format.

The sorters approach would work with your current format but if you have a workaround that’s good.


Polyphase Resampling (rational resampling)

Since CMSIS-DSP already provides functions for FIR decimation and interpolation, it would be beneficial to include efficient rational resampling functionality using the polyphase resampling algorithm.
For reference, see SciPy's scipy.signal.resample_poly and GNU Radio's Rational Resampler.

Good suggestion. Tagged as "enhancement".


Support useFieldArray

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
Having a list of element in React Hook Form is supported through useFieldArray.
I'm trying to do the same with [react-hook-form-mui](https://github.com/dohomi/react-hook-form-mui) without success so far, see examples
Examples 🌈
const formContext = useForm({
        defaultValues: {
           tracks: [
            {
                id: "track1",
                name: "Track 1"
            }
           ]
       }
    })
const {control, setValue, formState} = formContext

const { fields, append, remove } = useFieldArray({
    control,
    name: "tracks"
})

<FormContainer
        formContext={formContext}
>
{fields.map((track: Track, index) =>
                        <Box display="flex">
                            <TextFieldElement
                                key={track.id}
                                id={track.id}
                                label={`id: ${track.id}`}
                                name={`tracks.${index}.name`}
                                variant="filled"
                                size="small"
                                disabled={formState.isSubmitting}
                            />

                            <IconButton
                                aria-label="Remove track"
                                onClick={() => {
                                    setValue(`tracks.${index}.name`, "")
                                    remove(index)
                                }}
                                edge="end"
                            >
                                <Delete/>
                            </IconButton>
                        </Box>)}

</FormContainer>

@HugoGresse please open a sandbox or any other tool where I can review your code, I am using useFieldArray in production without an issue.

Indeed, had some trouble with the API + some side effects. Thanks for the clatification.


--tensor-parallel-size 2 fails to load on GCP

Hi,
I am trying to set up vLLM Mixtral 8x7b on GCP. I have a VM with two A100 80GBs, and am using the following setup:
docker image: vllm/vllm-openai:v0.3.0
Model: mistralai/Mixtral-8x7B-Instruct-v0.1
Command I use inside the vm:
python3 -m vllm.entrypoints.openai.api_server --model mistralai/Mixtral-8x7B-Instruct-v0.1 --tensor-parallel-size 2 --port 8888
Output (after a while):
File "/usr/local/lib/python3.10/dist-packages/torch/nn/functional.py", line 1858, in softmax
    ret = input.softmax(dim, dtype=dtype)
RuntimeError: CUDA error: invalid device function

nvidia-smi output:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA A100-SXM...  Off  | 00000000:00:06.0 Off |                    0 |
| N/A   32C    P0    62W / 400W |      0MiB / 81920MiB |      0%      Default |
|                               |                      |             Disabled |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA A100-SXM...  Off  | 00000000:00:07.0 Off |                    0 |
| N/A   31C    P0    61W / 400W |      0MiB / 81920MiB |      0%      Default |
|                               |                      |             Disabled |
+-------------------------------+----------------------+----------------------+

What's wrong? Is this a bug in vLLM?
Additional diagnostics:

Mistral Instruct 7B fails with the same error
Without tensor parallelism, it succeeds. (Not an option for 8x7B as it doesn't fit on one GPU)

I meet the same problem on qwen72b model.

I had the same problem with CodeLlama34b-Python-hf

Have you fixed the issue? I can't run any model with TP > 1

Any issues related to #4431? I finally just got --tensor-parallel-size 2 working. Tested against a bunch of models and it's finally solid.

@chrisbraddock Could you please post minimal working code, please? And also, are running in the official vLLM docker container? Is not, how did you install vLLM (from source, from pypi)? Are you running locally, or on a cloud instance?

@chrisbraddock Could you post minimal working code, please? And also, are running in the official vLLM docker container? If not, how did you install vLLM (from source, from pypi)? Are you running locally, or on a cloud instance?

I've tried a few ways. What I have working now is pip installing the 0.4.2 tag. I have it broken in to a few scripts, so this will look a little strange, but it's copy/paste:
# create conda env
export ENV_NAME=vllm-pip-install
conda create --name ${ENV_NAME} python=3.8

# activate the conda env ... not scripted

# install vLLM
export TAG=0.4.2
pip install -vvv vllm==${TAG}

# start Ray - https://github.com/vllm-project/vllm/issues/4431#issuecomment-2084839647
export NUM_CPUS=10
ray start --head --num-cpus=$NUM_CPUS

# start vLLM
# model defaults
export DYPTE=auto
export QUANT=gptq_marlin

export NUM_GPUS=2

# this is the line that fixed my CUDA issues:
export LD_LIBRARY_PATH=$HOME/.config/vllm/nccl/cu12:$LD_LIBRARY_PATH

# start OpenAI compatible server
#
# https://docs.vllm.ai/en/latest/models/engine_args.html
python -m vllm.entrypoints.openai.api_server \
    --model $MODEL \
    --dtype $DYPTE \
    --tensor-parallel-size $NUM_GPUS \
    --quantization $QUANT

@chrisbraddock I got it working in a very similar way (I described it here). The trick was to run ray in a separate terminal session and specify LD_LIBRARY_PATH correctly.

@chrisbraddock I got it working in a very similar way (I described it here).

Cool - I was working off some of your info for sure. I didn't quite understand what you did with the library so ended up with the path modification.
Next to re-enable Fast Attention and see if anything breaks. I think that's my last outstanding issue.


Failed to distribute electron app for Windows in Mac dev environment

SerialPort version: 4.0.3
NodeJS Version: 5.12.0
Operating System and Hardware: Mac OS
Are you using Electron/Atom/NwJS?: Electron (1.4.3) and Atom
I'm developing an electron app and using node-serialport in it. When I distribute the app for Mac, node-serialport works and everything goes well. However when to distribute the app for Windows using the same source code, serialport fails to work:

Uncaught Error: %1 is not a valid Win32 application.

I distribute the app using: electron-packager . --platform=win32 --overwrite
I think if I can distribute the app on Windows, it can run on Windows as well. So I tried to set the environment on Windows 10 and read the instruments that I could find, including issue #538 Tracking Electron support. But I couldn't even build the app.
Before spending more time on Windows, I want to know if distribute app on Windows is necessary for app running on Windows? Is there any latest working instrument for distributing electron app which uses node-serialport?

I have run into a very similar problem with my Electron application. For me, the only reliable solution was to build serialport on a Windows computer (note: needed to have Python 2.x installed for some reason) with (from node_modules/serialport) using node-gyp rebuild --target=1.4.3 --arch=x64 --dist-url=https://atom.io/download/atom-shell (may need to first run npm install -g node-gyp) then replace the serialport folder in the builds with that one.


key-auth plugin schema returned by kong admin api is not correct

Summary
The schema for key-auth plugin returned by kong admin api is:
{
    "fields": {
        "hide_credentials": {
            "type": "boolean",
            "default": false
        },
        "anonymous": {
            "type": "string",
            "func": "function",
            "default": ""
        },
        "key_names": {
            "type": "array",
            "required": true,
            "func": "function",
            "default": "function"
        },
        "key_in_body": {
            "type": "boolean",
            "default": false
        }
    },
    "no_consumer": true
}

The default value for key_names field is not correct. I think it should be { "apikey" } rather than function
Steps To Reproduce
access http://<kong_host>:8001/plugins/schema/key-auth
Additional Details & Logs

Kong version (0.10.1)

@shazha no, its correct type, default is evaluated through a function,
https://github.com/Mashape/kong/blob/master/kong/plugins/key-auth/schema.lua#L39.


[bug] Error when passing connector to connect

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
0.4.12
Current Behavior
I currently get an error when passing a connector to connect() using the following syntax:
const { connect, connectors } = useConnect();

<Button onClick={() => {
    connect(connectors[0]);
}}>

Error:
index.js:27 Error: connector is required
    at Object.mutationFn$5 [as mutationFn] (wagmi.cjs.dev.js:746:25)
    at Object.fn (mutation.js:91:31)
    at run (retryer.js:112:31)
    at createRetryer (retryer.js:158:5)
    at executeMutation (mutation.js:85:49)
    at Mutation.execute (mutation.js:140:26)

However, the following syntax works:
const { connect, connectors } = useConnect();

<Button onClick={() => {
    connect({ connector: connectors[0] });
}}>

Expected Behavior
Based on the method signature for connect(), I would expect to be able to pass a connector directly without having to treat it as a Partial<ConnectArgs>:
readonly connect: (connectorOrArgs?: Connector<any, any> | Partial<ConnectArgs> | undefined) => void;
Steps To Reproduce

Instantiate your connectors
Create a wagmi client and pass it your connectors
Use the useConnect React hook to import connect and connectors
Pass a connector from connectors as an argument to connect upon a button click
Observe error

Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
https://codesandbox.io/s/coinbase-wallet-demo-integrate-with-wagmi-forked-26dj6h
Anything else?
No response

I can't seem to open the CodeSandbox. Getting a "Sandbox not found".

I've updated the codesandbox link. Please try again.

In 0.5.0, we will be removing the ability to directly pass in a connector to connect & connectAsync. Instead, it will need to be defined in an object:
import { useConnect } from 'wagmi'
function App() {
  const { connect, connectors } = useConnect()
  return (
    <button
-     onClick={() => connect(connectors[0])}
+     onClick={() => connect({ connector: connectors[0] })}
    >
      Connect
    </button>
  )
}


Errors when trying to create settings file on first import

In HierarchyDecoratorSettings.cs right below //Quick fix for now to stop duplication issues it needs to null check the components:
if (components != null && components.Count > allTypes.Length)

It should probably also just Clear the list instead of allocating a new one, but I haven't looked any further into it.

Hello there! Thanks for reporting this, helps me out a lot when I miss some things 😓
This should be entirely fixed now,
I've had this issue for a week or so now and should have been sorted as soon as possible, including the fact someone else mentioned it to me.
Thanks again for the report on it, you have any other issues feel free to add another issue!
~ Wooshii \o.


[ISSUE #4667] Optimizing documents and readme enables users to better use the controller mode

Make sure set the target branch to develop
What is the purpose of the change
Optimizing documents and readme enables users to better use the controller mode
Brief changelog
Optimizing documents and readme enables users to better use the controller mode
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage decreased (-0.1%) to 48.77% when pulling 88154dbcd0b79cb4f65cfdfb6182fd44331bbf74 on RongtongJin:develop-4 into 2c8645bc7d451621d3393f624de0ae2d935857cf on apache:develop.


Add gMAM Meier-Stein notebook

It would be nice to add the examples/scripts to a documentation too. If you agree, I could attempt this.


-b and -n options not working?

I tried the following options and neither one are generating 1 line or 1 byte in the beginning, then wait 100 seconds before logging 1 line or byte again:
flog -t log -n 1 -s 100 -w -l
or
flog -t log -b 1 -s 100 -w -l
Am I using it right?  I want to generate 1 line every 100 seconds.
Thanks!

workaround: looks like if I take off -l and then I can just watch the command to generate log

-n is for the number of lines of logs to generate. In your case, you should use flog -t log -d 100 -w -l to generate 1 line of log every 100 seconds. And -s is for creation time interval for each log (in seconds). It does not actually sleep. But -d does.
But there is no option to generate a log in the beginning without waiting for the delay.
// flog.go
for {
	if delay > 0 {
		time.Sleep(delay)
	}
	log := NewLog(option.Format, created)
	writer.Write([]byte(log + "\n"))
	created = created.Add(time.Duration(option.Sleep*float64(time.Second/time.Millisecond)) * time.Millisecond)
}

This helps @mingrammer !!  Not sure how I missed it when reading the docs


use ubuntu-latest in Capistrano deploy

https://github.com/actions/runner-images/issues/6002

brownout blocking nikean-org deployment till tomorrow


[$250] [Performance] [MEDIUM] Add "Export Onyx state" option to Troubleshoot menu and four finger tap

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

What performance issue do we need to solve?
e.g. memory consumption, storage read/write times, React native bridge concerns, inefficient React component rendering, etc.
When your mobile client's Onyx state falls out of sync with web, it is hard to diagnose which value has been missed or has been incorrectly inserted, especially when a refresh, sign in, or reload of the app on the client can solve the issue.
What is the impact of this on end-users?
List specific user experiences that will be improved by solving this problem e.g. app boot time, time to for some interaction to complete, etc.
This is more of a debugging tool, since Onyx impacts on pretty much everything you see in app, it can impact on a multitude of end user functionality.
The most important end user impact of a debugging tool which exports the Onyx state is around privacy. We need to sanitize the authToken, emails and messages of the data since those are private and shouldn't be shared with anyone.
List any benchmarks that show the severity of the issue
Please also provide exact steps taken to collect metrics above if any so we can independently verify the results.
This is more of a debugging tool, so this isn't something that will show benchmarks.
Proposed solution (if any)
Please list out the steps you think we should take to solve this issue.
Add a "Export Onyx State" option to the Troubleshoot menu.
This downloads the values in the Onyx keyvaluepairs table to a txt file.
The authTokens, emails and messages in the file are redacted
List any benchmarks after implementing the changes to show impacts of the proposed solution (if any)
Note: These should be the same as the benchmarks collected before any changes.
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Version Number:
Reproducible in staging?:
Reproducible in production?:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on Upwork
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~014fd561267f73f88e
Upwork Job ID:<PHONE_NUMBER>106098615
Last Price Increase: 2024-06-18

Issue OwnerCurrent Issue Owner: @ZhenjaHorbach

Hi, I am Bartek from Callstack - expert contributor group. I would like to work on this issue.

Daily update: I’ve been working on the proposal for this issue today, mostly on finding the way to collect the whole onyx snapshot as a string (to be able to save it as a txt file later), I hope I’ll be able to post something by the end of tomorrow - I’ll keep you posted. I’ve also created a draft PR in GH.

Daily update: I think I’ve found the way to collect all the Onyx data for web environment and already tested it; for native I think I’ve also find the way but it still needs testing. I believe the proposal is behind the corner and I’ll be able to post it tomorrow.

Daily update: the solution for collecting the Onyx data and saving as a text file is done and can be checked in the draft PR. I've forgotten that we also need to mask data such as authToken, emails etc, so this is the last thing I need to sort out.

not overdue

Proposal
Please re-state the problem that we are trying to solve in this issue.
When your mobile client's Onyx state falls out of sync with web, it is hard to diagnose which value has been missed or has been incorrectly inserted, especially when a refresh, sign in, or reload of the app on the client can solve the issue.
What is the root cause of that problem?
There is no specific problem - this is more like a new feature. We want to add a "Export Onyx State" option in the Troubleshoot menu in the App. Pressing it should download the values in the Onyx keyvaluepairs table as a *.txt file.
What changes do you think we should make in order to solve the problem?
Add new button to the Troubleshoot menu
First we need to add the new button in the Troubleshoot section. To do so, we need to add new translation (initialSettingsPage.troubleshoot.exportOnyxState) in en.ts and es.ts files
exportOnyxState: 'Export Onyx state',

exportOnyxState: 'Exportar estado Onyx',

Next, we need to add the button in the /src/pages/settings/Troubleshoot/TroubleshootPage.tsx, here:
https://github.com/Expensify/App/blob/b278b8f2ec103eed98215b7068c14cc8d029deea/src/pages/settings/Troubleshoot/TroubleshootPage.tsx#L63-L69
The code after addition:
const baseMenuItems: BaseMenuItem[] = [
    {
        translationKey: 'initialSettingsPage.troubleshoot.clearCacheAndRestart',
        icon: Expensicons.RotateLeft,
        action: () => setIsConfirmationModalVisible(true),
    },
    {
        translationKey: 'initialSettingsPage.troubleshoot.exportOnyxState',
        icon: Expensicons.Download,
        action: exportOnyxState,
        },
];

The exportOnyxState action method implementation will be described in the last step.
Reading data from Onyx
Next, we need to add the code that will be responsible for reading data from Onyx's keyvaluepairs table. We need to maintain two different implementations for web and mobile, because on web we use the IndexedDB database, and on mobile we use the SQLite database.
To do it, we need to create the ExportOnyxState folder inside /src/libs, and create two files there: index.ts that will be responsible for web implementation and index.native.ts for mobile implementation.
IndexedDB on web
Here's the implementation of reading data from Onyx stored in the IndexedDB on web (using IDBDatabase available in the browser) in the index.ts file:
const readFromIndexedDB = () =>
new Promise<Record<string, unknown>>((resolve) => {
    let db: IDBDatabase;
    const openRequest = indexedDB.open('OnyxDB', 1);
    openRequest.onsuccess = () => {
        db = openRequest.result;
        const transaction = db.transaction('keyvaluepairs');
        const objectStore = transaction.objectStore('keyvaluepairs');
        const cursor = objectStore.openCursor();

        const queryResult: Record<string, unknown> = {};

        cursor.onerror = () => {
            console.error('Error reading cursor');
        };

        cursor.onsuccess = (event) => {
            const {result} = event.target as IDBRequest<IDBCursorWithValue>;
            if (result) {
                queryResult[result.primaryKey as string] = result.value;
                result.continue();
            } else {
                resolve(queryResult);
            }
        };
    };
});

SQLite on mobile
Here's the implementation of reading data from Onyx stored in the SQLite on native devices (using react-native-quick-sqlite we already use in the App) in the index.native.ts file:
const readFromIndexedDB = () => new Promise((resolve) => {
    const db = open({name: 'OnyxDB'});
    const query = 'SELECT * FROM keyvaluepairs';

    db.executeAsync(query, []).then(({rows}) => {
        // eslint-disable-next-line no-underscore-dangle
        const result = rows?._array.map((row) => ({[row.record_key]: JSON.parse(row.valueJSON as string)}));

        resolve(result);
        db.close();
    });
});

Masking fragile data
Now that we have date retrieved from the Onyx database we need to mask some fragile data such as authToken or emails. Do to it, we can simply iterate over the keys of retrieved object, check if its the fragile data and replace it with the *** string. Let's add another method to the ExportOnyxState lib (index.ts):
const maskFragileData = (data: Record<string, unknown>): Record<string, unknown> => {
    const maskedData: Record<string, unknown> = {};

    for (const key in data) {
        if (Object.prototype.hasOwnProperty.call(data, key)) {
            const value = data[key];
            if (typeof value === 'string' && (Str.isValidEmail(value) || key === 'authToken' || key === 'encryptedAuthToken')) {
                maskedData[key] = '***';
            } else if (typeof value === 'object') {
                maskedData[key] = maskFragileData(value as Record<string, unknown>);
            } else {
                maskedData[key] = value;
            }
        }
    }

    return maskedData;
};

As we will use the same code for both web and native in this case, can simply import the above method in the index.native.ts and export it with no modifications.
Sharing result as *.txt file
The last thing is to share the retrieved data as a text file. We also need to do it in a different way for web and for mobile.
Web
For web implementation we can simply use the download attribute of the a element that can be temporarily added to the DOM:
// eslint-disable-next-line @lwc/lwc/no-async-await,@typescript-eslint/require-await
const shareAsFile = async (value: string) => {
    const element = document.createElement('a');
    element.setAttribute('href', `data:text/plain;charset=utf-8,${encodeURIComponent(value)}`);
    element.setAttribute('download', 'onyx-state.txt');

    element.style.display = 'none';
    document.body.appendChild(element);

    element.click();

    document.body.removeChild(element);
};

Mobile
For mobile implementation we can use react-native-fs and react-native-share libraries that we already use in the App:
// eslint-disable-next-line @lwc/lwc/no-async-await
const shareAsFile = async (value: string) => {
    try {
        // Define new filename and path for the app info file
        const infoFileName = `onyx-state.txt`;
        const infoFilePath = `${RNFS.DocumentDirectoryPath}/${infoFileName}`;
        const actualInfoFile = `file://${infoFilePath}`;

        await RNFS.writeFile(infoFilePath, value, 'utf8');

        const shareOptions = {
            urls: [actualInfoFile],
        };

        Share.open(shareOptions);
    } catch (error) {
        console.error('Error renaming and sharing file:', error);
    }
}

Wrapping things up in the exportOnyxState method
At last, we need to utilize all the methods created above in the exportOnyxState method in the TroubleshootPage.tsx:
const exportOnyxState = () => {
    ExportOnyxState.readFromOnyxDatabase().then((value: Record<string, unknown>) => {
        const maskedData = ExportOnyxState.maskFragileData(value);

        ExportOnyxState.shareAsFile(JSON.stringify(maskedData));
    });
};

What alternative solutions did you explore? (Optional)
n/a
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

@muttmuure, thank you for creating this issue 😄
I have two questions:

Who will be reviewing this txt file? Will it be internal Expensify engineers or contributors?
Who will generate and share this file? Will they be internal employees, contributors, or regular users who receive instructions from Concierge on how to do so?

Who will be reviewing this txt file? Will it be internal Expensify engineers or contributors?

Expensify engineers and contributors will review the txt file in #newdot-quality to debug UX and platform inconsistency issues caused by the onyx state.

Who will generate and share this file? Will they be internal employees, contributors, or regular users who receive instructions from Concierge on how to do so?

Anyone can do it. We discussed adding a warning that the data could contain sensitive information - do you think that would be useful here?

Thank you for the detailed answer 😄 Could I ask one last question?
How are we expecting the user to send the text file? Are they going to download the text file on their device and then send it over a chat on New Expensify to Concierge?

@ZhenjaHorbach, you can review the PR. To move this issue ahead, I'm assigning @burczu. We can discuss the details in the PR if necessary 🚀

@burczu, please raise a PR when you have time 🙇

@ZhenjaHorbach Please hold on now - there are some things I need to amend in the PR to reflect some changes in requirements:

masking fragile data should be optional, so I need to implement toggle button to allow enabling/disabling it while generating the text file
only messages inside the report action should be masked instead filtering out all the report actions as its done now

I'll let you know when the changes are ready and you could start your review then.

@ZhenjaHorbach I think the PR is ready to review now.

@hayata-suenaga @ZhenjaHorbach @burczu can you handle this issue as follow up for this issue/PR?

Handling

Invited @ZhenjaHorbach

hey I have this GH https://github.com/Expensify/App/issues/44841 that's also ready for payment.
The PRs are different but is this the same job? I've already paid out @etCoderDysto in this GH for this PR.
Should we pay @ZhenjaHorbach once for both jobs or are these separate jobs?
@burczu @hayata-suenaga

@burczu ?

It should be one payment since this was the original issue and the linked issue is a follow-up/polish issue caught in testing

Paid


Implement SpawnMeta API for 1.9 Spawn Eggs

Implementation of new ItemMeta for SpawnEggs (SpawnMeta).
See Glowkit PR here.
Related issue: #228

Thank you for your contribution!


Swift 4

update the example project to Swift 4

thanks a lot my dear @DevZaid
will be updated as soon as possible
and thanks too for your code update to Swift 4
👍


chore(master): release 1.1.105

:robot: I have created a release beep boop
1.1.105 (2023-07-03)
Miscellaneous

deps: update dependency vite-node to v0.32.4 (7b6221a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/keywind/releases/tag/v1.1.105 :sunflower:


After voting - receiving notification "invalid asset amount"

After voting via Bitshare Windows Client 0.9.1 - receiving "invalid asset amount" notification.

Voting via another account works clean.

Duplicate: #681


refactor(get-commits): add redundant chain of ifs

to try Gravity

This is what Gravity is reporting because of these changes:


[17.07] backport Fix requests for docker host ending with slash

backport fix:

moby/moby/pull/34487 Fix requests for docker host ending with slash

with cherry pick of git commit https://github.com/moby/moby/pull/34487/commits/823e88d931 (no conflicts):
$ git cherry-pick -s -x -Xsubtree=components/engine 823e88d

and update of components/cli/vendor/github.com/docker/docker from components/engine using make vendor

Hmm...lots of changes in the vendor. I'll split that out to a new PR.

I've backed out https://github.com/docker/docker-ce/pull/194/commits/cdf9130c398126e71187e248458f82328093d209 with a git reset.

@tonistiigi vendored code is now exact same diff as backported change to components/engine

LGTM

LGTM


"Most referenced nicks" is useless as it fills up with nicknames that are common words.

The top 5 in techsupport's statistics, for example:
Nick    Number of Uses  Last Used by

1   The 277301  Mikee
2   a   165556  Mikee
3   my  81446   RoboCop
4   if  49220   NEAL
5   Just    47623   Mikee

This issue arises because people /nick to nicknames which are commonly used words and thereafter, even if they change their nick, any mention of that previous nick will increment the number of mentions.
I'm not sure how to fix this. pisg is used for log processing. If I ignore these nicks as in the pisg documentation, I believe that it will also ignore anyone who has ever /nicked to The, a, my, if, and Just. This is unacceptable for obvious reasons.
Do you (or anyone) have any ideas? I'm thinking of just removing the Most Referenced Nicks section entirely because this issue is so widespread.

I don't believe there is a good solution apart from using an Englisch dictionary to compare nicks against and having a filtering mechanism. Honestly there is hardly a fix for this.


Walk directories recursively for files

(Hello! Thanks a ton for investing in writing this kind of thing, it's sorely needed. Hope you don't mind me filing a few minor issues as I try to use it, feel free to close any that aren't planned or helpful obviously, just documenting what I find!)
When running lemmy-help myplugin/lua/, expecting it to recurse and generate docs for everything it finds, instead one gets a panic:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 21, kind: IsADirectory, message: "Is a directory" }', src/cli.rs:26:48
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
zsh: abort      ~/Desktop/lemmy-help lua/

Nope, It is not supported. And I don't think this will be of any use because while generating docs, the order of docs matters and someone might want to also customize the order. So with reading a directory that order is not certain and you'll loose the the ability to customize the order.

Fair enough. One could just use say, alphabetical? But if not maybe it's at least worth changing the panic to an error?

Sure, I am soon going to work on error handling for the whole CLI and the crate.


v15 IBC-Fee Upgrade Handler

We have to enable IBC-Fee for channels to be incentivized. We should enable all current channels to use this which are ICS20 transfer channels.
junod tx ibc-fee pay-packet-fee transfer channel-0 1 --recv-fee 500ujuno --ack-fee=500ujuno --timeout-fee=500ujuno --from reece --chain-id=juno-1 fails without this.
		for _, channel := range keepers.IBCKeeper.ChannelKeeper.GetAllChannels(ctx) {
			if channel.PortId == "transfer" {
				keepers.IBCFeeKeeper.SetFeeEnabled(ctx, channel.PortId, channel.ChannelId)
			}
		}

TODO

Add to v15 upgrade handler
Add to ictest v15 upgrade
Add native ictest which enables channel-0 via genesis to be enabled. Then test a relayer and ensure it properly works

Future

Create a UI / add this into it when a user submits an IBC packet to transfer from Juno

{"body":{"messages":[{"@type":"/ibc.applications.fee.v1.MsgPayPacketFeeAsync","packet_id":{"port_id":"transfer","channel_id":"channel-0","sequence":"1"},"packet_fee":{"fee":{"recv_fee":[{"denom":"ujuno","amount":"500"}],"ack_fee":[{"denom":"ujuno","amount":"500"}],"timeout_fee":[{"denom":"ujuno","amount":"500"}]},"refund_address":"juno10r39fueph9fq7a6lgswu4zdsg8t3gxlq670lt0","relayers":[]}}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[{"denom":"ujuno","amount":"5000"}],"gas_limit":"200000","payer":"","granter":""},"tip":null},"signatures":[]}

nvm this does nomt work as I expected


Eliminate build steps for packages

Thanks for making this great example! I've been looking for it for a long time!
Description of the feature
For packages, I think we can just change "main": "./build/commonjs/index.js", in package.json to "main": "./src/index.ts",.
In this way, we don't need to run pnpm run build anymore for internal packages.
Motivation
To make starting simpler.

Oh, I see this! Thanks for the kind explanation here: #74

No problem :) Hope it helps!
TL;DR; You can do:

Only ship TS and compile the package code in Nextjs (React Native handles this automatically already)
Add a dev script to your package.json with something like tsc --watch (a watching compiler)

That should get you back on track

I think I'll add the dev script for people, just to show one of these options

^ The dev change I was talking about has been merged! See PR #78


Stream data

Feature: Introducing Zarr Data Streams and Enhanced Catalogue Creation
This PR introduces the functionality of our data search capabilities. With this update, users now can:

Retrieve Zarr Endpoints: Instead of receiving paths to files on disk, users can now obtain Zarr data streams directly.
Create Intake Catalogues: Generate Intake catalogues that reference Zarr endpoints, providing streamlined access to structured data.

Authentication with Keycloak
To ensure secure access to Zarr endpoints, authentication is now implemented using Keycloak. This integration simplifies OAuth2 authentication, making it straightforward for users to authenticate and access data securely.
Additional Improvements
In addition to these new features, this update includes some refactoring and addresses performance issues related to Solr queries. Specifically, I've tried to optimize Solr queries to avoid deep pagination, which previously impacted performance when generating large Intake catalogues. Let's see if how this goes.

I'm done with reviewing, there are two other general comments that I think it would be better to be considered:
1. as a minor comment currently logs look like:

❯ python run_server.py -c api_config.toml --debug --dev -p 7777 -f
Trying http://localhost:8080/realms/freva/.well-known/openid-configuration...200
INFO:     Will watch for changes in these directories: ['/Users/mo/dev/20240708/freva-nextgen']
INFO:     Loading environment from '/var/folders/99/_rg5v0pn0sq81l0rr5g0z20h0000gn/T/envjneumnzv.conf'
INFO:     Uvicorn running on http://<IP_ADDRESS>:7777 (Press CTRL+C to quit)
INFO:     Started reloader process [2401] using WatchFiles
INFO:     Started server process [2406]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - DEBUG: Loading cluster config from /var/folders/99/_rg5v0pn0sq81l0rr5g0z20h0000gn/T/freva-nextgen/data-portal-cluster-config.json
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - DEBUG: Starting data-loader process
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - DEBUG: recycling dask cluster.
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - INFO: Starting data-loading deamon
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - INFO: Broker will listen for messages now

Which uvicorn and freva-data-loder and freva-client logs are not in same format, which i think if it would be constructed in same format, to make the way of bug fixing in the future easier.
2. When we run server via `python run_server.py -c api_config.toml --debug --dev -p 7777 -f` and afterward in another terminal, we run the `python run_server.py` without any port dedication, first it stops the first server running perfectly but then we get the following in the later terminal:

❯ python run_server.py
Trying http://localhost:8080/realms/freva/.well-known/openid-configuration...200

freva-nextgen on  stream-data via 🐳 desktop-linux via 🐍 v3.12.2 (venv) took 4s
❯ INFO:     Loading environment from '/var/folders/99/_rg5v0pn0sq81l0rr5g0z20h0000gn/T/env2quej7hj.conf'
ERROR:    [Errno 48] Address already in use
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - DEBUG: Loading cluster config from /var/folders/99/_rg5v0pn0sq81l0rr5g0z20h0000gn/T/freva-nextgen/data-portal-cluster-config.json
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - DEBUG: Starting data-loader process
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - DEBUG: recycling dask cluster.
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - INFO: Starting data-loading deamon
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - INFO: Broker will listen for messages now

As it shows, if we get port already used and exit like FastiAPI-behavior, in data-loader and data-loader doesn't allow to go to Starting data-loader process level, i think it makes the structure more clear.
Also i didn't check typos, but as a suggestion i usually use type-precommit to avoid getting typo in my written docs. with high probability it reduces the large amount of typos Thanks for great job

I am not sure about the loggers. In practice, these loggers are independent, Because they run as different services on different machines. You will not even see them together, except for here in dev mode on your laptop.
As a personal preference, I think it is more clear to see these logging messages separated because then I can immediately see which message belongs to which service. So if you don't insist, I'd say we keep the logs as they are.
About the typ checker: what are you using for type checking?

Ok thanks for the first round of reviews. Here is a TOD list:

For the next PR we implement organisations (somehow, not sure how)
We put some of the run server.py functionality (wait for keycloak, gen certs) to the freva-service repo
We simplyfy the githuw workflow by resusing already defined jobs.

I'm done with reviewing, there are two other general comments that I think it would be better to be considered:
1. as a minor comment currently logs look like:

❯ python run_server.py -c api_config.toml --debug --dev -p 7777 -f
Trying http://localhost:8080/realms/freva/.well-known/openid-configuration...200
INFO:     Will watch for changes in these directories: ['/Users/mo/dev/20240708/freva-nextgen']
INFO:     Loading environment from '/var/folders/99/_rg5v0pn0sq81l0rr5g0z20h0000gn/T/envjneumnzv.conf'
INFO:     Uvicorn running on http://<IP_ADDRESS>:7777 (Press CTRL+C to quit)
INFO:     Started reloader process [2401] using WatchFiles
INFO:     Started server process [2406]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - DEBUG: Loading cluster config from /var/folders/99/_rg5v0pn0sq81l0rr5g0z20h0000gn/T/freva-nextgen/data-portal-cluster-config.json
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - DEBUG: Starting data-loader process
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - DEBUG: recycling dask cluster.
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - INFO: Starting data-loading deamon
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:10:44 - INFO: Broker will listen for messages now

Which uvicorn and freva-data-loder and freva-client logs are not in same format, which i think if it would be constructed in same format, to make the way of bug fixing in the future easier.
2. When we run server via `python run_server.py -c api_config.toml --debug --dev -p 7777 -f` and afterward in another terminal, we run the `python run_server.py` without any port dedication, first it stops the first server running perfectly but then we get the following in the later terminal:

❯ python run_server.py
Trying http://localhost:8080/realms/freva/.well-known/openid-configuration...200

freva-nextgen on  stream-data via 🐳 desktop-linux via 🐍 v3.12.2 (venv) took 4s
❯ INFO:     Loading environment from '/var/folders/99/_rg5v0pn0sq81l0rr5g0z20h0000gn/T/env2quej7hj.conf'
ERROR:    [Errno 48] Address already in use
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - DEBUG: Loading cluster config from /var/folders/99/_rg5v0pn0sq81l0rr5g0z20h0000gn/T/freva-nextgen/data-portal-cluster-config.json
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - DEBUG: Starting data-loader process
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - DEBUG: recycling dask cluster.
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - INFO: Starting data-loading deamon
data-loader @ Mos-MacBook-Pro.d.dkrz.de - 2024-07-09T08:13:49 - INFO: Broker will listen for messages now

As it shows, if we get port already used and exit like FastiAPI-behavior, in data-loader and data-loader doesn't allow to go to Starting data-loader process level, i think it makes the structure more clear.
Also i didn't check typos, but as a suggestion i usually use type-precommit to avoid getting typo in my written docs. with high probability it reduces the large amount of typos Thanks for great job

I am not sure about the loggers. In practice, these loggers are independent, Because they run as different services on different machines. You will not even see them together, except for here in dev mode on your laptop.
As a personal preference, I think it is more clear to see these logging messages separated because then I can immediately see which message belongs to which service. So if you don't insist, I'd say we keep the logs as they are.
About the typ checker: what are you using for type checking?

For typo you can use as we do in freva typo pre-commit:
https://github.com/FREVA-CLINT/freva/blob/main/.pre-commit-config.yaml

@MoSHad91, I've unified the loggers as much as possible. I hope the result is to your liking.


just changing a link to be correct

just changing the link on the deployment guide page to be correct, right now it gives a 404

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

@andrew-r-thomas could you please sing the contributor license?
I'd love to merge your correction!

@sylwiavargas done!


Can we get the response headers within a completion?

Confirm this is a feature request for the Python library and not the underlying OpenAI API.

[X] This is a feature request for the Python library

Describe the feature or improvement you're requesting
There is a lot of useful information within the response headers. Can we add this to the ChatCompletion object that client.chat.completions.create makes?

Additional context
No response

This information can be accessed with the raw response, like so:
response = client.chat.completions.with_raw_response.create(params)
chat_completion = response.parse()
processing_ms = response.headers.get('openai-processing-ms')

we plan to add these properties directly to the response, so that in the future you'll be able to do, e.g., response.processing_ms or response.ratelimit_rest_tokens directly.
We do not plan to add any headers to the chat completion object directly.

This works! Thanks @rattrayalex


your dataset is unavailable

Hi, thank you for your share. When i want to get the dataset using the ''download_dataset.sh', I found a '403 forbidden' problem.

You must provide an argument to the script specifying which dataset. The two current options are 'alps_seasons' and 'painters_14'


Family name check should reject underscores

Observed behaviour
Marc passed a family to the GF eng team that had underscores in the family names. This caused problems downstream.
Expected behaviour
Underscores in filenames and therefore family names should be rejected.

We should just have a common function for the correct filename of a font. This may already exist somewhere.

I have just used an underscore in place of the usual dash and com.google.fonts/check/canonical_filename already detects that it is a bad filename.

What exactly was Marc's bad filename with an underscore?

I think that an underscore in the actual familyname would not be detected though. I will add this restriction to the check code.

@rsheeter, we have a function that computes the expected filename for variable fonts called variable_font_filename and declared on Lib/fontbakery/profiles/googlefonts_conditions.py.
For static files we only check if the filename contains one of the canonical style strings.


Update meta.yaml

require numpy <=1.19 due to np.float

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender


verba start >> ERROR - schema: dict, vectorizer: str, skip_properties: list[str] = None

Hello everyone,
I'm facing an issue when attempting to start "verba" using the "verba start" command after following the installation steps outlined in the README.
The command results in an error, and the specific message I receive is:
Traceback (most recent call last):
File "venv/bin/verba", line 5, in
from goldenverba.server.cli import cli
File "Verba/goldenverba/server/cli.py", line 6, in
from goldenverba.verba_manager import VerbaManager
File "Verba/goldenverba/verba_manager.py", line 11, in
import goldenverba.components.schema.schema_generation as schema_manager
File "Verba/goldenverba/components/schema/schema_generation.py", line 18, in
schema: dict, vectorizer: str, skip_properties: list[str] = None
TypeError: 'type' object is not subscriptable
I would appreciate any help or suggestions to resolve this issue.
Thank you!

Hello, I had the same error at first and I believe it's related to the version of Python that you're using.
Being able to subscript a type has appeared in Python 3.9 and onwards.
Hope this helps!

I am receiving a similar error and using python 3.12.2

I had to use python 3.11

Thanks for the issue! We're aware of the bug and will fix it 🚀

Should be fixed with the latest 0.4.0 version!


feature: pre-commit support

Did you check the docs?

[X] I have read all the docs

Is your feature request related to a problem? Please describe.
https://pre-commit.com/
AFAIK pre-commit is commonly used in workflows these days, and I include it in mine. Currently fugit2 doesn't ave great support for it. I don't know if libgit2 has proper support for the hooks that pre-commit creates.
Describe the solution you'd like
I'd like the pre-commit hooks to be run on commit (like git commit does) and some kind of indication to the user if the hook fails fails.
Describe alternatives you've considered
This is not a show stopper preventing me from using fugit2. I can just invoke pre-commit manually as part of my workflow (and my CI/CD also runs it).
Additional context
No response

Hi @Kraust, pre-commit is not implemented in libgit2 https://github.com/libgit2/libgit2/issues/964. It is the responsibility of IDE/plugin to implement it. In this case, Fugit2 have to handle and call pre-commit command explicitly.
Let's me investigate how to implement it. It may take a while because I'm not so familiar with pre-commit yet.
As always, Thank you for great suggestion! :D

Hi @Kraust, pre-commit hook is preliminarily support via this MR https://github.com/SuperBo/fugit2.nvim/pull/109.
Can you help me test it?
Extra features that can added later:

Allow no-verify option.
Support pre-push hook.

Will do. May take a couple of days depending on what repos I'm working on.

Having an issue with, but I don't think it's related to the changes you've made. Looks like pre-commit creates a shell script, but because I'm on currently on Windows that shell script doesn't make any sense.

@Kraust, Can you show me the error message on Windows. Maybe it can be useful.

Note: E:\work\aria is the git repo and the related path is correct. I don't think this is an issue with fugit2 at the moment.

@Kraust, seem like path construction error, I can see the malformed path E:/work/aria\.git\hooks\pre-commit in the error. That path contains mix separator of / and \


Cannot load multiple files

When I try and load a second file into the scheduler it removes all of the entries from the first file.  There are no overlaps in the keys being loaded in.  I feel like this should work, so am I missing something?
-B

Each schedule file is its own schedule; loading one sets it as the canonical schedule, removing all old schedule entries, just as you're experiencing.
This is either by design, or has been the way things work for so long that to make it work any other way would break expectations.
If you feel the docs aren't clear enough, we'd gladly accept a pull-request that helps add clarity :)


Errors with update process

I'm running MacOS catalina version, but am receiving the following errors when using the command mac update
mac update
...
...
Updating npm and its installed packages...
npm install npm -g; npm update -g;

/usr/local/bin/mac-cli/plugins/general: line 34: npm: command not found
/usr/local/bin/mac-cli/plugins/general: line 34: npm: command not found
Updating Yarn's installed packages...
yarn global upgrade;

/usr/local/bin/mac-cli/plugins/general: line 40: yarn: command not found
Updating installed Ruby gems...
sudo gem update --system; sudo gem update

Latest version already installed. Done.
Updating installed gems
Updating bundler
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.
Updating installed pip packages...
...
...

@vsabha1 you can solve this once but doing:
sudo gem update -n /usr/local/bin/


ngf-reset-[model-]on-click="false" has no effect

danialfarid mentioned that there's are two options to prevent reset on click ngf-reset-on-click and ngf-reset-model-on-click, I've set both of these to false but it has no effect. I want deletion of uploaded files to be done with a delete button, not by clicking and cancelling.

facing the same issue here, any luck with this?


Keyboard when commenting should dismiss interactively

Version 1.3.0 (1054)
Device: iPhone 7 Plus (iOS 10.3.2)
This was the case, but with the new commenting it seems like the keyboard can't be dismissed.

Good call, I tried using the default UIScrollView method but that doesn't seem to work w/ the Slack TV. There is panning support in the lib, but will have to play around to figure out how it works.

This is working now


add license headers to markdown files

ASF generally prefer that all files have Apache license headers - not just the source files.
There are js and html files in the docs dir too - these probably would be better with license headers too.
sbt-paradox may work differently from Github.
Github supports:
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  license agreements; and to You under the Apache License, version 2.0:

    https://www.apache.org/licenses/LICENSE-2.0

  This file is part of the Apache Pekko project, derived from Akka.
-->

It maybe better to start with <!--- - some tools document it this way.

I've done a little experimentation. It seems like Paradox prefers <!--- (ending with -->).
It seems like we may not be able to the license header at the start of every files, Paradox expects certain features to appear right at the start of the .md file so we would need in some cases to put the license header after that intro.
See this example in the Druid build - https://github.com/apache/druid/edit/master/docs/operations/use_sbt_to_build_fat_jar.md
This section only works properly if it appears at the start of the file.
---
id: use_sbt_to_build_fat_jar
title: "Content for build.sbt"
---

I have hit trouble with adding the license header to some of the Pekko .md files which causes sbt-paradox to fail. I haven't had time to debug all the issues yet.

I would presume that similar to conf files we can use the SPDIF license format?

@mdedetrich this may not be needed based on https://issues.apache.org/jira/browse/LEGAL-634 comments

Okay let's close the issue once it's clarified then.


feat: field group schema example

[x] tests and linter show no problems (npm t)
[x] code is properly formatted (npm run fmt)

Landed in https://github.com/metarhia/metasql/commit/0e631bd8c0704fc9aba7662e9bb0c1b69d279096


[FEATURE] Split up rebootContainerd to start/restart/stop containerd/soci separately

Is your feature request related to a problem? Please describe.
Many places in the codebase we call rebootContainerd when we only need part of its functionality. This slows down test runs and requires workarounds or different design decisions when just part of the function is required.
Describe the solution you'd like
Refactor into separate functions to start, stop, and wipe out the state of each of the two services, then restart (stop + wipe + start) for each service, then one "reboot everything" that does what the current function does but by calling the smaller functions in the appropriate order.
Describe alternatives you've considered
I tried splitting it into just two pieces but the "reboot" functionality needs to be in an interleaved order so that didn't work.

I intend to discuss expanding the scope of this issue to include fully isolated containerd and snapshotter configs/folders/processes.


Recommended settings for ScheduleFree.

https://github.com/kohya-ss/sd-scripts/pull/1600
The ScheduleFree optimiser is used, but the initial Loss value is over 3000 and convergence is too slow.
Even after an hour, I cannot even reach the decimal point (0.3) when using AdamW.
Can you please tell me if there are any recommended settings for use?
command
 accelerate launch --num_cpu_threads_per_process 20 flux_train_network.py --pretrained_model_name_or_path "D:\ComfyUI_windows_portable\ComfyUI\models\unet\flux1devpro2.safetensors" --train_data_dir "D:\Lora_learning\Data\asset\super_robot_diffusion_F" --output_dir "D:\Lora_learning\Data\output" --network_module "networks.lora_flux" --gradient_checkpointing --persistent_data_loader_workers --cache_latents --cache_latents_to_disk --max_data_loader_n_workers 12 --enable_bucket --save_model_as "safetensors" --lr_scheduler_num_cycles 4 --mixed_precision "bf16" --resolution 1024 --train_batch_size 1 --max_train_epochs 10 --network_dim 32 --network_alpha 256.0 --save_every_n_epochs 1 --save_every_n_steps 250 --optimizer_type "adamwschedulefree" --output_name "SRD_F_v05_t11" --ae "D:\ComfyUI_windows_portable\ComfyUI\models\vae\ae.safetensors" --bucket_no_upscale --save_precision "fp16" --min_bucket_reso 320 --max_bucket_reso 2048 --caption_extension ".txt" --seed 42  --fp8_base --highvram --loss_type "l2" --huber_schedule "snr" --gradient_accumulation_steps 2 --timestep_sampling flux_shift --model_prediction_type "raw" --guidance_scale 1 --clip_l "D:\stable-diffusion-webui\models\CLIP\clip_l.safetensors" --t5xxl "D:\stable-diffusion-webui\models\CLIP\t5xxl_fp16.safetensors" --sdpa  --cache_text_encoder_outputs --cache_text_encoder_outputs_to_disk --network_weights "D:\Lora_learning\Data\output\SRD_F_v05_t10-000008.safetensors"

I am doing something wrong
flux_train_network.py: error: unrecognized arguments: --schedulefree_wrapper_args=weight_decay_at_y=0.2

You need to provide the base learning_rate, same as before.
Also your network_alpha seems crazy high, you should use the same value as network_dim or lower.
Plus huber_schedule is ignored when loss_type is not "huber` (Huber loss is currently not supported in Flux).

@recris
Thanks for pointing this out. We would like to know if there is an ‘adamwschedulefree’ setting that you think is best.

I typically start with network_dim = 16, network_alpha = 8 and learning_rate = 2e-4 then tweak the LR from there.


ability to spell from stdin

I would like to spellcheck last commit message which means that cspell should be able to spellcheck from stdin with something like echo "some spell missstake!" | cspell
If cspell would recognise stdin presence, it would easily be used to spell commit messages or other things that are not stored on file on disk.

This sounds like a great enhancement.


list servers from console is empty

OrientDB Version: 3.0.8
Java Version: 1.8
OS: macos
When running in distributed mode, and run list servers the result is empty.
OrientDB console v.3.0.8 - Veloce (build ace6fe7e50f069968d2ec61678848606703db1c0, branch 3.0.x) https://www.orientdb.com
Type 'help' to display all the supported commands.
orientdb> connect remote://localhost/test root test

Connecting to database [remote://localhost/test] with user 'root'...OK
orientdb {db=test}> list servers

I have same issue, and if you just connect to the host it prints a different message.
orientdb {server=remote:localhost}> list servers

Distributed configuration is not active, cannot retrieve server list

I have the same behavior. If I just connect to the instance, it gives the error "Distributed configuration is not active, cannot retrieve server list".


Clarify status check message

https://github.com/devtools-html/debugger.html/pull/1722
^- we verify commits, not PRs.

I think we might just change this to only add the verify hook to a commit when the pull request is created.


Fix flakey/slow app integration tests in ARM

There has been a dramatic increase in app test failures in ARM. In the past there has been sporadic failures, but now they are consistent over multiple tests. Specifically:
=========================== short test summary info ============================
--
1199 | FAILED test_app.py::test_app_mysql
1200 | FAILED test_app.py::test_helm_timeout
1201 | FAILED test_app.py::test_prehook_chart
1202 | FAILED test_app.py::test_app_namespace_annotation
1203 | FAILED test_app.py::test_app_wordpress
1204 | FAILED test_app.py::test_app_custom_values_file

This may be related to the following:

Heavy drone usage
Steve
Token hashing
Helm upgrade

First case of it being very bad:

https://drone-pr.rancher.io/rancher/rancher/7543

Other Examples:

https://drone-pr.rancher.io/rancher/rancher/7572
https://drone-pr.rancher.io/rancher/rancher/7570
https://drone-pr.rancher.io/rancher/rancher/7552

Hacky fix:

https://github.com/rancher/rancher/pull/25767

Tip:

Use this to scroll back in drone: var x = 0; btn = $(".output-button"); while (btn != null && x < 500) {btn.click(); btn = $(".output-button"); x++} and then search for "short test".

https://drone-pr.rancher.io/rancher/rancher/7633/1/2


Bug while expanding nodes with more than 32766 children - v3

Frist of all, thanks for the amazing work put into the lib. It's very awesome.
Conditions for reproducing:

You need to have a node (lets call A) with 32767 children or more (do not know if they need to be direct children, I think not)
And you need to have one of more nodes after node A.
All my testing was done in latest chrome, using windows 10 and MacOs

I prepared a reproduction of the bug here: https://github.com/sirgallifrey/react-vtree/tree/openning-lots-of-nodes
How to reproduce:

Checkout my fork on the branch called: openning-lots-of-nodes
run storybook:dev script
Go to story called Big List Issue
Scroll all the way to the bottom and observe that everything renders properly so far.
Scroll back up and collapse the node called Root.2
Observe that everything still works as expected.
Expand the node called Root.2 and scroll all the way to the bottom
Observe that some nodes appear missing, some may be duplicated.
From now on, collapsing and expanding Root.2 will not fix the issue.
Collapsing and then expanding the node Root will fix the issue end render everything properly, but issue can comeback by expanding Root.2

There is one extra glitch that I'm seeing in this reproduction that I didn't saw when I first used the lib: If you keep collapsing and expanding Root.2 you will end up with a ghost floating element that will not go away even by collapsing and expanding the parent. But the following workaround prevents that
Workaround:
Since opening the root node fixes the issue, it is possible to use recomputeTree instead of setOpen and always open the root node with every instruction, an example of the workaround can be found on my fork, in the story named: Big List Issue workaround
I didn't had time yet to try find the bug on the code, but since the issue happens at such specific number of itens it's probably happening inside the updateExistingTree https://github.com/Lodin/react-vtree/blob/master/src/Tree.tsx#L402
Pictures / videos:
https://user-images.githubusercontent.com/2331645/106302660-881ac800-6259-11eb-8e29-8965973707e7.mov

It looks like a duplicate of #48. I'll take a look if it is not fixed after the #54 is merged.

Thanks for the filling the issue, btw. Sorry for the late response, I'm kind of busy in the latest couple of months.

No worries, I'm just happy this project exists, nice work! :)

Fixed in #54

Released in<EMAIL_ADDRESS>Note that now you need to use the beta tag to install the 3.0.0 version because I have released 3.0.0-beta.0 as latest by mistake.

Hello @Lodin I merged the new changes on my reproduction branch and the issue is still reproducible https://github.com/sirgallifrey/react-vtree/tree/openning-lots-of-nodes
I'll give a shot at trying to fix it

@Lodin Hey, what's the status on the fix? Could you release a new version with it? With beta.1 we still have the issue. Thanks for the great library and other than this small issue, it works like a charm...


Make sure scraper works

Test if our new scraper works and fix it so that it has the same functionality as before (see pipelines.py)

@zhulia960821 Open terminal in FreeEyeOut and run bash scripts/live_tests.sh and watch for errors


Clarification on the Implementation for Splatfacto Pruning Condition

hi, @jb-ye and @brentyi, thank you for PR #3376, which simplified Splatfacto using the gsplat strategy.
I have a question regarding the default strategy and the original implementation for pruning GSs using alpha contition, although some time has passed.
In the gsplat implementation, the pruning condition in gsplat/strategy/default.py is defined as follows:
self.reset_every = self.config.reset_alpha_every * self.config.refine_every
if step % self.reset_every == 0:
  reset_opa(
      params=params,
      optimizers=optimizers,
      state=state,
      value=self.prune_opa * 2.0,
  )

However, in the original implementation in splatfacto v1.1.4, the condition is:
reset_interval = self.config.reset_alpha_every * self.config.refine_every
if self.step < self.config.stop_split_at and self.step % reset_interval == self.config.refine_every:
    reset_value = self.config.cull_alpha_thresh * 2.0
    self.opacities.data = torch.clamp(
        self.opacities.data,
        max=torch.logit(torch.tensor(reset_value, device=self.device)).item(),
    )

It seems tha the resetting behavior has been moved slightly forward. Could you clarify the main considerations behind this change?
Furthermore, in official implementation of 3dgs, the condition is the same as what gsplat does:
if iteration % opt.opacity_reset_interval == 0 or (dataset.white_background and iteration == opt.densify_from_iter):
    gaussians.reset_opacity()

I am also curious to understand why the original implementation specifically uses self.config.refine_every in the condition.
I also conducted experiments using versions v1.1.4 and v1.1.5 with the same code and dataset, and I encountered something wired.
Although the final results were similar between the two versions, there were some notable differences:
1.	In v1.1.5, the pruning of GSs was less aggressive, resulting in a significantly larger number of GSs being retained.
2.	When I modified the alpha condition in v1.1.5 to match the condition used in v1.1.4, the behavior of the two versions became almost the same.
I would appreciate any insights you have into these differences and the potential reasons behind them.

I think the current behavior of resetting (v1.1.5) is what we desired. If we reset opacity earlier, we have more iterations to bring back the opacity post resetting because we have a mechanism to pause refinement after resetting ( https://github.com/nerfstudio-project/nerfstudio/blob/main/nerfstudio/models/splatfacto.py#L264 ). Therefore, v1.1.5 produces more gaussians.

Thanks for reply, the issue is now resolved. However, the current default settings can slightly impact the evaluation metrics due to the timing, though this isn’t a bug.
In the default configuration, --steps-per-eval-all-images 1000 --pipeline.model.reset-alpha-every 30 --pipeline.model.refine-every 100, the model performs an evaluation every 1000 steps and resets alpha every 3000 steps. This results in significantly lower scores at steps like 3000, 6000, etc., because evaluation occurs after the reset (see this line of code).
If evaluations were conducted in advanced, the metrics would reflect the model’s performance more accurately.


Fix style mixing, for merging map properties on an empty target node

Fixes #618

I think it would make sense to have a test case that covers this

Yup will add one.

Yeahhhhh that function shouldn't return immediately if the map is null. We do still want to check if it is not a map, otherwise we'll crash below when we try to access elements by key.

Test added! And this test fails on master branch.

@blair1618, refer to the test case I added, we would like to merge (override the non-map target) with the mappings from the sources. I also do not see where will it crash?

Yeah when map doesn't exist we want to override it with the values from sources, but if map exists and is a scalar or a list, then map[subkey] will crash.

Yup, I updated my comment :D.

So the change should just be if (!map || !map.IsMap()) { -> if (map && !map.IsMap()) {

Updated.

LGTM

Looks good to me too, thanks for fixing this @tallytalwar


popover can appear offscreen

If an element is near the left hand side of the screen, and a popover is set to appear on the left, the popover appears offscreen. It would be nice if the plugin spotted this, and moved the popover somewhere visible, if possible.

Popover accepts a function for placement, so if you want this sort of behavior you should supply this logic.
I wrote an "auto" placement type function for a similar ticket a while ago, might be worth searching for. cheers!


Combine numsyls and em_of_gmm_cluster function

All numsyls does is call em_of_gmm_cluster, with the default arguments.
This makes it harder for a user to change those parameters (e.g., couldn't be done right now by adding them to the cli). Also I find the name numsyls much more succinct than em_of_gmm_cluster.

So, should add those args to the cli when doing this


Revert some bad changes

By 'bad changes' I mean the ones in #232. This cleans the codebase up

bors merge since this PR is written in a pair-programming session

bors cancel as I just realized something

bors merge and hopefully I am ready this time


Tutorials for using Lomse in Qt

Follow the same structure than for wxWidgets tutorials:

[x] Tutorial 1. Displaying a music score.
[ ] Tutorial 2. Interacting with the score.
[ ] Tutorial 3. Playing back scores.
[ ] Tutorial 4. Visual tracking during playback.

Closing. Time ago I used issues to track my TODO list. This is no longer the case and so I prefer to remove old issues I created.


Fix Fake API responses for .../status/

Coverage decreased (-0.2%) to 96.275% when pulling a32861a1c17ff2850caef780a4a56ad194c432df on fix-fake-status-api into 89c8e430232c54bf5f51d81ff2784962e31aad07 on master.

Coverage increased (+0.07%) to 96.532% when pulling c3f920591a781cc82ffd4169f9d10afd31dfff9d on fix-fake-status-api into 89c8e430232c54bf5f51d81ff2784962e31aad07 on master.

@maretskiy this is my commit, I can't merge but it looks good to me

Coverage remained the same at 95.276% when pulling 76a1b81cf8a4fcbe3eb5241929e6831628d4573b on fix-fake-status-api into a209151524cb82b05a693ae7b6872c7f27c7ab50 on master.

Coverage remained the same at 95.238% when pulling 1d957fc5890f34dffc5e9a43fe06331f13afa725 on fix-fake-status-api into a209151524cb82b05a693ae7b6872c7f27c7ab50 on master.

Coverage remained the same at 95.238% when pulling d680b80bc51f4d4bbdf9944640b21a6d0f1a4081 on fix-fake-status-api into a209151524cb82b05a693ae7b6872c7f27c7ab50 on master.

Coverage remained the same at 95.238% when pulling b4150ef3a810857b25e925d4cd12a88bb728bc97 on fix-fake-status-api into a209151524cb82b05a693ae7b6872c7f27c7ab50 on master.

Coverage remained the same at 95.122% when pulling 7bc68dc39e5bd13a3b9e011277c637886ac0a0ae on fix-fake-status-api into a209151524cb82b05a693ae7b6872c7f27c7ab50 on master.

Coverage remained the same at 95.122% when pulling e46f52c5e0cf29c81fdf3a1366e9e033a700168b on fix-fake-status-api into 3d403d594b99222a35f6cdc10cfc08549a73cce5 on master.

Coverage decreased (-1.5%) to 95.122% when pulling 56ee63e778821b40c045514e412becf00e184600 on fix-fake-status-api into 3d403d594b99222a35f6cdc10cfc08549a73cce5 on master.


TC_CONFIG in package.json jest.globals

node: v6.8.0
jest: v16.0.1
ts-jest: 0.1.7
First of all, thank you for this package, it saves me alot!
I spotted a bug (or did I miss anything?):
If __TC_CONFIG__ doesn't appear in package.json, the line number mapping won't pass to stack trace messages.
To reproduce this, delete the __TC_CONFIG__ section in tests/simple/package.json and under dir tests/simple run jest:
 FAIL  __tests__/Hello.test.ts
  ● Hello Class › should throw an error on line 11

    Hello error!

      at new Hello (Hello.ts:5:15)
      at Object.<anonymous> (__tests__/Hello.test.ts:5:21)

  Hello Class
    ✕ should throw an error on line 11 (7ms)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        0.918s, estimated 1s
Ran all test suites.

Note that the line at new Hello (Hello.ts:5:15) was at new Hello (Hello.ts:11:15) before changing package.json
However if I add the __TS_CONFIG__:{} back into config, everything is working normal:
 FAIL  __tests__/Hello.test.ts
  ● Hello Class › should throw an error on line 11

    Hello error!

      at new Hello (Hello.ts:11:11)
      at Object.<anonymous> (Hello.test.ts:9:19)

  Hello Class
    ✕ should throw an error on line 11 (113ms)

Test Suites: 1 failed, 1 total
Tests:       1 failed, 1 total
Snapshots:   0 total
Time:        0.973s, estimated 1s
Ran all test suites.

If I understand correctly, __TC_CONFIG__ is mean to override tsconfig settings, so we should expect ts-jest works out-of-box without providing a __TC_CONFIG__?

ts-jest: 0.1.8 should solve this now.


Double tap to zoom at mouse point or finger instead of base position.

Let say I have a very long image
    PhotoView(
      initialScale: PhotoViewComputedScale.covered,
      basePosition: Alignment.topCenter,
      // minScale: PhotoViewComputedScale.covered,
      controller: PhotoViewController(),
      imageProvider: AssetImage('assets/image_sample.jpg'),
    )

Is there a way to make the image zoom in at the location that user double tap and zoom out at exactly location instead of jumping to the baseposition?

This seems to be an enhancement to scale behavior.

Any solution?

Nope, putting p1 on this


issue on pyrealsense installation

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ SR300}

Firmware Version

Operating System & Version
Windows 10

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC

SDK Version
2.0

Issue Description
I want to use PyPI to install pyrealsense library.
But I have got errors following:
{Running setup.py clean for pyrealsense Failed to build pyrealsense Installing collected packages: pyrealsense Running setup.py install for pyrealsense ... error Complete output from command c:\users\super\anaconda3\python.exe -u -c "import setuptools, tokenize;file='C:\Users\super\AppData\Local\Temp\pip-build-wf0d42mq\pyrealsense\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record C:\Users\super\AppData\Local\Temp\pip-y8kl5ln0-record\install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build\lib.win-amd64-3.6 creating build\lib.win-amd64-3.6\pyrealsense copying pyrealsense\constants.py -> build\lib.win-amd64-3.6\pyrealsense copying pyrealsense\core.py -> build\lib.win-amd64-3.6\pyrealsense copying pyrealsense\extlib.py -> build\lib.win-amd64-3.6\pyrealsense copying pyrealsense\extstruct.py -> build\lib.win-amd64-3.6\pyrealsense copying pyrealsense\offline.py -> build\lib.win-amd64-3.6\pyrealsense copying pyrealsense\stream.py -> build\lib.win-amd64-3.6\pyrealsense copying pyrealsense\utils.py -> build\lib.win-amd64-3.6\pyrealsense copying pyrealsense__init__.py -> build\lib.win-amd64-3.6\pyrealsense running build_ext building 'pyrealsense.rsutilwrapper' extension creating build\temp.win-amd64-3.6 creating build\temp.win-amd64-3.6\Release creating build\temp.win-amd64-3.6\Release\pyrealsense C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ipyrealsense -Ic:\users\super\anaconda3\lib\site-packages\numpy\core\include -I/usr/local/include/librealsense -IC:\Users\super\librealsense-1.12.1\include\librealsense -Ic:\users\super\anaconda3\include -Ic:\users\super\anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\winrt" /EHsc /Tppyrealsense/rsutilwrapper.cpp /Fobuild\temp.win-amd64-3.6\Release\pyrealsense/rsutilwrapper.obj rsutilwrapper.cpp c:\users\super\anaconda3\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ipyrealsense -Ic:\users\super\anaconda3\lib\site-packages\numpy\core\include -I/usr/local/include/librealsense -IC:\Users\super\librealsense-1.12.1\include\librealsense -Ic:\users\super\anaconda3\include -Ic:\users\super\anaconda3\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\winrt" /EHsc /Tppyrealsense/rsutilwrapperc.cpp /Fobuild\temp.win-amd64-3.6\Release\pyrealsense/rsutilwrapperc.obj rsutilwrapperc.cpp C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:/usr/local/lib /LIBPATH:C:\Users\super\librealsense-1.12.1\bin\Win32 /LIBPATH:c:\users\super\anaconda3\libs /LIBPATH:c:\users\super\anaconda3\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.16299.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.16299.0\um\x64" realsense.lib /EXPORT:PyInit_rsutilwrapper build\temp.win-amd64-3.6\Release\pyrealsense/rsutilwrapper.obj build\temp.win-amd64-3.6\Release\pyrealsense/rsutilwrapperc.obj /OUT:build\lib.win-amd64-3.6\pyrealsense\rsutilwrapper.cp36-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.6\Release\pyrealsense\rsutilwrapper.cp36-win_amd64.lib rsutilwrapper.obj : warning LNK4197: export 'PyInit_rsutilwrapper' specified multiple times; using first specification Creating library build\temp.win-amd64-3.6\Release\pyrealsense\rsutilwrapper.cp36-win_amd64.lib and object build\temp.win-amd64-3.6\Release\pyrealsense\rsutilwrapper.cp36-win_amd64.exp rsutilwrapperc.obj : error LNK2001: unresolved external symbol rs_reset_device_options_to_default rsutilwrapperc.obj : error LNK2001: unresolved external symbol rs_set_device_options build\lib.win-amd64-3.6\pyrealsense\rsutilwrapper.cp36-win_amd64.pyd : fatal error LNK1120: 2 unresolved externals error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe' failed with exit status 1120

Command "c:\users\super\anaconda3\python.exe -u -c "import setuptools, tokenize;file='C:\Users\super\AppData\Local\Temp\pip-build-wf0d42mq\pyrealsense\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record C:\Users\super\AppData\Local\Temp\pip-y8kl5ln0-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\super\AppData\Local\Temp\pip-build-wf0d42mq\pyrealsense}
Using Anaconda 3 with python 3.6 (64 bit), VS 2017 (tried with VS 2015 as well)
Please give me some ideas
Thanks

please note, that as mentioned in the python docs, the pyrealsense PyPi package is a community maintained project that only supports the legacy librealsense v1.12.1
It is recommended that you follow the instructions on the linked page to install pyrealsense2, which works with the Realsense SDK 2.0