Inject system properties into Docker environment

Description
Is there a way to inject -Dkeycloak.migration.strategy=OVERWRITE_EXISTING ?
Motivation
Further customization of docker setup to provide more flexible ways of tailoring the KC configuration.
Details
In our tests we need to override master realm with a predefined configuration file.

The -Dkeycloak.migration.strategy is an option from the legacy (Wildfly) Keycloak distribution. The current version (2.x) from this project doesn't support the legacy Keycloak anymore. Only the Quarkus distribution is supported. And with Quarkus, import on startup can only import new realms, no overwrites are possible, AFAIK. Other imports need a custom lifecycle of the container, which is not supported by this extension.

@dasniko you are right. After some debugging of quarkus distribution I found out that it's exactly the way you describe.


feat: added fastlane install

This will likely go out in the August update.
@ryanbourdais This is good to merge.


Prevent the rotary encoder from setting min limit above max limit in the frontend

This PR adds #374 fix for rotary encoder

My observations from testing:

normal rotary encoder movement everything seems fine.
if the rotary encoder is moved too fast, the value goes beyond the min, max but comes back to the disabled limit, I'm not sure if we can fix this without altering the RotaryEncoderController

I'm able to reproduce your observations. However, I also was able to quickly turn the rotary encoder to set min > max, and the min didn't get automatically moved back down to be at max again. Only after I turned the rotary encoder again did the min get moved back down to the max value.
From skimming over the code, I see code adjusting the min/max params passed to ValueClicker based on a disableIncrement/disableDecrement local state. I think the brittle behavior describe above is occurring because of this. Do you think we can set the min and max params for ValueClicker without relying on disableIncrement/disableDecrement?

@ethanjli everything seems to be working fine on my end now with the latest changes. can you confirm the same?

