Add Keyword Field and Refactor FieldMapper with ParameterizedFieldMapper

Description
This is an WIP towards approach 1. Adding this PR to further discuss about the format of parsing dot path notation approach for  key value pairs in keyword field.
In this PR,
-Added keyword field,
-refactor FieldMapper with ParameterizedFieldMapper
-refactor FieldMapperTest with ParameterizedFieldMapper
Next step,
To be determined to write a new parser to read context and tokenized into key-value pairs
* option 1：catalog.title=Lucene in Action
* option 2: catalog.title=Lucene, catalog.title=in, catalog.title=Action
Issues Resolved
#1018
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@lukas-vlcek Thanks for the doc!
I am able to run the plugin now. This Pr now can create the flat-object field type index, uploaded the document and search on string on the path and also search on the value.
example:
—————————Able to create "flat-object" index
curl -XPUT localhost:9200/test-index --data '{
"mappings": {
"dynamic": "strict",
"properties": {
"catalog": {
"type": "flat-object"
}
}
}
} ' -H "Content-Type:Application/json"
———————Able to search and fetch
curl 'localhost:9200/test-index0/_search?pretty' --data '{
"query": {
"match": {
"catalog": "Lucene In Action"
}
}
}
' -H "Content-Type:Application/json"
————— Able to search and fetch
curl 'localhost:9200/test-index0/_search?pretty' --data '{
"query": {
"match": {
"catalog": "title"
}
}
}
' -H "Content-Type:Application/json"
—————  Fetch result
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 0.2876821,
"hits" : [
{
"_index" : "test-index0",
"_id" : "1",
"_score" : 0.2876821,
"_source" : {
"catalog" : "title: Lucene in Action"
}
}
]
}
}
The next step would work on to  parse the json object into a string into "key value" pair format.

@mingshl That is nice progress!

I am currently still trying to figure out why is CI failing. There are couple of reasons but one I am focusing on now is why the FlatObjectQueryBuilder tests fail on missing geo support... (geo shouldn't be relevant at all in this case, so I expect that we need to "instruct" the abstract test cases that we inherit from) let's see if I can figure this out by tomorrow. I will give you an update.

If you feel like jumping on the JSON processing, go for it 👍

Please, just a reminder, do not forget about DCO on your commits.

Finally, I found the reason why FlatObjectQueryBuilderTests are failing due to "missing" geo_shape type.
The reason is explained here:
https://github.com/opensearch-project/OpenSearch/blob/ac322595eb1838b68e4d9a46cf97cbe56b811aed/test/framework/src/main/java/org/opensearch/test/TestGeoShapeFieldMapperPlugin.java#L44-L47
Simply put, the test will need to depend on TestGeoShapeFieldMapperPlugin plugin for now. It is known testing framework issue, hopefully it will be fixed in the future.
@mingshl I will be pushing fix for this tomorrow.

lukas-vlcek I made the KeyValueJsonXContentParser in the commit
Enable Search for each subfields so currently now can use the flat-object mapper to search for values for every subfield name and also the subfield value.
            /**
             * KeyValueJsonXContentParser does :
             * this is "value" only format for each subfield
             * parsedFields will contain {"key_path": "key", "key_value": "value"}
             */

This is the test case that I am using and it's working properly for create index, query filed name, query field value, and update docs, and query again, it's working properly.
Requesting review from @froh
Next step is to enable search for dot path.
Here is the logging that I have for testings:
----create index ---
`curl -XPUT localhost:9200/demo-flattened1 --data '{
  "mappings": {
    "properties": {
      "host": {
        "type": "flat-object"
      }
    }
  }
} ' -H "Content-Type:Application/json"`

{"acknowledged":true,"shards_acknowledged":true,"index":"demo-flattened1"}
---upload doc---
curl -XPUT localhost:9200/demo-flattened1/_doc/1 -d '{
  "message": "[5592:1:0309/123054.737712:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.",
  "fileset": {
    "name": "syslog"
  },
  "process": {
    "name": "org.gnome.Shell.desktop",
    "pid": 3383
  },
  "@timestamp": "2020-03-09T18:00:54.000+05:30",
  "host": {
    "hostname": "bionic",
    "name": "bionic"
  }
}'  -H "Content-Type:Application/json"

{"_index":"demo-flattened1","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}%
---check mapping --
"localhost:9200/demo-flattened1/_mapping?pretty=true"
{
  "demo-flattened1" : {
    "mappings" : {
      "properties" : {
        "@timestamp" : {
          "type" : "date"
        },
        "fileset" : {
          "properties" : {
            "name" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            }
          }
        },
        "host" : {
          "type" : "flat-object"
        },
        "message" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "process" : {
          "properties" : {
            "name" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            },
            "pid" : {
              "type" : "long"
            }
          }
        }
      }
    }
  }
}

---query on field name and field value ---
mingshl@bcd0741e226d flat-object % curl 'localhost:9200/demo-flattened1/_search?pretty' --data '{
  "query": {
    "match": {
      "host": "name"
    }
  }
}
' -H "Content-Type:Application/json"
{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 0.39556286,
    "hits" : [
      {
        "_index" : "demo-flattened1",
        "_id" : "1",
        "_score" : 0.39556286,
        "_source" : {
          "message" : "[5592:1:0309/123054.737712:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.",
          "fileset" : {
            "name" : "syslog"
          },
          "process" : {
            "name" : "org.gnome.Shell.desktop",
            "pid" : 3383
          },
          "@timestamp" : "2020-03-09T18:00:54.000+05:30",
          "host" : {
            "hostname" : "bionic",
            "name" : "bionic"
          }
        }
      }
    ]
  }
}
mingshl@bcd0741e226d flat-object % curl 'localhost:9200/demo-flattened1/_search?pretty' --data '{
  "query": {
    "match": {
      "host": "bionic"
    }
  }
}
' -H "Content-Type:Application/json"
{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 0.39556286,
    "hits" : [
      {
        "_index" : "demo-flattened1",
        "_id" : "1",
        "_score" : 0.39556286,
        "_source" : {
          "message" : "[5592:1:0309/123054.737712:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.",
          "fileset" : {
            "name" : "syslog"
          },
          "process" : {
            "name" : "org.gnome.Shell.desktop",
            "pid" : 3383
          },
          "@timestamp" : "2020-03-09T18:00:54.000+05:30",
          "host" : {
            "hostname" : "bionic",
            "name" : "bionic"
          }
        }
      }
    ]
  }
}

-- update doc ---
 curl -XPOST "localhost:9200/demo-flattened1/_update/1" -d'{
    "doc" : {
        "host" : {
          "osVersion": "Bionic Beaver",
          "osArchitecture":"x86_64"
        }
    }
}' -H "Content-Type:Application/json"

--- query on added sub field name --
curl 'localhost:9200/demo-flattened1/_search?pretty' --data '{
  "query": {
    "match": {
      "host": "osArchitecture"
    }
  }
}
' -H "Content-Type:Application/json"

{
  "took" : 2,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 1.0303539,
    "hits" : [
      {
        "_index" : "demo-flattened1",
        "_id" : "1",
        "_score" : 1.0303539,
        "_source" : {
          "message" : "[5592:1:0309/123054.737712:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.",
          "fileset" : {
            "name" : "syslog"
          },
          "process" : {
            "name" : "org.gnome.Shell.desktop",
            "pid" : 3383
          },
          "@timestamp" : "2020-03-09T18:00:54.000+05:30",
          "host" : {
            "hostname" : "bionic",
            "name" : "bionic",
            "osVersion" : "Bionic Beaver",
            "osArchitecture" : "x86_64"
          }
        }
      }
    ]
  }
}

@mingshl Great! I will have a look tmrw.
BTW, do you think we will need FlatObjectQueryBuilder at all? In other words, do you think the plugin will need to implement SearchPlugin interface? Wouldn't be MapperPlugin interface sufficient?

@lukas-vlcek Made another commit I made for flat multiple nested fields which should flat multiple layers, so in regarding to how many inner layer of nested JSON, it should be handed in the KeyValueJsonXContentParser.
I tested with the following nested Json documents, this is a three levels nested documents:
curl -XPOST "localhost:9200/demo-flattened1/_update/1" -d'{
    "doc" : {
        "host" : {
          "osVersion": {"versionNumber": "one",
                       "versionName": "Bionic Beaver",
                       "versionContact":{
                          "email"<EMAIL_ADDRESS>                          "first name": "me"
                       }
                       },
          "osArchitecture":"x86_64"
        }
    }
}' -H "Content-Type:Application/json"

{"_index":"demo-flattened1","_id":"1","_version":2,"result":"updated","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1}%
``
`mingshl@bcd0741e226d OpenSearch-Mingshl-2 % curl -XGET "localhost:9200/demo-flattened1/_search?pretty=true" -d'{
  "query": {
    "term": {
      "host"<EMAIL_ADDRESS>    }
  }
}' -H "Content-Type:Application/json"
{
  "took" : 44,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 1.0933416,
    "hits" : [
      {
        "_index" : "demo-flattened1",
        "_id" : "1",
        "_score" : 1.0933416,
        "_source" : {
          "message" : "[5592:1:0309/123054.737712:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.",
          "fileset" : {
            "name" : "syslog"
          },
          "process" : {
            "name" : "org.gnome.Shell.desktop",
            "pid" : 3383
          },
          "@timestamp" : "2020-03-09T18:00:54.000+05:30",
          "host" : {
            "hostname" : "bionic",
            "name" : "bionic",
            "osVersion" : {
              "versionContact" : {
                "first name" : "me",
                "email"<EMAIL_ADDRESS>              },
              "versionName" : "Bionic Beaver",
              "versionNumber" : "one"
            },
            "osArchitecture" : "x86_64"
          }
        }
      }
    ]
  }
}
`

In the past commits, I can achieve the following functionalities:

create an flat-object index with mapping to flatobject type
upload Json documents and mapped as string
update fields with new subfields, including nested Json subfields.
query subfield's field name under field name. for example "field name = subfield's fieldname"
query subfield's value with under field name. for example "field name = subfield's value"

But there are a couple things in my list that I didn't go through yet

[ ] 1. query through dot path. example "field name.subfield = subfield's fieldname"
[ ] 2. query with filters
[ ] 3. add normalizers

....
I am still working on the dot.path notation query, so might keep the querybuilder file until that.

Requesting review from @froh

@msfroh that is?

@mingshl wrote:

Requesting review from @froh

I think you meant @msfroh?

yes, thank you!

@lukas-vlcek I made some updates to the KeyValueJsonXContentParser so it also recognize the full path as keyword in search.
 % curl -XGET "localhost:9200/demo-flattened1/_search?pretty=true" -d'{
  "query": {
    "match": {
      "host": "host.hostname=bionic"
    }
  }
}' -H "Content-Type:Application/json"

