Information bar isn't navigating to the right code block

Describe the bug
There are sections in information bar in studio which are made to navigate to particular part of the code block and view more information about that, but currently on clicking many of them, it only navigates to the end of the code block.
How to Reproduce
Steps to reproduce the issue. Attach all resources that can help us understand the issue:
https://github.com/asyncapi/studio/assets/115284013/53b0df95-522e-4855-8788-5229b7ea2cc3
Expected behavior
Expected behaviour will be the navigation on the right part of the code block. For instance on clicking schema, the following part should appear

If it is ok, than I will like to work on this bug to solve it.
Thanks!!

should this be fixed? if yes, then I can work on it. assign this to me.

Hi @Saumya40-codes please go ahead

Hi @satishkumarsajjan @Saumya40-codes already suggested himself in the description, you can probably help to review his work.
Thanks

Oh cool then. @Saumya40-codes let me know if I can be of any help.

Hey, @Amzani
I was debugging through the code for this and found that the line
extras.document.getRangeForJsonPath(jsonPath, true);

under the function
  getRangeForJsonPath(uri: string, jsonPath: string | Array<string | number>) {
    try {

      const { documents } = documentsState.getState();

      const extras = documents[String(uri)]?.extras;

      if (extras) {
        jsonPath = Array.isArray(jsonPath) ? jsonPath : jsonPath.split('/').map(untilde);

        if (jsonPath[0] === '') jsonPath.shift();

        return extras.document.getRangeForJsonPath(jsonPath, true);
      }
    } catch (err: any) {
      return;
    }
  }

in the file src\services\parser.service.ts
is giving wrong range of starting and ending line for the given file path/jsonPath
I'm finding it hard to understand how following getRangeForJsonPath here gives the range of starting and ending part of the line.

I will be still looking to find the problem here but can you explain how it works internally but? maybe here or slack anywhere it is possible.
for instance when clicked to Schemas the following range appears

@satishkumarsajjan can you help here?

I am going through it now.

@Saumya40-codes I found out what actually is happening.
This is what we see in the apps editor:(first image)

And this is what the function is getting the positions from:(second image)

so now when i click on "Messages" in nav, I get these as start and end line numbers:(third image)

which is actually correct according to second image.
similarly when I click on "Operations" I get these line numbers: (fourth image)

Which is again correct according to second image.

In short, we are using json logic to yaml file.

My proposed solution:
  async scrollTo(jsonPointer: string | Array<string | number>, hash: string) {
    try {
      const range = this.svcs.parserSvc.getRangeForJsonPath(
        'asyncapi',
        jsonPointer
      );
      if (range) {
        await this.scrollToEditorLine(range.start.line + 1);
      }

      await this.scrollToHash(hash);
      this.emitHashChangeEvent(hash);
    } catch (e) {
      console.error(e);
    }
  }

this function which is navigation.service.ts file, should take one more argument to check the file type and then perform file specific line search logic.
This is what I could come up with. If you have better approach, let's discuss.

It is navigating to the correct code block when the document type is json .

@Vishal2002 @satishkumarsajjan thanks!
I do think we need to do some additional checks based on the file types and currently YAML needs to be handled separately.

@Amzani  Can I also work on this issue?

We will need to iterate through each line of the code anyways isn't it (for .yaml files)?
Is there any better solution

@Vishal2020 sure you can coordinate with @Saumya40-codes and create a PR.

@Saumya40-codes It would be great if we could work together on this issue. I think we need to write a separate function which will find the jsonpointer in the $ref of that document.

@Saumya40-codes It would be great if we could work together on this issue. I think we need to write a separate function which will find the jsonpointer in the $ref of that document.

Ok then. But I've already tried to solve this using that way, but it doesn't work in all cases.

Hey, @Amzani, @princerajpoot20  I've resolved the bug and following is the final output:
https://github.com/asyncapi/studio/assets/115284013/3d95ba5b-6705-4ff9-b395-a005508733e0
The problem as suggest by @Vishal2002 and @satishkumarsajjan (thanks to them !) was that the existing scrollTo function for scrolling to the desirable line was only working when the file type was JSON

Now as a fix in services/navigation.service.ts file I have made following changes to scrollTo function
 async scrollTo(
    jsonPointer: string | Array<string | number>,
    hash: string,
  ) {
    try {
      const doc = this.svcs.editorSvc;
      const docType = doc.value.startsWith('asyncapi') ? 'yaml' : 'json';

      let range;
      if (docType === 'yaml') {
        range = this.svcs.parserSvc.getRangeForYamlPath('asyncapi', jsonPointer);
      } else {
        range = this.svcs.parserSvc.getRangeForJsonPath('asyncapi', jsonPointer);
      }

      if (range) {
        await this.scrollToEditorLine(range.start.line);
      }

      await this.scrollToHash(hash);
      this.emitHashChangeEvent(hash);
    } catch (e) {
      console.error(e);
    }
  }

Basically, i'm just checking the file type, if it is json im keeping it as it is but if it is yaml i've built another method to get the desirable range.
Here is that code(have left the comments)
public extractKeys(obj: { [key: string]: any }, keys: Array<string>) {   \\ to get all the keys from our YAML doc
    for (const key in obj) {
      if (obj.hasOwnProperty(key) && typeof key !== 'number' && typeof key !== 'undefined') {
        keys.push(key);
        if (typeof obj[key] === 'object') {
          this.extractKeys(obj[key], keys);
        }
      }
    }
  }

  getRangeForYamlPath(uri: string, jsonPath: string | Array<string | number>) {
    try{
      const { documents } = documentsState.getState();

      const extras = documents[String(uri)]?.extras;

      if (extras) {
        jsonPath = Array.isArray(jsonPath) ? jsonPath : jsonPath.split('/').map(untilde);
        if (jsonPath[0] === '') jsonPath.shift();

        const doc = this.svcs.editorSvc;
        const currDoc = doc.value.split(/(\s+|\n)/).filter(Boolean);  \\ filter based on new line and space for instance if value is name: "john" \n age:18      then after this function i'll get ["name:", "john","\n","age:","18:]

        const yamlDoc: object = yaml.load(doc.value) as object; \\ convert our string (taken from this.svcs.editorSvc.value to a yaml object)   Had to use **js-yaml** library for this if any alternative is possible then please suggest

        const keys: Array<string> = [];
        this.extractKeys(yamlDoc, keys); \\ getting all the keys

        \\ below function just loops through the doc and will either add "\n" or the key only

        const propertyNames = currDoc.map((line:string,index:number, res: string[]): string  | null => {

          if (line.includes("\n")) {
            let times = (line.match(/\r\n/g) || []).length;
            return "\n".repeat(times);
          }

          const match = line.match(/^\s*([^:]+)\s*:/);
          if(match && keys.includes(match[1])) {
            return String(match[1]);
          }
          else {
            return null;
          }
        }).filter(Boolean);

        if(!propertyNames) {
          return null;
        }

        let lineCnt = 0;
        let idx = 0; \\ will keep track of the path we want

       \\ just a simple iteration to get the desired result
        for (let i = 0; i < propertyNames.length; i++) {
          if (propertyNames && String(propertyNames[i]).includes(String(jsonPath[idx]))) {

            let tempIdx = i+1;
            let isRef = false;

            while(tempIdx < propertyNames.length) {    \\ this are for the case when ref is used as the keyword we want might be used here
              if(String(propertyNames[tempIdx]).includes("$ref")) {
                isRef = true;
                break;
              }
              else if(!String(propertyNames[tempIdx]).includes("\n")) {
                break;
              }
              tempIdx++;
            }

            if(isRef){
              continue;
            }
            idx++;

            if (idx >= jsonPath.length) {
              break;
            }
          } else if(propertyNames && String(propertyNames[i]).includes("\n")) {
            lineCnt+= (propertyNames[i]?.split("") || []).length;
          }
        }

        return {
            start: { line: lineCnt+1, character: 0 },
            end: { line: lineCnt+1, character: String(propertyNames[lineCnt]).length }
        };
      }
    }
    catch (err) {
      return err;
    }
  }

Might have overdone the things but I tried to keep it as optimized as possible.
Any inputs @Vishal2002 @satishkumarsajjan ???

If it works then raise a PR. Members will review it. The app already uses stoplight lib to parse and get the path. It also does it for yaml, you could have used it and that would have been easy. But if this works then i see no issue. Nice work.

If it works then raise a PR. Members will review it. The app already uses stoplight lib to parse and get the path. It also does it for yaml, you could have used it and that would have been easy. But if this works then i see no issue. Nice work.

Oh I wasn't fully aware about that!!
Will migrate the changes accordingly then.
Thanks again!


What python version did you guys use for this project?

Using your script it seems that I can't install the following torch version that's been specified with cpu tag
pip install torch==1.11.0+cpu torchvision==0.12.0+cpu torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cpu
but if I change it to:
pip install torch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cpu
Then it's okay.
The pip list:
$ pip list
Package            Version

