CacheItem expiration settings

The interface right now expects ExpirationMode and a timeout value, it has two drawbacks

It is only possible to support one type of expiration for any cached item
The user cannot specify exactly when the cache would expire because the absolute expiration is determined by the calculated by using timeout + UtcNow when the cache item is created. Instead of an actual datetime object.

Suggest removing the expiration mode and have two separate values for expiration (similar to HttpRuntime.Cache) with one TimeSpan for sliding expiration and one DateTime for absolute expiration.

Well, that is not 100% true ;)
First of all, you can, at any point, change the expiration of a cache item by retrieving it with GetCacheItem, changing the expiration and storing it via Put again.
var item = cache.GetCacheItem("key");
cache.Put(item.WithExpiration(ExpirationMode.Sliding, TimeSpan.FromMinutes(1)));

I'm also not using the UtcNow of the creation date, for those cache providers which use DateTime, I use it the moment the item gets stored in the cache, so that the timeout is using the most accurate value.
Using a timespan for either sliding or absolute expiration is actually pretty common.
Redis for example also uses a timeout in seconds for the EXPIRE command for cache keys.
Another reason to use a timeout TimeSpan for absolute expiration instead of a fixed date is, that I can configure defaults for each cache handle, so that all cache items get the same expiration applied and you don't have to set it each time you Add an item. In this case, fixed DateTime values wouldn't work.
If you want to use a fixed date, you would just have to calculate the TimeSpan from it, for example like
DateTime a = DateTime.Now;
DateTime b = new DateTime(2015, 5, 30);

TimeSpan result = (b - a);

What we could do is, add two additional overloads for the methods which take expiration settings and allow to pass in either a DateTime or TimeSpan.
I don't like methods which take two parameters and one of them is optional, to do two different things; in my opinion this is bad design.
If you want, feel free to create a Pull request :smile:

I agree that we could update the expiration of a cache item, but it seems a bit redundant and I believe that would be the main purpose of the sliding timeout.
As for the example you provided, I believe the feature should be named Fixed Timeout instead. This would be the same as you described that a fixed timeout without sliding (renewal). This feature would make perfect sense when configured as default value for the handles.
However, the name absolute timeout means (as least in my view) is a specific time that the item should expire. Which would be different, and yeah I actually used the exact same code you provided to mimic the behaviour.
I think two different method would make sense in this case, the ExpirationMode would not be even be necessary. However, this also means that the user cannot mix and match or have two separate expiration settings (not sure if its even a good use case for such?)
(Would prob need it if decide to have an additional feature to support Fixed timeout as you described)

I agree that we could update the expiration of a cache item, but it seems a bit redundant and I believe that would be the main purpose of the sliding timeout.

Just to be clear, the CacheManager handles sliding expiration for you, the example was just to show how to change the expiration settings of an item which might or might not already have expiration settings, e.g. you insert it with absolute expiration but change it later to sliding (for whatever reason one would want to do this) ;)

I think two different method would make sense in this case, the ExpirationMode would not be even be necessary

What do you exactly mean by "two different methods"? I think I don't really get what you mean
The ExpirationMode is also there for future additions, there could be another expiration mode...
And that I can remove expiration from the cache item. Otherwise there is no way to set "no expiration". If the cache default is sliding for example but I want to insert an item without expiration...
This would mean another method?
Mhm don't think this really makes things better ;)

By two different method I meant
Add(key, value, timespan)
Add(key, value, datetime)
With respect to the ExpirationMode, since no expiration is the default, by not passing the timespan or datetime you can assume the expiration would be none. So that covers the 3 currently supported ExpirationMode.
However, for making the method future proof. Perhaps an ExpiryPolicy class would make more sense since current implementation is limited to the parameter being a combination of timespan and mode. Or perhaps use/extend from CachItemPolicy defined by System.Runtime.Caching?

With respect to the ExpirationMode, since no expiration is the default, by not passing the timespan or datetime you can assume the expiration would be none

Not really because in this case it would take the default from the cache handle.
Regarding that CachePolicy objects, this is how System.Runtime.Caching is implemented, I don't really like it and I'm not using that approach on purpose. And I currently do not see any reason to change that.
We could add some quality of life overloads for using DateTime, so that you don't have to do the conversion to TimeSpan yourself.
But that's all I would change.

@bluefox I just checked in some expiration related changes.
Added methods to the cache interface so that you can directly set absolute, sliding expiration or remove expiration settings.
This basically does modify the cache item and puts it again with the modified expiration settings.
Also, the CacheItem now has the same functionality which can be manually used in conjunction with Put for example...
Let me know what you think

lobjCacheItem.WithAbsoluteExpiration(TimeSpan.FromMinutes(1)); is not removing key from redis. when I double check in the database after one minute, still the key persists. Any settings to be done ?

What do you mean the key still persists?
What's the ttl of the key?

@MichaCo Sir I am not still sure how to chain multiple Expiration Types. For example how to do
.WithExpiration(ExpirationMode.Sliding, TimeSpan.FromMinutes(5))
.WithExpiration(ExpirationModel.Absolute, TimeSpan.FromMinutes(60))

When i do this it takes only the last settings(absolute expiration in the above expamle). How to add this two expiration together? Thank you

@HamitKARAHAN that's not supported.
You can only specify one expiration cache layer and cache configuration.
You can however have a configurations per object type for example,
You can override the configured expiration per cache item (which then gets applied to all layers though).

@HamitKARAHAN that's not supported. You can only specify one expiration cache layer and cache configuration. You can however have a configurations per object type for example, You can override the configured expiration per cache item (which then gets applied to all layers though).

Thank you very much sir. I read your "What if Redis Fails" article in cachemanager.michaco.net. So I understood that we can switch memory cache when Redis fails and we can switch back to redis when connection restored. But i still cant understand if we switch to memory cache, and we have multiple instance, so how to handle with this? I mean if we are running memory cache when redis failed, and lets say our application runnig inside 4 machine in ec2, lets say a machine deleted or add item from memory cache. And how our other instances will know this then delete or add same key from memory cache?  Do we have a solution for this with CacheManager?

I wrote that quite long ago so I don't fully remember but the conclusion at the end was

And that's why I would say you should not try to do something like this, ever!

As you figured out yourself in your question. You would run into scenarios with stale data or you miss some operations potentially. If that's not acceptable (depends on your app, in some cases it might be ok to miss things), then, don't do it and instead, invest in your Redis cluster and make that almost impossible to fail.

@MichaCo Hello sir, I didnt want to open new issue for this and thats why i am asking from here.
My problem is about how to use Redis and Memory cache together with CacheManager.
Let's say we are using Redis and Memory together, both are up and working healthy. When writing Redis, it will aslo write/delete/update memories of all machines for replying fast to our get requests, I get it. But i need to learn some answers which is I couldn't find in documents. If we run 200 machines, how long will it take for all machines to write/delete/update to memory? Is this a significant time? How long is the timeout? What if one or more machine gave error because of timeout? For example, what happens if 199 machines update data and 1 machine doesn't? It will still be holding stale data.
I am asking this because sometimes we put very important flags, keys and datas to redis. So that is why I need to know how this data is mapped to memories of my machines and any fallback when this job could't succeess.
Is there a solution you use to avoid such situations in CacheManager? Or maybe helpful methods you would recommend to us?
Thank you, regards

@HamitKARAHAN
If you cannot live with eventually consistency then don't use 2 layers of caching.
There is no guarantee that the invalidation works all the time, at least with the current implementation, which relies on redis Pub/Sub. Redis Pub/Sub can drop data and might time out during delivery or at any point actually.
If you have to 100% rely on the data, use only one Redis layer - you loose the performance gain but that will be 100% consistency...
if you can live with a short time where the data might be stale, use a second layer with a very short absolute expiration. Like a minute or less (based on your use case).
Regarding sending / receiving pub/sub messages from on 100s of machines, I honestly cannot tell how that would work.
You would have to scale the Redis server according to your needs and check if the network is good enough do handle all that backchannel traffic.
In theory it'll just work - it 100% depends on how big your Redis server/cluster is though I think.


Support displaying YUV formats.

Is your feature request related to a problem? Please describe.
As of June 2018, Harvester GUI has not supported displaying any YUV format.
Describe the solution you'd like
YUV formats are more or less standard today so Harvester GUI should also support it.
I assume it can be done by implementing the demosaicing algorithm in OpenGL shading language. This should be excel at the performance point of view.
Describe alternatives you've considered
No alternatives.
Additional context
No additional context.

This should be done by the Harvester GUI.


Update Turkish Translations

Updated missing and wrong translations and changed the old key "menu_aboutToolStripMenuItem"

Thanks https://github.com/builtbybel/xd-AntiSpy/pull/72


ci(repo): Version packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Major Changes