{
  "took" : 55,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 0.21696386,
    "hits" : [
      {
        "_index" : "demo-flattened1",
        "_id" : "1",
        "_score" : 0.21696386,
        "_source" : {
          "message" : "[5592:1:0309/123054.737712:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.",
          "fileset" : {
            "name" : "syslog"
          },
          "process" : {
            "name" : "org.gnome.Shell.desktop",
            "pid" : 3383
          },
          "@timestamp" : "2020-03-09T18:00:54.000+05:30",
          "host" : {
            "hostname" : "bionic",
            "name" : "mr bionic",
            "osVersion" : {
              "versionName" : "Bionic Beaver",
              "versionNumber" : "one",
              "versionContact" : {
                "first name" : "me",
                "email"<EMAIL_ADDRESS>              }
            },
            "osArchitecture" : "x86_64"
          }
        }
      }
    ]
  }
}

But it currently creates only one stingField.
For better query performance, next step, I should make FlatObjectFieldMappers that create two fields, one field for value only and one subfield for pathAndContent.

@mingshl
I fixed a naming bug with yaml resource folder that was preventing the testcluster to find the yaml tests.
We should be able to create and run real yaml tests now!
You can use ../../gradlew clean :plugins:flat-object:yamlRestTest or you can run/debug them directly from Idea! (right-click on the yamlRestText folder and select Run and then the gradle option).
The first test that we have there (10_basic.yml) is currently failing due to interesting issue, I am 👀  at it:
[2023-02-17T02:25:30,307][INFO ][o.o.f.FlatObjectClientYamlTestSuiteIT] [test] initializing client, minimum OpenSearch version [3.0.0], cluster-manager version, [3.0.0], hosts [http://[::1]:60795, http://<IP_ADDRESS>:60796]
[2023-02-17T02:25:30,478][INFO ][o.o.f.FlatObjectClientYamlTestSuiteIT] [test] Stash dump on test failure [{
  "stash" : {
    "body" : {
      "error" : {
        "root_cause" : [
          {
            "type" : "mapper_parsing_exception",
            "reason" : "Expected map for property [fields] on field [catalog] but got a class java.lang.String",
            "stack_trace" : "MapperParsingException[Expected map for property [fields] on field [catalog] but got a class java.lang.String]

@peterzhuamazon I am trying to understand more about gradle-check.yml. It seems to be the last check that is failing on our PR. Is this check expected to work in this situation (upstream repo-clone/branch PR)? Shall we just remove this file in our case and only put it back when we move to feature branch in the upstream repo?

@mingshl
FYI, according to https://docs.github.com/en/actions/managing-workflow-runs/disabling-and-enabling-a-workflow it is possible to disable individual workflows. I am going to disable https://github.com/mingshl/OpenSearch-Mingshl/actions/workflows/gradle-check.yml
cc @peterzhuamazon

Thanks @peterzhuamazon for the suggestions.  Hi @lukas-vlcek since we are not pushing over the upstream, that's fine to remove the gradle check yml file. We will include the gradle check when we are ready to push to main.

Hi @lukas-vlcek To test the performance of flatObject, I spent some time added a new class FlatObjectMappingBenchmark,
I tested with a document with 100 nested level , each with 10 subfields, in using Dynamic Mapping, it gets exception of fields over 1000. BUT it works pretty nicely with Flat-Object Mapping.
here are some benchmark outcomes:
Benchmark                                                                   Mode  Cnt     Score    Error  Units
FlatObjectMappingBenchmark.CreateDynamicIndex                               avgt  100   255.615 ±  9.534  ms/op
FlatObjectMappingBenchmark.CreateFlatObjectIndex                            avgt  100   279.247 ±  9.157  ms/op
FlatObjectMappingBenchmark.indexDynamicMapping                              avgt  100   365.284 ± 16.736  ms/op
FlatObjectMappingBenchmark.indexFlatObjectMapping                           avgt  100   361.555 ± 14.835  ms/op
FlatObjectMappingBenchmark.searchDynamicMapping                             avgt  100   404.177 ± 17.067  ms/op
FlatObjectMappingBenchmark.searchFlatObjectMapping                          avgt  100   407.120 ± 25.673  ms/op
FlatObjectMappingBenchmark.searchFlatObjectMappingWithOneHundredNestedJSON  avgt  100  1145.303 ± 29.177  ms/op
I shall also test some edge case like 999 subfields in the future commits in using DynamicMapping and FlatObjectMapping, please expect them in the coming week.
Thanks  @dai-chen for introducing micro-benchmark tool (https://github.com/dai-chen). Requesting review from @dai-chen about this Add FlatObjectMappingBenchmark class.

Hi,
I was not aware I was tagged here as well.
But just like @mingshl mentioned I talked with here, that this PR is not send to upstream.
Therefore, the gradle check will not trigger correctly as it is missing key secrets.
Just run gradle check locally for this, and when you send the PR to upstream, it will trigger correct with no issues.
Thanks.

@lukas-vlcek  I successfully created two subfields as keyword in the new commit!!!!
The lesson learn I have is that each field would need a fieldmapper, a field type and a field. So I created the ValueFieldMapper and ValueAndPathFieldMapper, and also their field type and fields. It works nicely in the benchmarking class. Please see the new commit in detail
I think we have enough to put up a draft PR to the core. I am about to create a new PR again core as API just as we discuss in the issue.

After talking to the maintainers, because we are going to release in 2.7, we don't need a feature branch. I got the suggestions that we should start raising a pull request to the main branch. Please see the draft PR  6507 @lukas-vlcek I don't have permission at assign you, maybe you can try assign yourself in the draft PR?

Sure. We don’t need a new querybuilder, I will remove it in today’s commit.
From: Lukáš Vlček @.>
Reply-To: mingshl/OpenSearch-Mingshl @.>
Date: Tuesday, March 21, 2023 at 7:02 AM
To: mingshl/OpenSearch-Mingshl @.>
Cc: "Liu, Mingshi" @.>, Mention @.***>
Subject: Re: [mingshl/OpenSearch-Mingshl] Add Keyword Field and Refactor FieldMapper with ParameterizedFieldMapper (PR #3)
@mingshlhttps://github.com/mingshl Looking at new commits now. A real quick note - do you think you can remove binary QueryFlatObjectTests.class file? I am not sure if QueryFlatObjectTests.java file would pass style check (formatting).
—
Reply to this email directly, view it on GitHubhttps://github.com/mingshl/OpenSearch-Mingshl/pull/3#issuecomment-1477892281, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A3BBKSRTP5UTMCPU4AP7ZSDW5GYFRANCNFSM6AAAAAAUWHIDTI.
You are receiving this because you were mentioned.Message ID: @.***>


[Neo4jBatchGraph] edge index gets not created automatically

Hello, I have some very simple code which creates a Neo4jBatchGraph, wraps that in GraphSail,
and then tries to load triples from an NTriples file.
However, I get this error:
java.lang.IllegalStateException: the provided graph has no 'edges' index
After some googling, I found out that this can be fixed by the following lines of code:
//        neobatch.createAutomaticIndex(Index.VERTICES, Vertex.class, null);
//        neobatch.createAutomaticIndex(Index.EDGES, Edge.class, null);
However, if I then load the directory as a normal GraphSail ( Neo4jGraph () ) ,  and ask some SPARQL queries, then I get different answers then if I would have started with a normal Neo4jGraph in the first place.
What I am trying to say is this:

It seems like Neo4JGraph is using some sort of magic when it creates the default indeces.
Neo4jBatchGraph is not implementing the same kind of magic
Manually recreating that magic is not working for me.

However, it seems to me, like Neo4jBatchGraph is not usable as an out-of-the-box replacement for a Neo4JGraph right now. So that looks like a bug to me.
The code which I am using is here: https://gist.github.com/1453740
Please let me know if you have other questions, or if I am just doing something wrong.
sincerely, Benjamin.

I forgot to mention the versions:
blueprints 1.1 (release)
neo4j 1.5 (release)

You are correct that Neo4jBatchGraph is not a replacement for Neo4jGraph.  Neo4jBatchGraph is meant for bulk insertion of data into a graph (and in that task is much, much faster than other means).  Neo4jBatchGraph is not a full Blueprints implementation so you can expect it to behave strangely for things other than data loading.
My guess is that indices are not created by default as a means to protect performance of the load.
I'll let @okram have the final word on this one as he did the work for Neo4jBatchGraph, but I think that's the reasoning.

As it stands, Neo4jBatchGraph is not a replacement for Neo4jGraph NOR a faithful implementation of Graph. Over time we may make it so, but for now, not.


khal: 0.10.2 -> 0.10.3

Motivation for this change
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 120920 at 7e47f02d run on x86_64-linux 1

1 package built successfully:

khal

2 suggestions:

warning: missing-patch-comment
Please add a comment on the line above, explaining the purpose of this patch.
Near pkgs/applications/misc/khal/default.nix:13:5:
   |
13 |     ./skip-broken-test.patch
   |     ^

warning: unused-argument
Unused argument: fetchpatch.
Near pkgs/applications/misc/khal/default.nix:1:31:
  |
1 | { lib, stdenv, pkgs, python3, fetchpatch, glibcLocales }:
  |                               ^


No Documentation on how to remove a SharePoint App Only registration

Would it be possible to details about how to remove a registration to this page? Or at least have a link to this documentation on this page in the event it exists somewhere else.

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

ID: 35a3017a-6d6c-237f-fc57-94247a8f7bf6
Version Independent ID: 93413445-18fa-9245-ea64-1c1d789dce1e
Content: Granting access using SharePoint App-Only
Content Source: docs/solution-guidance/security-apponly-azureacs.md
Product: sharepoint
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

Hi @groogiam,
You can retrieve registered app permissions in the Site Collection App Permissions page AppPrincipals.aspx from the Site Collection where you've added permissions.
More info here

Great thanks!


Final AudioStream Design for the first release

Pull request checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[x] Build (dotnet build) was run locally and any changes were pushed
[x] Lint (dotnet format) has passed locally and any fixes were made for failures

Issues

#64

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

This PR is dependant of #62

Closes Section

Closes #64

Reviewed externally, ready to merge


entangled-states.ipynb: fix typo

It seems that 1 needs to be changed to 0 here, otherwise, it doesn't make sense.

 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.


Create new API UI issues

Better to remove tab-stop from the tooltip.
Need to fix grammatically.

I am not sure if this description is really needed, as the label ("Make this this the default version") is self descriptive.
I guess the message given here is not exactly correct, is it? It states that this option selection will/will not make this API the default API version among API's of the same name.  It should be name and context correct? If so, it should be, among different versions of the same API.
There is a tool tip  and a description both in place. IMO, I think one of it is enough.
A message such as "Determines if this should be the default version among multiple versions of this same API."  can be used at the bottom, and if we are going ahead with the tool tip, we can explain a bit more.


Create docker image for TRSS for new users

For new users, it will much easier if we have a TRSS docker image for them to try. Sample data should be inserted into database, so users can see the graphs or pipelines.
This docker image can also be used for setup PR build  https://github.com/AdoptOpenJDK/openjdk-test-tools/issues/374

FYI @d3r3kk @milderhc

Three possible use cases:

production server
PR builds
new users

@milderhc is working on this

@milderhc to update as he progresses

Thanks @milderhc for PR #467 . It provides us a way to break up TRSS into 3 containers.
@OscarQQ will look into have TRSS in one docker image. This will help onboard new people.


Add biomes

Progress on Requirements 2, 3, 4, 6, 7
2, 3: Created generation of additional biomes - jungle and snow
4: Added plant generation unique to each biome
6: Updated underground blocks to never have grass or snow on top upon generation
7:  Added generation of underground blocks not unique to biome

Overall looks good for implement add additional bioms. All I would recommend is fix some indentation fprmating problem for your edited files, and add doxyegen formatted comment for your new added function of hearder file in order to generated formatted code documentation for SDD.


Support pausing a decoupled Sink from SQL

Is your feature request related to a problem? Please describe.
Usecase:  sometimes user may want to prevent data coming out from RW but don't want to pause the entire cluster.
We don’t provide a way for user to just pause a Sink right now, I think for the Sink with sink_decuple = true it is feasible to provide a way to pause a Sink job from sql.
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

so why not directly drop the sink?

so why not directly drop the sink?

If we sink a MV out, when recreate the sink we need to backfill historical data again to ensure all data go out to downstream. Backfill historical data will deliver data already in downstream.

so why not directly drop the sink?

If we sink a MV out, when recreate the sink we need to backfill historical data again to ensure all data go out to downstream. Backfill historical data will deliver data already in downstream and introduce unnecessary write traffic to downstream.

We support a snapshot option in CREATE SINK: https://docs.risingwave.com/docs/current/sql-create-sink/
When snapshot=false, the backfilling will be skipped.

Dropping the sink and recreate it with snapshot=false can cause the data ingested between DROP SINK and CRETE SINK to be missing in the sink though.
I can think of one case this feature is useful, which is when user's downstream system is overloaded and want to stop the traffic for a while before they can fix the downstream. Not sure whether it is valid though. If it is just a temporarily downstream failure, the current retry with backoff mechanism with sink decouple on seems good enough.

Dropping the sink and recreate it with snapshot=false can cause the data ingested between DROP SINK and CRETE SINK to be missing in the sink though.

That's it. To ensure at-least once delivery, backfilling is still needed.

I can think of one case this feature is useful, which is when user's downstream system is overloaded and want to stop the traffic for a while before they can fix the downstream.

Yes. We encounter a case that a user sinking a MV with large data into downstream PG but there is some issues with the PG cdc source they want to troubleshoot.

sink_decuple, or that fact that there is a hidden log store before the sink, is somehow a bit counter-intuitive from the user's perspective. Thus, I would like to keep it transparent to users in normal cases. Only when the sink can't work, the hidden log store helps to avoid the failure of all streaming jobs.
Applying this idea here, I think we may do this in risectl in case of contingency. User won't be aware of this except troubleshooting.


"Save as" not working in calculation component

"Save as" not working in calculation component
It works fine if the "Save As Suffix" input is empty.

Hi @JRiad, this should be fixed in the latest release of the plugin 0.1.3 on package manager. Can you please let me know any other issues.

@nathanlukeIDEA Great, thanks!


nixos/agetty: allow overriding the login program

Motivation for this change
NixOS currently hardcodes the use of shadow's /bin/login on console and serial terminals. This allows using an alternate implementation, e.g. https://github.com/google/glome (my current use case).
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/288

@jonringer in the absence of comments for almost a year, since you reviewed this, mind merging this PR?
Note that since I wrote this PR "loginOptions" got independently added to the agetty module, so this PR now is only the very simple loginProgram addition.

yea, looks pretty non-controversial :)
thanks :)


[Question] Use relax.VirtualMachine to call func, how to load params ?

❓ General Questions
For llama model, after mlc-chat convert_weights,gen_config, complie, the model can run with ChatModule, But when i use relax.VirtualMachine to call func, report error.

code
`python
primary_device = tvm.device(args.primary_device)
params, meta = tvmjs.load_ndarray_cache(args.artifact_path, primary_device)
const_params = []
for k, v in params.items():
const_params.append(v)
ex = tvm.runtime.load_module(os.path.join('dist/libs/Llama-2-3b-chat-hf-q4f16_1-MLC.so'))
vm = relax.VirtualMachine(ex, primary_device)
tokenizer = AutoTokenizer.from_pretrained(os.path.join(args.artifact_path), trust_remote_code=True)
inputs = tvm.nd.array(tokenizer(args.prompt, return_tensors="pt").input_ids.to(torch.int32).numpy(),primary_device,)
vm['embed'](inputs, const_params)
`

Perhaps you can refer to https://github.com/mlc-ai/mlc-llm/blob/main/tests/legacy-python/dump_intermediate.py, specifically there is a method called load_params_SLM()

@CharlieFRuan not work,same error


Net 7 is dead

Type of issue
Outdated article
Description
[Enter feedback here]
Can I work my way through this document using Net 8, as Net 7 is dead>?
Page URL
https://learn.microsoft.com/en-us/dotnet/architecture/microservices/
Content source URL
https://github.com/dotnet/docs/blob/main/docs/architecture/microservices/index.md
Document Version Independent Id
58c0d74e-2a5d-297e-4770-e8e44878b683
Article author
@jamesmontemagno
Metadata

ID: 031b20ec-7583-8277-f7a6-69ff3beffeac
Service: dotnet-architecture
Sub-service: microservices

This book is being replaced soon. Much of this is still applicable from architecture side of things. New book should be available in the next few months.


Enhancement: Add PHP 7.4 to build matrix

This PR

[x] adds PHP 7.4 to the build matrix

Thank you for your help, @Lctrs!


Investigate alternative secret detection engine

We are currently using Yelp detect-secrets, but there may be a better secrets detection hooks out there. Investigate options and make a decision on which available secrets detection hook is the best to use for secureli by default,
Note: There was is fork of detect-secrets that might work better, but we may decide to go in a totally different direction.

This looks like a good starting point, but note that it is published by one of the companies promoted in the list, so it's not unbiased.
https://spectralops.io/blog/top-9-git-secret-scanning-tools/

looking for open-source solution similar to Github Advanced Security, with particular interest in solution that leverages GenAI.
Could maybe reach out to connections at GitHub for potential partnership for using Advanced Security. @calebtonn can help coordinate with GitHub.


FsGrid reading regression

v0.9.23
On Julia 1.7.3:
| `["read", "FG"]`                 | 150.018 μs (5%) |         | 233.34 KiB (1%) |         201 |

On Julia 1.8.0-rc3:
| `["read", "FG"]`                 | 171.158 μs (5%) |         | 282.11 KiB (1%) |        3337 |

Fixed in 4e32548694. There is a {Int, Float64} type instability in getDomainDecomposition. I feel like this can potentially be done with all integers, but for now let's use Float64.


Swift5 & Xcode 10.2

Source code is unchanged, so just a question of configs.

@radianttap thank you! 🎉


get bad result for esc50

i have one GPU, so i changed some code in model.py and sed_model.py  and main.py
and set config.py like that:
dataset_type = "esc-50"
loss_type = "clip_ce"
sample_rate = 32000
classes_num = 50
then i just get ACC : 0.55
i changed
deterministic=False
dist.init_process_group( backend="nccl", init_method="tcp://localhost:23456", rank=0, world_size=1 ) for init_process_group error
code can be runing. but not get results same as your paper.

Hi,
Make sure you change these for config.py:

when training the ESC-50 dataset, we use the AudioSet pretrained checkpoint, so you need to save the checkpoint trained on AudioSet (or use our saved checkpoint) and put it in "resume_checkpoint", and do the training for ESC-50.
the learning rate can be 1e-4 for ESC-50 training since it is the fine-tune, but 1e-3 is also workable.
the deterministic = False/True might not effect the result too much, but if you use our AudioSet checkpoint, it is better to be True
ESC-50 dataset is originally not in 32000 Hz but in 44100 Hz. As mentioned in our readme. we provide a code to process it.
dist.init_process_group( backend="nccl", init_method="tcp://localhost:23456", rank=0, world_size=1 ) -> we do not have this code, this is automatically handled by pytorchlightening, where is it come from?

i just have single one GPU. so need to modify some code in  sed_model.py and main.py.
deterministic = False -----necessary
dist.init_process_group( backend="nccl", init_method="tcp://localhost:23456", rank=0, world_size=1 )-----necessary too
if i didn't modify these code, can't run in single one GPU.
OR could you give me correct modify code to support single GPU?

Hi.

You can follow these steps to run the model in GPU:
(1) the model can be train automatically in single GPU, the problem is that it cannot be validated or tested in a single GPU because we did not make it available in sed_model.py
(2) to support this, you need to understand three methods in SEDWrapper in sed_model.py: evaluate_metric, validation_epoch_end and test_epoch_end.
evaluate_metric is to calculate the mAP (for audioset) or acc (for ESC-50 and SCV2)
validation_epoch_end and test_epoch_end are almost the same: you obtain the model output from step_outputs.
The logic here is: In the multi-gpu model, you obtain the model output from different gpus. In that you need to gather them together and evaluate them together, which is what the method "dist.gather" does, and some methods such as "dist.get_world_size" and "dist.get_rank" is to make sure that it is running in the multi-gpu mode.

You probably know that if you want to run it in the single gpu model. You don't need to "gather" output from different gpus, you can directly send the output into the evalute_metric method to get the result. Therefore, you just need to:
(1) add another condition to judge if the model is running on single GPU (by using torch.cuda.device_count() == 1)
(2) directly send the output into the evaluate_metric method to get the result. (you need to understand the output shape by tracking in the "test_epoch_end" output.

We mention this the paper section 3.2.2, and generally many previous papers use AudioSet pretrained models to get the results for ESC-50.
Yes, and DESED do not need a fine-tune, we did not even train the model on DESED training set, because AudioSet contains all classes needed in DESED, we just did a 527->10 class mapping, as fl_audioset_mapping in config.py

thank you for your reply.
i have a question for own datasets. i want train own datasets for three classes include (good bad other 3)emotion. i have to finetune on AudioSet pretrained models? i can't mapping 527->3.

Hi
No, you don’t need to map 527 to 3. Similarly to ESC-50, you just replace the last mapping fully connected layer from 527 output to 3 output, and the previous layers will apply the audioset pretrained model weight, then you do the fine-tune.
Or, you can train from scratch, if you have many audio-mood data, I believe you could also achieve good results.

thanks a lot
I will try


protobuf suggestion - use event type default

If we consider that:

the type field is mandatory in CoT events
statistically, type=a-f-G-U-C represents nearly 2/3 (possibly even more)* of all forwardable event types

It should be possible to use the following convention:

when encoding XML to protobuf:

if the type field is empty or absent, drop the XML message as invalid CoT
if type=a-f-G-U-C, do not include a type field in the protobuf at all
otherwise, include the type field literally, the way it's done currently

when decoding protobuf to XML:

if type field is present in protobuf, transfer literally to XML
if type field is absent, set type=a-f-G-U-C in XML

Considering that the 'a-f-G-U-C` string is 9 bytes + 2 protobuf overhead, this will result in an 11-byte saving in more than 2/3 of the cases, with no negative impact on the other 1/3.
*source: personal research

https://github.com/paulmandal/libcotshrink/pull/13


⚠ Bofrost.be has degraded performance

In 0088f75, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1850 ms

Resolved: Bofrost.be performance has improved in a9496f7.


Update documentation on public key format and re-add tests

The public_key_id SHOULD be an RFC3986 conformant URI. We can not enforce any public key format without breaking backwards comparability.
MUST and SHOULD are being used as defined in rfc2119.

Could we please also address the revert to the fixes to tests as suggested by @steakunderscore in https://github.com/grafeas/grafeas/pull/444#issuecomment-629505126?

I assume you'll need to regenerate the committed go code and swagger output:
proto/v1beta1/common_go_proto/common.pb.go
proto/v1beta1/swagger/grafeas.swagger.json

I assume you'll need to regenerate the committed go code and swagger output:
proto/v1beta1/common_go_proto/common.pb.go
proto/v1beta1/swagger/grafeas.swagger.json

done, and re-added the tests from pr #432


Keychain returned unexpected status code: -25299

Goals
Update project to test frozen objects with SwiftUI
Actual Results
Crash on App launch. And receive this :

Terminating app due to uncaught exception 'RLMException', reason: 'Keychain returned unexpected status code: -25299'

Steps to Reproduce
I made a copy of my project and update Realm to 5.0.0 beta-3
I launch the app in the simulator
Realm framework version: 5.0.0 beta-3
Realm Object Server version: ?
Xcode version: 11.4.1
iOS/OSX version: bêta 10.15.5 (19F62f)

Same with beta 6

Anyone able to resolve this? I receive the same error with the official 5.0.0 release. Using Xcode 11.3.1.

Problem with SyncUser ?
0   CoreFoundation                      0x00007fff23e39f0e __exceptionPreprocess + 350
1   libobjc.A.dylib                     0x00007fff50ad79b2 objc_exception_throw + 48
2   Realm                               0x000000010b8ba087 _ZZ31+[RLMSyncManager sharedManager]ENK3$_0clEv + 231
3   Realm                               0x000000010b8b9f5d _ZNSt3__1L8__invokeIZ31+[RLMSyncManager sharedManager]E3$0JEEEDTclclsr3std3__1E7forwardIT_Efp_Espclsr3std3__1E7forwardIT0_Efp0_EEEOS2_DpOS3 + 29
4   Realm                               0x000000010b8b9f38 _ZNSt3__117__call_once_paramINS_5tupleIJOZ31+[RLMSyncManager sharedManager]E3$_0EEEE9__executeIJEEEvNS_15__tuple_indicesIJXspT_EEEE + 40
5   Realm                               0x000000010b8b9f05 _ZNSt3__117__call_once_paramINS_5tupleIJOZ31+[RLMSyncManager sharedManager]E3$_0EEEEclEv + 21
6   Realm                               0x000000010b8b9ddd _ZNSt3__117__call_once_proxyINS_5tupleIJOZ31+[RLMSyncManager sharedManager]E3$_0EEEEEvPv + 29
7   libc++.1.dylib                      0x00007fff4f8fac8a _ZNSt3__111__call_onceERVmPvPFvS2_E + 139
8   Realm                               0x000000010b8b2ccc _ZNSt3__1L9call_onceIZ31+[RLMSyncManager sharedManager]E3$0JEEEvRNS_9once_flagEOT_DpOT0 + 92
9   Realm                               0x000000010b8b2c50 +[RLMSyncManager sharedManager] + 32
10  Realm                               0x000000010b8eacbe +[RLMSyncUser currentUser] + 46
11  RealmSwift                          0x000000010cdd8a0b $sSo11RLMSyncUserC10RealmSwiftE7currentABSgvgZ + 43

@Krysbe do you have any sample code we could see?

The problem is that the app crash on lunch and Xcode don’t point any problem somewhere in my code.
Everything works with realm 4.4.1

`class SessionStore : ObservableObject {
var didChange = PassthroughSubject<SessionStore, Never>()

@Published var session:SyncUser? { didSet { self.didChange.send(self) }}

init() {
    session = SyncUser.current
    listen()
}

func listen() {
    if let user = SyncUser.current {

//            print("we got a user (String(describing: user.identity))")
self.session = user
}else{
self.session = nil
}
}
func logOut() {
    do {
        session?.logOut()
        try Auth.auth().signOut()
        listen()
        return
    } catch {
        return
    }
}

}`

I have the same error with the official 5.0.0 release. I'm using Xcode 11.4.1. It's working on simulator, but doesn't work on real device with iOS 13.4.

Same on simulator and real device for me.

But on Xcode 11.5 beta only crash on real device.

Just updated. Have the same error on 5.0. Works ok now on Simulator not on the iPhone. Running at X11.4.1 & 13.4.1.  Have to delete all data and reset Simulator to get it going. Frustrating ...

The error code is errSecDuplicateItem, which indicates that we're trying to insert an item that's already present in the keychain. The relevant code is at https://github.com/realm/realm-object-store/blob/820b74e2378f111991877d43068a95d2b7a2e404/src/impl/apple/keychain_helper.cpp: metadata_realm_encryption_key() is called by SyncManager, which calls get_key() to look up the existing encryption key, and if that fails generates a new random key and calls set_key() to save it.
Getting errSecDuplicateItem means that get_key() failed to find the stored key even though it exists, and we use the exact same search dictionary for both getting and settings so it's not obvious why this would happen.

Actually, now that I look at it again, it is obvious why it would happen: we changed from using kSecAttrAccessibleAlways to kSecAttrAccessibleAfterFirstUnlock and that's being used for the lookup as well as the set, so it's going to fail to find the key for existing installs...

Actually, I don't think the above change can be blamed as it was introduced in 5.0 and so does not explain seeing the problem in 4.x.

Any chance one of you can send a sandboxed version of your application that has the crash? Would be easier to debug that way.

Sure. How to ?

Should be able to zip up your project dir and just attach it to a comment here.

No other way than publicly ?

Do you have an email address I can contact you on? Otherwise, contact me through the email on my GitHub profile.

I get the same error here. In my case the crash was when accessing SyncManager.shared. I was trying to set up sync logging before signing in (in my app delegate) using SyncManager.shared.logLevel = .all
See stacktrace:
#0	0x00000001ae9855f0 in __exceptionPreprocess ()
#1	0x00000001ae6a7bcc in objc_exception_throw ()
#2	0x00000001049ef5a0 in +[RLMSyncManager sharedManager]::$_0::operator()() const at /Users/repcount/Code/app-iphone/Pods/Realm/Realm/RLMSyncManager.mm:136
#3	0x00000001049ef484 in decltype(std::__1::forward<+[RLMSyncManager sharedManager]::$_0>(fp)()) std::__1::__invoke<+[RLMSyncManager sharedManager]::$_0>(+[RLMSyncManager sharedManager]::$_0&&) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:4425
#4	0x00000001049ef45c in void std::__1::__call_once_param<std::__1::tuple<+[RLMSyncManager sharedManager]::$_0&&> >::__execute<>(std::__1::__tuple_indices<>) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/mutex:629
#5	0x00000001049ef42c in std::__1::__call_once_param<std::__1::tuple<+[RLMSyncManager sharedManager]::$_0&&> >::operator()() at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/mutex:621
#6	0x00000001049ef2bc in void std::__1::__call_once_proxy<std::__1::tuple<+[RLMSyncManager sharedManager]::$_0&&> >(void*) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/mutex:657
#7	0x00000001ae7fbf30 in std::__1::__call_once(unsigned long volatile&, void*, void (*)(void*)) ()
#8	0x00000001049e8414 in void std::__1::call_once<+[RLMSyncManager sharedManager]::$_0>(std::__1::once_flag&, +[RLMSyncManager sharedManager]::$_0&&) at /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/mutex:675
#9	0x00000001049e8388 in +[RLMSyncManager sharedManager] at /Users/repcount/Code/app-iphone/Pods/Realm/Realm/RLMSyncManager.mm:129
#10	0x0000000105e002d8 in static RLMSyncManager.shared.getter at /Users/repcount/Code/app-iphone/Pods/RealmSwift/RealmSwift/Sync.swift:55

If I remove access to syncmanager, the app is running fine.

Same on Xcode 11.5 (11E608c),  Realm (5.0.0), only crash on real device.

Device or simulator doesn't make any difference whatsoever for me. All access to the SyncManager crashes with keychain error on both the simulator and real device.
Realm: Any updates on this issue?

e change can be blamed as it was introduced in 5.0 and so does not explain seeing the problem in 4.x.

But the problem wasn't there in 4.x right? Or was the change you are talking about introduced in 4.x and thus not the reason for the crashes that started in 5.0?

This is a show-stopper for me .. had to back out 5

This a crashing bug for which there is no workaround besides backtracking to 4.x. It was reported 24 days ago and still there is no resolution. This is not a good look for the company and does not instill confidence in developers.

@levelchanger Looks like this one has been reported twice. Realm is working on it and it looks like they have a fix for it ready to be merged. https://github.com/realm/realm-cocoa/issues/6538


Masking seems good but no skeleton

Hello, I've installed the Tierpsy tracker via Docker and its been working great! However, Im having issues with the skeletons. During set parameters, im able to see the mask of the worm well and also tweaked additional parameters to try to identify the worm better. However, no matter what i do, the tracker does not show me a single skeleton or shows me inaccurate skeletons. This might be because of the low res video quality (Sample below) Please kindly advise on which parameters I can change to help identify the worms better!

Thank you !

I think the issue isn't the resolution but the contrast.  It's just hard for the algorithm to identify a continuous worm.  The skeletons are drawn by first tracing the outline and then drawing the midline between the two sides.  In the example here there's a bit of a gap that causes it to only get half the worm.  Unfortunately I don't think you'll be able to solve that with different parameters but will need videos with higher contrast and/or more continuous worms.
We're working on an improved skeletonisation algorithm that should help (following additional training on your type of data) but it's not ready to release just yet.


[NEW CONTENT TYPE REQUEST] Source BSP

What type of file would you like magika to detect?
Source Engine Binary Space Partition (.bsp)
What software can create/open these files?
VBSP
Where can these files be found?
Any Source Engine game. Use GCFScape to extract even more BSPs from 'dir.vpk' files.
https://www.runthinkshootlive.com/
https://www.moddb.com/engines/source/games
Make your own Source VMF files, then compile them to BSP using VBSP, included with any Valve published Source Engine game on Steam.
If possible, please provide a specification for this file type.
https://developer.valvesoftware.com/wiki/BSP_(Source)
Additional context

Closing, see #152 for context. Thanks!


Using the date token to bypass Sankaku page limit

I was investigating the chan.sankaku source again and found something very interesting.
It seems that non-registered users can view up to 100 pages of any tag, Registered users (cost is free) can view up to 1000 pages of any tag.
Each chan.sankaku page has 14 images per page. That is why when I was downloading images I was only able to download a maximum of 1400 images, because I was a free user and 100*14=1400. Technically speaking with a registered account you could download 14000 images, but there is another bypass for that.
In the standard downloader per page (auto-paging off) should be like this for the tag breasts "https://chan.sankakucomplex.com/?tags=breasts&page=2". The problem with this tag is that there is, even with a registered account a maximum of 14000 images, while the tag "breasts", for example, yields over one million results. I have found a way to bypass all of these for the chan.sankaku channel. Now the current download system for chan.sankaku downloads based on tags and page numbers. But due to restrictions in that form of indexing, the downloader encounters errors.
Instead of showing all results with using page numbers, you can use the search function date:"dd.mm.yyyy" Using this function bypasses view all page limits. Here is the tag "breasts" with the date function in use, and all statistics remain the same except for the date for any tag. The will change depending on the wish of the user, but to download all images found by the tag, date must be used.                                                                                https://chan.sankakucomplex.com/?tags=breasts+date%3A20.11.2015&commit=Search
Using date and tags feature for obtaining page numbers and images will overcome the limitations imposed by using only the tag (including necessity for an account). Everything inside quotes is dynamic and everything outside is static.
Thank you for your time and hard work, and I hope this observation helps and can be used to improve.

Found this out myself too xD


Use MujinResourceIdentifier for GetPrimaryKeyFromURI

This PR uses MujinResourceIdentifier for GetPrimaryKeyFromURI.
Mainly, MujinResourceIdentifier has the exact same logic for this already, with the extra handle of empty schema, which is not in this part of code removed.
https://github.com/mujin/mujinwebstackclientpy/blob/e8d38374ca04d38e83333755a7c2ec9adbc32314/python/mujinwebstackclient/uriutils.py#L465-L481

thanks


Git cannot be installed

Git cannot be installed with error msg "access denied"（拒绝访问）
> winget --info
Windows Package Manager v0.1.41331 insider

Windows: Windows.Desktop v10.0.19041.264

Package: Microsoft.DesktopAppInstaller v1.0.41331.0

I am also facing exact same issue even in powershell as Administrator.

I've run into this on two computers. Both got the Access denied  message without UAC. Downloading the installer manually from the Git website produce the UAC prompts and work fine.

@thomthom Did you start the cmd/PowerShell process as administrator? That's a requirement for this to work because on programs inherit elevated privileges from their parent process.

hm.. no, I didn't. I hadn't noticed that was a requirement. I guess I was expecting the UAC to prompt to elevate when needed.
Would that be possible to do? Short of that, detect it failed and provide a message as feedback suggesting to start a new terminal with elevated access?

Hi @denelon, we faced this today. This is probably due to the company's IT restrictions.
I can confirm what was said earlier, from winget folder it fails with access denied, but from desktop or any other folder, it works. Running winget as an administrator does not help.
/cc @mrbernardi


Add security to mutations

Summary of change
Added spring-security with ADMIN role.
There is no use for a USER role by now since queries should be allowed for everyone.
If it is need it can be added easily.
Mutations are only allowed for ADMIN while queries are allowed for everyone.
Related issue
Closes #69
Pull request checklist
Please keep this checklist in & ensure you have done the following:

[x] Read, understood and adhered to our contributing document.

[ ] Ensure that you were first assigned to a relevant issue before creating this pull request
[x] Ensure code changes pass all tests

[x] Read, understood and adhered to our style guide. A lot of our code reviews are spent on ensuring compliance with our style guide, so it would save a lot of time if this was adhered to from the outset.

[x] Filled in the summary, context (if applicable) and related issue section. Replace the square brackets and its placeholder content with your contents. For an example, see any merged in pull request

[x] Created a branch that has a descriptive name (what your branch is for in a few words and includes the issue number at the end, e.g. test-reading-goal-123

[x] Set this pull request to 'draft' if you are still working on it

[x] Resolved any merge conflicts

For any of the optional checkboxes (e.g. the screenshots one), still check it if it does not apply.
If in doubt, get in touch with us via our Slack workspace or by creating a new Q&A discussion on GitHub

Hi @hsteinmueller, thanks for working on this. Unfortunately, this violates our contributing guidelines, as we request that you first request to be assigned to avoid duplicated work (someone is already assigned to this issue).
If this issue becomes available (if the person assigned to it doesn't respond within our time frame and the next person who enquiried on the issue also doesn't want to work on this or doesn't respond, we can offer this to you).


Response for updated attachment corrected for jira cloud

Fixes issue #94
I am debugging this and looks like for POST /wiki/rest/api/content/{id}/child/attachment/{attachmentId}/data the API returns a
{ attachment }

instead of
{ "results": [attachment] }

The docs on the cloud version do not specify the return format so I cannot be sure the hosted version works the same way exactly.
Be aware that I only have a Jira Cloud available so maybe this breaks Jira hosted.

Yikes, the problem with this PR is that I'm 99% sure that this code worked before which means if we merge this, the program will not work on older versions of Confluence, right? I guess we need to check the version of Confluence or somehow try both formats.

Closing since the problem was resolved in #9cde833a181303bb851247ae263a554edf65113c


How to call contract's public variable?

In my contract, I have some public variables i.e. name, symbol and decimals like the following:
string public constant name    = "Cat Token";
string public constant symbol  = "CAT";
uint8 public constant decimals = 18;

But I'm not able to call it. I got into this error:
> contract.call.name()
NoMethodError: undefined method `name' for #<#<Class:0x007ff6811e7268>:0x007ff6811e7150>
	from (irb):261
	from /Users/zulh/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `<main>'

Am I missing something here?

Try making a getName() function that just returns name. Then call that.

I think this issue is related to #67

@zulhfreelancer
Thanks for the issue. Please migrate as we will maintain the eth.rb library here. ;)


Moves classes from spring-cloud-security to spring-cloud-commons

Moves classes from spring-cloud-security to spring-cloud-commons

Related https://github.com/spring-cloud/spring-cloud-security/issues/231

Also instead of security.oauth2.resource.loadBalanced we could do sth like spring.cloud.oauth2.load-balanced.enabled=true ?

Done via https://github.com/spring-cloud/spring-cloud-commons/commit/1f0f750707140bca77995f7aea0cd8b0d471e31a


Handle rate limiting for ada-002 embedding model

Got this error:

openai.error.RateLimitError: Rate limit reached for default-text-embedding-ada-002 in organization org-2s2EXgTQ0xpZph33D2POEckd on tokens per min. Limit: 1000000 / min. Current: 598769 / min. Contact us through our help center at help.openai.com if you continue to have issues.

That was when I accidentally tried to embed a HUGE volume of content (I had meant to use sentence-transformers/all-MiniLM-L6-v2).

FWIW, I got the same error loading ~6k emails.

I got this same error and wanted to change ada for sentence-transformers/all-MiniLM-L6-v2, but I didn't find how to load it from Python. Neither collection = llm.Collection("entries", db, model_id="sentence-transformers/all-MiniLM-L6-v2") nor collection = llm.Collection("entries", db, model_id="all-MiniLM-L6-v2") seem to work, even though I have created a collection from the command line using sentence-transformers/all-MiniLM-L6-v2. What is the right way to do this?

I get the same error as @tomsib2001, but I already did this:
llm install llm-sentence-transformers
and this doesn't change anything either:
pip install sentence-transformers


Update readme to include correct library name

npm i is case sensitive and the README has SQHooks instead of sqhooks and could cause confusion for people trying to install the library. We should update it to be correct.

This issue was addressed here https://github.com/SelectQuoteLabs/SQHooks/pull/35/files
The issue never closed because the PR didn't get linked to the issue.
Closing issue


Support SARIF format

Support the SARIF format feature which is introduced from SpotBugs 4.1.

Hi @spotbugs/everyone, please review this change when you have time. Thanks in advance!


Can I make a request

I need function like this:
I will enter a set of images and when I Detect Object some thing,
this program can match  between some thing to images
is that possible?

Please explain more.

Great! thanks for you  replay!  Here it is:
It's just like  I get a data base that have a lot of person picture ,and i using  monitor get a picture
now i don't know  who was in the monitor picture, so i want match this picture to my data base
so that i can find out who was in the monitor picture


A strange environment problem (windows and cygwin)

Hi,
usually I use csvkit inside cygwin, and it works great.
But I have strange stdin problem. If I run the below command on my debian machine I have no problem.
curl -s "http://<IP_ADDRESS>/BdProcedimenti/consulta/tmp/ProcOpenData.csv" | csvclean -d ";" -u 3 -e Windows-1252

If I run it in cygwin instead I have:
[Errno 22] invalid mode ('w') or filename: '_out.csv'
I know it's not a csvkit problem but something related on environment settings, but I do not know where to start.
Thank you

It seems something related to stdin.
If I write:
csvclean -d ";" -u 3 -e Windows-1252 MyInputFile.csv

I have No errors, csvclean reply properly to me.
But if I write:
csvclean -d ";" -u 3 -e Windows-1252 < MyInputFile.csv

I have
[Errno 22] invalid mode ('w') or filename: '_out.csv'

The problem seems related to the output file and to its name. If I set -n argument ( no output created) I have no problem.
If I remove -n and run
curl -s "http://<IP_ADDRESS>/BdProcedimenti/consulta/tmp/ProcOpenData.csv" | csvclean -d ";" -u 3 -e Windows-1252

I have [Errno 22] Invalid argument: '<stdin>_out.csv'
<stdin>_out.csv is the standard the name of the output file. Inside windows < and `>' are forbidden for naming a file.
What do you think to change the default name of output file when the input is a stdin?
Thank you

Fixed. Thanks for reporting!


App should be installed from play store or another whitelisted app store.

when we use cashfree payment gateway in production then show this error message
onError : {"message":"NOT_AVAILABLE is not a trusted source. App should be installed from play store or another whitelisted app store.","code":"installer_package_not_approved","type":"feature_not_enabled"}
and my app package name whitelisted in cashfree website

Please release the app in beta channel for internal testing in app store, then you can test it in production environment

worded


Diversity curve generator only uses the collections in the map view to plot diversity. This is NOT obvious nor apparent.

I think we need to change the entire Navigator system to plot everything all the time. We should NOT change the scope of the collections as you zoom in the map. This is proving to be VERY confusing to end users. This should simplify the code behind Navigator, which is malfunctioning anyway, see #98.

I think the best solution to this overall would be to stop filtering by screen extent and add a feature that allows the user to draw a bounding box manually. I'm picturing it as a tool that you would select from the bar, drag over the desired region to highlight it (i.e. gray out the rest of the map), and then you could zoom independent of the bounding box. It could then be given as a filter option in the filter box in the lower left corner as "(0.00 N, 0.00 E) x (1.00 N, 1.00 E)" and deleted the same way the other filters are.
Until that's implemented, though, we don't have any way to geographically restrict other than by screen extent. Would it be better not to do it at all than to do it the way we currently do, @markuhen?

Unfortunately, this change has still not been made. I have been focusing on data entry, and haven't had time to delve into the Navigator code. I didn't write that code, and would have to take some time to figure it out before I can make any substantive changes to it. I would love to do a thorough overhaul of Navigator, if we can find some funding somewhere to do that.

I think for now we just need to make it super clear on the diversity curve screen that it is plotting what was on the Navigator screen. That should suffice for now.

I've added a simple fix for this: it now just displays the lat/long values it's sending to quickdiv at the top right of the diversity modal. The awesome potential improvement discussed above has been moved to #112.


Add Symbol

Would be nice to add support for:

Symbol
Strict::Symbol

There's no built-in support for symbol coercion in Kernel so that's gonna be enough.

i'll take a stab at this tonight

This was already done last year, by me, oh well.

@solnic Symbol is put in NON_COERCIBLE in this commit https://github.com/dry-rb/dry-types/commit/761e75902a5c063116572c6fe9e25b3d2660d430
Can you make it coercible again?

i found workaround but it looks very ugly
Types::Strict::Symbol
      .constructor(-> (val) { val.to_sym })
      .enum(:a, :b, :c)

@morr Coercible uses coercion methods from Kernel and there's no Kernel.Symbol so we won't have coercible symbol. We could add coercible symbol to other types, like form or json.

 It's not a workaround, it's the way of using this library :)

Because of the way of using it for strings :)
Types::Coercible::String('a', 'b', 'c')

vs
Types::Strict::Symbol
  .constructor(-> (val) { val.to_sym })
  .enum(:a, :b, :c)

@morr you can just do this:
Types::Strict::Symbol.constructor(&:to_sym).enum(:a, :b, :c)

We can also think about adding a new type category for to_* coercions, so we have Coerible which uses Kernel coercion functions, and we'd have another one that uses to_s to_sym to_i and so on.

Just wondering why it's so important that the Coercible types are completely internally consistent in how they coerce a value? It seems to me that the important thing about these Types is that they coerce, not that they coerce using a particular method, and I don't see why users should be forced to think about subtle idiosyncrasies of Ruby itself (such as that there's a String() and a Integer() Kernel method but no Symbol()) just to coerce a type. (It's also worth nothing that when it comes to strings for example, String() is identical to to_s anyway except in some very rare cases that are barely worth considering, so it's not like a second set of types that uses to_s instead of String() would really make a difference anyway.)
Similarly, Ruby has no class called Boolean, only TrueClass and FalseClass. But we don't let this idiosyncrasy of Ruby stop us from adding a type called Bool, since it's a common use case that users will expect to be covered. Types::Strict::Bool is fundamentally different internally from the other types in the Strict namespace, but it doesn't matter because users don't care about the internals, they just care that their type is a bool. Why not apply a similar logic to users who care about coercing input to a symbol?

@georgemillo that's why I suggested that Coercible should be renamed to Kernel or KernelCoercion to make it more obvious.

It seems to me that the important thing about these Types is that they coerce, not that they coerce using a particular method

Actually, one of the biggest reasons why dry-types was created was to split coercion into different categories so that we can use dedicated coercion logic depending on the use case. That's why there's Coercible (but as I mentioned I don't like that name), FormandJSON(and we'll addParams` for http params, and Form/JSON will reuse a lot from it). This way it's simpler and faster, and your code that uses dry-types is more intentional.

Want to mention that to_* and Kernel methods have different semantics, Integer() will raise a TypeError if coercion is not possible and to_i will throw NoMethodError.

@waiting-for-dev first we need to decide IF we want to add this. I'm on the fence now, you'd rarely need it.

@solnic I think you are right. There is nothing that right now you can't do and that the new namespace would allow you. It seems it would make the library more comprehensive, but, after a second thought, I would leave as it is unless we find better reasons.
The only reason I miss it from time to time is when I have to write:
Types::Strict::Symbol.constructor(&:to_sym)

Sure I'm too fussy, but I don't like seeing Strict and :to_sym in the same line (it confuses me at first sight because they sound incompatible) and I would like just to be able to do Types::Coercible::Symbol, because it makes sense in my head, although I understand that it is a good thing to keep the semantics of the language. At the end, it is ruby's fault because there is no Kernel#Symbol() method :) Maybe we could add a type constructor helper for, at least, make it shorter? Something like Types.ToSymbol()

We could consider adding Params::Symbol and JSON::Symbol

Hmm, but sometimes you need it outside the scope of params and json coercions. I'm also using dry-types for non web development.

Types::Strict::Bool is fundamentally different internally from the other types in the Strict namespace, but it doesn't matter because users don't care about the internals, they just care that their type is a bool. Why not apply a similar logic to users who care about coercing input to a symbol?

So, I'm actually having second thoughts about this. It is true that we diverged from Ruby's semantics with Bool. I can also see how the lack of Coercible::Symbol may surprise people.
I think I'm OK with adding it, after all. Just needed 3 years to reconsider 😆 I'll talk to other core devs about this.

In fact, the thing is that Ruby semantics are not very consistent... For example, Kernel#String() will try to call first #to_str and then #to_s . Calling #to_s is by no means an acceptable way to coerce a type to a string (for example, Object#to_s).
My thought know is that the best thing to do would be to keep ruby semantics as an implementation detail (or expose them but not as the main API hierarchy) and to propose a consistent and rational type coercion system. That means adding Coercible::Symbol, keeping Coercible::Bool, changing Coercible::String so that it just tries to call #to_str or #to_s in a whitelist of classes (like Integer), and maybe something more.
Let me know what you decide and whether I can help in anything.

a consistent and rational type coercion system

I don't think this is a feasible thing :)

a consistent and rational type coercion system

I don't think this is a feasible thing :)

I think you are right :D But maybe we can reach until a certain degree taking a very conservative approach.

I think I'm OK with adding it, after all. Just needed 3 years to reconsider laughing I'll talk to other core devs about this.

@solnic did you and dry-rb team conclude something definitive?

@waiting-for-dev no, the focus was on other things

Ok, sorry for the push, I just wanted to know in order to collaborate with the implementation. I'll wait, I understand this is no high priority right now.

@timriley @flash-gordon are you OK with adding Coercible::Symbol and moving away from the idea that Coercible are only for coercions handled by Kernel?

I don't mind. I don't think adding a whole bunch of coercible types that use to_* for coercions makes sense. It looks more reasonable to add what's missing to Coercible instead.

@solnic @flash-gordon I'm happy for us to add Coercible::Symbol using #to_sym under the hood.
I do think we should aim to keep the Coercible family of types relatively small, but given the importance and wide use of symbols within typical Ruby programs, I think it needs to be in it.

OK so we have an agreement 🤝 😄

I re-opened this issue and update the description


Companion json error 2.0.7

Updated from 2.0.6, now companion throws a json error too long to type manually here when I try to connect companion .
Basically says an unexpected character encountered while parsing value P line 0 pos 0

This is due to Frontier's JSON API returning non-JSON in some situations.  This should be handled in EDDI 2.0.8 (now available) but if the problem persists you can remove your %APPDATA%\EDDI\credentials.json file and log in again through the EDDI UI to clear this.

FYI .8 worked great. I did have to delete my credentials.json file too
Thanks for the great program!


Conflicting dependencies on nltk

nltk==3.4.1 was added from https://github.com/microsoft/GODEL/commit/adee686f6dc480801f193008dc4d86f9db861f1c while nltk==3.7 was already there.

Same here .

same :(


Issue #8166: Partial implementation of Lightdash connector

Adds support for Lightdash in settings. Please note that the test_connection method still doesn't work yet.
Describe your changes:
Partially fixes 8166.

Added the JSON spec for Lightdash connector and registered it
Added stub methods to connect to lightdash

Please note that the API connection to Lightdash doesn't work yet.

Type of change:

[ ] Bug fix
[ ] Improvement
[x] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

New feature

[ ] The issue properly describes why the new feature is needed, what's the goal, and how we are building it. Any discussion
or decision-making process is reflected in the issue.
[ ] I have updated the documentation.
[ ] I have added tests around the new logic.

will be replaced by updated PR


MAAS-82 | Disable basic and session authentication for the API

API allowed to use multiple ways to authenticate with the API, this PR leaves only the Bearer token authentication method.

Codecov Report

Merging #58 (4902af9) into main (3ed7cc3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #58   +/-   ##
=======================================
  Coverage   88.41%   88.41%
=======================================
  Files          45       45
  Lines        1442     1442
  Branches      111      111
=======================================
  Hits         1275     1275
  Misses        137      137
  Partials       30       30

Impacted Files
Coverage Δ

maritime_maas/settings.py
83.92% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3ed7cc3...4902af9. Read the comment docs.


Merge k8s branch to master

This branch only adds files, and does not (significantly) change existing files. This means that existing mediawiki-containers users won't be affected by concurrent development work.

Wow @gwicke 44 commits! :)


Error Message

Using M1 Mac causing this error message following the "BW25 for Beginners" Guide...
Traceback (most recent call last):
  File "/Users/nico/anaconda3/envs/bw_23sep/lib/python3.11/site-packages/matrix_utils/utils.py", line 52, in safe_concatenate_indices
    return np.hstack(arrays)
           ^^^^^^^^^^^^^^^^^
  File "/Users/nico/anaconda3/envs/bw_23sep/lib/python3.11/site-packages/numpy/core/shape_base.py", line 359, in hstack
    return _nx.concatenate(arrs, 1, dtype=dtype, casting=casting)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: need at least one array to concatenate

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/nico/Library/CloudStorage/OneDrive-UniversitätGraz/Optimization Tool/Brightway Course/3 - Inventory data from spreadsheets.py", line 113, in <module>
    lca.lcia()
  File "/Users/nico/anaconda3/envs/bw_23sep/lib/python3.11/site-packages/bw2calc/lca.py", line 393, in lcia
    self.load_lcia_data()
  File "/Users/nico/anaconda3/envs/bw_23sep/lib/python3.11/site-packages/bw2calc/lca.py", line 261, in load_lcia_data
    self.characterization_mm = mu.MappedMatrix(
                               ^^^^^^^^^^^^^^^^
  File "/Users/nico/anaconda3/envs/bw_23sep/lib/python3.11/site-packages/matrix_utils/mapped_matrix.py", line 114, in __init__
    row_indices = safe_concatenate_indices(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/nico/anaconda3/envs/bw_23sep/lib/python3.11/site-packages/matrix_utils/utils.py", line 57, in safe_concatenate_indices
    raise AllArraysEmpty
matrix_utils.errors.AllArraysEmpty

...what's the exact cell where the error occurs?

this one here: "lca.lcia()".
But I guess the LCIA Method is not declared correctly:
"CC_method = [m for m in bd.methods if 'IPCC 2013' in str(m) and  'climate change' in str(m) and 'GWP 100a' in str(m) and not 'no LT' in str(m)][0]
CC_method"

I tested a little yesterday, but was unable to fix the notebook yet. Please use one of the other notebooks from our teaching repository for the time being: https://github.com/brightway-lca/from-the-ground-up


Create Headers and Footers

AIM
Create a custom Header and a Footer for the Website.
Features

Navigational Bar
Sections to Visit
Information about the Website on Footer

i would like to work on the issue .Please assign it

I have assigned you the issue. You can start working on it now @kashika3101


raidboss and job create high CPU usage when active bars are up

CPU: i5 6600k at 4.5gz overclocked.
GPU: GTX 1080
Primary Monitor: Asus Predator 1440p 144hz
Secondary: 1440p 60hz monitor, no overlay is on this monitor though.
ACT spikes CPU usage up to 30-40% when constantly moving bars are on the screen. These include timeline bars, pull countdown bar, and job overlay timer squares. Changing the refresh rate down from 144hz to 60hz helped mitigate the CPU usage, down to ~15-20% using the test module.

Can you do a test with countdown for me, with your refresh rate at 144hz?
Add the line console.log(+new Date()); to the top of the advance() function in https://github.com/quisquous/cactbot/blob/master/resources/timerbar.js#L331.  Then reload the jobs overlay, and do a countdown in game.
For me, I get output like:
3/6/2018 11:27:45 PM: Info: danabars: BrowserConsole:<PHONE_NUMBER>651
3/6/2018 11:27:45 PM: Info: danabars: BrowserConsole:<PHONE_NUMBER>667
3/6/2018 11:27:45 PM: Info: danabars: BrowserConsole:<PHONE_NUMBER>684

...which to me says that it's running every 16-17ms. CEF and overlays should be locked to 60fps, but you never know.  Surely something wonky is going on here.

My output is similarly spaced by 16-17 ms at 144hz.

:thinking: How does cactbot/resources/timerbar_test.js perform for you in a regular browser vs as an overlay? I'm curious if it's Chrome that's being slow or if there's some config setting that's causing Windows compositing of overlays to be slow whenever they update.

Both Chrome and the overlay spike to 30% CPU each while the bars are running. So I think it's a Chrome thing more than an overlay thing.

Yeah, that timer bar test is 3% cpu for me on m64 on my machine.  :thinking:
Maybe a trace would help.  Can you open Chrome on your machine with just the timer bar test page open.  Then open a second tab and go to chrome://tracing and follow these instructions to generate a trace file: https://www.chromium.org/developers/how-tos/submitting-a-performance-bug
Instead of submitting just save the zipped up trace file and attach it here.  You probably don't need more than like a second or two of recording.

Attached.
trace_timerbartrace.json.gz

Thanks! Renderer process looks pretty clean.  Renderer times per frame are 2ms main thread, 1.5ms compositor thread + rasterization.  Gpu process looks pretty pegged however, but it looks like it's mostly in drivers and not in Chrome.

I'm beginning to suspect something like:
https://www.reddit.com/r/pcmasterrace/comments/5o32vs/psa_for_people_with_144hz_60hz_dual_monitor_with/
https://www.reddit.com/r/Monitors/comments/73ifuo/144hz_causing_high_cpu_usage/
As an experiment, could you try disconnecting your second monitor and then rerunning the test bars in Chrome?

If anybody is seeing this bug still, it's been reported that the ngld overlayplugin helps to address this, for whatever reason.

If the ngld overlayplugin fixes this, then I'm going to close this.  Thanks again for all the debugging.


fix(rust): return error when maximum message length is exceeded

Current behavior
Currently messages sent over tcp and udp are not checked for the max length of 65535 bytes. The message is truncated and errors can occur when deserializing.
Proposed changes
The PR fixes https://github.com/build-trust/ockam/issues/6880. It adds a check for maximum length and returns an Error when it's exceeded.
Checks

[x] All commits in this Pull Request are signed and Verified by Github.
[x] All commits in this Pull Request follow the Ockam commit message convention.
[x] There are no Merge commits in this Pull Request. Ockam repo maintains a linear commit history. We merge Pull Requests by rebasing them onto the develop branch. Rebasing to the latest develop branch and force pushing to your Pull Request branch is okay.
[x] I have read and accept the Ockam Community Code of Conduct.
[x] I have read and accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam repository. The easiest way to do this is to edit the CONTRIBUTORS.csv file in the github web UI and create a separate Pull Request, this will mark the commit as verified.

updated the PR, let me know if this addresses your comments

Sorry, did a merge instead of rebase. What's the best way to fix this? new branch?

@shautvast I suggest that you recreate your branch off develop, cherry-pick your commits, and force-push the branch.


[Feature Request][TCGC] flatten property in model hierarchy

Is your feature request related to a problem? Please describe.
After we added @flattenProperty decorator in #13, the next question is whether we should calculate flattened property in TCGC model hierarchy?
Here is the questionnaire for each language emitter:

language
do we need to flatten property in TCGC

Python
better to have

Java
no

Csharp
Yes

JavaScript
?

Go
N/A no flatten support

Describe the solution you'd like
To minimize the integration efforts, I expect in the TCGC model hierarchy, we do the similar thing like flattenedNames in moduler-four:

flatten property to the target model, i.e. TCGC model should reflect the final model, not the original definition in TSP
for each flattened property, provide a property like flattenedNames to indicate the location in the serialization/deserialization JSON hierarchy

Describe alternatives you've considered
Each language can implement their own logic to calculating metadata of flatten properties, like Java does.

Java would require TCGC have the option NOT to flatten like m4. It only needs shouldFlattenProperty(..).

Java would require TCGC have the option NOT to flatten like m4. It only needs shouldFlattenProperty(..) that already in TCGC.

How does Java handle modeler-four output? There is a flag to tell modeler-four not to flatten?

How does Java handle modeler-four output? There is a flag to tell modeler-four not to flatten?

It is off.
https://github.com/Azure/autorest.java/blob/main/fluentgen/readme.md?plain=1#L52
(and we are asking same for TCGC)

JS also doesn't need the flattened model, because RLC doesn't need to support flatten.

Since @flattened is something that we want to deprecate, and because language behavior around @flattened isn't consistent (for example, Python still generates it like before, we just add some magic to get flattening to work), I've talked to @lmazuel and we don't think we should do anything fancy with @flattened. Instead, you can look at the .flatten property on a body model property type.
I'm going to close this issue because of @lmazuel's input, if this is still a strong ask, please reopen. Thanks!


WebHook request return 500 instead of 400 when the request is not valid

Repro:

Create a new C# WebHook and leave it unmodified
From PostMan, make a POST request with content type application/json and an empty body

Result: it fails with a 500, when it really should be a 400 BadRequest.
2017-01-31T19:09:30.443 Function started (Id=b1188528-aca2-4d4a-9fc8-2ee0c58269fe)
2017-01-31T19:09:30.443 Webhook was triggered!
2017-01-31T19:09:30.443 Function completed (Failure, Id=b1188528-aca2-4d4a-9fc8-2ee0c58269fe)
2017-01-31T19:09:30.974 Exception while executing function: Functions.GenericWebhookCSharp2. Anonymously Hosted DynamicMethods Assembly: Cannot perform runtime binding on a null reference.

As a variant, set the body to just {. It also incorrectly fails with 500, with a different error:
2017-01-31T19:09:51.208 Function started (Id=53b666c4-18ba-4219-8d9f-8c23ff5ce523)
2017-01-31T19:09:51.208 Webhook was triggered!
2017-01-31T19:09:51.208 Function completed (Failure, Id=53b666c4-18ba-4219-8d9f-8c23ff5ce523)
2017-01-31T19:09:51.255 Exception while executing function: Functions.GenericWebhookCSharp2. Newtonsoft.Json: Unexpected end when reading JSON. Path '', line 1, position 1.

We need to fix up error handling so these end up with clean 400 BadRequest errors.

The errors you are mentioning above are coming from failures in user code* - i.e. the template code, which is trying to parse the body as json, etc. If you change your function to just return OK, you'll see the invocation succeeds. The errors are coming from template code that is expecting a valid json object to be passed in.
The proper response for unhandled exceptions coming from the user function code is 500.

Make sense.


[PORT] Updated RunAsync to avoid sending EoC from the RootBot to the channel

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3735

Fixes #3699.
In this PR I refactored DialogExtensions to properly handle end of conversation in different scenarios and added unit tests for it.
@stevengum, @tracyboehrer, @axelsrz:  The changes in DialogExtensions, DialogExtensionsTests and SkillHandler need to be ported to JS and Python.
As part of this PR, I also updated the DialogToDialog examples to align with the simpler version in Samples so we can manually test and debug the test scenarios (these examples are optional and don't need to be ported or reviewed).
Note: the branch name is not very descriptive but this PR is mainly about RunAsync fixes.
Changed projects

Microsoft.Bot.Builder.Dialogs
Microsoft.Bot.Builder
Microsoft.Bot.Builder.Dialogs.Tests

[P0,R9,Skills]

Duplicated, already being tracked in #936


[Failed pipeline] Web - Sites

failed run: https://github.com/Azure/ResourceModules/actions/runs/4201856668

successful run: https://github.com/Azure/ResourceModules/actions/runs/4201856668


feat(no-overfetching): don't fetch FOX/ETH data with the flags off

Description

Notice

[ ] Have you followed the guidelines in our Contributing guide?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #2780   👈

This comment was auto-generated by Graphite.


OpenApi AnyOf with odata functions/actions generate invalid return types

Taking a look at an OData action such as createUploadSession we have the schema as below.
  '/groups/{group-id}/calendar/events/{event-id}/attachments/microsoft.graph.createUploadSession':
    post:
      tags:
        - groups.Actions
      summary: Invoke action createUploadSession
      operationId: groups.group.calendar.events.event.attachments.createUploadSession
      parameters:
        - name: group-id
          in: path
          description: 'key: id of group'
          required: true
          schema:
            type: string
          x-ms-docs-key-type: group
        - name: event-id
          in: path
          description: 'key: id of event'
          required: true
          schema:
            type: string
          x-ms-docs-key-type: event
      requestBody:
        description: Action parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                AttachmentItem:
                  $ref: '#/components/schemas/microsoft.graph.attachmentItem'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/microsoft.graph.uploadSession'
                nullable: true
        default:
          $ref: '#/components/responses/error'
      x-ms-docs-operation-type: action

From this schema we see the response schema has the anyOf attribute similar to other odata actions such as getSchedule etc.
Due to the code here, since the anyOf is at the top level (this doesn't seem to happen when the anyOf property is present in a class/type property such as in the requestBody parameters in the getSchedule ), the generator generates a union type which nests the desired type when the API will return the anyOf type on the top level of the json response.
This results in generating a request builder that returns a CreateUploadSessionResponse instance where the UploadSession type is a nested property rather than the requestBuilder returning the UploadSession. Ref here
Questions

Is it right/valid to have the anyOf when there is only one type present in the list?
If the above is valid, maybe we should look into flattening the properties in the anyOf list in these scenarios?

cc @baywet

Thanks for reporting that @andrueastman .
This is something I had already noticed and reported a couple of months in the conversion library, see https://github.com/microsoft/OpenAPI.NET.OData/issues/119
It hasn't been addressed yet but it's part of the issue list I want to be fixed for Kiota.
Now that I'm re-reading the issue, it looks like it could be caused by the nullable property, which doesn't seem to be part of the original schema definition (i.e. upload session doesn't have nullable set).
With all that being said, I'm wondering what nullable "means" in our context, if we followed the strict definition, our models should be structs unless marked as nullable. But that'd be an issue in a lot of languages for inheritance (and since all entities inherit from Entity...)
Here is what we could do:

fix the conversion process to stop adding that nullable information/additional schema node (my original thought)
fix something else in Kiota on how we handle nullable
work the issue around to flatten the empty schema node (and lose the nullable information)
something else?

if solution 3 feels like a hack, I'm hesitant between 1 & 2 and I'd like @darrelmiller input with regards to what's the right thing to do here?

Update: from my investigation (see linked issue in previous comment) the behavior of the conversion library seems to be conforming to the OpenAPI and OData specifications. I think the only question for @darrelmiller is: how should we handle nullable and non-nullable properties/schemas in Kiota?

but what about a property on upload session?

@baywet Go squish this to return an UploadSession and not CreateUploadSessionResponse
                anyOf:
                  - $ref: '#/components/schemas/microsoft.graph.uploadSession'
                nullable: true


make toolbar more customizable via toolbar config object

this is to add a declarative configuration api for the toolbar component.
for more context on this pull-request please see #937

Hey there thanks for the PR and sorry for the long delay.
I prefer that we not add another sort of configuration language to the component. If we wanted to make this easier to extend, we should do it by wrapping up the existing components and exporting them so folks can rearrange and configure using the React component model instead.
something like:
<Toolbar>
  <Toolbar.Fieldset>
    <Toolbar.NextButton />
  </Toolbar.Fieldset>
  <Toolbar.Fieldset>
    <Toolbar.ViewButton name='month' />
  </Toolbar.Fieldset>
</Toolbar>


Palindrome checker updated

@991rajat can u please review this PR , there were some issue in previous one. And let me know if its not working fine!
Thank you!

Is it looking right on your side. Here It's not.

@991rajat can you review now, this time it might work properly.
Thank you!


[+]: Android demo for XQUIC, ASOC 2022

issue #176

 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.

Dear      您好，邮件我已收到 ！BestwishThink's张渊博


Feature/deploy and launch

This should fixe #3
There is a new configuration line, line 21:
start_game = True
Set this to False and the script won't launch the game after a deploy.

I just tried launching it and am getting an error. It's trying to launch steam which I don't have installed. I bought the game off the devs website and download my game from there.

Ok did not see that coming. I'll add an option so you can specify the command to launch then.


Create a queue triggered function: "public class access modifier"

Hi,
I noticed a few people having the same issue when following this guide: https://docs.microsoft.com/en-us/azure/app-service/webjobs-sdk-get-started#create-a-queue-triggered-function
In this guide, when the Function is created we add a Class by going to the project level. In the doc explicitly says:
In Solution Explorer, right-click the project, select Add > New Item, and then select Class.
The problem with this approach is that when you do it, it creates a class without the Access Modifier "public". This is an example:
namespace WebjobMonitoring
{
class test
{
}
}
So I find that whoever follows the guide can easily miss that step of having "public" in front of the class, and in the last two weeks I know two cases where that has happened. Maybe we can add a comment to suggest adding the "public" access modifier at the class level if somehow is not added by default by Visual Studio.

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

ID: 2e9e1a8a-6284-a230-061e-7cb27258571a
Version Independent ID: 43390e30-04d6-6d4e-018e-21419dbb11e8
Content: Tutorial for event-driven background processing with the WebJobs SDK - Azure App Service
Content Source: articles/app-service/webjobs-sdk-get-started.md
Service: app-service
GitHub Login: @ggailey777
Microsoft Alias: glenga

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

ID: 2e9e1a8a-6284-a230-061e-7cb27258571a
Version Independent ID: 43390e30-04d6-6d4e-018e-21419dbb11e8
Content: Tutorial for event-driven background processing with the WebJobs SDK - Azure App Service
Content Source: articles/app-service/webjobs-sdk-get-started.md
Service: app-service
GitHub Login: @ggailey777
Microsoft Alias: glenga

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


KAFKA-8062: Do not remore StateListener when shutting down stream thread

In a previous commit https://github.com/apache/kafka/pull/6091, we've fixed a couple of edge cases and hence do not need to remove state listener anymore (before that we removed the state listener intentionally to avoid some race conditions, which has been gone for now).
Not removing the state listener would automatically fix the issue that when threads are shutting down due to error code, the instance-level state will not be transited to ERROR, and then eventually to NOT_RUNNING.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Can you elaborate what race conditions you refer and how they got fixed?

I cannot remember exactly, so take this with your double checking: previously after we shutdown a thread, causing it to transit to DEAD the state would never been transited to NOT_RUNNING as we did not transit from ERROR to NOT_RUNNING. When I did #6091 I refactored the transition digram a little bit and the above is no longer an issue.

Merged #6468 to trunk

cherry-picked to 2.2

Thanks for the details @guozhangwang!