certifi            2022.12.7
charset-normalizer 3.4.1
clang              <IP_ADDRESS>
idna               3.10
Jinja2             3.1.5
joblib             1.3.2
MarkupSafe         2.1.5
numpy              1.21.6
pandas             1.3.5
Pillow             9.5.0
pip                22.3.1
psutil             6.1.1
pyparsing          3.1.4
python-dateutil    2.9.0.post0
pytz               2024.2
requests           2.31.0
scikit-learn       1.0.2
scipy              1.7.3
setuptools         65.6.3
six                1.17.0
threadpoolctl      3.1.0
torch              1.11.0
torch-cluster      1.6.1
torch-geometric    2.3.1
torch-scatter      2.1.1
torch-sparse       0.6.17
torch-spline-conv  1.2.2
torchaudio         0.11.0
torchvision        0.12.0
tqdm               4.67.1
typing_extensions  4.7.1
urllib3            2.0.7
wheel              0.38.4
And the error I get on the last stage.
$ python3 test.py
Traceback (most recent call last):
File "test.py", line 6, in
from torch_geometric.data import Data
File "/home/parallels/anaconda3/envs/graphspd/lib/python3.7/site-packages/torch_geometric/init.py", line 1, in
import torch_geometric.utils
File "/home/parallels/anaconda3/envs/graphspd/lib/python3.7/site-packages/torch_geometric/utils/init.py", line 3, in
from .scatter import scatter
File "/home/parallels/anaconda3/envs/graphspd/lib/python3.7/site-packages/torch_geometric/utils/scatter.py", line 7, in
import torch_geometric.typing
File "/home/parallels/anaconda3/envs/graphspd/lib/python3.7/site-packages/torch_geometric/typing.py", line 37, in
import torch_sparse  # noqa
File "/home/parallels/anaconda3/envs/graphspd/lib/python3.7/site-packages/torch_sparse/init.py", line 40, in
from .tensor import SparseTensor  # noqa
File "/home/parallels/anaconda3/envs/graphspd/lib/python3.7/site-packages/torch_sparse/tensor.py", line 13, in
class SparseTensor(object):
File "/home/parallels/anaconda3/envs/graphspd/lib/python3.7/site-packages/torch/jit/_script.py", line 1302, in script
_compile_and_register_class(obj, _rcb, qualified_name)
File "/home/parallels/anaconda3/envs/graphspd/lib/python3.7/site-packages/torch/jit/_recursive.py", line 44, in _compile_and_register_class
script_class = torch._C._jit_script_class_compile(qualified_name, ast, defaults, rcb)
RuntimeError:
object has no attribute sparse_csc_tensor:
File "/home/parallels/anaconda3/envs/graphspd/lib/python3.7/site-packages/torch_sparse/tensor.py", line 520
value = torch.ones(self.nnz(), dtype=dtype, device=self.device())
    return torch.sparse_csc_tensor(colptr, row, value, self.sizes())
           ~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE

I tried using different python versions such as python 3.8,9,10 and I get new different erros! for example 3.10 gives me error

