InstancioExtension should be made aware of MANUAL and  WITH_SETTINGS_BUILDER seed sources

Describe the bug
Currently, InstancioExtension is only made aware of seeds that are set via either of:

@WithSettings
@Seed
instanctio.properties

Actual result
Scenario:

Seed is set via InstanctioApi.withSeed
JUnit test is using the InstancioExtension and supplies a seed using @Seed
An object is generated using the model from step 1
The seed provided with @Seed is ignored and the seed from step 1 takes precedence (this is expected behaviour)
Test fails
Instancio logs the seed that was provided with @Seed, which is incorrect and confusing

Expected result

Specifying seed from multiple sources should not be allowed, OR
InstancioExtension should log the correct seed that was used during object generation

Java version: 21
Instancio version: 4.5.1

I can actually see that it's intentional but I don't understand the reasoning behind it

Thanks for raising this issue. Can you please take a look at this issue to see if it answers your question?

#940

Hi @armandino, thanks, it does clarify this alot but I still think there is an issue here.
I understand the reasoning behind not reporting a seed that was set explicitly via non-annotation settings because it is known to the user anyway, but consider an example where:
model.withSeed(System.nanoTime())

this is not a constant value and the value is not known to the user.
I think it gets a little confusing when both @Seed and .withSeed(seed) or setting(Keys.SEED, seed) are used together:
@Seed(123)
@Test
void test() {
    Instancio.of(String.class).withSeed(321).create();
    assertThat(1).isEqualTo(2);
}

this will log out the seed 123 while this seed was not used at all.
It is definitely a user error to specify @Seed and then not use it, but I think it could be nice to prevent this from happening.
I like the Result<>.getSeed() solution from the issue you linked so I will use that in my usecase. Feel free to close the issue if you think the above is not feasible

@elkkhan thank you for the additional feedback. Just to understand your use case a little bit better, is there a reason you need to use withSeed() in your test? Typically, users shouldn't need to set the seed manually via withSeed() when using the InstancioExtension.
Currently, the reported seed value is all that's needed to reproduce the entire test method's data. This assumes you don't use System.nanoTime() or java.util.Random directly (such usage is not supported).
One of the issues with logging all the seeds is that it will be confusing if a test method creates many objects.  Building on your example, if we create 3 strings:
@Seed(123)
@Test
void test() {
    Instancio.of(String.class).withSeed(321).create();
    Instancio.of(String.class).withSeed(456).create();
    Instancio.of(String.class).withSeed(567).create();
    assertThat(1).isEqualTo(2);
}

"test() failed with seeds: 123, 321, 456, 567"

compared to current behaviour:

"test() failed with seed: 123"

Regardless of the manual seeds, 123 is the only thing that's needed to reproduce the test.


How to get user's all media?

Hey I am new to this repo, could you please mention any request name or anything that can help me to fetch user's media.
Thank you :)

InstagramFeedResult feedResult = instagram.sendRequest(new InstagramUserFeedRequest(userId, maxId, minTimeStamp));

@mhosseinab What's maxId?

@kukalajet in the first request maxId=null and you will get a new value in the result set.
The maxId is the key parameter to handle pagination with instagram and works like a pointer to the query results.

@mhosseinab maxId specifies count results per page?
I try to get all followers, without maxId parameter I get only 200 followers, if I specify maxId parameter the program runs infinitely in this place.
InstagramGetUserFollowersResult followersResult =  mApiInstagram.sendRequest(new InstagramGetUserFollowersRequest(user.getPk(), "2"));

No, maxId is the end cursor to the page in which you have received the data.
for example, you get 200 records and a maxId in the response, if you need to get the next 200, the maxId received in the reply should be used to get the next page.
Please note that there is a huge amount of data there and you can only get data in pages. The amount of data on each page varies for each endpoint or even they change it day by day!


Make HDFSLogStore consistent with an Observer NameNode

Resolves #767
Partially reverts some of the changes made in https://github.com/delta-io/delta/commit/4c2e08d26c26d641527e2cd1490c1d8b2687f2a6, and instead attempts read using FileContext if possible, and only falling back to the FileSystem API if there's no AbstractFileSystem for the scheme.
Also addresses the issue of creating a new FileContext object for each method call. This requires finding the active namenode (or observer for reads) for every method call.
I went back and forth a lot on how to try this out. I don't love having the "cache" that should only ever have one thing in it, but currently a path isn't passed to a LogStore constructor, even though I assume the path should be consistent and a single instance of a LogStore probably isn't meant to operate on multiple file systems. I tried adding the path to the constructor but it required a lot of changes that I didn't feel great about.
Other options

Assume the path will always be on the same file system and just cache a single instance after it's created. FileContext checks if the file system matches the "defaultFs" for calls anyway, so even if you do pass a different scheme or authority it shouldn't matter because it will just create a new AbstractFileSystem object
Just use the FileSystem API. I believe FileSystem.rename is also atomic, if the underlying file system is HDFS at least, it's just harder to interpret the results of it. Could add checks to make sure the FileSystem created is local or DistributedFileSystem

I also have no idea how to tests this other than current tests still pass. Only things I can think of are figure out how to create a minimal observer namenode hdfs cluster setup, or just try to spy the DFSClient class and make sure only one instance ever gets created. Also could just go back to the new FileContext per method call and just keep the fallback logic to fix the consistency issue but not fix the small performance issue.

Also addresses the issue of creating a new FileContext object for each method call.

I'm surprised that FileContext abandoned the cache idea existing in FileSystem...

Just use the FileSystem API. I believe FileSystem.rename is also atomic, if the underlying file system is HDFS at least, it's just harder to interpret the results of it. Could add checks to make sure the FileSystem created is local or DistributedFileSystem

This sounds better if FileSystem.rename is atomic. We can assume HDFSLogStore is only used for HDFS.
IIUC, if RPC calls sent from two different DFSClients, HDFS doesn't guarantee strong consistency when there is an Observer NameNode. This sounds surprising. Is it only read inconsistency or write may also be consistent? For example,

DFSClient A talking to master namenode renames a file X to Z.
DFSClient B talking to observer namenode renames a file Y to Z.

Is it possible that both will succeed? Is there any document explicitly describing the issue?

I can look into that more to figure out if the file system rename is actually atomic. But only an active namenode can serve write requests, so renames from different clients couldn't both succeed. The only potential issue is stale reads from two different clients

Ok learned a lot more...
The method for calling the same atomic rename that FileContext uses is protected in the FileSystem API, but it's public in DistributedFileSystem. There's been an open issue for 7 years to make this FileSystem API public: https://issues.apache.org/jira/browse/HADOOP-11452. So we can add checks for what the file system is and cast where needed, but then it complicates dealing with local file systems for testing and making sure people don't use non-atomic file systems without realizing it.
Also, there's been an open issue about caching FileContext/AbstractFileSystem objects for nearly 12 years: https://issues.apache.org/jira/browse/HADOOP-6356.
So now I'm kinda leaning toward keeping the FileContext usage, removing the "cache" mechanism I added, and just going back to the create a new FileContext per read and write call, and fall back to super class for reads if the context can't be created. This would at least fix the inconsistency issue and can deal with/worry about the performance issue later. Still think it makes sense to have the base path as part of the constructor, but that would require more changes.

Removed the caching part to just fix for the consistency issue for now. Can address that later if I feel like it causes that much of an impact.

Yeah it's theoretically possible for that to happen, but much less likely to be an issue IMO. With an observer namenode, you configure how often it syncs with the active essentially. I think we have ours set to 10ms or so? By the time a new read starts after a write finishes there should be enough time for the observer to get up to date. And if it doesn't task retries should be able to let things wait even more, but either way that's kinda the scenario you accept when you use an observer.
The problem with the commit process is that it executes a listFrom immediately after renaming the latest commit file on the driver, so there's basically no sync interval small enough to guarantee that will work, and this immediately fails a query with no retrying involved (even though it actually succeeded). And not using the observer for writing to delta would hurt ETL processes that are heavily reading from HDFS.

Seems a little hackier than consistently using the same File API

Added an initial attempt at supporting passing the log store path in the log store constructor. It feels a little weird though. Other option is what I initially had tried which is create a cache of scheme/authority to FileContext object (which should only ever be one), so the FileContext object just gets reused that way.

Sorry for the delay. The current approach you proposed still has some issues:

Adding a new parameter to LogStore is considered a breaking change as LogStore is a developer API and we would like to maintain the backward compatibility.
Technically the user can still hit the same issue when Spark reads the transaction logs if the sync interval is not small enough.

As you mentioned that the sync interval is usually small, how about we just pay some cost in the write method like this?
def write(): Unit = {
  rename the file
  if (Observer NameNode is enabled) {
   // Sleep until all of clients are synced.
    val syncInterval = get sync interval from the config
    val wakeupTime = System.currentTimeMillis() - syncInterval
    var sleepTime = wakeupTime - System.currentTimeMillis() + (depend on how the sync is implemented, we may need to add some extra value here)
    while (sleepTime > 0) {
       sleep(sleepTime)
       sleepTime = System.currentTimeMillis() - syncInterval
     }
  }
}

At last, we can improve our doc to mention about this behavior and suggest people to set a reasonable value to not slow the write a lot.

Adding a new parameter to LogStore is considered a breaking change as LogStore is a developer API and we would like to maintain the backward compatibility.
I attempted to add it in a backward compatible way which is why it's a little extra convoluted. There's only one or two places in the code where the log path isn't available when creating the log store. Conceptually it seems weird to not include the log path as part of creating a log store (an instance of a LogStore maps to a single log on some file system).

Technically the user can still hit the same issue when Spark reads the transaction logs if the sync interval is not small enough.
If you're talking about executors reading the transaction log to calculate a new snapshot, that at least can be handled by Spark retry behavior and stuff like that, and is more of the behavior you accept/sign up for with the Observer setup. Read after write consistency is assumed from the same process (just not with this mixed use of APIs).

