[Docs] Update windows installation guide for Meshery

Added updated instructions for setting up Meshery on Windows
Signed-off-by: Shriti<EMAIL_ADDRESS>Description
This PR fixes #1395. Added updated instructions on setting up and running Meshery on Windows
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Adding a screenshot for reviewers:

@ameyaagashe will you kindly give this a once-over?

@chandrashritii
To check the Windows Build version, the below PowerShell command could be of use.
[System.Environment]::OSVersion.Version
Another PowerShell command is below, extract from WSL Link:
Step 3- Enable Virtual Machine Feature.
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

@chandrashritii given the updates, is it time to re-request review on this Windows documentation?

Looking fine to me @chandrashritii


Fixed Engine::remove() when multiple entities are provided

Pull Request
Related issue
Fixes #341
What does this PR do?

fixing the Engine::remove() method which was only removing the first object when multiple objects were provided

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

[x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

Thank you, please add a test

Thanks for your fast feedback.
I just pushed the related test.

bors merge

Thank you @remigarcia

Thanks for the really fast feedback @norkunas


Export Godot 3D game to Android and Web

Show the best ways to distribute the game once it is finished:

Android
Web
Linux
Windows
Others

Windows for voxelated games in my opinion


VSCode segmentation fault on CentOS8 aarch64(arm64)

VSCode Version: 1.5.0
OS Version: CentOS 8.2 aarch64 pagesize 64k

Steps to Reproduce:
download code-stable-arm64-1602050866.tar.gz
tar zxvf code-stable-arm64-1602050866.tar.gz
cd VSCode-linux-arm64
./code
segmentation fault

Does this issue occur when all extensions are disabled?: No

I think it is linux kernel's PAGESIZE problem ( chromium ).
PAGESIZE = 64k on cetos 8 aarch64
but,
PAGESIZE = 4K on other linux(such debian aarch64)
PAGESIZE = 4K on centos 8 x86_64
$ getconf PAGESIZE
65535

(Experimental duplicate detection)
Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

Segmentation Fault on current dev channel insider Windows build when using WSL 2 (#104708)

not the same problem

Can you repro the crash when you run https://github.com/electron/electron/releases/download/v10.1.5/electron-v10.1.5-linux-arm64.zip , in that case this should be reported to https://github.com/electron/electron/issues

electron v10.1.5 has the same problem.
I had reported to https://github.com/electron/electron/issues/25387

Thanks!


Document replacement action for auto cancel builds

this choice of action is not in sync with the one used in activiti community, unless there are reasons we should stick to the former choice
https://github.com/Activiti/activiti-cloud/blob/develop/.github/workflows/main.yml#L31-L34


Changes to use the latest version of JMXTrans

This PR is to pull in newer version of JMXTrans to use with chef-bach.

Using the new_jmx branch, I have built a new vm cluster with Java 1.7
Have verified that jmxtrans works by checking the metrics in graphite.
Next step is to upgrade Java to 1.8

Verified the java version is "1.8.0_74" and javac version is 1.8.0_74 on the vm1 node.
Verified jmxtrans works by checking the metrics in graphite.

Has manually tested the jmxtrans version 254 on one worker node in a physical cluster.


Convert to / from Java BigDecimal

Hi,
I created some extension methods to convert BigDecimal to / from Java BigDecimal (see below).
Two questions here:

Are they correct and do you have any suggestions how to improve them (especially for converting from)?

If i give you a pull request with them, would you like to integrate it into the jvmMain branch of your library?

package net.dankito.banking.extensions

import com.ionspin.kotlin.bignum.integer.Sign
import java.math.BigDecimal

fun BigDecimal.toIonspinBigDecimal(): com.ionspin.kotlin.bignum.decimal.BigDecimal {
    return com.ionspin.kotlin.bignum.decimal.BigDecimal.parseString(this.toString()) // TODO: couldn't figure out how to create BigDecimal from unscaledValue and scale
}

fun com.ionspin.kotlin.bignum.decimal.BigDecimal.toJavaBigDecimal(): BigDecimal {
    val converted = BigDecimal.valueOf(this.significand.longValue(), (this.precision - this.exponent - 1).toInt())

    if (this.significand.sign == Sign.NEGATIVE) {
        return converted.negate()
    }

    return converted
}

Hi @dankito , if you find these converters useful, I'd love to add them to the library, so a pull request would be great.
As far as the correctness goes, conversion from java big decimal using string as intermediary would work, but I think it would be too inefficient, so I'd suggest solving that with a more direct approach (i.e. by using Java BigDecimal internal Java BigInteger intValue and scale)
For the conversion to Java Big Decimal, the result wouldn't be completely correct, because significand can be larger than a long, so just calling longValue() would lose information. There's already some conversion done in the test classes, so you might take some code from there as inspiration (https://github.com/ionspin/kotlin-multiplatform-bignum/blob/master/bignum/src/jvmTest/kotlin/com/ionspin/kotlin/bignum/decimal/DecimalUtility.kt)


Report state

Description:
Support report state for local google assistant configuration.
To support this a new service_account need to be created since api_key access is not supported. Luckily this also let the same service key be used for requestSync. So we can do away with the api_key once it's been deprecated a few
releases.
Current logic uses the owner of hass as the reporting user. That mean when you add hass to your google home, you must login using the owner account, otherwise we will report state with the wrong user.
Todo:

[ ] Remember synced agentUserId's
[ ] Support DISCONNECT intent to remove an agentUserId from previously synced agentUserId's
[x] Support a negative response on request if token expired

Related issue (if applicable): #27112
Pull request with documentation for home-assistant.io (if applicable):
Example entry for configuration.yaml (if applicable):

google_assistant:
  project_id: someid
  report_state: true
  service_account:
    private_key: "-----BEGIN PRIVATE KEY-----asfasfa-----END PRIVATE KEY-----\n"
    client_email<EMAIL_ADDRESS>
Checklist:

[X] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.
[X] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[X] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[ ] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[X] Tests have been added to verify that the new code works.

Nicely you can do requestSync using the same access tokens, so we can drop api_key support after it's been deprecated a few releases.

Currently disconnect only take's effect during this run of hass. On next run, it will start trying to report state again, which will likely fail each time. The user then would need to disable the feature from config to get rid of the errors.
Handling DISCONNECT intent get's tightly coupled with keeping track of user that have been synced. Since i need to store information about a sync having occured to handle DISCONNECT intent properly too (drop from the synced list)
Would it be okey to get this in first, then i'll have a look at that as a second pull?

Yes that's fine. Just undraft it so it can bemerged

I'll get a doc update ready soon.


[type:feat]:init ingress controller grpc

Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #5253 (548cf10) into master (d0a9626) will decrease coverage by 0.27%.
The diff coverage is 7.76%.

:exclamation: Current head 548cf10 differs from pull request most recent head f75f807. Consider uploading reports for the commit f75f807 to get more accurate results

@@             Coverage Diff              @@
##             master    #5253      +/-   ##
============================================
- Coverage     61.44%   61.18%   -0.27%
- Complexity     8652     8655       +3
============================================
  Files          1251     1252       +1
  Lines         38342    38533     +191
  Branches       3657     3682      +25
============================================
+ Hits          23561    23575      +14
- Misses        12711    12880     +169
- Partials       2070     2078       +8

Files
Coverage Δ

...org/apache/shenyu/k8s/common/IngressConstants.java
0.00% <ø> (ø)

...va/org/apache/shenyu/k8s/parser/IngressParser.java
77.35% <20.00%> (-4.28%)
:arrow_down:

...pache/shenyu/k8s/reconciler/IngressReconciler.java
59.87% <53.57%> (-1.74%)
:arrow_down:

.../java/org/apache/shenyu/k8s/parser/SofaParser.java
0.00% <0.00%> (ø)

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@JooKS-me


Time for introducing a develop branch?

As the project continues to pick up steam, I suspect that it will become increasingly difficult to manage the flurry of feature, release and hotfix branches without some kind of agreed-upon structure.
I was re-reading the classic A successful Git branching model and would like to propose that we move towards adopting this model, starting with a develop branch. Feature branches are created from develop and merged back into it.
One of the first motivations I have is around our evolving documentation efforts. Right now, GitBook is connected and making commits directly on master. Those commits are live immediately, which causes chronology issues for features that haven't been publicly released yet.
Possibly making the question rhetorical... the best idea I had was to create a 2nd GitBook project and point it to the develop branch. We could continue to do our modifications using the GitBook UI and the results would be a preview of what is soon to be released (hopefully) to master. Of course, once develop is merged into master, GitBook should now reflect up-to-date documentation for the now-current new release.
Anyhow, @hopsoft @andrewmcodes what do you folks feel about this?

Closing because silence 😶


Remote file permissions default to rw-rw-rw

Yo, very good stuffs but I'm currently moving from El captain to Sierra.
A strange thing has appeared with sftp facility :
posix rights are now always changed to -rw-rw-rw- on the server ...
With El capitain posix rights were always kept as the original on the server were.

example : original file on the server
-rwxr-xr-x 1 root root 17 Jan  6 23:28 essai

local uploaded in project :
-rw-r--r--  1 stef  staff  17 Jan  6 23:35 essai

After saving to the server :
-rw-rw-rw- 1 root root 17 Jan  6 23:36 essai

Any idea about what is wrong with Sierra.
That is very annoying ...
I have tested with the local sftp client on Sierra and posix rights are correctly set up.
In all case, many thanks for your really good job.
Cheers,

Hi @stefKdu77
this doesn't have anything to do with Mac OS Sierra.
A little time ago, a file permission feature was added but it has not been documented in the README... :/
When there is no filePermissions option set in the .ftpconfig, the permission defaults to 0666 .
See the line here: https://github.com/mgrenier/remote-ftp/blame/a1abd216ee276a9ff484f74b780620c8df442d42/lib/client.js#L389
I think the default behavior should be to keep the original permissions if the option is not set, but currently all you can do is set filePermission the option or submit a PR which fixes this behavior and / or mentions the new option in the README :)

See #611


Style Guide: Style 04-13

I feel that in the case of routing the above rule is violated. Consider the following app.routes.ts file:
import { provideRouter, RouterConfig }  from '@angular/router';

import { crisisCenterRoutes }  from './crisis-center';

const routes: RouterConfig = [
    ...crisisCenterRoutes
];

export const appRouterProviders = [
    provideRouter(routes)
];

The crisisCenterRoutes should be imported from './+crisis-center' because crisis-center is a lazy loaded folder. But this contrasts with the style because the app.routes.ts file belongs to a parent folder of crisis center.

Avoid allowing modules in sibling and parent folders to directly import a module in a lazy loaded feature.

  But it isn't yet so the code is correct.
We're also changing our position on the + prefix. We're softening from "do" to "consider" because there have been problem with servers that don't allow this prefix. And when we try something different (e.g., _), other servers don't like that. We can't find a prefix that works on all servers. And many of us don't think having a prefix is sufficiently compelling to overcome the grief.


Lines not showing up when node is copy pasted through move it

Which IMT are you using?  Stable, BETA, BETA with Early Access
Current version stable
What computer OS are you using? (ex:  Linux (version), MACOS, Windows (version))
Windows 10
Describe the bug
Created a detailed intersection, copied and pasted with Move It (https://steamcommunity.com/sharedfiles/filedetails/?id=1619685021&searchtext=move+it), lines show up in the list in the box (all rules exist, alphas are same as source intersection, etc) but do not show up in the game without completely closing and restarting game
To Reproduce
Steps to reproduce the behavior:

Create node & mark with IMT lines
use move it to select segments and nodes
use move it copy/paste function to paste selection

Expected behavior
A clear and concise description of what you expected to happen.
lines should be visible without having to restart game
Screenshots
Add screenshots to help explain your problem.

(orange trees image) original source intersection, working fine

(purple trees image) copied intersection, game restarted before screenshot

(red trees image) copied intersection, have not restarted the game.
Additional information
Add any other relevant information pertaining to the issue goes here.
Using Mod Compatibility Checker (https://steamcommunity.com/sharedfiles/filedetails/?id=2034713132&searchtext=auto), zero conflictions showing up. not sure if this is fixable or not, but I'd love to not have to restart the game (but will do so because I love your mod so much)

forgot to mention this, lines do show up on ground level roads (like the highway entrance ramp markings which were also added with the mod), but not elevated bridges like the main intersection

Bug not reproduced. What exactly mod version you have? You can look at content manager or mod's oprions.

<IP_ADDRESS>, steam shows im subscribed to 1.7.4, not sure why they arent the same. move it version is 2.9.2. do you know if theres an easy way to unsubscribe from all mods other than these two, without having to hunt them all down again? willing to put some work in to see if its a mod conflict (I have quite a few)

you have not last IMT version. Current version <IP_ADDRESS>. Resub IMT to force update

I feel really dumb now, updated it and its working perfectly. Sorry about that! and thank you for your help


In Test Results pane display text associated with individual test

In the Test Results screen you can expand a test run to see all the test cases that were run. When you click on one of these test cases the Test Results screen reports The test case did not report any output. Can we associated the output from individual test cases with their test case so we get some output here.

Fixed in #985

Verified with d6c91dd379abd6a402dddb3503e35fd328c6ce21


Add format on save

Hi,
I have taken the liberty to implement basic support for code formatting. I hope this is ok. Currently I only added the option to format on save. I'm not sure if there is a need to manually trigger the formatting. Personally I don't use shortcuts or the menu for this and I actually don't see a real use case. What do you think?

I like this! Thank you!


Add UI Support for Dynamic RBAC - Modify users in project with only role "manage-project-members"

Add UI support for https://github.com/rancher/rancher/issues/11105

moved to
https://github.com/rancher/rancher/issues/15107


Add API to check per awareness attribute value health.

Is your feature request related to a problem? Please describe.
As of today opensearch only shows health for full cluster however health per awareness attribute is still not seen. We need an API today to monitor the cluster availability status per awareness attribute (If this is configured Shard allocation awareness attempts to separate primary and replica shards across multiple awareness attribute values) as that would give use more information on how many shards are assigned per  awareness attribute value, how many nodes are distributes per awareness attribute value etc.
Describe the solution you'd like
Would like to get a single API that would help solve the above issue. A cluster can have multiple awareness attribute and getting the health per awareness attribute will be good. Following things can be shown per awareness attribute value  [e.g. rack as attribute]:

Total number of nodes per rack
Total shards per rack.
Weights given per rack if defined.
If "cluster.routing.allocation.awareness.balance" is enforced we can also predict the unassigned shards.

Describe alternatives you've considered
As of now no alternative is available. One have to call multiple API 's to formulate a total result which can cause inconsistency in result.
Additional context
The API can be considered to use the following paths:
[1] _cluster/awareness/{awareness_attribute}/health [create a new API path]
[2] _cluster/health/_awareness/{awareness_attribute} [use the same _cluster/health API]
The output could look similar to something like below where the first half would give the cluster level information and the second part would give the awareness attribute level information. We can pass the cluster awareness attribute to the path and have the cluster health information around it.
{
  "cluster_name" : "runTask",
  "status" : "yellow",
  "number_of_nodes" : 2,
  "number_of_data_nodes" : 2,
  "discovered_cluster_manager" : true,
  "active_primary_shards" : 3,
  "active_shards" : 6,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 6,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 50.0,
  "<awareness_attribute_name>" : {
    "value_1" : {
      "active_shards" : 3,
      "initializing_shards" : 0,
      "relocating_shards" : 0,
      "unassigned_shards" : 3,
      "data_nodes" : 1,
      "weight" : 1.0
    },
    "value_2" : {
      "active_shards" : 3,
      "initializing_shards" : 0,
      "relocating_shards" : 0,
      "unassigned_shards" : 3,
      "data_nodes" : 1,
      "weight" : 1.0
    }
  }
}

I'd like to see the RESTful routes proposed.

Does it make sense to extend the existing health API or is this going to be a new route?
Does it make sense to support retrieving health per multiple awareness attributes in one query?

Where can I read about awareness attributes? What are the examples of awareness attributes that are most used?
I'd like to see the RESTful routes proposed.
* Does it make sense to extend the existing health API or is this going to be a new route?

* Does it make sense to support retrieving health per multiple awareness attributes in one query?

Added the proposed paths to above issue.

I'd prefer

_cluster/health?level=awareness_attributes : For retrieving health per multiple awareness attributes in one query
_cluster/health?level=awareness_attributes&awareness_attribute=zone : For retrieving health for a single awareness attribute

level is a pre-existing query param with levels supported as cluster, indices and shards

@nishchay21 this is tagged 2.5. Are there any other changes to get this done?
Code freeze is 1/10.

@saratvemulapalli  : The PR is near to completion . We will merge it and backport to 2.5 & 2.x today .


[entropy_src] SHA3 core / Keccak active without CS AES Halt

entropy_src sometimes activates its SHA3 core (and in particular the Keccak round) without requesting CSRNG's AES to halt, as described in this comment on issue #14193. This is against the intention of the cs_aes_halt interface (see the definition added in #17943). How frequently this happens varies strongly with enabling/disabling, configuration and operation mode, and entropy availability and demand.
Here's an example (util/dvsim/dvsim.py hw/ip/entropy_src/dv/entropy_src_sim_cfg.hjson -t xcelium -r 1 -w shm -i entropy_src_rng_with_xht_rsps -s 307146402 at 86d6bcef3dcd7a589eb08c72f036ff3540e44bed):

The bottom signal shows when Keccak is active and the signal just above shows when CS AES Halt is active. Clearly, Keccak is frequently active when CS AES Halt is not. The other signals show parts of the operation mode and state of entropy_src.
This happens in all modes: during startup, in firmware entropy insertion mode, and in FIPS mode during continuous health tests.

When Keccak gets triggered, it runs 24 rounds, which together take 24 clock cycles (unmasked implementation).
In firmware entropy insertion mode, I've seen as little as 200 clock cycles between two Keccak rounds. The actual lower bound may be even less, depending on SW.
Outside firmware entropy insertion mode, there seem to be at least 512 clock cycles between two Keccak rounds.

In the short term (for M2.5), we are adding the current behavior to the specification together with assertions to ensure the implementation matches our understanding: #17943.
In the longer term, we have to decide (a) if the CS AES Halt interface is necessary at all and (b) if the current implementation is sufficient. Depending on this, we should then:

(a)
(b)
action

no
X
remove interface

yes
no
fix implementation

yes
yes
keep status quo

CC @moidx

This is low priority for PROD.
If someone has time to look into this for half a day, we can clean this up.
Otherwise I think it would be ok to leave as is.

When studying the internals of the SHA3 engine as well as the ENTROPY_SRC to answer some questions regarding FIPS mode, I think I've found managed to root cause the issue here:
The SHA3 engine can get active under two circumstances:

Whenever the main FSM sends the sha3_process_o signal to the SHA3 engine. This happens when we've collected enough entropy to produce a full 384-bit seed (equals the configured health test window size). This case is or should be fully covered by the CS AES Halt interface.
Whenever the SHA3 engine has received 832 bits of raw entropy, it triggers the compression of the current state. After that, additional raw entropy can again be XORed into the compressed state. The 832 bits correspond to the rate or block size for SHA3-384. This case is fully under control of the SHA3 engine. In the current version of ENTROPY_SRC, there is no point in the main FSM trying to request an AES halt for this because it simply doesn't know when the 832 bits are reached.

So what should be done if we want to keep and fix the CS AES Halt interface is to add the REQ/ACK interface to the SHA3 core itself or more precisely the SHA3 padding logic. This is not a big change and it doesn't have major impact on physical design or security. Earlgrey-PROD.M4 sounds right to me!


Support for ruby 1.8 broken since 8.1.1056

Since 8.1.1056 builds with Ruby 1.8.x as shipped with RHEL 6 and older are failling:
if_ruby.c: In function 'convert_hash2dict':
if_ruby.c:1816: error: 'ST_STOP' undeclared (first use in this function)
if_ruby.c:1816: error: (Each undeclared identifier is reported only once
if_ruby.c:1816: error: for each function it appears in.)
if_ruby.c:1818: error: 'ST_CONTINUE' undeclared (first use in this function)
make: *** [objects/if_ruby.o] Error 1
I previously built 8.1.982 with no issues against ruby 1.8.1 (el4), 1.8.5 (el5) and 1.8.7 (el6).
RHEL 7 ships with Ruby 2.0.0 and is not affected.
I was able to fix the build with ruby 1.8.x by adding #include <st.h> to if_ruby.c.

openSUSE 15.0 ships with Ruby 2.5.0p0 and is not affected either.
Maybe there is a missing #ifdef and/or a missing configure test somewhere?

Don't you mean including ruby/st.h ?

@ichizok introduced this in patch 8.1.1056

In Ruby < 1.9.0, st.h is placed under include-dir directly.
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -118,6 +118,9 @@
 #ifdef RUBY19_OR_LATER
 # include <ruby/encoding.h>
 #endif
+#ifndef RUBY19_OR_LATER
+# include <st.h>
+#endif

 #undef off_t   /* ruby defines off_t as _int64, Mingw uses long */
 #undef EXTERN

Don't you mean including ruby/st.h ?

No, for ruby 1.8.x it is just <st.h>. Later releases moved the includes to ruby/.


bfgs: added missing inverse transform upon early return

When bfgs returns after the initial line-search (before entering the main loop) and if constraints are used, an inverse transformation is missing.

Thanks for catching that


[BUG] unnecessary extra newline check on key header delimiter

Describe the bug
pem key discarded if header is not followed by a newline.
To Reproduce
Steps to reproduce the behavior (using a test app or L8W8JWTGUI):

provide a signature verification key, e.g. ES256
-----BEGIN PUBLIC KEY-----MFk...-----END PUBLIC KEY----
decode and verify a jwt will give error
"Failed to parse verification key!"

The cause is in \lib\mbedtls\library\pem.c
int mbedtls_pem_read_buffer()
line 260:  else return( MBEDTLS_ERR_PEM_NO_HEADER_FOOTER_PRESENT );
This else-statement should be disabled.
Expected behavior
An extra "\n" is unnecessary after "-----BEGIN PUBLIC KEY-----"
repo
Most recent commit
506a52163ddb71829aa006a25962d7515d567e80 on master, tag: 2.1.7
Desktop (please complete the following information):

OS: Windows 10

PS
If one puts an extra \n, the error would be gone, e.g.
-----BEGIN PUBLIC KEY-----
MFk...-----END PUBLIC KEY----

Closed because won't modify MbedTLS library because of this. If it has high prio please consider opening this issue directly on https://github.com/Mbed-TLS/mbedtls - but forking/modifying a dependency is never a good idea :)
Thanks nonetheless for helping documenting this detail!


Typescript issue with union typed TError in query.ts

Describe the bug
I stumbled across a rather odd issue using react-query in a custom react-native environment. The only thing complaining is tsc, telling me that the dispatch method in query.ts:488:55 expects a plain TError, but receives a potentially unrelated TError | { silent?: boolean; }. I've tried my best to supply an adequate example in the ts Playground:
The onError-Method seems to expect this unrelated type, although it's implementation does not need this additional field, checking for the CancelledError type at runtime (query.ts:427). A I understand it, the generic is inferred via the createRetryer and passed to the onFail-Method (query.ts:487) clashing into the dispatch-Function expecting a TError.
Is there a need for the union type in the onError function if the scopes expecting a CancelledError already receive it via runtime checks?
Your minimal, reproducible example
https://tsplay.dev/WGdD2w
Steps to reproduce
See playground, I'm not sure what makes it work in the project itself
Expected behavior
No typescript errors
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform

React Native

Tanstack Query adapter
react-query
TanStack Query version
v4.29.14
TypeScript version
v5.1.3
Additional context
No response

Hm, 2 questions:

why do you type-check the sources of react-query?
why doesn't this show up as error in our own TS pipeline 🤔 ?

@TkDodo thanks for your quick response.
The first may be a misconfiguration issue somewhere. But I was curious to see if the issue would persist when throwing away all other influences. The playground does not seem to be happy either. But maybe I'm missing something obvious ^^
I was also checking if there is a huge difference between the setups. In the project itself there's no issue - picking the important parts and recreating the situation in playground yields an error.

The only thing complaining is tsc, telling me that the dispatch method in query.ts:488:55 expects a plain TError, but receives a potentially unrelated TError | { silent?: boolean; }

When I'm checking the code in question in our codebase, I can see that onFail gets an error of type unknown:

even if I update to the latest TS 5.1.3

Unfortunately, I was not able to fix or to find the source of this issue on our side. For now, I'm closing this issue

@TkDodo @ag-import
i figured out what was going on.
i some places in my project i had stuff imported from '@tanstack/query-core' while it was propagate to parts that were mostly used from '@tankstack/react-query', just replace import froms since they still have same exports. I dont know why this is but seems to be some type colision

I see this ticket is old and closed, and React Query has moved on and is now at v5, but I experienced this today.
It blocked my ability to build my Next.JS project even with skipLibCheck on and node_modules excluded in tsconfig.json.  I workaround around it and I thought I'd add my experience here in case it helps others.
Typescript thinks error is a TError | {silent?: boolean}, but the option key is defined as TError. I can't statically work out where Typescript gets its advanced intuition on this.
Versions:

@tanstack/react-query 4.36.1 (not a problem back in 4.2.3 where I was)
typescript 5.4.2

My workaround was to use patch-package to add a // @tsignore above line query.ts:490.
Patch:
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index d334a0f..c8f0644 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -487,6 +487,7 @@ export class Query<
       },
       onError,
       onFail: (failureCount, error) => {
+        // @ts-ignore
         this.dispatch({ type: 'failed', failureCount, error })
       },
       onPause: () => {


null() validator can be confusing with none=False

Hi,
I found that the null() validator can be confusing with none=False. Here is an example.
# Data
key: ~

# Schema
null(required=False, none=False)  # -> this will pass without throwing errors

One possible way is to state it clear in the documentation that none=False will simply be ignored for a null() validator. The other way is to raise an error during constructing the validator if none=False is set for a null validator.
Thanks.

I think documentation is fine here. People can actually add any random keyword argument to the validator...we only pick up the valid ones and use them. If there's a bigger effort to validate all the constraints in a validator in the future, we can add this as one of the work items. Thanks!

Closing due to lack of comments.

Closing due to lack of comments.


Replace pipdeptree with python-inspector

Signed-off-by: Tushar Goel<EMAIL_ADDRESS>

See https://github.com/oss-review-toolkit/ort/issues/5631

Status of the python-inspector integration in ORT:

python-inspector is installed in the Docker image by default.
the integration works when dealing with a requirements.txt file and using ORT built with Docker.
pipdeptree has been removed

Locally we can also run this way:

run gradlew python_inspector
then source venv/bin/activate


Not able to route grpc stream to "grpc://" destination

I'm trying to use the new gRPC proxy from fabio 1.5.11 but I'm having a bit of an issue. My program is written in go and uses the native grpc client, and the addresses I've been giving it have always been in the format ip:port. But now when I'm trying to use fabio grpc proxy I see that the address routed to the destination grpc://ip:port. I've never seen this "grpc://" prefix before and my client fails to connect and stream to that address. Why is the "grpc://" there, and how can I work around it?

@andyroyle can you maybe help here?

The grpc:// prefix is purely an implementation detail for the Fabio config language. Since the grpc proxy is separate from the http proxy (in spite of the fact that grpc runs over http2), Fabio needs to be able to differentiate between http routes and grpc routes, hence the proto=grpc option.
A URL in the routing table that looks like grpc://<IP_ADDRESS>:3456 is normal. When connecting to the downstream service Fabio will just use the host and port.
The clients and backend services should be completely unaware of the internal grpc:// prefix.
Can you post more information about your setup and the errors you are seeing?

The grpc:// prefix is purely an implementation detail for the Fabio config language. Since the grpc proxy is separate from the http proxy (in spite of the fact that grpc runs over http2), Fabio needs to be able to differentiate between http routes and grpc routes, hence the proto=grpc option.
A URL in the routing table that looks like grpc://<IP_ADDRESS>:3456 is normal. When connecting to the downstream service Fabio will just use the host and port.
The clients and backend services should be completely unaware of the internal grpc:// prefix.
Can you post more information about your setup and the errors you are seeing?

I'm running a grpc server in a docker container registered as a service in a consul cluster which fabio is part of too. I'm dialing using
c, err := grpc.Dial(serverAddr, grpc.WithInsecure(), grpc.WithBackoffMaxDelay(5*time.Second))
The server is running a bidirectional stream, but the client stops dead since it cant connect (no error output, just a println describing which step the client streaming is at before it fails connecting), this happens when I point the client to fabio.service.consul:8888/grpcserver/ (serverAddr above).
I can match this behavior exactly by pointing my client manually to ip:port (it works) and then to grpc://ip:port, and it fails in the same manner as above when targeting the consul dns fabio address.
The consul service is basically set up like this in my Nomad job for the container:
service {         name = "grpcserver"         port = "grpc"         tags = ["grpc",                 "urlprefix-/grpcserver/ proto=grpc "]         check {           name     = "grpcserver tcp"           type     = "tcp"           interval = "10s"           timeout  = "2s"         }       }
I haven't specified the RPCs as the endpoints here, but I tried that too, and it makes no difference.
From my end it seems that the implementation doesn't work the way you're saying it does, if fabio would have resolved the path to just ip:port then my client should definitely be able to connect, instead now it seems very much like it resolves to the "grpc://" path, or something else thats not connectable.
Here is my fabio job for completeness:
`job "fabio" {
datacenters = ["dc"]
type        = "system"
update {
stagger      = "60s"
max_parallel = 1
}
group "fabio" {
task "fabio" {
  driver = "docker"

  config {
    image = "fabiolb/fabio:latest"
    dns_servers = ["<IP_ADDRESS>"]
    network_mode = "host"
  }

  env {
    registry_consul_addr = "<IP_ADDRESS>:8500"
    proxy_addr = ":9999;proto=http,:8888;proto=grpc"
  }

  service {
    name = "fabio-http"
    tags = ["http", "load-balancer", "proxy"]
    port = "http"

    check {
      type     = "tcp"
      interval = "10s"
      timeout  = "2s"
    }
  }

  service {
    name = "fabio-ui"
    tags = ["ui", "load-balancer"]
    port = "ui"
    check {
      type     = "http"
      path     = "/"
      interval = "30s"
      timeout  = "3s"
    }
  }

  resources {
    cpu    = 500
    memory = 64
    network {
      mbits = 20
      port "http" { static = 9999 }
      port "ui" { static = 9998 }
      port "grpc" { static = 8888 }
    }
  }

}

}
}
`
That is to say unless something in my configuration above is incorrect? Can I provide you with more information?

Ah, I need to confirm but I am pretty sure that the urlprefix (i.e. /grpc-server) isn't supported by the grpc proxy.
I don't know whether it is possible to add support for it.

Ah, I need to confirm but I am pretty sure that the urlprefix (i.e. /grpc-server) isn't supported by the grpc proxy.
I don't know whether it is possible to add support for it.

That seems to be the opposite of what is shown on the Fabio Quickstart page (https://fabiolb.net/quickstart/) Where my use case would be the second from the top (see the list below), having a service specific route not pointing to a specific rpc.

urlprefix-/my.service/Method proto=grpc                      # method specific route
urlprefix-/my.service proto=grpc                             # service specific route
urlprefix-/my.service proto=grpcs                            # TLS upstream
urlprefix-/my.service proto=grpcs grpcservername=my.service  # TLS upstream with servername
override
urlprefix-/my.service proto=grpcs tlsskipverify=true         # TLS upstream and self-signed cert

Am I understanding you correctly in that this doesn't work, or are you referring to something else when you say that the url prefix "/grpcserver" isn't supported? Is "my.service" supposed to be something specific in the examples above?

In the case of the my.service, it's specifically the grpc service name (grpc calls are routed by service and method name). Unfortunately arbitrary prefixes aren't supported in the way that they are for http/s proxying
The docs are unclear so that's a failure on my part.
The grpc service is defined by the package name and service name defined in your proto, e.g.
package foo

service bar {
  rpc Baz (BazReq) returns (BazResp) {}
  rpc Flarg (FlargReq) returns (FlargResp) {}
}

// message definitions

So in the above example, the service is foo.bar and the method is Baz or Flarg.
You can route using only the service name:

urlprefix-/foo.bar proto=grpc

Or using both the service and method

urlprefix-/foo.bar/Baz proto=grpc

Or using just a catch-all

urlprefix-/ proto=grpc

That's not to say that it couldn't be supported, it's just the current implementation doesn't

Late to the conversation but looking at the code examples provided above it doesn't look like you are using the correct separator for the package and service.  You have /protopkg/protoservice/ and the example shows /foo.bar with an example package of foo and a service bar.  I assume that should make your tag urlprefix-/protopkg.protoservice proto=grpc.

Late to the conversation but looking at the code examples provided above it doesn't look like you are using the correct separator for the package and service. You have /protopkg/protoservice/ and the example shows /foo.bar with an example package of foo and a service bar. I assume that should make your tag urlprefix-/protopkg.protoservice proto=grpc.

I tried it with '.' as well, typoed it into my reply unfortunately. Is the route case sensitive?

As far as I am aware, yes the routing is case sensitive

This is still not working, I've set up my urlprefix as urlprefix-/protopkg.protoService proto=grpc and trying to stream to it at fabio.service.consul:8888/protopkg.protoService, but the grpc client still can't connect.
Can I do some step-by-step verification to see that the grpc listener port is working to begin with, and then look further into why the grpc client isn't connecting?

In the Go client do not add a path when dialing. gRPC will construct the path automatically based on the method call.
Use
grpc.Dial("fabio.service.consul:8888")

not
grpc.Dial("fabio.service.consul:8888/some-path")

I'm using this line to dial:
c, err := grpc.Dial(grpcServerAddr, grpc.WithInsecure(), grpc.WithBackoffMaxDelay(5*time.Second))
where grpcServerAddr is "fabio.service.consul:8888", but it's still not connecting.
A followup question to this is; how do I run two versions of the same grpc server with the same protobuf services with fabio, so that I'm able to send traffic deliberately to either one, v1 or v2? Just point to fabio.service.consul:8888 doesn't give me any control over which server I will reach?

Do you have any example code which I could use to try this with?

Any input to my last question here?

@andyroyle provided some stub example code ... should be able to expand that to a small PoC.  If you do it would be great to post it back here.

Sorry @tommyalatalo I've been on vacation this past week.
Yeah, it seems like the docs need updating. I'll hopefully get to it this week.
In terms of your question about prefixes, whilst they aren't currently supported, we essentially need to hook up the path stripping. In theory it might already be supported (if you add the strip=v1/ option to the tag).
I need to test to see how this works. Hopefully I will get to it soon.

Sorry @tommyalatalo I've been on vacation this past week.
Yeah, it seems like the docs need updating. I'll hopefully get to it this week.
In terms of your question about prefixes, whilst they aren't currently supported, we essentially need to hook up the path stripping. In theory it might already be supported (if you add the strip=/v1 option to the tag), I've just never tested it.
I need to test to see how this works. Hopefully I will get to it soon.

I tried some path stripping with grpc now, and it doesn't seem to work.
I'm guessing implementing path stripping for grpc should be very similar to the http stripping, so hoping this would be almost a cut-and-paste update for the grpc side of things?

@andyroyle How long do you think it would be until you could get some path stripping implemented? Days, weeks, months?

@andyroyle By the way, I was thinking, is path stripping going to be enough to allow routing to different endpoints in this case?
Won't it end up like this:
fabio.service.consul:8888/v1/ strip=/v1 -> fabio.service.consul:8888/pkg.service
fabio.service.consul:8888/v2/ strip=/v2 -> fabio.service.consul:8888/pkg.service

Both will end up at fabio.service.consul:8888 and grpc resoplver will add the protobuf service after the port, and both paths will end up at the same grpc server?
Isn't it essentially required that the fabio grpc protocol supports path prefixes that actually route to different host:port combinations? The problem at the moment being that all grpc requests are served through "fabio.service.consul:8888"?
So that
fabio.service.consul:8888/v1/ -> <IP_ADDRESS>:1111 (grpc server version 1)
fabio.service.consul:8888/v2/ -> <IP_ADDRESS>:2222 (grpc server version 2)

Maybe I'm misreading your last post, and you're actually saying that in order to do the above you need to support path stripping as well to complement the prefixes.

Ah bum. You're right. Since the oath is constructed by the proto client the. We can't just add arbitrary bits to it.
I suspect the only way to achieve what you want is to create two separate proto services pkg.service.v1 and pkg.service.v2 and register them separately.

You could route via hostname instead of path ... create multiple A records that resolve to the address of your fabio server.  Then you could urlprefix-svc1.domain.com and urlprefix-svc2.domain.com to different backends.

The problem there is that the host matching doesn't work for GRPC. GRPC uses http2, for which the host header isn't required, so at routing time, we don't have any information as to what host the request came in on. All we know is what server config can tell us i.e. the IP we bound to or the server name that is in the certificate we are using (good luck if you are using a wildcard cert)

Hrm ... HTTP/2 does require SNI by specification though.  So, if we're not already using SNI to match host routes on HTTP/2 we should.  I'll look into the code in more detail when I get a chance.

Presumably SNI is only required for TLS, so that wouldn't cover non-TLS deployments. Still, it's better than nothing I guess.

Ohh right, that would only affect HTTP/2 and/or GRPC over TLS but yes ... it would be better than nothing in the absence of a host header.   Ideally we would have a documented and logical search order.  Something like HOST header, SNI, CN from cert, IP, ???

Having two separate proto services is not viable, can't have all devs creating duplicates of services for upgrade purposes, that would be incredibly error prone.
Bear with me if I'm not quite on the same wavelength as you guys, but what I gather is that this could be solved using TLS certified connections, how would that work? I'm looking at setting up TLS for our traffic in the future anyway.
Also curious about the host header, is it possible to use that with GRPC and add it to the requests for routing purposes? I have full control over the clients so if that would be a way forward I would be interested in that too.
A thought that I had earlier, which might not be feasible at all, was that my particular issue would actually be completely solvable by having the option to set up multiple listener ports for the same protocol, which would have unique routes. Say port 8888 could route to v1 of a service and port 7777 could route to v2. This is a bit ugly and the use cases for it in general probably pretty slim, so maybe leave it as just a thought.

I'm trying to set up TLS with SNI, but the docs are lacking a bit here, can you give an example of how to use this line:
urlprefix-/ proto=grpcs grpcservername=my.service.hostname
is this also supposed to be protopkg.protoService.hostname and what should the hostname be in this case? A consul dns address, or something else?

the grpcservername option was added for use with TLS backends. Fabio connects to backends using <ip>:<port>, so if the certificate presented by your backend doesn't include an IP SAN, then you can set grpcservername to specify the serverNameOverride field in the tls config: https://github.com/fabiolb/fabio/blob/master/proxy/grpc_handler.go#L245
An example would be:
urlprefix-/ proto=grpcs grpcservername=grpcapi.service.consul

the grpcservername option was added for use with TLS backends. Fabio connects to backends using <ip>:<port>, so if the certificate presented by your backend doesn't include an IP SAN, then you can set grpcservername to specify the serverNameOverride field in the tls config: https://github.com/fabiolb/fabio/blob/master/proxy/grpc_handler.go#L245
An example would be:
urlprefix-/ proto=grpcs grpcservername=grpcapi.service.consul

the grpcservername option was added for use with TLS backends. Fabio connects to backends using <ip>:<port>, so if the certificate presented by your backend doesn't include an IP SAN, then you can set grpcservername to specify the serverNameOverride field in the tls config: https://github.com/fabiolb/fabio/blob/master/proxy/grpc_handler.go#L245
An example would be:
urlprefix-/ proto=grpcs grpcservername=grpcapi.service.consul

Is this the same as overriding SNI?
Also, will this work if terminating the TLS at fabio? Since fabio would hold the certificate which contains the common name of the host I'm trying to reach?

@andyroyle Is there any way to get in touch with you more directly to get some pointers for this? My need to set this up is getting a bit urgent.
We've decided to try to do TLS termination at fabio, and would still like to use SNI if possible to do host matching. But I'm unable to get my traffic past fabio when using TLS.
I've loaded the certificates into fabio, the backend service is not running TLS on the grpc server. I've also tried with running the backend with the TLS enabled, but no traffic reaches the backend service (it does however work if I point my grpc client to grpc.service.consul:port instead of fabio.service.consul:8888).

@tommyalatalo if your backends aren't running TLS then the grpcservername option isn't relevant.
Here's an example of the fabio configuration we have for our grpc endpoint:
proxy.cs = cs=external;type=file;cert=local/.tls/external.crt;key=local/.tls/external.key
proxy.addr = :8888;proto=grpcs;cs=external
registry.consul.tagprefix = fabio-external-urlprefix-

(the cert registered there is a letsencrypt cert)
And our service tags in consul look like this:
fabio-external-urlprefix-/ proto=grpcs grpcservername=api.service.consul

We're using tls backends and the certs don't have IP SANs in them, hence why we are using the grpcservername option.
Our connection code looks like this:
grpc.DialContext(ctx, "api.ourdomain.com:8888", grpc.WithTransportCredentials(creds))

(where api.ourdomain.com points to our fabio instance)

@tommyalatalo if your backends aren't running TLS then the grpcservername option isn't relevant.
Here's an example of the fabio configuration we have for our grpc endpoint:
proxy.cs = cs=external;type=file;cert=local/.tls/external.crt;key=local/.tls/external.key
proxy.addr = :8888;proto=grpcs;cs=external
registry.consul.tagprefix = fabio-external-urlprefix-

(the cert registered there is a letsencrypt cert)
And our service tags in consul look like this:
fabio-external-urlprefix-/ proto=grpcs grpcservername=api.service.consul

We're using tls backends and the certs don't have IP SANs in them, hence why we are using the grpcservername option.
Our connection code looks like this:
grpc.DialContext(ctx, "api.ourdomain.com:8888", grpc.WithTransportCredentials(creds))

(where api.ourdomain.com points to our fabio instance)

Thank you very much, I believe I got it running same as you.
I'm still wondering if it's possible to route to a specific backend host if terminating TLS at fabio?
Or is this not possible if the backend service is not running TLS?

The grpc proxying in fabio doesn't support host matching (at all).
I'm not sure of a good way to solve the versioning problem you described.
The work described above:

...it would be better than nothing in the absence of a host header. Ideally we would have a documented and logical search order. Something like HOST header, SNI, CN from cert, IP, ???

Could solve your the problem but unless you have bandwidth to implement it right now then it's unlikely that it'll get done soon.

We have made some updated to allow host matching by specifying client-side metadata.
Please have a look at our pull request when you can:
https://github.com/fabiolb/fabio/pull/632

@tommyalatalo @andyroyle
Is there any progress on this?
It's quite a breaking point for fabio, ie. host based routing and path striping for grpc :/

@tommyalatalo @andyroyle
Is there any progress on this?
It's quite a breaking point for fabio, ie. host based routing and path striping for grpc :/
It's unfortunate that we have to move to traefix/nginx just because host based routing is not supported for grpc, nor path stripping

We have opened the pull request, but have heard nothing from the fabio devs.

@tommyalatalo @andyroyle
Is there any progress on this?
It's quite a breaking point for fabio, ie. host based routing and path striping for grpc :/
It's unfortunate that we have to move to traefix/nginx just because host based routing is not supported for grpc, nor path stripping

We have opened the pull request, but have heard nothing from the fabio devs.

As I can see you opened Mar 29, like 9 months ago !?!?

I can merge it if it works. Please see my note #735  on looking for a new maintainer.


List of known prefixes to make IDs shorter

We might want to curate a list of known prefixes for namespaces to allow for shorter IDs. E.g. with a mapping like
{
    'gl_ref': 'glottolog.org/resource/reference/id/',
    'gl_lang': 'glottolog.org/resource/languoid/id/',
}

we could write Source_ID as gl_ref:1234.
See also http://www.w3.org/2001/tag/doc/qnameids-2004-03-17#sec-archrec

Instead of building these shortcuts into the standard, data providers can use uri-template-properties in the metadata file to allow resolution of local identifiers.


update gh-pages docs/*md files to point to assets in yuca_docs repository

Changed links to point to yuca slides and blog posts, but kept links for assets pointing to yuca_docs.


Set error tooltip when a node has failed

Some pointers, I think changing:

https://github.com/CartoDB/cartodb/blob/b3a813d97db1b71b4ca7de6c288f6d787dd90ac4/lib/assets/javascripts/cartodb3/editor/layers/layer-content-views/analyses/analyses-workflow-item-view.js
https://github.com/CartoDB/cartodb/blob/master/lib/assets/javascripts/cartodb3/editor/layers/analysis-views/default-layer-analysis-view.js

…and just get this._analysisNode.get('error'); and display that in a tooltip should do the trick.


updating according to styleguide

Description of the change: making sentence shorter
Reason for the change: matching syleguide
Link to original source: https://sendgrid.com/docs/ui/sending-email/how-to-send-email-with-marketing-campaigns/

Closes #

Hello @ksigler7,Thanks again for the PR! It's HACKTOBERFEST! We want to show our appreciation by sending                                              you some special Hacktoberfest swag. If you have not already, could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX

Hello @ksigler7,Thanks again for the PR!                                         We noticed that you have earned 0 out of the 5 points needed to receive glorious SendGrid Hacktoberfest swag.                                         Please take a moment to checkout this link to find more issues to get you past the required threshold.                                         Also, please be sure that you have officially registered here.                                         Thank you and Happy Hacktobering!                                         Team SendGrid DX

Hello @ksigler7,Thanks again for the PR!                                         You have earned 0 out of the 5 points needed to receive glorious SendGrid Hacktoberfest swag.                                         Please take a moment to checkout this link to find more issues to get you past the required threshold or to simply continue the celebration.                                         Also, please be sure you have officially registered with us here by November 1, 2018 to qualify.                                         If you have any questions you can email us at<EMAIL_ADDRESS>                                        Thank you and Happy Hacktobering!                                         Team SendGrid


Opening an I2C bus more than once (IDFGH-13021)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
We provide a C library (for handling of our GNSS/cellular/Wifi/BLE modules) in which we have a "porting" API that is used on top of all our supported platforms (ESP-IDF, STM32Cube, Zephyr, MCUXpresso, Linux, etc.).  In the I2C case the port API includes a uPortI2cOpen() function, as you might expect, which opens one of our devices on a given I2C HW block, but it also has a uPortI2cAdopt() function, which an application will use if it has already opened that I2C HW block itself, using whatever APIs the platform provides (e.g. because they are talking to other I2C devices on the same bus), and just wants our library to open our device on the same bus without touching anything; uPortI2cAdopt() is the more usual "way in", since most applications will have more than one thing hanging off the I2C bus.
uPortI2cAdopt() has worked fine on all platforms for years now and it has always worked fine with the "old" ESP-IDF I2C API, however I can't see a way to make it work on the new ESP-IDF I2C API introduced in ESP-IDF v5.2: the ESP-IDF layer now passes back a handle for an opened bus, which we have no access to (only the application does) and i2c_master_bus_add_device(), which we need to call to address our device, requires this handle.   The function i2c_new_master_bus() looks as though it will return an error if we try to open the same I2C HW block again in order to talk to our device.
Any ideas how we can make this work?

Maybe a function sounds like i2c_master_get_handle_via_port will be helpful..?

Ooo, yes indeed, that would be extremely helpful!

Excellent, many thanks @mythbuster5!

Strangely, even 5.4-dev doesn't bring in this commit - are we getting our code the right way by using a release tag?

@mythbuster5 definitely ubxlib needs this commit so we can port our code to latest IDF

uPortI2cAdopt() has worked fine on all platforms for years now and it has always worked fine with the "old" ESP-IDF I2C API, however I can't see a way to make it work on the new ESP-IDF I2C API introduced in ESP-IDF v5.2: the ESP-IDF layer now passes back a handle for an opened bus, which we have no access to

@mythbuster5  This fix should be back-ported to v5.2+.


Joliet identifiers in _volDesc.txt are incorrect.

Version
64 bit, AnsiBuild, 20240401T222316
Describe the bug
DIC decodes the bytes for the Joliet identifiers incorrectly. I mostly looked at the Volume Identifier and that was wrong across several discs I checked. It seems to log every first character.
The software isoinfo also extracts it incorrectly, if that is of any help to you (Maybe you based your implementation on theirs.)
Three examples:

Disc
Bytes 40-72 of the Joliet SVD (encoded as hex)
UCS-2BE decoded (w/o trailing spaces)
DIC log

Command & Conquer: Teil 3: Operation Tiberian Sun: Feuersturm
00 46 00 49 00 52 00 45 00 53 00 54 00 4F 00 52 00 4D 00 20 00 20 00 20 00 20 00 20 00 20 00 20
FIRESTORM
FRSOM

Computer Bild Spiele 2000-06
00 54 00 62 00 72 00 69 00 67 00 61 00 64 00 65 00 00 00 20 00 20 00 20 00 20 00 20 00 20 00 00
Tbrigade
Trgd

Myth III: The Wolf Age
00 4D 00 59 00 54 00 48 00 33 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20
MYTH3
MT3

But I think this happened for every disc with a Joliet Volume Identifier I've checked so far.
Log files
Command & Conquer: Teil 3: Operation Tiberian Sun: Feuersturm.zip
Computer Bild Spiele 2000-06.zip
Myth III: Die Zeit des Wolfs.zip

It's a known issue. (#60)
added -fshort-wchar
DiscImageCreator_test.tar.gz

Thank you for the information. I did not realise that it was known.
Sadly your provided test version is strictly worse than the regular version.
It leaves the Joliet identifier fields empty in the log.
Additionally there are these new errors message:
[F:OutputFsVolumeDescriptorForJoliet][L:479] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:494] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:505] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:516] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:527] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:538] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:549] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:560] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:571] GetLastError: 84, Invalid or incomplete multibyte or wide character

@garywww also pretty much writes exactly that in your referred issue:

When compiling with -fshort-wchar (forces wchar_t to be 16-bit) everything about Joliet parsing fails but all other warnings I got previously (see below) were gone.

The log of your provided `_test` version.
AppVersion
        64 bit, AnsiBuild, 20240504T004230
/c2 val3 was omitted. set [0]
/c2 val4 was omitted. set [0]
valid extension was omitted. -> set .bin
CurrentDirectory
        /tmp/TBRIGADE
WorkingPath
         Argument: /tmp/TBRIGADE/TBRIGADE.bin
         FullPath: /tmp/TBRIGADE/TBRIGADE.bin
            Drive: /
        Directory: tmp/TBRIGADE/
         Filename: TBRIGADE
        Extension: .bin
StartTime: 2024-05-04T14:16:55+0200
Set the drive speed: 7056KB/sec
          Block Size: 4096
       Flagment Size: 4096
       All Block Num: 24635381
      Free Block Num: 2412347
 Available Block Num: 1154389
          I Node Num: 6275072
     Free I Node Num: 4762694
Available I Node Num: 4762694
      File System ID:<PHONE_NUMBER>398096367
          Mount Flag: 1024
 Max Filename Length: 255
DiskSize of [/tmp/TBRIGADE]
        Total:<PHONE_NUMBER>76 bytes
         Used:<PHONE_NUMBER>4 bytes
        ---------------------------
        Space:<PHONE_NUMBER> bytes
         => There is enough disk space for dumping
Check if subchannel pack mode is supported
[INFO] This drive supports subchannel pack mode
Checking SubRtoW (Track) 10/10
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 0]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 1]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 2]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 8]
Checking Pregap sync, msf, mode (LBA)  -8035
[F:OutputFsVolumeDescriptorForJoliet][L:479] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:494] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:505] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:516] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:527] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:538] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:549] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:560] GetLastError: 84, Invalid or incomplete multibyte or wide character
[F:OutputFsVolumeDescriptorForJoliet][L:571] GetLastError: 84, Invalid or incomplete multibyte or wide character
Reading DirectoryRecord  102/ 102
LBA[000000, 0000000]: [F:ReadTOCText][L:546]
        Opcode: 0x43
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 02-04-01 = NOT_READY - LUN_NOT_READY - BECOMING_READY
LBA[000000, 0000000]: [F:ReadCDForCheckingSubQAdr][L:1109]
        Opcode: 0xd8
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 06-29-00 = UNIT_ATTENTION - POWER ON, RESET, OR BUS DEVICE RESET OCCURRED
Please wait for 40000 milliseconds until the device is returned
lpCmd: d8, 00, 00, 00, 00, 00, 00, 00, 00, 02, 08, 00
dwBufSize: 5484
Checking SubQ adr (Track) 10/10
Creating (Track AA).bin & .sub (LBA)   306717/  306717

        There is not non-zero byte in the (Track AA)
Creating (Track 00).scm & .sub, (Track 01)(-LBA).scm & .sub (LBA)    -8027/  -10000
Set OpCode: 0xd8, SubCode: 8(Raw)
Checking SubQ ctl (Track) 10/10
Creating .scm (LBA) 306618/306618
No C2 errors
Copying .scm to .img
Set LBA to descramble sector 306617/306617
Descrambling data sector of img: 228431/228431
Exec /mnt/data0/downloads/dic-test/DiscImageCreator/./EccEdc.out check Sub "/tmp/TBRIGADE/TBRIGADE.img"
Checking sectors: 306617/306617
[NO ERROR] User data vs. ecc/edc match all
Creating cue and ccd (Track) 10/10
Creating bin (Track) 10/10
Hashing: TBRIGADE.scm
Hashing: TBRIGADE.img
Hashing: TBRIGADE (Track 01).bin
Hashing: TBRIGADE (Track 02).bin
Hashing: TBRIGADE (Track 03).bin
Hashing: TBRIGADE (Track 04).bin
Hashing: TBRIGADE (Track 05).bin
Hashing: TBRIGADE (Track 06).bin
Hashing: TBRIGADE (Track 07).bin
Hashing: TBRIGADE (Track 08).bin
Hashing: TBRIGADE (Track 09).bin
Hashing: TBRIGADE (Track 10).bin
EndTime: 2024-05-04T14:27:57+0200

And for comparison the log of the regular version.
AppVersion
        64 bit, AnsiBuild, 20240401T222316
/c2 val3 was omitted. set [0]
/c2 val4 was omitted. set [0]
valid extension was omitted. -> set .bin
CurrentDirectory
        /tmp/TBRIGADE
WorkingPath
         Argument: /tmp/TBRIGADE/TBRIGADE.bin
         FullPath: /tmp/TBRIGADE/TBRIGADE.bin
            Drive: /
        Directory: tmp/TBRIGADE/
         Filename: TBRIGADE
        Extension: .bin
StartTime: 2024-05-04T13:57:32+0200
Set the drive speed: 7056KB/sec
          Block Size: 4096
       Flagment Size: 4096
       All Block Num: 24635381
      Free Block Num: 2413444
 Available Block Num: 1155486
          I Node Num: 6275072
     Free I Node Num: 4763285
Available I Node Num: 4763285
      File System ID:<PHONE_NUMBER>398096367
          Mount Flag: 1024
 Max Filename Length: 255
DiskSize of [/tmp/TBRIGADE]
        Total:<PHONE_NUMBER>76 bytes
         Used:<PHONE_NUMBER>2 bytes
        ---------------------------
        Space:<PHONE_NUMBER> bytes
         => There is enough disk space for dumping
Check if subchannel pack mode is supported
[INFO] This drive supports subchannel pack mode
Checking SubRtoW (Track) 10/10
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 0]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 1]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 2]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 8]
Checking Pregap sync, msf, mode (LBA)  -8018
[F:OutputFsVolumeDescriptorForJoliet][L:571] GetLastError: 84, Invalid or incomplete multibyte or wide character
Reading DirectoryRecord  102/ 102
LBA[000000, 0000000]: [F:ReadTOCText][L:546]
        Opcode: 0x43
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 02-04-01 = NOT_READY - LUN_NOT_READY - BECOMING_READY
LBA[000000, 0000000]: [F:ReadCDForCheckingSubQAdr][L:1109]
        Opcode: 0xd8
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 06-29-00 = UNIT_ATTENTION - POWER ON, RESET, OR BUS DEVICE RESET OCCURRED
Please wait for 40000 milliseconds until the device is returned
lpCmd: d8, 00, 00, 00, 00, 00, 00, 00, 00, 02, 08, 00
dwBufSize: 5484
Checking SubQ adr (Track) 10/10
Creating (Track AA).bin & .sub (LBA)   306717/  306717

        There is not non-zero byte in the (Track AA)
Creating (Track 00).scm & .sub, (Track 01)(-LBA).scm & .sub (LBA)    -7992/  -10000
Set OpCode: 0xd8, SubCode: 8(Raw)
Checking SubQ ctl (Track) 10/10
Creating .scm (LBA) 306618/306618
No C2 errors
Copying .scm to .img
Set LBA to descramble sector 306617/306617
Descrambling data sector of img: 228431/228431
Exec /mnt/data0/DiscImageCreator/./EccEdc.out check Sub "/tmp/TBRIGADE/TBRIGADE.img"
Checking sectors: 306617/306617
[NO ERROR] User data vs. ecc/edc match all
Creating cue and ccd (Track) 10/10
Creating bin (Track) 10/10
Hashing: TBRIGADE.scm
Hashing: TBRIGADE.img
Hashing: TBRIGADE (Track 01).bin
Hashing: TBRIGADE (Track 02).bin
Hashing: TBRIGADE (Track 03).bin
Hashing: TBRIGADE (Track 04).bin
Hashing: TBRIGADE (Track 05).bin
Hashing: TBRIGADE (Track 06).bin
Hashing: TBRIGADE (Track 07).bin
Hashing: TBRIGADE (Track 08).bin
Hashing: TBRIGADE (Track 09).bin
Hashing: TBRIGADE (Track 10).bin
EndTime: 2024-05-04T14:08:41+0200

You already have the logs for the regular version, but here are the logs for the test version:
TBRIGADE.zip

Updated. (It has not tested yet)
DiscImageCreator_test.tar.gz

I can't tell what your changes and your goal were with the version, so I can't determine whether you succeeded.
There now are no error messages related to the Joliet identifiers, but also no lines in the log files displaying the Joliet identifiers. So maybe you decided not to display them if you can't do so correctly right now. Or maybe the fix is just not working as expected.
Here is the relevant section of the SVD:
========== LBA[000017, 0x00011]: Volume Descriptor ==========
                               Volume Descriptor Type: 2
                                  Standard Identifier: CD001
                            Volume Descriptor Version: 1
                                     Escape Sequences: %/E
                                      Volume Set Size: 1
                               Volume Sequence Number: 1
                                   Logical Block Size: 2048

Output
AppVersion
        64 bit, AnsiBuild, 20240505T112014
/c2 val3 was omitted. set [0]
/c2 val4 was omitted. set [0]
valid extension was omitted. -> set .bin
CurrentDirectory
        /tmp/TBRIGADE
WorkingPath
         Argument: /tmp/TBRIGADE/TBRIGADE.bin
         FullPath: /tmp/TBRIGADE/TBRIGADE.bin
            Drive: /
        Directory: tmp/TBRIGADE/
         Filename: TBRIGADE
        Extension: .bin
StartTime: 2024-05-05T13:50:00+0200
Set the drive speed: 7056KB/sec
          Block Size: 4096
       Flagment Size: 4096
       All Block Num: 24635381
      Free Block Num: 2984981
 Available Block Num: 1727023
          I Node Num: 6275072
     Free I Node Num: 4763741
Available I Node Num: 4763741
      File System ID:<PHONE_NUMBER>398096367
          Mount Flag: 1024
 Max Filename Length: 255
DiskSize of [/tmp/TBRIGADE]
        Total:<PHONE_NUMBER>76 bytes
         Used:<PHONE_NUMBER>0 bytes
        ---------------------------
        Space:<PHONE_NUMBER>6 bytes
         => There is enough disk space for dumping
Check if subchannel pack mode is supported
[INFO] This drive supports subchannel pack mode
Checking SubRtoW (Track) 10/10
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 0]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 1]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 2]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 8]
Checking Pregap sync, msf, mode (LBA)  -8029
Reading DirectoryRecord  102/ 102
LBA[000000, 0000000]: [F:ReadTOCText][L:546]
        Opcode: 0x43
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 02-04-01 = NOT_READY - LUN_NOT_READY - BECOMING_READY
LBA[000000, 0000000]: [F:ReadCDForCheckingSubQAdr][L:1109]
        Opcode: 0xd8
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 06-29-00 = UNIT_ATTENTION - POWER ON, RESET, OR BUS DEVICE RESET OCCURRED
Please wait for 40000 milliseconds until the device is returned
lpCmd: d8, 00, 00, 00, 00, 00, 00, 00, 00, 02, 08, 00
dwBufSize: 5484
Checking SubQ adr (Track) 10/10
Creating (Track AA).bin & .sub (LBA)   306717/  306717

        There is not non-zero byte in the (Track AA)
Creating (Track 00).scm & .sub, (Track 01)(-LBA).scm & .sub (LBA)    -7842/  -10000
Set OpCode: 0xd8, SubCode: 8(Raw)
Checking SubQ ctl (Track) 10/10
Creating .scm (LBA) 306618/306618
No C2 errors
Copying .scm to .img
Set LBA to descramble sector 306617/306617
Descrambling data sector of img: 228431/228431
Exec ./EccEdc.out check Sub "/tmp/TBRIGADE/TBRIGADE.img"
Checking sectors: 306617/306617
[NO ERROR] User data vs. ecc/edc match all
Creating cue and ccd (Track) 10/10
Creating bin (Track) 10/10
Hashing: TBRIGADE.scm
Hashing: TBRIGADE.img
Hashing: TBRIGADE (Track 01).bin
Hashing: TBRIGADE (Track 02).bin
Hashing: TBRIGADE (Track 03).bin
Hashing: TBRIGADE (Track 04).bin
Hashing: TBRIGADE (Track 05).bin
Hashing: TBRIGADE (Track 06).bin
Hashing: TBRIGADE (Track 07).bin
Hashing: TBRIGADE (Track 08).bin
Hashing: TBRIGADE (Track 09).bin
Hashing: TBRIGADE (Track 10).bin
EndTime: 2024-05-05T14:00:57+0200

Logs
TBRIGADE (20240505T112014).zip

fixed again.  It has been confirmed on console.
DiscImageCreator_test.tar.gz

Looks good. The Joliet identifiers seem to be logged correctly without introducing any other regression (But I only checked that the Joliet identifiers are correct and that the track checksums still match.)

Output
AppVersion
        64 bit, AnsiBuild, 20240505T224725
/c2 val3 was omitted. set [0]
/c2 val4 was omitted. set [0]
valid extension was omitted. -> set .bin
CurrentDirectory
        /tmp/TBRIGADE
WorkingPath
         Argument: /tmp/TBRIGADE/TBRIGADE.bin
         FullPath: /tmp/TBRIGADE/TBRIGADE.bin
            Drive: /
        Directory: tmp/TBRIGADE/
         Filename: TBRIGADE
        Extension: .bin
StartTime: 2024-05-05T16:06:49+0200
Set the drive speed: 7056KB/sec
          Block Size: 4096
       Flagment Size: 4096
       All Block Num: 24635381
      Free Block Num: 2971098
 Available Block Num: 1713140
          I Node Num: 6275072
     Free I Node Num: 4761547
Available I Node Num: 4761547
      File System ID:<PHONE_NUMBER>398096367
          Mount Flag: 1024
 Max Filename Length: 255
DiskSize of [/tmp/TBRIGADE]
        Total:<PHONE_NUMBER>76 bytes
         Used:<PHONE_NUMBER>8 bytes
        ---------------------------
        Space:<PHONE_NUMBER>8 bytes
         => There is enough disk space for dumping
Check if subchannel pack mode is supported
[INFO] This drive supports subchannel pack mode
Checking SubRtoW (Track) 10/10
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 0]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 1]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 2]
This drive (CD-R   PX-W4012A 1.07 03/22/06  09:00     ) supports [OpCode: 0xd8, SubCode: 8]
Checking Pregap sync, msf, mode (LBA)  -8178
Reading DirectoryRecord  102/ 102
LBA[000000, 0000000]: [F:ReadTOCText][L:546]
        Opcode: 0x43
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 02-04-01 = NOT_READY - LUN_NOT_READY - BECOMING_READY
LBA[000000, 0000000]: [F:ReadCDForCheckingSubQAdr][L:1109]
        Opcode: 0xd8
        ScsiStatus: 0x02 = CHECK_CONDITION
        SenseData Key-Asc-Ascq: 06-29-00 = UNIT_ATTENTION - POWER ON, RESET, OR BUS DEVICE RESET OCCURRED
Please wait for 40000 milliseconds until the device is returned
lpCmd: d8, 00, 00, 00, 00, 00, 00, 00, 00, 02, 08, 00
dwBufSize: 5484
Checking SubQ adr (Track) 10/10
Creating (Track AA).bin & .sub (LBA)   306717/  306717

        There is not non-zero byte in the (Track AA)
Creating (Track 00).scm & .sub, (Track 01)(-LBA).scm & .sub (LBA)    -8616/  -10000
Set OpCode: 0xd8, SubCode: 8(Raw)
Checking SubQ ctl (Track) 10/10
Creating .scm (LBA) 306618/306618
No C2 errors
Copying .scm to .img
Set LBA to descramble sector 306617/306617
Descrambling data sector of img: 228431/228431
Exec ./EccEdc.out check Sub "/tmp/TBRIGADE/TBRIGADE.img"
Checking sectors: 306617/306617
[NO ERROR] User data vs. ecc/edc match all
Creating cue and ccd (Track) 10/10
Creating bin (Track) 10/10
Hashing: TBRIGADE.scm
Hashing: TBRIGADE.img
Hashing: TBRIGADE (Track 01).bin
Hashing: TBRIGADE (Track 02).bin
Hashing: TBRIGADE (Track 03).bin
Hashing: TBRIGADE (Track 04).bin
Hashing: TBRIGADE (Track 05).bin
Hashing: TBRIGADE (Track 06).bin
Hashing: TBRIGADE (Track 07).bin
Hashing: TBRIGADE (Track 08).bin
Hashing: TBRIGADE (Track 09).bin
Hashing: TBRIGADE (Track 10).bin
EndTime: 2024-05-05T16:17:45+0200

Log files
TBRIGADE (20240505T224725).zip


Kube scheduler config not recognized

i'm trying to setup kubescheduler inside my k3S cluster
Environmental Info:
K3s Version: 1.30
Node(s) CPU architecture, OS, and Version:
three arm64 node, and 2 amd64 node
Cluster Configuration:
"3 servers, 2 agents"
Describe the bug:
i want to apply a kube scheduler config but crd not exist:
# scheduler-config.yaml
apiVersion: kubescheduler.config.k8s.io/v1
kind: KubeSchedulerConfiguration
metadata:
  name: custom-scheduler-config
profiles:
- schedulerName: default-scheduler
  plugins:
    score:
      disabled:
      - name: NodeResourcesBalancedAllocation
      - name: NodeResourcesFit
      enabled:
      - name: NodePreferAvoid
        weight: 100
  pluginConfig:
  - name: NodePreferAvoid
    args:
      scoreStrategy:
        type: MostAllocated
        resources:
        - name: cpu
          weight: 1
        - name: memory
          weight: 1
      preferredNodes:
      - nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/hostname
            operator: In
            values:
            - ryzen
      avoidNodes:
      - nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/hostname
            operator: In
            values:
            - rtx

---
# Apply this to your kube-scheduler configuration in /etc/kubernetes/manifests/kube-scheduler.yaml
apiVersion: v1
kind: Pod
metadata:
  name: kube-scheduler
  namespace: kube-system
spec:
  containers:
  - name: kube-scheduler
    image: k8s.gcr.io/kube-scheduler:v1.30.0 # Use your cluster's version
    command:
    - kube-scheduler
    - --config=/etc/kubernetes/scheduler-config.yaml # Point to your config
    volumeMounts:
    - mountPath: /etc/kubernetes/scheduler-config.yaml
      name: scheduler-config
      readOnly: true
  volumes:
  - name: scheduler-config
    hostPath:
      path: /etc/kubernetes/scheduler-config.yaml
      type: File

Steps To Reproduce:
apply this config
Expected behavior:
existing crd
Actual behavior:
not exist
Additional context / logs:
The Kubernetes API could not find kubescheduler.config.k8s.io/KubeSchedulerConfiguration for requested resource kube-infra/custom-scheduler-config. Make sure the "KubeSchedulerConfiguration" CRD is installed on the destination cluster.

This is a config file. You point the scheduler at it via the --config=/etc/kubernetes/scheduler-config.yaml arg. You do NOT apply it to the cluster.
K3s does not run the scheduler in a pod, and does not store anything in /etc/kubernetes/manifests, so following instructions to modify pod manifests there is not correct. Are you following instructions written for a different Kubernetes distro?

Check the k3s docs for information on how to pass args to the scheduler: https://docs.k3s.io/cli/server#customized-flags-for-kubernetes-processes

This is a config file. You point the scheduler at it via the --config=/etc/kubernetes/scheduler-config.yaml arg. You do NOT apply it to the cluster.
K3s does not run the scheduler in a pod, and does not store anything in /etc/kubernetes/manifests, so following instructions to modify pod manifests there is not correct. Are you following instructions written for a different Kubernetes distro?  Also it looks like you ignored the instructions in the comments of the manifest you found.

Check the k3s docs for information on how to pass args to the scheduler: https://docs.k3s.io/cli/server#customized-flags-for-kubernetes-processes

there is no document in the link you provide custom args say nothing...
could you give a better document how to use that?

In your example pod spec - from wherever you got that - it says:
    - kube-scheduler
    - --config=/etc/kubernetes/scheduler-config.yaml # Point to your config

For k3s, as the page I referenced says, you pass args to kube-scheduler via --kube-scheduler-arg. So you in the k3s config, you would want to set:
kube-scheduler-arg:
  - --config=/etc/kubernetes/scheduler-config.yaml # Point to your config

As the comment suggests you can put that scheduler config file wherever you want on the node, you just need to provide the correct path in the arg.


pull request for e2e test at 02/05/2017 20:15:07

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Review 2 - Documentations - Readthedocs documentations should be updated

openOmics version: 0.8.4

Description
@gawbul

Docstrings seem to be available throughout the codebase for all relevant functions, however, I found the documentation on Read the Docs to be lacking in comparison, particularly in providing detail of function parameters that are otherwise available in the docstrings.
There is no link to the contribution guidelines from the main README, which I feel would be beneficial, however contributing guidelines are available in https://github.com/BioMeCIS-Lab/OpenOmics/blob/master/CONTRIBUTING.rst and on Read the Docs.
Just being finicky, I personally would prefer a common format for the README and CONTRIBUTING documents etc. Either both in reStructuredText or both in Markdown. There seems to be an outdated README.rst that could probably be replaced with the current README.md?

Revamped <openomics.readthedocs.io>!

Looks awesome 🤩

I did notice that this section of the docs https://openomics.readthedocs.io/en/latest/usage/getting-started.html#creating-a-multi-omics-dataset was missing the following:
from openomics import MultiOmics

Otherwise, the following statement fails:
luad_data = MultiOmics(cohort_name="LUAD", omics_data=[mRNA, mRNA, lncRNA, som, pro])

Thanks for pointing this out. I will fix that.


reindex() doesn't work properly

I have the such ElasticSearch index:
$teachers = UserModel::select(\DB::raw('users.id as user_id, null as child_name, users.name as name, users.info as info, users.role_id,
subjects.name as subject_name, classes.name as class_name'))
->join('teacher_subjects', 'users.id', '=', 'teacher_subjects.teacher_id')
->join('subjects', 'subjects.id', '=', 'teacher_subjects.subject_id')
->join('classes', 'classes.id', '=', 'teacher_subjects.class_id')
->where('users.role_id', \Config::get('constants.ROLE_TEACHER'));
        $students = UserModel::select(\DB::raw('users.id as user_id, null as child_name, users.name as name, users.info as info, users.role_id,
                                        null as subject_name, classes.name as class_name'))
                                        ->join('student_classes', 'users.id', '=', 'student_classes.student_id')
                                        ->join('classes', 'classes.id', '=', 'student_classes.class_id')
                                        ->where('users.role_id', \Config::get('constants.ROLE_STUDENT'));

        $users = UserModel::select(\DB::raw('users.id as user_id,
                                        (select group_concat(name) from users u join student_parents on u.id = student_parents.student_id where student_parents.parent_id = users.id)
                                        as child_name, name, info, role_id, null as subject_name, null as class_name'))
                                        ->union($teachers)
                                        ->union($students)
                                        ->where('users.role_id', \Config::get('constants.ROLE_PARENT'))
                                        ->havingRaw('child_name is not null')
                                        ->get();

        $users->addToIndex();

This request adds to the index 19 items. After reindex() there are 82. The difference is that reindex() adds to the index all the data from the main table 'users' which depends on UserModel. Is it bug or I didn't set the index in UserModel properly?

Now I call deleting and re-adding the index instead of reindex(), but I don't like this solution...

Dumping a bunch of code, then asking why it does not work is not a proper use of a github issues. This is more suitable for stackoverflow Q&A. Would be best to create a small, easily replicatable and isolated example that we can work with.
We won't be debugging your code for you.


test lpips

Thank for your great work. I have an issue. Using the hyperparameters same config in the code (config), I can not get 0.156LPIPS for interp_chickchicken .It is much higher than 0.156LPIPS! @keunhong

@taoranyi how did you get points.npy?

@taoranyi How did you get points.npy?


Improve typescript support for methods { event, purchase, ... }

Description
File vue-gtag.d.ts does not contain export for methods like: event, purchase ... . When I try to import in the vuex those methods I get message TS2614: Module '"vue-gtag"' has no exported member 'purchase'. Did you mean to use 'import purchase from "vue-gtag"' instead?.
Related items:
https://github.com/MatteoGabriele/vue-gtag/commit/7e1a40162d5226e91b1c37e61f629e551481b7b0 - commit with functionality
https://github.com/MatteoGabriele/vue-gtag/issues/56 - feature request
Expected behavior
File vue-gtag.d.ts should contain exports for methods like: event, purchase, and so on.
Actual behavior
There are no typings for new functionality which has been added in https://github.com/MatteoGabriele/vue-gtag/commit/7e1a40162d5226e91b1c37e61f629e551481b7b0
Environment
Open IDE and try to use that in the project with typescript support:
import { event, purchase } from 'vue-gtag';

Operating system: doesn't matter
Browser and version: doesn't matter

Reproducible Demo

true, I must have forgotten.
if you are familiar with type definitions, please go ahead and make a PR for this, otherwise I will pick this up as soon as I have time.
thanks again

Please take a look on https://github.com/MatteoGabriele/vue-gtag/pull/213
Cheers,
Marcin

Is there anything specific I need to do to enable TS types (import vue-gtag.d.ts?)? I've installed gtag
import VueGtag from 'vue-gtag'

Vue.use(VueGtag, ...)

but get the error (typescript 4.1.5)
Property '$gtag' does not exist on type 'VueConstructor<Vue>'.

Vue.$gtag.event('login', { method: 'Google' })
       ^

fixed with #213


Not working in freertos, are you sure it's threadsafe?

I use this function in freertos. It makes freertos stucked in one task(thread, can't switch to other tasks). And when I call osDelay, it returns osErrorISR.

@mttbx : You should also check actual output function, it may be not thread safe/callable from ISR context ...

Thank you! I closed my issue because I found I may think it the wrong way.


🍒 Cherry pick PR #9674 to staging 🍒

🍒 Cherry pick https://github.com/Expensify/App/pull/9674 to staging 🍒

🚀 Deployed to production by @roryabraham in version: 1.1.79-17 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Secrets can be deleted and created by non admins

Hello,
So currently Drone allows secrets to be created and deleted by nonadmins to project.
This is a security risk in my opinion where a malicious developer can inject some false secrets to the project and then deploy.
I've created a PR to fix the issue. Currently, this is a big issue with one of my customer's teams where they require more RBAC like of control of their project.

Drone only allows individuals with write or admin access to the repository to manage secrets.  Years ago we required admin access to manage secrets, however, we changed this to write access after countless requests.
The current behavior is desirable for many organizations because it strikes an adequate balance between security and making Drone self-service for their employees. If your organization has special security requirements we would recommend using a secret extension such as vault which will give you more control over access and management. See https://docs.drone.io/extensions/secret/

Thanks for the explanation @bradrydzewski !
Well, then there is a bug of some sorts since we have tested and everyone has rights to add/delete secrets from all repositories. Also we have noticed that we can disable other repositories but we cannot activate them, which is also weird.
We are using BB server.
Is the check made here: https://github.com/drone/drone/blob/66a8057001e15c26af3a0d6cd84261289065224b/handler/api/acl/org.go#L32

If you are a Drone system admin you have full access to all repositories.  I ran a quick test and I was unable to reproduce.
The relevant code can be found here:
https://github.com/drone/drone/blob/master/handler/api/acl/check.go
And the relevant unit tests can be found here:
https://github.com/drone/drone/blob/master/handler/api/acl/check_test.go#L342:L471

I also can't reproduce this issue. Can you please clarify what exactly you are doing and also make sure that the user that shouldn't be allowed to create secrets is not part of the Drone admins?

So we are not using the cloud version, we are using our own.
Turned the debug log on and found that somehow our users have write permission to all repositories apparently, according to Drone:
{"admin":false,"level":"debug","msg":"api: access granted","name":"toivo","namespace":"VTJ","read":true,"request-id":"1ggcNM0i78dRHCew34hTsKKUK9w","time":"2020-08-27T14:47:14Z","user.login":"joonas.lehtimaki_polarsquad.com","visibility":"private","write":true} {"admin":false,"level":"debug","msg":"api: access granted","name":"toivo","namespace":"VTJ","read":true,"request-id":"1ggcNM0i78dRHCew34hTsKKUK9w","time":"2020-08-27T14:47:14Z","user.login":"joonas.lehtimaki_polarsquad.com","visibility":"private","write":true} {"fields.time":"2020-08-27T14:47:14Z","latency":273089834,"level":"debug","method":"DELETE","msg":"","remote":"<IP_ADDRESS>:23232","request":"/api/repos/VTJ/toivo/secrets/test-secret","request-id":"1ggcNM0i78dRHCew34hTsKKUK9w","time":"2020-08-27T14:47:14Z"}
Even though we cannot commit to that repository in BitBucket.

I work with @jlehtimaki. One additional point of data is that we use BitBucket Server (not Cloud) as the source code repository.

The cloud version and the self-hosted version use the same underlying source code.  The only difference is that we are using GitHub and you are using Bitbucket Server as your source control management system.  To determine whether or not a user has write access in Bitbucket Server, we use the following API call:
rest/api/1.0/repos?size=1000&permission=REPO_WRITE&project=%s&name=%s

I recommend taking a look at the underlying source code and unit tests:
https://github.com/drone/go-scm/blob/master/scm/driver/stash/repo.go#L118:L156
https://github.com/drone/go-scm/blob/master/scm/driver/stash/repo_test.go#L64-L186


 :)

It is done, but I found a bug in the AutoTLS unit tests in the process.
This is fixed in https://github.com/knative-sandbox/net-istio/pull/270, merging right now.
Then I'll rebase my PR on top of https://github.com/knative-sandbox/net-istio/pull/270 and it is good to go.

There is another breaking change and the bot doesn't seem to be able to rebase :smile:. See https://github.com/knative-sandbox/net-istio/pull/273.
/close


Page order

So every time I rip a book the pages are massively out of order. Is there anyway to fix this?

I know this is already closed but I figured this out (way too late as I've spent dozens of hours reordering all the pages of my 200+ comics). But the answer is simple, the pages get messed up as a result of the renaming action at the end of the download routine. The pages are streamed and retrieved in the correct order from the service and saved in the correct order in the form COMIXOLOGY_BOOK_ENCRYPTED_HD_XXXX.jpg. It's only when the pages are renamed, do they get completely out of order. I just removed that loop from the code and saved myself dozens of hours of painstaking work.


📝[Docs]: Changing of all issue templates and PR template

#642
Description
Added new issue , PR template.
Related Issues
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]

Closes #642

Type of PR

[ ] Bug fix
[ ] Feature enhancement
[X] Documentation update
[ ] Other (specify): _______________

Checklist

[X] I have gone through the contributing guide
[X] I have updated my branch and synced it with project main branch before making this PR
[X] I have performed a self-review of my code
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X] I have commented my code, particularly in hard-to-understand areas.

@Priyaaa1 please review the PR.

@Priyaaa1 please review the PR.

@Priyaaa1 please review the PR.

@Anjaliavv51 The workflows work right?

@Anjaliavv51 The workflows work right?

Yes


ILogger.LogMetric inserts records in traces table instead of customMetrics table

Hi, for reference I originally asked about this issue a few days ago in the following forum: https://social.msdn.microsoft.com/Forums/en-US/ea18efe8-1f23-4f0f-b3fe-828087467ccc/iloggerlogmetric-extension-method-writes-into-traces-table-instead-of-custommetrics-with-azure?forum=AzureFunctions
I am using Azure Functions V2 and when I was attempting to log custom metrics into my AppInsights I noticed that if I use the ILogger instance that is available directly from the Azure Function signature then this will work correctly and insert the metrics in the proper place. However if I use dependency injection to resolve an ILogger then this writes the metrics data into the "traces" table of AppInsights instead of the "customMetrics" table. Therefore I cannot rely on the dependency-injected loggers to log custom metrics. So it seems there could be something about the different category name that is not allowing the metric logging to be recognized as such somewhere in the runtime.
I am using the LogMetric extension method referenced in documentation here:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-monitoring#custom-metrics-logging
If I am right this seems like a bug that should be addressed or at minimum some clarification should be included in the documentation.
Please let me know if your investigation yields similar results or if I am otherwise misinterpreting something.
Thanks!

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

ID: 5786402e-9d88-5de0-607a-1c2a143af006
Version Independent ID: 15368d1c-b22e-7eb2-413f-cc0d41d2b909
Content: Use dependency injection in .NET Azure Functions
Content Source: articles/azure-functions/functions-dotnet-dependency-injection.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

Hi @BoricuaEnLaLuna Thanks for reaching out. We will review and update as appropriate

@BoricuaEnLaLuna I believe a more appropriate place for an insightful discussion on this would be the azure-functions-host repo. Please feel free to open an issue there. Apologies for the run around.
We will assign this issue to the content author for further review and to update the docs as required.

After further experimentation I see this will work properly if the ILogger's category name matches a specific naming convention: "Function.{AnyNameHere}.User"
I tried using these other patterns and it does not work in these cases (it will write in traces table):
"Function"
"Function.{AnyNameHere}"
"Function.User"
It apparently must follow pattern "Function.{AnyNameHere}.User" for it to write correctly into the customMetrics table when using the ILogger.LogMetric extension method.
So the workaround for dependency injection is to not use type ILogger in the constructors and instead use ILoggerFactory to create the logger yourself forcing the needed naming convention for the category:
var logger = this.loggerFactory.CreateLogger($"Function.{functionName}.User");

I am running into same issue, any update on the issue?
Does anyone found any workaround meanwhile?


Single column files

csv has only one column and the error is "unable to auto-detect deliminating character"

+1 for this — in an AI app, a CSV file can be used as the first step from fully unstructured text to somewhat structured, and the minimum requirement could often be a single column CSV.
For instance, users might want to try export/import their tweets, where the only content of interest is the tweet itself and any other metadata are noise that LLMs won't be able to handle anyway. (or completely redundant / very low cardinality, for instance "author" column that is always your name)

+1 - weird that a single column would not be accepted

+1 get this a bit.


window reference introduced in 2.5.8 crashes Node

Hi, and thanks for this lib!
The reference to window introduced in https://github.com/willmcpo/body-scroll-lock/pull/45 crashes Node when e.g. server rendering. Yes, it could be avoided by dynamically importing body-scroll-lock only on browser, but I believe it would make sense to just guard against this with a typeof window check or something similar.
I could make a PR next week. I guess it doesn't matter which result the passive event listener feature check gives when running on Node?

Makes sense Nikko. Happy for you to submit a PR.
Thanks
On Thu, Oct 4, 2018, 7:06 PM Mikko Porkola<EMAIL_ADDRESS>wrote:

Hi, and thanks for this lib!
The reference to window introduced in #45
https://github.com/willmcpo/body-scroll-lock/pull/45 crashes Node when
e.g. server rendering. Yes, it could be avoided by dynamically importing
body-scroll-lock only on browser, but I believe it would make sense to
just guard against this with a typeof window check or something similar.
I could make a PR next week. I guess it doesn't matter which result the
passive event listener feature check gives when running on Node?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/willmcpo/body-scroll-lock/issues/51, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ANLxOlfdVaJv8eKiEdCEANy5BhnFDTKeks5uhc-FgaJpZM4XHq00
.

Fixed

Hi guys!
Seems like problem still exists in last plugin version ...
Do I need to create a new issue ?


make spinner scss vars overwritable

Hello,
All the SCSS variables are marked as !default except the three for the spinner.
It would be nice to have them to simplify spinner's customization

Thanks for fixing that!


Kubernetes Gateway API single deployment

Currently I can deploy a single istio ingressgateway deployment and then have multiple isto gateway configurations use that single ingress deployment using a selector. In the new Kubernetes Gateway API it wants to deploy a separate deployment per gateway config. I don't want that many ingressgateway deployments. I noticed there is an option for manual deployments which I tested, but that errored out due to my existing istio ingressgateway and the kubernetes gateway configuration not being in the same namespace failed to assign to any requested addresses: hostname not found in namespace "namespace1" but it was found in namespace(s) "namespace2".
I would like to be able to use a single ingress gateway deployment for many kubernetes gateway configurations that are in different namespaces. Is this configuration possible? Or am I stuck between 1. an ingress deployment in every namespace or 2. all my kubernetes gateway configs must be in the same namespace as the istio ingressgateway deployment?

This is not possible. They must be in the same namespace. However, the routes can be in other namespaces.