Stop <ClerkProvider> from opting applications into dynamic rendering. A new prop, <ClerkProvider dynamic> can be used to opt-in to dynamic rendering and make auth data available during server-side rendering. The RSC auth() helper should be preferred for accessing auth data during dynamic rendering. (#4366) by @jacekradko

@clerk/nextjs: Converting auth() and clerkClient() interfaces to be async (#4366) by @jacekradko
@clerk/upgrade: Adding required codemod for @clerk/nextjs breaking changes
Migration guide
auth() is now async
Previously the auth() method from @clerk/nextjs/server was synchronous.
import { auth } from "@clerk/nextjs/server";

export function GET() {
  const { userId } = auth();
  return new Response(JSON.stringify({ userId }));
}

The auth method now becomes asynchronous. You will need to make the following changes to the snippet above to make it compatible.
- export function GET() {
+ export async function GET() {
-   const { userId } = auth();
+   const { userId } = await auth();
  return new Response(JSON.stringify({ userId }));
}

Clerk middleware auth is now async
import { clerkClient, clerkMiddleware } from '@clerk/nextjs/server';
import { NextResponse } from 'next/server';

export default clerkMiddleware(async (auth, request) => {
  const resolvedAuth = await auth();

  const count = await resolvedAuth.users.getCount();

  if (count) {
    return NextResponse.redirect(new URL('/new-url', request.url));
  }
});

export const config = {
  matcher: [...],
};

clerkClient() is now async
Previously the clerkClient() method from @clerk/nextjs/server was synchronous.
import { clerkClient, clerkMiddleware } from '@clerk/nextjs/server';
import { NextResponse } from 'next/server';

export default clerkMiddleware((auth, request) => {
  const client = clerkClient();

  const count = await client.users?.getCount();

  if (count) {
    return NextResponse.redirect(new URL('/new-url', request.url));
  }
});

export const config = {
  matcher: [...],
};

The method now becomes async. You will need to make the following changes to the snippet above to make it compatible.
- export default clerkMiddleware((auth, request) => {
- const client = clerkClient();
+ export default clerkMiddleware(async (auth, request) => {
+ const client = await clerkClient();
  const count = await client.users?.getCount();

  if (count) {
}

Support unstable_rethrow inside clerkMiddleware. (#4366) by @jacekradko
We changed the errors thrown by protect() inside clerkMiddleware in order for unstable_rethrow to recognise them and rethrow them.

Removes deprecated APIs: authMiddleware(), redirectToSignIn(), and redirectToSignUp(). See the migration guide to learn how to update your usage. (#4366) by @jacekradko

Minor Changes

Bug fix: Correctly redirect to sign in page in Next 15. (#4383) by @panteliselef

Add experimental support for new UI components (#4114) by @BRKalow

Patch Changes

Updated dependencies [93dfe7a09, 3b50b67bd, a0204a8e8, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Minor Changes

Add support for Astro View Transitions (#4354) by @wobsoriano

Patch Changes

Updated dependencies [93dfe7a09, 3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Minor Changes

Added legalAcceptedAt on User (#4367) by @octoper

Added legalAcceptedAt and skipLegalChecks on CreateUserParams and UpdateUserParams

Added legal_accepted_at on UserJSON

Patch Changes

Updated dependencies [3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Minor Changes

Add experimental support for new UI components (#4114) by @BRKalow

Patch Changes

Bug fix: Always receive a new session verification object when UserVerification component mounts. (#4359) by @panteliselef

Updated dependencies [3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Minor Changes

Add experimental support for new UI components (#4114) by @BRKalow

Patch Changes

Remove @clerk/clerk-react as a dev depedency. Move @clerk/shared to depedencies (previously devDepedencies). (#4114) by @BRKalow

Updated dependencies [3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Minor Changes

Internal changes to support <ClerkProvider dynamic> (#4366) by @jacekradko

Patch Changes

Updated dependencies [3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Minor Changes

Add experimental support for new UI components (#4114) by @BRKalow

Patch Changes

Updated dependencies [3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Minor Changes

Add experimental support for new UI components (#4114) by @BRKalow

Patch Changes

Fix SignInProps/SignUpProps __experimental type to allow for arbitrary properties (#4114) by @BRKalow

<EMAIL_ADDRESS>Minor Changes

@clerk/nextjs: Converting auth() and clerkClient() interfaces to be async (#4366) by @jacekradko
@clerk/upgrade: Adding required codemod for @clerk/nextjs breaking changes
Migration guide
auth() is now async
Previously the auth() method from @clerk/nextjs/server was synchronous.
import { auth } from "@clerk/nextjs/server";

export function GET() {
  const { userId } = auth();
  return new Response(JSON.stringify({ userId }));
}

The auth method now becomes asynchronous. You will need to make the following changes to the snippet above to make it compatible.
- export function GET() {
+ export async function GET() {
-   const { userId } = auth();
+   const { userId } = await auth();
  return new Response(JSON.stringify({ userId }));
}

Clerk middleware auth is now async
import { clerkClient, clerkMiddleware } from '@clerk/nextjs/server';
import { NextResponse } from 'next/server';

export default clerkMiddleware(async (auth, request) => {
  const resolvedAuth = await auth();

  const count = await resolvedAuth.users.getCount();

  if (count) {
    return NextResponse.redirect(new URL('/new-url', request.url));
  }
});

export const config = {
  matcher: [...],
};

clerkClient() is now async
Previously the clerkClient() method from @clerk/nextjs/server was synchronous.
import { clerkClient, clerkMiddleware } from '@clerk/nextjs/server';
import { NextResponse } from 'next/server';

export default clerkMiddleware((auth, request) => {
  const client = clerkClient();

  const count = await client.users?.getCount();

  if (count) {
    return NextResponse.redirect(new URL('/new-url', request.url));
  }
});

export const config = {
  matcher: [...],
};

The method now becomes async. You will need to make the following changes to the snippet above to make it compatible.
- export default clerkMiddleware((auth, request) => {
- const client = clerkClient();
+ export default clerkMiddleware(async (auth, request) => {
+ const client = await clerkClient();
  const count = await client.users?.getCount();

  if (count) {
}

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [1be6dac56, 3b50b67bd, a0204a8e8]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [1be6dac56, 3b50b67bd, a0204a8e8, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [93dfe7a09, 3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [93dfe7a09, 3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [93dfe7a09, 3b50b67bd, a0204a8e8, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [93dfe7a09, 3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [93dfe7a09, 3b50b67bd, a0204a8e8, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [93dfe7a09, 3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies [3b50b67bd, 3b50b67bd]:

<EMAIL_ADDRESS>

!allow-major

commenting for reach


Updating EndpointId in stack where the original endpoint has been deleted

Bug description
I have several stack created on "docker" endpoint. say enpointId 1. I then added portainer agent and had to recreated the endpoint, lets say it's enpointId 2.
now all my stack are associated with endpointId 1, so when I try to edit the stack I get a failure message saying it's unable to find the endpoint.
so I queried the api to get the stack information:
GET : http://:9000/api/stacks
[
{
"Id": 3,
"Name": "myStack",
"Type": 1,
"EndpointId": 1,
"SwarmId": "x2mhmp4h9xdb1qecnso10abro",
"EntryPoint": "docker-compose.yml",
"Env": [],
"ProjectPath": "/data/compose/3",
"ResourceControl": {
"Id": 0,
"ResourceId": "",
"SubResourceIds": null,
"Type": 0,
"UserAccesses": null,
"TeamAccesses": null,
"Public": false
}
}
]
So I tried to update the endpointId using the api:
PUT : http://:9000/api/stacks/3
{
"endpointId":2
}
and I get :
{
"err": "Unable to find the endpoint associated to the stack inside the database",
"details": "Object not found inside the database"
}
Expected behavior
Being able to update the endpointId with the website or the API
Technical details:

Portainer version: 1.19.2
Docker version (managed by Portainer): 18.06.1-ce
Ubuntu 16.04.5 Kernel 4.4.0-134
Command used to start Portainer : docker service create     --name portainer     --publish 9000:9000     --constraint 'node.role == manager' --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock     --mount type=bind,src=/var/lib/portainer,dst=/data     portainer/portainer     -H unix:///var/run/docker.sock
Browser: All

I can confirm the issue, same use case. Created the stack with the local docker endpoint, added portainer agent, removed the local endpoint, and now I'm unable to use the stacks I've created with portainer. The only solution I see is to remove the stack and recreate it.

Same case I faced :-(

I will close this, as our handling of stacks and endpoints will be changed/improved as part of development for #2113, preventing this problem from happening.


GH-36199: [Python][CI][Spark] Update spark versions used on our nightly tests

Rationale for this change
We are currently testing with very old or deprecated spark versions.
What changes are included in this PR?
Update the spark versions to be tested.
Are these changes tested?
They will via archery
Are there any user-facing changes?
No

Closes: #36199

This is currently blocked by: https://github.com/apache/arrow/issues/36332


Pull courses from database

This PR adds support for querying courses from API's database instead of a JSON file. Closes #363.
We should consider caching the course list or performing the search server side, since fetching a list of all the courses every time we load a plan isn't ideal.
I also need to add a seed function for the 2nd database.

Enabled edge caching (https://trpc.io/docs/caching) but having some troubles with Prisma's database seeding functionality - for some reason the PrismaClient is undefined when running the seed script. I think this is an issue related to how we have to handle more than 1 PrismaClient (1 for Planner's database, 1 for API's database). Need to dig into this more to be sure, but I'm considering moving over to MongoDB's official Node driver, only for querying API's db.


Allow multiple anonymous rules in no-identical-title

Being undefined, I guess we can assume it's a anonymous title.

LGTM

LGTM2
Thanks @kevva :)


Create api command

Is your feature request related to a problem? Please describe.
I want to easily call the Buildkite API without dealing with headers, token, and any other curl relative parameters.
Describe the solution you'd like
Something similar to the Github CLI: https://cli.github.com/manual/gh_api
buildkite-agent api "/user"
buildkite-agent api "organizations/{org.slug}/pipelines/{pipeline.slug}/builds/{number}"

buildkite-agent api graphql ...

Describe alternatives you've considered
Use plain raw http request with curl.
Additional context
N/A

hey, this is probably out of scope for the agent; the bk API is kind of its own thing, and i think we're keen to keep them separate for now.
This command is probably suitable for the bk cli though! if you're interested in implementing something like this, the CLI would be the place to do it.


typo in example

In the example file xgboost_example.py, line 25 stands:
params['cosample_bytree'] = max(min(colsample_bytree, 1), 0)
Shouldn't it be 'colsample_bytree'?

Yes, looks like its a typo, will be fixed soon.


Issues with Xcode 16

Since moving to Xcode 16, our team has not been able to run this tool successfully. Rather, it doesn't fail, but it also does not update dependencies as expected. After doing some testing, it appears that xcodebuild -resolvePackageDependencies -disablePackageRepositoryCache itself just doesn't do what it used to (even after manually removing the existing package.resolved file), so I don't think it is the fault of this action, but rather the underlying tooling. Everything on our end works fine when using Xcode 15.4 command line tools.
My question is, has anyone managed to get this working with Xcode 16, and if so, did you need to make any changes to support it? Thanks.

I've not yet upgraded, but interested in hearing other people's experiences here.
There's no doubt a command or set of steps which works 👀


Update sp 6

Description
It able to flash Arduino boards.
Test / Development Platform Information

Operating system and version
MacOS 10.13.6 & Win 7
NodeJS version
v8.11.3
Arduino Board being used
Uno & Mega

Coverage remained the same at 44.84% when pulling 1a057f13b605a34e3b7406084b11eaaeae1f915e on focalhot:update-sp-6 into 6200879bd48681d2be45352ce56332ba8a1ab1ba on noopkat:master.

Hi and thanks for this pull request contrbution. We're currently tracking the serialport v6.x upgrade process on #160 so I'm going to close this PR in favor of that one.
Thanks for testing this on physical hardware! It helps us to know it works for your specific environment. We're pretty covered on macOS and are looking for Linux and Windows testers especially. Let us know if you can help us test there too! 😄


SMTP Auth

My SMTP server requires authentication.  Which script needs to be modified and what does the syntax look like.
Thanks
-Mark

SMTP Auth is not currently supported. Issue #144 already exists for this.


Adding the prosys-opc-ua-client 2.3.3,170

…opc-ua-client-downloads.php as a new cask

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[ ] The commit message includes the cask’s name and version. (forgot to add the version to the commit message.)

Additionally, if updating a cask:

[ ] sha256 changed but version stayed the same (what is this?).
I’m providing public confirmation below.

Additionally, if adding a new cask:

[x] Named the cask according to the token reference.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.
[x] Checked there are no open pull requests for the same cask.
[x] Checked the cask was not already refused in closed issues.
[x] Checked the cask is submitted to the correct repo.

Thank you for your contribution, but we cannot accept this as it is a walled build:

@miccal What do you mean with a walled build. The download page is publicly accessible for me without registration but maybe a little hard to find:
https://downloads.prosysopc.com/opc-ua-client-downloads.php


boost-iostream -> boost-iostreams

typo

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

Fixes added elsewhere.


1.2: Elegant handle upgrade of wlinux-setup.

"Add code to put wlinux-setup on apt-mark hold when running the 'wlinux-setup' executable then remove hold after + error checking code to ensure a failed shutdown previously hasn't left it in a 'held' state accidentally. Otherwise when running updateupgrade function within install scripts we might run into odd situation where we upgrade the wlinux-seutp package while in-use. We can add code in wlinux-base to place a marker file that wlinux-setup looks for on each start, indicating that there is an update available and prompt the user. Same goes for for us changing sources.list or general upstream changes so we can prompt the user that dist-upgrade is available." @grufwub

What if we ran:
apt-mark hold wlinux-setup
apt update
apt upgrade
apt-mark unhold wlinux-setup

Handled here: #45 if you'd like to check out and see what you think :)


[feature request] Nested multiparts

As properly stated in the README (caveats) the are some known limitations, from my point of view, Nested multiparts is the more important, as we use to compose components, soon we might get caught in this trap.
@maraisr Do you have something in mind on this topic?

Hi @artola 👋🏻  and yeah excellent question.
I guess the use-case has never been there, so not quite sure how to effectively design an api around that. But perhaps you can give me a tangible example of how the data is produced, and intended consumption?
Seeing as meros is intended for the client side (whether that is server or browser), this has never had much of a use-case? Most if not all of the time, the response is tied to a single request, where messages arrive (in any order) over time for that request, and probably json.
To now nest that such that half way down you can instill a secondary boundary and flush messages against that boundary, I personally never seen how it has any benefit than to just encode the asynchronicity in a property of the message itself.
I dare say the benefit could be where you're using 1 transport to encode multiple unique payloads. Which can most certainly be encoded in layer 6, layer 7. For example graphql defer/stream does that through a label property in the json message.
You mentioned "compose components"; so guessing youre talking some frontend javascript component?

Yeah, front-end Relay. For example, I have a Dashboard for crypto currencies, something like "show me a ticker with some currencies, plus top gainers and losers". The ticker renders first, while the rest can be deferred. As the development evolves, more fragments/components are spread, as they should be kinda blackbox I should not either care about if someone has already a defer in place.
query Dashboard {
  ...DashboardTickerFragment
  ...DashboardHighlightsFragment
}

fragment DashboardTickerFragment on Query {
  ticker: assets(first: 3, order: { tradableMarketCapRank: ASC }) {
    nodes {
      symbol
      ...DashboardTickerItemFragment
    }
  }
}

fragment DashboardTickerItemFragment on Asset {
  symbol
  color
  price {
    currency
    lastPrice
  }
}

fragment DashboardHighlightsFragment on Query {
  gainers: assets(
    first: 3
    where: { change24Hour: { gt: 0 } }
    order: { change24Hour: DESC }
  ) {
    ...DashboardCardFragment @defer
  }
  losers: assets(
    first: 3
    where: { change24Hour: { lt: 0 } }
    order: { change24Hour: ASC }
  ) {
    ...DashboardCardFragment @defer
  }
}

fragment DashboardCardFragment on AssetsConnection {
  nodes {
    id
    symbol
    name
    price {
      currency
      lastPrice
    }
  }
}

Here I have NO nested defer. The server's response:
---
Content-Type: application/json; charset=utf-8

{"data":{"ticker":{"nodes":[{"symbol":"BTC","color":"#F7931A","price":{"currency":"USD","lastPrice":36855.68}},{"symbol":"ADA","color":"#0033AD","price":{"currency":"USD","lastPrice":1.04}},{"symbol":"MATIC","color":"#8247E5","price":{"currency":"USD","lastPrice":1.54}}]},"gainers":{},"losers":{}},"hasNext":true}
---
Content-Type: application/json; charset=utf-8

{"path":["gainers"],"data":{"nodes":[{"id":"QXNzZXQKaTM5","symbol":"REQ","name":"Request","price":{"currency":"USD","lastPrice":0.22}},{"id":"QXNzZXQKaTMz","symbol":"VGX","name":"Voyager Token","price":{"currency":"USD","lastPrice":1.79}},{"id":"QXNzZXQKaTQ0","symbol":"ALCX","name":"Alchemix","price":{"currency":"USD","lastPrice":158.61}}]},"hasNext":true}
---
Content-Type: application/json; charset=utf-8

{"path":["losers"],"data":{"nodes":[{"id":"QXNzZXQKaTM3","symbol":"IMX","name":"Immutable X","price":{"currency":"USD","lastPrice":3.2}},{"id":"QXNzZXQKaTU0","symbol":"FORTH","name":"Ampleforth Governance Token","price":{"currency":"USD","lastPrice":7.45}},{"id":"QXNzZXQKaTUx","symbol":"MPL","name":"Maple","price":{"currency":"USD","lastPrice":15.04}}]},"hasNext":false}
-----

This case works OK,  other combinations are possible as long as there are no nested defer.
Now imagine that I change the query to "defer" the fragment DashboardHighlightsFragment too, in such case HC resolves without problem, but I have no access to the data while Relay prints an error.
This is just an example, same situation happens if we have nested defer in any other fragment spread.
      query DashboardContainerQuery {
        ...DashboardTickerFragment
        ...DashboardHighlightsFragment @defer(label: "highlights")
      }

"Invariant Violation: OperationExecutor: invalid incremental payload, expected `path` and `label` to either both be null/undefined, or `path` to be an `Array<string | number>` and `label` to be a `string`.
    at invariant (webpack-internal:///./node_modules/invariant/browser.js:38:15)
    at eval (webpack-internal:///./node_modules/relay-runtime/lib/store/OperationExecutor.js:1464:25)
    at Array.forEach (<anonymous>)
    at partitionGraphQLResponses (webpack-internal:///./node_modules/relay-runtime/lib/store/OperationExecutor.js:1458:13)
    at Executor._handleNext (webpack-internal:///./node_modules/relay-runtime/lib/store/OperationExecutor.js:470:33)
    at eval (webpack-internal:///./node_modules/relay-runtime/lib/store/OperationExecutor.js:343:16)
    at withDuration (webpack-internal:///./node_modules/relay-runtime/lib/util/withDuration.js:27:16)
    at eval (webpack-internal:///./node_modules/relay-runtime/lib/store/OperationExecutor.js:342:28)
    at Executor._schedule (webpack-internal:///./node_modules/relay-runtime/lib/store/OperationExecutor.js:300:7)
    at Executor._next (webpack-internal:///./node_modules/relay-runtime/lib/store/OperationExecutor.js:341:10)
    at Object.next (webpack-internal:///./node_modules/relay-runtime/lib/store/OperationExecutor.js:157:17)
    at Object.next (webpack-internal:///./node_modules/relay-runtime/lib/network/RelayObservable.js:535:20)
    at Object.eval [as next] (webpack-internal:///./node_modules/relay-runtime/lib/network/RelayObservable.js:190:40)
    at Object.next (webpack-internal:///./node_modules/relay-runtime/lib/network/RelayObservable.js:535:20)
    at _callee$ (webpack-internal:///./client/index.js:381:30)
    at tryCatch (webpack-internal:///./node_modules/next/dist/compiled/regenerator-runtime/runtime.js:45:40)
    at Generator.invoke [as _invoke] (webpack-internal:///./node_modules/next/dist/compiled/regenerator-runtime/runtime.js:274:22)
    at Generator.prototype.<computed> [as next] (webpack-internal:///./node_modules/next/dist/compiled/regenerator-runtime/runtime.js:97:21)
    at asyncGeneratorStep (webpack-internal:///./client/index.js:51:28)

---
Content-Type: application/json; charset=utf-8

{"data":{"ticker":{"nodes":[{"symbol":"BTC","color":"#F7931A","price":{"currency":"USD","lastPrice":37078.15}},{"symbol":"ADA","color":"#0033AD","price":{"currency":"USD","lastPrice":1.0419}},{"symbol":"MATIC","color":"#8247E5","price":{"currency":"USD","lastPrice":1.5489}}]}},"hasNext":true}
---
Content-Type: application/json; charset=utf-8

{"data":{"gainers":{},"losers":{}},"hasNext":true}
---
Content-Type: application/json; charset=utf-8

{"path":["gainers"],"data":{"nodes":[{"id":"QXNzZXQKaTM5","symbol":"REQ","name":"Request","price":{"currency":"USD","lastPrice":0.22}},{"id":"QXNzZXQKaTMz","symbol":"VGX","name":"Voyager Token","price":{"currency":"USD","lastPrice":1.77}},{"id":"QXNzZXQKaTQ0","symbol":"ALCX","name":"Alchemix","price":{"currency":"USD","lastPrice":157.19}}]},"hasNext":true}
---
Content-Type: application/json; charset=utf-8

{"path":["losers"],"data":{"nodes":[{"id":"QXNzZXQKaTM3","symbol":"IMX","name":"Immutable X","price":{"currency":"USD","lastPrice":3.21}},{"id":"QXNzZXQKaTU0","symbol":"FORTH","name":"Ampleforth Governance Token","price":{"currency":"USD","lastPrice":7.46}},{"id":"QXNzZXQKaTUx","symbol":"MPL","name":"Maple","price":{"currency":"USD","lastPrice":15.05}}]},"hasNext":false}
-----

@maraisr It seems just a small thing with HC, but not related with multiparts. I will recheck in future and back if needed. THANKS A LOT.


fix: Permission schema with Capability as required

linked to https://github.com/rdkcentral/firebolt-schemas/pull/36

:tada: This PR is included in version 0.18.0-next.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Do not start candicate pair check if already started

Not sure if it is a bug or not, but it seems odd that check_start() is potentially called multiple times for the same candidate pair. I've seen log entries that shows state transitions such as IN_PROGRESS -> IN_PROGRESS, and SUCCESS -> SUCCESS. Such state transitions does not occur with this fix.

For the transition from SUCCEEDED to SUCCEEDED you are probably right. AFAICT the only place a pair gets transitioned to this state is when check_start() completes, so it does look like an indication that check_start() is running more than once for a given air.
As for the "bogus" transitions you are seeing from IN_PROGRESS to IN_PROGRESS, I think this might be something else. This could occur when retrying a check following a role conflict. You'll notice that in that case, check_start()  will call itself.

Here is a complete log. I added a "reason" string at the end of the state transition log entries to make it clear why the state was set.
Looks like the reason for IN_PROGRESS -> IN_PROGRESS is that the first check was triggered by an incoming message, and then a second time by highest priority. Should be enough to do one of those checks? That's at least what this PR is intended to fix.
2023-02-01 21:34:45,709 aioice.ice stun/dgram Connection(1) protocol(4) rx ('<IP_ADDRESS>', 61301) Message(message_method=Method.BINDING, message_class=Class.REQUEST, transaction_id=b'\xf3\x12\xc1\x9b\xa3\x18)*\x05&5q')
2023-02-01 21:34:45,709 aioice.ice stun/dgram Connection(1) protocol(4) tx ('<IP_ADDRESS>', 61301) Message(message_method=Method.BINDING, message_class=Class.RESPONSE, transaction_id=b'\xf3\x12\xc1\x9b\xa3\x18)*\x05&5q')
2023-02-01 21:34:45,744 aioice.ice Connection(1) Discovered peer reflexive candidate Candidate(Hir2hI51Pa 1 udp<PHONE_NUMBER> <IP_ADDRESS> 61301 typ prflx)
2023-02-01 21:34:45,744 aioice.ice Connection(1) Check CandidatePair(('<IP_ADDRESS>', 45132) -> ('<IP_ADDRESS>', 61301)) State.WAITING -> State.IN_PROGRESS (triggered by incoming)
2023-02-01 21:34:45,744 aioice.ice stun/dgram Connection(1) protocol(4) tx ('<IP_ADDRESS>', 61301) Message(message_method=Method.BINDING, message_class=Class.REQUEST, transaction_id=b'K\xa1|\x8fy\xf3\x9blrH\x8av')
2023-02-01 21:34:45,745 aioice.ice Connection(1) Check CandidatePair(('<IP_ADDRESS>', 45132) -> ('<IP_ADDRESS>', 61301)) State.IN_PROGRESS -> State.IN_PROGRESS (highest priority waiting)
2023-02-01 21:34:45,745 aioice.ice stun/dgram Connection(1) protocol(4) tx ('<IP_ADDRESS>', 61301) Message(message_method=Method.BINDING, message_class=Class.REQUEST, transaction_id=b'\x14\xed\xdd\x81\xd0\xc4b\xf7\xeb\xa2\xe3\xc0')
2023-02-01 21:34:45,749 aioice.ice stun/dgram Connection(1) protocol(4) rx ('<IP_ADDRESS>', 61301) Message(message_method=Method.BINDING, message_class=Class.RESPONSE, transaction_id=b'K\xa1|\x8fy\xf3\x9blrH\x8av')
2023-02-01 21:34:45,749 aioice.ice Connection(1) Check CandidatePair(('<IP_ADDRESS>', 45132) -> ('<IP_ADDRESS>', 61301)) State.IN_PROGRESS -> State.SUCCEEDED (success)
2023-02-01 21:34:45,749 aioice.ice Connection(1) ICE completed
2023-02-01 21:34:45,750 aioice.ice stun/dgram Connection(1) protocol(4) rx ('<IP_ADDRESS>', 61301) Message(message_method=Method.BINDING, message_class=Class.RESPONSE, transaction_id=b'\x14\xed\xdd\x81\xd0\xc4b\xf7\xeb\xa2\xe3\xc0')
2023-02-01 21:34:45,750 aioice.ice Connection(1) Check CandidatePair(('<IP_ADDRESS>', 45132) -> ('<IP_ADDRESS>', 61301)) State.SUCCEEDED -> State.SUCCEEDED (success)

You are probably busy, but sending a reminder that this is still open.

You are probably busy, but sending a reminder that this is still open.

I'm now convinced your change is correct. I have slightly altered the name of the wrapper method, and rebased it to account for the switch from ensure_future to create_task, and will be merging it once CI completes.

Thanks for your work and your patience, I've released version 0.9.0 with this PR.


Could not download data: unknown variant Dedicated IP

New issue today:
nordselect obfuscated us
Could not download data: unknown variant Dedicated IP, expected one of Standard, P2P, Obfuscated, Dedicated, Tor, Double, UnknownServer at line 1 column 7509

Should be fixed by https://github.com/editicalu/nordselect/commit/97a29e42913e48eaa8a9e1b7c1307c14b366a67b


Co-Pilot

No Github Copilot icon and VS Code doesn't recognize the extension. The subscription is paid.

@Gordon2735, please post a message to the Copilot discussion. Thank you!


Use FMA for cscal and zscal Haswell microkernels.

This patch has two benefits:

Using vfmaddsub231p[sd] instead of vaddsubp[sd] eliminates a vmulp[sd] instruction, giving a ~10% speedup, measured from ~33 to ~36 Gflops for cscal with 4096 elements and from ~17 to ~19 Gflops for zscal on my Kaby Lake laptop, see e.g. OPENBLAS_LOOPS=10000 benchmark/cscal.goto 4096 4096.

Using it for both the main loop and the tail end makes sure the same FMA instruction is used for all loop iterations, which is not the case with the current situation where the tail loop is implemented in C, if the compiler is allowed to use FMA instructions. This is important for some LAPACK eigenvalue testcases that rely on bitwise identical results independent of how many loop iterations are used.

I put this to draft since I bumped into https://github.com/xianyi/OpenBLAS/commit/22aa81f3e587c
The alternative is then to force no FMAs in the C code, of course, using e.g.
#pragma GCC optimize ("fp-contract=off")
from that patch or some other technique.

oh right, I had a feeling of deja vue but was too tired to search yesterday. at this point I am no longer sure if we should even rely this much on the LAPACK testsuite or simply adjust its thresholds to allow "healthy" deviations.

I played a bit with the thresholds but there were still some hard cases that fail there.
There is some annoying behaviour with using FMAs to multiply complex numbers, in particular as 22aa81f3e587c noted, when the imaginary part of the result is close to 0, e.g. with (a+bi) * (a-bi) = a**2 + b**2; without FMAs the imaginary part of the result is always 0, but with them you can end up with e.g. -5.55112e-17 for a=3.0 and b=1/3.0 due to the asymmetry in a*b-a*b with FMAs (of course we know that a*b isn't exactly 1.0, that's well known numerically, but subtraction of two things rounded the same way still gives 0).
There are a few relevant places in LAPACK where they compute a * conj(a), and that doesn't help for sure, but for now it simply seems best to turn off FMAs for complex multiplications to avoid surprising behaviour.


Play 2.3.8 with Scalatest using Wiremock

I recently updated my Play Scala project from play framework version 2.2.2 to 2.3.8, with
"com.github.tomakehurst" % "wiremock" % "1.47" % "test",
From that time onwards, my unit tests which use Wiremock keeps on failing.
The error looks:
The future returned an exception of type: java.lang.RuntimeException, with message: There is no started application.
Would appreciate in case of any help/suggestions?
class BlahTest extends FunSuite
with MockitoSugar with ScalaFutures
with SpanSugar with BeforeAndAfter with BeforeAndAfterAll {
val wiremock = new WireMockServer(wireMockConfig().port(1234)
.fileSource(new SingleRootFileSource("test/resources")))
override protected def beforeAll() = wiremock.start()
override protected def afterAll() = wiremock.stop()
before {
Mockito.reset(mockLogger)
configureFor("localhost", 1234)
stubFor(post(urlMatching("/somepath"))
.willReturn(aResponse()
.withStatus(200)))
}
after {
WireMock.reset()
}
test("Some test") {
val f = someObject.method(param1, param2)
// This is the failure point
whenReady(f, timeout(WiremockTimeout milliseconds)) { answer =>
// verify
}
}

Please can you post questions like this to the mailing list. I'm neither a scala nor a play Dev so you'll probably have more luck there.


[ros2] General ros2 maintenance and Humble support

Hello TEB users,
I did not come here for a long time, but it seems that the noetic branch have seen lots of activity (@corot , @kenomo , @siferati ).
I believe there is a sync that needs to be done with the ros2-master branch, and also the ros2-master branch needs changes to work with humble (@chenjunn) , @tonynajjar).
I have already a humble version that works with the last nav2 (https://github.com/rst-tu-dortmund/teb_local_planner/pull/371) plus some changes that I never pushed for dynamic footprint support (@guilyx). I am willing to contribute an push these changes in the following days.
I propose that all parties interested discuss here how to get organized. Who has the maintenance rights nowadays ? I believe a first step should be to create a galactic branch from a copy of the current ros2-master. Then maybe a humble and rolling branch , or we continue to use ros2-master ?

First PR for both humble support and sharing changes form our fork: https://github.com/rst-tu-dortmund/teb_local_planner/pull/374
Once merged (maybe in a humble branch ?), the next step is probably to review and decide to sync if needed the different noetic commits

Updated PR (never merged) for costmap_converter: https://github.com/rst-tu-dortmund/costmap_converter/pull/27
Compiler warnings, spin_some memory leak workaround and tf2_geometry header.

Hi @doisyg . I checked out your branch (great work btw, thanks) and tested it on a ROS2 docker container -- everything seems to be working as expected.
How can we move forward to make this "official"? Considering TEB is mentioned as one of the controller plugins for Nav2, I think having an up to date release would be important.

Hi @davidteixeira, I don't really know, we need somebody with admin rights. Last time (galactic) @SteveMacenski gave us a hand for merging but we did not make an official release.

Hi @doisyg, thank you for this work. I tested this on rectangular footprint robot (polygon footprint) with almost all other param as default. While testing it sometimes randomly terminates with following error:
[rviz2-1] [INFO] [1660085482.041054487] [_]: NavigateToPose will be called using the BT Navigator's default behavior tree.
[bt_navigator-16] [INFO] [1660085482.041549445] [bt_navigator]: Begin navigating from current location to (1.28, -9.03)
[controller_server-12] [INFO] [1660085483.292662722] [controller_server]: Received a goal, begin computing control effort.
[controller_server-12] [ERROR] [1660085483.293591138] [teb_local_planner]: EdgeVelocity::computeError() _error[0]=-nan _error[1]=-nan
[controller_server-12]
[controller_server-12] terminate called after throwing an instance of 'teb_local_planner::TebAssertionFailureException'
[controller_server-12]   what():  EdgeVelocity::computeError() _error[0]=-nan _error[1]=-nan
[controller_server-12]
[ERROR] [controller_server-12]: process has died [pid 18743, exit code -6, cmd '/home/agv_ws/install/nav2_controller/lib/nav2_control
ler/controller_server --ros-args --params-file /tmp/tmpt2exbct1 -r /tf:=tf -r /tf_static:=tf_static -r cmd_vel:=cmd_vel_nav'].
[lifecycle_manager-19] [INFO] [1660085487.449413561] [lifecycle_manager_navigation]: Have not received a heartbeat from controller_se
rver.

I tried to replicate the conditions but was unsuccessfully. The controller runs perfectly for sometime and then terminates. As his error does not occur on ROS1, I am not sure if this is related to ROS2 port or g2o lib (which is installed by apt).
Do you have any leads what could be causing it?

Who has the maintenance rights nowadays ? I believe a first step should be to create a galactic branch from a copy of the current ros2-master. Then maybe a humble and rolling branch , or we continue to use ros2-master ?

I was given permissions for merging PRs and making new branches, etc but I don't have the time to take on maintaining this codebase. TEB is very complex and I don't have the cycles to add something of this size to my queue. Really, at most I can be a rubber stamp if there's a trusted agent with a well tested PR, but if major changes are made and stuff breaks, I'm not going to really be able to do anything about it.
I have made a galactic branch and the new ros2-master is targeting the API breaking changes for Humble++.
I don't have rights over costmap converter though :frowning:

Hello, has there been any progress regarding this? I would like to use TEB with humble on Ubuntu 22.04,  currently I'm having errors when building from source in galactic branch.

Hello, has there been any progress regarding this? I would like to use TEB with humble on Ubuntu 22.04, currently I'm having errors when building from source in galactic branch.

I recently run TEB with Humble w/o problems. Please ensure that you are using latest ros2-master branch, as we have recently merged PR #371 that fixes compilation issues

Additional, this more complete PR is ready and is going to be merged soon: https://github.com/rst-tu-dortmund/teb_local_planner/pull/374

Hello, has there been any progress regarding this? I would like to use TEB with humble on Ubuntu 22.04, currently I'm having errors when building from source in galactic branch.

I recently run TEB with Humble w/o problems. Please ensure that you are using latest ros2-master branch, as we have recently merged PR #371 that fixes compilation issues

Hi, thanks a lot this helped and fixed all my issues :)

Hi @doisyg . I checked out your branch (great work btw, thanks) and tested it on a ROS2 docker container -- everything seems to be working as expected.
How can we move forward to make this "official"? Considering TEB is mentioned as one of the controller plugins for Nav2, I think having an up to date release would be important.

Hi, do I understand it correctly that currently Nav2 and TEB don't work together in ROS2 Humble? As stated above I've been having a lot of trouble getting it to work

TEB and nav2 are working well together under ros2 Humble (ros2-master branch that you have to compile from source). That was the point of this recent PR: https://github.com/rst-tu-dortmund/teb_local_planner/pull/374
There is not provided launch files for the ROS2 Humble versions and the readme is outdated.

Thank you for this quick reply. Could you point me to a direction (maybe there is a tutorial or more information elsewhere?) so I know how to get it to work for me?
I am new to ros2 and nav2 and don't quite know how to use teb as plugin

I'm trying to build teb_local_planner from source on Nvidia Xavier Humble (it's Ubuntu 18 but that should not be related to my problem). I cannot install libg2o (ros-humble-libg2o) from apt so I need to build it from source, which I do successfully:
root@ebdb5db27d4e:/code/ros2_ws# colcon build --mixin ccache release --packages-select libg2o --symlink-install
Starting >>> libg2o
Finished <<< libg2o [1.11s]

it's this tag, which I believe is the right one as it is the one installed via apt on Ubuntu 20.
My problem is that when building teb_local_planner, I get:
root@ebdb5db27d4e:/code/ros2_ws# colcon build --packages-select teb_local_planner
Starting >>> teb_local_planner
--- stderr: teb_local_planner
In file included from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:43,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/teb_config.h:48,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/src/teb_config.cpp:39:
/code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/pose_se2.h:42:10: fatal error: g2o/stuff/misc.h: No such file or directory
   42 | #include <g2o/stuff/misc.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:43,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/teb_config.h:48,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/visualization.h:45,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/src/visualization.cpp:40:
/code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/pose_se2.h:42:10: fatal error: g2o/stuff/misc.h: No such file or directory
   42 | #include <g2o/stuff/misc.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:43,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/teb_config.h:48,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/optimal_planner.h:46,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/src/optimal_planner.cpp:42:
/code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/pose_se2.h:42:10: fatal error: g2o/stuff/misc.h: No such file or directory
   42 | #include <g2o/stuff/misc.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/teb_local_planner.dir/build.make:146: CMakeFiles/teb_local_planner.dir/src/teb_config.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/teb_local_planner.dir/build.make:118: CMakeFiles/teb_local_planner.dir/src/visualization.cpp.o] Error 1
make[2]: *** [CMakeFiles/teb_local_planner.dir/build.make:90: CMakeFiles/teb_local_planner.dir/src/optimal_planner.cpp.o] Error 1
In file included from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/planner_interface.h:49,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/homotopy_class_planner.h:58,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/src/homotopy_class_planner.cpp:39:
/code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/pose_se2.h:42:10: fatal error: g2o/stuff/misc.h: No such file or directory
   42 | #include <g2o/stuff/misc.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/teb_local_planner.dir/build.make:160: CMakeFiles/teb_local_planner.dir/src/homotopy_class_planner.cpp.o] Error 1
In file included from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:43,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/teb_config.h:48,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/optimal_planner.h:46,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/teb_local_planner_ros.h:50,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/src/teb_local_planner_ros.cpp:39:
/code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/pose_se2.h:42:10: fatal error: g2o/stuff/misc.h: No such file or directory
   42 | #include <g2o/stuff/misc.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/teb_local_planner.dir/build.make:174: CMakeFiles/teb_local_planner.dir/src/teb_local_planner_ros.cpp.o] Error 1
/code/ros2_ws/src/teb_local_planner/teb_local_planner/src/recovery_behaviors.cpp:44:10: fatal error: g2o/stuff/misc.h: No such file or directory
   44 | #include <g2o/stuff/misc.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/teb_local_planner.dir/build.make:132: CMakeFiles/teb_local_planner.dir/src/recovery_behaviors.cpp.o] Error 1
In file included from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/timed_elastic_band.h:57,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/src/timed_elastic_band.cpp:39:
/code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/g2o_types/vertex_pose.h:47:10: fatal error: g2o/config.h: No such file or directory
   47 | #include <g2o/config.h>
      |          ^~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/teb_local_planner.dir/build.make:76: CMakeFiles/teb_local_planner.dir/src/timed_elastic_band.cpp.o] Error 1
In file included from /code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/graph_search.h:63,
                 from /code/ros2_ws/src/teb_local_planner/teb_local_planner/src/graph_search.cpp:39:
/code/ros2_ws/src/teb_local_planner/teb_local_planner/include/teb_local_planner/pose_se2.h:42:10: fatal error: g2o/stuff/misc.h: No such file or directory
   42 | #include <g2o/stuff/misc.h>
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/teb_local_planner.dir/build.make:188: CMakeFiles/teb_local_planner.dir/src/graph_search.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/teb_local_planner.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
---
Failed   <<< teb_local_planner [6.40s, exited with code 2]

Summary: 0 packages finished [7.09s]

Any help would be appreciated.

https://github.com/ros/rosdistro/blob/master/humble/distribution.yaml#L2097 this is the version in rosdep, you might want to see if those are the same.

it is indeed:
root@ebdb5db27d4e:/opt/ros/humble/src/libg2o# git status
HEAD detached at release/humble/libg2o/2020.5.29-4

I also edited the building logs in my first post to show that libg2o was in fact found.

If you look at your install, can you find that header?

root@ebdb5db27d4e:/code/ros2_ws# ls install/libg2o/include/g2o/stuff/
color_macros.h  filesys_tools.h  macros.h  opengl_primitives.h  os_specific.h  sampler.h        string_tools.h  timeutil.h     unscented.h
command_args.h  g2o_stuff_api.h  misc.h    opengl_wrapper.h     property.h     sparse_helper.h  tictoc.h        tuple_tools.h

you're referring to the header from the error right? -> misc.h. If so then yes it's there

Is that simply the first header in the files that its complaining about from g2o? Maybe it has nothing to do with that file, but just finding any file in g2o.

Maybe it has nothing to do with that file, but just finding any file in g2o.

Yes I think this was the problem. I built and installed g2o with make install instead of colcon and now it works. I still don't know what's the difference though, I didn't pass any extra arguments to the make workflow.

Afaik all works now on both humble and jazzy, so we can close this


Pass designed filter in SOS format to myHDL methods

File: pyfda/hdl_generation/hdl_specs.py
Since integrating the SOS (second-order sections) from scipy.signal, the designed filter can be retrieved in SOS format from the central dict via
fb.fil[0]['sos']
Using this information to simulate and design fixpoint filters using myHDL would be a major step towards an universal fixpoint filter synthesis tool.

obsolete.


What does it mean by Make sure you've already set up TSLint and Prettier?

In the README.md, you mentioned:

Make sure you've already set up TSLint and Prettier.

Does it mean:

tslint and prettier need to be exported in the PATH? or,
they need to be installed in the node_modules?

Thanks.

2. They should be installed in the node_modules.


[6.0 Improvements to prebuilt/provided library handling

Cherry-pick of https://github.com/swiftlang/swift-package-manager/pull/7496 and https://github.com/swiftlang/swift-package-manager/pull/7433, excluding 16b4142.
Explanation: The idea is to enable provided libraries to be a part of a toolchain which means that instead of completely eliding them from a package graph they need to be handled post-resolution in a special way and reflected in a build plan for swift targets (as compiler and linker arguments). Unified handling of config.json and provided-libraries.json resources and drop use of Bundle (config should always be a part of SDK or a toolchain)
Scope: Broad, touches modules graph resolution and build planning.
Risk: Medium to low. Broad scope, but NFC for most builds.
Testing: New test cases added and existing ones updated.
Issue: rdar://125531670
Reviewer: @MaxDesiatov and @bnbarham

@swift-ci test

@swift-ci test

@swift-ci test windows


chore: delete duplicate classname

@gaearon review pls~

@gaearon review pls~

@sophiebits review pls~


Constructing a two-qubit gate in basistools

two_qubit_gate() in basistools.py needs an option to pass in the ii Pauli

This functionality has been added in pyGSTi version 0.9.4


Cannot lookup destinations created from mapped service bindings with SAP IAS authentication only (no xsuaa).

Describe the bug
Cannot lookup  destinations created from mapped service bindings with SAP IAS authentication only!
To Reproduce
Steps to reproduce the behavior:

Have only SAP IAS (no xsuaa!) for user authentication with SAP Approuter.
Have a simple backend service with SAP Cloud SDK acting as a approuter destination
Have destination, service-manager, etc services instances created with their respective service bindings.
The service bindings secrets are mounted as volumes into the simple backend service.
Failed to resolve the destination 'name: faas-dest-x509'.

Expected behavior
A clear and concise description of what you expected to happen.
All these destinations are OAuth2ClientCredentials destinations thus fall into the category of No user JWT required
The SDK should be able to retrieve these destinations via 'xsevv' with SAP IAS only.
Screenshots
If applicable, add screenshots to help explain your problem.
Used Versions:

node version via node -v20.x
npm version via npm -v10.x
SAP Cloud SDK version you used as dependency:

    ,"@sap-cloud-sdk/http-client": "latest"
    ,"@sap-cloud-sdk/connectivity": "latest"
    ,"@sap-cloud-sdk/resilience": "latest"

Code Examples
If applicable, add code snippets as examples to help explain your problem. Please remove sensitive information.
Log file
If applicable, add your log file or related error message. Again, please remove your sensitive information.
params:  { '0': '/srv/instanceDestinations' }
[2024-06-17T05:54:29.797Z] DEBUG    (env-destination-accessor): Attempting to retrieve destination from environment variable.
[2024-06-17T05:54:29.798Z] DEBUG    (env-destination-accessor): No environment variable set.
[2024-06-17T05:54:29.806Z] DEBUG    (environment-accessor): Could not find binding to service 'xsuaa', that includes credentials.
[2024-06-17T05:54:29.806Z] DEBUG    (register-destination): Could not determine tenant from service binding to XSUAA. Destination will be registered without tenant information.
[2024-06-17T05:54:29.807Z] DEBUG    (jwt): JWT zid is: tenant_id.
[2024-06-17T05:54:29.807Z] DEBUG    (register-destination): Could not retrieve 'faas-dest-x509' from registered destinations.
[2024-06-17T05:54:29.807Z] DEBUG    (destination-accessor-vcap): Attempting to retrieve destination from service binding.
[2024-06-17T05:54:29.865Z] DEBUG    (environment-accessor): Could not find binding to service 'xsuaa', that includes credentials.
[2024-06-17T05:54:29.866Z] DEBUG    (destination-accessor-vcap): Could not retrieve destination from service binding. If you are not using SAP Extension Factory, this information probably does not concern you. Cannot destructure property 'zid' of 'undefined' as it is undefined.
[2024-06-17T05:54:29.866Z] DEBUG    (destination-accessor-service): Attempting to retrieve destination from destination service.
[2024-06-17T05:54:29.875Z] DEBUG    (jwt): JWT zid is: e041581c-0342-4f4d-84f6-eaa9e5f75bd7.
[2024-06-17T05:54:29.882Z] DEBUG    (environment-accessor): No JWT given to select binding to service 'destination.
[2024-06-17T05:54:29.883Z] DEBUG    (environment-accessor): Found one service binding for service 'destination'. App name: clone6f5930835db049aa926181ff46b73cfc!b65688|destination-xsappname!b2.
[2024-06-17T05:54:29.963Z] DEBUG    (jwt): JWT zid is: e041581c-0342-4f4d-84f6-eaa9e5f75bd7.
[2024-06-17T05:54:29.963Z] DEBUG    (proxy-util): Tried to read https_proxy or HTTPS_PROXY from the environment variables. Value is undefined.
[2024-06-17T05:54:29.963Z] DEBUG    (proxy-util): Could not find proxy settings for https in the environment variables - no proxy used.
[2024-06-17T05:54:30.034Z] DEBUG    (destination-accessor-service): Could not retrieve destination from destination service.
Error: Failed to resolve the destination 'name: faas-dest-x509'.
    at resolveDestination (/usr/src/app/function/node_modules/@sap-cloud-sdk/connectivity/dist/scp-cf/destination/destination-accessor.js:53:15)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /usr/src/app/function/node_modules/@sap-cloud-sdk/http-client/dist/http-client.js:69:37
    at async main (/usr/src/app/function/handler.js:727:21)

Impact / Priority

Affected development phase: Release
Impact: Blocked
Timeline: Now
Additional context
Add any other context about the problem here.
@https://github.com/SAP/cloud-sdk-js/issues/4731

Hey @ptesny,
sorry for not responding earlier, I looked into these issues and was working on improving IAS support throughout the SDK in the last days. I only now realize, that you are talking about retrieving destinations from service bindings. I think this might not be related to IAS, but let's see.
The error above indicates, that the service binding was found, but not resolved and that it then goes over the destination service where it doesn't find the destination. If you a different service binding than those that are supported out of the box you need to provide the serviceBindingTransformFn() as indicated in the documentation.
With this you can return a destination that you build based on the credentials of your service binding. If you need to fetch tokens for this, you currently need to do this on your own, no matter if we are looking at XSUAA or IAS.


OCM-6347 | test: Setup rosa-hcp-pl profile

What this PR does / why we need it:
Enable the rosa-hcp-plprofile
Which issue(s) this PR fixes
https://issues.redhat.com/browse/OCM-6347
Change type

[ ] New feature
[ ] Bug fix
[ ] Build
[x] CI
[ ] Documentation
[ ] Performance
[ ] Refactor
[ ] Style
[ ] Unit tests
[ ] Subsystem tests
[x] e2e tests

Checklist

[x] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.

/retest

@xueli181114 PR updated. Please have a look

@xueli181114 @yuwang-RH Please have a final look

/lgtm

/approve


Use selenium(slack_invitation gem)

This update will revive slack_invite_automation_sinatra.

Use selenium

Now user need to set up admin email and password(I recommand creating dummy admin user account)

Use sidekiq (selenium script take so long time)
Change message(-> "Your invitation is scheduled.")
Update dockerfile

Use headless firefox browser(based on xvfb)
Docker command can be found in README file
https://registry.hub.docker.com/u/nacyot/slack_invite/

Use foreman and update Procfile(web and worker)
Use dotenv(only development)

I'm not sure whether or not this noramlly work on heroku. I think maybe it doesn't work becasue this update use firefox selenium driver(I try to use phantomjs, but phantomjs can't normally load invitation page).

https://twitter.com/levelsio/status/566680559405903873 But, I found this tweet T.T
It just works and I closes pull request.


Formik loses it's state on form submission

Bug report
Current Behavior
When I submit my form, I show the user a loading spinner. After the submission, my values get reset to the initialValues.
Expected behavior
I expected my values to retain their value as filled by the user even after form submission.
Reproducible example
This is the link to my sandbox. Add your first and last name and hit submit. You'll see your fields empty after submission.
Your environment

Software
Version(s)

Formik
1.2.0

React
16.5.0

TypeScript

Browser

npm/Yarn

Operating System

This isn't a bug. You've unmounted Formik by doing:
if (loading) return
Loading...
;

You can add an overlay with a z-index higher than your form like this:
  return (

      {loading &&
Loading...
}

Form

        <Formik />

  );

Or you can always render both, and adjust App's classes based on the state of the form, like,
// I use the common package `classnames` here, but you can also do it manually
return

// css, this will also disable user input
.App--loading form {
  display: none;
}

This isn't a bug. You've unmounted Formik by doing:
if (loading) return
Loading...
;

You can add an overlay with a z-index higher than your form like this:
  return (

      {loading &&
Loading...
}

Form

        <Formik />

  );

// css for example, but you'll def need more than this
.overlay { position: relative; /* or absolute, or fixed */ z-index: 5; }
form { position: relative; z-index: 1; }

Or you can always render both, and adjust App's classes based on the state of the form, like,
// I use the common package `classnames` here, but you can also do it manually
return

// css, this will also disable user input
.App--loading form {
  display: none;
}

Oh I see! I kind of also thought about it. Thank you for the explanation!


Changes done to remove [WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}.

Before
      - nuh_sa_or_ha is match('ha')
      - inventory_hostname ==  "{{ groups['nuh_first_node'][0] }}" ```
``` when:
      - nuh_sa_or_ha is match('ha')
      - inventory_hostname ==  "{{ groups['nuh_second_node'][0] }}" ```

**After**

``` when:
      - nuh_sa_or_ha is match('ha')
      - inventory_hostname == groups['nuh_first_node'][0] #Change ```
``` when:
      - nuh_sa_or_ha is match('ha')
      - inventory_hostname == groups['nuh_second_node'][0] #Change ```

http://<IP_ADDRESS>:8080/job/kandarp/job/INSTALL-GCP-HA-COPY-NEW/25/
http://<IP_ADDRESS>:8080/job/kandarp/job/INSTALL_GCP_SA_K/56/
http://<IP_ADDRESS>:8080/job/kandarp/job/UPGRADE-GCP-HA-COPY-K/13/
http://<IP_ADDRESS>:8080/job/kandarp/job/UPGRADE-GCP-SA-COPY-K/11/

Release Notes:
Changes done to remove following warning.
"[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}."
Files that changed:

main.yml
nuh_copy_certificates.yml
openstack.yml

Changes done:

inventory_hostname == "{{ groups['nuh_first_node'][0] }}" --> inventory_hostname ==  groups['nuh_first_node'][0]
inventory_hostname == "{{ groups['nuh_second_node'][0] }}" --> inventory_hostname ==  groups['nuh_second_node'][0]


Markdownlint fixes

Minor tweaks, one spelling error and a couple formatting changes that markdownlint was complaining about.

I didnt know about Markdownlint. Nice tool. Thank you!


When hiding the column header using  headerStyle { }. I cannot seem to give the column width is there anyway to hide the TH and give the td a specific width?

Question
As you can see  in the screen shots below. The columns with 'Cardiff Hotel' are on two lines I cannot seem to resize them as I have display none on headerStyle is there anyway of giving them a width so they are not on two lines.
Screenshots

Thank-you in advance
@AllenFang

@maxsilvauk I'm confusing your screenshot and your source code, because I saw you give a lots of display:none, but I can not connect to your table of screenshot.
Would you please give me more information to explain this issue? thanks

Basically the Statistics table has an expand row. The expanded row has another table inside it it which contain the rows 'Cardiff Hotel' and 'Newport Hotel'.
The problem is that the second table columns are never inline with the the parent table column headers. This is because you cant set a width to a 'display:none' which hides the table column.
I am trying to make the column widths match up can you see how they are out of line?

@maxsilvauk it's a edge case for me. how about use column.style instead of headerStyle?  I guess this is my only solution I can come out lol


Ollama: invalid model path: ':' (colon) is not allowed in tag names

Is this a new rule? After updating to 0.1.118 I can no longer import this modelfile https://openwebui.com/m/jamest/dolphin-mistral:7b-v2.8:latest because of the colon in its tag name which I don't recall being an issue before.

Removing the :latest in the tag fixed this issue so perhaps it was just a mistake on the part of the modelfile creator?

Yep, bad modelfile. You'll have to edit the tag manually for it to work.


Add Third Party Notices

We have a file at the root of the repo but it's primarily for things that ship in the SharedFx. Putting it here seems nicer, but I don't know if it's the correct (legal) thing to do.

Historically, a Third Party Notice (3PN) must be easily findable in every place where a 3rd party project is included. So, there needs to be a 3PN in these places:

This GitHub repo needs one for all third-party content that's in it (e.g. there must be a hundred copies of jQuery and Bootstrap in here, plus random other stuff)
Every NuGet package that contains third-party content (e.g. let's say a template NUPKG contains jQuery)
Every MSI or ZIP or other container that has third-party content needs one for whatever it has

Also, historically the 3PN includes copies of the licenses of those third-party contents for informational purposes (as opposed to just a list of projects). I'm not sure what the current policy is on that.

Here's a mildly useful tool I've used in the past to generate the 3PN file: https://github.com/Eilon/ThirdPartyNoticesGenerator

Thanks @Eilon . I started off from the 3PN file that was in the original fork of this project and stripped things out. We generally don't expect users to reference this, it's a majorly stripped down version of the app primarily meant for benchmarking.

@SteveSandersonMS the 3PN just have to be easily gettable. Root of the repo certainly counts. But some reasonably-named sub-folder or similar thing with a reasonably-named file usually suffices.


Testing, please ignore. (ffgeic)

This is a bug bounty test - please ignore.. Please DO NOT APPROVE THIS! (ffgeic)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.ffgeic suhrn seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[WIP] Attempt to build on windows against stock node v4 and v6

Codecov Report

Merging #758 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #758   +/-   ##
=======================================
  Coverage   96.23%   96.23%
=======================================
  Files          42       42
  Lines        8810     8810
=======================================
  Hits         8478     8478
  Misses        332      332

Continue to review full report at Codecov.

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

This is working now: we are building cleanly against the stock node v0.10, 4, 6, and 8 on windows. Going to merge this into master.


Redesign of integration tests using Docker

This PR redesign the integraton tests of the distribution module and it use docker via  the testcontainers library:

adds testcontainers dependency
removes tesstNG and rely on junit
removes custom startup code
generate a docker image of the current build tagged as orientdb/orientdb:latest
reviews demodb generation: split osql

collateral

adds the mvn wrapper to  enable building on systems without maven installed

Tu create distribution package and run qa tests:
 mvn clean install -Pqa

Hi,
After this merge i'm getting this error: https://gist.github.com/tglman/883803d6d9182e7d080455a07f3c4fb4 in the base mvn clean install of the project, are we including a dependence to have a docker environment running for build orient ? If this is the case I would be against it.
Regards

@tglman yes, it needs docker to run integration tests. Each test spawns an ephemeral container built over the latest snapshot of orientdb and tests "something".
Most of the tests are in place to test the demodb consistency, other are related to some issues closed in the past.
IMHO it is an easy and flexible way to execute integration tests without bothering with System Process in Java.
Write a test for a 2/3 nodes installation is a matter of a "compose" file.
For sure I can reconfigure the pom to avoid the build of the  docker image at installation time and move it on the qa profile.


Use vscode-extension-telemetry for our exceptions & error telemetry

For #11436

As discussed during standup, we will only send 1 telemetry event when there's an exception from now on, aka for an event of name 'foo' with custom props:

send telemetry ERROR event with the following props: stack trace and original event name foo, no custom props
send regular telemetry event foo with the custom props

now we only will have:

send telemetry ERROR event with the following props: stack trace and original event name foo, no custom props

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[x] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[x] Has telemetry for enhancements.
[x] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

Codecov Report

Merging #11524 into master will decrease coverage by 0.08%.
The diff coverage is 85.00%.

@@            Coverage Diff             @@
##           master   #11524      +/-   ##
==========================================
- Coverage   60.49%   60.41%   -0.08%
==========================================
  Files         618      618
  Lines       33750    33750
  Branches     4760     4759       -1
==========================================
- Hits        20418    20391      -27
- Misses      12323    12351      +28
+ Partials     1009     1008       -1

Impacted Files
Coverage Δ

src/client/telemetry/index.ts
83.65% <85.00%> (-1.57%)
:arrow_down:

...client/datascience/kernel-launcher/kernelFinder.ts
64.60% <0.00%> (-16.78%)
:arrow_down:

src/datascience-ui/react-common/arePathsSame.ts
75.00% <0.00%> (-12.50%)
:arrow_down:

src/client/common/utils/platform.ts
64.70% <0.00%> (-11.77%)
:arrow_down:

src/client/linters/pydocstyle.ts
86.66% <0.00%> (-2.23%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
76.56% <0.00%> (-1.57%)
:arrow_down:

src/client/common/process/proc.ts
14.49% <0.00%> (-0.73%)
:arrow_down:

Continue to review full report at Codecov.

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


No detection of column changes between compile-time and runtime

User Story
As a user, I want to compile a project against one excel file at compile time and then run it against another excel file at runtime. The second excel file potentially has a different ordering or number of columns.
Description
After compiling a project against one Excel file, when I run the project against a second file, the direct reference of a property by name pulls data from a column by index, while the .GetValue("Property") pulls data from the correctly named column. At runtime, the direct property reference should point towards the referenced column, rather than the column index of itself in the original workbook.
Repro steps

Create a program that prints row.Column A, row.Column B and row.Column D with the following excel file columns:

Column A
Column B
Column D

A Value
B Value
D Value

At runtime, point the following excel sheet at the program instead:

Column A
Column B
Column C
Column D

A Value
B Value
C Value
D Value

The values printed will be "A Value", "B Value" and "C Value", even though the original project references column D, rather than column C - it seems to reference the original columns by position rather than by name
(Note: if you ran the original program with row.GetValue("Column D"), rather than row.Column D, it would return "D Value"

Expected behavior
For the example above, it would be expected that the program prints out "A Value", "B Value" and "D Value", as we're still referencing the Column D from the original program
Actual behavior
For the example above, it actually prints out "A Value", "B Value" and "C Value"
Known workarounds
The known workaround is to use the .GetValue method instead of referencing the column directly, but then it defeats the purpose of the intellisense against each of the columns
Related information

Windows
.NET 8.0
(Stable I believe)

I have uploaded here rather than created an example branch as I do not have permission.
I have tested again with 3.0 and it is still an issue. Adding the following Excel book and running the test confirm the behaviour still exists:
DataTypesReordered.xlsx
[<Test>]
let ``Recognises re-ordered columns at runtime``() =
    let getFirst (Choice1Of2 value) = value

    let compileTimeSheet = DataTypes().Data |> Seq.toArray |> Seq.head
    let compileTimeString = compileTimeSheet.String

    // This test is testing runtime behavior, so we need to use the FSI session to run the code
    let dataTypesReordered = __SOURCE_DIRECTORY__.Replace(@"\", "/") + "/DataTypesReordered.xlsx"
    let result, _ =
        FsiTestContext.fsiSession.EvalInteractionNonThrowing $"""
        open FSharp.Interop.Excel
        type DataTypesReordered = ExcelFile<"{dataTypesReordered}", HasHeaders=true>
        DataTypesReordered()
        """

    let compiledSheetAtRuntime = unbox<DataTypes> <| getFirst(result).Value.ReflectionValue
    let runtimeRow = compiledSheetAtRuntime.Data |> Seq.toArray |> Seq.head
    let runtimeString = runtimeRow.String

    runtimeString |> should equal compileTimeString

When column ordering is changed - the ExcelProvider doesn't recognise the new column ordering. The test above returns the String2 column rather than String - even though it has successfully identified in the underlying provider that the column ordering has changed.
Upon further investigation, when TryGetValue is called the DesignTime.propertyImplementation definition, it grabs the value by Column Index rather than Column Name (which doesn't account for column re-ordering). One solution for it would be to change/overload the Definition of TryGetValue or add a new column to get the value by ColumnName. The following re-write of the TryGetValue method offers a potential solution and fixes the original test
member this.TryGetValueByColName<'a>(columnName: string) =
    let value = this.GetValue columnName

    try
        match value with
        | null -> value :?> 'a
        | _ when typeof<'a> = typeof<string> -> (box (string value)) :?> 'a
        | :? double as valueDbl when typeof<'a> = typeof<DateTime> -> (box (DateTime.FromOADate valueDbl)) :?> 'a
        | :? string as valueStr when typeof<'a> = typeof<DateTime> -> (box (DateTime.Parse valueStr)) :?> 'a
        | _ -> value :?> 'a
    with
    | :? InvalidCastException
    | :? ArgumentException
    | :? ArgumentNullException
    | :? InvalidCastException ->
        failInvalidCast value (value.GetType()) typeof<'a> columnName rowIndex documentId sheetname

Please let me know your thoughts :)

If you want a suggestion of changes in the form of a MR, I am happy to push my suggestions if I am given permission


MWPW-134309: Milo to always use Prod WCS

Switch Milo to only use 'wcs.adobe.com'.
'wcs.stage.adobe.com' should only be to test experimental features provided by the commerce team.
Resolves: MWPW-134309
Test URLs:

Before: https://main--milo--adobecom.hlx.page/drafts/mariia/promopoc/products/indesign?martech=off
After: https://mwpw-134309-wcs--milo--3ch023.hlx.page/drafts/mariia/promopoc/products/indesign?martech=off

hi @overmyheadandbody , actually after thinking about it the second time I've left a way for us to set tacocat env to Stage. with a help of metadata. Could you please check again? thx
also addressed console.log issue


changed all intances of num_classes to nb_classes

fixes #766

Tests failed during autenticating pep8. Will fix and push

Thanks for your contribution.
CleverHans has a policy of giving a warning when APIs change, so that people have up to 6 months to change to the new interface. This means we need to support the old parameter name, and then use an if statement inside the function to tell whether the caller passed the old version.
You can see an example of how I changed the epsilon argument to eps for the SPSA class in this recent PR: https://github.com/tensorflow/cleverhans/pull/833/files

Thank you for the reference for how to update. I will go back through and update it properly

Thank you!

Assuming travis passes, it should be fixed now for backwards compatibility.  num_classes is still in the code base whenever inception is used as the parameter for that is num_classes

Hi is there a standard linter or way to run all of the tests that travis runs locally? I would love to add this to the readme to ease development

You can run following commands to run all tests:
# runs linter and some of the cleverhans tests, usually pretty quick
nosetests -v --nologcapture --stop cleverhans
# runs tests, which actually train models and run attacks, slow
nosetests --nologcapture -v --stop tests_tf

You will need to have some additional dependencies installed for this to work:

nosetests
joblib
pylint

You can take a look at https://github.com/tensorflow/cleverhans/blob/master/.travis.yml to see what travis actually doing when running tests.


Transactions failed, coins locked up & awaiting conf for 18 billion grin

Hi all,
I was trying out wallet 713 and when trying to send 1 grin to a friend using contact list I got a weird tx. It locked up my grin (still locked up after 14 hours and can't cancel it) and it says that i'm awaiting<PHONE_NUMBER>2.702552795 grin.

Went back to normal after sending new transactions. Weird txs still appear in my tx log tho. with net difference of 18 billion

Thanks for raising this issue.
Could you walk me through the exact steps of how this happened? I will try to reproduce it

Hi Lehnberg,
I'm not sure I can get back to the wallet713 logs so in order to see exactly what I did, but from memory:
contacts add @XXX
send 1 --to @XXX
I don't recall doing anything different than that, however I was doing back and forth txs with another friend in the meantime, so maybe something happened at this level, sorry if this is not enough to help you figure out what happenned. If there is a way to get back to the logs I'll go and fetch more precise info

I also ran into this issue, and can suggest an approach to reproduce.
I was playing around with sending transactions between two wallet713 instances, using the issue_send_tx api programatically. I think you can force things to go awry if the amount is small, the num_change_outputs is high, and selection_strategy_use_all is false.
For instance;
      amount: 2000,
      minimumConfirmations: 1,
      method: "grinbox",
      dest: "xxxx",
      maxOutputs: 1,
      numChangeOutputs: 100,
      selectionStrategyIsUseAll: false

In my case, the slate exchange appears to have failed.
The sender cli looks like:
> info

____ Wallet Summary Info - Account 'default' as of height xxxx ____

 Total                            | xxx
 Awaiting Confirmation (< 10)     | 18xxxxxxxxx.xxxxxxxxx
 Locked by previous transaction   | xxxx
 -------------------------------- | -------------
 Currently Spendable              | xxxx

After running check on the sender:
wallet713> check
checking and repairing... please wait as this could take a few minutes to complete.
check and repair done!
wallet713> info

____ Wallet Summary Info - Account 'default' as of height xxx ____

 Total                            | xxx
 Awaiting Confirmation (< 10)     | 0.000000000
 Locked by previous transaction   | xxx
 -------------------------------- | -------------
 Currently Spendable              | xxx

After running check, I try another transaction (as above), which also fails:
The received sees:
slate [xxxx] received from [xxx] for [xxxx] grins
error: failed receiving slate!

I was able to get things working by trying a transaction that used reasonable defaults (higher amount, lower num_change_outpus and selection_strategy_use_all to true).
Hope this helps.

Thanks for these steps, I will investigate!

@jaspervdm please check gitter for DM from me

I also get this problem if a transaction fails for some other reason;
wallet713> send 0.01 --to https://<IP_ADDRESS>:3417
error: http request error

 61  Sent Tx      ad1679d5  https://<IP_ADDRESS>:3417                                          2019-04-24 07:50:02<PHONE_NUMBER>3.694553375

Seems that the balances can be 'fixed' this by running txs, finding the latest transaction id then running cancel -i [txId].

I think you can reproduce this issue by sending to your own address. I have tried this several times and it consistently happens with this same number as others are reporting. You cannot fix it in wallet713, but if you copy your seed file into a grin full node, and run grin wallet restore, the funds become spendable again.

Bug is in selection.rs line 315. You are defining coins within this inner scope and when you get outside of the loop it reverts back to the outer scope "coins". You need to make coins mutable and not copy the variable over before exiting the loop.

@cgilliard Thanks for researching it! That is definitely a bug. I have implemented a fix and will merge it in shortly. From my testing so far it seems that it was indeed responsible for this specific issue.


Use only the required informers

Based on top of Marc's PR: https://github.com/grafana/beyla/pull/1209/files
It would narrow the scope of the informers:

If network metrics are active, it would setup all the informers for cluster-wide resources.
If only application metrics are active, it would only activate the Pod informer, for the node local pods.

Codecov Report
Attention: Patch coverage is 22.22222% with 42 lines in your changes missing coverage. Please review.

Project coverage is 53.00%. Comparing base (91f8aeb) to head (a0c4063).

Files with missing lines
Patch %
Lines

pkg/internal/kube/informer_provider.go
3.70%
26 Missing :warning:

pkg/internal/kube/informer.go
50.00%
8 Missing and 1 partial :warning:

pkg/internal/pipe/global/host_id.go
12.50%
7 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (91f8aeb) and HEAD (a0c4063). Click for more details.
HEAD has 3 uploads less than BASE

Flag
BASE (91f8aeb)
HEAD (a0c4063)

oats-test
1
0

k8s-integration-test
1
0

integration-test
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1210       +/-   ##
===========================================
- Coverage   81.88%   53.00%   -28.89%
===========================================
  Files         137      137
  Lines       11450    11475       +25
===========================================
- Hits         9376     6082     -3294
- Misses       1543     4997     +3454
+ Partials      531      396      -135

Flag
Coverage Δ

integration-test
?

k8s-integration-test
?

oats-test
?

unittests
53.00% <22.22%> (-0.10%)
:arrow_down:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


能请教下怎么设置请求头吗？

我这样写，没效果

You have to update the request library which is in [src/utils/reqest.js], that use axios as http client.
Check this doc to see how to set the headers
https://github.com/axios/axios

谢谢


Can our UI be refactored to be similar to paste? Horizontal display makes it easier to find the content to be pasted

Before Submitting Your Feature Request

[ ] Check that there isn't already a similar feature request to avoid creating a duplicate.
[ ] I have seen the FAQ.

Problem
Horizontal display makes it easier to find the content to be pasted and make sure the grid size of each content is the same.
Paste：

Solution
No response

It's too much work to be honest, I think you better stick to Paste then.


Upgrade tooclhain to 2024-02-17

Upgrade toolchain to 2024-02-17. Relevant PRs:
https://github.com/rust-lang/rust/pull/120872
https://github.com/rust-lang/rust/pull/120594
https://github.com/rust-lang/rust/pull/120500
Resolves https://github.com/model-checking/kani/issues/87
Resolves #3028
This currently breaks the std lib regression. Keeping it as a draft till I figure out a fix.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

This program is sufficient to reproduce the crash in the std lib regression:
use std::sync;

#[cfg_attr(kani, kani::proof)]
fn main() {
    let lock = sync::RwLock::new(5);
    let c = lock.read();
    let i = c.unwrap_or_else(|_| lock.read().unwrap());
    assert!(*i == 5)
}

$ kani rwlock.rs
Kani Rust Verifier 0.46.0 (standalone)
thread 'rustc' panicked at cprover_bindings/src/goto_program/expr.rs:689:9:
Function call does not type check:
func params: [Parameter { typ: StructTag("tag-_255281828603230393579431802309153866981"), identifier: Some("_RNCNvCsenOrSQPJUev_6rwlock4main0B3_::1::var_1"), base_name: Some("_RNCNvCsenOrSQPJUev_6rwlock4main0B3_::1::var_1") }]
args: [Expr { value: Symbol { identifier: "_RINvMNtCsiW2CYWmqB4c_4core6resultINtB3_6ResultINtNtNtCs4m6LCAw2AAX_3std4sync6rwlock15RwLockReadGuardlEINtNtBN_6poison11PoisonErrorBI_EE14unwrap_or_elseNCNvCsenOrSQPJUev_6rwlock4main0EB2t_::1::var_6" }, typ: StructTag("tag-_255281828603230393579431802309153866981"), location: None, size_of_annotation: None }, Expr { value: Member { lhs: Expr { value: Symbol { identifier: "_RINvMNtCsiW2CYWmqB4c_4core6resultINtB3_6ResultINtNtNtCs4m6LCAw2AAX_3std4sync6rwlock15RwLockReadGuardlEINtNtBN_6poison11PoisonErrorBI_EE14unwrap_or_elseNCNvCsenOrSQPJUev_6rwlock4main0EB2t_::1::var_7" }, typ: StructTag("tag-_146200748798307897826759305399112522164"), location: None, size_of_annotation: None }, field: "0" }, typ: StructTag("tag-_20659776347030360527720706964246510602"), location: None, size_of_annotation: None }]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Kani unexpectedly panicked during compilation.
Please file an issue here: https://github.com/model-checking/kani/issues/new?labels=bug&template=bug_report.md

[Kani] current codegen item: codegen_function: std::result::Result::<std::sync::RwLockReadGuard<'_, i32>, std::sync::PoisonError<std::sync::RwLockReadGuard<'_, i32>>>::unwrap_or_else::<{closure@rwlock.rs:7:30: 7:33}>
_RINvMNtCsiW2CYWmqB4c_4core6resultINtB3_6ResultINtNtNtCs4m6LCAw2AAX_3std4sync6rwlock15RwLockReadGuardlEINtNtBN_6poison11PoisonErrorBI_EE14unwrap_or_elseNCNvCsenOrSQPJUev_6rwlock4main0EB2t_
[Kani] current codegen location: Loc { file: "/home/ubuntu/.rustup/toolchains/nightly-2024-02-17-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs", function: None, start_line: 1427, start_col: Some(5), end_line: 1427, end_col: Some(63) }
error: /home/ubuntu/git/kani/target/kani/bin/kani-compiler exited with status exit status: 101

Can you elaborate as to how this fixes #87?

The test associated with #87 no longer fails (neither the original nor the simplified one). I'm not sure what changed upstream that caused it be fixed TBH.

Also, this PR should resolve https://github.com/model-checking/kani/issues/3028.

Added. Thanks!

The likely culprit for the crash in the std lib regression is https://github.com/rust-lang/rust/pull/100603.

A smaller program that produces the same crash:
use std::sync::PoisonError;

#[cfg_attr(kani, kani::proof)]
fn main() {
    let lr = std::sync::LockResult::<i32>::Ok(5);
    let my_clos = |_x: PoisonError<_>| 5;
    let _i = lr.unwrap_or_else(my_clos);
}

The MIR for this program is 95 lines long (vs. 50K for the above one), so should be easier to debug.

Here's a program that doesn't use sync and reproduces the crash even without the toolchain update (i.e. with 6bea13110053ee668388f1100d286354679085be):
#![feature(never_type)]

pub struct Foo<T> {
    _x: T,
    _never: !,
}

#[cfg_attr(kani, kani::proof)]
fn main() {
    let res = Result::<i32, Foo<i32>>::Ok(3);
    let _x = res.unwrap_or_else(|_f| 5);
}

I filed the crash as https://github.com/model-checking/kani/issues/3034.
This is a blocker for the toolchain upgrade.

Until we figure out a fix for #3034, I've opened a separate PR (#3036) to advance the toolchain to 2024-02-14 so that it doesn't include the breaking change that is included in the following toolchain version. Once we merge #3036, I'll rebase this PR.


Simplify usage of BigQuery's TableReference and DatasetReference Classes

resolves #97
Description
Addresses a deprecation warning (see #97) and moves closer to BQ API best practices by preferring unconnected *Reference objects until connected client operations are needed.

Simplifies BigQueryConnectionManager.dataset to directly create a bigquery.DatasetReference, and renames that method to dataset_ref for clarity.
Simplifies BigQueryConnectionManager.table_ref to directly create a bigquery.TableReference

Checklist

[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have updated the CHANGELOG.md and added information about my change to the "dbt-bigquery next" section.

@drewmcdonald seems some recent mergers are not working well with your current pr, if you could update main, hopefully that will clear them up if not I will do my best to help find the issues and get them fixed.

@McKnight-42 looks like things are all good after updating!

Thanks! Happy to jump in.