Generating reflection images.

Hello, I met some problems while generating reflection images according to the zip file you provide.

In step two Depth Map to Mesh:
When I try to generate mesh, I cannot change the render to mitsuba. (I use blender 2.6.9, and in File->user perferences->addons->render, I cannot change the render since there is not an init.py in mitsuba 0.5.0. I also find nowhere to change render in other versions of blender.)
So I comment line36&45, uncomment line37&46, in this case, I cannot find where the result save (I cannot find the .serialized file everywhere), the corresponding error information is 'No such file or directory: '.../Depth_Map_to_Mesh/temp/script/Scene/00001/Sphere_005_0000_m000_0_000000.serialized' -> '.../Depth_Map_to_Mesh/displaced/i5001.serialized''. I try it on Ubantu and Windows. The problem both exists.
In step three Render Images:
When compiling the code,  the definition of datatype “Float” can not be found. And there are also other problems while compiling. Which header file should I include in order to eliminate this error？
Thank you very much!

Hello,
Thank you for your interest.
I forwarded your rendering question to Yuchi Huo (huo.yuchi.sc@gmail.com), and if you send an email, he will be answering your questions as guided in the readme file.
I would appreciate that if you post issues of the network part here.
Thank you,
Soomin

Hello, I met some problems while generating reflection images according to the zip file you provide.

In step two Depth Map to Mesh:
When I try to generate mesh, I cannot change the render to mitsuba. (I use blender 2.6.9, and in File->user perferences->addons->render, I cannot change the render since there is not an init.py in mitsuba 0.5.0. I also find nowhere to change render in other versions of blender.)
So I comment line36&45, uncomment line37&46, in this case, I cannot find where the result save (I cannot find the .serialized file everywhere), the corresponding error information is 'No such file or directory: '.../Depth_Map_to_Mesh/temp/script/Scene/00001/Sphere_005_0000_m000_0_000000.serialized' -> '.../Depth_Map_to_Mesh/displaced/i5001.serialized''. I try it on Ubantu and Windows. The problem both exists.
In step three Render Images:
When compiling the code,  the definition of datatype “Float” can not be found. And there are also other problems while compiling. Which header file should I include in order to eliminate this error？
Thank you very much!

I met these problem too, do you have any ideas now?

Hello,
We updated the readme file in the 'data generation zip code' according to this issue(1,2)!
Please download the v2 files.
For 3, you need to first compile Mitsuba. Then define Float as float or double according to the precision setting of the compiled Mitsuba.
Thank you,
Soomin

Hello, I met some problems while generating reflection images according to the zip file you provide.

In step two Depth Map to Mesh:
When I try to generate mesh, I cannot change the render to mitsuba. (I use blender 2.6.9, and in File->user perferences->addons->render, I cannot change the render since there is not an init.py in mitsuba 0.5.0. I also find nowhere to change render in other versions of blender.)
So I comment line36&45, uncomment line37&46, in this case, I cannot find where the result save (I cannot find the .serialized file everywhere), the corresponding error information is 'No such file or directory: '.../Depth_Map_to_Mesh/temp/script/Scene/00001/Sphere_005_0000_m000_0_000000.serialized' -> '.../Depth_Map_to_Mesh/displaced/i5001.serialized''. I try it on Ubantu and Windows. The problem both exists.
In step three Render Images:
When compiling the code,  the definition of datatype “Float” can not be found. And there are also other problems while compiling. Which header file should I include in order to eliminate this error？
Thank you very much!

I met these problem too, do you have any ideas now?

Hello,
We updated the readme file in the 'data generation zip code' according to this issue(1,2)!
Please download the v2 files.
For 3, you need to first compile Mitsuba. Then define Float as float or double according to the precision setting of the compiled Mitsuba.
Thank you,
Soomin

Hello, I met some problems while generating reflection images according to the zip file you provide.

In step two Depth Map to Mesh:
When I try to generate mesh, I cannot change the render to mitsuba. (I use blender 2.6.9, and in File->user perferences->addons->render, I cannot change the render since there is not an init.py in mitsuba 0.5.0. I also find nowhere to change render in other versions of blender.)
So I comment line36&45, uncomment line37&46, in this case, I cannot find where the result save (I cannot find the .serialized file everywhere), the corresponding error information is 'No such file or directory: '.../Depth_Map_to_Mesh/temp/script/Scene/00001/Sphere_005_0000_m000_0_000000.serialized' -> '.../Depth_Map_to_Mesh/displaced/i5001.serialized''. I try it on Ubantu and Windows. The problem both exists.
In step three Render Images:
When compiling the code,  the definition of datatype “Float” can not be found. And there are also other problems while compiling. Which header file should I include in order to eliminate this error？
Thank you very much!

I met these problem too, do you have any ideas now?

Hello,
We updated the readme file in the 'data generation zip code' according to this issue(1,2)!
Please download the v2 files.
For 3, you need to first compile Mitsuba. Then define Float as float or double according to the precision setting of the compiled Mitsuba.
Thank you,
Soomin

Thanks for your reply and update. I found I used Mitsuba 0.6.0 since the 0.5.0 version depending on MSVC 2010 was not maintained on their github now. It is not compatible with render_v3.xml.
Thanks again.

Hello,
I am getting the following error while loading gT and gR PFM files using pfm.read in the rendering pipeline using mitsuba.
Value Error : could not load Bitmap : /path_to_PFM_file : invalid header version number missing. This is while doing a pfm.read on the .PFM files.
Please let me know the resolution for this.


EVE crashing on FiveM

I'm trying to find out what cause the EVE crashing on FiveM, here are the issues I found:
ENBSeries
If you installed ENBSeries, then FiveM will prevent the script to register the present callback:
The following two Present errors are perfectly normal and are to work around a bug in ENBSeries
IDXGISwapChain::Present failed: 887a0001
IDXGISwapChain::Present failed: 887a0001

The codes are in fivem/code/components/rage-graphics-five/src/GfxFixups.cpp:312
Edit: This is a ENB issue, not EVE, ignore it.
Voukoder
Cannot create voukoder interface instance:
gta5-extended-video-export/encoder.cpp:118
Microsoft::WRL::ComPtr<IVoukoder> m_pVoukoder = nullptr;
REQUIRE(CoCreateInstance(CLSID_CoVoukoder, NULL, CLSCTX_INPROC_SERVER, IID_IVoukoder,
                             (void**)m_pVoukoder.GetAddressOf()),
            "Failed to create an instance of IVoukoder interface.");

The CoCreateInstance is always return 0x80040154 (class not registered), then it crashes the game.
Fix
Sadly, I can't fix it, I'm not professional for C++, here are all things I tried to fix:
01 Check if the swap chain not be NULL in OMSetRenderTargets
gta5-extended-video-export/script.cpp:629
if (::exportContext->pSwapChain != NULL) {
    LOG_CALL(LL_DBG, ::exportContext->pSwapChain->Present(
                         0, DXGI_PRESENT_TEST)); // IMPORTANT: This call makes ENB and ReShade effects to be
                                                 // applied to the render target
}

02 Fallback to default resolution if DXGI_SWAP_CHAIN_DESC is NULL
gta5-extended-video-export/script.cpp:868
if (desc.BufferDesc.Width != NULL) {
    REQUIRE(encodingSession->createContext(vkConfig, std::wstring(filename.begin(), filename.end()),
                                           desc.BufferDesc.Width, desc.BufferDesc.Height, "bgra",
                                           fps_num, fps_den, numChannels, sampleRate, "s16",
                                           blockAlignment),
            "Failed to create encoding context.");
} else {
    LOG(LL_ERR, "No such buffer desc, fallback to default size 1920x1080");
    int bufferWidth, bufferHeight;
    bufferWidth = 1920;
    bufferHeight = 1080;
    REQUIRE(encodingSession->createContext(vkConfig, std::wstring(filename.begin(), filename.end()),
                                           bufferWidth, bufferHeight, "bgra", fps_num, fps_den,
                                           numChannels, sampleRate, "s16", blockAlignment),
            "Failed to create encoding context.");
}

Thanks for your great work.

Can you help me with this issue? I don't know why the EVE logs are not saved when using FiveM.

Hi.
The EVE logs will save to <GTAV folder>\EVE\.
You also need to place the EVE folder to FiveM\FiveM.app\data\cache\subprocess\ to make it work.

I'm getting this log in FiveM:
[      3813] [b2545_GTAProce]             MainThrd/ Unable to load \AppData\Local\FiveM\FiveM.app\plugins\ExtendedVideoExport.asi - this ASI plugin does not claim to support game build 2545. If you have access to its source code, add `FX_ASI_BUILD 2545 dummy.txt` to the .rc file when building this plugin. If not, contact its maintainer.

Is there anyway to bypass it? I'm not very fond of updating the mod for every single build of the game.

you should change your game build to 1604:

go to FiveM/FiveM.app/
open CitizenFX.ini
change or add SavedBuildNumber=1604
save it and restart your game, it should switch to 1604 build.

I managed to debug it and realized presentCallbackRegister() function in FiveM is just a stub and does not hook IDXGISwapBuffer::Present() at all. Unless I find an easy way to get the swap buffer, it's not possible to support FiveM.

Okay... but I'm searching all the codes, looks like the SwapChain are only use for getting output width and height? Maybe you can add an option to the configuration file to set the output size manually?

I managed to get SwapChain in the latest update in refactor branch. I'm closing thing issue and will ship the support in the next release.

Sorry to re-open this topic, but i am a content creator on a FiveM RP Server.
I use the Rockstar Editor to record my footage and modify it into the R* Editor after.
But i see that Logic Films use EVE for their footage and it's could be a very nice script for me.
Actually i can't export my footage with ReShade filters, and it's very complicated.
When i launch the R* Editor, i have a error line in the log, who says that FiveM can't load the plugin and ask me to write a new line in the .RC file of the plugin :/
I search for hours but i don't find the .rc file
That's why i ask some help here, so if someone have an idea how can i fix this issues :)
Have a nice day/night

Hi, I clone the newest codes and build it, but now it was still crashing when I export the video.
The logs say: Failed to open Voukoder context.
I installed the Voukoder 11.3.2 and 10.2 and they all not working.
Did I use wrong version of Voukoder?


primary index

need to implement basic indexing. i think b+tree index should be enough for now, no constraint checks, assume records are unique

blocked by #5

implemented without DELETE operation.


Symmetric Tree (Breadth-first Search)