As you mentioned that the sync interval is usually small, how about we just pay some cost in the write method like this?
def write(): Unit = {
  rename the file
  if (Observer NameNode is enabled) {
   // Sleep until all of clients are synced.
    val syncInterval = get sync interval from the config
    val wakeupTime = System.currentTimeMillis() - syncInterval
    var sleepTime = wakeupTime - System.currentTimeMillis() + (depend on how the sync is implemented, we may need to add some extra value here)
    while (sleepTime > 0) {
       sleep(sleepTime)
       sleepTime = System.currentTimeMillis() - syncInterval
     }
  }
}

There's two sync intervals, how often the Observer NameNode will pull edits from the journal nodes, and how out of date a client will get before forcing an msync operation. The first one is the more relevant one for that snippet of code, but it's not necessarily available/needed on clients. The second one defaults to off which works fine for read-only usage patterns. Also there's no way to easily know what the client sync interval is (we use a hack that sets it using a Java system property so that we can set it to 0 (msync on every operation) on the driver and -1 (never msync after creating the initial client) on executors.
The other option which I originally did is to create a cache of scheme/authority to filecontext (which the delegating log store already does itself), I could resurrect that method too since it's already being used elsewhere.

I was thinking about this a little more again, how about just adding an msync call at the end of writeInternal? This would add a tiny bit of overhead to a successful write call but wouldn't affect existing read paths. Threw together something like this:
    try {
      val fs = path.getFileSystem(hadoopConf)
      val msync = fs.getClass.getMethod("msync")
      msync.invoke(fs)
    } catch {
      case parent: InvocationTargetException =>
        parent.getCause match {
          case _: UnsupportedOperationException | _: NoSuchMethodError =>
          case e => throw e
        }
    }

obviously with a thorough comment explain exactly what it's doing and why it's doing it

@Kimahriman that's a good idea. +1. The overhead should be tiny since this only happens in the write path which is not a cheap operation anyway.

Updated to that, let me know if I went overboard on the comment explaining it hah

Yeah I can update that as well and make it it's own function. I have absolutely no idea how to test it other than try mock the msync method and make sure it gets called

Updated it and made it it's own function, and updated the description. I wasn't sure the best way to handle the Java exception handling. Also still not really sure how to test it. I could maybe try to create another separate test file system that does some kind of fancy thing with timestamps or something to pretend it can't read things without an msync call

I attempted to add a test using a new custom file system using timestamps to act as the state ID, seems to be working


do not use hardcoded ns for ocs-prometheus-rules

Signed-off-by: Nitin Goyal<EMAIL_ADDRESS>

/test ocs-operator-bundle-e2e-aws

/cherry-pick release-4.12


Jackpot

It is slightly over powered
I suggest make is rarer or make or make it less powerful

done


when i addObstacle with a big radius There seems to be something wrong

i try to add an Obstacle with a big radius (15.0f) then I got a response as shown in illustration
how can i fix it?

Temporary obstacles are meant to cover small areas.  For large obstacles, especially ones that span multiple tile boundaries you'll want to instead regenerate those tiles and incorporate the obstacle mesh as un-walkable input geometry.


Segfault upon launch

This is on Debian Jessie with Electron v1.2.4.
phil@enigma ~/bin/musicope-win32/app/game $ ~/bin/electron/electron index.html
Segmentation fault

The docs don't really give any details on how to run the game, so I'm just guessing. Any suggestions for debugging?

Yeah, the release section is probably outdated. Will take a look at it after summer holidays ;) You can always compile it by using gulp and then just copy it into electron sub-folder. Then it should work. Else try the stripped web only version I pasted in the other question.

I have removed Electron dependency


Docker image updates

Hi, the images at https://hub.docker.com/_/microsoft-azure-functions-dotnet-isolated aren't updated nightly with Linux patches like the standard .NET ones at https://hub.docker.com/_/microsoft-dotnet-aspnet are, and Azure Security Center is complaining our function app image has vulnerabilities - what's the plan for this long term, should we expect these to be updated more regularly, or should we base our image on the standard .NET ones and build the functions worker on top of that?

@ahmelsayed have you seen similar requests for our images before? What's the approach? Do we have any plans for something like this?

We build and release new functions images every N weeks as part of regular deployment cadence. At that time latest sources would be pulled along with any security fixes available as part of the latest versions. For critical high impact issues impacting Functions scenarios we can do out of band deployments.
We don't have any additional mechanism to incorporate updates to upstream sources more frequently than that.
This is case with other AppService images as well.

@brazierdavid does the answer help? Might not be ideal, but I hope at least the guidance/information is helpful.

@brazierdavid does the answer help? Might not be ideal, but I hope at least the guidance/information is helpful.

Yes it's useful info thanks.


[Bug] [e2e] org.testcontainers.containers.ContainerLaunchException: Timed out waiting for log output matching '.Starting the resource manager.'

Search before asking

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

What happened

Recently, while working on e2e development, I found that executing e2e tasks kept reporting the above exception.

The other problem is that he gets stuck here, and I don't know what causes it.
SeaTunnel Version
2.3.0
SeaTunnel Config
null

Running Command
null

Error Exception
null

Flink or Spark Version
No response
Java or Scala Version
No response
Screenshots
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

How do you fix this errors?

Sorry to bother you, but how do you solve the problem?  @Grypse @MonsterChenzhuo


Archive file selector

Enhancement
Use a file selector to show the context action only on archive files.
The filename is stored as title attribute in the file browser. Using CSS selector with attribute filtering maybe a solution:
https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors

I tried const selectorOnlyArchive = '.jp-DirListing-item[title$=".zip"], .jp-DirListing-item[title$=".tgz"]'; but it does not work.
A possibly related issue: https://github.com/phosphorjs/phosphor/issues/354

Before we find a more elegant solution, the following does the job:
// Add a command for each archive extensions
    // TODO: use only one command and accept multiple extensions.
    const allowedArchiveExtensions = [".zip", ".tar.gz"]

    allowedArchiveExtensions.forEach(extension => {
      const selector = '.jp-DirListing-item[title$="' + extension + '"]';
      app.contextMenu.addItem({
        command: CommandIDs.extract_archive,
        selector: selector,
        rank: 10
      });
    });

Closed by 7535f1289e37032d60ab61e3f3b05ed07dc610f5


Method names should be PascalCase

The method names getLength and getWidth should be GetLength and GetWidth to follow standard C# styles

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

ID: ae0353c5-ba87-4095-b638-1f462bcbb627
Version Independent ID: ecd0839f-58a7-19ca-eeff-ace97a6112ed
Content: How to explicitly implement interface members - C# Programming Guide
Content Source: docs/csharp/programming-guide/interfaces/how-to-explicitly-implement-interface-members.md
Product: dotnet-csharp
Technology: csharp-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for spotting this @bradleypatton
I've added it to our backlog to update when we next update this article. I've also added the "up ofr grabs" label if anyone wants to submit a PR before we make this change.


doc: Added architecture diagrams for system overview and backend

This PR is related to the issue #257
This PR includes:

Added docs folder at root level as a place to store detailled project documentation
Added high-level system architecture diagram to visualize the interaction between frontend and server/backend
Added more detailled diagram to visualize the backend structure

Both diagrams are written with PlantUML (.puml), I also included .png and .svg for quick access.
This serves as an entry point for new contributors to get an overview how the project is structured and also for current contributors as a base for discussions regarding architectural improvements.

This LGTM! We can always iterate as questions arise