It works. I did find a further condition in testing: when adjusting the upper alarm limit, if I rotate the rotary encoder and press the decrement button at nearly the same time, I am able to force a race condition which allows the upper limit to be set to below the lower limit. I'm not always able to because it really depends on the relative timing of events (when the rotary encoder message arrives at the frontend vs. when the decrement button is pressed vs. when the decrement button becomes disabled - usually I have to turn the dial and then after a very short moment then press the decrement button), but I'm able to do it often enough. I think we do need to fix the logic related to handling of increment/decrement buttons so that the min and max ValueClicker limits are always enforced on them independent of whether the buttons are disabled; we could do that in this PR (since it's so small right now) or a future PR (if that will be more work than just a small hotfix) - the proper solution for handling of increment & decrement buttons will be such that even if we never disable the buttons, pressing them when lower = upper will have no effect. Do you want to fix that in this PR or separately?

It works. I did find a more subtle bug in testing: when adjusting the upper alarm limit, if I rotate the rotary encoder and press the decrement button at nearly the same time, I am able to force a race condition which allows the upper limit to be set to below the lower limit. I'm not always able to make this happen because it depends on the relative timing of events (when the rotary encoder message arrives at the frontend vs. when the decrement button is pressed vs. when the decrement button becomes disabled - usually I have to turn the dial and then after a very short moment then press the decrement button), but I'm able to do it often enough. I think we do need to fix the logic related to handling of increment/decrement buttons so that the min and max ValueClicker limits are always enforced on them independent of whether the buttons are disabled; we could do that in this PR (since it's so small right now) or a future PR (if that will be more work than just a small hotfix) - the proper solution for handling of increment & decrement buttons will be such that even if we never disable the buttons, pressing them when lower = upper will not allow lower > upper. Do you want to fix that in this PR or separately?

I think it's best if we fix it in this PR, as you said it's too small currently, and finish it by the end of 0.12 milestone

the proper solution for handling of increment & decrement buttons will be such that even if we never disable the buttons, pressing them when lower = upper will not allow lower > upper

I will follow this approach.

I tested this two ways:

On the Raspberry Pi, trying to reproduce the previous behavior. I have not been able to reproduce the behavior.
On my computer commenting out the disableIncrement and disableDecrement code and confirming that even when lower == upper, when I press the increment and decrement buttons I am never able to reach lower > upper. This works.

I also see that in ValueClicker, AlarmsPage, and AlarmModal, the disableIncrement and disableDecrement variables are now only used for setting the enable/disable state of those buttons, and not for anything else. So I think the issue is fixed.
From looking at those three files, I see that each of them makes its own local useState for disableIncrement and disableDecrement, and each has its own useEffect for setting those states; and both AlarmsPage and AlarmModal have their own sections in their returned components making grid containers of ValueClicker pairs for increment/decrement and slider and label display. Is there any way we can reduce the duplication of states and/or code, either in this PR or a future PR?

Yeah since we are now passing min and max dynamically disableIncrement and disableDecrement are redundant, I will clean it up in this PR.

@ethanjli since I added the fix for #386 in this PR, that would need a confirmation from you, and light testing after cleanup.
seems to be working fine on my end.


器件创建api调用实例

你好 我这边想尝试利用api来放置单个器件 但是放置的时候总是报错 原因应该是libraryUuid没有办法获取 在console里面打印总是空。如下是我编写的程序 想放置一个电阻 能否帮我看看这种形式问题出在哪里？或者能否提供一个使用实例 让我更好地了解。
/**
 * 入口文件
 *
 * 本文件为默认扩展入口文件，如果你想要配置其它文件作为入口文件�?
 * 请修�? `extension.json` 中的 `entry` 字段�?
 *
 * 请在此处使用 `export`  导出所有你希望�? `headerMenus` 中引用的方法�?
 * 方法通过方法名与 `headerMenus` 关联�?
 *
 * 如需了解更多开发细节，请阅读：
 * https://prodocs.lceda.cn/cn/api/guide/
 */
import * as extensionConfig from '../extension.json';

// eslint-disable-next-line @typescript-eslint/no-unused-vars
export function activate(status?: 'onStartupFinished', arg?: string): void {
    eda.sys_IFrame.openIFrame('/iframe/index.html', 500, 500);
}

export async function about(): Promise<void> {
        const comp_info = (await eda.lib_Device.search("Resistor")).shift();
        if (!comp_info) {
            throw new Error("Failed to create info");
        }

        //let library_uuid : string = await comp_info.libraryUuid;
        eda.dmt_Workspace.toggleToWorkspace();
        const library_uuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
        if (!library_uuid) {
           throw new Error("Failed to get project library UUID");
        }
        let c_uuid : string = await comp_info.uuid;

        const comp : {
            libraryUuid:string
            uuid:string
        } = {libraryUuid:library_uuid, uuid:c_uuid};

        console.log("libraryUuid: ", library_uuid, "uuid: ", c_uuid);

        const cr  = await eda.sch_PrimitiveComponent.create(comp, 0, 0);
        if (!cr) {
            throw new Error("Failed to create ISCH_PrimitiveComponent.");
        }

        const c: ISCH_PrimitiveComponent = cr;
        //console.log("Component Created");

        c.done();
}

You can use Debug Mode for this: https://prodocs.easyeda.com/en/api/guide/invoke-apis.html#entering-debug-mode

You can use Debug Mode for this: https://prodocs.easyeda.com/en/api/guide/invoke-apis.html#entering-debug-mode

Hi bro! Thanks for your response. As I have debugged in debug mode, I have got an error as follows:
Uncaught (in promise) Error: 数据不符合规范
    at de.setState_ComponentUuid (api.js:4:147310)
    at de.create (api.js:4:142137)
    at Ai.create (api.js:4:137690)
    at Object.about (eval at hr (api.js:7:67), <anonymous>:46:49)

And this problem caused by following piece of line from my original implementation (as posted above):
const cr  = await eda.sch_PrimitiveComponent.create(comp, 0, 0);
This maybe because of libraryUuid I have got from const library_uuid = await eda.lib_LibrariesList.getSystemLibraryUuid(); is empty. But I am confused why is this happen. Can you notice anything wrong on code?

Using your method, I was able to get the library_uuid and c_uuid with the following code:
const comp_info = (await eda.lib_Device.search('Resistor')).shift();
const library_uuid = comp_info.libraryUuid;
if (!library_uuid) {
    throw new Error("Failed to get project library uuid!");
}
const c_uuid = comp_info.uuid;
console.log('library_uuid:', library_uuid, 'c_uuid:', c_uuid);

If you are still having problems, can you tell me a bit about your runtime environment?
eg: your software version, whether you are on the browser side, whether you are in client offline mode...

Using your method, I was able to get the library_uuid and c_uuid with the following code:
const comp_info = (await eda.lib_Device.search('Resistor')).shift();
const library_uuid = comp_info.libraryUuid;
if (!library_uuid) {
    throw new Error("Failed to get project library uuid!");
}
const c_uuid = comp_info.uuid;
console.log('library_uuid:', library_uuid, 'c_uuid:', c_uuid);

If you are still having problems, can you tell me a bit about your runtime environment?
eg: your software version, whether you are on the browser side, whether you are in client offline mode...

Thanks for your response. Can you please be more specific about the software version? Like which software do you want？

Using your method, I was able to get the library_uuid and c_uuid with the following code:
const comp_info = (await eda.lib_Device.search('Resistor')).shift();
const library_uuid = comp_info.libraryUuid;
if (!library_uuid) {
    throw new Error("Failed to get project library uuid!");
}
const c_uuid = comp_info.uuid;
console.log('library_uuid:', library_uuid, 'c_uuid:', c_uuid);

If you are still having problems, can you tell me a bit about your runtime environment?
eg: your software version, whether you are on the browser side, whether you are in client offline mode...

Assuming you mean the EasyEDA version as the software version, so the version is v2.2.32 and I am on the browser site.

Using your method, I was able to get the library_uuid and c_uuid with the following code:
const comp_info = (await eda.lib_Device.search('Resistor')).shift();
const library_uuid = comp_info.libraryUuid;
if (!library_uuid) {
    throw new Error("Failed to get project library uuid!");
}
const c_uuid = comp_info.uuid;
console.log('library_uuid:', library_uuid, 'c_uuid:', c_uuid);

If you are still having problems, can you tell me a bit about your runtime environment?
eg: your software version, whether you are on the browser side, whether you are in client offline mode...

Hello! How is the things going? Really need the quick response here...

When using the method const comp_info = await eda.lib_Device.search("r");, the length of the list returned by this method is just 10 but I assume it should much more than 10 as we could have so many components in which their name involves the letter 'r'.

I've gotten several emails prompting me that you've left a message here, but I don't see the message in the email every time I click in. Has the problem been resolved?
The new version is avaliable (<IP_ADDRESS>).
Please try to reproduce your problem in this release and provide the minimal reproduction code here.

I've gotten several emails prompting me that you've left a message here, but I don't see the message in the email every time I click in. Has the problem been resolved?
The new version is avaliable (<IP_ADDRESS>).
Please try to reproduce your problem in this release and provide the minimal reproduction code here.

How to log in into this version on the browser site?

I've gotten several emails prompting me that you've left a message here, but I don't see the message in the email every time I click in. Has the problem been resolved?
The new version is avaliable (<IP_ADDRESS>).
Please try to reproduce your problem in this release and provide the minimal reproduction code here.

How to log in into this version on the browser site? And also, I have tried to use this piece of script to generate library uuid   const library_uuid = await eda.lib_LibrariesList.getSystemLibraryUuid(); and I am able to get this uuid via this way but i don't know whether is this a correct way. Assuming this way is correct, I have got the following error when I calling the create method to generate the component.
Uncaught (in promise) Error: 数据不符合规范
Here is my full version of the code, please take a look and try to run it on your machine to see whether it works.

/**
 * 入口文件
 *
 * 本文件为默认扩展入口文件，如果你想要配置其它文件作为入口文件�?
 * 请修�? `extension.json` 中的 `entry` 字段�?
 *
 * 请在此处使用 `export`  导出所有你希望�? `headerMenus` 中引用的方法�?
 * 方法通过方法名与 `headerMenus` 关联�?
 *
 * 如需了解更多开发细节，请阅读：
 * https://prodocs.lceda.cn/cn/api/guide/
 */
import * as extensionConfig from '../extension.json';

// eslint-disable-next-line @typescript-eslint/no-unused-vars
export function activate(status?: 'onStartupFinished', arg?: string): void {
    eda.sys_IFrame.openIFrame('/iframe/index.html', 500, 500);
}

export async function about(): Promise<void> {
    const library_uuid = await eda.lib_LibrariesList.getSystemLibraryUuid();
    if (!library_uuid) {
        throw new Error("Failed to get project library uuid!");
    }
    const comp_info = (await eda.lib_Device.search("SM4007PL_C64898", library_uuid)).shift();
    if (!comp_info) {
        throw new Error("Failed to create info");
    }
    const c_uuid = await comp_info.uuid;

    //console.log("libraryUuid: ", library_uuid, "uuid: ", c_uuid, "uuid from comp_info: ", await comp_info.libraryUuid);

    let comp = {libraryUuid: library_uuid, uuid: c_uuid};

    const c  = await eda.sch_PrimitiveComponent.create(comp, 0, 0);
    if (!c) {
        throw new Error("Failed to create ISCH_PrimitiveComponent.");
    }
    console.log("Component Created");
    c.done();
}

I tested your code at version <IP_ADDRESS> in browser and it worked fine without any errors.

By the way, c.done() in the code is redundant. You can just remove it without affecting what your code does.

I tested your code at version <IP_ADDRESS> in browser and it worked fine without any errors.

That sounds good! How to switch the version on the browser site?

Next to the version number in the top right corner of your page, there will be a small up arrow waiting for you.

Next to the version number in the top right corner of your page, there will be a small up arrow waiting for you.

I cannot see any up arrows you mentioned...

Okey... Looks like you may not have been pushed to.
You can use this address to access the current version: https://pro.lceda.cn/<IP_ADDRESS>.9a154024/editor

[!WARNING]
Please note: This is the address that specifies a fixed version (<IP_ADDRESS>), meaning that it will not be pushed to any newer version when it is in use.

Okey... Looks like you may not have been pushed to.
You can use this address to access the current version: https://pro.lceda.cn/<IP_ADDRESS>.9a154024/editor
Warning
Please note: This is the address that specifies a fixed version (<IP_ADDRESS>), meaning that it will not be pushed to any newer version when it is in use.

Thank you! It works now:)

If you want to output logs in the console, check out the documentation:
https://prodocs.easyeda.com/en/api/guide/invoke-apis.html#entering-debug-mode

add the cll=debug parameter within the URL of the EasyEDA Pro editor to enter debug mode.

If you want to output logs in the console, check out the documentation:
https://prodocs.easyeda.com/en/api/guide/invoke-apis.html#entering-debug-mode

add the cll=debug parameter within the URL of the EasyEDA Pro editor to enter debug mode.

Hello! Please see the new issue #13 I have posted. Thank you:)

If you want to output logs in the console, check out the documentation:
https://prodocs.easyeda.com/en/api/guide/invoke-apis.html#entering-debug-mode

add the cll=debug parameter within the URL of the EasyEDA Pro editor to enter debug mode.

And can you please solve the issue #14 first?

If you want to output logs in the console, check out the documentation:
https://prodocs.easyeda.com/en/api/guide/invoke-apis.html#entering-debug-mode

add the cll=debug parameter within the URL of the EasyEDA Pro editor to enter debug mode.

Hello! Just want to remind you to take a look on #14 and then #13.

最新版本<IP_ADDRESS>已经正式发布，该问题已经修复


cli : popper add subcommand does not updates the .popper.yml file

The 'popperized' entry is not added (and some other minor changes required)

Working on this

The new pipeline is added to .popper.yml. Where did you face the issue?


MultiScaleDeformableAttention error

When I run the launch file, I get the following error. Can you help?
import MultiScaleDeformableAttention as MSDA
ImportError: libcudart.so.11.0: cannot open shared object file: No such file or directory

Maybe you have a wrong cuda version. Use nvcc -V to check your version.


Local build images fill backup files, possible to exclude docker image?

Coming from my own add-on repository I found the same thing here too:
All add-ons, that don't provide pre-build images, have their docker image stored in the backup file.
From maintainer to maintainer, did you find any solution to this?

Hi, I escalated that to the HA team here https://github.com/home-assistant/supervisor/issues/3223#issuecomment-988703018 and they said the solution is to avoid local build... ;) easier said than done, as it seems, we need to have only one add per github repo to allow automatic builds to dockerhub.
I think it's possible to build docker images from a single repo subfolder but haven't really looked at it...
My own intermediate solution is that I've created a shell script :
shell_command:
 repair_images: 'echo "starting repair" && ha su repair && echo "repair done"'

And an automation to execute that every Saturday! The HA su repair command removes dangling images...
Happy if you have any other ideas / recommendations / solutions to build docker images from a single repo subfolders!
Have a nice day

Oups actually I answered to another problem than the one you describe!
The fact that when local building, it fills space with dangling images and the total available space slowly decreases without any other visible changes.
Regarding the storage of the image in the backup, I've also tried to exclude the image but it doesn't work... My solution is to externalise the addon data in /condif/addon name instead of storing it in /data. But bottom line HA is really pushing us toward docker images automatic builds...

Regarding the storage of the image in the backup, I've also tried to exclude the image but it doesn't work... My solution is to externalise the addon data in /condif/addon name instead of storing it in /data, and only backup that and not the addon. But bottom line HA is really pushing us toward docker images automatic builds...

Nice workaround :+1:
I guess the only solution, therefore, is to use pre-build images. Bummer inho.

Fully agree. The HA dev are really pushing hard in this direction. Actually, people on HA supervised have several of issue on local builds, and I had to put workarounds in all my dockerfiles. So this will be better once we avoid local builds. My key issue is automatizing images building when we have (like yours or mine) several addons in different folders on a same repo. I think it's still possible to build each folder separately but haven't started looking at it yet... As this still complexifies dev and maintenance.

we can run docker image prune --all.
This will clean up the residue
~# docker image prune --all
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
............................................
............................................
Total reclaimed space: 1.461GB

Thanks Tyjtyj. @MaxWinterstein : be aware we can't migrate from a locally build to an autobuild addon for the moment : https://github.com/home-assistant/supervisor/issues/3414


Noisy console output when clicking on render panel

If you start RViz and click in the small space between the 3D render panel and the left panel divider, then we can see a bunch of print statements happening in the console, e.g.:
in RenderPanel::mousePressEvent()
in RenderPanel::mouseReleaseEvent()
in RenderPanel::mousePressEvent()
in RenderPanel::mouseReleaseEvent()
in RenderPanel::mouseDoubleClickEvent()
in RenderPanel::mouseReleaseEvent()
in RenderPanel::mousePressEvent()
in RenderPanel::mouseReleaseEvent()
in RenderPanel::mouseDoubleClickEvent()
in RenderPanel::mouseReleaseEvent()
in RenderPanel::mousePressEvent()
in RenderPanel::mouseMoveEvent()
in RenderPanel::mouseMoveEvent()

It'd be nice to remove these noisy prints.

Here's an example of where you can click to reproduce the issue:

https://github.com/ros2/rviz/pull/777


added an about section

issue #34

Please resolve the conflict!

@imaaquibali @Susmita-Dey resolved the conflicts

@Vanshiii203 Nice work!


Redesign homepage

Updating home page to reflect CLI & Scanner share equal promotion.
@molant @alrra do either of you have a photo of the whiteboard where we outlined the sections?

I thought you took one 😔
IIRC it was:

the header with cli and online results
Why use our tool. What we have right now with text aligned to the left and another alternative was in 3 rows with the images alternating from one side to the other
The input form for the online scanner
Cli section
Links to documentation similar to what we have now

currently trying to get a CLI screenshot for the top

@ststimac wait until @alrra publishes the new version for the CLI screenshot (hopefully today).

@ststimac can you do a quick mock up with the side by side option for the "why use webhint?" section where you have the text in one side and the image in the other alternating?

@molant is there a preference? (see above screenshot)

I like where this is going. A few comments:
General

Some buttons have > at the end and others don't
Some buttons have no rounded corners (scanner), others just a bit the corners (header) and others are more rounded ("why use sonarwhal"). Shouldn't we try to normalize them?
How do you feel about increasing a bit the regular font size? The computed size seems to be 16px, maybe 17px?
The line spacing seems smaller in "why use sonarwhal" paragraphs and the other sections

Header

I really like the new icons for the CLI and the online scanner
We can keep the old logo. Nellie is staying so I don't see why we should remove it from the top left

Why use sonarwhal?

It should be webhint
The 3 columns in this section aren't aligned with the columns in the links section in the bottom

Use the online scanner

The online scanner button doesn't have rounded borders, is this intentional?
With the new Sherlock illustration I think we have too many illustrations that look relatively similar. Some ideas but open to anything:

Give a bit more depth to Nellie. Octocat, wombat, etc. all have some shadows
Change what she's doing. The wombat in npm's page is a great example where he's doing lots of things (moving packages, climbing a mountain, high fiving). We have Nellie doing different things but it's more about the accessories she's wearing.
Remove the illustrations in "why use sonarwhal" similar to https://reactjs.org/ and swap the sherlock with the Nellie working on the computer

Install the sonarwhal CLI on your machine

Should be webhint, maybe rename it to "Install webhint on your machine"
The space between the header and the previous section is different than the previous sections

Great progress!

@molant here is the updated homepage. If this looks good I will open a PR tomorrow morning.

@molant please ignore the line under the why use webhint illustrations. Photoshop artifact.

I think I preferred the alignments of the icons in the hero from the previous version. Other than that it should be OK and I'd rather not wait any longer.

I tried different values for spacing the icons. Trying to keep the right icon aligned all the way to the right creates a massive gap depending on your screen size. The current code/alignment works out so that the two icons stay spaced evenly no matter the screen size and that looks much better,

It's now centered. I've opened a PR.


dpcreator: user input for float vs. int

The confirm variables page classifies variables as numeric, categorical, or boolean.
However, for numerics, it needs to further distinguish between floats and ints
This is not available via the current profiler, e.g. user input is needed
Can the profiler give the reason for determining categorical, etc?
What if the user makes an incorrect choice?

What are the implications?

Currently, the TwoRavens profiler determines the variable type—the “Type” column.
For the new OpenDP library, columns of type “Numerical” need to further specified as “integer” or “float”
We have 3 possible ways to do this:

Modify the profiler to make a (somewhat naive) distinction between “integer” and “float”
Ask for user input—allow the user to directly set the type.
Default to the profiler’s value and optionally let the user directly set the type.

Question 1: Which, if any, is the best choice ^ from a DP integrity perspective? Note: these changes can only be made by a depositor/trusted curator; not an analyst.
Question 2: Should we allow the user to modify all variable types? (Earlier we had attempted to make the UI “easier” by removing that option.)
Question 3: What are the expectations regarding the depositor/trusted curator’s knowledge of the feature types? Is it expected that they will know the data and potentially have access to the code book?
Question 4: Is having (A) the ability to modify types and (B)  the entry boxes for categories/ranges on the same page incongruous?  (e.g. We do want the exact types but we don’t want the user referencing any material, including the dataset, for categories/ranges.)

One other aspect of this issue - the profiler is returning type Numeric for some variables that are actually Categorical (for example, if all the categories are integers)


ko publish fails with local registry

To test Ko, I tried running a registry at localhost:45197 and ran:
$ KO_DOCKER_REPO=localhost:45197 ko publish github.com/mattmoor/warm-image/cmd/sleeper
2020/11/03 15:46:43 No matching credentials were found, falling back on anonymous
2020/11/03 15:46:43 failed to publish images: importpath "ko://github.com/mattmoor/warm-image/cmd/sleeper" is not supported

I'm not sure what this error message means...this is the exact ko publish command in https://github.com/google/ko#ko-publish . Am i missing something?
$ ko version
v0.6.0

https://github.com/google/ko/pull/233 is meant to address exactly this but isn't in a tagged release yet...
@ImJasonH

hmmm...I built Ko from main to pull in Jason's change, and got this error:
$ KO_DOCKER_REPO=localhost:45197 ko publish github.com/mattmoor/warm-image/cmd/sleeper
2020/11/03 16:05:50 No matching credentials were found, falling back on anonymous
2020/11/03 16:05:50 failed to publish images: importpath "ko://github.com/mattmoor/warm-image/cmd/sleeper" is not supported: open /home/nick/src/ko/vendor/github.com/mattmoor/warm-image/cmd/sleeper: no such file or directory

so...better? but seems like it needs me to have the code checked out locally first to build it?

but seems like it needs me to have the code checked out locally first to build it?

Possibly. I think prior to go modules this just worked (go would go get anything that was missing), but I'm not 100% sure.


support for non-string select menus?

I've given a good scouring of the docs/examples, and I'm haven't found a pattern for creating any of the non-string select menus in a message component with Poise. Is that not supported in Poise at the moment or am I just missing it?
Those select menu types being:

User
Channel
Role
Mentionable

I see that the SelectMenuOption struct takes Strings for the label/value fields, but also that kangalio submitted a PR to Serenity to add support for those other menu types.

Select menus in message components are the job of serenity, not poise. Poise is just the command framework built on top of serenity, but you still use serenity's facilities like its message builders.
I did add support for the other menu types, but for the next major version. It's not released yet, but you can browse the docs https://serenity-rs.github.io/serenity/next/serenity/builder/enum.CreateSelectMenuKind.html and if you want you can use poise's serenity-next branch to use the next major version now already (be aware of frequent breaking changes though!)


Add latest rocblas api flag (SWDEV-275854)

To jira ticket http://ontrack-internal.amd.com/browse/SWDEV-275854

For the data type miopenInt8, I think the last flag should still be 0. Or this is just a work around for the bug?
In fact the entire int8 path is based on int8x4 from the every beginning. This should be OK. Let's see if the CI complains.

@ce1adon I just tried the PR, the unit test failed passed with this change.

@ce1adon I just tried the PR, the unit test failed passed with this change.

Can you provide docker, SW version and test name?

@ce1adon I just tried the PR, the unit test failed passed with this change.

Can you provide docker, SW version and test name?

we have a docker image mevermeulen/rocm-migraphx:osdb-6629 that is based on rocm4.2, you can use the following steps to verify you changes:
docker pull mevermeulen/rocm-migraphx:osdb-6629
docker run -it --device=/dev/kfd --device=/dev/dri --group-add video --cap-add SYS_PTRACE mevermeulen/rocm-migraphx:osdb-6629
# install packages required to run unit tests
pip3 install onnx==1.7.0 pytest
# go to the home directory
cd
git clone https://github.com/ROCmSoftwarePlatform/AMDMIGraphX.git
cd AMDMIGraphX
mkdir build && cd build
CXX=/opt/rocm/llvm/bin/clang++ cmake ..
make -j64 check

At this time, you will see the quant_conv unit test failed.
If you build MIOpen with your changes and install it to override whatever in the container, all unit tests should pass.

@scxiao The docker you provided doesn't have python venv properly installed. Could that be part of the reason of test failure?

@scxiao
CMake Error at /usr/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake:48 (find_package):
  By not providing "FindAMDDeviceLibs.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "AMDDeviceLibs", but CMake did not find one.

  Could not find a package configuration file provided by "AMDDeviceLibs"
  with any of the following names:

    AMDDeviceLibsConfig.cmake
    amddevicelibs-config.cmake

  Add the installation prefix of "AMDDeviceLibs" to CMAKE_PREFIX_PATH or set
  "AMDDeviceLibs_DIR" to a directory containing one of the above files.  If
  "AMDDeviceLibs" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  /opt/rocm/hip/lib/cmake/hip/hip-config.cmake:128 (find_dependency)
  /tmp/cget-22-50-33-bp67N-1/build/virtualenv/lib/python3.6/site-packages/Tensile/Source/CMakeLists.txt:40 (find_package)

Could not find a package configuration file provided by "AMDDeviceLibs"

The container works well for me. After some search, can you try the following command
apt install comgr --reinstall

@ce1adon Thanks for quick response!

@scxiao Changes merged in develop now.


[Tracking]: migrate development workflow to just

What subject does this issue tracking?
[migrate development workflow to just]
background
we may need some rust workflow(like rust api bump、release) in the future, which cause we may have js workflow and rust workflow together. Currently we use ./x to manage js workflow but it seems not idea to use ./x to manage rust workflow. so we're considering migrate the whole development workflow to just + js-script + xtask.
Design
our daily workflow actually contain two parts

task implementation: task like publish | bump | debug | test and so on
task orchestra: how to orchestra task like run bump first and then run publish
just is good at task management and xtask is good at writing task using rust
so we  use just to do task orchestra and use js script and xtask to write task implementation.

### Tasks
- [ ] migrate current task orchestra in ./x to just
- [ ] update cicd to just command
- [ ] update contribute develop guide to just command
- [ ] remove `./x` and `./x.mjs`
- [ ] implement rust workflow (rust api release, doc generate) in just & xtask

Should we alias the commands in npm scripts to just commands?

Should we alias the commands in npm scripts to just commands?

I think it's the reverse, just call npm script to do js task management

Some contributors may be used to using npm scripts, so how can we guide them?

provide detailed guide like this ? https://github.com/biomejs/biome/blob/main/CONTRIBUTING.md#install-the-required-tools

I think we can alias some basic commands to just. For example, alias pnpm run setup to just setup.

we can add some basic alias like setup, but when we have lots of tasks like https://github.com/biomejs/biome/blob/main/justfile, duplicate alias for all tasks seem not ideal

We can learn from this xtask case https://github.com/swc-project/swc/tree/main/xtask


Please use normal slashes as path seperator

Please don't use backslashes. It's not a path separator anywhere but on windows, which makes the file appear like this "logs\chickens.gml" in the server root.

Sorry, didn't see #32 & #30


Build script that checks for i128 support doesn't seem to work for Web Assembly

I tried to compile a project that uses bincode to Web Assembly (--target=wasm32-unknown-emscripten) but it does not compile. I get several error messages related to i128 and u128:
error[E0407]: method `deserialize_u128` is not a member of trait `serde::Deserializer`
   --> /home/emil/.cargo/registry/src/github.com-1ecc6299db9ec823/bincode-1.2.0/src/de/mod.rs:65:9
    |
65  | /         fn $dser_method<V>(self, visitor: V) -> Result<V::Value>
66  | |             where V: serde::de::Visitor<'de>,
67  | |         {
68  | |             try!(self.read_type::<$ty>());
69  | |             let value = try!(self.reader.$reader_method::<O::Endian>());
70  | |             visitor.$visitor_method(value)
71  | |         }
    | |_________^ not a member of trait `serde::Deserializer`
...
112 |       impl_nums!(u128, deserialize_u128, visit_u128, read_u128);
    |       ---------------------------------------------------------- in this macro invocation

error[E0407]: method `deserialize_i128` is not a member of trait `serde::Deserializer`
   --> /home/emil/.cargo/registry/src/github.com-1ecc6299db9ec823/bincode-1.2.0/src/de/mod.rs:65:9
    |
65  | /         fn $dser_method<V>(self, visitor: V) -> Result<V::Value>
66  | |             where V: serde::de::Visitor<'de>,
67  | |         {
68  | |             try!(self.read_type::<$ty>());
69  | |             let value = try!(self.reader.$reader_method::<O::Endian>());
70  | |             visitor.$visitor_method(value)
71  | |         }
    | |_________^ not a member of trait `serde::Deserializer`
...
115 |       impl_nums!(i128, deserialize_i128, visit_i128, read_i128);
    |       ---------------------------------------------------------- in this macro invocation

error[E0407]: method `serialize_u128` is not a member of trait `serde::Serializer`
  --> /home/emil/.cargo/registry/src/github.com-1ecc6299db9ec823/bincode-1.2.0/src/ser/mod.rs:92:5
   |
92 | /     fn serialize_u128(self, v: u128) -> Result<()> {
93 | |         self.writer.write_u128::<O::Endian>(v).map_err(Into::into)
94 | |     }
   | |_____^ not a member of trait `serde::Serializer`

error[E0407]: method `serialize_i128` is not a member of trait `serde::Serializer`
  --> /home/emil/.cargo/registry/src/github.com-1ecc6299db9ec823/bincode-1.2.0/src/ser/mod.rs:97:5
   |
97 | /     fn serialize_i128(self, v: i128) -> Result<()> {
98 | |         self.writer.write_i128::<O::Endian>(v).map_err(Into::into)
99 | |     }
   | |_____^ not a member of trait `serde::Serializer`

error[E0599]: no method named `visit_u128` found for type `V` in the current scope
   --> /home/emil/.cargo/registry/src/github.com-1ecc6299db9ec823/bincode-1.2.0/src/de/mod.rs:112:40
    |
112 |     impl_nums!(u128, deserialize_u128, visit_u128, read_u128);
    |                                        ^^^^^^^^^^ help: there is a method with a similar name: `visit_u16`

error[E0599]: no method named `visit_i128` found for type `V` in the current scope
   --> /home/emil/.cargo/registry/src/github.com-1ecc6299db9ec823/bincode-1.2.0/src/de/mod.rs:115:40
    |
115 |     impl_nums!(i128, deserialize_i128, visit_i128, read_i128);
    |                                        ^^^^^^^^^^ help: there is a method with a similar name: `visit_i16`

It was my understanding that this line was supposed to automatically check for i128 support

Might be related to #285.

@jdm I don't think those are related. Though this likely is: https://github.com/servo/bincode/blob/b676754eeee41d169e96bcaf211ed49a331b0d87/Cargo.toml#L27

This seems to have been solved by bincode 1.2.1 / #281


Stories: CSE Machine not available in the UI

The stories workspaces for Chapter 3 and 4 should show the CSE Machine.

Last time I recalled, CSE Machine gets confused due to the different code blocks sharing the same environment, hence I commented away the tab. Will look into this again.

Yes, would be great. Then I can make a story to introduce the tool. We have a story for each of our tools, so far.


⚠ API - Lens has degraded performance

In cde0449, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 503
Response time: 373 ms

Resolved: API - Lens performance has improved in 7189aef after 6 minutes.


Slugs for "`" is wrong, lol

Noticed it before few mins.
having this heading
API
it generates
- [`API`](#-api-)

but the link should be #api only, not #-api-
working example
'use strict'

var toc = require('markdown-toc')
var res = toc('# `API`\n ## [letta](./index.js#L14)\nfoo bar\n## BBB\n## [.promisify](./index.js#L37)\n## CCC\nfoo')

console.log(res.content)

Sorry, I know it must be frustrating, I don't put stuff in headings that will be bad for seo so I don't run into these issues. Also I figured exposing the ability to use a custom slugify function would solve this problem. e.g. it "can't be wrong" when you can control the output.

I don't put stuff in headings that will be bad for seo

Same here. Was just try.

it "can't be wrong" when you can control the output.

yeah.


Character editor completly crashing the engine when changing the offset of an animation.

Bug report
So at randoms, changing the offset of an animation of a custom character crashes the engine completly for some reason. it's very problematic when i try to fix some offsets and it just crashes, loosing any progress on fixing the offset
https://user-images.githubusercontent.com/52764294/138612333-1d3178b4-bd10-415d-a7dc-cb89481278fa.mp4
Did you edit anything? If so, mention or summarize your changes.
No, i did not change anything.

if it helps, when I tried adding an idle animation to pico-speaker even though he had danceLeft and danceRight already, The moment I tried moving the offset it made the engine crash as well.

Is it fixed now?


The keyboard shortcut to reveal in explorer doesn't work

Issue Type: Bug

Create a workspace.
Open a file in the workspace with ctrl+p > tyle something > right arrow
Make sure focus in on the file
Press shitf + alt + r

Expected: a new explorer.exe window opens with the file selected and keyboard focus on that specific file.
Actual: nothing happens
Note that if I right click on the tab and click "Reveal in explorer" with the mouse, the desired behavior occurs. And in that context menu, I see that the mentioned shortcut is "Alt+shift+r"
VS Code version: Code 1.26.1 (493869ee8e8a846b0855873886fc79d480d342de, 2018-08-16T18:38:57.434Z)
OS version: Windows_NT x64 10.0.17744

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E5-1620 v3 @ 3.50GHz (8 x 3492)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.91GB (8.89GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe

Screen Reader
yes

VM
0%

Extensions (8)

Extension
Author (truncated)
Version

rainbow-brackets
2gu
0.0.6

gitlens
eam
8.5.6

vscode-nmake-tools
Mic
1.1.180810001

cpptools
ms-
0.18.1

sublime-keybindings
ms-
4.0.0

team
ms-
1.136.0

indent-rainbow
ode
7.2.4

trailing-spaces
sha
0.2.11

this behavior has been like this for some time due to https://github.com/Microsoft/vscode/issues/49231
@rebornix

We only reveal file in OS when the focus is not in the editor, that's being there from the very beginning AFAIK. If the keybinding's restriction doesn't make sense to you, you can add below to your keybindings file
	{
		"key": "shift+alt+r",
		"command": "revealFileInOS"
	},

@rebornix Thanks for the workaround. Works great! 👍


Discussion as to why we need models/`topics' in meltano

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/505
Originally created by @valexieva on 2019-03-19 15:30:31

Important: This is issue does not need to come to a conclusion in this sprint. This is an invitation for you to weigh in on your opinion, and help think through the implications of our decision to use (or stop using) m5o files. The plan is to collect your feedback and then move this to the backlog until it becomes an issue we need to resolve (likely in the next weeks or months, as we get real user feedback).
Notes from Virjinia: Given this was decided before my time and I find it slightly confusing, I wanted to understand if this is the right implementation of whatever you had in mind as a user problem. Happy to do this discussion in whatever way you deem appropriate. I can then offer recommendations of alternative ways to get the same functionality while we try to keep steps involved to a minimum.

What is the problem we are trying to solve with this feature?
Who is the target audience for this feature?
What were the benefits and goals of this specific feature?
Do we currently need model files in order to produce the table files? What are the dependencies on these files in the UI?

/label ~"To Do"
(@mbergeron, @iroussos, @dmor, @jschatz1, @derek-knox, @bencodezen )

View 23 previous comments from the original issue on GitLab


Add ports for eXist-db and Saxon

Closes https://github.com/AndrewSales/XQS/issues/8

I wasn't quite sure about this one - https://github.com/AndrewSales/XQS/pull/16/commits/1ef3be2aef269dc20fdb718e818bbc312f48a37d
I have tested the eXist-db port with just a simple XML Doc and Schematron, and was able to get SVRL using:import module namespace xqs = 'http://www.andrewsales.com/ns/xqs' at 'xmldb:exist:///db/xqs/xqs.xqm';
xqs:validate(doc('/db/xqs/test/foo.xml'), doc('/db/xqs/test/assertion-message-braces.xml')/*)

I haven't tested the Saxon port.

If you can tell me how to run the BaseX test suite from the command line and determine if it fails or passes (by exit code?), then I could also add GitHub Actions CI to run tests for this against BaseX and eXist-db.

Thanks so much, @adamretter !
You're right about @queryBinding.
I'll add instructions to the README for running tests - really appreciate your help here.

Ah... in the BaseX docs, it says:
"The three functions fn:transform, fn:load-xquery-module and fn:collation-key may be added in a future version of BaseX as their implementation might require the use of additional external libraries."

"The three functions fn:transform, fn:load-xquery-module and fn:collation-key may be added in a future version of BaseX as their implementation might require the use of additional external libraries."

Oh dear! Apologies, I was under the impression that BaseX supported all XQuery 3.1 functions. I would think that BaseX could implement fn:load-xquery-module without adding any additional libraries, at least that was my experience with this in eXist-db.
Maybe we can ask @ChristianGruen if that is possible for the next version of BaseX? If not, perhaps we have to adjust my changes to make it a manual choice for the user as to which port module to use.

Oh dear! Apologies, I was under the impression that BaseX supported all XQuery 3.1 functions.

No problem! Me too.

Maybe we can ask @ChristianGruen if that is possible for the next version of BaseX?

I'll ask on the BaseX forum.

If not, perhaps we have to adjust my changes to make it a manual choice for the user as to which port module to use.

Sure.
BTW, instructions for the test suite are here, if you do have time to take a look: https://github.com/AndrewSales/XQS#running-the-test-suite.
Thanks again.

Thanks Andrew. I heard informally that BaseX may be able to address the module load issue soon... So hopefully that will help with this

Hi together, we’ll add an implementation of fn:load-xquery-module in BaseX 11, which is planned for Summer/Fall this year. A proof-of-concept implementation will be made available with BaseX 10.7 or 10.8.


pyrfuniverse referenced in installation instructions

Hello, thanks for your work on this awesome project!
Just a small note: pyrfuniverse and pyrfuniverse_rcare are referenced in the installation instructions, but I believe these were recently removed.

Thanks for the catch! Fixed it.


Add badges for npm and gzip size

Everyone likes badges so I added some more.
These are kept in sync with npm.
Also I added a link to the JSDelivr CDN which includes some stats on usage.
See https://cdn.jsdelivr.net/npm/immer/

Coverage remained the same at 96.216% when pulling 4d6c1e5f7e29cb42fe9d2653690d45a927b7691c on styfle:patch-1 into 77c17f7b7644d47d9f643f542a98bc682cccca02 on mweststrate:master.

Thanks!


Text system

Build a system to display text on the screen. This can most likely be done using Control nodes such as labels.
@osa-computer-society/graphics

@frank731 Hi, can you give me your email bro. I've been wanting to try out the stickman ai you hjave created. need some help finidng the right tutorials exactly. thanks.


Define and publish security disclosure policies

Expected Behaviour
Tinkerbell users and security researchers that discover potential vulnerabilities in Tinkerbell should have a well-defined communication protocol with Tinkerbell maintainers with defined security roles.

Current Behaviour
Users and researchers submit issues in the public (slack, github, google groups) or in DMs on various platforms (Slack, email, Twitter).
Users and researchers looking for a defined approach can not find one.

Possible Solution
Users and researchers should:

find tinkerbell.org security disclosure guidance
find GH Issue templates instructing users to report responsibly through the correct channels

Tinkerbell maintainers should:

form a security group with select trusted members from multiple organizations.
this group should:

have a communication channel and cadence for discussion, with the ability to make prompt decisions as needed
work with and with-in the CNCF security teams and guidelines

Steps to Reproduce (for bugs)

Discover a potential security vulnerability
Report it

Context

As the Tinkerbell community matures and the software expands into new areas, inheriting new dependencies, we are bound to run into these concerns with greater frequency and severity.

Related issue: https://github.com/tinkerbell/tink/issues/508

We can move tinkerbell/tink#508 over to here instead of this symlink, want to do that?

closing in favor of https://github.com/tinkerbell/org/issues/14 (transferred from tink)


Error

I was able to get the bot into the discord server but the bot doesn't join stays offline. the dependencies are fully updated no errors. Spent the whole day on this I'm legit at a loss. Please help.
Log File:
[INFO] launcher: Starting sanity checks
[INFO] launcher: Checking for Python 3.8+
[INFO] launcher: Checking console encoding
[INFO] launcher: Setting console encoding to UTF-8
[INFO] launcher: Ensuring we're in the right environment
[INFO] launcher: Adding local bins/ folder to path
[INFO] launcher: Required checks passed.
[INFO] launcher: Optional checks passed.
[INFO] launcher: Moving old musicbot log
[ERROR] launcher: Error starting bot
Traceback (most recent call last):
File "C:\Users\أحمد\Desktop\Codes\MusicBot\MusicBot\run.py", line 409, in main
from musicbot import MusicBot
File "C:\Users\أحمد\Desktop\Codes\MusicBot\MusicBot\musicbot_init_.py", line 74, in
from .bot import MusicBot
File "C:\Users\أحمد\Desktop\Codes\MusicBot\MusicBot\musicbot\bot.py", line 48, in
from .json import Json
ModuleNotFoundError: No module named 'musicbot.json'
Which version of the bot are you using?
No response
Which operating system are you using?
Windows 7 or higher
Just checking...

[X] I have confirmed that my issue has not already been reported.
[X] I am using Python 3.8 or higher.
[X] I have updated my Python dependencies.

Can you provide a screenshot of the main MusicBot folder, along with the lowercase musicbot folder?

Can you provide a screenshot of the main MusicBot folder, along with the lowercase musicbot folder?

Can you provide a screenshot of the main MusicBot folder, along with the lowercase musicbot folder?

Not sure why but looks like MusicBot/musicbot/json.py was renamed to json1.py
Rename it back to json.py and the bot should work fine, if you have any other issues or questions, feel free to join our support discord.

Not sure why but looks like MusicBot/musicbot/json.py was renamed to json1.py
Rename it back to json.py and the bot should work fine, if you have any other issues or questions, feel free to join our support discord.

Thanks :), but now there is another error which is [ERROR:bot] Error in cleanup, I don't know what it means exactly


Access to Kubernetes deployed with dcos

Hello,
I deployed DCOS on GCP with your script and install Kubernetes directly into the GUI of DCOS. But now how can I access to the Kubenrnetes cluster ? What are the information to configure kubectl for example once it is deployed in DCOS ?
Thank you

check https://github.com/mesosphere/dcos-kubernetes-quickstart/blob/master/Makefile as it uses terraform-dcos to deploy dc/os

thank you but this repo uses DCOS 1.10 and the command in the link is for DCOS 1.11 (the command dcos kubernetes does not seem to work in DOCS 1.10...)
So I wanted to know a way to connect to the DCOS kubernetes cluster with the kubctl config way

dc/os 1.10 is not supported by our kubernetes framework, you need to upgrade your dc/os cluster to 1.11.
If you can do fresh install then use https://github.com/mesosphere/dcos-kubernetes-quickstart which reuses this repo to bootstrap dc/os v1.11

PR #42 is opened to bump default dc/os version to 1.11


NFT Launchpad

The NFT Launchpad should give artists and spaces the option to release an NFT collection without having to pay up front for the storage deposit, similar to crowdfunding campaigns.
If the revenue of the NFT Launchpad sale reaches the threshold to cover the required storage deposit for the whole collection it will be minted automatically on either on the Shimmer or Iota network.
The Launchpad sale should only be open for a predetermined timeframe. If the collection revenues within the timeframe are not enough to cover the minting costs users will be reimbursed automatically.

As per Taskforce request, adding some comments based on what I think the issue is:

how do you define the revenue? 100% of the sale of NFT? or just royalties? or %? Is this supposed to be automatic and set aside for a separate wallet?
sounds cool, I think it needs to be flashed out more and B5 can assist building function for it if required and prioritized by TF


experimental ivy creates angular cli project v7.0.0-rc3 while cli is version 7.0.2

- [x ] bug report

Command (mark with an x)
- [x ] new

Versions
MacOS Mojave 10.4
NodeJS v10.12.0
Angular CLI 7.0.2
Repro steps
ng new a --experimental-ivy
Desired functionality
it should create a project with angular 7 final
Mention any other details that might be useful
it creates a project with angular cli v7.0.0-rc3, it doesn't happen if I don't enable experimental ivy.

When selecting to create a project with experminalIvy it will create the project with the next versions of the package instead of the stable one.


Crash App Call a Bike

Hi, the German bike rental service "Call a bike" crashes on start.
Here a logcat: bahnCrash.txt

It is the same crash as described in issue #449

Fixed at least in version <IP_ADDRESS>80-dirty-241


Feature/cancellations and more

Bunch of huge stabilizing fixes, that are almost ready for public viewing.
Cancelation - with composition - now works well.
It's easier than ever to create a Cancel-able Future, and it's easy to 'compose' a cancelable future from other cancelable futures.   You don't need 'multiple cancel' tokens if you are trying to compose a new Future from another (via an OnComplete/OnSuccess) handler.
Also cleaned up some stuff to help the swift 2.0 port To minimize the difference between the two branches.
(swift 2.0 branch is looking great!  - built in swift 2.0 'throw' handling, Cleaner handling of the Completion.OnSuccess(T) logic!)
Fixed some big synchronization issues (related to cancellation chaining).  That all seems stable.
This is looking ready for prime time.

closing this.  This code HAS already been merged into feature/xcode7swift20


ISPN-9601 JMX cluster switching

https://issues.jboss.org/browse/ISPN-9601
https://issues.jboss.org/browse/ISPN-9602
Introduces thread name prefix/suffix for the client async pool.
Let's see if https://issues.jboss.org/browse/ISPN-9064 is also resolved

The fix for ISPN-9064 is to use <IP_ADDRESS> instead of localhost in the client configuration.
When switching sites, the pools with the failed servers are closed and new pools for the added servers are created. Unfortunately, in the test, sometimes the subsequent PUT operation would still be executed with a channel from the old pool: the request would be processed by the server, but the client would ignore the response because the channel was invalidated in flight. This causes the client retry logic to invoke the operation a second time. @rvansa while the test should be now fixed, I believe the underlying issue should warrant its own Jira.

@tristantarrant how exactly does <IP_ADDRESS> help? Otherwise LGTM.

the client configuration points to localhost:port for the backup site, but when switching, it performs a ping and receives the topology for the backup cluster, which includes <IP_ADDRESS>:port. This causes the "localhost:port" pools to be invalidated and "<IP_ADDRESS>:port" pools to be created instead. For some reason the PUT after the switch is being created with a "localhost:port" connection, which gets invalidated soon after sending to the server and then sent again via a connection from the "<IP_ADDRESS>:port". The server actually executes 2 PUTs.

Could you put this explanation in a comment in the test @tristantarrant? I'm definitely not going to remember it :)

Added it

1 unrelated failure

Applied your suggestion @danberindei

Integrated, thanks Tristan!


Export data/report

Description of new feature

Allow for exporting the entire enrichment result in a file I can open in Excel.
Give me a report of my expression result so that I can save it, reproduce it, etc.

Motivation for new feature

I want the data.
I might want to make another chart.
I want a record of my results.

Duplicate of https://github.com/cytoscape/enrichment-map-webapp/issues/148 ???
The enrichment results file could be opened in Excel or EM-destkop.

Duplicate of #148 ???
The enrichment results file could be opened in Excel or EM-destkop.

Different.  Not Cy but Excel.

User can open TSV in Excel, do they need an actual Excel formatted file? I don't see how this is different.

How exactly is it different? The enrichment results file is TSV which could be opened in Excel. Is it just a separate menu option for clarity? What about the ranks, does the user want that as well?

So the Cy export is one or more CSVs, then?  Not CYS?  If so, that’s great.  There’s probably overlap for reuse.
The idea here is somewhat more of a report use case, which I didn’t originally encode in the OP.  There may be a lot of similarities with the Cy export use case, but it might not be exactly the same.

My apologies, the contents of issue #148 was not clear about file formats, or what EM-desktop does with the data. I have updated the issue.
Its the same data in the same format, so lots of overlap. My proposal with #148 is to output the raw enrichment and ranks data in their standard text-based file formats, which is directly importable into EM-desktop. EM-desktop then generates a network like it usually does. This would work right now without any modification to EM-desktop.
From a UI perspective it would make sense to have separate menu items based on intent. "Export to Excel" for users looking for a report, "Export to Cytoscape" to nudge users towards staying in our ecosystem, or something like that.

The exported files are all tabular and you can use them to recreate the EM results in Cy3. And you can open them in Excel too.
(This should be in the FAQ)


Android - non-ASCII URl issue

Added the following URl  https://莎士比亚.org/

When displayed in the app, it is corrupt.

Clicking on the link goes to to the wrong location.

If I use the punycode representation xn--jlQ54W7yPemW.org everything works correctly.

Although the Title and Favicon don't load.

Well per the Eddystone Spec:
URLs are written only with the graphic printable characters of the US-ASCII coded character set. The octets 00-20 and 7F-FF hexadecimal are not used. See “Excluded US-ASCII Characters” in RFC 2936.
So I believe this is Working as intended. If you want to use non ascii characters you need to open an issue on the Eddystone repo.

Or, you can use a URL shortener.
Maybe what we should be doing here is automatically detecting these cases and sending it off to a shortener.

I think punnycode / IDN encoding (https://en.wikipedia.org/wiki/Internationalized_domain_name) is the correct way to have a internationalized URL to be encoded into US-ASCII characters.
I think what the app fails to do here is:
1/ to encode the internationalized URL to US-ASCII when programming the beacon.
2/ to decode the encoded URL / domain name to a more readable string
3/ I'm not sure why the punnycode encoded URL won't load the metadata.
1/ and 2/ are features that needs to be implemented.
3/ probably needs more investigation.

The URL seems to be resolved properly by the PWS:
$ curl -d '{"objects":[{"url":"https://xn--jlq54w7ypemw.org/"}]}' https://url-caster.appspot.com/resolve-scan
{"metadata": [{"description": "Terence Eden Terence Eden \u6cf0\u7279\u65af\u00b7\u5b89\u5fb7\u6d1b\u5c3c\u514b\u65af Titus Andronicus \u79d1\u5229\u5965\u5170\u7eb3\u65af Coriolanus \u4ea8\u5229\u56db\u4e16\u4e0a\u7bc7 Henry IV - Part I \u88d8\u529b\u65af\u00b7\u51ef\u6492 Julius Caesar \u7686\u5927\u6b22\u559c As You Like It \u7ec8\u6210\u7737\u5c5e All's Well That Ends Well \u5965\u745f\u7f57 Othello \u7ea6\u7ff0\u738b King John \u96c5\u5178\u7684\u6cf0\u95e8 Timon of Athens \u4ef2\u590f\u591c\u4e4b\u68a6 A Midsummer Night's Dream \u4ea8\u5229\u516d\u4e16\u4e2d\u7bc7 Henry VI - Novella \u8f9b\u767d\u6797 Cymbeline \u7f57\u5bc6\u6b27\u4e0e\u6731\u4e3d\u53f6 Romeo and Juliet \u4ea8\u5229\u516d\u4e16\u4e0b\u7bc7 Henry VI - Part II \u51ac\u5929\u7684\u6545\u4e8b A Winter's Tale \u4ea8\u5229\u4e94\u4e16 Henry V \u9ea6\u514b\u767d Macbeth \u7406\u67e5\u4e09\u4e16 Richard III \u7406\u67e5\u4e8c\u4e16 Richard II \u4ea8\u5229\u56db\u4e16\u4e0b\u7bc7 Henry IV - Part II \u66b4\u98ce\u96e8 The Tempest \u4ea8\u5229\u516b\u4e16 Henry VIII \u6e29\u838e\u7684\u98ce\u6d41\u5a18\u513f\u4eec The Merry Wiv", "title": "\u838e\u58eb\u6bd4\u4e9a.org / Readable Shakespeare Plays In Chinese", "url": "https://xn--jlq54w7ypemw.org/", "rank": 1000, "displayUrl": "https://xn--jlq54w7ypemw.org/", "id": "https://xn--jlq54w7ypemw.org/", "icon": "https://url-caster.appspot.com/favicon?url=https%3A%2F%2Fxn--jlq54w7ypemw.org%2Fapple-touch-icon-iphone.png"}]}

@dinhviethoa yes, I'd agree with that. The app should be normalising & decoding.
@cco3 automatic shortening would also be helpful - it currently just throws an error message.

IMO there are three changes to make.
First, we should detect non-ASCII URLs and automatically send those to the shortener as Conley suggests.  We could try to puny-encode them ourselves but chances are the URL will be too long anyway.
Second, PWS should detect punycode URLs and send the punycode version as siteUrl (PWS calls this field "url") and the Unicode version as displayUrl.  Currently, the punycode version is sent for both fields.
Third, the error message when the auto-shortener chokes on a unicode URL needs to be updated.  It says "URL is too long. Please use a shortener" which is confusing if the URL is clearly short enough.  Fortunately we should never see this since goo.gl is excellent with international URLs.

I like the plan, but I'm thinking that PWS should not return Unicode is displayUrl.
Choosing to display the unicode version sounds like a client decision, and I'm not sure the PWS should be making client UX choices.
It's also not always going to be clear to PWS when a URL is punycode (or to the client for that matter), so perhaps we can just leave the URL in punycode?

I'd like to politely challenge that notion.
No one is going to want to see the punycode version.  It's impossible for anyone to decipher what it is supposed to represent.  I would suggest that displaying the Unicode URl makes the most sense - it will display in the correct character set for the user.
A URl is punycode if it starts with xn-- http://www.atm.tut.fi/list-archive/ietf-announce/msg13572.html
The standard is relatively simple http://tools.ietf.org/html/rfc3492
Overall, adding this will aid adoption for people in non-ASCII territories.

I tried the unicodes URL both in Chrome and Safari on the desktop.

Safari will keep it unicode
Chrome will convert it to punycode

I'd say the experience was more enjoyable to me in Safari.

I don't propose we enforce showing punycode, I'm just suggesting that the client can detect and convert if it so chooses, without the PWS making the choice for it.  By returning unicode in displayUrl, we would be assuming all clients are able to display/use it.
It think the intention of displayUrl was originally meant to represent "the url which will open in browser", as opposed to "the url which we actually fire intent on".  It was used to hide our use of a redirector (which we have long since dropped) -- so displayUrl is currently "unused".
So displayUrl was never meant to actually make UX level decisions about what clients should display, and I wonder if we shouldn't remove the value altogether.
Also, I think clients will want to actually process displayUrl in all sorts of ways.  E.g. if displayUrl is http://www.foobarbaz.com/path/page.html#somevariable clients may choose to just show www.foobarbaz.com or just http://www.foobarbaz.com/path/page.html#... etc.
So I guess I agree our clients shouldn't show punycode, but I think we should not update PWS displayUrl as was previously suggested.
Thanks for pointing out that punycode is unambiguous, I only read the encoding format (suffix), and not the spec for prefix.


Issue with Burrow from 1.6.0 to 1.7.0/1.8.0

Hello,
I've encountered an issue when updating the Burrow package from version 1.6.0 to 1.7.0/1.8.0. The configuration remains exactly the same as it was in version 1.6.0, but starting from version 1.7.0, it no longer works as expected. If I rollback to 1.6.0, everything works the same as before.
Errors I'm getting when updating to 1.7.0/1.8.0:
{"level":"debug","ts":1715166414.740178,"msg":"Error while performing SASL Auth IP:PORT","name":"sarama"} {"level":"debug","ts":1715166414.7402897,"msg":"Closed connection to broker IP:PORT","name":"sarama"} {"level":"debug","ts":1715166414.74035,"msg":"Error while sending ApiVersionsRequest to broker IP:PORT: EOF","name":"sarama"} {"level":"debug","ts":1715166414.740367,"msg":"client/metadata got error from broker -1 while fetching metadata:EOF","name":"sarama"}
Or like this
{"level":"error","ts":1715163313.996046,"msg":"failed to start client","type":"module","coordinator":"cluster","class":"kafka","name":"MYCLUSTER","error":"kafka: client has run out of available brokers to talk to: 3 errors occurred:\n\t* EOF\n\t* EOF\n\t* EOF\n"}
Steps to Reproduce:

Update the Burrow package from version 1.6.0 to 1.7.0/1.8.0.
Use the same configuration as in version 1.6.0.

Expected Behavior:
The Burrow package should work as expected with the same configuration as in version 1.6.0.
Actual Behavior:
The Burrow package does not work as expected starting from version 1.7.0.
Environment:

Burrow version: 1.7.0/1.8.0
Kafka Version: 3.5.2
Zookeeper version: 3.8.0

Is your kafka-version setting in the client-profile up-to-date? I had similar problems and fixed it by updating this setting.

@lukasertl kafka-version is set to 3.5.2 as this is our version of the cluster

Does anyone have suggestions on what I could check?

This is still relevant.

Having the same issue when using SASL/SCRAM for authentication.

@bai maybe you could take a look at this? thank you!

Having same issue... had to revert back to 1.6.0
My 1.6.0 config has a fake tls with unverify=true which has worked for years. I thought this was the issue with the EOF so I actually removed that and went back to plaintext instead. This still rendered the same EOF issue on 1.8.0. So I was able to re-enable the TLS back on 1.6.0 but no idea why tls or plaintext both keep getting these EOF issues on latest burrow.

@bai maybe you took a look at this?

Has anyone managed to fix this maybe?

This is still relevant.. @bai, maybe you could help ?

Any news?

any updates regarding this? thanks

Hello, I still haven't figured out the issue.

And it's still relevant


Does not complete the expansion

Expected behavior: Text expansion
Actual behavior: The audible sound occurs and the cursor moves slightly as if the text expansion is happening but it is left blank.
Steps to reproduce the behavior: I have attempted several other shortcuts across applications, MS Word, Chrome, etcetera to no avail.
Operating system
Windows 7 Pro.

Hi @ganosborne
A couple of questions:

Are you using any other application that may interfere with the clipboard? For instance clipboard enhancement tools like ClipboardFusion or ArsClip.
Are you using any form of remote access (VNC/Citrix...).
In the preferences dialog, in the Advanced  section, is the Use clipboard for combo substitution option checked ? If you change this option, does it work better?

Unfortunately I am not.  Although it is odd that I restarted  and BeefText started automatically. I was typing and I used a common acronym and it worked. It expanded with the sound and I assumed it had somehow rectified. I tried it again immediately afterwards and it stopped working.
Gan Osborne
Public Safety Assistant Director
2000 Riverchase Galleria
Suite 181B
Hoover, AL 35244
Office:<PHONE_NUMBER>
Cellular:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>
From: Xavier Michelon<EMAIL_ADDRESS>Sent: Monday, May 27, 2019 9:29 AM
To: xmichelo/Beeftext
Cc: Gan Osborne; Mention
Subject: Re: [xmichelo/Beeftext] Does not complete the expansion (#160)
Hi @ganosbornehttps://github.com/ganosborne
A couple of questions:

Are you using any other application that may interfere with the clipboard? For instance clipboard enhancement tools like ClipboardFusion or ArsClip.
Are you using any form of remote access (VNC/Citrix...).
In the preferences dialog, in the Advanced section, is the Use clipboard for combo substitution option checked ? If you change this option, does it work better?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/xmichelo/Beeftext/issues/160?email_source=notifications&email_token=AMFBQE2MTIHCFPGKDIJ64CLPXPV25A5CNFSM4HPPWNIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWJ6FQA#issuecomment-496231104, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMFBQE2O6CHAD7O2XDI4E2LPXPV25ANCNFSM4HPPWNIA.

Alright, I found something strange, my acronyms  auto expand while using MS Outlook. while  BeefText is off.
ie: PSAD Gan Osborne, Public Safety Director Dexter Cunningham etcetera.
When I turn BeefText on is when I have an issue.
While BeefText is on, in Google Chrome, MS Word I it wont work.  But in MS Teams it will.
From: Xavier Michelon<EMAIL_ADDRESS>Sent: Monday, May 27, 2019 09:29
To: xmichelo/Beeftext<EMAIL_ADDRESS>Cc: Gan Osborne<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [xmichelo/Beeftext] Does not complete the expansion (#160)
Hi @ganosbornehttps://github.com/ganosborne
A couple of questions:

Are you using any other application that may interfere with the clipboard? For instance clipboard enhancement tools like ClipboardFusion or ArsClip.
Are you using any form of remote access (VNC/Citrix...).
In the preferences dialog, in the Advanced section, is the Use clipboard for combo substitution option checked ? If you change this option, does it work better?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/xmichelo/Beeftext/issues/160?email_source=notifications&email_token=AMFBQE2MTIHCFPGKDIJ64CLPXPV25A5CNFSM4HPPWNIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWJ6FQA#issuecomment-496231104, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMFBQE2O6CHAD7O2XDI4E2LPXPV25ANCNFSM4HPPWNIA.

Gan Osborne
Public Safety Assistant Director
2000 Riverchase Galleria
Suite 181B
Hoover, AL 35244
Office:<PHONE_NUMBER>
Cellular:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>
From: Gan Osborne
Sent: Monday, May 27, 2019 10:19 AM
To: xmichelo/Beeftext
Subject: RE: [xmichelo/Beeftext] Does not complete the expansion (#160)
Alright, I found something strange, my acronyms  auto expand while using MS Outlook. while  BeefText is off.
ie: PSAD Gan Osborne, Public Safety Director Dexter Cunningham etcetera.
When I turn BeefText on is when I have an issue.
While BeefText is on, in Google Chrome, MS Word I it wont work.  But in MS Teams it will.
From: Xavier Michelon<EMAIL_ADDRESS>Sent: Monday, May 27, 2019 09:29
To: xmichelo/Beeftext<EMAIL_ADDRESS>Cc: Gan Osborne<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [xmichelo/Beeftext] Does not complete the expansion (#160)
Hi @ganosbornehttps://github.com/ganosborne
A couple of questions:

Are you using any other application that may interfere with the clipboard? For instance clipboard enhancement tools like ClipboardFusion or ArsClip.
Are you using any form of remote access (VNC/Citrix...).
In the preferences dialog, in the Advanced section, is the Use clipboard for combo substitution option checked ? If you change this option, does it work better?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/xmichelo/Beeftext/issues/160?email_source=notifications&email_token=AMFBQE2MTIHCFPGKDIJ64CLPXPV25A5CNFSM4HPPWNIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWJ6FQA#issuecomment-496231104, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMFBQE2O6CHAD7O2XDI4E2LPXPV25ANCNFSM4HPPWNIA.

If beeftext is off and expansion occurs, it generally means another application is doing the replacement. Have you installed another similar piece of software (TextExpander or PhraseExpress, for instance) ?

No, I did have some auto correct options set up in Word at one point.
Gan Osborne
Public Safety Assistant Director
2000 Riverchase Galleria
Suite 181B
Hoover, AL 35244
Office:<PHONE_NUMBER>
Cellular:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>
From: Xavier Michelon<EMAIL_ADDRESS>Sent: Monday, May 27, 2019 2:28:07 PM
To: xmichelo/Beeftext
Cc: Gan Osborne; Mention
Subject: Re: [xmichelo/Beeftext] Does not complete the expansion (#160)
If beeftext is off and expansion occurs, it generally means another application is doing the replacement. Have you installed another similar piece of software (TextExpander or PhraseExpress, for instance) ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/xmichelo/Beeftext/issues/160?email_source=notifications&email_token=AMFBQEZRIS7TZ7P46L62QO3PXQY4PA5CNFSM4HPPWNIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWKMYNQ#issuecomment-496290870, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMFBQE2PYQ76T3ZCGNTX3M3PXQY4PANCNFSM4HPPWNIA.

In the preferences dialog, in the Advanced section, is the Use clipboard for combo substitution option checked ? If you change this option, does it work better?
Have you tried this, as I suggested in my first reply?

It worked. You're fantastic. It was checked, now it isn't. I don't know why it worked but it did.
Gan Osborne
Public Safety Assistant Director
2000 Riverchase Galleria
Suite 181B
Hoover, AL 35244
Office:<PHONE_NUMBER>
Cellular:<PHONE_NUMBER>
Email<EMAIL_ADDRESS>
From: Xavier Michelon<EMAIL_ADDRESS>Sent: Wednesday, June 5, 2019 11:42 PM
To: xmichelo/Beeftext
Cc: Gan Osborne; Mention
Subject: Re: [xmichelo/Beeftext] Does not complete the expansion (#160)
In the preferences dialog, in the Advanced section, is the Use clipboard for combo substitution option checked ? If you change this option, does it work better?
Have you tried this, as I suggested in my first reply?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/xmichelo/Beeftext/issues/160?email_source=notifications&email_token=AMFBQEZBK7V3IXNMS33FPHDPZCIVBA5CNFSM4HPPWNIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXBWUNY#issuecomment-499345975, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMFBQEYV2XPW47RQGEUM5STPZCIVBANCNFSM4HPPWNIA.


Basic whitespace detection in JSON mode

This stops hanging from infinite whitespace generation by detecting 100 consecutive whitespace tokens and cancelling
Other ideas:

[ ] Repetition detection – detect the repetition of the same string over and over again
[ ] Only do this after detecting a full json object
[ ] Lower whitespace logit bias when using JSON mode (might affect outcome of the response)
[ ] Force user to specify JSON in the prompt (might be hard for folks to know this, this is what OpenAI does)

Seems like a reasonable approach. For point 3 (force user to specify JSON in the prompt) in one of the open issues related to this JSON actually is specified in the prompt, but the issue persists. So that won't be a complete fix, although it will help in many cases.

@BruceMacD thanks! The other approach might just be "repetition detection", which we've seen outside of json mode too for smaller models

Why not just disallow space at the end in the grammar that is used to constrain the output? Right now it allows tailing whitespace, but I see no reason for that. It should only allow that inside objects, not after the whole JSON value.

superseded by #3080


Tracking Issue: migrate Arrow/Parquet to the official implementation.

What type of enhancement is this?
Tech debt reduction
What does the enhancement do?
As discussed in https://github.com/GreptimeTeam/greptimedb/discussions/388, we decide to migrate the arrow/parquet implementation to the official version. This issue tracks the progress of this work.
Implementation challenges
Major API changes

DataFusion

ExecutionPlan::execute change to sync https://docs.rs/datafusion/latest/datafusion/physical_plan/trait.ExecutionPlan.html#tymethod.execute	  fn execute(
	      &self,
	      partition: usize,
	      context: Arc<TaskContext>
	  ) -> Result<SendableRecordBatchStream>

new interfaces of ExecutionPlan

		  fn output_ordering(&self) -> Option<&[PhysicalSortExpr]>

		  fn statistics(&self) -> Statistics

new TaskContext https://docs.rs/datafusion/latest/datafusion/execution/context/struct.TaskContext.html

(wrapper over RuntimeEnv, with more functionality)

TableProvider is separate into TableProvider(physical stage) and TableSource(logical stage) https://docs.rs/datafusion-expr/latest/datafusion_expr/trait.TableSource.html

Arrow

Array trait

apache: https://docs.rs/arrow/latest/arrow/array/trait.Array.html
arrow2 (v0.10): https://docs.rs/arrow2/0.10.1/arrow2/array/trait.Array.html
the major difference is around validity		  fn validity(&self) -> Option<&Bitmap>

		  fn with_validity(&self, validity: Option<Bitmap>) -> Box<dyn Array>

arrow-format https://github.com/DataEngineeringLabs/arrow-format also needs to migrate to Apache Arrow

Parquet

Mainly used in ParquetWriter (read/write sst) and statistics (predicate).

Works before migration

[x] Change ExecutionPlan::execute to sync method @waynexia #573
[x] ~Specify output_ordering for our ExecutionPlan impl~
[x] Adapt TableSource @v0y4g3r
[x] (TBD: TaskContext)
[x] ~add proxy method like get_validity for ArrayRef~
[x] (TBD: parquet part)
[x] use datatypes::arrow instead of arrow directly @evenyag  #571
[x] eliminate the usage of MutableBitmap @evenyag #610

Migrating
Working on branch replace-arrow2
Target versions:

DataFusion: 14.0.0
Arrow: 26.0.0
Parquet: 26.0.0

Migrating datatypes
Branch datatypes2 is working on migrating our vectors to arrow

[x] PrimitiveVector @evenyag  #633
[x] DateVector @evenyag #651
[x] DateTimeVector @v0y4g3r #661
[x] TimestampVector @v0y4g3r #686
[x] StringVector @waynexia #659
[x] ConstantVector @waynexia #680
[x] NullVector @evenyag #658
[x] ListVector @evenyag #681
[x] Validity @evenyag #684
[x] ColumnSchema and Schema @evenyag #695

TODO

[x] Implements VectorOp::cast() #1025
[ ] Implements VectorOp::take()
[ ] refactor create_current_timestamp_vector()
[ ] Refactor ListValue and ListValueRef
[ ] Better distinguishes logical type and physical type
[ ] Avoid using match to handle timestamp data type
[ ] #754
[ ] Document that describes the design
[ ] Remove version from Schema #349
[x] Refactor RecordBatch and remove arrow_array_get()
[ ] Refactor Timestamp, maybe put all time unit as a flat enum variant
[ ] Refactor ConcreteDataType, move is_xxx to properties
[ ] Test JSON serialization output of values, datatypes, schema, column schema...
[ ] Refactor usage of Helper::static_cast(), avoid checking whether the vector is const in user codes
[ ] More tests for parquet reader
[ ] Consider using ordered float as wrapper type for float vectors.
[x] #971
[x] script/python/builtins/mod.rs move to script/python/builtins.rs, also check other mods #784
[x] Refactor script mod to use our RecordBatch/Vector/Schema
[x] #978

Migrating functions

[x] diff #715
[x] argmax @evenyag #716
[x] argmin @evenyag
[x] mean @waynexia #717
[x] median @evenyag
[x] percentile @evenyag
[x] polyval @waynexia #717
[x] scipy_stats_norm_cdf @evenyag
[x] scipy_stats_norm_pdf @evenyag
[x] pow @waynexia #717
[x] rate @evenyag
[x] clip @evenyag
[x] interp @waynexia #717

TODO

[x] test test_clip_fn_* may fail with SIGSEVG #734

What about Field and Schema, I remember arrow2 and arrow have different APIs.

add proxy method like get_validity for ArrayRef

Only a few places use get_validity(), I think we could skip this step.

They might have different semantic
* [arrow2 CastOptions](https://docs.rs/arrow2/latest/arrow2/compute/cast/struct.CastOptions.html)

* [arrow CastOptions](https://docs.rs/arrow/latest/arrow/compute/struct.CastOptions.html)

Yes, so many API changes. For this particular case, I think we can set safe to true in the new option.
Gladly (or maybe sadly 🥲) it looks like we don't have this kind of boundary-case tests. I almost see the future that we've paid lots of care to review the change (I hope so 🤪) but still ignore some critical changes that will take us a day to trace it down.

We may also need to refactor Vector to separate vector's logical type from it's internal representation like discussed in #203

We may also need to refactor Vector to separate vector's logical type from it's internal representation like discussed in #203

Looks #203 is suggesting a non-trivial change. We can dive into it after this migration.

I'm working on the new vectors based on the official arrow in branch datatypes2. Now I implement the boolean and binary vector. The next step is porting the primitive vector. @waynexia @v0y4g3r

test test_clip_fn_* may fail with SIGSEVG

I reproduced this BUG in another repo and find out that it is highly related to the usage of the with_match_primitive_type_id macro.
The AddressSanitizer also says that the stack overflowed when running the tests.
=================================================================
==71205==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x00016d433f60 at pc 0x000102ca8210 bp 0x00016d3caf90 sp 0x00016d3caf88
WRITE of size 8 at 0x00016d433f60 thread T2
    #0 0x102ca820c in debug_datatypes::macros::tests::eval_i64::h9032765d623f5419 macros.rs:178

The define_eval expands to about 11 * 11 * 11 = 1331 (there are 10 primitive types and a unreachable branch) match arms. The overflow should be caused by rust-lang/rust#34283

arrow only provides a generic version of arithmetic operation, but arrow2 supports passing scalar dynamically
arrow:
pub fn add_scalar_dyn<T>(array: &dyn Array, scalar: T::Native) -> Result<ArrayRef>
where
    T: ArrowNumericType,
    T::Native: ArrowNativeTypeOp,
{}

arrow2:
pub fn add_scalar(lhs: &dyn Array, rhs: &dyn Scalar) -> Box<dyn Array> {}

Is this error relavate to this issue?
This function is not necessary, but it is useful in time serise query.

Sorry, I didn't see there is an available now() function, which is an alternative.

This function is not necessary, but it is useful in time serise query

Unfortunately, we don't support Time64 data type now. Note that the Timestamp type is different from the Time type.

What's the status of this tracking issue right now? Can we close it or keep it? @evenyag @v0y4g3r

What's the status of this tracking issue right now? Can we close it or keep it? @evenyag @v0y4g3r

I think it's sufficient to close this tracking issue. The unresolved todos mainly relate to data type refactoring, it's better to open another issue for that topic.


[Feature request] Support for YAML anchors in SAM/CF templates

Any chance we can get YAML anchor support for SAM?
As it is, YAML anchors are supported in Amazon Swagger S3 files referenced in SAM files via, e.g., DefinitionUri. This is awesome as it lets us very succinctly define new API Gateway endpoints. For example:
    /forgot:
      put:
        <<: *scaffold
        x-amazon-apigateway-integration:
          <<: *integration
          uri: "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:XXX/invocations"
      options: *options

Beyond Swagger YAML anchor support, anchors don't work in CF/SAM files currently.

I figured out a way to get YAML anchors working in CloudFormation templates. Sweet! Here's how:
You cannot include YAML anchors directly in your primary CF template (the one you are directly deploying). Doing so will yield: "An error occurred (ValidationError) when calling the CreateChangeSet operation: Template error: YAML aliases are not allowed in CloudFormation templates"
However, you can use YAML anchors in imported template snippets. Then, in the deployable primary CF file, you include them as follows:
Resources:
  'Fn::Transform':
    Name: 'AWS::Include'
    Parameters:
      Location: !Sub s3://xxx/MyYamlAnchoredResources.yaml

Anchors allow CF templates to become radically smaller.

The benefit?  The aws cloudformation package command does create a separate and flat yaml but it still contains my anchors.
I use the anchors inside my swagger api gateway doc. Might it be impossbile in that scenario?

@mruckli is correct @sanathkr - package simply replaces & with something like &id001

@bluepeter - did you get any joy with aws cloudformation package?

I am using YAML anchors without issue in the solution I specified above. I have not tried the solution proposed by @sanathkr as mine is working well as is.
Here's more detail on what I am doing. The core CloudFormation template has next to nothing in it. All it does is AWS::Include another like so in file BigOnion.yaml (or whatever else you want to call it):
Resources:
  Fn::Transform:
    Name: AWS::Include
    Parameters:
      Location: !Sub s3://my-s3-location-${AWS::AccountId}-${AWS::Region}/resources.yaml

Then, in resources.yaml (or whatever else you call it), I can use YAML to radically reduce CloudFormation templates. Here's an example of a Lambda function definition:
accountDelete:
  <<: *lambdaDefaults
  Properties:
    <<: *lambdaProps
    FunctionName: myLambdaFunction

Then, to deploy, I add the following in package.json to simplify the command line CloudFormation deploy step:
  "scripts": {
    "cf-deploy": "./bin/update-resources.sh && aws --profile MyAWSProfileName cloudformation deploy --stack-name MyStackName --template-file CloudFormation/BigOnion.yaml --capabilities CAPABILITY_IAM",

In the referenced bin/update-resources.sh I have the following:
#!/usr/bin/env bash

# Creates the S3 deployment helper bucket if it doesn't already exist.
# Uploads BigOnion_dummyFunction.zip and resources.yaml to the bucket.

PROFILE=${1:-BigOnion}
echo "Using AWS profile ${PROFILE}"
MY_REGION=`aws --profile ${PROFILE} configure get region`
echo "AWS region is ${MY_REGION}"
ACCOUNT_ID=`aws --profile ${PROFILE} sts get-caller-identity --output text --query "Account"`
echo "AWS account id is ${ACCOUNT_ID}"
S3="bigonion-deployment-helper-${ACCOUNT_ID}-${MY_REGION}"
echo "AWS S3 is ${S3}"

aws --profile ${PROFILE} s3 mb s3://$S3
aws --profile ${PROFILE} s3 cp CloudFormation/resources.yaml s3://$S3/resources.yaml
if [ ! $? -eq 0 ]; then
  echo "FAILED"
  exit
fi
aws --profile ${PROFILE} s3 cp functions/dummyFunction/src/BigOnion_dummyFunction.zip s3://$S3/BigOnion_dummyFunction.zip
if [ ! $? -eq 0 ]; then
  echo "FAILED"
  exit
fi

You can probably figure out what is going on here. This script basically creates the S3 bucket if it doesn't already exist, and uploads the new/updates resources.yaml there.
As a result, I can edit resources.yaml which contains all my YAML anchor'd stuff, and when I am ready to deploy, I just type: yarn run cf-deploy. This will create the S3 bucket (in my case I include region and account ID as I am using this across multiple regions and accounts), upload the new resources.yaml file which is referenced in BigOnion.yaml, and then deploy/update a new CF stack using the aforementioned in BigOnion.yaml
YMMV.

If you call the YAML anchor Metadata then it will generate a valid CFN key in the output YAML that can be ignored.
For e.g the following cloudformation with anchors:
---

Metadata: &default_vars
  ENV: production
  BUCKET: s3-prod-blah
  DB_HOST: prod-reader.db.com
  DB_PORT: 3306

Metadata: &properties
  Code:
    ZipFile: |
      var aws = require('aws-sdk')
      var response = require('cfn-response')
      exports.handler = function(event, context) {
          console.log("hello")
      }
  Description: My App Function
  Handler: "function.lambda_handler"
  Environment:
    Variables:
      << : *default_vars
  Role: !GetAtt MyDBReaderFunctionRole.Arn
  Runtime: "python3.6"
  Timeout: 60

Metadata: &role_properties
  ManagedPolicyArns:
    - 'arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole'
  AssumeRolePolicyDocument:
    Version: "2012-10-17"
    Statement:
      -
        Effect: "Allow"
        Principal:
          Service:
            - "lambda.amazonaws.com"
        Action:
          - "sts:AssumeRole"
  Path: "/"

Resources:

  MyDBWriterFunction:
    Type: AWS::Lambda::Function
    Properties:
      <<: *properties
      Role: !GetAtt MyDBWriterFunctionRole.Arn
      Environment:
        Variables:
          << : *default_vars
          DB_HOST: prod-writer.db.com

  MyDBReaderFunction:
    Type: AWS::Lambda::Function
    Properties:
      <<: *properties

  MyDBWriterFunctionRole:
    Type: "AWS::IAM::Role"
    Properties:
      <<: *role_properties

  MyDBReaderFunctionRole:
    Type: "AWS::IAM::Role"
    Properties:
      <<: *role_properties

When run with aws cloudformation package this will generate:

Metadata:
  ManagedPolicyArns:
  - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
  AssumeRolePolicyDocument:
    Version: '2012-10-17'
    Statement:
    - Effect: Allow
      Principal:
        Service:
        - lambda.amazonaws.com
      Action:
      - sts:AssumeRole
  Path: /
Resources:
  MyDBWriterFunction:
    Type: AWS::Lambda::Function
    Properties:
      Code:
        ZipFile: "var aws = require('aws-sdk')\nvar response = require('cfn-response')\n\
          exports.handler = function(event, context) {\n    console.log(\"hello\"\
          )\n}\n"
      Description: My App Function
      Handler: function.lambda_handler
      Environment:
        Variables:
          ENV: production
          BUCKET: s3-prod-blah
          DB_HOST: prod-writer.db.com
          DB_PORT: 3306
      Role:
        Fn::GetAtt:
        - MyDBWriterFunctionRole
        - Arn
      Runtime: python3.6
      Timeout: 60
  MyDBReaderFunction:
    Type: AWS::Lambda::Function
    Properties:
      Code:
        ZipFile: "var aws = require('aws-sdk')\nvar response = require('cfn-response')\n\
          exports.handler = function(event, context) {\n    console.log(\"hello\"\
          )\n}\n"
      Description: My App Function
      Handler: function.lambda_handler
      Environment:
        Variables:
          ENV: production
          BUCKET: s3-prod-blah
          DB_HOST: prod-reader.db.com
          DB_PORT: 3306
      Role:
        Fn::GetAtt:
        - MyDBReaderFunctionRole
        - Arn
      Runtime: python3.6
      Timeout: 60
  MyDBWriterFunctionRole:
    Type: AWS::IAM::Role
    Properties:
      ManagedPolicyArns:
      - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
        - Effect: Allow
          Principal:
            Service:
            - lambda.amazonaws.com
          Action:
          - sts:AssumeRole
      Path: /
  MyDBReaderFunctionRole:
    Type: AWS::IAM::Role
    Properties:
      ManagedPolicyArns:
      - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
        - Effect: Allow
          Principal:
            Service:
            - lambda.amazonaws.com
          Action:
          - sts:AssumeRole
      Path: /

You can now use this with aws cloudformation deploy or aws cloudformation create-stack. It'll save you having to use Fn::Transform

@vjeffz thanks for the update... is this officially documented somewhere, or just another "side-effect" (like my original "discovery" of Fn::Transform?

@bluepeter  not officially documented anywhere, just a simple workaround I discovered :)


[FEATURE] Add xtra keyword argument or function call to MiniDataAPI Spec

Is your feature request related to a problem? Please describe.
The .xtra control in the MiniDataAPI spec is powerful, let's explore adding it to the spec.
Describe the solution you'd like

[ ] Document how the implementation should behave
[ ] Implement in fastlite
[ ] Document in the MiniDataAPI spec

Example code
Here's two ideas

As a keyword argument:

todos(xtra={'name': 'Danny'})

As a chainable function call:

todos(where="status='open'").xtra(name='Danny')

Similar implementations
Existing .xtra implementation is here
Problems solved

Encourages safer data control practices
That .xtra is immutable once set makes per-function an improvement to developer UX

Confirmation
Please confirm the following:

[x] I have checked the existing issues and pull requests to ensure this feature hasn't been requested before.
[x] I have read the project's documentation to ensure this feature doesn't already exist.

It should be a keyword argument. Search the fastlite source for anywhere we use self.xtra now, and have each of those functions take an xtra param. Then, in the function, do if not xtra: xtra=self.xtra, and then replace the usage of self.xtra in the function with xtra. Make sense?
We should implement it and use it first and see if we like it, before we document it.

Closing this because it was resolved months ago.


  I created a new project from scratch so the branch plugin downloaded fresh again.  And once again the builds are failing.  Looks like you changed a class name or something?

Looks like it was broken by f77c158e291cba701853fa40c21c30d57c1ece54?

Looks like this could be resolved by f77c158e291cba701853fa40c21c30d57c1ece54?

same problem here for me!
thought i screwed things up after updating to latest cordova ios platform 4.2.0

Sorry about that guys. NPM requires a different file configuration due to some weirdness, and I had to tweak the header reference in ~ 6 different places to accommodate. I merged that fix to master.

Thanks, that seems to have done the trick.  Was just poor timing on my part to delete the project first thing in the morning.


Feature Request: Support for Directives to Handle Layout Shifting

Hi there,
I'm wondering if it would be possible to incorporate support for directives to handle layout shifting within the @vueuse/motion library. This feature would be highly beneficial for developers who need to manage complex animations and layout changes in Vue 3 applications.
References:
Hero Motion - This library provides a similar functionality and could serve as inspiration for how layout shifting can be handled.
Framer Motion - This reference demonstrates an effective approach to managing layout animations, which could be adapted to fit the Vue ecosystem.
Thank you for considering this feature request! Your work on @vueuse/motion has been incredibly valuable, and this addition would make it even more versatile.

I’ve created a parallel thread in the hero-motion repository regarding the potential addition of layout shifts to @vueuse/motion. If this feature could be incorporated, it would be immensely beneficial.
You can find the thread here: link.

@Tahul can you kindly look into this request.

Hey, I recently started working on a library supporting this type of animations, also built on top of @vueuse/motion: https://noeldemartin.github.io/vivant/
I looked at Hero Motion, and it seems like layout animations don't work with complex animations involving nested elements.
I'm also willing to contribute any of this if the maintainers are interested, but it's just a proof of concept so I doubt it can be integrated. Though let me know if you are interested to learn more about my approach.

Thank you for your response, I have looked at vivant. it's really a awesome lib, and it seems provided more features than hero-motion.
Regarding the part about hero-motion, there may be issues with complex animations. Could you provide a reproduction example? and issue welcome, I'll try to fix it.

Ok @tmg0, I opened an issue in the Hero Motion repo, we can continue the conversation there.

Thanks a lot for that!


BeamNGpy should not truncate and discard control commands

During the simulation BeamNG shows on the console that some control messages miss a byte or have an extra byte. This in turns results in the messages to be discarded and the control commands to get lost.

Changed the way messages are sent/read to (hopefully) prevent this in v0.3.4.


AIRFLOW-51 && AIRFLOW-71 && AIRFLOW-516 docker_operator improvements

Dear Airflow Maintainers,
Please accept this PR that addresses the following issues:
[AIRFLOW-51] Improve the integration with swarm
[AIRFLOW-71] docker_operator - pulling from private repositories
[AIRFLOW-516] removing stopped container.
https://github.com/apache/incubator-airflow/pull/1806

Current coverage is 66.27% (diff: 78.94%)

Merging #1877 into master will increase coverage by 0.02%

@@             master      #1877   diff @@
==========================================
  Files           128        128
  Lines          9841       9856    +15
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6520       6532    +12
- Misses         3321       3324     +3
  Partials          0          0

Powered by Codecov. Last update 6adb15c...47c4633

@asnir can you please rebase and fix the landscap/travs issues? Then we can merge

@bolkedebruin, the CI process isn't stable.

@asnir working on it see #1963

@bolkedebruin , it even worse.

@bolkedebruin

Nice now please sqUash your commits and provide a proper commit message per guidelines. That we can put it in the next release. Thanks for your patience.

hey @asnir I would really want to make this part of the 1.8.0 release.


docs: add pull request template

Description
Adding a Pull Request template
Changes Made
Creating a  pull_request_template.md in the root of the directory of the project.
Checklist

[X] I have read and followed the contributing guidelines.
[X] I have tested my changes thoroughly and they work as expected.
[X] I have added necessary tests for the changes made.
[X] I have updated the documentation to reflect the changes made.
[X] My code follows the project's coding style and standards.
[X] I have added appropriate commit messages and comments for my changes.

Related Issues
#25 Include a pull request template
Additional Notes
I am looking forward to getting my very first pull request merged for GCP Scanner!

Hi, thanks for the template. Please accept Google CLA in order to proceed with the commit.

Hi, thanks for the template. Please accept Google CLA in order to proceed with the commit.

I have just submitted it. Would you be able to review and let me know if it can be merged or if I need to create a new pull request?

I like it. LGTM.