Is your feature request related to a problem? Please describe.
Want to add  Symmetric Tree in Python Data structures Folder
Describe the solution you'd like
Problem Statement :
Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).
Example 1:

Input: root = [1,2,2,3,4,4,3]
Output: true
Example 2:

Input: root = [1,2,2,null,3,null,3]
Output: false
Describe alternatives you've considered
Leet Code question no. 101
Additional context
I would like to contribute and work on this issue as a participant of LGM SOC'21 will you please assign it to me
Programming language

[ ] C
[ ] C++
[ ] Java
[x] Python

Please assign me this issue .I am a participant of LGMSoc'21. I will provide the code in C++

already raise issue


DOSBox Emulator

Support running DOS games over the browser.
Emscripten version of DOSBox
https://github.com/dreamlayers/em-dosbox

Providing feedback that I would be interested in this as well


PHP 7 Compatibility

Zend\Paginator\Adapte\Null
PHP Fatal error:  Cannot use 'Null' as class name as it is reserved in ./vendor/zendframework/zend-paginator/src/Adapter/Null.php on line 12

Looking at the commit history for Null and NullFill it seems this has already been addressed


THIS IS A CRAZY ISSUE

wae;orgfjhgfjherwoipqafqafnnewoacndmojsapnvcoieurdrwanwangfoiruepepwdanwanfreiuoaqqnfnfrepwl;pawl;a
Hi Eddie.

thank you for the test issue 👍


Delete worker metadata from master after heartbeat time

What changes are proposed in this pull request?
Add a timeout PropertyKey alluxio.master.lost.worker.deletion.timeout.ms, If the lost worker has no heartbeat for more than this time its metadata(the MasterWorkerInfo will be completely deleted from the master. By default this time is 3 * MASTER_WORKER_TIMEOUT_MS
Why are the changes needed?
https://github.com/Alluxio/alluxio/issues/9457
Does this PR introduce any user-facing changes?
After this timeout, the worker name will no longer appear in the lost workers. This helps if a worker has changed its address and master identifies this as a new worker, because the old name will be removed from the "lost worker list" after some time.

@apc999
A rough code, does it meet the expected design?
//TODO: unit tests, detail

This is an unfinished rough code. I want to confirm whether the design meets the expectations (https://github.com/Alluxio/alluxio/issues/9457). If it does, I will continue to complete the code.

@xichen01 It looks your some of integration test are failed, please care about it, thanks!

@jiacheliu3
Commands that make it easier for SREs to manage clusters. For example, if the SRE clearly knows that a worker is to go offline, it can first stop the worker (maybe with other operations) and then delete the worker by command.
Deleting a worker can be one of the steps to take a worker offline.

@xichen01 seems many tests are broken, could you take a look?

alluxio-bot, merge this please


Mixed Icons does not have same dimensions

I'm currently mixing Feather and FontAwesome inside my project and they each have different width for their icon. The only way to have verticaly centered icon is to wrap them inside a View with a larger width and alignItems: 'center'
<View
  style={{
    width: 30, // depending of the icon size
    alignItems: 'center'
  }}>
  <Icon name={icon}/>
</View>

On the capture the larger are from Feather, the other from FontAwesome

I really miss fixed-width icons as they call them in Font Awesome. Your solution is fine, but does not scale. This worked for me:
const fixedWidthStyle = { fontSize: 30, aspectRatio: 1, textAlign: 'center' }
<Icon name={icon} style={fixedWidthStyle} allowFontScaling />

I really miss fixed-width icons as they call them in Font Awesome. Your solution is fine, but does not scale. This worked for me:
const fixedWidthStyle = { fontSize: 30, aspectRatio: 1, textAlign: 'center' }
<Icon name={icon} style={fixedWidthStyle} allowFontScaling />

C


fix: add jwt authentication and needed configs

this is a pretty big change so I'm opening this pr early on so we can discuss, as the front-end will need an update as well

Thank you, I'll take a look at this whenever possible.

I have a host of improvements to commit later today, in regards to the citadel class, and I would like to suggest transitioning this project to typescript as it helps quite a lot with maintainability.

I would like to suggest transitioning this project to typescript as it helps quite a lot with maintainability.
Good thing you mention that because I had planned to do it while updating the API routes to be lighter and more efficient.
I'll mark this PR as draft if you aren't done yet 😁

So I think this change is important enough and is in a merge-able state now such that you may merge it, the main issue is the front-end needs changes in how it talks to pulsar.

Hey @l3alr0g can you update the tests? I can provide some guidance, I think this is the only blocker to merging together with implementing this authentication scheme on the client (which is kinda beyond me since I focus mostly on back-end related stuff).
Here are some curls to help
This one is how to call the new /authenticate/jwt endpoint
curl --request POST \
  --url http://localhost:5000/authenticate/jwt \
  --header 'Content-Type: application/json' \
  --data '{
	"username": "exampleUser",
	"password": "30aac1b9904b8226f1d86f6c1cf871adb9efec9ca69d735c59a43c66ce53b958"
}'

Reponse:
{
  "bearer": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZWEyYzk2MC1hMTM0LTQ3NTgtYjA3Ni1mYTU3OGRlZWEzYWMiLCJpc3MiOiJiMGIyMzgwMzI3OWY4MmEyOGIwZGI0MTE4ZjY4OGRkY2VlMzA4ZTBjYjY4OWY4OTJmMmE0N2MwMDc0YzM2ZjI3IiwiZXhwIjoxNjMxODU4MDEzLCJpYXQiOjE2MzE4NTQ0MTN9.btGkJagfdROkMqynHIBpIr_6UJJrpkMUCFj8EpvSaEc"
}

You want to save the bearer somewhere and later on send it like so in the headers with every request
curl --request GET \
  --url http://localhost:5000/status-compact \
  --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZWEyYzk2MC1hMTM0LTQ3NTgtYjA3Ni1mYTU3OGRlZWEzYWMiLCJpc3MiOiJiMGIyMzgwMzI3OWY4MmEyOGIwZGI0MTE4ZjY4OGRkY2VlMzA4ZTBjYjY4OWY4OTJmMmE0N2MwMDc0YzM2ZjI3IiwiZXhwIjoxNjMxODU4MDEzLCJpYXQiOjE2MzE4NTQ0MTN9.btGkJagfdROkMqynHIBpIr_6UJJrpkMUCFj8EpvSaEc'

Returns are kept the same save for status codes that I changed from all 401 to proper codes

Got it, I'm updating the tests whenever I can (I'm a bit busy with work rn). Also, we're gonna need to merge this into a secondary branch, such as security/rewamp, which I just created.
Can you rebase the pr ? I'll merge it when the CI returns no errors.

I can't get your code to run, I keep getting this error :
Error: Cannot find module 'node:crypto'

What version of node are you running ?
Also, there's already a vs code workspace, so the .vscode and .idea folders should be added to the gitignore.

This suggests the crypto module is in node for a while now, maybe try to change the node:crypto for crypto, I'm at work so I can't change it now.

I have taken a quick look at your code, and I just thought username/password authentication just doesn't make sense at this point, because there is no actual database to store all of these users. It would be much better to stick to the good old key-based auth, using your upgraded, more secure version.
Also, from the curls I have run, one problem seems to have emerged : the bearer seems to change everytime you make a request, which forces you to re authenticate every time you want to retrieve data. Is it just me using the api wrong ?
Can you please take a look at this whenever possible ?

Also, from the curls I have run, one problem seems to have emerged : the bearer seems to change everytime you make a request, which forces you to re authenticate every time you want to retrieve data. Is it just me using the api wrong ?
Can you please take a look at this whenever possible ?

A bearer is valid for some amount of time so you should call the authentication endpoint once store the bearer and use it for subsequent requests you can then verify it's expiration date or until it returns 403 to call the authentication endpoint once more.
https://jwt.io is a great resource on these tokens
I will write a more detailed version once I'm done with work

the idea is that you are not transmitting your secret every request and a leaked token then has a limited impact restricted to it's expiration.

I have taken a quick look at your code, and I just thought username/password authentication just doesn't make sense at this point, because there is no actual database to store all of these users. It would be much better to stick to the good old key-based auth, using your upgraded, more secure version.

A pair of secrets is more secure than a single secret (in the brute-forcing sense), but we can use just one as well, I'd rename them to clientId and clientSecret.

Yes, I know, but with a long enough secret I think we should be totally fine.

I didn't manage to write this more detailed description yesterday, so here it goes.
This is the way to use the new security system:

The client makes a request to the /authentication/jwt endpoint sending in json a single key, sharedSecret;
Upon validation of the sharedSecret the server will respond with either a json with a single key bearer containing the jwt token to use in subsequent requests or a 403 code indicating a invalid sharedSecret has been supplied, the client must halt attempts and prompt for the user to check the provided sharedSecret;
The client upon receiving a token from the server saves it (in electron local storage is the preferred location), and send it in the Authorization header in every request prepended of Bearer (it WILL be rejected otherwise);
The server will receive the token verify it's signature and check the expiration, if the signature is invalid or the current time is greater than the expiration time, the request will be rejected with a 403 code if accepted data will be returned as normal;
Upon a 403 in the previous step the client should attempt the first step again to acquire a new token;

it's a fair deal more complex than the previous one but way more secure.

Thank you, that's what I had figured out, it's worth noticing that for consistency reasons, I have renamed the secretKey field to auth in BearerAuth.js
I am working right now on making all of the necessary client-side updates.

To me this looks good for merging in the separate branch.


Upgrade to fabric8 2.0.31.

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/jube-master-pullreq/191/
Test PASSed.


Add instructions for different JDK usage

Related to https://github.com/sbt/sbt-paradox-material-theme/issues/59#issuecomment-1943577195 and https://github.com/sbt/sbt-paradox-material-theme/pull/67

@mkurz Can you update the main website to reflect this change?

@mdedetrich Deployed: https://www.scala-sbt.org/sbt-paradox-material-theme/getting-started.html


Two tutorials shows at the same time

Onboarding and elements tutorial shows at the same time but one should be visible at the time.

This is fixed in https://github.com/jarrodek/ChromeRestClient/commit/729153b252a73aa90ad2d40e3709452318b2b4b3


aircloud...

Hello, sorry to post here but I don't really know where to go...
My aircloud go (the new aircloud home) does not work (and neither does the custom component). I retrieve the status but the commands do not work. Before it was slow, now it doesn't work at all. Is it the same for you ?

Hi! Application aircloud go works like aircloud home for me

