Build and Publish wheels for each release

To avoid users having to build wheels themselves we should release the wheels on GitHub Releases along with the src code.
We can setup GitHub actions to trigger on release which can generate the wheels and upload to the same release.
The same workflow can also be used to push the package to PyPi once ready.

Just so this isn't hidden way, this is still in flight, mostly I want to get distro packages (rpm and deb) sorted at the same time here as I don't want to have the wheels be the only method out there and folks get used to them being the only way (mostly because upgrading that way isn't as convenient).
I've got luwen building rpms privately right now, and debs are most of the way-ish there.  Just so there's a noted update here.

Hey @warthog9, wondering if there's any updates on this. Cloud is blocked from upgrading to the latest firmware on our machines because we do not want to be building from source.
Is it possible to increase the priority on this?

progress but slow for now just as an update


Dynamically determine node version

https://github.com/geoffrich/svelte-adapter-azure-swa/pull/47 updated the adapter to target Node 16 instead of 12. This is good, but it would be better if we could allow the user to specify which node version to use. Otherwise, they'll be tied to the adapter Node version.
Here's how adapter-vercel does it:
https://github.com/sveltejs/kit/blob/3dae8e702641b5ee762b1892b7b7aa90e1c19a7c/packages/adapter-vercel/index.js#L388-L399

This could be solved using route-level config like the Vercel adapter: https://kit.svelte.dev/docs/adapter-vercel#deployment-configuration

Any news on this? I'd like to use node18 in SWA. Would it be possible to extend the customization level of the staticwebapp.config.json as proposed in #66 ?

Thanks for the bump @BernhardAuer - this was a quick feature add that is available in 0.17.


Function to import test cases into Xray and to stamp the code with test(XXX-123 | Testcase...

The idea is to have a code snippet going through the test cases with e.g. npm run xray-import to import the testcases (with test steps) to Xray and then e.g. npm run xray-tag-tests to tag each test case with the correct test key?
Is anybody working an this? Would it be a nice feature to have?

Do you mean create the test in Playwright and generate the tests and test cases after?

Yes, Xray should reflect the test code. Right now the test case importer as I call it, imports the tests and test steps to xray and thereafter renames the test cases with the Xray test case id. My next goal is to update the test cases in xray e.g renamed test cases, test steps, addition and deletion of test steps.


Allow nz-submenu to expand when ant-menu-item-selected is true

What problem does this feature solve?
Using the routerLinkActive parameter on nz-menu-item is really useful when the router has navigated to a new route without clicking on the menu item that has a router link mapping. However, if the mapped menu item exists as a sub-menu item, the selected element will not be visible when the route is changed since the sub-menu is collapsed.
If nz-submenu was allowed to expand when ant-menu-item-selected is true, it would be easier for the user to see where they are contextually in the application if the route was forcibly changed, or if they entered the url to a specific route manually. It would be nice to have this kind of visual feedback.
What does the proposed API look like?
Maybe a property for nz-submenu called expandOnItemSelected that would trigger the expanding of the nz-submenu when the nz-menu-item inside of the the nz-submenu is selected.

You can use nzOpen to control the expand state of submenu yourself.
It will bring conflict with nzOpen if auto expand the submenu when router active.

Hmm I see. The tricky part about this that I'm having is getting the value of RouterLinkActive's .isActive  to the  tag to define whether it should be open or not. Probably will have to do something clever with a template variable.

@vthinkxie After playing with this a bit, im not sure if this is possible with the way the submenu handles routerLinkActive. It seems that nz-menu-item only sets routerLinkActive.isActive to true when nz-submenu is already open.
Not sure if it's possible to replicate this on stack blitz with a router but if not ill try to make a repo for this. Here is a rough example of what I'm trying to so with the template variables though. I'm setting the submenu title to display the value of .isActive so you can see how the value changes when the route remains the same while the menu opens and closes

            {{ rla.isActive}}

              Route 1

              Route 2

Since it seems i may have discovered a bug in that stackblitz example, I can open a bug issue rather than an enhancement if this thread seems to die. I feel like this is a fairly important feature.

@KevinStirling you can subscribe the router events to set nzOpen rather than use routerLinkActive isActive now.

thank you, ill try this

@KevinStirling Would you mind to share your code, since we are facing this issue too.

@jiashengLeong  sure thing. In your ngOnInit(), create the subscription to the router events:
      this.router.events
      .filter(event => event instanceof NavigationStart)
      .subscribe((event: NavigationStart) => {
        if (RegExp('(\/route1?.+)').test(event.url)){
          this.openMap.sub1 = true;
          this.openHandler('sub1');
        } else if (RegExp('(\/route2?.+)').test(event.url)){
          this.openMap.sub2 = true;
          this.openHandler('sub2');
        } else if (RegExp('(\/route3?.+)').test(event.url)){
          this.openMap.sub3 = true;
          this.openHandler('sub3');
        } else if (RegExp('(\/route4?.+)').test(event.url)){
          this.openMap.sub4 = true;
          this.openHandler('sub4');
        }
      });

the openmap simply tracks which sub menus are open:
openMap = {
    sub1: true,
    sub2: false,
    sub3: false,
    sub4: false,
  };

and openHandler() is what manages openMap's values:
  openHandler(value: string): void {
    for (const key in this.openMap) {
      if (key !== value) {
        this.openMap[ key ] = false;
      }
    }
  }


feat: safeguards for git repos

Closes #378
cc @c-ehrlich
✅ Checklist

[x] I have followed every step in the contributing guide (updated 2022-08-15).
[x] The PR title follows the convention we established conventional-commit
[x] I performed a functional test on my final commit

Changelog

fixes #378 by deleting the .git repo first. Copying files to hidden directories didn't seem to overwrite them.
adds some safeguards for initializing git repos in current worktrees etc
allow user to keep the current git repo if there is one

Note: Also updated some scripts I noticed didn't work properly

Screenshots
[Screenshots]

This makes sense to me. An existing git repo should be either left alone, or wiped. Writing new files into it seems like a terrible idea, even if the user selected "overwrite".

This makes sense to me. An existing git repo should be either left alone, or wiped. Writing new files into it seems like a terrible idea, even if the user selected "overwrite".

Do you mean writing files in the .git? That will be prevented indeed.
But the 'continue' option here would still let the scaffolding proceed (well, in the order we do things, it's already done) and the files would be added to the existing git repository.

Would you be willing to give this a proper review too @c-ehrlich ?

lgtm :)


[WIP] Use allowSpaces from github hash of tributejs

Waiting on https://github.com/zurb/tribute/pull/41 so that Yarn won't throw a fit when trying to install a specific commit from Github.

Still waiting for ^2.1.1 to be released: https://github.com/zurb/tribute/releases

@imontiel Hey! Is this still an issue on our end?

Nope, I can probably safely bump the peer version and release it! ^2.2.0 will be the peerDependency.

Nevermind just the dependency for developing this package needs to be updated, not the peer dependency.


F#805 add file upload location

Description

If the dataset has file type, user should choose a destination
Related Issue :

#805
How Has This Been Tested?

create a file dataset
upload a file and select a upload location
if the dataset is created, check the property 'fileType'

Types of changes

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

Checklist:

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

Additional Context

run build
deploy to 4

At Testbed 4 HDFS dataset is not created.

PrepDatasetFileService.java의 getPreviewLinesFromFileForDataFrame()에서 오류가 발생합니다.
upload된 파일을 불러오려고 하는데, HDFS 경로가 아닌 Local경로가 들어와서 file not found가 발생하는 것같습니다.
실제로도 HDFS에는 파일이 없고 local에만 생성되어있네요.

run build
deploy to 4

run build
deploy to 4

I fixed a typo-like bug.
And I found that there is no consideration about filekey missing, so I defined an error code for it.
Typo성 버그가 있어서 고쳐서 넣었습니다. 넣는 김에 filekey가 없는 경우에 대해 따로 처리가 없어서, error code를 하나 정의했습니다.


update license comments to include a copyright

this change just adds some copyright information to be in compliance with the apache license.

if, for whatever reason, we don't want to assign the copyright to red hat, an alternative would be to credit the copyright to the "rebasebot authors" and then make an authors file in the root.

updated with 2023 copyrights


Saving Movies from visualizer

If possible, would be ideal for ISB

For now moved the capture text to the bottom so it's readable

The specific issues I'm addressing under this generic title:

[ ] Visualizer hangs after first movie save
[ ] Better feedback that we're recording.
[ ] Possible control of recording frequency

Since we switched from continuous rendering (runs battery down) to render on demand (fewer frames, very fast/short movies), reducing the number of frames per sec. helps. Now investigating the display not refreshing while recording.

With the latest fixes, we can close this general one and open specific ones if needed so we can decide on priorities.

Has anyone made a movie from a Windows build? @jimmyDunne @aseth1

When I click the camera icon, I get no indication that movie recording has begun

Not fixed if background is gray. Reported in Forum Topic 9389.


Client connection should not call socket::connect if bind local address fails

Currently the client connection binds is called in its constructor. The bind can fail.
The client connection owner is unaware of this failure, usuallly ClientConnection::connect() is called after.
So it's ClientConnection that check the bind has failed and not call underlying socket::connect after.
It's not a hard failure since the event callback will detect the localclose value as set by the failing bind()

@AndresGuedez @alyssawilk
Possible solutions would involve use of a factory method to create the socket and bind it.

Interesting find. The same thing if the call to apply socket options also fails (STATE_PREBIND).
We already have a bind_error_ variable that we could leverage to return early if the caller tries to connect when we know that something is already wrong.


feat: Hook DataFusion Parquet native scan with Comet execution

Which issue does this PR close?

Closes #.
Rationale for this change

What changes are included in this PR?

How are these changes tested?

This doesn't completely work right now. It still gets a few test failures in CometExecSuite. I'm looking into that.

A few of test failures in CometExecSuite are due to partition values are not handled for now. It requires some more changes to this branch. I will go to work on it in other PR.

cc @andygrove

Thanks @mbutrovich


Investigate styles reported incorrectly

Investigate styles reported incorrectly, check with service team and enable tests.

Closed with https://github.com/Azure/azure-sdk-for-java/pull/29545


As a user, I would like to select my preferences as a guest, so that I can set my preferences for a one time use to find media to watch. (5 points)

Implemented an HTML form with guest information such as preferred streaming service and preferred genre.


Add a FAQ page in the wiki or in a file

Add a FAQ file with questions like "why does PowerToys doesn't support other operating systems?" or "Where can I find a roadmap" or "I can't see the preview pane what should I do?"
I will make it if the core team like this

@Aaron-Junker Are you working on this. If you are, please give a link to the branch

I'm not working on that. I want to wait

for approval?

Yes

How are we determining these are common questions?
The preview pane item we should update the overview.  I do believe that is valid.

With that said.  https://github.com/microsoft/PowerToys/wiki/File-Explorer-Add-ons-Overview#enabling-preview-pane was already there at the very top

Why do we feel an FAQ is needed
//cc @dedavis6797  as this is your ownership area for onboarding.

For linking to when a question appears that often appears

What are these questions that occur a lot in issues?  The big one was multi-mon for FZ but we have addressed that in wiki + there will be a better UX now in the app for it.
Is there a trend i was missing past that?

What are these questions that occur a lot in issues? The big one was multi-mon for FZ but we have addressed that in wiki + there will be a better UX now in the app for it.
Is there a trend i was missing past that?

Its not about questions for enhancements. Its about "whats PowerToys" "I faound a security problem where can I report it?" And so on

Also questions like this

Multi-Keyboard support for Keyboard Manager?
Enabling multi-keyboard support for Keyboard Manager required it to be implemented at the driver level. This is something that we are not interested in doing.

Also questions like this

Multi-Keyboard support for Keyboard Manager?
Enabling multi-keyboard support for Keyboard Manager requires it to be implemented at the driver level. This is something that we are not interested in doing right now.

Yes maybe

We don’t have data that dictates this is warranted. Even if we did this, will people read it?  I’m personally skeptical. I’d rather improve the docs and make it crisper / break them out for better readability


Adding a comment about the use of DispatcherSynchronizationContext

I'm reading this code, and it took me a few moments to understand what this code did. I've added a comment, pointing to the original post by Stephen Toub, explaining how to leverage the WPF dispatcher for this purpose.

Current coverage is 79.44%

Merging #2003 into master will increase coverage by +0.01% as of c7f7dbc

@@            master   #2003   diff @@
======================================
  Files          559     559
  Stmts        35237   35237
  Branches      9751    9751
  Methods
======================================
+ Hit          27989   27994     +5
+ Partial       5694    5692     -2
+ Missed        1554    1551     -3

Review entire Coverage Diff as of c7f7dbc

Powered by Codecov. Updated on successful CI builds.


[Bug] [数据开发-执行当前SQL] NoSuchMethodError: org.apache.flink.table.catalog.FunctionCatalog

Search before asking

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

What happened
Flink1.15.0

Caused by: java.lang.NoSuchMethodError: org.apache.flink.table.catalog.FunctionCatalog.(Lorg/apache/flink/table/api/TableConfig;Lorg/apache/flink/table/catalog/CatalogManager;Lorg/apache/flink/table/module/ModuleManager;)V
at com.dlink.executor.CustomTableEnvironmentImpl.create(CustomTableEnvironmentImpl.java:135) ~[dlink-client-1.13-0.6.5.jar:?]
添加了plugins

What you expected to happen
正常运行
How to reproduce
写好flinksql执行
Anything else
No response
Version
0.6.5
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

切换 dlink-client.jar 为 1.15

切换 dlink-client.jar 为 1.15

是需要自己切换1.15后编译是吧

切换 dlink-client.jar 为 1.15

是需要自己切换1.15后编译是吧

extends 下有


App name is not shown in Android notification panel if title is empty

Hi,
In iOS if we did not send anything for title OS shows the app name for title by default.
{ "data": {
      .....
        },
     "notification" : {
          "body" : "Body"
        },
.....
    }

This is the default behaviour in Android as well.
But in Android when we send body and title in data payload, plugin handles the incoming push. But the problem is if title is empty it does not show app name by default.
Can we show app name if title is empty by default?
Thank you.

+1

@bau720123 use the "Add your reaction" feature instead of adding +1 as a comment. It makes the issue cleaner while still counting your vote.

hi @macdonst
got it，sorry for bother

@bau720123 no problem, just letting you know for the future. It's hard to keep up with all the new features of all the tools we use. I'm going to delete our comments on this issue in a few minutes once you get a chance to read and vote.


Navigate > Class and choosing sequence() takes me to Sequence.sequence()

I tried to use Navigate > Class to take me to the toplevel function sequence(), and instead it took me to the method Sequence.sequence(), which just happens to be declared in the same source file.

Ooops, wrong repo.


Path of Exile window goes to background randomly

Throughout the game, PoE.exe (which is borderless fullscreen) randomly goes to background, losing focus. I can fix everything by selecting another window, like Chrome and then going back to PoE. I'm 100% sure it happens only when MercuryTrade is running. The bug is quite frequent as well.
P.S. Version <IP_ADDRESS>

how often does this happen

I would say every 10-15 minutes

it's very strange, we will investigate, but unlikely to be fixed in <IP_ADDRESS>

Nope, I tested multiple scenarios, thinking it was Windows 10, but pretty sure it's MercuryTrade. One thing I should mention is that the bug didn't exist before <IP_ADDRESS>

hm, we pushing <IP_ADDRESS> today, mb can be fix, let me know

Hasn't changed as of <IP_ADDRESS>, I'm afraid.

looks like you have a local conflict of some sort, can you try to shut down everything non-essential but poe + mercury and check? shift+alt+esc
keep us updated as this issue is extremely rare.

I've been trying out different things. It seems that Skype Preview was an issue. I haven't noticed it before because it was pretty much at the bottom of the Task Manager. It's been an hour since I killed the process and MercuryTrade hasn't bugged out yet. I'm not sure whether Microsoft has updated the app, but if so, they could've broken something. I'll let you know if anything changes.


Support CSP: Recaptcha Field uses inline JavaScript

When using a CSP which disallows inline JavaScript the RecaptchaField breaks. Disallowing inline JavaScript is IMHO the most important thing that you want to disable with CSP.
Would it be possible to manually add all the required scripts in the  section?

Same goes for the custom JS config part btw, this should be served under a special URL I think. What's the section supposed to do btw?

I am using django-csp and I followed this https://developers.google.com/recaptcha/docs/faq:
I'm using Content-Security-Policy (CSP) on my website. How can I configure it to work with reCAPTCHA?
We recommend using the nonce-based approach documented with CSP3. Make sure to include your nonce in the reCAPTCHA api.js script tag, and we'll handle the rest.

Note: reCAPTCHA also works with 'strict-dynamic' on browsers that support it.

Alternatively, please add the following values to the directives:

script-src https://www.google.com/recaptcha/, https://www.gstatic.com/recaptcha/
frame-src https://www.google.com/recaptcha/

The problem though arises when needing to override the templates that this django-recaptcha app uses to be able to edit the templates that this app uses to be able to insert the nonce into the recaptcha app. Relates to issue #211.

If you're using django-csp you can at least isolate the CSP changes with their decorator https://django-csp.readthedocs.io/en/latest/decorators.html.
from csp.decorators import csp_update
from allauth.account.views import SignupView

@method_decorator(
    csp_update(
        SCRIPT_SRC_ELEM="'self' 'unsafe-inline' https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/",
        FRAME_SRC="'self' https://www.google.com/recaptcha/",
    ),
    name="dispatch",
)
class CaptchaSignupView(SignupView):
    pass

Yes please! I don’t think anyone has attempted a PR for this, would love to see this happen. I don’t have much CSP expertise myself – from what I can see of the code, a nonce implementation should be reasonably simple. If anyone has thoughts on the best way forward please share here.

Only the html template files need to be adjusted, what if instead of using inline JavaScript just use a remote file?

Hi,
IMHO there is a quick way to make django-recaptcha CSP compatible/friendly.
Let me share with you the approach we used for our custom widgets.

django-csp is configured with  CSP_INCLUDE_NONCE_IN=['script-src']
replace any <script> tags with <script {% if request.csp_nonce %}nonce="{{ request.csp_nonce }}"{% endif %}>
since we are expecting the request object to be available in the widget's template which is not by default, we need to add some extra code:

each widget must overwrite get_context:

    def get_context(self, name, value, attrs):
        context = super().get_context(name, value, attrs)

        context.update({
            'request': getattr(self, 'request', None),
        })

        return context

I've used getattr instead of just self.request to not break existing integrations.
the form that is using the widget must overwrite __init__ and set the request as a property of the widget:

...
captcha = ReCaptchaField(widget=ReCaptchaV2Invisible)
...

    def __init__(self, *args, **kwargs):
        self.request = kwargs.pop('request')
        super().__init__(*args, **kwargs)
        self.fields['captcha'].widget.request = self.request

finally, the view must implement get_form_kwargs to pass the request object to the form:

    def get_form_kwargs(self):
        kwargs = super().get_form_kwargs()
        kwargs.update({
            'request': self.request,
        })
        return kwargs

I don't think that the inline script can be move to an external JS file since it is dynamic {{ widget_uuid }}, from js_v2_invisible.html:
...
        document.querySelector('.g-recaptcha[data-widget-uuid="{{ widget_uuid }}"]').closest('form').submit();
...
        var element = document.querySelector('.g-recaptcha[data-widget-uuid="{{ widget_uuid }}"]');
        element.closest('form').addEventListener('submit', verifyCaptcha_{{ widget_uuid}});
...

Please let me know your thoughts. Is there a better way?
Kind regards,
Dragos

As already suggested by @physicalit, another alternative could be to ditch the inline scripts entirely and create separate JS static files for each widget. Passing configuration can happen via data attributes or by using the json_script tag provided by Django.
Like you mentioned @alanverresen, the hard part about solution 1 is accessing the current request from the form field / widget. It feels like a bit much to impose this as a solution/workaround to developers as it requires they write some boilerplate code to pass the request (or the nonce itself) to the form/field/widget. It is not out of the question, just not preferred.
Not entirely sure about solution 2 and 3, but I assume that would also require a lot of changes and/or special template configuration as getting the nonce relies on having access to the request object one way or another.

My preference would be to not need the nonce at all and have this package work in a way that is compatible with CSP out of the box.

@alanverresen I'd welcome a PR that replaces the inline script usage with vanilla JS files 🙂
Big ask, but if you are up to task... me and the other maintainers sure appreciate a contribution in this direction! Again, no pressure: only if you feel like doing so.
I don't think this has to be a breaking change as long as all option (passed via widget attrs) continue working as expected.

I've quickly made the solution to work by overriding the widget's rendering method and appending the csp_nonce to the script tags.
Here's how I did it:
import re
from django_recaptcha.widgets import ReCaptchaV3

class RecaptchaV3WidgetWithCSP(ReCaptchaV3):
    def render(self, name, value, attrs=None, renderer=None):
        rendered_content: str = super().render(name, value, attrs, renderer)
        csp_nonce = getattr(self, "csp_nonce", None)
        if not csp_nonce:
            return rendered_content
        pattern = re.compile(r"(<script\b[^>]*)(>)")
        rendered_content = pattern.sub(f'\\1 nonce="{csp_nonce}"\\2', rendered_content)
        return rendered_content

And in the form:
class ContactForm(forms.Form):
    def __init__(self, *args: Any, **kwargs: Any):
        request = kwargs.pop("request", None)
        super().__init__(*args, **kwargs)
        if request:
            self.fields["captcha"].widget.csp_nonce = request.csp_nonce

and while building the form, just pass the request:
form = ContactForm(request.POST, request=request)

I hope this helps


Update Config for Computer Independence, fix change_MOM_param, and fix getattr bug

Changes:

Change config functions to include no file paths, and add docstrings
Update name in __init__ to expt_name
Change the function name for the config read from  load_experiment to create_experiment_from_config
Fix bug in change_MOM_param which didn't replace/add comments corrrectly.
Fix bug in __getattr__ which wasn't returning from segment properly
Commenting out lines in the demo that required a matplotlib dependency

I think I'll go ahead and merge this PR without review in another day or so because it is pretty small.


C++ syntax in string_view.h which might be included by .c files

What happened?
I failed to build the IREE runtime library because the C file https://github.com/iree-org/iree-samples/blob/main/runtime-library/test_api.c indirectly includes iree/base/string_view.h, which use the C++ syntax of initializer list.
After changing the line
  iree_string_pair_t v = {iree_string_view_empty(), iree_string_view_empty()};

into
  iree_string_pair_t v;
  v.first = iree_string_view_empty(), v.second = iree_string_view_empty();

and this line as well as this one, the build succeeded.
Steps to reproduce your issue
Please follow the steps in https://github.com/iree-org/iree-samples/issues/93
What component(s) does this issue relate to?
Runtime
Version information
d91712bf4d32c44f6075620293e638418a47d78f
Additional context
Xcode Version 14.2 (14C18)
macOS 13.1 (22C65)

Hmm C definitely has struct initializers, and we compile most of this code with C, so are you sure that's the issue?
We extensively use initializers in the code and this is likely a compiler version or configuration issue - have you made sure you're compiling in a modern C? (we generally require C11)

You are right. Using initializer list should not be the reason.
My setup works well building IREE compiler + runtime samples for macOS and iOS (simulator and devices).
Did we enable initializer list in the main repo but didn't in iree-sample/runtime-library?

I'm not sure about the samples repo - but this line should be in the cmakelists:
set(CMAKE_C_STANDARD 11)

I was referring to this repo https://github.com/iree-org/iree-samples/tree/main/runtime-library
I added set(CMAKE_C_STANDARD 11) to iree-samples/runtime-library/CMakeLists.txt to make it looks similar to that of the main repo. And, I verified that the compilation flags recorded in compile_commands.json are the same.  However, cmake --build build still errors the use of struct initializer list.
12:37 $ git diff
diff --git a/runtime-library/CMakeLists.txt b/runtime-library/CMakeLists.txt
index 74fec9d..7ef209e 100644
--- a/runtime-library/CMakeLists.txt
+++ b/runtime-library/CMakeLists.txt
@@ -9,6 +9,10 @@ cmake_minimum_required(VERSION 3.21...3.24)
 project(IREE_RUNTIME_LIBRARY)
 cmake_policy(SET CMP0069 NEW)

+set(CMAKE_C_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+
 set(IREE_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../iree" CACHE STRING "Main IREE source")

 # Enable LTO if supported.

Then, I compared the compilations flags for my succeeded build of the main repo and the failed runtime-library for macOS (and then iOS).  The following opendiff command shows the flags are the same.
grep iree/runtime/src/iree/vm/module_impl_emitc.c ~/w/build-ios-sim/compile_commands.json  | grep '\"command\"' | tr ' ' '\n' > /tmp/iree
grep iree/runtime/src/iree/vm/module_impl_emitc.c build-ios-sim/compile_commands.json  | grep '\"command\"' | tr ' ' '\n' > /tmp/runtime
opendiff /tmp/iree /tmp/runtime

I then disabled LTO from the runtime-library. Still cmake --build errors.
Very head scratching...

I got it -- we should have used nested initializer list for iree_string_pair_t.  Two clues:

The error message clearly told us to do so./Users/y/w/iree-samples/runtime-library/build/include/iree/base/string_view.h:67:27: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
  iree_string_pair_t v = {iree_string_view_empty(), iree_string_view_empty()};
                          ^~~~~~~~~~~~~~~~~~~~~~~~
                          {                       }

There are three places in string_view.h that use initializer list when instantiating iree_string_pair_t. Two of them do not use nested initializer list and caused compilation errors, and the last one uses it and does not cause errors.  iree_string_pair_t v = {
      {iree_make_cstring_view(first)},
      {iree_make_cstring_view(second)},
  };

The following change fixes the issue.
diff --git a/runtime/src/iree/base/string_view.h b/runtime/src/iree/base/string_view.h
index 6d26164d4..e8b74d867 100644
--- a/runtime/src/iree/base/string_view.h
+++ b/runtime/src/iree/base/string_view.h
@@ -64,14 +64,14 @@ typedef struct iree_string_pair_t {

 // Returns an empty string pair ("", "").
 static inline iree_string_pair_t iree_string_pair_empty(void) {
-  iree_string_pair_t v = {iree_string_view_empty(), iree_string_view_empty()};
+  iree_string_pair_t v = {{iree_string_view_empty()}, {iree_string_view_empty()}};
   return v;
 }

 // Returns a string pair with the given values.
 static inline iree_string_pair_t iree_make_string_pair(
     iree_string_view_t first, iree_string_view_t second) {
-  iree_string_pair_t v = {first, second};
+  iree_string_pair_t v = {{first}, {second}};
   return v;
 }


LinePlot / SmoothLinePlot crashes on Kivy 1.10.0 and certain graphics hardware on windows

We have reports of SmoothLinePlot crashing our app when running on Windows 7 when running Intel HD 4000 drivers. Also reproduces with the latest driver version.
This started with Kivy 1.10.0 - does not reproduce on Kivy 1.9.1.
Any suggestions on how to diagnose? or graphics settings that might mitigate this?
Thanks,

Looks like it's also happening with LinePlot as well. Trying to get a console output to augment this ticket.

tshirtman had some graphics crashes a while back that crashed python. He
fixed it by reverting some changes to graphics instructions. Here's the
patch for it:
https://gist.github.com/tshirtman/32c62920c05529e461561958696684e0. But we
weren't able to track down the actual reason for the crash. Give it a try
and maybe it fixes it.
The other consideration is that graph uses a fbo which is known to be buggy
under some circumstance (e.g. when used with a stencil), so maybe disable
it and see if that fixes things.
On Mon, Oct 23, 2017 at 12:10 PM, Brent Picasso<EMAIL_ADDRESS>wrote:

Looks like it's also happening with LinePlot as well. Trying to get a
console output to augment this ticket.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kivy-garden/garden.graph/issues/50#issuecomment-338711431,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABkW_q06E3Ts5ftBm50_o-gymBt2Bj0oks5svLqIgaJpZM4QDEOT
.

Thank you; we'll give it a try and report back.

any risk or side effects by doing this revert? If there's a PR or commit that describes the reason for the original code, please share it so I know if it's just a refactoring / optimization or if it fixed something important.  would be helpful before we give this to our customers.
Thanks!

It's this PR: https://github.com/kivy/kivy/pull/2187. The side effects is
only if you're using a memory view and editing the array in place. But kivy
is not using it internally I think.
On Mon, Oct 23, 2017 at 6:38 PM, Brent Picasso<EMAIL_ADDRESS>wrote:

any risk or side effects by doing this revert? If there's a PR or commit
that describes the reason for the original code, please share it so I know
if it's just a refactoring / optimization or if it fixed something
important. would be helpful before we give this to our customers.
Thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kivy-garden/garden.graph/issues/50#issuecomment-338817347,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABkW_lqQJX2QPLm8UINIB29NdRPpBRwBks5svRV9gaJpZM4QDEOT
.

Thank you. still waiting for some log dumps.  I take it the line chart exploits this feature in some way, possibly causing the crash?
Will apply the branch and see if my users reproduce the problem. It's slow for me because I cannot reproduce it locally.

The charts do not use that feature. Similarly, thsirtman was not using that
feature, yet a git bisect showed this commit was responsible for it. This
is why it's so mysterious as there doesn't seem to be any reason for the
crash. I'm guessing it's something to do with memory management in cython.
On Tue, Oct 24, 2017 at 10:43 AM, Brent Picasso<EMAIL_ADDRESS>wrote:

Thank you. still waiting for some log dumps. I take it the line chart
exploits this feature in some way, possibly causing the crash?
Will apply the branch and see if my users reproduce the problem. It's slow
for me because I cannot reproduce it locally.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kivy-garden/garden.graph/issues/50#issuecomment-339014391,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABkW_onviirNWgju-PufnvFU06PCmGBcks5svfeBgaJpZM4QDEOT
.

Thanks. I'll hold off until we can reproduce it. Hopefully we can get it fixed without me having to purchase a specific computer to test on. :)

Here's the crash. Does this ring a bell?
Exception MemoryError: MemoryError('vertex index allocation',) in 'kivy.graphic
s.vbo.VertexBatch.append_data' ignored
Exception MemoryError: MemoryError('vertex index allocation',) in 'kivy.graphic
s.vbo.VertexBatch.append_data' ignored

I'm not sure i had any visible error before segfaulting on my side, but i don't have the logs around anymore to confirm :/

I don't remember seeing this error before. Sounds like there's a memory
leak and plots or data points are not released.
On Oct 30, 2017 6:08 PM, "Gabriel Pettier"<EMAIL_ADDRESS>wrote:

I'm not sure i had any visible error before segfaulting on my side, but i
don't have the logs around anymore to confirm :/
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kivy-garden/garden.graph/issues/50#issuecomment-340599667,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABkW_i5l_qVU6dxrtC-N3EhZcrXcizF-ks5sxkjVgaJpZM4QDEOT
.

So from reports, this happens the instant they navigate to the part of the app that has the graph - it's not something that happens gradually. However, I suppose an infinite loop could consume memory quickly.
As before, it appears to happen with certain video hardware - Intel HD 4000

I think that in order to understand what's going on, you need to figure out if VBO are correctly deallocated.
This can be checked in 2 ways:

use objgraph, and when the MemoryError happen, start pdb (bind it on a keybinding), and check for VBO objects still in memory. I won't do a objgraph tutorial, and it can be very time consuming to find what you want, and understand where it came from :). Maybe double check that Line are removed if you use LinePlot. You could monitor the number of Line object in memory every X seconds to see if there is any increase.
at low level, use apitrace. It will trace GL functions call, and then you can see if the VBO are correctly deallocated.

A MemoryError really indicate that something is not freed; we have already few driver-specific fixes in the Kivy codebase, maybe this error require one as well.

This problem reproduced on a specific configuration. However, this specific configuration is actually pretty common, because it is happening on Windows 7 with the Intel HD 4000 graphics, which shows up on many different computers, especially laptops.
I have actually acquired a Thinkpad T530 and I'm in the process of installing WIndows 7 on it; Fortunately I reproduced the problem with our app, so I'll be able to install the dev tools (after all of the Windows service packs are installed) and then see what I can figure out.
What I did notice from casual observation, is that the app seems to freeze for a while, then crashes - not an immediate crash.  This has me guess that it is going into a loop, allocating memory until exhausted.


Partitioning support for feature group and dataset

The initial columns [A, B] were evolved into the final columns [A, B, C], partitioned by A. The following are the tested modes:

Upsert
Overwrite
Append


Faster build in codeql

Description
This PR increases the speed of components building in CodeQL parallelizing them

/rebase test=true

/rebase test=true

/rebase test=true

/merge


adding nautical miles to Control.scale

Checklist

[X] I've searched through the plugins to make sure this feature isn't already available, or think it shouldn't require a plugin.
[X] I've searched through the current issues to make sure this feature hasn't been requested already.
[X] I agree to follow the Code of Conduct that this project adheres to.

Motivation
When using leaflet for things like sailing or flight sims, or shipping/flight visualisation, distances use nautical miles, abbreviated as NM, which is slightly longer than the imperial mile. It would be great if the Control.Scale options could be extended to

options
type
default
description

metric
Boolean
True
Whether to show the metric scale line (km/m).

imperial
Boolean
True
Whether to show the imperial scale line (mi/ft).

nautical
Boolean
True
Whether to show the nautical scale line (nm/ft).

(technically aviation uses NM instead of nm, but that's an irrelevant difference)
Also note that this table reverses the order for metric to be km first, m second, so that all three use the same "main/secondary" format.
Suggested solution
The nautical mile is exactly 1852km, so should hopefully be fairly easy to implement .
Alternatives considered
there isn't really an alternative in this case.

Duplicate of #7788. This a perfect usecase for a plugin.
Maybe this helps you: https://github.com/PowerPan/leaflet.nauticscale

cheers


[PARSING ISSUE]

What is the name or path of the file you are trying to open?
vfx/action/ab_swd_abl019/eff/ab_swd019c0t.avfx
What type of file is it (VFX, TMB, PAP, etc.)?
VFX

Is this with version <IP_ADDRESS> of the plugin on an unmodded ability?

Not sure, but I can't replicate the issue anymore so I guess it's fixed with this patch.
I'll close this ticket, but can you look at my other ticket I tagged you in? Animation Cancelled by Movement. This has been plaguing a lot of the mods I've been working on as of late: https://github.com/0ceal0t/Dalamud-VFXEditor/issues/59


Add an option to disable search bar autofocus

App version:
<IP_ADDRESS>
Device model:
iPhone 11 Pro
iOS version:
iOS 13.4.1
Steps to reproduce the issue:

Force close the app if it's open
Open the app
Search bar becomes first responder (gets focused)

Expected behavior:
You cannot disable this from settings
Actual behavior:
You are able to disable this behaviour from settings

Hello @Lascorbe
Did you try navigate to Settings -> Keyboard and turn off the 'App Launch' option? I did try this and it worked for me with <IP_ADDRESS> for the scenario you've described.
If this doesn't work for you, I'd appreciate info about following settings:

New Tab (Top/Centered, Favorites).
Auto Clear (On/Off).
App Lock (On/Off).

Thanks!

That's what I was looking for, I can't believe I didn't see that before. Thank you!


Hyperion not working

Hello
First of I am a huge fan of your work!
So got my ws2801 strip (still one piece) connected it to raspberry pi2 (BTW you need to upload a picture of how to wire it correctly to pi2 since this is not the same pins)
Connected to the PowerPoint (5v 4a) I got 98 leds in total.
At first connection the first led blinked then I unplugged it and it didn't happen since.
Now my leds are connected but no light.
Started Hyperion manually and this is the log:
osmc@osmc:~$ /opt/hyperion/bin/hyperiond /etc/hyperion.config.json
Application build time: Mar  6 2015 20:57:44
QCoreApplication initialised
Selected configuration file: /etc/hyperion.config.json
ColorTransform 'default' => [0; 97]
Device configuration:
{
"colorOrder" : "rgb",
"name" : "MyPi",
"output" : "/dev/spidev0.0",
"rate" : 250000,
"type" : "ws2801"
}
Black border threshold set to 0.01 (3)
Creating linear smoothing
Created linear-smoothing(interval_ms=40;settlingTime_ms=100;updateDelay=0
Effect loaded: Knight rider
Effect loaded: Blue mood blobs
Effect loaded: Cold mood blobs
Effect loaded: Full color mood blobs
Effect loaded: Green mood blobs
Effect loaded: Red mood blobs
Effect loaded: Warm mood blobs
Effect loaded: Rainbow mood
Effect loaded: Rainbow swirl fast
Effect loaded: Rainbow swirl
Effect loaded: Snake
Effect loaded: Strobe blue
Effect loaded: Strobe Raspbmc
Effect loaded: Strobe white
Initializing Python interpreter
Hyperion created and initialised
run effect Rainbow swirl fast on channel 0
Boot sequence(Rainbow swirl fast) created and started
XBMC video checker created and started
Display opened with resolution: 1360x768
Frame grabber created and started
Json server created and started on port 19444
Proto server created and started on port 19445
XBMC Connection error (0)
BORDER SWITCH REQUIRED!!
CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0
effect finished
XBMC Connection error (0)

@gilsport
Is this problem still present?

Nope
On Feb 16, 2016 19:58, "brindosch"<EMAIL_ADDRESS>wrote:

@gilsport https://github.com/gilsport
Is this problem still present?
—
Reply to this email directly or view it on GitHub
https://github.com/tvdzwan/hyperion/issues/348#issuecomment-184800803.

@gilsport could you close it please if you fixed your problem? thanks! :)


MAINT: _lib: add user-overridable available memory determination

Add user-overridable way to determine memory available for tests.
Also, set the amount manually to 3G on Travis-CI --- in their documentation they say 4GB but let's play it slightly safe. Apparently, /proc/meminfo in their docker environment does not return the actually available memory, so we need to specify this manually. This probably should solve the spurious test failures seen recently...

Looks goid. Let's if this fixes these CI failures. Merging. Thanks Pauli


Support NM Index and NM BruteForce search

In order to control memory usage of querynode's raw data search service, we no longer copy the raw data to the interim index and bruteforce methods.
1. a offset base interim index

[ ]  ivf_flat_nm(no memory): with fp16/bf16/fp32 in IP/L2 metric, bin1 in hamming/jaccard;
[ ] More Simd support for fp16/bf16;
[ ] More Simd support for fp16/bf16/bin1->fp32;
[ ] async build index;
[ ] iterator support for all data type;
[ ] ivf flat cc range search opt:
use a small max_empty_result_buckets value(default = 2) may lead a empty result(knn search(topk1000)->mask topk 1000 deleted-> use topk=1000 as radius ->empty range search result)
if metric = l2: pass a bucket if abs(q->centroids  - bucket radius) > radius;
if metric = ip: pass a bucekt if abs(q->centroids + bucket radius)  < radius;
[ ] more ut/e2e tests;

2. bruteforce search with zero copy:

[ ] More Simd support for fp16/bf16;
[ ] remove all (fp16/bf16->fp32) conversion, and use fp16/bf16 directly to do brute force;
[ ] iterator support for binary type;
[ ] more ut/e2e tests;

3. milvus part

[ ] Milvus support ivf flat nm as interimin index;
[ ] update mmap config;
[ ] data relayout;
[ ]  more ut/e2e tests;

@cqy123456 are we still tracking this here?

/reopen


Support for Grace CPU overflows DCGM_GROUP_MAX_ENTITIES

The support for gathering metrics from Grace CPUs introduced in #225 currently aborts the program when run on Grace CPUs. CreateCoreGroupsFromSystemInfo creates a DCGM group per CPU and tries to add all the cores of a CPU to that group as entities. However, Grace has 72 CPU cores while DCGM groups can only contain a maximum of 64 entities (https://docs.nvidia.com/datacenter/dcgm/latest/dcgm-api/dcgm-api-enums.html#c.DCGM_GROUP_MAX_ENTITIES). This leads to dcgm.AddEntityToGroup returning an error, which is passed up the chain CreateCoreGroupsFromSystemInfo -> SetupDcgmFieldsWatch -> NewDCGMCollector which aborts via logrus.Fatal("Failed to watch metrics: ", err).

We appreciate this report. This will be addressed in the next official release.


Missing $ref

Second try :D

I have a problem with this implementation. First, you're essentially hacking the SchemaResolver to return a fake schema object with a missing$Ref keyword. Then you handle missing$Ref as a regular schema keyword. I think this is an overstretching implementation for a simple task. If you need to report the missing references, all the work must be done inside the SchemaResolver, as this is the piece that deals with $refs. No need to involve the dynamic validation function.
Can you explain in greater detail what exactly are you trying to achieve? Particularly, what's your exact use case? You validate an object and you get a list of missing schema references. Then what? How does this help you exactly?

I tried to implement the functionality known from tv4, personally only what I need is option to ignore missing $ref.

Created the pull request. Will feature in v0.6.0.


After 5-10 sec leds are out of sync and stop working

I flashed the esp8266 with upload speed of 57600, connected the data pin to D5 pin which is 4 pins left to the RX1 pin (worth to add this commend somewhere...) when starting the python application all the leds turned off and start getting signals from the python application.
using the following :
#define NUM_LEDS      100
#define DATA_PIN      5
//#define CLOCK_PIN   2
#define CHIPSET       WS2812B
#define COLOR_ORDER   GRB
The led stip itself is bigger the 100 leds but was tested it with only 100 leds. using WS2812B  led strip.
is there a way to get the output of the esp8266 device to see if there some errors?
@not-matt Can you please confirm that the setup it right?

Aren't you supposed to connect to the RX1 pin instead of the D5 pin? I'm doing that, with basically your settings, and that's working smoothly.

No, RX1 will not work, i had also the same problem. look at the board, you will see the following:

ws2812_controller.ino you have the line of DATA_PIN      5  not sure how to change to to RX1 but you can change it to different data pin
Hope it will help, let me know please if the leds working well for you just to have in mind if i have wireing problem or its this version which make some issues.
thanks!

Could you explain further what the problem is? A video of the lights
bugging out would be useful. Could you also run through why you are using
D5 over RX?
On Thu, Mar 29, 2018, 14:04 Yariv<EMAIL_ADDRESS>wrote:

I flashed the esp8266 with upload speed of 57600, connected the data pin
to D5 pin which is 4 pins left to the RX1 pin (worth to add this commend
somewhere...) when starting the python application all the leds turned off
and start getting signals from the python application.
using the following :
#define NUM_LEDS 100
#define DATA_PIN 5
//#define CLOCK_PIN 2
#define CHIPSET WS2812B
#define COLOR_ORDER GRB
The led stip itself is bigger the 100 leds but was tested it with only 100
leds. using WS2812B led strip.
is there a way to get the output of the esp8266 device to see if there
some errors?
@not-matt https://github.com/not-matt Can you please confirm that the
setup it right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/not-matt/Systematic-LEDs/issues/29, or mute the
thread
https://github.com/notifications/unsubscribe-auth/Ae5azNoXVZNxthB7SYCJqDFD9LXppXkwks5tjNvogaJpZM4S_1mf
.

i changed my power supply and its working just fine on D5 pin


As a student who suffers from poor organizational skills, I can use the todo list and exam scheduler to have an all-in-one solution.

To plan my short-term targets to meet my long-term exam goal needs

Removed feature.


Opencv

Description:
Adds OpenCV classification processing component. Includes ability to add a camera to show where the detected matches are.
Related issue (if applicable): fixes #
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#2208
Example entry for configuration.yaml (if applicable):
opencv:
  classifier_groups:
    classifier:
      - color: (255, 0, 0)
        file_path: /path/to/classifier
        name: Wife Face
        min_size: (40, 40)
        neighbors: 4
        scale: 1.1
    entity_id: camera.front_door
    name: Front Door Faces
    add_camera: True

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

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

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

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable ([example][ex-requir]).
[x] New dependencies are only imported inside functions that use them ([example][ex-import]).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

What's wrong with the camera component?

 I rebased with dev and they still fail.

I think you need make a new branch and copy your work into that. Look like that your branch is broken

By the way. All image_processing can output picture like that you have made with camera things. I think HomeAssistant should not make that playing stuff inside a official platform. That will be a nice gist or custom platform.
A image_process platform should only make a event for we can do some things with automation. Real processing and pipe things should be done in other library or projects and we are only the endpoint for that.

I don't think that the branch is broken @pvizeli, all tests are passing.

Hello @Teagan42,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

8f6309bb7c1fabe55399bb1db23f95af0c8781ec - This commit has something that looks like an email address (tglenn@infinite-improbability-drive.int.teagantotally.rocks). Maybe try linking that to GitHub?.
a268b2a9b49e0dd06420bf227c2935d1795aee7f - This commit has something that looks like an email address (tglenn@infinite-improbability-drive.int.teagantotally.rocks). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:

Hello @Teagan42,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

a25159ceeb05feb7485b407079f10bdb5ef64b71 - This commit has something that looks like an email address (tglenn@infinite-improbability-drive.int.teagantotally.rocks). Maybe try linking that to GitHub?.
8f6309bb7c1fabe55399bb1db23f95af0c8781ec - This commit has something that looks like an email address (tglenn@infinite-improbability-drive.int.teagantotally.rocks). Maybe try linking that to GitHub?.
a268b2a9b49e0dd06420bf227c2935d1795aee7f - This commit has something that looks like an email address (tglenn@infinite-improbability-drive.int.teagantotally.rocks). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:

Hello @Teagan42,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

a268b2a9b49e0dd06420bf227c2935d1795aee7f - This commit has something that looks like an email address (tglenn@infinite-improbability-drive.int.teagantotally.rocks). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:

I should have looked at the files changed - that's what I get for coding high late at night. I removed the camera but left the configuration option and will add a gist for the camera component (will link on the doc PR) so it's nice and easily loaded. Unless I need to get rid of the camera configuration option (which should just fail gracefully if you don't have the cutom_component)

I just removed the last pieces for  the camera discovery, since it's not part of this PR. Will merge it once tests pass 🐬  🎉  Thanks @Teagan42 !
I think that it's fine to have a camera feed, as long as the camera feed implements OpenCV directly.

Can you convert the output of openvc to a usable output with fore events like all other platform does?

@pvizeli What would you suggest? It returns something like:
CLASSIFIER_NAME: {
  (REGION),
  (REGION)
},
CLASSIFIER_NAME: {
  (REGION),
  (REGION)
}

So, if you have a classifier group, that has "Teagan Face", "Grace Face", "Dog", you can determine which ones were matched and where


fix code-coverage badge

Was supposed to be a small change in the README but then the CI is breaking. 😅

Thanks @BurnzZ :)


Checkout jit(inline=True).

Hi all,
if this works like normal function inlining in compiled languages like C it could be really useful. What it means is that when the function is encountered instead of creating a new stack and pushing the function arguments to it before entering the function, literally copy paste the function code into place before compiling. It is often used for small functions that were created for readability, like for example radians_to_arcseconds, which would just be a multiplication. The long story short is that I think this will guarantee performance when calling compiled functions from within compiled functions. Please note that this is a reminder to investigate and that I do not have any concrete evidence as of yet. I encountered this in the jax/jax/_src/numpy/ufuncs.py:311 code for the power function.
Regards
Jordan

jit(inline=True) doesn't bring any performance benefit (in a compiled context), and just generates sightly cleaner jaxpr. Later in the compile pipeline, everything is inlined in the generated hlo module, as can be seen from the following script
from functools import partial

import jax.numpy as jnp
import jaxlib.xla_extension as xe
from jax import jit

opt = xe.HloPrintOptions.short_parsable()

x = jnp.arange(100)

for inline in [False, True]:
  @partial(jit, inline=bool(inline))
  def f(x, n):
    return jnp.sin(x)**n

  def g(x):
    for i in range(2):
      x = f(x, i)
    return x

  print(jit(g).lower(x).compile().compiler_ir()[0].to_string(opt))

Output:
HloModule jit_g, entry_computation_layout={(s32[100]{0})->f32[100]{0}}, allow_spmd_sharding_propagation_to_output=true

ENTRY main.21 {
  Arg_0.1 = s32[100]{0} parameter(0), sharding={replicated}
  constant.6 = f32[] constant(0.841470957)
  ROOT broadcast.4 = f32[100]{0} broadcast(constant.6), dimensions={}
}

HloModule jit_g, entry_computation_layout={(s32[100]{0})->f32[100]{0}}, allow_spmd_sharding_propagation_to_output=true

ENTRY main.11 {
  Arg_0.1 = s32[100]{0} parameter(0), sharding={replicated}
  constant.3 = f32[] constant(0.841470957)
  ROOT broadcast.2 = f32[100]{0} broadcast(constant.3), dimensions={}
}

Ta thanks @soraros,
Since the jaxpr is cleaner does it speed up the compile time considerably?

MWE of nicer jaxpr.
import jax
import functools

@functools.partial(jax.jit, inline=True)
def add_one_inline(x: float) -> float:
    return x + 1.

@jax.jit
def mul_two_then_add_one_inline(x: float) -> float:
    return add_one_inline(2. * x)

jax.make_jaxpr(mul_two_then_add_one_inline)(jax.numpy.zeros(100))
>>> { lambda ; a:f32[100]. let
...    b:f32[100] = xla_call[
...      call_jaxpr={ lambda ; c:f32[100]. let
...          d:f32[100] = mul 2.0 c
...          e:f32[100] = add d 1.0
...        in (e,) }
...      name=mul_two_then_add_one
...    ] a
...  in (b,) }

@functools.partial(jax.jit, inline=False)
def add_one(x: float) -> float:
    return x + 1.

@jax.jit
def mul_two_then_add_one(x: float) -> float:
    return add_one(2. * x)

jax.make_jaxpr(mul_two_then_add_one)(jax.numpy.zeros(100))
>>> { lambda ; a:f32[100]. let
...     b:f32[100] = xla_call[
...       call_jaxpr={ lambda ; c:f32[100]. let
...           d:f32[100] = mul 2.0 c
...           e:f32[100] = xla_call[
...             call_jaxpr={ lambda ; f:f32[100]. let
...                 g:f32[100] = add f 1.0
...               in (g,) }
...             name=add_one
...          ] d
...         in (e,) }
...       name=mul_two_then_add_one
...     ] a
...   in (b,) }

Ta thanks @soraros,
Since the jaxpr is cleaner does it speed up the compile time considerably?

I don't have much data, but I also don't think it will make that much of a difference.


Registration-Form-Basic-Functionality-Uzma

I have made basic sign in and sign up pages both for trainees and volunteers.
Naming Rules
Name your PR like this: ISSUENUMBER-TITLE-YOURNAME
Description
Write a summary of your change. Explain why you have made it.
Related to
Make sure you include the issue number with a hash sign # so Github can link this PR to the right issue, like this:
Fixes #1
Checklist:

[ * ] My code follows the style guidelines of this project
[ * ] I have carefully reviewed my own code
[ * ] I have commented my code
[ * ] I have updated any documentation

Thank you Kate for reviewing. I have made the changes and sending the pull request now again. thank you


AQT device doesn't work

I tried to execute the examples from
7_different_qubit_technologies.ipynb
When I executed aqt_provider.backends(),
Why did I only find the aqt device 'aqt_innsbruck' without the 'aqt_qasm_simulator'?
Then I tried the first example 'standard GHZ state',
there was always some errors.

How can I solve this problem?
Thanks!

It does now if you sign up for an account with them.


Hi-fi Designs - METRIC to wMETRIC Token Traversing (2/27-3/10)

When launching a challenge, Sponsors wants to be able to traverse METRIC from Ethereum to Polygon, so that they can fund a challenge with METRIC in order to launch that challenge.
When being rewarded in METRIC, Reviewers wants to be able to traverse METRIC from Polygon to Ethereum, so that they can access deeper liquidity in order to swap their METRIC or act as a liquidity provider
Users will be able to traverse METRIC across enabled chains thanks to the integration with Layer Zero. At launch, this is only Polygon (protocol chain) and Ethereum (token's primary chain).
This functionality should be accessible from the Metrics application as a distinct page that allows users to view their METRIC balances on both chains and to move METRIC from one chain to the other.

. Following this one -- Here as a resource for any questions!


disable Triple-DES

Hello, I would like to ask how to disable the Triple DES algorithm of OpenSSL 1.0.2u during the compilation phase

The "no-des" option disables compilation of all DES based ciphersuites at compile time, e.g.
$ ./config no-des
$ make


Added prefix optional parameter for acts_as_user method

Faced the problem, when generated buy "add_role_scopes" methods conflicted with methods, generated by has_many relation (or any other relation or scope). I wanted to save most of canard`s methods and didn`t want to rename my relations. So I made the possibility to add the prefix for generated "positive" scopes. So, User.children will be User.#{prefix}_children, for example.

Hey @sintro Thanks for this. Any chance of some tests, then I'll be happy to merge.
J.

Ok, I think will do it some later. Do you have any suggestions to renaming "prefix" option to something?

Prefix seems a pretty reasonable name to me. It's consistent with other methods like rails delegate.

Looks like I have not enought time to make tests. Not because new features are complex, but because I am really noob in MiniTest, and testing of gems. So, may be much later, or with someone`s help. I can describe some examples, but how to implement them - too hard for me now (

No problem, it’s the nature of open source. I’ll put the change into a development branch when I do the next round of updates and look at adding tests. :)


Post release of austraits 3.0.0: Update branch unpack_combined_table_functions

Functions to unpack flattened table will not be part of austraits 3.0.0 release.
Once all the austraits 3.0.0 features have been merged to master branch, we need to update the  unpack_combined_table_functions branch.
We also need to probably rename the function to unpack_flattened_table or something that sounds better but matches the flatten_database function

Complete at 96a8e34


Where can I find "YOUR_APP_USER_TOKEN"?

Hi there! I'm new to this, this is the first time I'm trying to use this library. Can you help me to figure out where I can find "YOUR_APP_USER_TOKEN"?
I have copy-pasted the code from the README (with minor changes):
import { TwitterApi } from 'twitter-api-v2'

// Instanciate with desired auth type (here's Bearer v2 auth)
const twitterClient = new TwitterApi(<YOUR_APP_USER_TOKEN>)

// Play with the built in methods
const user = await roClient.v2.userByUsername('plhery')
console.log('user', user)
const tweet = await twitterClient.v1.tweet('Hello, this is a test.')
console.log(tweet)
// You can upload media easily!
const image = await twitterClient.v1.uploadMedia('./format-your-writing-for-readability.jpg')

But I can't seem to figure out where to get the user token, the only keys I see in my developer portal are these:

Where can I get the user token? What's the easiest way to obtain it?
(My goal is to post tweets using this api, not just read data, I don't know if that matters.)

Hi,
So, you're new to Twitter development? 😄
You now have multiple authentication methods on this API.

OAuth2 Bearer Token (shown on example here), is only for app auth. It means you can only read content, not write anything
OAuth2 user-context, which are the things related to Client ID and Client Secret, but this has been released to public yesterday and implementation is still a WIP for this lib.
OAuth 1.0a user-context token (the historical one), that allows you to post content, but you need to implement a three-legged OAuth flow (example described in Authentication documentation).
If you don't want to implement it right away, you can generate the 4-keys couple "API key", "API secret", "access token" and "access token secret" for your account in Twitter Developer portal and use it as it follows:

const client = new TwitterApi({ appKey: 'API key', appSecret: 'API secret', accessToken: 'Access token', accessSecret: 'Access token secret' });

Don't forget to generate them with read and write permissions.
If you want to implement a login flow "a sign in with Twitter flow", I highly recommend you to read Twitter documentation and library doc about auth.

Thank you SO much for your help! This is incredible! It works, and I can send tweets! I'm very happy, you've made my day!
One more question if you don't mind.
I'm trying to complete the OAuth 1.0a three-legged flow, and I think it basically works. When the user returns to the url I'm using the secret keys to obtain the permanent keys, as in the example app:
      // Build a temporary client to get access token
      const tempClient = new TwitterApi({
        appKey: process.env.TWITTER_APP_KEY,
        appSecret: process.env.TWITTER_APP_SECRET,
        accessToken: oauth_token,
        accessSecret: savedSecret
      })

      // Ask for definitive access token
      const user = await tempClient.login(oauth_verifier)

This gives me the variables accessToken, accessSecret, screenName, userId , which is pretty cool. But for some reason, I don't see the user's twitter username or email anywhere on the object, even though I checked "Request email from users (optional)" in the OAuth setting in the developer dashboard.
Can you help me to figure out how to use your library to fetch the user's email and twitter username?

Oh, sorry, and one more question.
I want to be able to ask the user to authorize my app when they sign up for the first time (with const authLink = await client.generateAuthLink(CALLBACK_URL, { linkMode: 'authorize' })), but then when the user tries to log in after that, I just want to log them in, without requiring them to click "authorize" again.
That's how it seems to work in Hypefury app. When you try to login for the first time, it takes you to "Authorize" page.  If you log out and then try to login again, it takes you to twitter but there's no "Authorize" button, it just immediately sends you back to the app.
Do you by any chance know how this works? How can I know whether to use { linkMode: 'authorize' } (when the user signs up for the first time) or not, before the user has logged in?

Very happy that you've managed to handle auth flow!
For your first question, yep, Twitter only returns basic information after a successful login flow.
If you want more data, you'll need to get full user object.

If you have access to v1 API:

const user = await client.currentUser();
console.log(user.name)

=> reference

If you only have access to v2 API, you can use the brand new users/me endpoints (that is not typed yet):

const { data: user } = await client.v2.get('users/me');
console.log(user.name)

=> reference

For your second question, my advise is to always use authenticate link mode all the time. It doesn't matter if the user already accepted the app or not. If he hasn't, he will be prompted to do so; if it's already done, it will just be a redirection without any approbation.
Only use authorize if you want to force user to give approbation each time he wants to connect (which isn't what you want to do)

Thank you! The second question is resolved, just always using authenticate works, that's exactly what I want (for some reason I initially assumed that you have to first authorize and only then use authenticate, but when you just use authenticate it prompts the user to authorize the app if they didn't before).
I'm still struggling to obtain the user's email address though.
I've tried both:
const user = await client.currentUser();
console.log(user)

and
const { data: user } = await client.v2.get('users/me');
console.log(user)

And it returns a lot of info about the user, but no email.
I see that the first link you gave me mentions returning the email if "Request email addresses from users" is checked, and I did check it, but I still don't see the email in the response. I don't think I'm using this correctly...
Can you help me to figure out how to obtain the email?


Set properties from existing dispatcher to newly created dispatcher

This prevents controllerDirectory, defaultModule, defaultAction and defaultControllerName from being overwritten

LGTM.


Search shouldn't be executed when pressing Shift, Alt, CTRL or Caps Lock

Hi there
First let me say this is a very cool plugin.
Currently it does execute the search when I press Shift, Alt, Ctrl or Caps Lock.
I think the correct behavior would be that it doesn't do that.
Examples:
I wrote Foobar and now I just click Alt -> this executes the search
I wrote Foobar and now I mark everything with CTRL-A -> this executes the search
If I click any of the keys mentioned above the search should never be executed.
Secondly, at least in german (but I believe this to be generally true), there is no symbol assigned with CTRL. Therefore anytime I click any key together with CTRL the search should not be executed.
There are probably more key which could be safely ignored
https://css-tricks.com/snippets/javascript/javascript-keycodes/

Hi @Arikael,
Thanks!
are you on version 1.4.0?

I was using 1.3.1 but I just updated and checked again and it seems to work as expected.
Thank you!


Provide a error reporting component

Maybe use breakpad ?

Opcode looks like it's 80. Closing duplicate bug #287

Possible to use https://fire.fundersclub.com/ to send bug reports directly to GitHub as new issues?

Leaving a note here about this: https://developer.github.com/v3/issues/
Maybe there's a way?


'doc/man/radiant-qt.1', missing

Hi I am trying to build node and qt wallet on arch using https://github.com/RadiantBlockchain/radiant-node/blob/v1.2.0/doc/build-unix-arch.md
however when I execute ninja I get this error:
 ninja: error: 'doc/radiant-qt', needed by 'doc/man/radiant-qt.1', missing and no known rule to make it

I got the same here on a debian system!!! ?? IS there any fix for that ?

No idea, as of now its not possible to get a radiant wallet on linux systems. The cli wallet is only usable for generation and debug viewing? It would be preferable to develop the cli wallet further to a usable point (seedphrase, balance view, transaction signing..); or atleast fix the radiant-qt compilation

To compile QT version need this command:
cmake -GNinja .. -DENABLE_MAN=OFF
But QT is not working well with RXD.
The current wallets that work with Radiant are Samara and Electron-Wallet, which is the one recommended.


[3.x] Fix crash on get_joy_button_index_from_string and get_joy_axis_index_from_string for non-existing key

This revision fixes issue #59175.
int InputDefault::get_joy_button_index_from_string(String p_button) {
	for (int i = 0; i < JOY_BUTTON_MAX; i++) {
		if (p_button == _buttons[i]) {
			return i;
		}
	}
	ERR_FAIL_V(-1);
}

int InputDefault::get_joy_axis_index_from_string(String p_axis) {
	for (int i = 0; i < JOY_AXIS_MAX; i++) {
		if (p_axis == _axes[i]) {
			return i;
		}
	}
	ERR_FAIL_V(-1);
}

As _buttons and _axes have both valid string and nullptr.
When iterating over them, if a given key exists it will work correctly.
But if given key does not exist, it will end up with String::operator=(nullptr).
As String constructor from nullptr exists, I use it.
JOY_BUTTON_MAX have value 128 and only used parts of array have max length only 23.
When iterating over them, adding check for nullptr and early-quit is also considerable.
Bugsquad edit:

Fixes https://github.com/godotengine/godot/issues/59175

When iterating over them, adding check for nullptr and early-quit is also considerable.

I would add this too to be safe. Someone might think in the future that the String() constructor is redundant and remove it, reintroducing the crash. So guarding against the actual unnecessary comparison is safer.

I think the bug may also exist in the master branch, see this code in core/input/input.cpp:
JoyButton Input::_get_output_button(String output) {
        for (int i = 0; i < (int)JoyButton::SDL_MAX; i++) {
                if (output == _joy_buttons[i]) {
                        return JoyButton(i);
                }
        }
        return JoyButton::INVALID;
}

JoyAxis Input::_get_output_axis(String output) {
        for (int i = 0; i < (int)JoyAxis::SDL_MAX; i++) {
                if (output == _joy_axes[i]) {
                        return JoyAxis(i);
                }
        }
        return JoyAxis::INVALID;
}

@akien-mga It seems that _joy_buttons and _joy_axes limited its length with their max enum value.
static const char *_joy_buttons[(size_t)JoyButton::SDL_MAX] = {
	"a",
	"b",
	"x",
	"y",
	"back",
	"guide",
	"start",
	"leftstick",
	"rightstick",
	"leftshoulder",
	"rightshoulder",
	"dpup",
	"dpdown",
	"dpleft",
	"dpright",
	"misc1",
	"paddle1",
	"paddle2",
	"paddle3",
	"paddle4",
	"touchpad",
};
static const char *_joy_axes[(size_t)JoyAxis::SDL_MAX] = {
	"leftx",
	"lefty",
	"rightx",
	"righty",
	"lefttrigger",
	"righttrigger",
};

JoyButton::SDL_MAX and JoyAxis::SDL_MAX are exactly matched with the length of each array.
Do we also need to add an additional nullptr check for them?

JoyButton::SDL_MAX and JoyAxis::SDL_MAX are exactly matched with the length of each array.
Do we also need to add an additional nullptr check for them?

Ah that's correct, then it seems fine as is.

Thanks!

Cherry-picked for 3.4.4.


Document how to use the kind tool and the Tekton/plumbing convenience script

Changes
This PR is a promised follow-on to PR https://github.com/tektoncd/pipeline/pull/3955 (suggested by Andrea and Scott) which intends to document the use of the kind tool and specifically use of the convenience script(s) provided in the Tekton plumbing repo.
It addresses the reference issue https://github.com/tektoncd/pipeline/issues/3970 which captures the request more fully.
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[X] Docs included if any changes are user facing
[X] Tests included if any functionality added or changed (N/A)
[X] Follows the commit message standard
[X] Meets the Tekton contributor standards (including
functionality, content, code)

/kind documentation

/kind documentation

/retest

/ok-to-test

/ok-to-test

As I started looking at the inner workings of the script and providing a small "delete" example, I realized more was going on with the script and decided to create https://github.com/tektoncd/plumbing/pull/849 in the plumbing repo. where the script resides to host canonical information that could be referenced in DEVELOPMENT.md to avoid too much duplication.

thanks @mrutkows I have updated the release notes
/lgtm

/test pull-tekton-pipeline-alpha-integration-tests

/test pull-tekton-pipeline-alpha-integration-tests

thanks again @mrutkows
/lgtm


Cannot debug Python modules via launch.vs.json

This issue has been moved from a ticket on Developer Community.

Visual Studio provides a way to debug Python programs, but fails to launch modules properly, so relative imports are failing. Consider this script (see attached project for a full example):
import sys

from ..util.abc import ABC      # requires -m mymod.app.app to run

def main() -> int:
    abc = ABC("ABC")

    print(f"abc: {str(abc)} args: {sys.argv}")

    return 0

if __name__ == "__main__":
    sys.exit(main())

This module can be debugged via VS Code using this launch.json:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Module",
            "type": "python",
            "request": "launch",
            "module": "mymod.app.app",
            "justMyCode": true
        }
    ]
}

However, Visual Studio provides no way to specify module debugging in launch.vs.json, so from ..util.abc import ABC always fails to import another module from the same package because the import uses a relative path, which requires app to have a top-level Python module.
Using "interpreterArguments": "-m mymod.app.app" just runs the module and fails to attach a debugger to app.py because all debugpy arguments are added after -m, so they are ignored.
module-test.zip

Original Comments
Feedback Bot on 6/29/2023, 06:19 PM:
(private comment, text removed)

Original Solutions
(no solutions)

Thanks for the issue. Moving this issue to discussion as an enhancement request for comments and upvotes.


Create launch config and debug task for Quarkus Gradle projects

Fixes #83
Tested on Windows
Sample Gradle-based Quarkus project: https://github.com/xorye/sample-quarkus-gradle-project/tree/master
What this PR does
If the "Debug current Quarkus project" command is ran while a Quarkus Gradle project is open, a launch config and task will be added so that the quarkusDev command runs when a debug session starts. The code will use the Gradle wrapper file if it exists.
Signed-off-by: David Kwon<EMAIL_ADDRESS>

I've created an interface called IBuild, where MavenBuild and GradleBuild implement it.
MavenBuild and GradleBuild instances are created here: https://github.com/redhat-developer/vscode-quarkus/blob/eea5ec998cd07809b01b2abbbb620639b8a0c84e/src/utils/workspaceUtils.ts#L38-L48
For #112 , I think it would be a good idea to add functions like wrapperExists(), getDefaultExecutable() to IBuild, and remove similar functions in mavenUtils.ts and gradleUtils.ts.

I test this PR with maven and gradle project (not in the same workspace) by starting several time the debug launch (to check the task was not created several time, remove the task at hand and restart it) and everything works very well.

@fbricon I can't reproduce that problem for both maven and gradle projects, the command creates the task and launch config and runs the debug session on my end.
I've tried it with the gradle project I mentioned in my original post and a new maven project generated using the generate project command.
Could you explain further what you did?

just cloned your test project, opened it, executed the debug quarkus command

I've just tried it and it works for both linux and windows. I can try on mac tomorrow.
We're supposed to open the project using 'Open Folder' right? Click 'Open Folder' and choose 'sample-quarkus-gradle-project'?

yes

did the task and launch config get created?

I've added functions that specifically wait until the task & and launch config to be created. I wait for the task here:
https://github.com/xorye/vscode-quarkus/blob/0f2be545f5164fbd2927bfa5c1712f2b20c0350d/src/debugging/TaskCreator.ts#L42
and I wait for the launch config here:
https://github.com/xorye/vscode-quarkus/blob/0f2be545f5164fbd2927bfa5c1712f2b20c0350d/src/debugging/LaunchConfigCreator.ts#L42
To test this out on my machine, I added a set timeout to delay creating the task and launch config. The functions above successfully waits until the task and launch config are created (at least for my machine). Of course, I removed the set timeouts after.
@fbricon do you still get the error?
I've come across a new problem:

Debug a new quarkus project by calling the command (task and launch config created successfully)
Exit the debug session, terminate the quarkus dev task
Delete the .vscode folder
Quickly call the debug command again
Could not find task 'quakusDev' error should appear

The error appears because after the task is deleted by removing the .vscode folder, the vscode.tasks.fetchTasks() function still returns the deleted task.
I have another idea:
Instead of creating a tasks.json and launch.json, create only a launch.json that looks something like this:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Attach to JavaScript Functions",
      "type": "node",
      "request": "attach",
      "port": 5858,
      "preLaunchTask": "shell: quarkusdev"
    }
  ]
}

and in the vscode-quarkus, we could register a Task Provider that provides a quarkusdev task:
export class FuncTaskProvider implements TaskProvider {
    public async provideTasks(token?: CancellationToken | undefined): Promise<Task[]> {
        const taskDefinition: TaskDefinition = { type: 'shell', name: 'quarkusdev' };
        const task: Task = (create quarkus dev task according to user's OS, gradle/maven, wrapper/nowrapper)
        );
        return [task];
    }

    public async resolveTask(task: Task, token?: CancellationToken | undefined): Promise<Task> {
    }
}

vscode.tasks.registerTaskProvider('quarkusdev', new FuncTaskProvider);

In this approach, the preLaunchTask could be generated every time the user runs the debug quarkus project command. This could be good because here, we can check the user's OS, build type, wrapper to come up with an appropriate command. Also, this approach could circumvent problems with tasks being not found, tasks not being created in time, that new problem I just mentioned earlier etc, because we are not looking at tasks.json anymore.
One downside to this is that the user would need to have vscode-quarkus installed to get that debug task (since tasks.json wouldn't contain the debug task anymore).
I strongly think that every feature would stay the same (debug terminate message would still work) but to be 100% sure, I would need to investigate more.
@fbricon what do you think about this idea?

Thanks @xorye !


Configuration cache state could not be cached: field value of kotlinx.datetime.LocalDateTime

Expected Behavior
Configuration Cache can be cached
Current Behavior
Configuration Cache cannot be cached
Configuration cache state could not be cached: field value of kotlinx.datetime.LocalDateTime bean found in field currentTime of task :printTimeTask of type Build_gradle$PrintTimeTask: error writing value of type 'java.time.LocalDateTime' > Unable to make private java.lang.Object java.time.LocalDateTime.writeReplace() accessible: module java.base does not "opens java.time" to unnamed module @571be0ad

Context (optional)
No response
Steps to Reproduce
// build.gradle.kts

import kotlinx.datetime.TimeZone
import kotlinx.datetime.toLocalDateTime

buildscript {
  dependencies {
    classpath("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
  }
}

plugins {
  base
}

abstract class PrintTimeTask : DefaultTask() {
  private val currentTime = kotlinx.datetime.Clock.System.now().toLocalDateTime(TimeZone.UTC)
  @TaskAction
  fun action() {
    println(currentTime)
  }
}

val printTimeTask by tasks.registering(PrintTimeTask::class) {

}

./gradlew PrintTimeTask
15:50:08: Executing 'printTimeTask'...

Calculating task graph as no configuration cache is available for tasks: printTimeTask

FAILURE: Build failed with an exception.

* What went wrong:
Configuration cache state could not be cached: field `value` of `kotlinx.datetime.LocalDateTime` bean found in field `currentTime` of task `:printTimeTask` of type `Build_gradle$PrintTimeTask`: error writing value of type 'java.time.LocalDateTime'
> Unable to make private java.lang.Object java.time.LocalDateTime.writeReplace() accessible: module java.base does not "opens java.time" to unnamed module @571be0ad

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 2s

Gradle version
8.2
Build scan URL (optional)
No response
Your Environment (optional)
No response

Thank you for your interest in Gradle!
This issue needs a decision from the team responsible for that area. They have been informed. Response time may vary.

The issue is in the backlog of the relevant team and is prioritized by them.

This issue can be worked around by storing e.g. a String representation, but this is, of course, quite ugly.
We did few rounds of whack-a-mole with add-opens, but this doesn't scale well. A general solution is tracked at #16429.

This issue can be worked around by storing e.g. a String representation, but this is, of course, quite ugly.

Thanks for the suggestion. I have a though, and I wonder what you think: Kotlinx LocalDateTime is serializable with Kotlinx Serialization. Would it be possible for Gradle to automatically use Kotlinx Serialization?


Handle dependencies properly

Dependency (needs this other mod to work)
Optional Dependencies (has some extra things if this other mod exists)
Incompatibility (does not work with this mod)

Moving optionals and Incompatibilities to a future version

handled from using functionality from godot-mod-loader


Fixed capitalization in segwit v1 images.

Addresses #51 and segwit_version1_1.jpg/svg.

Thanks James. Looks good. One suggested change:
"Segwit V1 address" to "Segwit v1 address" (we use lowercase v1 throughout the notebooks).

Thanks James. Looks good. One suggested change:
"Segwit V1 address" to "Segwit v1 address" (we use lowercase v1 throughout the notebooks).

Fixed.
V1 remains capitalized in the image title(s), though?

Rebased on master.

V1 remains capitalized in the image title(s), though?

Yes, if the entire title is capitalized.

Looks good. Thanks!


update dependencies to react 18

Signed-off-by: Oleg S<EMAIL_ADDRESS>Hey, I just made a Pull Request!

This pull request aims to upgrade dependencies from React 16 || 17 to 18.
Closes #12252
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

Thanks for replying @camilaibs, I was actually curious about the best way to handle this in the Backstage codebase. At the moment, I've created a new type in @backstage/types with the following definition:
type BaseComponentProps = {
  children?: React.ReactNode
}

And then every component currently breaking is implemented by extending these props via:
type MyComponentProps = {} & BaseComponentProps;
const MyComponent: React.FC<MyComponentProps> = ({ children }: MyComponentProps) => (
   <>{children}</>
)

Is this how we would want to handle it for the entire repo, or is there potentially another way which would be more flexible?

Thanks for replying @camilaibs, I was actually curious about the best way to handle this in the Backstage codebase. At the moment, I've created a new type in @backstage/types with the following definition:
type BaseComponentProps = {
  children?: React.ReactNode
}

And then every component currently breaking is implemented by extending these props via:
type MyComponentProps = {} & BaseComponentProps;
const MyComponent: React.FC<MyComponentProps> = ({ children }: MyComponentProps) => (
   <>{children}</>
)

Is this how we would want to handle it for the entire repo, or is there potentially another way which would be more flexible?

Let's share this with the @backstage/maintainers to hear what they think about it 🙂

@RobotSail @backstage/types is isomorphic and must never import any react or node specific code. And that type is essentially a duplicate of what React.PropsWithChildren does it seems to me. Also see ADR006 which says to not use FC/SFC and their ilk :)

We should also look into the versioning policy and think about this. Most likely we shouldn't force exactly 18, but rather have a sliding window of supported versions, like we do for node. So I' say that if anything, these should be ^17.0.0 || ^18.0.0.
Arguably it's a pretty severely breaking change to drop react 16 support. We need to think about that one. @Rugvip and @benjdlambert especially, what's your thoughts?

@freben The versioning window makes sense. With regards to React 17 <--> 18, there are a number of breaking changes as well as different packages that we must use depending on the React version.
For example, @testing-library/react-hooks drops support for the renderHook API and instead moves it over to @testing-library/react.
How do you recommend we handle these changes?

In the past we've grudgingly made whatever changes needed first, to lay the groundwork for the two versions being possible to use at the same time. In your example, does the latter library actually work both on 17 and 18? If so, then that's an initial sub-migration to perform first probably.

@freben Looks like both libraries have already been used for at least two years, so that should be an easy case of just switching over to use the one API.

Regarding @testing-library/react-hooks and other libraries that depend on the React version, are any of those production dependencies of any of our published packages, or is it mostly testing utilities? If they don't end up as transitive dependencies for consumer then we can just bump/switch them as needed, but if it ends up having impact on the published package then we may need to get creative.

Oh and one more thing 😁. There are a fair number of code changes in this PR that would be fine to ship immediately, in particular the type fixes for PropsWithChildren. It could be worth splitting that out separately just to get it out of the way as we could merge that pretty quick

For whatever reason, my commits aren't coming through and are being redirected to a different branch. I think it might have to do with GitHub's outages.

It looks like we will need to create another PR to replace @testing-library/react-hooks with @testing-library/react, since there are API changes when moving between the two, which breaks the current PR in a non-trivial way.

Never mind, it seems like the testing library updates will have to be in the same PR since<EMAIL_ADDRESS>requires react-dom/client to exist, which isn't until<EMAIL_ADDRESS>

I'm working on fixing the tests after upgrading to React 18. Currently running into a problem with the useImportState hook in plugins/catalog-import/src/components/useImportState.
For whatever reason, when the reducer actions are called, for instance onAnalyze, the dispatch function is called but the reducer is never actually executed.
I'm trying to figure out why this is suddenly breaking but don't see an obvious cause yet.

/reopen

/not-stale

Branch is not in sync anymore so can't reopen : /
I'm assuming you rebased since it went stale, you'd need to revert back to the old base or create a new PR

Thanks for taking a look @Rugvip. I'll just create a new PR since I've had to perform some extra magic to merge the changes.


adding raw data directly to Rules and metadata page on website

fixes #36
@joshuagl Just let me know If there is any modifications or error. Thank you!

@joshuagl changes done. Please take a look.
Thank you 👍


Cannot use numbers as keys

It seems that number keys cannot be used.
❯ echo '{"1":1, "a":2}' | jl '_.1'
jl: ParserError (line 1, column 2):
unexpected integer 1
CallStack (from HasCallStack):
  error, called at app/Main.hs:82:27 in main:Main

This works.
❯ echo '{"1":1, "a":2}' | jl '_.a'
2

For numeric literals you could use ["1"] . But I think I can extend the parser to support integer literals.

Works:
$ echo '{"1":1, "a":2}' | jl '_.1'
1


npm library not existing?

I'm getting

npm ERR! 404 Registry returned 404 for GET on https://registry.npmjs.org/sumologic-logger

when installing from NodeJS. I also tried sumologic-logger-node with no luck. Is this repo up on NPM?

npm install sumo-logger works, not the one mentioned in the documentation npm install sumologic-logger.

Thanks, will get an update out with the change.

Pushed v1.0.1 with the required change.