Additional information: The backend_architecture.puml was mainly autogenerated by py2puml (https://github.com/lucsorel/py2puml) with additional manual modifications.
On the long run it would be great to have this fully autogenerated inside a CI Pipeline to keep it up-to-date more easily.


Happy new year 2016

LGTM. :+1:

Superceded with #34, which makes additional changes impacting copyright statements.


How to set English Language in app????

I don't understand the language of the application. If the app has English support kindly tell me how to enable it.

你需要去文件里面翻译修改，然后编译出来


Error validating transaction: Rejected script for input 1 referencing

Hello,
Apparently it is ok generating the transaction, but trying to push with the bitcoin testnet, i get:
Error validating transaction: Rejected script for input 1 referencing
What's wrong? Thanks in advance.
foreach ($unspentOutputs as $unspentOutput) {
	...

	$hash = $unspentOutput->tx_hash_big_endian;
	$idx = $unspentOutput->tx_output_n;
	$value = $this->toSatoshi($unspentOutput->value);

	array_push($inputs, [
		'hash' => $hash,
		'idx' => $idx,
		'value' => $value,
		'script_hex' => $unspentOutput->script_hex
	]);

	...
}

$addressCreator = new AddressCreator();
$transactionBuilder = TransactionFactory::build();
$privKeyFactory = new PrivateKeyFactory();

$bitcoin = new BaseBitcoin();
$bitcoin->setNetwork(NetworkFactory::bitcoinTestnet());

$privateKey = $privKeyFactory->fromWif($sourceAddressKey, $bitcoin->getNetwork());
$txOuts = [];

// Adding inputs
foreach ($txInputs as $txInput) {
	$transactionBuilder->input($txInput['hash'], $txInput['idx']);
}

// Adding outputs for sign
array_push($txOuts, new TransactionOutput(
	$spendAmount,
	ScriptFactory::scriptPubKey()->payToPubKeyHash($privateKey->getPubKeyHash())
));

// Adding amount and destination address
$transactionBuilder->payToAddress(
	$spendAmount,
	$addressCreator->fromString($destAddreess)
);

// If there is change
if ($changeAmount > 0) {
	// Adding outputs for sign
	array_push($txOuts, new TransactionOutput(
		$changeAmount,
		ScriptFactory::scriptPubKey()->payToPubKeyHash($privateKey->getPubKeyHash())
	));

	// Adding own address for get changes
	$transactionBuilder->payToAddress(
		$changeAmount,
		$addressCreator->fromString($sourceAddress)
	);
}

$transaction = $transactionBuilder->get();
$signer = new Signer($transaction);
$signed = null;

// Signing inputs
foreach ($txOuts as $index => $txOut) {
	$input = $signer->input($index, $txOut);
	$input->sign($privateKey);
}

$signed = $signer->get();
print_r($signed->getHex());

die();

I've never seen that software before, was it some API you used?
foreach ($unspentOutputs as $unspentOutput) {
	...

	$hash = $unspentOutput->tx_hash_big_endian;
	$idx = $unspentOutput->tx_output_n;
	$value = $this->toSatoshi($unspentOutput->value);

	array_push($inputs, [
		'hash' => $hash,
		'idx' => $idx,
		'value' => $value,
		'script_hex' => $unspentOutput->script_hex
	]);

	...
}

$addressCreator = new AddressCreator();
$transactionBuilder = TransactionFactory::build();
$privKeyFactory = new PrivateKeyFactory();

$bitcoin = new BaseBitcoin();
$bitcoin->setNetwork(NetworkFactory::bitcoinTestnet());

$privateKey = $privKeyFactory->fromWif($sourceAddressKey, $bitcoin->getNetwork());
$txOuts = [];

// Adding inputs
foreach ($txInputs as $txInput) {
	$transactionBuilder->input($txInput['hash'], $txInput['idx']);
}

// Adding outputs for sign
array_push($txOuts, new TransactionOutput(
	$spendAmount,
	ScriptFactory::scriptPubKey()->payToPubKeyHash($privateKey->getPubKeyHash())
));

This last part looks wrong. You should build up $txOuts array in the loop foreach ($txInputs...:
array_push($spentTxOuts new TransactionOutput($txInput['value'], ScriptFactory::fromHex($txInput['script_hex']));

// Adding amount and destination address
$transactionBuilder->payToAddress(
	$spendAmount,
	$addressCreator->fromString($destAddreess)
);

// If there is change
if ($changeAmount > 0) {
	// Adding outputs for sign
	array_push($txOuts, new TransactionOutput(
		$changeAmount,
		ScriptFactory::scriptPubKey()->payToPubKeyHash($privateKey->getPubKeyHash())
	));

	// Adding own address for get changes
	$transactionBuilder->payToAddress(
		$changeAmount,
		$addressCreator->fromString($sourceAddress)
	);
}

$transaction = $transactionBuilder->get();
$signer = new Signer($transaction);
$signed = null;

// Signing inputs
foreach ($txOuts as $index => $txOut) {
	$input = $signer->input($index, $txOut);
	$input->sign($privateKey);
}

Ok, here's why it's going wrong.
$txOuts are the outputs your transaction creates. So you can't possibly be signing the outputs you received with them. Does this make sense?
]
$signed = $signer->get();
print_r($signed->getHex());

die();

It looks like you're doing payToAddress, so there isn't a reason why you need to build up $txOuts like you are. But since you're signing a tx, you definitely $spentTxOuts

Thank you for the quick response!

I've never seen that software before, was it some API you used?

I'm using BlockCypher API.
So i need to add all my inputs as outputs, it's right?
The result is:
$spentTxOuts = [];

// Adding inputs
foreach ($txInputs as $txInput) {
	$transactionBuilder->input($txInput['hash'], $txInput['idx']);

	array_push($spentTxOuts, new TransactionOutput(
		$txInput['value'],
		ScriptFactory::fromHex($txInput['script_hex'])
	));
}

// Is necessary this line????????????????????????
array_push($txOuts, new TransactionOutput(
	$spendAmount,
	ScriptFactory::scriptPubKey()->payToPubKeyHash($privateKey->getPubKeyHash())
));

// Adding destination address
$transactionBuilder->payToAddress(
	$spendAmount,
	$addressCreator->fromString($destAddreess)
);

// If there are changes
if ($changeAmount > 0) {

	// Is necessary this line????????????????????????
	array_push($txOuts, new TransactionOutput(
		$changeAmount,
		ScriptFactory::scriptPubKey()->payToPubKeyHash($privateKey->getPubKeyHash())
	));

	// Añadimos la dirección de vuelta del cambio
	$transactionBuilder->payToAddress(
		$changeAmount,
		$addressCreator->fromString($sourceAddress)
	);
}

// Signing inputs
foreach ($transaction->getInputs() as $key => $input) {
	$signer->sign($key, $privateKey, $spentTxOuts[$key]);
}

$transaction = $transactionBuilder->get();
$signer = new Signer($transaction);
$signed = null;

$signed = $signer->get();
print_r($signed->getHex());

die();

:+1:  exactly - those two lines are not necessary, because payToAddress makes the necessary changes to the transaction.

👍 exactly - those two lines are not necessary in your case

Thank you very much @afk11.  2 days looking how solve it.
Can you explain me please in what case i need those two lines?

It depends on what you are doing. TransactionBuilder has an array of $txOuts inside, which payToAddress appends to. TxBuilder::outputs can add an array of txouts to append.

Thank you. No more doubt!


Update Composer dependencies (2021-08-16-00-04)

Visual regression test passed!
View the visual regression test report


Improve Cached Tenant Settings cmdlet support

These are my comments on Run-Cached:

I tested it and no errors. It only works if there is a ProviderSettingsExport.json in the current directory. See my last bullet.
Rename it to make it unique just like we did for Disconnect-Tenant. FYI - Cassey is referencing Run-Cached in her regression test script. (This may be OBE as regression test script likely replaced by new testing framework.)
When I execute Run-Cached without any parameters, it simply acts like Run-Scuba. I think we should change the default behavior to distinguish it. Perhaps by default it will set the -ExportProvider $false ?
Since we are exporting Run-Cached, do we need to add any instructions to the README? Or do we simply let developers figure this script out by examining the code on their own?
I think the script should output a friendly message when there is no ProviderSettingsExport.json file in the current directory or in OutPath.

_Originally posted by @tkol2022
Should also be renamed from Invoke-RunCached to Invoke-SCuBACached

Is it worth some way of indicating the output was by Invoke-RunCached instead of Invoke-Scuba?
Looking at the items listed, I recommend the following:

Rename it to make it unique just like we did for Disconnect-Tenant. FYI - Cassey is referencing Run-Cached in her regression test script. (This may be OBE as regression test script likely replaced by new testing framework.) I agree rename Invoke-RunCached to Invoke-ScubaRunCached is value added..
When I execute Run-Cached without any parameters, it simply acts like Run-Scuba. I think we should change the default behavior to distinguish it. Perhaps by default it will set the -ExportProvider $false ? Good idea.  In the functional tests we used ModifiedProviderSettings.json.
Since we are exporting Run-Cached, do we need to add any instructions to the README? Or do we simply let developers figure this script out by examining the code on their own?  I would not expect the average user to use this function.  So I'd recommend we document in a deve;oper/contributor area instead of main user documentation.  A nefarious user could use to fudge results to report. Otherwise, I would have suggested we just add another (already to many) switch to Invoke-Scuba for calling Invoke-RunCached and not export it.
I think the script should output a friendly message when there is no ProviderSettingsExport.json file in the current directory or in OutPath.  Agree

I'm removing myself from this for now because it is crowding my to-do list and this is very low priority compared to the plethora of other items we have in our buckets.


Register the experimental kernel target as a fully separate target.

[X] Have you provided a meaningful PR description?

The experimental target is now fully separated from the DpexKernelTarget with a different string identifier and device class.

A clone of the DpexKernelTarget's datamodel manager is added that will store all experimental types' data models till they are ready to move into core.

[ ] Have you added a test, reproducer or referred to an issue with a reproducer?

[ ] Have you tested your changes locally for CPU and GPU devices?

[ ] Have you made sure that new changes do not introduce compiler warnings?

[ ] If this PR is a work in progress, are you filing the PR as a draft?

@adarshyoga @ZzEeKkAa I have made most of the changes as far as I can tell to isolate out to the experimental target. Pytest seems to crash after these changes.
I will start fresh tomorrow.

@adarshyoga @ZzEeKkAa I have made most of the changes as far as I can tell to isolate out to the experimental target. Pytest seems to crash after these changes.
I will start fresh tomorrow.

I messed up ufunc_db somehow. Here is a reproducer. I will fix tomorrow.

import dpctl
import dpnp

import numba_dpex.experimental as nd_exp
from numba_dpex import Range

@nd_exp.kernel
def test_atomic_ref(a, b):
    a[0] = b[0] + b[0]

q = dpctl.SyclQueue()
a = dpnp.ones(10, sycl_queue=q, dtype=dpnp.int64)
b = dpnp.array(0, sycl_queue=q, dtype=dpnp.int64)

nd_exp.call_kernel(test_atomic_ref, Range(10), a, b)
print(b)
print(a)

@adarshyoga @ZzEeKkAa I have made most of the changes as far as I can tell to isolate out to the experimental target. Pytest seems to crash after these changes.
I will start fresh tomorrow.

I messed up ufunc_db somehow. Here is a reproducer. I will fix tomorrow.
import dpctl
import dpnp

import numba_dpex.experimental as nd_exp
from numba_dpex import Range

@nd_exp.kernel
def test_atomic_ref(a, b):
    a[0] = b[0] + b[0]

q = dpctl.SyclQueue()
a = dpnp.ones(10, sycl_queue=q, dtype=dpnp.int64)
b = dpnp.array(0, sycl_queue=q, dtype=dpnp.int64)

nd_exp.call_kernel(test_atomic_ref, Range(10), a, b)
print(b)
print(a)

Fixed. The issue was I was passing the number of bytes in the _KernelModule object rather than _kernelModule.kernel_bitcode to the kernel submit call.


[http_sd_configs] multiple URL support

Proposal
Use case. Why is this important?
As the Prometheus server supports only one target URL for the http_sd_configs mechanism (see here) it'll be better to pass multiple URLs like file_sd_configs mechanism supports.
I'm going to replace all file_sd_configs mechanisms with http_sd_configs. I have an HTTP endpoint that returns the same response as in the /opt/us directory files when I request the appropriate path.
my_job with "file_sd_configs"
This is my_job with the file_sd_configs mechanism
- job_name: 'my_job'
  scrape_interval: 30s
  scrape_timeout: 30s
  metrics_path: /metrics
  file_sd_configs:
    - files:
        - /opt/us/dc-a.yml
        - /opt/us/dc-b.yml
        - /opt/us/dc-c.yml

my_job with "http_sd_configs"
Here is my expectation of how should my_job be by using the http_sd_config mechanism with multiple URL support
- job_name: 'my_job'
  scrape_interval: 30s
  scrape_timeout: 30s
  metrics_path: /metrics
    http_sd_configs:
      - url:
          - "http://my-http-endpoint:8080/us/regions/dc-a"
          - "http://my-http-endpoint:8080/us/regions/dc-b"
          - "http://my-http-endpoint:8080/us/regions/dc-c"

you can do:
- job_name: 'my_job'
  scrape_interval: 30s
  scrape_timeout: 30s
  metrics_path: /metrics
    http_sd_configs:
      - url: "http://my-http-endpoint:8080/us/regions/dc-a"
      - url: "http://my-http-endpoint:8080/us/regions/dc-b"
      - url: "http://my-http-endpoint:8080/us/regions/dc-c"


Pagination : show first and last page number when limiting numbers

Hi,
Is it possible to add an option to always have first page number and last page number ?
Like this :
[first][prev][1][...][5][6][7][...][42][next][last]

Replacing "first-text" with "1" and "last-text" with the page count makes pages number dupplication :
[1][1][2][3][...][42]

Thanks

I do not believe we want to support this feature, as this adds complication. You are more than welcome to make changes via custom templates and CSS to accomplish your purpose though.

hm... need the same functionality. @MaitreDede have you implemented it?

Thanks for the great pagination. i am appending pagenumbers to work with browser back or forward buttons, if i click 4th page from second page, after click browser back button, url and view is changing but not the active class, can anyone please help me how to set active class, when i use browser back or forward button.

Hi,
Is it possible to show last and first 3 page numbers as shown below:
[1][1][2][3][...][40[41][42]


Firefox 113 Compatibility

A few things are broken in Firefox 113, like the shield icon in the address bar and the centering of some icons, and the centering of icons within the right click menu (back, forward and bookmark).
Some of the text is also cut off by ... when its too long for the menu.

I've changed an about:config setting to make the fonts a bit thicker so its entirely possible this is just on my end, if you don't see it in your browser I'm sorry for the misdirection, and thanks for the fixes, much appreciated, didn't wanna say goodbye to this amazing theme!

A minor fix for the fix that might be helpful, there's an tab highlight issue when hovering over an unselected tab that is to the right of the current tab that can be fixed by adding this:
.tabbrowser-tab[selected]{
position: relative;
z-index: 1;
}
to "tabbar.css"
I've done it myself and confirmed it works but you might want to consider adding this to the theme


components-resources-wasmJs isn't being published

Describe the bug
components-resources-wasmJs isn't being published
Affected platforms
Select one of the platforms below:

Web (K/Wasm) - Canvas based API

Versions

Compose Multiplatform version*: versions > 1.6.0-alpha01

Additional context
https://maven.pkg.jetbrains.space/public/p/compose/dev/org/jetbrains/compose/components/components-resources-wasmJs/

Thanks! fixed on CI. The next dev build will include wasmJs.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Record Doesn't Send From Samsung Galaxy Note 20

Greetings
When activating hce with text content type on a Samsung Galaxy Note 20, the record doesn't transfer when read.
Thank you for all the amazing work, I heavily appreciate all the efforts put in the library, It's been a god-send for me so far.

Please, ensure the reader supports ISO 7816 Tag mode (NFC Type4 tag). Currently, only this type of NFC Tag is supported, due to the HCE mode limitations on Android.
I have tested this library at least with:
Host:

Samsung Galaxy S10

Readers:

iPhone XR (using NFC Tools application)
PC (using ACS reader as a hardware via PC/SC protocol).

Note: Currently I am working on next major release of this library. It will contain i.e. refactored logic of APDU exchange.

Hi @appidea,
I'm struggling with this almost a month, and I could not get it to work.
So I explain the problem at expo forum, could you help me? expo forum
I noticed that I get the 90 00 response, but my custom message "Hello world" never arrive. I can read the "Hello world" content with my iPhone with NXP tag info, but I do not relly know what's the problem.


Impossible to sign a PIS Connect request.

Hi,
I'm struggling to use the sdk with node 14.15.1.
My private key is stored in a pem file, I read it with fs.read and then pass it along with the appId, and the secret to the client
I manage to get the access tokens, but when it comes to requesting the PIS Connect, I have an error 400
I wrote a little test project here : see a test project here : https://github.com/fburel/fintecture_test
What am I doing wrong?
Thanks.
it("should return an url in PIS Connect",function (done) {

        let fClient = null;

        const absolutePath = path.resolve(PRIVATE_KEY);

        fs.readFile(absolutePath, {encoding: "utf-8"})

            .then(key => {
                return new FintectureClient({
                    app_id: APP_ID
                    ,app_secret: SECRET
                    ,private_key: key
                    ,env: ENV
                });
            })

            .then(async client => {

                fClient = client;

                return client.getAccessToken();

            })

            .then(tokens => {
                let connectConfig = {
                    amount: 125,
                    currency: 'EUR',
                    communication: 'Thanks mom!',
                    customer_full_name: 'Bob Smith',
                    customer_email<EMAIL_ADDRESS>                    customer_ip: '<IP_ADDRESS>',
                    state: 'somestate'
                };

                return fClient.getPisConnect(tokens.access_token, connectConfig);
            })

            .then(tokens => {
                assert.notEqual(tokens.url, undefined);
                done();
            })

            .catch(done)

    });

Hello @fburel! So sorry for this long delay :/
Have you managed to resolve your issue?

Closing the issue for now. Don't hesitate to reopen if needed.


Cannot assign requested address

I have the changes the nodeos host and it saying that cannot assign requested address. what to do.

You can run only one nodeos per IP/port pair on the same machine.  If a node is already running, you must either use a different port for the second node, or shut down the other node.
If you still have the problem and wish to discuss it further, please post it in https://eosio.stackexchange.com. To keep things organized, Github issues are intended for bug reporting and feature tracking, and Stack Exchange is the right place for any technical support discussions. Thanks!


Rename flexvolumedriver.sh to avoid make error

@wattli: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
50e59b2ecc306645d5854f90a1627547690495d0
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
50e59b2ecc306645d5854f90a1627547690495d0
link
/test istio-unit-tests

prow/istio-presubmit.sh
50e59b2ecc306645d5854f90a1627547690495d0
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

was that it ? did the name change fix it ?
/lgtm

you need to "make pull" to get the latest for circle builds to pass again
ps: why the base image change ?

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
50e59b2ecc306645d5854f90a1627547690495d0
link
/test istio-presubmit

prow/istio-unit-tests.sh
9c595c23dd55986fb97d150e65ba5006042531e3
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
50e59b2ecc306645d5854f90a1627547690495d0
link
/test istio-presubmit

prow/istio-unit-tests.sh
c5293a9f2d9d9032801329be6029fd603407b05b
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
c5293a9f2d9d9032801329be6029fd603407b05b
link
/test istio-unit-tests

prow/istio-presubmit.sh
c5293a9f2d9d9032801329be6029fd603407b05b
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
c5293a9f2d9d9032801329be6029fd603407b05b
link
/test istio-presubmit

prow/istio-unit-tests.sh
c5a7b4f54b9675b0d9f3785f27fb63fca51957ac
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
c5a7b4f54b9675b0d9f3785f27fb63fca51957ac
link
/test istio-unit-tests

prow/istio-presubmit.sh
c5a7b4f54b9675b0d9f3785f27fb63fca51957ac
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
c5a7b4f54b9675b0d9f3785f27fb63fca51957ac
link
/test istio-presubmit

prow/istio-unit-tests.sh
f6f87beb277080e98a83cdd60f5376d0777a4240
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
f6f87beb277080e98a83cdd60f5376d0777a4240
link
/test istio-unit-tests

prow/istio-presubmit.sh
f6f87beb277080e98a83cdd60f5376d0777a4240
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

the only thing the script seems to be doing is copy the file around ? why do we need that inside a docker image?

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
f6f87beb277080e98a83cdd60f5376d0777a4240
link
/test istio-presubmit

prow/istio-unit-tests.sh
cb24d38fe09f7bcb19e9fa0ade9637d0df113138
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
cb24d38fe09f7bcb19e9fa0ade9637d0df113138
link
/test istio-unit-tests

prow/istio-presubmit.sh
cb24d38fe09f7bcb19e9fa0ade9637d0df113138
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
cb24d38fe09f7bcb19e9fa0ade9637d0df113138
link
/test istio-presubmit

prow/istio-unit-tests.sh
3951d904fce11916f7f991f73b4b88262aa9eb40
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
cb24d38fe09f7bcb19e9fa0ade9637d0df113138
link
/test istio-presubmit

prow/istio-unit-tests.sh
76468271cf68c5ef80e350d9c34f17f63cfe9a65
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
76468271cf68c5ef80e350d9c34f17f63cfe9a65
link
/test istio-presubmit

prow/istio-unit-tests.sh
868ddbf8cdc8cad7376a2c71d0df995a7413bcd3
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@wattli: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
868ddbf8cdc8cad7376a2c71d0df995a7413bcd3
link
/test istio-unit-tests

prow/istio-presubmit.sh
868ddbf8cdc8cad7376a2c71d0df995a7413bcd3
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


TCP Transport: Transaction ID overflow

Managed to overflow the transaction id counter in lib/transport/tcp.js. I'm not 100% familiar with the raw protocol, but would it be safe for node-modbus-stream to be resetting the transaction ID instead of overflowing? If not, I guess I could catch this and rebuild the connection.
My exception:
TypeError: "value" argument is out of bounds
    at checkInt (buffer.js:1041:11)
    at Buffer.writeUInt16BE (buffer.js:1110:5)
    at Transport.wrap (/home/logger/server/node_modules/modbus-stream/lib/transport/tcp.js:38:8)
    at Transport.BaseTransport.send (/home/logger/server/node_modules/modbus-stream/lib/transport/transport.js:72:23)
    at Stream.readInputRegisters (/home/logger/server/node_modules/modbus-stream/lib/stream.js:103:17)
    at voltageAndRanges (/home/logger/server/lib/plc.js:104:49)
    at /home/logger/server/node_modules/async/dist/async.js:3853:24
    at replenish (/home/logger/server/node_modules/async/dist/async.js:946:17)
    at /home/logger/server/node_modules/async/dist/async.js:950:9
    at eachOfLimit (/home/logger/server/node_modules/async/dist/async.js:975:24)
    at /home/logger/server/node_modules/async/dist/async.js:980:16
    at eachOf (/home/logger/server/node_modules/async/dist/async.js:1051:5)

I think it's better to reset it. I have to look at it. Can you provide me with the node version you're using? I usually test with 0.10 to ensure it works on arm devices.

Using v6.11.1 on a raspberry pi. (armv7)
Joel

On Jul 21, 2017, at 03:23, Diogo Resende<EMAIL_ADDRESS>wrote:
Closed #7 via 5ef6d2a.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I already tried on v0.10.29 on a linux from scratch with armel (v5). Slow as hell.


add docs for layer collection api

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:
add docs for layer collection api

 API-Docs erzeugen

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

30 of 67 (44.78%)  changed or added relevant lines in 6 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.06%) to 84.604%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

services/src/datasets/external/netcdfcf/mod.rs
3
4
75.0%

services/src/layers/layer.rs
2
7
28.57%

services/src/handlers/layers.rs
0
7
0.0%

services/src/api/model/datatypes.rs
16
40
40.0%

Files with Coverage Reduction
New Missed Lines
%

services/src/handlers/layers.rs
3
0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.06%

Covered Lines:
38297

Relevant Lines:
45266

💛  - Coveralls

bors merge


Replace is-terminal with IsTerminal trait in std

See this commit for details.

Done in the commit 93a03a2.


Is it possible to get or set variable between JS and Granular?

Thank you for an amazing project. I want to control XAML page from WebBrowser.
General functions JavaScript

SetVariable("Button1.Text", "MyButton"){.....}
GetVariable("Button1.Text"){  return ....  }

Is it possible ?

Thanks, it should be possible
You can use Saltarelle's "InlineCode" attribute to call JavaScript from C# (see an example here)
For the other direction you'll have to write an example of your C# calls and to investigate the way Saltarelle translates it into JavaScript


Increase Azure CLI version

Closes #1863
Increase Azure CLI version to fix issue with Azure CLI and firewall extension.

/test-extended

/test-force-approve


Remove finality from getRedirectAction()

public final RedirectAction getRedirectAction...

Remove the word final. This will only lead to ugly hacks to get around the finality of this method. Let the developers decide for their own what things they may wish to extend, etc.

Yep, it might be a bit too much here, even if I doubt that users will ever customise this method.


feat/conditional-ui

This PR adds support for upcoming browsers' conditional UI capability to @simplewebauthn/browser's startAuthentication().
To use it, pass in true for the new second useBrowserAutofill positional argument to startAuthentication(), then specify Promise resolution (or rejection) logic to handle the user possibly, eventually choosing a WebAuthn credential via the browser's autofill mechanism:
<head>
  <!-- ... -->
  <script>
    const { startAuthentication } = SimpleWebAuthnBrowser;

    fetch('/generate-authentication-options')
      .then((options) => {
        startAuthentication(options, true)
          .then(authResp => sendToServerForVerificationAndLogin)
          .catch(err => handleError);
      });
  </script>
</head>

Guidance from platform vendors indicates that it is important to initialize WebAuthn's Conditional UI experience as soon as possible. Placing this logic in <head> should give browsers enough time to query authenticators for any discoverable credentials to display to the user. It may also work to delay painting UI For N milliseconds to achieve the same thing in something like a single-page app that would trigger this experience some time after page load. It's still early days for this capability so ymmv.
A new asynchronous browserSupportsWebAuthnAutofill() helper is also being added in this PR. This method can be used independently of the call that's made in startAuthentication() when initializing browser autofill support.
Existing authentication UI and logic should not need to be refactored. This new "pending" WebAuthn request will be automatically cancelled on a subsequent execution of startAuthentication() in, say, an existing click handler that triggers the browser's typical "modal" WebAuthn experience.
Conditional UI is still a nascent capability, but this method should be pretty reliable since the API is largely settled. This new logic has been successfully tested in both Chrome Canary[1][2] and Safari in the macOS Ventura beta.
Screenshots
Chrome Canary:

Safari in the macOS Ventura beta:

Addresses #209.

[1] The following flag must be specified when launching Chrome Canary to enable Conditional UI:
open -a /Applications/Google\ Chrome\ Canary.app --args --enable-features=WebAuthenticationConditionalUI

[2] I've been informed there's a race condition deep within Chrome Canary that sometimes prevents the autofill from populating with WebAuthn credentials. If they aren't showing up just keep refreshing and eventually they'll appear. This is a temporary issue and will definitely be resolved before Chrome's Conditional UI support lands in Chrome Stable.

@P4sca1 good question, let's take this into a Discussion: https://github.com/MasterKale/SimpleWebAuthn/discussions/225


Direct the content of log files to stdout of pods in kubernetes deployment

What do these changes do?

Related issue number

Fixes #2357

Codecov Report

Merging #2871 (0d95307) into main (434acdf) will increase coverage by 23.71%.
The diff coverage is 100.00%.

Additional details and impacted files

@@             Coverage Diff             @@
##             main    #2871       +/-   ##
===========================================
+ Coverage   42.44%   66.16%   +23.71%
===========================================
  Files          99       99
  Lines       10654    10657        +3
===========================================
+ Hits         4522     7051     +2529
+ Misses       6132     3606     -2526

Impacted Files
Coverage Δ

python/graphscope/client/session.py
66.93% <100.00%> (+0.32%)
:arrow_up:

python/graphscope/framework/app.py
90.41% <100.00%> (+20.54%)
:arrow_up:

python/graphscope/framework/context.py
66.38% <100.00%> (+21.75%)
:arrow_up:

python/graphscope/framework/graph.py
83.92% <100.00%> (+14.20%)
:arrow_up:

... and 56 files with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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


Custom modification to "Key" element not accepting "click" event handler

I'm trying to add an optional badge to each of the keys. When present, if clicked, I want an event handler to trigger.
In order to do this, I'm using the onRender callback of the Keyboard element.
<Keyboard onRender={() => updateKeyboardConfigs()} {...otherOpts} />

I then have a callback that will observe the dom, append the badge, and set the badges "click" event.
const updateKeyboardConfigs = () => {
  const countsPerKey = Object.values(
    keyConfigs.reduce((acc, { key }) => {
        if (!acc[key]) {
            acc[key] = { key, count: 0 };
        }
        acc[key].count += 1;
        return acc;
    }, {})
  );
  console.log('countsPerKey', countsPerKey);

  const allKeys = keyboardRef.current.querySelectorAll(".hg-button");
  for (const key of allKeys) {
    const badge = key.querySelector(".badge");

    const k = key.getAttribute("data-skbtn");

    const [ keyCount ] = countsPerKey.filter(kc => kc.key === k);

    if (keyCount === undefined) {
      if (badge) {
        badge.remove();
      }
      key.style.position = 'initial';
      key.classList.remove('keyAssigned');
      continue;
    }

    key.style.position = 'relative';
    key.classList.add('keyAssigned');

    const count = keyCount.count;
    if (count > 0) {
      if (!badge) {
        // Add a badge to the key
        const badge = document.createElement("div");
        badge.classList.add("badge");
        badge.innerText = count;
        key.appendChild(badge);
        badge.addEventListener("click", function() {
          console.log("clicked");
        });
      } else {
        badge.innerText = count;
      }
    }
  };
};

The problem is that, for some unknown reason, the click event for the badge never fires.
I've triple checked that I have pointer-events: auto; on the badge, so I'm not sure what's going on.
I've also checked in the inspector to ensure that the badge actually has the event handler applied, and it does.

Ah, it appears that this is due to the "key" element using the pointerdown event, not the click event.


manifest file for prod

new manifest file for prod

Codecov Report

Merging #142 (96ac1b7) into main (7098291) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #142   +/-   ##
=======================================
  Coverage   95.18%   95.18%
=======================================
  Files           5        5
  Lines         436      436
=======================================
  Hits          415      415
  Misses         21       21

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 7098291...96ac1b7. Read the comment docs.


save "Click here to view code image" links in some way

Some books have this links to images with "code", for example here
https://www.safaribooksonline.com/library/view/Scala+for+the+Impatient,+Second+Edition/9780134540627/ch17.html#ch17lev1sec4
could you save them too in some way?

Should be do able, just follow that link to save the code page.


Movement is sloppy

I don't knot if it's the terrain, the parameters or what, but I can't seem to move as good as in the original game, either I slide off (even while moving slowly), or don't have the speed that I should have. I saw another thread saying that they kept adjusting the parameters with no success, anyone got any info on this?

Yes, you need to set speed to 9.18

How do I change the speed?


Blog post proposal: What you need to know before writing your first Aurelia application

Weston created a very nice catalog of various blogs that describe "pieces of technolgy" Aurelia framework is based on: ES6/ES7, JSPM, Web Components, Gulp etc.
This article should be of great help any new Aurelians.

Weston, I "volunteered" you for this task as you are obviously best candidate for this task - and this blog is very important for all newcomers to Aurelia.
My proposal is that you slightly modify your original post so it completely fits the title What you need to know before writing your first Aurelia application and keep the original (also added to Aurelia-Guides web site) in the form of Aurelia Compendium (a collection of concise but detailed information about a particular subject, especially in a book or other publication)


[release-1.11] Harden validation of untrusted inputs (#90)

Feb 22 security patches

@jacob-delgado: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio_release-1.11
5e931b3496c450d1e9662cf0f174effadb7c3730
link
true
/test release-notes_istio_release-1.11

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Implemented TFileUpdate.bulk_write

This PR implements a bulk_write for TFileUpdate, which is useful for writing O(10^5) objects (i.e. histograms).
In such cases it avoids the performance degradation of the __setitem__ way of writing, by delaying the update/write of the TDirectory entry until after all the TKeys have been added. In particular, this reduces accesses of TKey.fKeylen from O(n^2) to O(n).
Some details regarding this Implementation:

currently prevents overwriting entries (existing name+cycle combinations) - but this might actually work fine
always writes a new TDirectory (after all the objects), even if the current allocation is big enough (which is unlikely in the intended usage scenario)
TTree writing was/is not tested

If/When the writing implementation supports delayed TDirectory updates this should not be needed anymore.

This isn't updating the file—it's replacing it, right? And it's not making a subdirectory—it's filling the root directory, right? When I last left off, Uproot couldn't write nested directories.
I might be tempted to call this update in analogy with the MutableMapping method that sets a lot of items all at once. But update adds new key-value pairs without removing old ones that aren't in the Mapping that is being overlaid on it. Does this do that? If it has or can be made to have the same semantics as update, naming it that would make it a more discoverable feature.
I'm in favor of this change and will be merging it. It's also useful to learn that the mechanics involved in assignment are such a bottleneck that they need to be circumvented—maybe something can be done about that when I port then too Uproot 4.
Let me know when you're absolutely done so that I don't merge it before you're ready!

This isn't updating the file—it's replacing it, right?

No, it is updating the file.

And it's not making a subdirectory—it's filling the root directory, right?

Yes, it is filling the root directory.

When I last left off, Uproot couldn't write nested directories.

Yes, this is this is still the case.

I might be tempted to call this update in analogy with the MutableMapping method that sets a lot of items all at once. But update adds new key-value pairs without removing old ones that aren't in the Mapping that is being overlaid on it. Does this do that? If it has or can be made to have the same semantics as update, naming it that would make it a more discoverable feature.

That is a very good idea, I've now changed it accordingly. I've also removed the limitation regarding overwriting existing keys (name;cycle) to make it equivalent to dict.update.

Let me know when you're absolutely done so that I don't merge it before you're ready!

I have no further changes planned.

Okay, then I'll take it as is!
By "replacing, not updating," I mean that we can't add objects (e.g. histograms) to a file created by ROOT. Here, I think you mean that it updates a writable file that Uproot has opened, but Uproot replaces the file when it's opened. Accepting a TFree in any state ROOT puts it in is not a problem that we solved, and it would require extraordinary proof: we'd have to create a file in ROOT, add histograms to it, and then add more histograms to the same file in ROOT, maybe with yet another round-trip after that to show that the updates to TFree that ROOT and Uproot make are truly compatible.


Migrate to talc memory allocator

Closes https://github.com/hermitcore/libhermit-rs/issues/630.
https://github.com/hermitcore/libhermit-rs/pull/803 has even further enhancements, but this might be a first step.

Should we not remove the bump allocator?

Yes. I was interested in the AArch64 run failure and figured a fix and simple migration might be good for comparison.
So I'll merge this as a first step. :)
Removing the bump allocator might make sense, but measuring that on its own would be interesting.


feat: support dotenv-safe's allow-empty-values

https://www.npmjs.com/package/dotenv-safe#allowemptyvalues

ugh need to build it before merging and git is not cooperating


Text composables: Android Basics with Compose

Tutorial URL
https://developer.android.com/codelabs/basic-android-kotlin-compose-text-composables
In which task and step of the codelab can this issue be found?
Task 9 step 2
Describe the problem
Tutorial omits instructions to import:

androidx.compose.foundation.layout.padding,
androidx.compose.ui.Alignment,
androidx.compose.ui.text.style.TextAlign; and
androidx.compose.ui.unit.dp

which causes Unresolved Reference errors. I figured out the correct imports from the following task "Get the solution code." I'm not sure whether Google expects students to guess where these imports are hiding. It's kinda mean, though, as some imports aren't obvious.

Hi @bordenc
Thank you for writing in with your issue.
The missing import statements should have been autoimported by Android Studio as needed.
I would suggest that you check that you have your Android Studio configured for autoimports.
Hope you are enjoying the course!
Regards.


Issue with checkbox on change in listview

I have a listview with items that contains a checkbox and if I set onClickListener on checkbox, it is fine but the onClick event is not trigered; If I set onCheckboxChanged listener (the method that is overriten by this library) and I click some checkboxes from the first part of the list and then I scrolled down, there are also checkboxes already checked, also some values are missed when I am scrolling.
I know that is a problem with onCheckboxChanged() in listview, but for a normal checkbox I was able to use onClickListener and all was fine, but for this library I can't use onClickListener.
How can I solve this problem?

Facing the same issue with onClickListener not getting fired in checkbox. Any luck with the resolution ?

No. How works for you onCheckboxChange, because for me has a strange behavior?


Version 0.2.x anomaly compared to version 0.1.6

This is my first post so excuse me if I'm not as sharp as you guys. Great work everyone! Cheers!
I wish to use NumSharp in my cAlgo projects and version 0.1.6 works just fine but neither one of the versions that came after (0.2.x). I cannot pinpoint the cause since I'm working with a cAlgo software/api project (comes with limitations).
Nothing withing NumSharp seems to work - code just stops when calling NumSharp. Tried everything - doesn't matter, it doesn't go trough the line of code.
Tried Numpy.Net as well but can't seem to have it work at all (no version).
Can someone shed some light on this matter? What changed so drastically in v0.2? Am I missing something?
Here is a default project that should generate a simple np.arange(20) and print it out on the top of the chart:
using System;
using cAlgo.API;
using cAlgo.API.Internals;
using cAlgo.API.Indicators;
using cAlgo.Indicators;
using NumSharp;

namespace cAlgo
{
    [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class T_0_1_NDSeries : Indicator
    {
        [Parameter(DefaultValue = 0.0)]
        public double Parameter { get; set; }

        [Output("Main")]
        public IndicatorDataSeries Result { get; set; }
        public NDArray nd;

        protected override void Initialize()
        {
            Chart.DrawStaticText("nd1", "_", VerticalAlignment.Top, HorizontalAlignment.Center, "3F3F3F");
            nd = np.arange(20); // code stops here
            Chart.DrawStaticText("nd2", "nd: " + nd.size.ToString(), VerticalAlignment.Top, HorizontalAlignment.Center, "3F3F3F");
        }

        public override void Calculate(int index)
        {
            // Calculate value at specified index
            // Result[index] = ...
        }
    }
}

It does not make sense, it seems that VS swallows the exception if there is any thrown at all.
While in Visual Studio press Ctrl+Alt+E and select the following:

Rerun and see if exception is thrown.
Also please copy the output contents to pastebin.net and post a link here.

I did and nothing changed. Build is always successful no exceptions thrown (not even if i manually add a try/catch) - "nd" never generates anything. Code stops there and the second chart-print never happens.
Since debug is limited or almost impossible with this software, the output doesn't help. Mainly i chose not to send a pastebin cause weather I take out completely NumSharp or leave it as is - the output is the same. (VS not being able to fully run debug on the software as i'm missing external/proprietary references - has nothing to do with NumSharp)
x64 didn't help (unfortunately)

I'll contact Spotware as well on all this and get back to you. I would love to use NumSharp in these projects - it's a game changer.
Thank you @Nucs !

I don't think it has to do with our library, np.arange is very basic, doesnt have any funky unmananged code.
Perhaps you have heap corruption elsewhere. Im willing to help you find it if you can share your project so I can reproduce locally.
If it is heap corruption, the output window might shed light but not necessarily.

Yes - arange seemed just fit to test an ndarray generate.
I reached out here with an issue because while v0.20.1 doesn't seem to work, v0.10.6 oddly works just fine and so I thought some major change happened at a core level. Then again i tried Numpy.Net same way and none of the version work there at all. Same odd hickup for such an easy generate.
As a full context - cTrader/cAlgo is a Spotware  .Net 4.5(at the moment) windows desktop application which allows c# robots/indicators to be run within the software, live with the cAlgo interface (in this case Indicator) connected to the broker. These "Indicators" can be written within the software, Visual Studio or both.
Mainly open to anything .Net related as long as data ends up back in the two main-internal methods: Initialize() & Calculate() so it can be plotted live on the software chart.
What I have is a default indicator template code - empty trying to generate an ndarray and printing out its size in this case - this is just so we see it run and go trough (but it never reaches that line of code). I've set the latest .NET framework(4.7.2) and prompted, added netstandard as well (without these it wouldn't have built)
Sharing the project wouldn't be a problem since it's a small one. I'll set up a repository with everything - both v0.10.6 and v0.20.1 were added since I find this being the only clue at this point. Testing both separately might reveal something.
Appreciate it!

I'll wait for the repositories, there is not point in testing NumSharp for these two different versions, they are completely different libraries, over 90% was rewritten.

Makes sense then.
I originally added both and with everything you need to replicate the scenario, in any way possible.
repository
Grateful!

You are lucky I'm a quant-trader myself,
After building the project it writes to calgo documents directly which then allows you to attach debugger to the cTrader process and debug the code once you run it.
Heres my code changes that also print out the exception cTrader swallows: https://pastebin.com/Hhq6XVNv
The exception is printed to the (Output window) in Visual Studio

The type initializer for 'EngineCache1' threw an exception. ---> System.Security.SecurityException: Request failed.    at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)    at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)    at System.Activator.CreateInstance[T]()    at NumSharp.Backends.BackendFactory.EngineCache1..cctor()
--- End of inner exception stack trace ---
at NumSharp.Backends.BackendFactory.GetEngine(BackendType backendType)
at NumSharp.np.arange(Int32 start, Int32 stop, Int32 step)
at cAlgo.NDArray_0_20_1.Initialize()
The program '[14160] cTrader.exe' has exited with code 0 (0x0).
The program '[14160] cTrader.exe: Program Trace' has exited with code 0 (0x0).