Yes. It's ok for me too
Thanks


Revert sonar config changes

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@541189d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #1145   +/-   ##
=========================================
  Coverage          ?   25.05%
  Complexity        ?     6247
=========================================
  Files             ?     1446
  Lines             ?    88303
  Branches          ?    12357
=========================================
  Hits              ?    22121
  Misses            ?    64010
  Partials          ?     2172

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 541189d...8c7d513. Read the comment docs.


How to validate a ReadableStream response?

I see we have the file input case solved with latest Zod, but how can we have a ReadableStream output with a zod definition?

Well, you cant really describe a stream object with json schema, so it would have to reflect the actual content. I take it the file contains binary and you dont want to deserialize it. You can represent the binary content as a base64 string and use z.string().base64(), which is now supported.

@thelinuxlich Ok to close?

Yeah I think it's probably something on Fastify schema validation side


Clarify ListenerConditionAccepted specification

What would you like to be added:
Clarify the spec for the condition.l
Why this is needed:
I'm somewhat confused as to what this is instructing implementer to do.  This matches the condition on the gateway, but the spec indicates that it should only be set if the controller is unable to configure the listener which seems odd to have a (type=Accepted, status=True, reason=Accepted) combination.
https://github.com/kubernetes-sigs/gateway-api/blob/bdbd3644ee7f2f478f73049314df0a1f02b3275f/apis/v1beta1/gateway_types.go#L730

Thanks for this @briantkennedy. This description is a holdover from when this Condition was called Scheduled, before we standardized on Accepted across the API.
It should probably say something more like:
	// This condition indicates that the listener is syntactically and
        // semantically valid, and that all features used in the listener's spec
        // are supported.
	//
        // In general, a Listener will be marked as Accepted when the supplied
        // configuration will generate at least some data plane configuration.
        //
        // For example, a Listener with an unsupported protocol will never generate
        // any data plane config, and so will have Accepted set to `false.`
        // Conversely, a Listener that does not have any Routes will be able to generate
        // data plane config, and so will have Accepted set to `true`.

I'll mark this as help wanted because it seems like a straightforward fix.
/help-wanted

/help


Apply windows-specific workaround to windows only

Hopefully this still works. @panstromek