$ python3 test.py
/home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_geometric/typing.py:86: UserWarning: An issue occurred while importing 'torch-scatter'. Disabling its usage. Stacktrace: /home/parallels/anaconda3/envs/graphspd3.10/bin/../lib/libstdc++.so.6: version GLIBCXX_3.4.32' not found (required by /home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_scatter/_version_cpu.so)   warnings.warn(f"An issue occurred while importing 'torch-scatter'. " /home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_geometric/typing.py:97: UserWarning: An issue occurred while importing 'torch-cluster'. Disabling its usage. Stacktrace: /home/parallels/anaconda3/envs/graphspd3.10/bin/../lib/libstdc++.so.6: version GLIBCXX_3.4.32' not found (required by /home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_cluster/_version_cpu.so)
warnings.warn(f"An issue occurred while importing 'torch-cluster'. "
/home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_geometric/typing.py:113: UserWarning: An issue occurred while importing 'torch-spline-conv'. Disabling its usage. Stacktrace: /home/parallels/anaconda3/envs/graphspd3.10/bin/../lib/libstdc++.so.6: version GLIBCXX_3.4.32' not found (required by /home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_spline_conv/_version_cpu.so)   warnings.warn( /home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_geometric/typing.py:124: UserWarning: An issue occurred while importing 'torch-sparse'. Disabling its usage. Stacktrace: /home/parallels/anaconda3/envs/graphspd3.10/bin/../lib/libstdc++.so.6: version GLIBCXX_3.4.32' not found (required by /home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_sparse/_version_cpu.so)
warnings.warn(f"An issue occurred while importing 'torch-sparse'. "
Traceback (most recent call last):
File "/home/parallels/researchfolder/GraphSPD/test.py", line 6, in
from torch_geometric.data import Data
File "/home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_geometric/init.py", line 8, in
from .index import Index
File "/home/parallels/anaconda3/envs/graphspd3.10/lib/python3.10/site-packages/torch_geometric/index.py", line 461, in
@implements(aten.clone.default)
AttributeError: 'builtin_function_or_method' object has no attribute 'default'

So at this point I'm doubting maybe it's because of the modified line I've done in the script which is as follows:
sudo ln -s /usr/lib/aarch64-linux-gnu/libclang-*.so.1 /usr/lib/aarch64-linux-gnu/libclang.so
since i'm on arm based mac needed to modify the link...
but what's this mess.... @ . @

also now getting another issue which is
(gspd) shay@Shays-Mackbook GraphSPD % python3 test.py
zsh: segmentation fault  python3 test.py


Add "round-trip" acceptance test for requester_pays and user_project

We need to add a test or tests demonstrating the interaction between setting the Bucket#requester_pays property and the user_project option (available on multiple methods). This will involve using a second project.
Some questions:

How should the second project be configured? In environment variables? Should the tests be conditional to only run if the second project is configured, or should they fail if the second project is not configured?
Should the tests cover every API method supporting user_project, or just a subset? (There are a lot... most if not all methods support user_project.)

IMO the tests should check for specific environment variables and only run the tests if those env vars are present. I don’t think we need to have acceptance tests every method, but we should test most of them.


Sync task does not remove new files if the UP-TO-DATE check is successful

Consider the example in the Gradle User Guide:
task libs(type: Sync) {
    from configurations.runtime
    into "$buildDir/libs"
}

If you run this task and then manually copy some other file in $buildDir/libs, then run this task again, you'll see that the task is UP-TO-DATE and no action is taken. Instead, I would expect the manually copied file to be removed. This should actually be the difference between a Copy task and a Sync task.
Expected Behavior
New files in the destination should be removed as would be expected with "syncing"
Current Behavior
Behavior is similar to Copy tasks where the untracked files are preserved
Context
Migrated from GRADLE-2270 with 5 votes.
Workaround
Create custom tasks that explicitly define the output directory as an input so it can detect changes:
task mySync {
    inputs.files = files(“$buildDir/configuration”)
    inputs.files = filed(“$rootDir/../../upoint/configuration/core/Apps/Benefits/Portal/config")

    sync {
        from (“$rootDir/../../upoint/configuration/core/Apps/Benefits/Portal/config")
        into “$buildDir/configuration”
    }
}

Your Environment
This seems to have been a bug since Gradle 1.0

This could be solved as part of #821. It is not part of the next increment but as soon as we record the output files in the destination directory we can decide if some files have been added and remove those.

It doesn't seems as if this was solved as part of #821. I'm running Gradle 4.6 and am seeing the same issues, i.e. files that are copied into a directory after the task was brought up to date won't invalidate the output directory.

@davidschreiber - Agreed.
I have to change (delete or update) something in the output dir (that is meant to be there) in order to invalidate the output dir and trigger a execute of the Sync. task.

The above mentioned workaround - "Create custom tasks that explicitly define the output directory as an input so it can detect changes".
Doesn't work for me.
Running Gradle 4.7 RC 1

I'm seeing the exact same behaviour in Gradle 5.2.1. I'm using the Sync task instead of Copy specifically because it's supposed to remove any "unmanaged" files from the target directory. The Working With Files documentation says about the Sync task...

...copies the source files into the destination directory and then removes any files from the destination directory which it did not copy...

It's pretty scary that this issue is still open, after all these years. This tripped me up too.
At the very least, if we aren't going to fix this right away, we should add a note in the documentation.

We can get the things done with outputs.upToDateWhen { false }, but can be not perfect in terms of  build caching.


Selector Stats tab doesn't exist in my Performance panel

Hello!
My configuration:

MS Edge 121.0.2277.106
MacOS Ventura 13.5

Try to debug CSS selectors performance by https://learn.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/evaluate-performance/selector-stats guide.
Selector Stats tab doesn't exist when I select Style Recalculation block :(

Thank you for filing, and sorry about this. This is a bug that we've been tracking for some time already and we have a fix for it. In fact, if you try in Edge Canary, the bug should already be fixed there.
@bwalderman could you please let us know which version of Edge did this get fixed with, and when will the fix become available in Edge Release? Thanks.


Third-Party APIs

I have an LLM API hosted on a remote server, and this is the way it functions: I send the query "Hello" using a fetch request to the API, and in response, I receive the message "Hello! How can I assist you today?". Is it possible to use AutoGen with APIs of this nature, where you submit a question and receive a response? This is example of response from the API
[{"role": "system", "content": "Knowledge cutoff: 2021-09-01 Current date: 2023-09-29"}, {"role": "user", "content": "Hello", "token": "7284194572548942422"}, {"role": "assistant", "content": "Hello! How can I assist you today?\n", "token": "7284194572548942422"}]

Check out this blog post on the Autogen documentation: https://microsoft.github.io/autogen/blog/2023/07/14/Local-LLMs.
You may also want to take a look into FastChat: https://github.com/lm-sys/FastChat

Thanks for getting back to me. The problem with the FastChat method is that you have to install the model on your computer and tell it where to find it when you start fastchat.serve.model_worker using the command python -m fastchat.serve.model_worker --model-path chatglm2-6b. The issue is, I've got the LLM model installed on a cloud-based computer that I can't access directly. The only way I can use the model is through an API. For example this is how i access the model on javascript:
const response = await fetch("https://remote_IP:port/chat", {  method: "POST",  headers: { "Content-Type": "application/json" },  body: JSON.stringify({ user_input: userInput }) });

Quick question @ahmedosman2001 , is your model endpoint an OpenAI compatible endpoint?
If so, it should be possible to simply add it to config_list_json for example
See related discusison here
from autogen import AssistantAgent, UserProxyAgent, oai
config_list=[
    {
        "model": "chatglm2-6b",
        "api_base": "http://localhost:8000/v1",
        "api_type": "open_ai",
        "api_key": "NULL", # just a placeholder
    }
]

response = oai.Completion.create(config_list=config_list, prompt="Hi")
print(response) # works fine

assistant = AssistantAgent("assistant")
user_proxy = UserProxyAgent("user_proxy")
user_proxy.initiate_chat(assistant, message="Plot a chart of META and TESLA stock price change YTD.", config_list=config_list)
# fails with the error: openai.error.AuthenticationError: No API key provided.

No, it is not OpenAI compliant, but this PR #95 solves my issue. Thank you all.

No, it is not OpenAI compliant, but this PR #95 solves my issue. Thank you all.

Hello, could you please share an easy demo of your solution. I am faced with the problem as well. Thanks!


State Machine Operator Crate

I think this is ready for review. This PR basically pulls the state machine API out into a new crate, krator, which also defines a new Operator trait. The Pod informer / pod::Queue were then moved to krator and made generic. There are a couple of places where we may be able to consolidate / simplify the many traits we now have, but I didn't want to make any breaking changes to the Provider API for now. Finally, please note that the container state machine cannot be made into an operator because containers are not Kubernetes API resources, so it still implements a custom run_to_completion method and is called from within the Pod state machine.
The only remaining thing I plan to do in the near term is to write some better documentation for the krator crate (examples, etc.). I'm not sure if that needs to go in this PR (there is some basic documentation already).

I think this is ready for review. This PR basically pulls the state machine API out into a new crate, krator, which also defines a new Operator trait. The Pod informer / pod::Queue were then moved to krator and made generic. There are a couple of places where we may be able to consolidate / simplify the many traits we now have, but I didn't want to make any breaking changes to the Provider API for now. Finally, please note that the container state machine cannot be made into an operator because containers are not Kubernetes API resources, so it still implements a custom run_to_completion method and is called from within the Pod state machine.
The only remaining thing I plan to do in the near term is to write some better documentation for the krator crate (examples, etc.). I'm not sure if that needs to go in this PR (there is some basic documentation already).

@bacongobbler I have put together an example which is unnerved here:
https://github.com/kflansburg/krustlet/blob/krator-example/crates/krator/examples/moose.rs
I plan to cover this in depth in a blog post.
I do want to expand the module documentation but there is a lot to cover and I would like to do that in another PR. Thoughts?
I will update the release script and feature flags.

@thomastaylor312 Not totally sure where openssl-sys is getting pulled in from. I think the only crates which depend on that are kube and kube-runtime. That seems to be what is preventing the Windows build.

@thomastaylor312 Not totally sure where openssl-sys is getting pulled in from. I think the only crates which depend on that are kube and kube-runtime. That seems to be what is preventing the Windows build.

@kflansburg Let me go dust the cobwebs off that memory and figure it out. I think there is a transitive dependency that gets pulled in from kube or something that makes openssl still try to compile

@kflansburg Let me go dust the cobwebs off that memory and figure it out. I think there is a transitive dependency that gets pulled in from kube or something that makes openssl still try to compile

Also, I happened to run into a failure when running cargo build from within crates/krator. I think rustls-tls features need to be enabled or something?

@bacongobbler your failure was caused by not specifying the feature I think. Was that on a windows machine? It definitely should have at least selected one of the features by default so it is odd that it got that error

Also, I happened to run into a failure when running cargo build from within crates/krator. I think rustls-tls features need to be enabled or something?

@bacongobbler your failure was caused by not specifying the feature I think. Was that on a windows machine? It definitely should have at least selected one of the features by default so it is odd that it got that error

Oh wait I found it @bacongobbler and @kflansburg.  You were importing krator into kubelet and reexporting, but not setting the feature there

Oh wait I found it @bacongobbler and @kflansburg.  You were importing krator into kubelet and reexporting, but not setting the feature there

Thanks everyone! I just rebased and will merge after tests pass.

Thanks everyone! I just rebased and will merge after tests pass.


TextBox text does not display hieroglyphs

Describe the bug
TextBox displays blank characters instead of hieroglyphs, although TextBlock displays them normally
To Reproduce
Steps to reproduce the behavior:

Create new solution from template "Avalonia Application"
Increment Avalonia Version to 0.10.5
Go to MainWindow.axaml
Add TextBox with Text="犬"   (犬 - dog on Japanese)
See blank character in TextBox in designer
Start application
See blank character in TextBox in application

Expected behavior
Hieroglyph should be displayed instead of blank character
Screenshots

Desktop

OS: Windows
Version 0.10.5

Additional context
A minimalistic example of reproduction is here: https://github.com/philippranzhin/AvaloniaTextBoxBugSample/blob/master/AvaloniaApplication5/MainWindow.axaml

https://github.com/AvaloniaUI/Avalonia/pull/4893

Fixed in master


MongoDB projection not working for covered queries

I have this:
		$query = new Query();
		$query
			->from(Meet::collectionName())
			->where(['user_id' => $user->_id])
			->select(['target_user_id' => true, '_id' => false])
			->limit(5000);

		foreach($query->each() as $k => $v){
			var_dump($v); exit();
			$ninIds[] = $v['target_user_id'];
		}

Which I wish to use to make a covered query however, it doesn't work, instead it brings back:
array (size=1)
  '_id' =>
    object(MongoId)[108]
      public '$id' => string '54a311b56803faaf098b4567' (length=24)

I believe I know why https://github.com/yiisoft/yii2-mongodb/blob/master/Query.php#L381 because omitting and including of fields is never checked, it is just assumed they are included and since MongoDB must return _id that is what I get.

tested as working:
	/**
	 * Composes select fields from raw [[select]] value.
	 * @return array select fields.
	 */
	private function composeSelectFields()
	{
		$selectFields = [];
		if (!empty($this->select)) {
			foreach ($this->select as $fieldName => $inc) {
				if(is_string($fieldName)){
					$selectFields[$fieldName] = $inc;
				}else{
					$selectFields[$fieldName] = true;
				}
			}
		}
		return $selectFields;
	}

Issue resolved by commit 6e50783


[Errno 2] No such file or directory: 'sass-convert'

I am working on Mac OS X El Capitan and installed Ruby via Homebrew.
In SublimeText 3 i installed SassBeautify via PackageControl.
I get the following error trying to beatify my sass:
[Errno 2] No such file or directory: 'sass-convert'
I also tried to echo the $PATH and the $GEM_PATH, BUT the $GEM_PATH is EMPTY!
Any ideas how to fix it?

Got it working by updating sass

I'm having this trouble. @maxleistner could you expand on your fix a little. I'm not sure exactly how to do what you describe.

I've just found this: https://github.com/badsyntax/SassBeautify#compatibility-with-rvmrbenv
Gonna give it a go.


CI for contract call

Two options:

Spin up the quick-start image, deploy a contract and test against it.
Check request to be sent to RPC and mock response from RPC.

Option 2 might be better at first. Try to use respx for that.

Use this to fund source accounts:
import httpx
from stellar_sdk import Keypair

keypair = Keypair.random()
response = httpx.get("https://friendbot.stellar.org", params={"addr": keypair.public_key})


About creating volumes for all versions of all databases in docker-volume branch

ISSUE TYPE

Feature request

SUMMARY
Hi , I am using docker-volume branch so I think devilbox creates volumes for all versions of all databases. Probably they don't keep any significant place on harddisk when they are not used but is this necessary? Wouldn't be better if it just creates for selected versions?
Goal
Fast setup, start. Getting rid of unnecessary volumes.

@bgultekin yes that was my initial goal, however the volume section in a docker-compose.yml file does not support variables, so I have to add everything by default to make sure whatever version you choose, there is a volume available by default.
If I don't do that, the Devilbox won't start

Ok thanks for the information.


EVO - 7 - Develop a Connector functionality and Dynamic Cards component

Develop a Connector functionality and Dynamic Cards component based on the REST API Response called cardApiComponent with the respective model

Allego di seguito uno screenshot di come si vede il componente in pagina


GVRAccelerateDecelerateInterpolator::mapRatio(float) - Positive infinity

A map ratio for positive infinity value returns NAN instead of POSITIVE_INFINITY
public void testMapRatioPositiveInfinity() {
        GVRAccelerateDecelerateInterpolator interpolator = GVRAccelerateDecelerateInterpolator.getInstance();
        assertEquals(interpolator.mapRatio(Float.POSITIVE_INFINITY), Float.POSITIVE_INFINITY);
}

I'm not sure there's any point to testing this parameter: This is not user-facing code; it is only called by the animation engine, and the inputs are always in the range [0, 1].


feat: add telemetry for CNI conflist creation

What type of PR is this?
/kind feature
What this PR does / why we need it:
Nodes remain in NotReady state until a CNI conflist file is created in /etc/cni/net.d Depending on the network configuration, the conflist may be created by containerd itself (based on cni.conf_template configuration) or by a daemonset init container.
To measure CNI conflist creation delay, add a new systemd service that waits for the CNI conflist file to get created, then sends an event via walinuxagent with the conflist create time.
If no CNI conflist is created within a timeout, log an event saying that the CNI conflist was not created. This allows us to verify that telemetry is working even if something else prevents the CNI conflist from being created.
Which issue(s) this PR fixes:
Fixes #
Requirements:

[x] uses conventional commit messages
[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
add cni-telemetry systemd service to report CNI conflist creation time

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 22 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall first build on widaly/measure-cni-ready-time at 60.379%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/templates/templates_generated.go
0
22
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
60.4%

Covered Lines:
2580

Relevant Lines:
4273

💛  - Coveralls


Shared libraries with C/C++ targets

When building a Native Image as a shared library, users will want to make use of those outputs downstream, most obviously in cc_* targets.
The following would be great:
// imports...

native_image(
  name = "my-image",
  shared_library = True,
  // ...
)

cc_binary(
  name = "some-binary",
  deps = [
    ":my-image",
    // ...
  ],
  // ...
)

# bazel build //:some-binary

To support this, we'll need to ship providers with Native Image targets that build shared libraries, so that downstream rules can resolve the generated library and headers.

part of #121

It's unclear which providers we need to make this work seamlessly, but, for the moment, it's worth looking at transitive_native_libraries (part of the JavaInfo provider).


Add child store chaining possibility

It would be convenient to add the same possibility to ElmChildStore from rxjava-2 support module as well. I guess it could be done by moving addChildStore method to the Store interface to make it available for all inheritors. Will you have time to implement this?

Sure

btw now, with the change of base interface, I believe it's worth raising minor version rather then patch for the next release

btw now, with the change of base interface, I believe it's worth raising minor version rather then patch for the next release

I agree, that would be appropriate


Support for Doughnut

Hi Team,
ECharts has got huge collection of chart types, but one basic type that is not yet integrated in CBoard is the Doughnut chart.
Will it be possible to introduce this chart type?
Thanks & Regards
Ranes

The feature will be added in the next release of branch-0.4, small version 0.4.2.


Document take-down checklist for STAR

Once the Audio functionality is introduced into the production DMR application, we need to take down the STAR application and related dependences.
To Do: Please create a checklist of things that need to be taken down as it relates to STAR.

@mcritchlow - Here is a checklist of things that need to be taken down
1-star
2-xdre-star
3-solr/dar
4-star triplestore

Great, let's leave this ticket open until all audio integration is signed off and in production. Then this will be the final ticket for the project and we can work with @ucsdlib/operations on taking those 4 things offline.

@VivianChu I've created #148 for actually executing the take down procedure, since this ticket was just for documenting what was needed. So, feel free to close this out, and we'll handle the other ticket once we're at that point.


[Subtask]: Remove Flink 1.12 modules

Search before asking

[X] I have searched in the issues and found no similar issues.

Description
Remove Flink 1.12 related modules.
Parent issue
#1983
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I noticed that there is Plusar related code in 1.12. How should we deal with this part
cc @zhoujinsong

Yes, Amoro supported Puslar as its LogStore only for Flink 1.12.
However, this feature has not been used by users. I think we can temporarily stop supporting it and re-support it when needed.


Build wheel with pip if build is not available

Description
Make the build wheel function work even if the user forgot to install the 'cli' dependencies. The only assumption is that the user has a reasonably new version of pip installed, which will be the case almost always.
Checklist:

[ ] Tests added/updated.
[ ] Documentation updated.
[ ] Changelog updated in CHANGELOG.md.
[ ] Version bumped. If triggering a new release is desired (?), bump the version number by running python dev.py bump --patch (replace --patch with --minor or --major per semantic versioning).
[ ] Regenerate example SDKs export PYTHONPATH=. && python dev.py generate. Need to be run both
for pydantic v1 and v2 environments.

@doctrino what do you think of this?
Meant as an idea. If you agree I can extend to a complete PR.

@doctrino what do you think of this?
Meant as an idea. If you agree I can extend to a complete PR.

Hmm, one question: Is there a particular use case for it? Or more a slight convenience to not have to run pip install ...? Anyone asked for it?

@doctrino what do you think of this?
Meant as an idea. If you agree I can extend to a complete PR.

Hmm, a few questions: Is there a particular use case for it? Or more a slight convenience to not have to run pip install ...? Anyone asked for it?
It is not necessary, I am happy to approve it either way, but it is always good to ensure we are not adding more code just in case as maintenance is always an issue.

I have first-hand experience with CDF being used in enterprise environments where PyPi is blocked (together with much of the internet), and where there might be some approval process for the packages you want to install or some other unconventient process to get new Python packages into the enterprise environment.

The difference between the options as I see it are:

Making "build" non-optional: minimal change from how it currently works.
Building wheel with "pip": could eventually drop "build" without adding almost any code. Would have one less dependency to take care off.

@doctrino what do you think of this?
Meant as an idea. If you agree I can extend to a complete PR.

Hmm, a few questions: Is there a particular use case for it? Or more a slight convenience to not have to run pip install ...? Anyone asked for it?
It is not necessary, I am happy to approve it either way, but it is always good to ensure we are not adding more code just in case as maintenance is always an issue.

I have first-hand experience with CDF being used in enterprise environments where PyPi is blocked (together with much of the internet), and where there might be some approval process for the packages you want to install or some other unconventient process to get new Python packages into the enterprise environment.

Got it, that is a good use case, go for it.


Emf gin

This should form a full working game engine.

In order for this to run, for the time being, you need to add the attached file as boot.py on the badge.
boot.py.zip


Custom resource definitions for CAPH

The reference section of the CAPH documentation contains the description of the CAPH CRDs. Compare the reference section with the Crd.dev docs and fill out the gaps in the API documentation.
Migrate entirely to the CRD.devs docs for API reference, once its updated completely.

Description missing from CRDs:
kind: HCloudMachine
spec - placementGroupName, enableIPv4, enableIPv6

@janiskemper - The above specs are without descriptions in the CRD docs.

#1178

#1169 #1170 #1172 #1175 #1177 #1178 #1179

All mentioned issues are closed. I think this issue can get closed.
Feel free to re-open if you think there is something missing.


I had writeen a a new super fast tool to migrate between server, and edit the save file

I think may be have some merge between this two tools
Project LInk: https://github.com/magicbear/palworld-server-toolkit
https://github.com/magicbear/palworld-server-toolkit/blob/master/README.en.md#migrate-difference-server-to-single-server

@magicbear very cool! Looking through your code, are you able to make a new character from scratch instead of having a player login and create their character first?


Documentation for extending theme is wrong. Module Augmentation does not work.

In https://mui.com/customization/theming/#custom-variables the docs tell you to use following example to extend typescript type but it is not working:
declare module '@mui/material/styles' {
  interface Theme {
    status: {
      danger: string;
    };
  }
  // allow configuration using `createTheme`
  interface ThemeOptions {
    status?: {
      danger?: string;
    };
  }
}

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Current example in docs does not work.
Expected Behavior 🤔
Example should work.
Steps to Reproduce 🕹
Follow the docs.
The following type does work instead:
declare module "@mui/material/styles/createTheme" {
    interface Theme {
        test: string,
    }
    // allow configuration using `createMuiTheme`
    interface ThemeOptions {
        test?: string;
    }
}

Your Environment 🌎

`npx @mui/envinfo`
   System:
    OS: Linux 5.10 Ubuntu 20.04.2 LTS (Focal Fossa)
  Binaries:
    Node: 14.17.5 - /usr/bin/node
    Yarn: 1.22.11 - /usr/local/bin/yarn
    npm: 7.24.1 - /usr/bin/npm

It doesn't look like this bug report has enough info for one of us to reproduce it.
Please provide a CodeSandbox (https://material-ui.com/r/issue-template-latest), or a link to a repository on GitHub.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve

I have same problem but fix doesn't work for overriding subfield like adding some fields in mixins :
Subsequent property declarations must have the same type.  Property 'mixins' must be of type 'Mixins', but here has type 'Mixins & { border: (color: string, width?: string | number | undefined, style?: string | undefined) => string; }'.ts(2717)

Maybe repository should contain a minimal tested example of theme with module augmentation for better understanding and testing

Any reason this was closed? I'm finding the docs extremely unclear.

Why is this closed, this is accurate...

+1 as the docs aren't clear.

The Container API was changed from mui v4 >> v5. I'd like to add the align prop, or at least a variant='centered' prop.

@mbrookes Why did you close a legit issue? The documentation is clearly wrong.

It was closed because it was tagged incomplete. I'll reopen for now.

Can you share specific struggle that you have. We have an example of this in https://mui.com/material-ui/customization/theming/#custom-variables as already linked. What exactly is not clear and what are the suggestion for improvements?

I've included a small sandbox that showcases typical use cases:

modifying theme to include extra custom properties

modifying theme.palette to include extra color codes

https://codesandbox.io/s/romantic-gould-sbkc08
^ Codesandbox errors are the side product of it not playing nicely with declaration files; copy-paste both App.tsx and declaration.d.ts into your local project to see it does, in fact, work. I hope this ends up helping someone down the line.
@mnajdova I think what the MUI docs could still offer to explain is:

Why should the Theme interface also be extended and not just ThemeOptions. I assume that my sandbox's commentary approximates the reason.

Possibly re-organize the example to showcase separate declarations in .d.ts files rather than featuring them together in one .tsx file with the rest of the code. In fairness, the onus is on the users to read up on declarations & module augmentation and adapt accordingly. It is the translation into this other scenario that might be confusing some users when they try to attempt it.

@mnajdova ?

Thanks for sharing your suggestions @MauricePasternak. I agree, we can extend/improve the docs around this. cc @samuelsycamore @siriwatknp

@MauricePasternak I have done the same thing for mixins as your CodeSandBox but it gives error:

Error: Property 'verticalBorders' does not exist on type 'Mixins'.ts(2339)
btw I have "@mui/material": "^5.8.6", installed.

Thanks for sharing your suggestions @MauricePasternak. I agree, we can extend/improve the docs around this. cc @samuelsycamore @siriwatknp

I am on this.

For version v4 this worked for me.
import { createTheme } from '@material-ui/core/styles';

declare module '@material-ui/core/styles/createPalette' {
  interface Palette {
    dark: Partial<PaletteColor>;
    body: {
      standard: string;
      light: string;
    };
  }
  interface PaletteOptions {
    dark: Partial<PaletteColor>;
    body: {
      standard: string;
      light: string;
    };
  }
}

const theme = createTheme({
  palette: {
    dark: {
      main: '#1f2a44',
    },
    body: {
      standard: '#212322',
      light: '#373a36',
    },
  },
});

@MauricePasternak
https://github.com/mui/material-ui/issues/29008#issuecomment-1172979731 works.
Any idea how to make this work in your codesandbox?
<Checkbox color='orange'></Checkbox>

After using module augmentation to add a color to the palette, I would like it to appear as an autocomplete option for color on every component.

Absolutely agree, I've already spent two days looking through various opened and closed, new and old, MUI issues much like this one; and I still don't have working module augmentation from the library in my consumer application and feel completely clueless as there's no errors to debug, only that the augmentations doesn't happen. I feel like I've tried everything but in reality I barely know what's going on given the poor documentation of Typescript, Vite and MUI with this regard, and many examples either don't apply or wont work anymore.
The closest I've been to have it working is via exporting the Interface I am using to augment from the components library and then doing the module augmentation in the consumer application. But then I get errors when using createTheme since for some reason the consumer application's ThemeOptions doesn't match that of the component library, so I can't compile even though it works running the application.

Update: After three days of trying things, I finally got module augmentation from my library in my consumer application working with ViteJS. I decided to document it:

https://github.com/gerardparareda/module-augmentation-library-vite-mui
https://github.com/gerardparareda/module-augmentation-app-vite-mui

I am sure there's many things I am missing or still don't understand about node bundlers and typescript modules and globals, but it's the best I've got.

After some more tinkering to get it to work every time I stumbled upon the fact that my project was in version 5 of MUI and the test projects that I made were both in version 6. I hadn't noticed. Because of this I was trying module augmentation with a MUI v5 project and MUI v6 library components, therefor typescript broke. Using the same version works.


error: package com.reactlibrary does not exist import com.reactlibrary.InstaStoryPackage;

I update version react native to 0.67. I have a issue when run android.
error: package com.reactlibrary does not exist import com.reactlibrary.InstaStoryPackage;
Info:
"react": "17.0.2",
"react-native": "0.67.4"

,

check the new version


Sparkfun SEN-14001 IMU (MPU2950 chip)

Hi,
I am trying to integrate the SEN-14001 IMU. I have calibrated the IMU and I have used the ROS package driver from https://github.com/KristofRobot/razor_imu_9dof.
I am launching lio_sam with real-time data of this IMU and velodyne VLP16 Lidar (in my case, the compatible LeiShen).
But the mapping is not stable. Even though the equipment is in a static position, the drawing of the instant map of point cloud is scrolling across the RViz screen and moving quickly and erratically.
Aren't this IMU component characteristics of noise and precision enough for LIO-SAM algorithms?
Is there any params.yaml configuration that I could change to use SEN-14001?
Has anybody used this IMU with LIO-SAM?
Any recommendation of other IMU cheaper than Microstrain to integrate with LiO-SAM?
Thank you and regards,
Gilen

I think your IMU is good enough to run the package. Just make sure the extrinsics for IMU acceleration and orientation are correct. The provided extrinsics in the package may not be suitable for your IMU because the IMU orientation definition might be different depends on the manufacturer.

Regarding alternative IMUs, we're using a PhidgetSpatial Precision 3/3/3 with the phidgets_imu and imu_filter_madgwick packages. It's about $120, and they have a less expensive version with lower sensitivity. LiDAR is an OS1-64. However, I haven't had any success getting it to work with LIO-SAM. I'm not sure what I'm doing wrong ... but I'll leave that for another post.

Thank you for your quick response!
I think that I have configured the extrinsic right. These are my matrix config:
  # Extrinsics (lidar -> IMU)
  extrinsicTrans: [0.0, 0.0, 0.0]
  extrinsicRot: [1, 0, 0,
                  0, 1, 0,
                  0, 0, 1]
  extrinsicRPY: [1, 0, 0,
                  0, 1, 0,
                  0, 0, 1]

And I have validated the RPY rolling directions positive and negative compared to your image and they are OK.

Below is a log of LIO-SAM IMU debug data. I suspect that IMU acc noise is too high. Isn't it?
Here is an image of my testbed with IMU mounted on top of LiDAR.

A capture of RViz with Mapping local visualization to apreciate the displacement. This is the point cloud of the room of our office.

Any advice or guidance?

I suspect that the cause could be that my test enviroment is indoor.
It seems that is a well-known issue with LeGO-LOAM.
https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/issues/181
Is there any configuration that optimize indoor locationn performance?
Thanks,
Gilen

Hi again!
I have encountered the cause of the issue. It is the LeiShen LiDAR.
I have changed it, and I have done the same test with a Velodyne Puck Lite, and the odemetry is running perfect and there isn't any drift.
Thank you and I'm sorry if this issue has lost you time.
Gilen

@GilenTell  Did you run this test indoors? I am running it indoors with the Puck Lite but the odometry  is drifting all over .

Hi @GilenTell
I saw that you're using the leishen lidar with the LIO-SAM. I am currently use the same lidar. Please provide some hints/guidance on how to make the LIO-SAM take in the pointcloud from leishen lidar. As from what i found, leishen lidar's pointcloud only consist of X, Y, Z, intensity. There's neither ring nor time are exist in the data.
Best,
Samuel

Hi,
The Leishen LiDAR's protocolo in its default mode is compatible with Velodyne's with same UDP packet format.
I have implemented de LOAM algorithms in ROS with velodyne driver:
http://wiki.ros.org/velodyne/Tutorials/Getting Started with the Velodyne VLP16
Nevertheless, I encountered some problems with Leishen and its quality for mapping and now I am working with a Velodyne PUCK Lite.
Best,
Gilen

@GilenTell
I have tried to edit the imageProjection.cpp to be compatible with Leishen lidar, below are screenshots of what i added:

And also edit in utility.h for below:

I manage to get the LIO-SAM to subscribe to Leishen Lidar without altering its pointcloud. But it will drift away, no matter i use the  cheap SEN-14001 IMU or expensive microstrain-3DM-GX5.
@TixiaoShan
Do you know why? and is there alternative solution for me to get Leishen Lidar to work with your LIO-SAM? because the map that your LIO-SAM built is super good.
Best,
Samuel


remove remora_url (bug 1024232)

note that most places could just be replaced with url(...)
a couple couldn't but that will just cause an extra redirect for some really, really, obscure links, there should be nothing high traffic here
apart from the versioncheck one, but that's got a redirect
also deleted some commented out code, just because

Needs a rebase, other than that, looks good!
r+wc


Added auth package and implemented basic auth

Signed-off-by: Dušan Mitrović<EMAIL_ADDRESS>This feature adds basic authorization capabilities.

Codecov Report
Base: 58.59% // Head: 59.39% // Increases project coverage by +0.80% :tada:

Coverage data is based on head (dbb7b58) compared to base (6f6fb02).
Patch coverage: 80.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master       #9      +/-   ##
==========================================
+ Coverage   58.59%   59.39%   +0.80%
==========================================
  Files          14       15       +1
  Lines         384      399      +15
==========================================
+ Hits          225      237      +12
- Misses        136      138       +2
- Partials       23       24       +1

Flag
Coverage Δ

tests
59.39% <80.00%> (+0.80%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

auth/token.go
80.00% <80.00%> (ø)

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Uncaught Ozone.util.parseJson expected a string, but didn't get one

Uncaught Ozone.util.parseJson expected a string, but didn't get one
Ozone.util.parseJson @ VM900:formatted:5628
Ozone.dragAndDrop.WidgetDragAndDrop.setDropEnabled @ VM900:formatted:12481
(anonymous function) @ VM900:formatted:13146
(anonymous function) @ mapWidget.all.min.js:31
m.event.special.(anonymous function).handle @ jquery.min.js:4
m.event.dispatch @ jquery.min.js:4
r.handle @ jquery.min.js:4
VM900:formatted:4915
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

Could you provide more information on where you see this?  It appears to be console output from when OWF first loads up, and this output actually includes 2 separate things: a JSON parsing error, and a synchronous AJAX warning.
The JSON parsing error appears to be coming from a widget, not the OWF container.  In particular, (anonymous function) @ mapWidget.all.min.js:31 appears to refer to a widget's code.  What widgets are loaded in the active dashboard when this error occurs?  If they are not sample widgets that ship with OWF, then this error should be reported to the widget's maintainers instead of being reported here.
I have noticed the Synchronous XMLHttpRequest error for awhile now.  I will create a separate ticket for that.

Ticket for the Synchronous XMLHttpRequest part: https://github.com/ozoneplatform/owf-framework/issues/81

Closing due to lack of activity.


Child routes of tabbar

Hello,
so I've decided to rewrite my current app using react-navigation and I already have a problem (which, I am sure, is already solved, but I can't seem to find a way how). I have a TabNavigator. Inside index tab, there's a list of messages. If I click on a message, it should open up a new scene with a chat. From what I've seen in the docs, StackNavigator is used for that, but the problem is that when StackNavigator is used, TabBar isn't visible anymore and that's not what I need :(. I need TabBar to still be visible, and when, for example, user clicks on messages tab icon, it should go back to that scene.

I got this to work by combing the TabNavigator with the StackNavigation
TabNavigator
const MyApp = TabNavigator({
    Home: { screen: HomeNavigator },
    Products: { screen: ProductsNavigator },
});

StackNavigator
const HomeNavigator = StackNavigator({
    HomeScreen: { screen: HomeScreen },
    BlankScreen: { screen: BlankScreen }
});

const ProductsNavigator = StackNavigator({
    ProductsScreen: { screen: ProductsScreen },
    ProductDetailScreen: { screen: ProductDetailScreen }
});

@bsnelder thank you, I've found a very similar example in their examples folder just a few minutes ago! :D


shep config dump

On occasion it is necessary to download a remote config to the local machine. We need to add a command for this: shep config dump production > env.json

Should by default show common vars and differences between funcs. Switch behavior to have --json flag which will log common ones in JSON format


Switch between dark & light?

First, thank you very much for this excellent color scheme!
This is not necessarily an issue with the code; maybe just documentation.
Is there a way to switch back and forth between the dark and light versions of your theme?
I tried running solarize's setup from neovim's command line and passing in either 'dark' or 'light', but didn't have any luck.
Again, thanks for the excellent theme.

Here an example
Dark theme
local success, solarized = pcall(require, 'solarized')

if not success then
  return
end

solarized.setup {
 mode = 'dark',
 theme = 'neovim'
}

vim.cmd 'colorscheme solarized'

Light Theme
local success, solarized = pcall(require, 'solarized')

if not success then
  return
end

solarized.setup {
 mode = 'light',
 theme = 'neovim'
}

vim.cmd 'colorscheme solarized'


Dynamic app resampling and better performance measurements.

Pull Request Description
This PR introduces several new tools for GPU-related performance measurements and a new, low-resolution rendering mode which should increase the GUI speed on old, weak hardware.

Proper measurement of GPU performance.
WARNING! Currently (2023) this extension is only available in Chrome Desktop.
A new way to measure GPU performance have been introduced. It bases on the ExtDisjointTimerQueryWebgl2 WebGL extension, which is pretty tricky to use. First of all, it was banned from all browsers some time ago because of the ["GLitch" exploit] (https://www.vusec.net/projects/glitch). However, as Site Isolation shipped in Chrome on Desktop, the extension was re-enabled there because the only data that could be read was data that came from the same origin. To learn more, see: https://bugs.chromium.org/p/chromium/issues/detail?id=1230926.

Automatic low/high resolution modes.
The application resolution mode is automatically switched between low and hight. In the low resolution mode, the device pixel ratio will be set to 1.0 even on high-dpi screens. This will result in faster rendering (every 4-th pixel) and a more blurry image of the GUI. I believe that the blurriness of the fonts can be decreased in this mode by tweaking shaders, and it can be performed in a separate PR. The switch happens after a few frames were rendered slow/fast enough. The performance of the rendering is measured using the new performance measurements described above. In case the app is run not in Chrome, the FPS will be used instead of the proper measurements, which might cause the app to switch to low-resolution mode even if the bottleneck is CPU, not GPU.
https://user-images.githubusercontent.com/1623053/236707705-2379ac44-bcf0-47e5-a5f9-210f9ee5f6b1.mov

Improvements to the performance monitor.
The performance monitor was extended with additional information:

The "frame time" was renamed to "GPU + CPU time".
The "CPU time" is a new measurements which reports the time spent on CPU-related operations, excluding GPU ones.
The "GPU time" is a new measurement which reports the time spent on GPU-related operations, excluding CPU ones.
Idle time is a new measurement which reports how much free time was left during rendering of the frame. Please note, that currently this measurement is broken and it can report negative values, as we need to enable high-resolution timers in Enso.

Please note, that the division between CPU and GPU time is not known immediately and we can get it with a few frames delay. That's why you can observe sometimes in the performance monitor a greyed-out value for a few frames, which turns into a real value after some time:
https://user-images.githubusercontent.com/1623053/236707998-f47b7b5a-a4b3-47fe-9095-98114d02b57d.mov

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

QA Report 🔴
Opening the performance monitor (ctrl+alt+~) with open DevTools immediately triggers unwrap:
https://github.com/enso-org/enso/pull/6595/files#diff-9d7b5a2d329a89fe5b9eb16627c503593a7db720088eb79f993d1e58bd4828b6R693
Everything else looks fine, I didn't manage to get a significant FPS drop to trigger the downscaling, though.

I just tested this on the 2020 M1 Air. No blockers, other than the same panic Ilya has encountered.

GPU time shows as N/A. Maybe the API isn't supported on this machine's drivers.
I don't think the reduced-pixel-ratio is threshold is reached on this hardware. FPS rarely goes below 30 for more than one consecutive frame, no matter what I'm doing.
It would be nice to have a chart in the performance panel showing pixel-ratio history. Not essential though, could be added in future.

Side notes on the Air, since this is my first performance testing on it: It's not a FPS problem. We're hitting reasonable frame times under all workloads. The application feels slow because the component browser is reacting to hover changes slowly. The faster I pass over the entries with the mouse, the farther it lags behind. This indicates that events triggered by the mouseover are queuing, and we're trying to process all of them even if they are related to outdated inputs. If we remove whatever mechanism is causing hover-initiated events to queue and only try to draw whatever is currently appropriate, that will fix the sluggishness on this machine.

@kazcw thanks for all the information. I will fix the things and reply more later. For now just a short note – as you are working on lowering draw call amount, let's finish this first. Then, having these machines, let's carefully investigate all slowdowns (probably CPU-related) and let's focus on fixing them. I'll be doing that starting later today – I'll probably start with the issue with component browser.

@wdanilo what is the status here?

@sylwiabr ready for re-testing!

QA Report 🟢
Looks good to me!
I'm unsure if it is correct, but I only see CPU + Idle and GPU timings if the dev-tools console is opened. Otherwise, they show N/A.

@wdanilo can we merge it?

Yes, sorry Sylwia, I stared doing another task and this slipped somehow. I need to refresh it, I will do it before Monday.


x/pkgsite: package removal request for github.com/mohammedyh/np-run

What is the path of the package that you would like to have removed?
https://pkg.go.dev/github.com/mohammedyh/np-run
Are you the owner of this package?
Yes.
Which version(s) would you like to be removed?
All
What is the reason that you could not retract this package instead?
I've renamed the repo & package to github.com/mohammedyh/npr and didn't want the old-named package floating around.

I confirm that the repo and GitHub username match, and have made the configuration change. Please allow a few days for it to propagate.


It would be nice to see which keys are being pressed.

Does the new key overlay in 0.2.0 work for you?

Let's open another issue if you want to know how many times a key was pressed. Closing this for now


Laravel 11.x Compatibility

This is an automated pull request from Shift to update your package code and dependencies to be compatible with Laravel 11.x.
Before merging, you need to:

Checkout the l11-compatibility branch
Review all comments for additional changes
Thoroughly test your package

If you do find an issue, please report it by commenting on this PR to help improve future automation.

:warning: The latest version of Laravel has a dependency for phpunit/phpunit of ^10.5. If you would like to also upgrade your tests, you may run the PHPUnit 10 Shift for free.

:information_source: Shift detected you do not have a CI workflow using GitHub Actions. If you would like, Shift can help you get started with the CI Generator. Although the Shift is paid, GitHub Actions is free and having a CI workflow will improve the stability and review process for your package.

:alembic: Using this package? If you would like to help test these changes or believe them to be compatible, you may update your project to reference this branch.
To do so, temporarily add Shift's fork to the repositories property of your composer.json:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/laravel-shift/metrics-sdks-php.git"
        }
    ]
}

Then update your dependency constraint to reference this branch:
{
    "require": {
        "readme/metrics": "dev-l11-compatibility",
    }
}

Finally, run: composer update


Can hide the status bar

Resolve #156

@Vigilans Maybe instead of disposing the status bar item, I should hide it to improve the performance. I'll update the PR later


Bad Links in page

Page contains bad links:
Understand privileged access workstations
Privileged access workstations deployment

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

ID: 09bdb534-7273-55e2-46c3-f31a0aaae23e
Version Independent ID: 09bdb534-7273-55e2-46c3-f31a0aaae23e
Content: Azure Security Benchmark v3 - Privileged Access
Content Source: benchmark/azure/security-controls-v3-privileged-access.md
Service: security
GitHub Login: @msmbaldwin
Microsoft Alias: mbaldwin

@miltek2 Thanks for the feedback! We are currently investigating and will update you shortly.

@miltek2
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

Hi @miltek2. We just fixed all the broken links in the Azure Security Benchmark, including these two.  You can verify at https://docs.microsoft.com/en-us/security/benchmark/azure/security-controls-v3-privileged-access
Thanks for notifying us -- we appreciate it! #please-close


Create palindrome_flip.cpp

great work please give this repo a star and follow me for follow back😊


Check scripts running from a URL

At the moment all check scripts run under the assumption that they have access to the repository of the code being evaluated (it is checked out on the same directory). In the future, it would be desirable if the initial assumption is that the check scripts start form the assumption that they receive the URL of the repo being checked.

Fixed in 410fc6ba9f6f12e50a3aaf923426b76b291ed57f, closing this issue.


Ensure shims don't temporarily disappear when rehashed

Starting a process that uses a shim during rbenv rehash will break in subtle ways, like falling back on the next one in PATH, because the shims dir is wiped then recreated. This happens fairly often since rbenv init rehashes.
This fix leaves the existing shims in place, overwrites them, then removes stale ones.
Another approach would be to build a fresh shims dir, atomically symlink it, then delete the old one.

Weird that this showed up on my repos just after forking. Resubmitting to origin.


Toggle repeat does not work for me

I tried a few different hotkeys out and was unable to get repeat working. Rest works fine.
Version 87.0.4280.141 (Official Build) (64-bit)

Thanks for the report. Spotify changed its code, I've pushed a new release with the fix. It's being reviewed by Google.

Thanks for the report. Spotify changed its code, I've pushed a new release with the fix. It's being reviewed by Google.

Version 0.5.0 is now live.

Version 0.5.0 is now live.


Update custom styling in documentation

https://dg-docs.ole.dev/advanced/tips-and-tricks/

Good catch! I've removed it from the docs. Not really relevant anymore with the current feature set.

i actually needed this today, as i wanted to have backlings enabled on all but the home page, and couldn't get custom style for just index to work as components ref https://dg-docs.ole.dev/advanced/adding-custom-components/


added simple implementation of recursive directory creation and copy-file

Should be similar in behaviour to mkdir -p.
This is a very naive implementation.

I also imported copy-file from my helper script collection

Regarding mkdir -p, here are a collection of implementations from various folks along those lines: https://gitlab.com/-/snippets/2054317
Regarding copying a file here is what jpm does for reference: https://github.com/janet-lang/jpm/blob/b5cd98509931362f1bb0d3dd38a8ab637f329036/jpm/shutil.janet#L167-L178.
Note, it uses jpm's shell and a few other bits like is-win and path-splitter.

I see, I'll rework the code when I find the time

To clarfiy, my comment above wasn't implying the other implementations are better.  Just sharing some other attempts :)

Thanks for the information, my implementations are quite simple, so I want to look at the other ones first.

OK, I read over the other implementations and added a small fix to create-dirs.
Regarding copy-file I'm not sure if shelling out is the best idea, but it seems to work quite fine for jpm, so maybe I should follow suite.
I'm unsure about that and am open to suggestions.

Also copy-file only copies files, for a more general copy i would need to write a wrapper around it

Not sure if I'm doing something wrong, but evaluating the defmacro form for with-file gives me an error here.
Is the following the appropriate definition?
(defmacro with-file
  "Create and open a file, creating all the directories leading to the file if
  they do not exist, apply the given body on the file resource, and then close
  the file."
  [[binding path mode] & body]
  ~(do
    (def parent-path (,path/dirname ,path))
    (when (and (not (,exists? ,path)) (not (,exists? parent-path)))
      (,create-directories parent-path))
    (def ,binding (file/open ,path ,mode))
    ,(apply defer [:close binding] body)))

That's what I see in https://github.com/janet-lang/spork/pull/75/files/02327d7f3f6266eb7b25b62fb8454db89b91dbff

Ah, I see, I forgot to import my helper functions, I'm adding tests now.

I added some tests that should cover most but not all possible branches

This also tests the sh/rm function.
I also wanted to add a test for exec-slurp but as is calls out to the OS I didn't want to introduce external test dependencies

Please use gensym in your with-file macro. Also not sure how general it is, perhaps it should be renamed - and I think you would be better served by something like (with [f (make-new-file)] …) instead of the macro.

OK, I replaced the macro with a function working in the manner you suggested.

I actually like this better, I don't remember why I had this as a macro

I tried jpm test with https://github.com/tionis/spork/commit/0715b5fcdc99a5019fcfb809935deab5addd6cbd and got an error:
running test/suite0017.janet ...
✘  sh/list-all-files didn't list the correct files

Perhaps the relevant code in the test file is:
  (assert (deep= (sh/list-all-files (path/join base-path "assets"))
                 (map |(path/join base-path $0)
                      @["assets/17/test.file" "assets/17/test2.file"]))
          "sh/list-all-files didn't list the correct files")

May be I'm doing something wrong?

That's weird, I just tried it out in three different environments and the tests are running through fine.
Including docker using following command:
docker run --rm -it tionis/janet sh -c 'git clone https://github.com/tionis/spork && cd spork && jpm test

Are you running on Windows? I haven't tested the code in windows yet.

I just pushed a commit that sorts the array before comparing the 2 to fix a possible inconsistency on that part.

I'm testing on a Linux box.
The latest commit https://github.com/tionis/spork/commit/a4bb8c496739b8bd60f9f36cf00c33b6c4925947 works fine here.
I retested with the earlier commit and it still fails so may be your change was effective (at least for my environment).


Add instances for MySQL JSON as Aeson Value.

Adds support for MySQL JSON as an Aeson Value.

@tathougies it looks like here it ends up functioning pretty similarly? This is directly using Value as the type instead of PgJson a because this is to support actually using JSON Values, not your own values stored as JSON in the DB. The escaping is working.

I see... Great work!


backend for adding friends

improved in https://github.com/sopra-fs24-group-43/server/commit/73270cf623412d859ed9129f79a74e5c3f42ea94


Wipe out timing for transition to Gen2

Hi,
Just under the title in the Important box, there is timing March.

Discussed with Roy R that timing is being finalized.
I would like to say something like
"Microsoft will transition all Premium (original version) capacities to modern Premium Gen2 platform. Admins will be notified 60d in advance prior to the auto-migration"
It would be great to update also this document  https://docs.microsoft.com/en-us/power-bi/enterprise/service-premium-transition-gen1-to-gen2
Thanks. Martina

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

ID: 8aaa37e4-51a4-928b-fdd8-8a2b2794c09e
Version Independent ID: 8aaa37e4-51a4-928b-fdd8-8a2b2794c09e
Content: Power BI Premium features. - Power BI
Content Source: powerbi-docs/enterprise/service-premium-features.md
Service: powerbi
Sub-service: powerbi-premium
GitHub Login: @KesemSharabi
Microsoft Alias: kesharab

Hi @MartinaPoddana,
Thank you for your comment - good call!
I amended the note in Power BI Premium features to look like this:

This note is now aligned with the third paragraph in Plan your transition to Power BI Premium Gen2:

Hope this helps and thanks for letting us know.
Kesem


Update code from props correctly

As-is, the editor does not update its code when it receives new code in props.
Instead, it sets the code to the last value, instead of the next value.

Oops! Nice catch, mate!


HTML minification parser error

Describe the bug
HTML minification breaks if there is  a < in a <mj-raw> section.
To Reproduce
Steps to reproduce the behavior:

Create a file with this MJML code:

<mjml>
  <mj-body>
    <mj-section>
      <mj-column>
        <mj-raw>
          {% if foo < 5 %}
          {% endif %}
        </mj-raw>
        <mj-text>Hello World</mj-text>
      </mj-column>
    </mj-section>
  </mj-body>
</mjml>

compile using the API:

const output = mjml2html(file.contents.toString(), {
  minify: true,
  filePath: file.path,
})

See error:

Error: Parse Error: < 5 %}

Expected behavior
Expected minified HTML to succeed
MJML environment (please complete the following information):

OS: MacOS 10.14.3
MJML API Version 4.3.1

I don't think we'll be able to do something about this as we use an
external lib to provide the minification :/ maybe wrap everything into html
comment ?
On Thu, Feb 21, 2019 at 5:40 PM Tim Chen<EMAIL_ADDRESS>wrote:

Describe the bug
HTML minification breaks if there is a < in a  section.
To Reproduce
Steps to reproduce the behavior:

Create a file with this MJML code:

          {% if foo < 5 %}
          {% endif %}

Hello World

compile using the API:

const output = mjml2html(file.contents.toString(), {
minify: true,
filePath: file.path,
})

See error:

Error: Parse Error: < 5 %}
Expected behavior
Expected minified HTML to succeed
MJML environment (please complete the following information):

OS: MacOS 10.14.3
MJML API Version 4.3.1

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mjmlio/mjml/issues/1527, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAizzUxMA5PXbORsYCqyxtiWzrHEET14ks5vPsv-gaJpZM4bH2rS
.

--
Cordialement,
Maxime BRAZEILLES

found an answer: https://github.com/kangax/html-minifier#ignoring-chunks-of-markup.  might be worth mentioning in the documentation of mj-raw

Maybe it would be great to add those automatically when using mj-raw + minify option cc @kmcb777

@iRyusa I tested using this html-minifier feature and it works well
It would be much cleaner to apply this on all endingTags instead of just mj-raw, so that we can handle this on the parser.
On the other hand, it will prevent minification of all the endingTags content. People often use html in those, and will probably want to have it minified, so maybe we should add an option ?

Maybe @timc13 solution is better, let's mention it to the doc instead 🤔

what about this idea:
add an attribute to mj-raw instructing the parser to ignore minification.
<mj-raw ignore-min>
</mj-raw>

That could be done too but as minify is optional it's a bit weird to have attribute for a potential option ?


September Techqueria NYC events

Added September Techqueria NYC events

✅ By submitting this PR, I have verified the following

[ x ] Checked to see if a similar PR has already been opened 🤔
[ x ] Reviewed the contributing guidelines 🔍
[ x ] Added my name to the bottom of the list under the Contributors section in the README.md with a link to my personal website or GitHub profile 👥 (Optional)

Closing since they were added already


fix: use match-sorter-utils, simplify sorting

While looking at the match-sorter-utils i noticed that react-query-devtools makes unnecessary passes trough the query array.
Also for a big amount of entries in the cache, filtering first would be beneficial in regards of performance.
What i have noticed is that we only need filtering from the match-sorter-utils, since we have predefined list of sort functions.
If we implement hash sort function as a.queryHash.localeCompare(b.queryHash), we would have natural sorting done ([1, 10] instead of [10, 1]). So the second sort with give us virtually no benefit.

Codecov Report
Base: 96.36% // Head: 96.79% // Increases project coverage by +0.43% :tada:

Coverage data is based on head (998d62c) compared to base (eab6e2c).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4258      +/-   ##
==========================================
+ Coverage   96.36%   96.79%   +0.43%
==========================================
  Files          45       86      +41
  Lines        2281     3274     +993
  Branches      640      882     +242
==========================================
+ Hits         2198     3169     +971
- Misses         80      103      +23
+ Partials        3        2       -1

Impacted Files
Coverage Δ

src/core/onlineManager.ts

src/devtools/tests/utils.tsx

src/react/QueryErrorResetBoundary.tsx

src/react/useInfiniteQuery.ts

src/core/mutationCache.ts

src/devtools/Explorer.tsx

src/react/useMutation.ts

src/react/logger.ts

src/core/retryer.ts

...rc/createWebStoragePersistor-experimental/index.ts

... and 121 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[9.x] Added return type declaration for stubs

Added return type declaration. Each time after class creation from artisan command requires manually add return type for each method.

You can publish and customise the stubs to your liking.

@jbrooksuk Yeah and each project to start with copying with stubs and edit them. Nice solution, answer NO, when you need default return types like in PHPDoc


Explore removal of "back" breadcrumbs and addition of explicit cancel buttons to file type and species selection forms in get data flow

Current State
The file type selection form allows exploration of the selected data in real time. That is, as a user selects a file type term, the corresponding summary data is updated. The species selection form does not currently update the corresponding summary data on select of a species term.
Desired State

The file type and species selection forms have the same behavior and allow real-time exploration of the data.
On "cancel" of the file type or species form, the search state is reset to the state previous to entry to the form. This may require the addition of explicit cancel buttons and the removal of the "back" breadcrumbs. Cancel of the file type form returns the user the species selection form, cancel of the species selection form returns the user the main get data page.

handled in dx


can not access to website

hello how can i access to this page? http://security.cs.rpi.edu/courses/binexp-spring2015/
it's forbidden or have any problem?

The security.cs.rpi.edu server is down right now, we're working to bring it back online. Hopefully this will be resolved shortly.
That said, all the materials on the course website should be available in this repo and under releases (https://github.com/RPISEC/MBE/releases)

great, thanks indeed is there any chance to have voice or video of slides?

Sadly there were no recordings of the lectures.

Only resources I couldn't find on this repository were the crackme files referenced in the slides - or am I mistaken?
That said, these are terrific resources to be made freely available - thank you!

I think those crackme's were for windows, so we didn't feel it would be super appropriate for the repo. We also had a Windows VM with IDA Free setup a few other tools setup which was not distributed.
The course website is now back up, so I'm closing this issue.


Travis: Test on Rails 5.0.2

This PR updates the CI matrix to run tests on latest release of Rails.

@olleolleolle Thanks!


FTP Activity IDs

Update FTP activity ids to properly represent activities.

https://www.ibm.com/docs/en/app-connect-pro/7.5.3?topic=studio-ftp-activities


line breaks in message

Hi,
Is there any way currently to put line breaks in the message?
If not, maybe a new option to have the message be trusted HTML.

I've got this feature in the v4 branch.


Emby Link Icon

Description
Change the link icon when JELLYFIN_TYPE is "emby" to show the Emby icon instead of jellyfin.
Screenshot (if UI-related)

To-Dos

[x] Successful build yarn build
[x] Translation keys yarn i18n:extract
[ ] Database migration (if required)

Issues Fixed or Closed

N/A

Thanks for this! I completely forgot about the icon 😅

Thanks for this! I completely forgot about the icon 😅

Sure thing!  Hopefully you like the icon.  There weren't really a lot of SVG options available.

Sure thing!  Hopefully you like the icon.  There weren't really a lot of SVG options available.

Is that the new emby icon? Haven't really kept up with emby logo changes but from what I remember that looked a bit different 🤔

Sure thing!  Hopefully you like the icon.  There weren't really a lot of SVG options available.

Is that the new emby icon? Haven't really kept up with emby logo changes but from what I remember that looked a bit different 🤔

That is the right logo, but, looking at it again, I think the central play button should be white.

Yes it does look white

:tada: This PR is included in version 1.6.0 :tada:
The release is available on:

v1.6.0
GitHub release

Your semantic-release bot :package::rocket:

@all-contributors please add @jeaboswell for code