Doing a quick search about the exception with the context of cTrader yielded:
https://ctrader.com/forum/cbot-support/16225
And as mentioned in the forum, changing the IndicatorAttribute
to AccessRights = AccessRights.FullAccess fixed the issue.
[Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess)]
public class NDArray_0_20_1 : Indicator
{

Hah^ quants, that's amazing! Then again, ... NumSharp, yeah should've seen that coming hehe.
It makes so much sense now! Yes I'm familiar with the AccessRights but never considered it since usually these things don't build without it being set right and the output window in VS was mainly focusing on cTraders symbols missing and "just my code" thrown with or without NumSharp (thats why id didn't consider it relevant) and quite frankly debugging is quite limited as you can see with cTrader.
Nevertheless you've helped far more then I could've asked!
So grateful! Thank you for your time!


Media item title: show as "Original (Translated)"

First of all, thanks for this project!
I use the system in english and besides finding it weird to see my native language media titles translated, I think it is interesting to see the original titles; this PR changes it to show the original title + the translated title in parentheses, Original (Translated), if they are different.

Thank you for your contribution, but I think this behaviour should be controlled by the user, in user preferences, where there would be an option to display title: original title, translated title, original (translated).
If you would like to, you could implement client side part of this, and I will add displayTitle: "original" or "translated" or "original-translated" to user preferences on the server side


Added courses Elixir PT-BR

What does this PR do?
Add resource(s) ELIXIR PT-BR
For resources
Description
Courses Elixir PT-BR
Why is this valuable (or not)?
FREE
How do we know it's really free?
Youtube
For book lists, is it a book? For course lists, is it a course? etc.
Video course

Thanks, and welcome to free-programming-books!


Bump dependencies

Description
Bump dependencies
Breaking Changes
NA
JIRA Link
DA-540
Checklist

[x] Updated the Readme.md (if required) ?

Since we updated graphql dependencies, can you regenerate and check what impact it has on generated types?

:tada: This PR is included in version 19.1.1-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 20.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Using namespace to identify class inside facade

Class cannot be found when on Windows. Using the namespace resolves this problem.
Without this the facade does not resolve and the package is unusable.
Reference: https://github.com/Maatwebsite/Laravel-Excel/issues/1373

Will work on the tests.

Closed as it turns out that I had a config cached away preventing this package to work properly.
How this "fix" made it work is still unclear for me..


missing object_codec for object array

I am trying to create references for this netCDF file which is a collection of ~30 xArray dataSets. Each dataSet has 8 HDF5 datasets. This file was written with xArray.
I make it through the root group and the first dataset then I get this error on the second dataset in the group:
Exception has occurred: ValueError
missing object_codec for object array
File "/Users/metadatagamechanger/GitRepositories/fsspec-reference-maker/fsspec_reference_maker/hdf.py", line 177, in _translator
za = self._zroot.create_dataset(h5obj.name, shape=h5obj.shape,
File "/Users/metadatagamechanger/GitRepositories/fsspec-reference-maker/fsspec_reference_maker/hdf.py", line 71, in translate
self._h5f.visititems(self._translator)
File "/Users/metadatagamechanger/Library/Mobile Documents/com~apple~CloudDocs/Documents/MetadataGameChanger/ProjectsAndPlans/UNAVCO/CommonContainer/referenceFileSystem/makeReferences.py", line 10, in
h5t = h5chunks.translate()
On line:             za = self._zroot.create_dataset(h5obj.name, shape=h5obj.shape,
dtype=h5obj.dtype,
chunks=h5obj.chunks or False,
fill_value=h5obj.fillvalue,
compression=compression,
filters=filters,
overwrite=True)
The json so far ends with the reference to the data in the first dataset. The h5ls for the dataset the error comes from is:
/AMC2/Solution           Dataset {7025/7025}
Attribute: DIMENSION_LIST {1}
Type:      variable length of
object reference
Data:  (DATASET-1:529616)
Attribute: _Netcdf4Dimid scalar
Type:      native int
Data:  2
Location:  1:932878
Links:     1
Storage:   56200 logical bytes, 112400 allocated bytes, 50.00% utilization
Type:      variable-length null-terminated UTF-8 string

Did you have strings in the first dataset too? I think we were implicitly assuming regular number grids. However, it should work, if the code in SingleHdf5ToZarr._translator would recognise this encoding and specify numcodecs' "vlen-utf8" - assuming they are the same. Still odd that this shows up in only the second dataset.

I downloaded the file, but doesn't appear to contain anything
>>> xr.open_dataset('coloradoStations.nc', engine='netcdf4')
<xarray.Dataset>
Dimensions:  ()
Data variables:
    *empty*

Martin,
The data are in groups.  You need to read a specific group.
ds = xr.open_dataset('coloradoStations.nc', group='SA00')
https://nbviewer.jupyter.org/gist/rsignell-usgs/05f2025c940229d884f41433aa32a25e

Is xarray incapable of listing the groups? I am surprised.

@tedhabermann , how did you can SingleHDF5ToZarr on a single group?

Thanks so much for the help.. Not sure why file is empty... will check that ASAP..
coloradoStations.nc.gz
This is a file written with ~32 xArray dataSets, each of which has 8 columns. Seven of these columns are floats and one (Solution) is a string. In fact it seems to be a vlen string. I have been talking with Aleks about this and he pointed out that the data in this dataset are actually pointers to the string locations in the file rather than the actual strings... He suggests writing them as fixed-length ASCII strings... I am creating the data as dataframes then converting to xArray dataSet then writing to file so I'm not sure how to control that...
Not sure about the last question. SingleHDF5ToZarr seems to go through all of the groups in the file...?
Also, the point Rich makes about listing groups is true, but I think that is a different problem that trying to get the references out of this file...

OK, I understand - the code just mirrors the file's structure in the output zarr-like. So when you load it with xarray, you need to specify the group.
But yes, reference-making will only work when the data is in some contiguous bytes block. Furthermore, the only string (utf8) codec available in numcodecs is vlen in the parquet style (length-value-length-value...), not pointers to some heap. I don't know how you pick from the HDF side. If the pointers and heap for a contiguous chunk, it would be easy enough to write a filter for numcodecs to deal with it.

I have had a search, and cannot yet find a way to dereference pointers to the global HDF5 heap from h5py. Interestingly, only some instances of the Solution values are pointers:
>>> data = open('coloradoStations.nc', "rb").read()
>>> data.count(b"repro")  # one of the Solution possible values
109991

@ajelenak , you probably know how this is done too :)

It is still doable for the ideal case as we have here of a small number of labels and a large number of elements: we can extract the mapping of 16-byte identifier Vs string value from the array that h5py gives us, and store the dict as part of a numcodecs filter which reassembled the strings.
bytes block -> |S16-type numpy array (read from offset & size)
h5py array -> array of strings
combine the above -> map(S16->string)
save map in custom numcodecs "dict-mapping" filter:
- filter-id: "dict-strings"
  args:
    mapping: map(S16->string)

The above four-line "recipe" is a bit terse for me to understand. Why provide a map(S16->string) if the strings are already read?

I'll code this up, perhaps easier that explaining.


chore(ci): reduce copy layers

Closes: #175

This is ready for approvals, but please don't automerge, I want to monitor the merge.


Improve the user creation options' text

Is your suggestion related to an experience ? Please describe.

Describe the improvement

Additional context

This dropdown was improved as shown below.

And this is a regression created from another PR.

Verified in the WSO2 Identity Server-7.0.0-beta-SNAPSHOT


[Bug]: Incorrect tooltip position

Apache Hop version?
2.9.0
Java version?
openjdk 21.0.2 2024-01-16
Operating system
Linux
What happened?
When hovering a hop in Hop GUI, the tooltip is shown at the top left of the window, rather than next to the hop itself, see the example below:

Using Ubuntu 22.04.4 on VirtualBox 7.20 in Windows 10 host, no particular graphics options enabled
Issue Priority
Priority: 3
Issue Component
Component: Hop Gui

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

BEWARE OF THE FILE ABOVE, it's a malware! (already reported to GitHub)

Update: the same issue happens after upgrading the OS to Ubuntu 24.04.1 (with the same configuration for the other tools).

Setting the GDK_BACKEND environment variable to x11 within the hop-gui.sh script (see screenshot below) can help resolve compatibility issues when running HOP on Wayland by forcing GTK-based applications to use X11 rendering.

Related issues:

https://github.com/apache/hop/issues/4619
https://github.com/eclipse-platform/eclipse.platform.swt/issues/639
https://github.com/eclipse-platform/eclipse.platform.swt/issues/790

Patching the hop-gui.sh file indeed solves the issue, thanks @ep9io ✌

Update: this patch also solves #3783 and #3813 ✌ ✌

fixed by #4720

GDK_BACKEND=x11

We need to have the export prior to the setting of the variable.
However, good point about wrapping the env param in quotes as that's good practice to avoid word splitting and empty variable substitution.  The env param should be set correctly in most circumstances, but there's no harm with what you suggested.


ironframework.io serves malicious content

The owners of the ironframework.io domain are serving malicious content.  Could the documentation links in the readme and the latest crates.io release be updated?

Hello! I'm Pietro from the crates.io team!
We're making a change to crates.io to remove ironframework.io links from the crates.io web UI, and documentation links pointing to it will be replaced with docs.rs links automatically. If you gain control of the domain back please email us at<EMAIL_ADDRESS>and we'll happily revert the domain block!
Note that this does not affect the availability of the crates in any way.

Hello! I'm Pietro from the crates.io team!
We're making a change to crates.io to remove ironframework.io links from the crates.io web UI, and documentation links pointing to it will be replaced with docs.rs links automatically. If you gain control of the domain back please email us at<EMAIL_ADDRESS>and we'll happily revert the domain block!
Note that this does not affect the availability of the crates in any way.

@reem Can you remove the website field from this repository? I do not have the permissions to do so.

This is true, do not visit that link. I'll see what I can do to fix this.

I've removed it. Sorry about that, the registration lapsed. Please let me know if there is anywhere else it can be removed.

Thanks @reem. Ironwebframework.com is available if you want to point to a new domain.


Test

This part of the project required to implement unit tests
Tasks completed include the following:

Set up the testing environment
Add controller and model tests
Add basic styling to sign in page

Thank you🤝

Some test failed,
I'm trying to fixe them


Nested Condition Type over three layers will not correctly derive the correct type

Hi, all:
I found this question as following:
type Detail<T> = T extends Apple ? AppleDetail :
T extends Banana ? BananaDetail :
T extends Orange ? OrangeDetail :
T extends Pear ? PearDetail :
T extends Peach ? PeachDetail :  never;

// Pear & Peach will never get correct detail
type T1 = Detail<Pear>;  // type is OrangeDetail
type T2 = Detail<Peach>; // type is OrangeDetail

Simple questions should be asked on stackoverflow. This probably works, but the behavior is dependent on the definitions of the fruit types.

I think it is a bug & not dependent on the definitions.... any types except any may cause this problem...

I have some solution to resolve it, thanks @dragomirtitian.

I have some solution to resolve it, thanks @dragomirtitian.


Unix-based agents cannot download build artifacts

Description
I have a build here: https://dev.azure.com/xamarin/public/_build/results?buildId=64422&view=logs&j=b5f87e8d-65cd-564c-4ec8-feedcce3d1c8&t=ea3f294e-1129-53ed-3599-2a7255a56ad0&l=11
Downloading items from container resource #/15035605/native_android_x86_macos
Downloading artifact native_android_x86_macos from: https://dev.azure.com/xamarin//_apis/resources/Containers/15035605?itemPath=native_android_x86_macos&isShallow=true&api-version=4.1-preview.4
Retrying download of , retry count: 1
Retrying download of , retry count: 2
Retrying download of , retry count: 3
Retrying download of , retry count: 4
Error: in Download container - native_android_x86_macos, so retrying => retries pending  : 1
Downloading items from container resource #/15035605/native_android_x86_macos
Downloading artifact native_android_x86_macos from: https://dev.azure.com/xamarin//_apis/resources/Containers/15035605?itemPath=native_android_x86_macos&isShallow=true&api-version=4.1-preview.4
Retrying download of , retry count: 1
Retrying download of , retry count: 2
Retrying download of , retry count: 3
Retrying download of , retry count: 4
##[error]Failed in Download container - native_android_x86_macos with error: Error: Failed request: (statusCode) 404

Platforms affected

[X] Azure DevOps
[ ] GitHub Actions

Virtual environments affected

[X] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 10.15
[X] macOS 11
[ ] macOS 12
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Starting: Initialize job
Agent name: 'Azure Pipelines 9'
Agent machine name: 'Mac-1655399065725'
Current agent version: '2.204.0'
Operating System
macOS
11.6.6
20G624
Virtual Environment
Environment: macos-11
Version: 20220614.2
Included Software: https://github.com/actions/virtual-environments/blob/macOS-11/20220614.2/images/macos/macos-11-Readme.md
Image Release: https://github.com/actions/virtual-environments/releases/tag/macOS-11%2F20220614.2
Virtual Environment Provisioner
<IP_ADDRESS>-main-20220531-1
Current image version: '20220614.2'
Agent running as: 'runner'
Prepare build directory.
Set build variables.
Download all required tasks.
Downloading task: PowerShell (2.200.0)
Downloading task: Bash (3.201.1)
Downloading task: UsePythonVersion (0.200.0)
Downloading task: DownloadBuildArtifacts (0.200.1)
Downloading task: PublishBuildArtifacts (1.200.0)
Checking job knob settings.
   Knob: AgentToolsDirectory = /Users/runner/hostedtoolcache Source: ${AGENT_TOOLSDIRECTORY}
Finished checking job knob settings.
Plugin: 'Test Result Parser plugin' is running in background.
Plugin: 'Test File Publisher plugin' is running in background.
Start tracking orphan processes.
Finishing: Initialize job

Is it regression?
Not sure, this download logic is new
Expected behavior
The download works
Actual behavior
The download fails every time
Repro steps
Run the build? But it is just a simple step so I am not sure. ~The issue is that this may be an issue with fork build only? I do have secrets available but that should not be required as the build is public and so are the artifacts.~ Scrap that, it works on Windows.
Here is a build that is not a fork: https://dev.azure.com/xamarin/public/_build/results?buildId=64562&view=results

Hello @mattleibow.
We will take a look at it.

I think it could be related to this https://status.dev.azure.com/_event/313560682 issue, also I didn't find any builds with the same issue since Wed,15. I will close the thread, because it affects Azure DevOps Artifact Service(support forum - https://developercommunity.visualstudio.com/search?space=21), but not the image itself.

I logged this issue as it still happens  every time: https://developercommunity.visualstudio.com/t/Unix-based-agents-cannot-download-build/10082907

@mattleibow there could be also an issue with the DownloadBuildArtifacts@0 task so the issue could be filed in the https://github.com/microsoft/azure-pipelines-tasks as well.
Also, the documentation recommends upgrading from build artifacts to Pipeline Artifacts for faster performance. Could you try it?

I can't upgrade as the feature I need is not supported. I push from several jobs to a single package and this is not supported.
But I will open an issue for that task. Not sure why I opened an issue here tbh.


FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

--- Last few GCs --->

[88570:0x5d8d1c0] 10971084 ms: Scavenge 1879.1 (1982.1) -> 1864.6 (1983.3) MB, 5.6 / 0.0 ms  (average mu = 0.186, current mu = 0.149) allocation failure
[88570:0x5d8d1c0] 10971209 ms: Scavenge 1880.1 (1983.3) -> 1870.7 (1984.3) MB, 9.7 / 0.2 ms  (average mu = 0.186, current mu = 0.149) task
[88570:0x5d8d1c0] 10971254 ms: Scavenge 1881.4 (1984.5) -> 1871.0 (1989.5) MB, 10.5 / 0.0 ms  (average mu = 0.186, current mu = 0.149) allocation failure

<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0xa04200 node::Abort() [node]
 2: 0x94e4e9 node::FatalError(char const*, char const*) [node]
 3: 0xb7978e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
 4: 0xb79b07 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
 5: 0xd34395  [node]
 6: 0xd34f1f  [node]
 7: 0xd42fab v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
 8: 0xd46b6c v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
 9: 0xd1524b v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
10: 0x105b23f v8::inter

Definitely want to improve memory efficiency, but I could use a bit more details. How many files are you copying? What's their median size?
Note you can mange your memory usage with some of the advanced commands. For example:

--copy-concurrency 500 (ADVANCED) - Maximum number of simultaneous small-copies
--large-copy-concurrency 75 (ADVANCED) - Maximum number of simultaneous large-copies
--list-concurrency 100 (ADVANCED) - Maximum number of simultaneous list operations
--max-queue-size 50000 (ADVANCED) - Maximum number of files that can be queued for copying before list-reading is throttled.

Can you run an s3 summarize on your bucket and, if it's safe to do so, share the results?

I found memory problem (crash after allocating 2GB of RAM) appears after 1 hr 40 mins and 2.5 million objects copied regardless advanced options

I am having this issue too when listing a large bucket. Adding --list-concurrency 100 made no differnce


feat: Parallel artifact GC

Parallelise deletion of artifacts when they are being garbage collected.
This is theoretically a transparent change and hence can't be integration tested.
Addresses #9295
Tested on minio and real S3

@juliev0 Could you help review this?

Certainly. Will try to do today or tomorrow.

This is missing documentation as it is. I'm not sure how it undrafted itself. I'll try and get that done this evening.

This is missing documentation as it is.

Was gonna mention docs as there's a new number of workers. Potentially the new scaling docs from #11731 could be a good place to add.
Also the CI failure is on TestArtifactGC, so I imagine it's related

The test failures aren't happening locally, but I have an idea.
The new variable isn't configurable - the pod that runs artifact GC is completely hardcoded at the moment. I suggest a separate PR to add configurability to it.

The test failures aren't happening locally, but I have an idea.
The new variable isn't configurable - the pod that runs artifact GC is completely hardcoded at the moment. I suggest a separate PR to add configurability to it.

This PR was put in recently to add configurability for resources in the Pod. Is this what you mean?

The test failures aren't happening locally, but I have an idea.
The new variable isn't configurable - the pod that runs artifact GC is completely hardcoded at the moment. I suggest a separate PR to add configurability to it.

This PR was put in recently to add configurability for resources in the Pod. Is this what you mean?

Yep, I missed that PR. That's great, saves me a job.

Looking at the e2e test failure, I'm thinking it probably doesn't have anything to do with your code. This is the test that doesn't delete any artifacts. It looks like it waits for 1 minute to verify that the finalizer gets removed. I wonder if there is potential for this not to be long enough...if it just never did the Workflow reconciliation because maybe it was CPU starved in the CI or something?
If you do a series of empty commits, does it happen again?

Sorry but would you mind adding a unit test?

I'll get back to this one day!

dis forgotten

dis forgotten

Nope, but it's not a priority for me right now.
If someone wants to work on it they are welcome


ref #16: don't auto select image preset for image hotspot background …

…image

Q
A

Branch
master

Bug fix?
yes

New feature?
no

BC breaks?
no

Deprecations?
no

Tests pass?
yes

Fixed issues
chameleon-system/chameleon-shop-theme-bundle#16

License
MIT

Thanks @fabianbarth-esono