Nightly build failure is a nightly Cargo bug (https://github.com/rust-lang/cargo/issues/8351).

Ah, cool. I thought about doing this, too, but then kinda forgot about it. I just tested the new release, it works fine 😉


Slash Commands

As you may know, discord is going to force slash command implementation by august, I'm not sure if discord.js has slash commands implemented yet, but other language libraries like discord.py-self have slash commands implemented on other branches.
I know you're not working on this project anymore, but I'm not good with discord.js, so if it's possible, add slash commands to allow this bot to continue working after august.

This software is intended to be used as a selfbot (user acount)..
It doesn't make sense to implement slash commands as the account isn't registered as an app and restrictions concerning bots don't apply in this case.


InventoryContents#set

Hey buddy, is there an option to add items with normal item slots? Like 22, 32?
So contents.set(22, ClickableItem)

There is actually;
https://github.com/portlek/vote/blob/master/src/main/java/io/github/portlek/vote/util/FileElement.java#L42

Yeah, there is an option to set items using classic item-slots, it is just located at the 1.3.0 branch, which is not publicly available through Maven.
Here is the method

Hello 👋🏻,
Thank you very much. Further, I have one important question: How can I drop items in the inventory, I tried everything without success.
Regards,
Wael

Op 20 feb. 2020 om 16:22 heeft Lukas Planz<EMAIL_ADDRESS>het volgende geschreven:

Yeah, there is an option to set items using classic item-slots, it is just located at the 1.3.0 branch, which is not publicly available through Maven.
Here is the method
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I wanted to check adding listeners but your docs are down.

Hello, you can use InventoryContents#setEditable(SlotPos, boolean) in the 1.3.0 version (which is not released, we're still working on it).
And for the listeners, here's how they work:
SmartInventory.builder()
        ...
        .listener(new InventoryListener(
            InventoryCloseEvent.class,
            event -> {
                Player player = (Player) event.getPlayer();
                player.sendMessage("You closed the inventory! Well played!");
            }
        )
        .build();

So the first I can’t use. When will it be released? So with the listeners I can still achieve the same result?

Op 21 feb. 2020 om 12:03 heeft MinusKube<EMAIL_ADDRESS>het volgende geschreven:

Hello, you can use InventoryContents#setEditable(SlotPos, boolean) in the 1.3.0 version (which is not released, we're still working on it).
And for the listeners, here's how they work:
SmartInventory.builder()
...
.listener(new InventoryListener(
InventoryCloseEvent.class,
event -> {
Player player = (Player) event.getPlayer();
player.sendMessage("You closed the inventory! Well played!");
}
)
.build();
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hello, you can use InventoryContents#setEditable(SlotPos, boolean) in the 1.3.0 version (which is not released, we're still working on it).
And for the listeners, here's how they work:
SmartInventory.builder()
        ...
        .listener(new InventoryListener(
            InventoryCloseEvent.class,
            event -> {
                Player player = (Player) event.getPlayer();
                player.sendMessage("You closed the inventory! Well played!");
            }
        )
        .build();

Unfortunately, event#getPlayer doesn't work. I copied your listeners solution quote.

Never mind, I fixed the problem. ;)
So, with this method I can select a few places in the inventory that are draggable with items?

Yes, but I haven't fully tested it yet.

Ah alright. This is my code but it doesn't really work it, maybe you can take a look?
` public static SmartInventory getInventory(FDCore fdCore, FinePlayer fp) {
return SmartInventory.builder()
.listener(new InventoryListener<>(
InventoryDragEvent.class,
e -> {
Player p = (Player) e.getWhoClicked();
System.out.println("1");
if (e.getView().getTitle().equals(getInventory(fdCore, fdCore.getPlayerManager().getFinePlayer(p.getUniqueId())).getTitle())) {
System.out.println("2");
// TODO CHECKING ITEM IF IT"S UPGRADABLE ITEM & IF SLOT WHERE ITEM IS PUT IS EMPTY + LIMITED SLOTS
if (e.getOldCursor().getType() != null) {
System.out.println(e.getOldCursor());
System.out.println(e.getNewItems());
                                int position = 0;
                                for (Map.Entry<Integer, ItemStack> entry : e.getNewItems().entrySet()) {
                                    if (ItemStackUtils.compareItems(entry.getValue(), e.getOldCursor())) {
                                        position = entry.getKey();
                                    }
                                }
                                fdCore.getPlayerManager().getFinePlayer(p.getUniqueId()).getUpgradeItems().put(position, e.getOldCursor());
                                System.out.println("MAP & POSITION" + fdCore.getPlayerManager().getFinePlayer(p.getUniqueId()).getUpgradeItems() + " POSITION: " + position);
                                e.setCancelled(false);
                            }
                        }
                        e.setCancelled(true);
                    }
            ))
            .listener(new InventoryListener<>(InventoryClickEvent.class, e -> {
                Player p = (Player) e.getWhoClicked();
                if (e.getView().getTitle().equals(getInventory(fdCore, fdCore.getPlayerManager().getFinePlayer(p.getUniqueId())).getTitle())) {
                    if (e.getClickedInventory().getType() == InventoryType.CHEST) {
                        if (e.getCursor() != null && e.getCursor().getType() != Material.AIR) {
                            // TODO CHECKING ITEM IF IT"S UPGRADABLE ITEM & IF SLOT WHERE ITEM IS PUT IS EMPTY + LIMITED SLOTS
                            System.out.println("ICE: " + e.getCurrentItem()); // dit is slot
                            System.out.println("ICE: " + e.getCursor()); // dit is cursor

//                    e.setCurrentItem(e.getCursor());
}
}
}
}))
.provider(new PersonalUpgradeInventory(fdCore, fp))
.manager(fdCore.getInventoryManager())
.size(6, 9)
.title("Ability menu of " + Bukkit.getPlayer(fp.getUniqueId()).getName())
.build();
}`

You know, sometimes it works, most of the times it doesn't, look this is a video I made: https://streamable.com/q8i50

Any idea?

That looks like it's working for the InventoryDragEvent but not the InventoryClickEvent, I'll investigate on this ASAP.

That looks like it's working for the InventoryDragEvent but not the InventoryClickEvent, I'll investigate on this ASAP.

Thank you very much! :)

That looks like it's working for the InventoryDragEvent but not the InventoryClickEvent, I'll investigate on this ASAP.

What do you recommend me meanwhile, because I have a deadline on this project.

That looks like it's working for the InventoryDragEvent but not the InventoryClickEvent, I'll investigate on this ASAP.

What do you recommend me meanwhile, because I have a deadline on this project.

One option would be to fork the repo and fix it yourself and the pr into this repo or just clone it and do it the hacky way on your machine only

That looks like it's working for the InventoryDragEvent but not the InventoryClickEvent, I'll investigate on this ASAP.

What do you recommend me meanwhile, because I have a deadline on this project.

One option would be to fork the repo and fix it yourself and the pr into this repo or just clone it and do it the hacky way on your machine only

I still need to use it on Maven.

Make changes and then run ./gradlew install. Should install it into your local maven repository and should be used by your project over the other variant.
How did you even get the 1.3.0 in maven though?

Make changes and then run ./gradlew install. Should install it into your local maven repository and should be used by your project over the other variant.
How did you even get the 1.3.0 in maven though?

I didn't, that's the problem because in 1.3.0, it is fixed right?

I didn't

What? The feature is only available in the 1.3.0 branch, how did you even get that?

I didn't

What? The feature is only available in the 1.3.0 branch, how did you even get that?

Which feature?

setEditable(), the one you are having problems with

setEditable(), the one you are having problems with

No of course not, that would be the solution. But that is in 1.3.0, I don't have that version.

And how did you get that feature shown in the streamable link to work where you can drag stuff into it?

And how did you get that feature shown in the streamable link to work where you can drag stuff into it?

If you read my code, I tried to make it, but it doesn't work because the drag events of SmartInvs bug. You can do the exact same as me, but it will bug heavily.

I don't know how well the setEditable function works, but I do have a private repo where I have the 1.3.0 branch hosted which I use for my plugins. I don't know if @MinusKube is ok with that, that I share  this:
<repository>
  <id>sytm-nexus</id>
  <url>https://repo.sytm.de/repository/maven-hosted/</url>
</repository>
---
<dependency>
  <groupId>fr.minuskube.inv</groupId>
  <artifactId>smart-invs</artifactId>
  <version>1.3.0-SNAPSHOT</version>
</dependency>

gn

I don't know how well the setEditable function works, but I do have a private repo where I have the 1.3.0 branch hosted which I use for my plugins. I don't know if @MinusKube is ok with that, that I share this:
<repository>
  <id>sytm-nexus</id>
  <url>https://repo.sytm.de/repository/maven-hosted/</url>
</repository>
---
<dependency>
  <groupId>fr.minuskube.inv</groupId>
  <artifactId>smart-invs</artifactId>
  <version>1.3.0-SNAPSHOT</version>
</dependency>

gn

Anyway, I'm alright with that! Thanks man! :)

I don't know how well the setEditable function works, but I do have a private repo where I have the 1.3.0 branch hosted which I use for my plugins. I don't know if @MinusKube is ok with that, that I share this:
<repository>
  <id>sytm-nexus</id>
  <url>https://repo.sytm.de/repository/maven-hosted/</url>
</repository>
---
<dependency>
  <groupId>fr.minuskube.inv</groupId>
  <artifactId>smart-invs</artifactId>
  <version>1.3.0-SNAPSHOT</version>
</dependency>

gn

Sometimes it is a bit buggy, but it is a whole lot better now. Sometimes I have to drop the item two times in the slot. Maybe you can take a look into that. 👍

Is there also a possibility to check the item you put in. Because I want only specific items to be accepted to drop in. @Sytm

I am not sure, I didn't write the code for that. I am just building the latest commit of 1.3.0 and putting it up as a snapshot

oh alright, anyway thank you buddy!

I created a PR which should fix the issue concerning the setEditable API method.


slow response (sometimes) using Forward Domains

I just switched from a setup with dnscrypt-proxy in front of Unbound on a home dns server (do I mean forwarder?) to using the new version of dnscrypt-proxy 1.9.5 by itself using cache and forward domains plugins. I use forward domains so I can get local dns lookups on my lan, so:
Forward domains:"home.lan" to:"<IP_ADDRESS>"
If I 'dig' (or hostip -r <IP_ADDRESS>) host.home.lan I get the correct lan IP immediately. But if I ssh host.home.lan I have to wait a little over 10 seconds for it to happen. If I do that, login, then logout and do it again right away, there is the same long long delay. If I ssh direcly to the lan IP there is no long delay in connecting.
If I change resolv.conf to <IP_ADDRESS> (instead of <IP_ADDRESS> which is through dnscrypt-proxy) the ssh is immediate.
So, it seems to me like dnscrypt-proxy is causing the delay. It is not only SSH, that's just an example. If I need to open a web interface to a headless server on my LAN it is slow too.
This phenomenon happens both on the machine running dnscrypt-proxy but also another on my LAN using it as the dns server. ( dnscrypt-proxy responding to all on lan via LocalAddress <IP_ADDRESS>:53 )
Thanks.

Maybe ssh sends other queries, that your server doesn't respond to.
Did you enable query logging? This may help a lot to pinpoint which exact query doesn't get a response.

Hello Frank:
I just had a little further look, and it seems when I do nslookup or dig of the LAN host it searches only A record (by default) but when I do a lookup for SSH or HTTPS purposes it tries to get the record for A and AAAA.
So, perhaps your IPv6 lookup blocking (which I am using as I have no IPv6 connectivty sadly) does not affect lookups which are matched by the 'Forward Domains' setting.
root@dns:/tmp# nslookup github.com
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	github.com
Address: <IP_ADDRESS>
Name:	github.com
Address: <IP_ADDRESS>

root@dns:/tmp# nslookup -query=AAAA github.com
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
*** Can't find github.com: No answer

Authoritative answers can be found from:

that all happened fast.
root@dns:/tmp# nslookup pve2.home.lan
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Name:	pve2.home.lan
Address: <IP_ADDRESS>

root@dns:/tmp# nslookup -query=AAAA pve2.home.lan
;; connection timed out; no servers could be reached

the standard query was fast but the -query=AAAA had the 10 + second delay
Sun Jun  4 13:18:19 2017	<IP_ADDRESS>	pve2.home.lan	A
Sun Jun  4 13:18:27 2017	<IP_ADDRESS>	pve2.home.lan	AAAA
Sun Jun  4 13:18:32 2017	<IP_ADDRESS>	pve2.home.lan	AAAA
Sun Jun  4 13:18:37 2017	<IP_ADDRESS>	pve2.home.lan	AAAA

Can we have an option to make the IPv6 blocking take place before the Forward Zone? Or maybe there's another way to fix it. Thanks!

Sure. Packets traverse plugins in the order they are loaded.
Just move the BlockIPv6 yes line before the Forward line.

BAM. Problem solved. Thanks!
But I would never have guessed the order in the conf file would affect the processing order. Clearly for my case it would help to have the order reversed in the example conf file, though I'm not sure if that would cause problems for other setups.
On another topic, sorry, I also wonder, if people would like to use more RAM to keep a bigger cache, if you could implement an option to configure how much resources are used by caching. I haven't attempted to study my cache hit/miss ratio but I would prefer to use more resources to have more caching if it would improve performance for my LAN's lookups.

I moved the forwarding section last in the example config file. Not sure that this is a good idea, as being able to use IPv6 on the local network, but not having an IPv6-friendly ISP is probably a common case.
The cache is really just designed to be used locally, not to be a full featured cache like Unbound. Its size is small, but should be enough to avoid repeated queries to resolve name used in common remote API calls.

Maybe you should put the order of the sections the way it makes most sense to you, or the way you think the default will be best for most people. But add a note in there to help people like me who didn't realize the plugins would be processed in the order found in the config file.
Thanks again for your help and your software.


Istio CDS cache -- false cache hits with multiple gateway proxies

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
the CDS cache currently does not take into account the proxy ID that cached clusters have been translated for. This is an issue, because different proxies may require different config per cluster, for example for a gateway proxy to Ambient mesh, clusters in CDS may require a hbone transport socket match, while another gateway proxy may not require this.
An invalid cache hit in this case would serve up the wrong translated cluster.
Version
istioctl version
client version: 1.19.0-alpha.1
control plane version: 1.19-dev
data plane version: 1.19-alpha.2f6945a0f14980ddf5b3d0d7ec34bbfa911ffca2 (10 proxies)

kubectl version --short
Client Version: v1.26.5
Kustomize Version: v4.5.7
Server Version: v1.26.4

Additional Information
Proposed solutions:

Including the proxy ID in the CDS cluster cache, or including a hboneEnabledfield. The latter would prevent cache bloat.

Affected product area

[X] Ambient
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

Not including the ID is intentionally - the cache is basically useless if we do that. But we should add others as needed.
I thought we disabled the cache for ambient.. maybe I am mistaken

You are right, we donot enable cache for ambient/hbone

This is a good incent, but too early  to consider cache for ambient

we ran into this debugging an ambient installation of istio; i think it is on by default AFAICT:
https://github.com/istio/istio/blob/b3ee7139ff94db5f4e7f05f3493f191e1e19e06c/pilot/pkg/networking/core/v1alpha3/cluster.go#L369-L371
we reproduced this on latest istio as well as versions older than https://github.com/istio/istio/pull/45811, so while that might appear related i don't think it is the cause
@saiskee we didn't have a custom override to enable the CDS cache in our installation right? as far as i remember, we installed mostly default ambient

Not including the ID is intentionally - the cache is basically useless if we do that. But we should add others as needed.

my idea was to just include ambient.enabled in the cache key for all existing xds caches

The only thing I see that disables caching for ambient is for EDS cache
https://github.com/istio/istio/blob/42d94a074f1c64ba849ed333588d42e39e1de9d2/pilot/pkg/xds/endpoint_builder.go#L313-L318
It should be enough to include the proxies "hbone enabled" in cache keys I think.


Add new flow for decoupled references (part 1)

Context
This is the initial flow for decoupling references. This PR covers changing the application form show page through to a candidate being asked to input the type of reference.
Changes proposed in this pull request

Update the application show page to use the new design

Before
After

Add the start page

Guidance to review
I'm going to keep these PRs small as I think it's going to end up being a fairly substantial piece of work.
Out of scope adding a type, name, email, description and review page
prototype - https://apply-beta-prototype.herokuapp.com/application/P3TB2
Link to Trello card
https://trello.com/c/npGvdYqK/2213-💔-dev-request-a-referee-flow
Things to check

[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

Thinking about how to structure this work and potentially make it easier to work on parts in parallel.
Is it worth implementing decoupled references in a separate set of route definitions and controllers? Something like https://github.com/DFE-Digital/apply-for-teacher-training/pull/3017
It would mean less branching logic in controllers and views, and will probably make deleting the legacy implementation a bit easier further down the road. WDYT? @davidgisbey @stevehook @tvararu


Add an official React FAQ to the docs

Note: I originally reported this in https://github.com/facebook/react/issues/10740 .  Please see that thread for prior discussion.

I wrote the Redux FAQ last year, and it's been pretty helpful for answering actual frequently asked questions.  It'd be great if we could add a similar FAQ directly to the React docs.
Tim Arney already has a standalone "React FAQ" site at https://reactfaq.site/ that would be a great starting point for a lot of the material.  My React/Redux links list is also a useful source of info in general.
I'm opening this up as a place to discuss possible formatting for a React FAQ, as well as possible topics and volunteers to help write it.
Some thoughts, based on things I've seen and suggestions from the original thread:
A lot of the FAQs I see aren't necessarily about React exactly, but they come up enough and are related enough to be worth trying to answer.
My initial suggestions:

A section on AJAX calls

How can I make a call? (Point to common libs)
Where do I make a call, constructor/cWM/cDM ?

A section on method binding necessity and approaches
Function passing and references

The difference between passing a reference to a function and calling it
How to pass a parameter to a function as a handler ( onClick={() => someFunc("someParam")} ) , which as an FAQ is "why is my function being called whenever I re-render?" because they're doing onClick={someFunc("someParam")}

Suggestions from @satiewaltz
Due to React's highly unopinionated nature: It'd be great to use it as a small reference to the different styles and approaches people have building React apps. From the component level all the way up to philosophies on architecture.
As well as help people that are new to React accomplish everyday tasks/get over pitfalls be imparted with the full understanding of what is going on behind the scenes.
Here are some ideas on questions that could be apart of a FAQ:

A section on styling and CSS:

What is the difference between inline styles and CSS?

What are ways to do JavaScript animation in React?
Can I build animations using React's setState()?

A section on common performance issues regarding state updates.
A section on state and setState():

What setState() does exactly?
How do I do ordered state updates?
What is the difference between passing an object or a function in setState()?

A section on architecture:
(It doesn't need to be comprehensive. Acts as an outline of recent developments the community has found when building with React over the years but without giving a side to a certain style):

Is there a recommended way to organize a React application's file structure? If not, what are some commonly used strategies?
How can I make the transition to React from other component libraries?

A section on React's internals:

What is the Virtual DOM? What Is the difference between it and the Shadow DOM?
What is React's new reconciliation algorithm in React 16?

In foresight to the answers to each FAQ in the future: It'd be best to be cautious of not pointing to one method as being particularly superior to another. Unless it's an anti-pattern of course. Due to the many numbers of ways one can build with React. And the differentiating costs and benefits each way can have. ("Common Anti-patterns" sounds like it could be a section of its own perhaps?) Though I could be entirely wrong about this thought of mine.

@bvaughn this one can be marked in-progress as well 🗂

Done!

Another good topic would be debugging. See a lot of people asking Q's in Reactiflux that could really benefit from some basic debugger guidance.


feat: add engine_getPayloadBodiesByHash and ByRange V2

Add engine API engine_getPayloadBodiesByHashV2 and engine_getPayloadBodiesByRangeV2
Rename deposit receipts to deposit requests

This PR reflects changes that have been merged to engine-api repo. Will introduce a follow up PR If any change is reverted ie. remove V2 and extends V1 payload instead.
Closes #6836

:tada: This PR is included in v1.22.0 :tada:


triage(Keys_Incoming): Investigate key rotation

With key rotation of the incoming key we need to have a more flexible method of decrypting messages that are of interest to use.
As it is not yet fully clear how much is really broken by rotating keys, we need to triage it first. I expect that performing a key-rotation during the token tests is likely to show os most of the issues that we will encounter.
I think the note processor is the main place where we need additional logic to address multiple keys, but it is not clear to me yet.
Please investigate what is broken by rotating, and create issues in here as more is encountered.
Look for "TODO(#6531)" in the codebase.
### Tasks
- [ ] refactor(Keys_Incoming): Update note processor for key rotation

Outdated issue now so I am closing it


[NFR] Extract also exchange name NYSE/NASDAQ

Hi!
I had same idea to exctract Revolut stocks to be able to import them to Tradingview.
This is the format they use:
NASDAQ:AZN,NASDAQ:BKNG,NASDAQ:FROG,NASDAQ:TXMD,NYSE:U
Do you think is possible also to extract exhcange code with your tool? Thank you!

Hi! Yes it's possible. I'm currently working on a completely new version. I can include such option since it's not a big deal honestly. 😃

What else information is available from Revolut? Eg financial data


Add patch

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

cc https://github.com/conda-forge/staged-recipes/pull/16147

@tkralphs Would you mind checking if the patch is correct? I didn't see a configure argument mentioning Blas, am I misunderstanding something here? Context: #2

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Thanks for merging @wolfv. Would you mind having a look at https://github.com/conda-forge/coin-or-osi-feedstock/pull/3 and https://github.com/conda-forge/coin-or-cbc-feedstock/pull/6 as well when you have some time?


Remove UI items arbiter

It will be the responsibility of the extension loader to ensure an extension can be loaded and the use of the items arbiter no longer makes sense.

fyi @wgoehrig @calebmshafer


chore: added a thing to diff last release dist with local

Description
Adds a tool that will diff either variables.json or drover.json against the last package published.  Hacky a bit because it relies on the unpkg CDN, not fiddling about with git tags etc.  But it works.
How Has This Been Tested?

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

:tada: This PR is included in version 12.0.0-beta.42 :tada:
The release is available on:

GitHub release
npm package (@beta dist-tag)

Your semantic-release bot :package::rocket:

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


New-command: outlook report outlookusagedetails

implements #1216

Coverage remained the same at 100.0% when pulling 9345873bdb14ca59e8e20be55cc49446fb23b74d on plamber:report-outlookusagedetails into 0e5efd9d93e854d43547e9e1396e619ace74e34d on pnp:dev.

Thank you very much Patrick @plamber ! This is not manually merged in dev.


Moved: skyfloogle.gm8x_fix version 0.5.8

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

cc @stephengillie - Pipelines using outdated version of winget


Update regular expressions handling with GCC

What does this implement/fix? Explain your changes.
Fix build issue in AbstractSession.cpp
Does this close any currently open issues?
No
Any relevant logs, error output, etc?
No
Any other comments?
No
Where has this been tested?
Operating System: CentOS 7
Platform: gcc 4.8

See #174 and #175


Display results of multiple queries in Admin UI, Not just the first query.

Fixes #3503

[✓] CHANGELOG.md updated
[✓] Rebased/mergable
[✓] Tests pass
[✓] Sign CLA (if not already signed)

@Vidhuran Thanks for doing this! PR #5710 just moved the location of the admin files (it now lives under services). Would you mind updating your PR to account for the change?

@toddboom : Sure , I'll update and rebase.

@Vidhuran I just merged this in - should go out in the final v0.11.0 release. Thanks!


Add Rails 3.2 server rendering warning to README

As discussed in #483 this PR adds a warning to the project's README for Rails 3.2 precompiled assets and server rendering.
cc/ @rmosolgo

#winning


Integration tests for MSSQL packages

Complete integration testing with MSSQL is needed to make it less likely that these components breake.

Done in 9d095d42a76


Pick logo

A logo is good to have, an icon to have in your browser history / URL bar / tabs / favorites.
I really like this website for icons: https://thenounproject.com/
Haven't been able to find anything yet that I feel describes the project well.

A few that caught my eye:
https://thenounproject.com/search/?q=sequence&i=383356
https://thenounproject.com/search/?q=Metadata&i=38248
https://thenounproject.com/search/?q=sequence&i=383342
https://thenounproject.com/search/?q=data&i=787659

Out of those, I like that first one the best.  It doesn't do much to describe what the website is for, but it is eye-catching.
I've been really struggling to find / design an icon that is descriptive though (other than a boring, generic DNA helix) so maybe we shouldn't set our hopes too high for descriptiveness.

I like the first one also. I think it sort of conveys the website.  The layers convey the idea of "meta" or "above" in that the MetaSRA sits above the SRA as a layer.  I would avoid a DNA helix, it's pretty generic.

Here are a few more that convey "layers" as in "meta" in metadata:
https://thenounproject.com/search/?q=layer&i=1241790
https://thenounproject.com/search/?q=layer&i=1276247
https://thenounproject.com/search/?q=layer&i=1241827
Maybe a compass would be a good logo, since this project is all about "navigating" messy datasets:
https://thenounproject.com/search/?q=compass&i=1265339
https://thenounproject.com/search/?q=compass&i=844727
https://thenounproject.com/search/?q=compass&i=1122571

Going with this one for now:
https://thenounproject.com/search/?q=layer&i=1132013
A variant of one you suggested, that minimizes better to 16x16 for the status bar icon


Use d/squuid to derive task ID's do that they're more tightly clustered.

Changes proposed in this PR

Change UUID generation for tasks to be more temporal.

Why are we making these changes?
Increases the hit rate and the locality for storage of these datomic ID's.

Awaiting green build

Build is green.


WIP : overture api service and overture client skeleton

@Magnitus- please fix conflicts too. thanks~


[WIP] Add map/unmap to xdg-shell

[x] Add unmap support to zxdg-shell v6
[ ] Add map/unmap support to xdg-shell stable

Fixes #688
Fixes #674
Closes #681

Looks like the map/unmap listeners are not removed on view destroy.

Approach looks good. Will do the more in depth testing once WIP status is removed.

Added unmap support to zxdg-shell-v6.
Is a in-depth review possible right now? The only thing missing is xdg-shell stable support, since it's difficult to test I'll backport it from zxdg-shell-v6 when the zxdg-shell-v6 implementation is approved.

How do you reproduce the mpv bug?

But you need mpv-git to be able to reproduce right?

AO: [pulse] 44100Hz stereo 2ch float
VO: [opengl] 1280x720 yuv420p
AV: 00:00:00 / 00:04:13 (0%) A-V:  0.000
[vo/opengl/wayland] error occurred on the display fd: closing file descriptor
[vo/opengl/wayland] error occurred on the display fd: closing file descriptor

mpv 0.28 is required for xdg-shell support. But it shouldn't be garbage on wl-shell either.
Is the fullscreen handling implemented? I tried on drm backend and mpv 0.28 (mpv-git) and it still looks similar to before.

You're right, I'm missing the code reading the next state on new_surface.

Installed development version of mpv and it doesn't fullscreen with the --fs switch. Nice to see the video without tearing though.

Okay, finished all the work for zxdg-shell-v6. Can you try again?
Added a test client to the test plan.

The test works now.

I changed a lot of stuff in zxdg-shell-v6 configure, ack_configure and commit. Do you agree with these changes?

You'll leak the toplevel_state if it never gets acked (~line 900)

I think wlr_xdg_surface_v6_configure needs a dedicated free func.

You made the toplevel state of the configure nullable, but I don't see anywhere you actually use this fact. What is the reason for the change?

I think wlr_xdg_surface_v6_configure needs a dedicated free func.

Good idea, added that.

You made the toplevel state of the configure nullable, but I don't see anywhere you actually use this fact. What is the reason for the change?

It's because configure events are not just for toplevels, they're also for popups. I just wanted to make it clear that the toplevel part of the configure struct doesn't make sense and shouldn't be used when the surface is a popup.

ok good so far :+1:

All right, this is ready for final review.

Fixes crashes in:

https://github.com/swaywm/wlroots/issues/679
https://github.com/swaywm/wlroots/issues/671
https://github.com/swaywm/wlroots/issues/650

Someone else should probably test as well before closing.


MudFormComponent: Fix invalid operation exception

Description
Fixes an issue causing an InvalidOperationException.
I am not sure what kind of impact this change can have on an application, never needed to wrap a StateHasChanged call with InvokeAsync.
Stacktrace (#7578):
System.InvalidOperationException: The current thread is not associated with the Dispatcher. Use InvokeAsync() to switch execution to the Dispatcher when triggering rendering or component state.
   at Microsoft.AspNetCore.Components.Dispatcher.AssertAccess()
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.AddToRenderQueue(Int32 componentId, RenderFragment renderFragment)
   at Microsoft.AspNetCore.Components.ComponentBase.StateHasChanged()
   at MudBlazor.MudFormComponent`2.ValidateValue() in /_/src/MudBlazor/Base/MudFormComponent.cs:line 348
   at MudBlazor.MudFormComponent`2.<BeginValidateAsync>b__62_0() in /_/src/MudBlazor/Base/MudFormComponent.cs:line 243
   at MudBlazor.MudDatePicker.SetDateAsync(Nullable`1 date, Boolean updateValue) in /_/src/MudBlazor/Components/DatePicker/MudDatePicker.cs:line 54
   at MudBlazor.TaskExtensions.AndForget(Task task, Boolean ignoreExceptions) in /_/src/MudBlazor/Extensions/TaskExtensions.cs:line 33

Previously this test would pass but threw an exception:

Now it passes without exception:

How Has This Been Tested?
Re-ran all unit tests. Had to adapt one ColorPicker test for flakiness.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

For the context, the error was explored during this CI run: https://github.com/MudBlazor/MudBlazor/actions/runs/6361995369/job/17276757228?pr=7578
Do I understand it correctly, that this exception is not related to #7578 PR and it's was a flaky test introduced here #7564?
I just rerun the CI and next run was without errors, so I assume it's flaky.

I am not sure what kind of impact this change can have on an application, never needed to wrap a StateHasChanged call with InvokeAsync.

Usually, there shouldn't be any impact, if the call is on the correct the StateHasChanged will be invoked as usual, if not then in will be queued in the dispatcher.
My understanding the the problematic line is here of the Date parameter property of : https://github.com/MudBlazor/MudBlazor/blob/160757ef6a74d002b5953e62a133988d8bd1827d/src/MudBlazor/Components/DatePicker/MudDatePicker.cs#L27
which this test is calling: https://github.com/MudBlazor/MudBlazor/blob/160757ef6a74d002b5953e62a133988d8bd1827d/src/MudBlazor.UnitTests/Components/DatePickerTests.cs#L1199
and it not always doing it in the UI context?
Shouldn't you modify the component parameters through SetParam ->  comp.SetParam(p => p.Date, oldDate); to avoid this?
@igotinfected can you please test if the SetParam fixes the test without the InvokeAsync change, because I think it's better to fix the test in the correct way, instead of adjust the core code, because I don't think this validation method should be called outside of the UI anyway? @henon

Do I understand it correctly, that this exception is not related to https://github.com/MudBlazor/MudBlazor/pull/7578 PR and it's was a flaky test introduced here https://github.com/MudBlazor/MudBlazor/pull/7564?
I just rerun the CI and next run was without errors, so I assume it's flaky.

@ScarletKuro Seems like it, the CI for that PR has the exception in the stacktrace but didn't fail: https://github.com/MudBlazor/MudBlazor/actions/runs/6355882553/job/17264634698
The re-run you launched for my other PR passes, but the exception is still present: https://github.com/MudBlazor/MudBlazor/actions/runs/6361995369/job/17283133249

@igotinfected can you please test if the SetParam fixes the test without the InvokeAsync change, because I think it's better to fix the test in the correct way, instead of adjusting the core code, because I don't think this validation method should be called outside of the UI anyway?

Good spot! Can't reproduce the exception if I swap out to SetParam. I'll gladly limit my changes to the test itself but is there a way to avoid this from repeating itself? Seems easy enough to miss, and it's weird that my other PR's CI failed while others passed, even though the exception is still present in those. Locally I get the exception for every run, but cannot reproduce a test run fail.

@ScarletKuro Seems like it, the CI for that PR has the exception in the stacktrace but didn't fail: https://github.com/MudBlazor/MudBlazor/actions/runs/6355882553/job/17264634698
The re-run you launched for my other PR passes, but the exception is still present: https://github.com/MudBlazor/MudBlazor/actions/runs/6361995369/job/17283133249

Wow, I didn't notice. Totally unexpected for me that tests pass but there is exception under tests, pretty weird behavior for me which shouldn't be acceptable.
In the #7564 PR run https://github.com/MudBlazor/MudBlazor/pull/7564/checks
And in merge to the main branch https://github.com/MudBlazor/MudBlazor/actions/runs/6361049251/job/17275208289

Good spot! Can't reproduce the exception if I swap out to SetParam. I'll gladly limit my changes to the test itself

Yeah, lets just remove the InvokeAsync change, and fix the OldDateWithDefinedKind_SetValue_KindUnchanged and GridView_ChooseColor()

Is there a way to avoid this from repeating itself? Seems easy enough to miss

Don't think so, this is a job for the code review (us) to not miss this, this time it went through :)
At least I don't know any way to make unit test to alert this, it's pretty weird that there is exception but unit test is silent like it may or not may fail the test run.

Pushed the change!

Wow, I didn't notice. Totally unexpected for me that tests pass but there is exception under tests, pretty weird behavior for me which shouldn't be acceptable.

From what I can tell the reason we get a stacktrace at all is because of the default implementation of MudGlobal.UnhandledExceptionHandler:
https://github.com/MudBlazor/MudBlazor/blob/bd04d942a1792e90ff2c00bd87612d18980a3c67/src/MudBlazor/Services/MudGlobal.cs#L27-L31
Which is then called here:
https://github.com/MudBlazor/MudBlazor/blob/bd04d942a1792e90ff2c00bd87612d18980a3c67/src/MudBlazor/Extensions/TaskExtensions.cs#L28-L32
No clue if there is any way to make tests fail with that though. You would have to await the AndForget's for the exception to be have an effect, which would defeat the purpose of AndForget.

Thanks @igotinfected !


Corrected spellings of مُنْكَرَ from munqar to munkar

I have replaced all the references and made sure that there is no unintended replacement.
I did this by replacing exact words - For eg - instead of replacing all "Munqar" to "Munkar" I changed ""grade":"Munqar Daif" to ""grade":"Munkar Daif" and repeated this for all the possible combinations present in all the files.

This change is

Thanks brother, but this is not the right way to change. Everything needs to be regenerated (i.e all the files needs to be regenerated using create command) to make sure there aren't any mistakes. I will complete this task together when I add jamia kamil.

should be fixed now


shutdown Cluster object in sample

trivial update to README

@snazy danke schön. Could you please update CassandraSimulation.scala and CqlCompileTest.scala as well?

My pleasure :)


Drop from 100 to 5 for concurrent goroutines.

On advice from deads this is probably a better idea, mostly for
debugability in logs, but it's a common value from Kube that has never
gone wrong for them, so it should be good for us as well.

/test e2e

/lgtm


Exclude unneeded progs

Description
Reduce number of bpf programs we include into the final probe. This helps to reduce the probe size, and as a side effect helps fighting debug log truncation due to its large size (it contains relocations for all of those progs).
Checklist

[ ] Investigated and inspected CI test results
[ ] Updated documentation accordingly

Automated testing

[ ] Added unit tests
[ ] Added integration tests
[ ] Added regression tests

If any of these don't apply, please comment below.
Testing Performed
Manual testing.

How do we keep this synchronized when either new system calls are supported in Falco or new system calls are added to collector (progs_in_use)?


"Code Lens" support similar to VsCode + Ionide for function types

After switching to Rider every day now for F#, this is the only thing I miss from VsCode + Ionide.
I think it's an awesome feature for F#, how hard would it be to get something similar in Rider? Does the IDEA platform support this kind of annotation?

As I implemented code lens for VIsual Studio I also thought about implementing it for Rider and so talked with someone about this but was told that there isn't such an API available yet for an suitable implementation.

https://youtrack.jetbrains.com/issue/RIDER-2278

Are there updated plans for this now that CodeVision has been implemented in Rider? :)

Any updates?

@tylerhartwig @vasily-kirichenko It's planned for 2019.2.
To get updates you can vote for the issue about the feature.

I'm still holding my breath for this feature :D
@auduchinok: Is there any ETA?

@drhumlen

😝

@vasily-kirichenko did you implement it?

No, it was our awesome @auduchinok

It's a bummer, I would have loved to do it myself 😄 However I didn't know that the necessary stuff is already in IntelliJ.

@vasily-kirichenko : woa woa wi wa! nice! 😄
Is there any way to try it out now? What do I have to do?

@vasily-kirichenko is being shy here. He's done a great job of prettifying presentation and covering some cases missing in my prototype. 🙂
@drhumlen You'll need to build the plugin locally to test it. The most up to date version is in Vasily's PR. It's still missing some crucial parts (like properly registering the provider and adding tests) so me (or Vasily 🙂) will have to finish all the stuff before merging it in.

@auduchinok: I see. It's nice to see it's in progress. I would very much like to use it right away, even if it's not 100% (registering providers?) or lacking in tests.
Is there any way for you toorelease it as an EAP/Beta even if it isn't perfect? And then finish up in upcoming PRs? Perhaps it could be a beta-toggle in the settings so people won't complain when it's not a 100%?

@drhumlen It's quite easy to build it yourself. See the dev guide. It's just a couple of gradle commands and a single .net solution build.

@vasily-kirichenko: I see. I tried cloning your repo and opening it in Rider, but there's just too many IDE errors. Something about my local mono installation being too new (I have 5.x, but the project seems to require 4.x-series?). Not sure how to juggle multiple different versions of mono on my machine simultaneously (I'm not a .NET expert, as you can tell).
Is there any chance you could compile/zip it for me (and other future thread-visitors) so that I can install it in my current Rider? 😄

The inferred types provider for Code Vision is now merged in and most likely will be available for testing in the next EAP build.
Thanks to @vasily-kirichenko for his help with this feature.

This feature turned out really great btw 😄  It's very helpful to watch the type inference as I write out my function; even more so for function that are polymorphic. Thanks for making this @auduchinok  @vasily-kirichenko !
Question though: As of now, it only shows inferred type for top-level function/bindings & top-level inside module/class. It would be great to have the option to also see the type of local let-bindings – perhaps as an option? My functions and variables are mostly inside another function/binding, so an option to show inferred type for all bindings would be a game changer

@drhumlen After using the feature for a while, and because of https://youtrack.jetbrains.com/issue/RIDER-30413, I've switched it off :( It adds too much noise and effectively "reformat" code so that there are always empty lines.
So, I'm against showing even more lenses.

@vasily-kirichenko: Oh, I show the lens information inline (ie. on the same line as my code), so I don't have that problem fortunately. I also use a dim/gray color for the lens information so it's never distracting. I highly recommend trying that. Having type information ready without the need to hover (which often doesn't work for me fsor) is gold.
...But it's definitely a good idea to make it optional so people who only prefer to have it "top-level" can stick with that.

I too would like additional, local lens support for type inference. I agree it would make sense to have them off by default, it would be really nice to have them separately configurable as well, so that some lenses may be inline (for local functions, ect), and top level ones could be placed elsewhere if desired.
Personally, any scrolling effects do not bother me, and I love how configurable the IntelliJ platform is for each user.

@auduchinok: What do you think?

@auduchinok: What do you think?
I would personally prefer using inline type hints than the lenses for local symbols. In any case it'd need some more work, though. :)

Adding lenses and turning them off by default may make some sense but I think almost nobody will ever turn them on as not many people seem to tinker with such settings at all. I don't mind having this feature optionally but, given the amount of people I expect to ever enable it, I can't say it'd get a high priority.

On by default then, with the option to turn it off? Also, people who dont tinker aren’t real developers if you ask me ;) should we really cater them first.?
Using lenses will make it even less intrusive than the inline rendering atm, so that sounds good.
@auduchinok  But would it be possible to extend the current behaviour to local let-s now as a low-hanging fruit? Is it any harder than restricting it to top-level let-s?

I also think it being on by default wouldn't be a big deal, if the lens default location was inline rather than overhead.


Possible typos in Chapter 3 section Testing withAuth code snippets.

Hello async-labs team,
Thanks for giving out this project!
I am wondering if there are typos in the following picture.

Instead of
const user = ctx.query ? ctx.req.user && ctx.req.user.toObject() : globalUser;
const user = ctx.req ? ctx.req.user && ctx.req.user.toObject() : globalUser;
should be the correct code snippets, right?
Here is the section link:
Chapter 3 Testing withAuth

@cindy50633 thanks for reporting! You are correct. I fixed this in the book content and in the book code with commit 0e054e9072cec02eaa2d4b607e92bdf9d5be712f


Question about Frame Sync Index [D435][HW sync]

Required Info

Camera Model
D435

Firmware Version
5.10.3

Operating System & Version
Win 10

Kernel Version (Linux Only)
-

Platform
PC

SDK Version
2.16.1

Language
C

Segment
VR/AR

Issue Description
Hello guys,
I am using two D435 and connected their HW sync pin as the whitepaper instructed:

The SW seems working, both camera supports RS2_OPTION_INTER_CAM_SYNC_MODE and I can setup one camera as Master and the other as Slave:
bool support_hw_sync = depth_sensor.supports(RS2_OPTION_INTER_CAM_SYNC_MODE);
if (support_hw_sync) {
float sync_mode = found_master ? (float)1.0 : (float)2.0 ;// [0:default/1:sync master/2:sync slave]
depth_sensor.set_option( RS2_OPTION_INTER_CAM_SYNC_MODE, sync_mode );
Here comes the problem when I want to verified the hw sync result.
The way is using some information as "frame sync index", with same "frame sync index" , the content captured by different camera should be the same.
I have tried the following metadatas as "frame sync index":
[1] RS2_FRAME_METADATA_FRAME_TIMESTAMP or RS2_FRAME_METADATA_SENSOR_TIMESTAMP
According to it is stated here (https://github.com/IntelRealSense/librealsense/issues/2188)
These timestamp are counted by individual device clock, which means they are not aligned at all.
By my experiments, it is true that when HW sync mode is on, the same frameset polled at the same time from different camera,
their FRAME_TIMESTAMP and SENSOR_TIMESTAMP are not aligned
=> it can not be used as "frame sync index".
[2] RS2_FRAME_METADATA_FRAME_COUNTER
The whitepaper says that with hw sync, the counters are aligned between cameras;
However, according to my experiment, they are not:
// camera 1, serial number<PHONE_NUMBER>33, polled at 30:813, frame counter is 172
[10/17/18 16:35:30:813][8152 018664][D] [825312070233] polled frame[172] timestamp<PHONE_NUMBER>757.000000)
// camera 2, serial number<PHONE_NUMBER>04, polled at 30:814, frame counter is  215
[10/17/18 16:35:30:814][8152 018664][D] [819312070204] polled frame[215] timestamp<PHONE_NUMBER>756.000000)
=>the frame counters are NOT aligned and not useful
[3] RS2_FRAME_METADATA_BACKEND_TIMESTAMP
So I turn to BACKEND_TIMESTAMP.
At first glance, it seems doable if I use this timestamp as reference, the framesets acquired from rs2::pipelines are perfectly aligned (by checking the IR images shooting a same stopwatch)

Unfortunately, with more test, I have noticed that sometimes the BACKEND_TIMESTAMP are same even the frames are polled at different time:
// camera 1, serial number<PHONE_NUMBER>33, polled at 30:877, backend timestamp is<PHONE_NUMBER>821
[10/17/18 16:35:30:877][8152 018664][D] [825312070233] polled frame[174] timestamp<PHONE_NUMBER>821.000000)
// camera 1, serial number<PHONE_NUMBER>33, polled at 30:937, backend timestamp is<PHONE_NUMBER>821
[10/17/18 16:35:30:937][8152 018664][D] [825312070233] polled frame[175] timestamp<PHONE_NUMBER>821.000000)
// camera 1, serial number<PHONE_NUMBER>33, polled at 30:940, backend timestamp is<PHONE_NUMBER>821
[10/17/18 16:35:30:940][8152 018664][D] [825312070233] polled frame[176] timestamp<PHONE_NUMBER>821.000000)
There are 3 consecutive frames with the same BACKEND_TIMESTAMP!
My question is, is there any information that I can used as "frame sync index"?
Or is there any official way to make sure the framesets acquired at the same time are captured exactly at the same time?
Thank you!

[Realsense Customer Engineering Team Comment]
Hi @shane7226107,
Backend timestamp could be used as the reference.
What is the resolution and frame rate, and streams that are configured when the test was performed?
Regards,
Yusheng

Hi Yusheng,
I enabled Color, Depth and IR left stream,
The resolution resolution of them are all  640x480 at frame rate 30fps.
Thanks,
Shane

[Realsense Customer Engineering Team Comment]
Hi Shane,
This might be related to the Windows OS as I have not yet seen the repeated backend timestamps for different frame ids on Linux. I will test it on Win 10 later.
Is it possible for you try the same code on a Linux host?

Hi RealSense,
Sorry I can not test the same code on a Linux host, my workstation are all windows environments.
Thanks

We have the same issue of multiple consecutive frames with the same BACKEND_TIMESTAMP. Also on Windows 10. RGB (full HD), IR (640x480) and depth (640x480) streams running at 30 fps.

I've now tested the backend timestamp on 4 different installations:
✔ Ubuntu 18.04 *
✔ Windows 10, version 1803
❌ Windows 10, version 1809 *
❌ Windows 10, version 1809
@shane7226107 What Windows version are you running?
*) Same machine

Hi Trenneman,
my windows version is Win 10 64 bits ,version 1803, build 17134.407


Actions-Rails: Issues

Story:
In actions.py/general_question Method, it should be passed its arguments such as model, uuid, image_search but it always sets them up with the default values, which configured by default in general.co
https://github.com/ttt246/Brain/blob/main/src/rising_plugin/guardrails-config/actions/actions.py#L40
https://github.com/ttt246/Brain/blob/main/src/rising_plugin/guardrails-config/general.co#L18

You can follow this step:

compose json including the arguments(query, model, uuid, image_search) as its keys
convert it into string
pass the string to gaurdrails's input.
in actions.py/general_questoin, please parse the parameters in json.

To: @jupiter0913


Implement forEachItem for JSON object

Users have ongoing complaints about the difficult in parsing  JSON which has arbitrary structure, most often in the form of JSON API responses which were designed to return objects keyed by arbitrary identifiers rather than just returning array as the vast more of APIs do.
Examples provided in #2186 include:

Wikimedia Commons -> https://commons.wikimedia.org/w/api.php?action=query&titles=File:Google 2015 logo.svg&prop=imageinfo&iiprop=url&format=json
MySociety MapIt -> https://mapit.mysociety.org/point/4326/0.1293497,51.5464828

And the issue has been discussed both on the OpenRefine mailing list and StackOverflow:

https://groups.google.com/d/msg/openrefine/O72bg8GZkj8/vBoEzmGxBwAJ
https://stackoverflow.com/questions/10782737/google-refine-iterate-over-a-json-dictionary

Proposed solution
Similar to the forEachIndex function that we have for arrays, we would implement a forEachItem iterator control which would accept a JSON node object, two variable names (one for key and one for value), and a GREL expression. It would iterate over each item in the JSON object, assigning the string value of the key to the key variable and the value for the item to the value variable and then execute the GREL expression.
The control would only accept a JSON object to iterate over and would explicitly not support iterating over objects that implement the HasFields interface.
Alternatives considered

extend forEach() to iterate over JSON object items. This wouldn't provide access to the field name / key, but would probably satisfy the vast majority of cases since the key is usually included in the child object as an id.
implement iteration for every object that implements HasFields. Since OpenRefine HasFields objects typically have a small fixed set of fields, this seems to have limit value.

@tfmorris I'm trying to wrap my head around your solution and how the function would actually look or work with a sample GREL expression and some sample JSON?  Can you provide that also please? It's probably just me.  Hmm, this "feels" like something already capable with the Filter syntax (in, subsetof) in JSONPath or JSONPath-Plus?
JSONPath
To retrieve all books that have the isbn property
Use the following expression:
$..book[?(@.isbn)]
maybe I'm wrong and there's nothing within the JSONPath bag of syntax that is close to your forEachItem, but I'll wait for your example GREL and JSON sample.

I'm trying to wrap my head around your solution and how the function would actually look or work with a sample GREL expression and some sample JSON?

Look at forEachIndex and replace "variable i" for the index value with "variable k" for the key value. Everything else stays the same.
forEachItem('{"key1": "vala", "key2": "valb"}'.parseJson(), key, value, key[-1]+value[-1]) returns  ["1a", "2b"]
In every example I've seen, the keys are redundantly encoded in the value object, so I've implemented the simple case first to see if that's good enough.

@tfmorris With this proposal, could it then help to implement a new option on the Split multi-value cells?

by Json objects in Json array

or perhaps we could make it just

by objects in an array

"DTName","SDTCode","SDTName","JSON"
"BIRBHUM","'02249","MURARAI -I","[{""name1"":""Birnagar"",""vid"":""2008000101303000""},{""name1"":""Birnagar"",""vid"":""2010000501792500""}]"

That sounds like a UI thing while this issue proposes a new GREL function (if #3149/#3150 don't satisfy the bulk of the need, which I suspect they might).
Split multi-valued cells could conceivably be extended to accept any GREL expression that generates an array, but it's not clear how many users would need that much power -- and you could compose that by doing separator.join(array_generator()) and then splitting on your separator.

@tfmorris Ah, I missed your PR, let me try the recent snapshot version that includes it.

Hi there, I would like to resolve this issue, please assign me!

@satyamksharma I realize you are assigned to two good first issues: this one and #5656. I would prefer if you were only assigned to one: we are running short of good first issues and other applicants want to make contributions to the project. Which of those two issues are you currently working on? I would unassign you from the other one. Thank you!

@wetneb I appreciate your concern and please go ahead but unassign the other one not this one. Thank you

So instead of creating the forEachItem control that I originally proposed, I've instead drafted a pull request extending forEachIndex to iterate over key/value pairs in addition to array index/value pairs. What do people think of that alternative approach?

So instead of creating the forEachItem control that I originally proposed, I've instead drafted a pull request extending forEachIndex to iterate over key/value pairs in addition to array index/value pairs. What do people think of that alternative approach?

Been trying to think of where this would be a problem, and the only scenario I've come up with is if the user doesn't know ahead of time whether they are dealing with an array or an object. At the moment obviously the array would work, and the object should give an error[1]. This, in theory, allows the user to not worry about the values that aren't arrays when applying forEachIndex - they can either store the error (although see note below) or blank, or the current value.
However, since the likelihood of having data where the same column contains sometimes an array and sometimes and object seems slim AND the user can use type() to check what's going in if they need to, I don't think this is really an issue.
So in summary - happy for forEachIndex to be extended as proposed

Note: it looks like forEachIndex currently returns a string rather than error if it is given something other than an array which is odd

@thadguidry No existing functionality is being proposed for removal.
@ostephens re:

Note: it looks like forEachIndex currently returns a string rather than error if it is given something other than an array which is odd

It seems irregular, but it's how the public Control interface is defined:
https://github.com/OpenRefine/OpenRefine/blob/c457bc44b9f8a530dccc7ad81c95598824bb6ada/main/src/com/google/refine/grel/Control.java#L51
so changing it would require changing it for all controls (ie for(), if(), etc), not just forEachIndex(), plus the only code that uses this is the GREL Parser, which immediately converts it to an exception:
https://github.com/OpenRefine/OpenRefine/blob/c457bc44b9f8a530dccc7ad81c95598824bb6ada/main/src/com/google/refine/grel/Parser.java#L219-L221

so changing it would require changing it for all controls (ie for(), if(), etc), not just forEachIndex(), plus the only code that uses this is the GREL Parser, which immediately converts it to an exception:

Ah thanks @tfmorris  - I think the difference I was seeing (in 3.7.4) you've corrected with the PR linked her - the code was:
return ControlEvalError.foreach_index();
and is now
return new EvalError(ControlEvalError.foreach_index());
which brings it in line with the other controls

Oh, I was looking at the wrong code. You're talking about this:
https://github.com/OpenRefine/OpenRefine/pull/5997/files#diff-3e1b7f326e39cafe48a94652d4e0816d22c6b530878eab2d4823dc73d16a6f5cR79-R80
That issue was apparently introduced during the backend localization a year ago and we didn't have any test coverage for it. Although I improved the tests, it looks like that line still isn't covered. :(
https://coveralls.io/jobs/126170057/source_files/12525500499#L80


Artist alternate names types are imprecise

Take poor Woody, again.
http://data.americanartcollaborative.org/page/saam/constituent/id/1059/alt_name
He's got alternate names, but they appear to be typed as both a variant_name and a birth/maiden name.  These seem like different types of variant names, but they've all been mushed into a single entity.

Fixed. Separated out the alternate names.


Remove node-api

This is the first pull request for https://github.com/paritytech/substrate/issues/750.
There is quite some generic where clause explosion in node-consensus, but that will be solved by @gnunicorn as he moves everything into core.

node/api/src not removed yet?

Yeah, I rebased and the lib.rs file sneaked into the code base again.


HHH-16594 Query cache miss when query contains multiple parameters

Reproducer for issue HHH-16594.

Thank you for the reproducer, superseded by https://github.com/hibernate/hibernate-orm/pull/6658.

Thanks for the fix 👍


Escape HTML in details pane

Came up in a cache dump from a support rep.
As a related task, should investigate support for com.inductiveautomation.factorysql.groups.storedprocgroup.SPHistoricalData. I tried for a little while to get this class to show up, but the instance from the customer had Jython objects serialized within, which would significantly bloat the download size, which I'd like to avoid. Not sure the best path forward.

I literally implemented this on the private fork! Not quite the syle you went with though. It's a shame that there's no suitable html escape function built-in. I spent quite some time trying to find one.
This issue actually surfaced in thread dumps as well, where function arguments surrounded by <> would be empty.

Ah, yeah, that makes sense. I think technically this could be done with Java stdlib URLEncoder, but this is faster and easier.


Allow the react component animation duration to be configurable

Currently, the animation duration in our react component is set at 200ms. This is hardcoded. It would be great if the duration could be broken out into a property that could be customized by the user.

Add a property for animation in length and animation out length
Give them a default value of 200ms by adding to the property default values here.

Thanks!

Can i get this one? :)


Fail tests fast

+1.  Makes a ton of sense.  At some point I want to "parallelize" each of those "sets" of tests as well, but for now this should help a lot in debugging.

Not advocating we do this just yet on master, but anything to shorten the failure cycle so we can see what is going on.

And, of course, this branch passes.
@corylanou -- I'm going to merge this now. I think we need this to getter better information about why Circle is failing. It's very difficult to read the logs right now.


Fixed incorrect date cut-off time on forwarding events. Take timezone…

… into account.

Description

This fixes the visual bug on the DateLineView in the forwarding event page so that it cuts off at 12am according to the devices timezone, instead of cutting off at 12am UTC regardless.
Motivation and Context

I wanted to make this change because as I am living in a GMT+8 timezone, the cut-off for 'Today', 'Yesterday', and previous dates happens at 8.00am instead of 12.00am in the current version.
How Has This Been Tested?

I tested this by building the debug apk and running it on my device Samsung Galaxy S21.
I tested using my default GMT+8 timezone and also switching to a GMT-7 timezone to see the difference.
While doing this, I came across another issue where if your timezone is in the negatives, the first DateLineView will show as 'Yesterday' instead of 'Today', and it will display another 'Yesterday' for the next cut-off making the page show 'Yesterday' two times. This has also been fixed in this PR.
Screenshots (if appropriate):
Unable to take screenshots due to security policy.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the Contribution document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Thank you so much!
I recently noticed it being off on my device for one hour as well. Yesterday I wanted to fix it, but didn't find the time. Abd now I see it is done! :)
I'll test it when I am back from work.
Furthermore I guess the transaction history has the same problem...

Apologies in advance if my code is not very nice. I am a newbie. Feel free to modify it as you see fit.

Furthermore I guess the transaction history has the same problem...

I haven't looked at transaction history yet. At this point that page is not loading anything for me.

Hang on. I just found out my code does not 100% work as intended. Currently here at 5.57am, all forwards from 12.00am until now is shown above "Today" (not under any date headers), while all forwards that were yesterday are now shown under "Today", which is not intended behaviour. This is quite confusing.
I will cancel the pull request for now, and will re-request once I figured it out.

I am still confused why the getYesterday() and getToday() functions need to be changed

I changed those functions to fix the "two Yesterdays" issue when the timezone is set to negative e.g. UTC-8 (Los Angeles). It works when I tested it yesterday but now I am not so sure. Let me close this PR first.

Okay, no hurry, I am quite busy untli the weekend anyway.
I actually saw that the DateLine on the transaction history is done quite differently with no complaints in the last years, so I suspect it is actually working.
There I used SimpleDateFormat which already takes TimeZone into account.
Maybe looking at that helps.

You were right. I used the code from transaction history and used it on forwarding events and it now works beautifully. Thanks for the suggestion. New PR is here https://github.com/michaelWuensch/BitBanana/pull/15.


Repository name is misspelled?

Add an h:
s/kubernetes-webooks-framework/kubernetes-webhooks-framework/
Also, should this have a java- prefix? This is the first time we've really done something non-Go, so I'm not sure how best to differentiate.

omg... fixed the typo.. I have locally still the old name (this was renamed at some point)

Also, should this have a java- prefix? This is the first time we've really done something non-Go, so I'm not sure how best to differentiate.

agree, that should be somehow differentiated,  I don't like the spring boot starter name either:
https://github.com/operator-framework/operator-framework-spring-boot-starter
any suggestions @metacosm @andreaTP ?

maybe rename:
operator-framework-spring-boot-starter ->  java-operator-sdk-spring-boot-starter ?
kubernetes-webhooks-framework -> java-kubernetes-webhooks-framework ?

cc @shawkins @manusa

My 2 cents:

Also, should this have a java- prefix?

I would consolidate on a short name that is idiomatic for the project, i.e. josdk (capitalized or not ...)
operator-framework-spring-boot-starter -> josdk-spring-boot-starter
kubernetes-webhooks-framework -> josdk-webhooks

My 2 cents:

Also, should this have a java- prefix?

I would consolidate on a short name that is idiomatic for the project, i.e. josdk (capitalized or not ...)
operator-framework-spring-boot-starter -> josdk-spring-boot-starter kubernetes-webhooks-framework -> josdk-webhooks

yeah, this was an alternative also was thinking, I was more hesitant on josdk-webhooks, but tbh probably this would be better.

if @metacosm agrees, I'm fine to remove those. (To the ones Andrea suggested)

Agreed on the josdk-prefixed names.

maybe would be better for webhooks josdk-webhooks-framework, webhooks is quite general, I for sure would associate for some callbacks or something for controllers, rather than something else.

From what I see around, ppl on GH tend to use the shorter possible name for projects.
Usually, keeping the bare name for the "main" project and adding suffixes for the satellites e.g.: -starter.
Also, this project is under the organization operator-framework and I tend to think that most ppl expect the main projects here to be "framework"s.
That said, no strong opinions here, just defending an opinionated POV.

ok convinced :) and  renamed. If we receive some complain we can always re-evaluate.

Thanks! Looks great.