Closing modal on button action with response_action=clear

Not sure if it's due to my last of understanding how this works but it seems that respond_action = clear doesn't close a modal.
My view:
{
    "type": "modal",
    "callback_id": "plan-link",
    "title": {
        "type": "plain_text",
        "text": "Contribute",
        "emoji": true
    },
    "blocks": [
        {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "You will be redirected to your browser for the checkout."
            },
            "accessory": {
                "type": "button",
                "text": {
                  "type": "plain_text",
                  "text": "Open Checkout"
                },
                "action_id": "open-checkout",
                "url": "https://mycheckoutlink.com",
                "style": "primary"
            }
        }
    ],
    "close": {
        "type": "plain_text",
        "text": "Close",
        "emoji": true
    }
}

Then I observe the action like this:
@app.action("open-checkout")
def handle_plan_link_opened(ack):
    ack(response_action="clear")

But the modal will not close. I'm banging my head against the keyboard at this point but cannot figure it out. Thanks for any help or suggestion!

Hey there :wave: @kafejo.
@app.action(“open-checkout”)
def handle_plan_link_opened(ack):
    ack(response_action=“clear”)

I suspect this is not working because you’re acknowledging a block_action, not a view_submission event. Here are the ways to respond to block actions and they don’t look like what you’re trying to do here (i.e. close the modal).
As you can see in the diagram in this modal flow , normally what might happen is a user interacts with an element in the view blocks, this triggers a block_action, and from the handler you can call views.update to update the state of the view. Closing the view is left up to the user.
When the user decides to close the view (either through Close or Submit), your app gets that view_submission event, and simply by acknowledging it ack(), bolt takes care of closing the view.
The designers of Slack API views.* methods didn’t create a views.close API method which probably would be what you’d want to have in this instance. This was an intentional design choice to make sure end users could have standardized expectations for what will trigger a modal to close (either through hitting Submit or Close through the UI) .
My recommendation here would be to use  the view.update method in your “open-checkout” handler to update the contents of the view with a message saying something like “Looks like you’ve opened the checkout. You can safely close this window now!”
Hope this helps!

I see, now I get it. Thanks for your help!


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_f9adf364-1da0-4c43-95ae-5a8a51d4b2b8/pull/1 is merged into live branch.
Auto archive content to https://github.com/OPS-E2E-PPE/docs-archive-test-target_f9adf364-1da0-4c43-95ae-5a8a51d4b2b8.git

Docs Build status updates of commit ea785f3:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Release_Archive_master_2020-01-07-08-17-31 has been deleted or has been force pushed: fatal: couldn't find remote ref refs/heads/Release_Archive_master_2020-01-07-08-17-31

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add sleep to test.sh to avoid 'connection refused' error on apache bench

Just to avoid the following error that occurs occasionally on local make test:

Benchmarking localhost (be patient)
apr_socket_recv: Connection refused (61)
make: *** [test] Error 61
2017/06/18 18:34:16 SimpleServer start listening on port: 3000
^C2017/06/18 18:34:31 SimpleServer gracefully stopped

@hachi8833 Thanks for notifying this, I haven't met this issue yet. However I recommend just run go test ./... -race because you don't need to generate test coverage report on your machine, which could make your test slower.

Thank you for the checking!


Unable To Load Paid Contents With No Discalimer

The Issue
When I try to play a paid content, when I click on the download, it loads for about a sec and displays the "download" again, I tried as many as about 10 times and it just tries to load for 1 sec and shows the download again,
Steps to reproduce

Look for a paid content
Try to play by clicking download
It'll load in about a second and show the download option again, it'll keep recurring till you you don't
try to play anymore.

Expected behaviour
Tell us what should happen
If the wallet app is not added to the apha app yet, then maybe contents should be filtered so that paid
contents will not be displayed,
or user can be prompted that the requested video cannot be played on the mobile app at the moment
since it's a paid contents and requires library credit.
Actual behaviour
Tell us what happens instead
When I try to play this content, when I click on the download, it loads for about a sec and displays the "download" again, I tried as many as about 10 times and it just tries to load for 1 sec and shows the download again, Wanted to take a screenshot of the loading but it's so fast that I'm unable to capture it, and I think the reason is that this video is priced at 0.5 LBC but there's no information about it in the app
System Configuration

Device: Samsung Note 8
Android version: 8.0.0
https://cdn.discordapp.com/attachments/439055085616496640/441269835125489674/Screenshot_20180502-213605_LBRY_Browser.jpg

Anything Else

Screenshots

Fixed.


Drain socket before throwing

Fixes https://github.com/flutter/flutter/issues/78741
Similar to https://github.com/flutter/flutter/pull/78742
This makes it so that when a network image fails with a non-OK status code, we drain the socket to avoid keeping it open longer than necessary. Updates an existing test with this expectation.
Note that drain is documented as doing the same as what listen did in #78742, but just seems a bit more idiomatic to me.
Rather than creating a completely new test, I updated the expectation(s) for an existing test that exercised this code branch.
/cc @alexd6631

Hi @dnfield,
I agree that drain feels more idiomatic, I hesitated to use it in my previous MR.
Just a slight difference to note, is that in #78742 I used listen in order to explicitly silence errors that could arise when draining the response. With drain() I think an error will be thrown while awaiting the future, discarding the NetworkImageLoadException.
It may not be that important in practice, but I think this small behavior difference should be considered.
Best regards

@alexd6631 I think that's ok. We're only throwing here to get into the evict logic in the catch block below. If there's truly a socket exception involved, then it'd be better to throw that more specific error than the generic one we're throwing.


Remove all non-core code, leaving just a library

Removes all non-library code
Moves Excon settings out of global config
Adds for_language helper methods to each concern class
Updates readme

@hmac - all yours. Specs pass (although we'll want to set this repo up with Travis, rather than Circle).

Can we split the code removal into a separate commit? It'll just make it much quicker to review.


Enable parallel playing of steps on the same animation

This makes it easier to re-use and combine existing step specifications. Imagine a flicker animation and a wiggle animation, playing independently (maybe also looping).
I'm not sure if interrupt is the right constructor for this as its description says
Interrupt any running animations with the following animation.

Maybe a new function like Animation.parallel, Animation.also or Animation.and might work?

Thanks for opening the issue!
I took a peek at what would be involved to implement this and it requires some subtle changes to how the animations are run.  So, I'm thinking this is going to be a part of the next major release, it's not going to happen immediately.
As far as api, I think probably the best thing is to just update the description of interrupt to be more precise, that it will interrupt any running animation on a per property basis.  For interrupting many you can just use pipeline syntax.
newAnimation =
      model.animation
          |> Animation.interrupt anim1
          |> Animation.interrupt anim2

I was looking for the exact same thing and I ended up implementing it like that:
https://ellie-app.com/SbK5377Vyra1

Just upvoting this :) Also it never occurred to me to use multiple interrupts that way. @Natim, thank you for the example! I think this would be great to add to the examples in the repo so others can easily see how to do animations in parallel.


Document what the best supported path for using client-go is

Posted this to slack but putting it here too.
Right now it is very confusing as to what users should do to have the best experience using this library.
The README says:

If you use go get to get client-go, you will get the unstable master branch! You can git checkout a stable branch.
We recommend using a vendor tool, like godep, glide, or govendor to track a stable version of client-go.

But then it also says that, wrt the 1.4 and 1.5 branches: "1.4 and 1.5 branch keep the top-level folders so they do not break the import lines of existing users. These top-level folders are deprecated and are removed from the master branch and future branches."  This makes it sound like these branches are deprecated.
And then there is a 2.0 branch.  But that isn't documented anywhere that I can find and it isn't clear what the plan is.  This obviously isn't matching up with the kubernetes version so that's a bit confusing.
Ideally, active development should happen on a branch so that the master branch always works (#90).  But if we are going to keep it on a branch, the "how to get it" should be more explicit.  Something like:

The best way to use client-go is to explicitly take a dependency on a versioned branch.  As go get doesn't support branches it'll be a bit of a process to get the latest stable version installed.  The latest stable version is on the 1.5 branch.  To install do the following:
go get ...
cd ...
git co ....
go get ./...

To save most other users from the pain of dealing with this, you should probably use a tool like godep to vendor the client-go dependency.

I'm not sure what the steps are here as I'm still figuring them out.  But it would be useful if I didn't have to.

Here is what I did to get something that looks like it might work (assuming one dir in GOPATH)
go get k8s.io/client-go
cd $GOPATH/src/k8s.io/client-go
git checkout release-1.5
cd 1.5
godep restore ./...
cd $GOPATH/src/<my-pkg>
godep save ./...

I have no idea if this is right or not but seems to at least build with the 1.5 client.

/cc @caesarxuchao @lavalamp @deads2k

Related: #83.

Thanks for the suggestion. I'll update the README for branch 2.0, and the commands on "how to get" the branch.

I still haven't gotten an answer to this question: what is the 2.0 branch?  What is the purpose there?  how does that differ from head?  None of this is written down anywhere I can find.

@caesarxuchao I'm writing an extensive document on how to install this thing.
@jbeda I can only document things so fast, sorry, thanks for being patient. There's not yet a 2.0.0 (i.e., non-alpha) tag, so feel free to pretend it doesn't exist yet.

@jbeda please take a look at #106.

@jbeda also #108.


Trying to add linkopts, Bazel getting in the way...

Looks like similar opinions were raised before about Bazel but I am also in the opinion that it is overall a hard ecosystem to navigate.
So much so that I am unable to have my project (derived from the filter-example) link with an additional system library.
For simplicity, let's say it is curl. I simply want to link with libcurl.so. I don't need to build curl from source (although I tried that and failed to do that with Bazel and there aren't many examples except for tensorflow and googlecartographer/async_grpc projects), I have it installed on my system.
I am trying to simply add a -lcurl to the linkopts but since envoy_cc_binary wraps the cc_binary, I am unable to specify linkopts.
Any help is appreciated. I feel like this should be rather simple but Bazel is getting in the way. :)

Presumably since you are trying to link against a system library, you have private code. You can define your own binary target like so and pass whatever linkops you want. E.g.,
envoy_cc_binary(
    name = "envoy",
    repository = "@envoy",
    stamped = True,
    deps = LYFT_CUSTOM_FILTER_CONFIGS + [
        "@envoy//source/exe:envoy_main_entry_lib",
    ],
)

Thanks @mattklein123, that was actually the first thing I had tried but that had resulted in an obscure Bazel error so I had figured the envoy_cc_binary wrapper didn't accept a list of linkopts. Turns out it was something else. Perhaps my bazel clean --expunge from earlier addressed something.
Thanks for the quick response.


GCD PYTHON CODE

python code of GCD of 2 numbers .

issue [https://github.com/Algo-Phantoms/Algo-Tree/issues/559]
PR [https://github.com/Algo-Phantoms/Algo-Tree/pull/1769]

@tarun26091999 done the changes requested.


Failed deploy on temporal-srv-worker

Attempting to deploy after forking, all services are good except for temporal-srv-worker unfortunately.

Any ideas why this might happen @sw-yx ? Thanks :)

responded sending him to https://github.com/temporalio/temporal-render-simple for now. known issue, no time to solve


Add missing link to ADFS Development tree

Article for customizing OpenID Connect Id_Token Claims is missing from the TOC.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


feat: 🎸 Fuzzy search news

Demo: https://www.loom.com/share/dd644966a0b54868960de865d4fc313b

@davidfant Do you feel comfortable releasing this?

@viktorlarsson I've tested it with test data on my iPhone 12. Would be good to test with someone that has more news to see if that makes the search experience slow. What would be the best way to test that?


Calling dynamic object's property from string.

Hi This is very useful features.
Can i call dynamic object's property using string?
So instead of this line  --> string line in rFile.Customer
I want to access customer's property using string from user input or config file. Is this possible?
--> string line in rFile."Customer"

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

ID: f63fb701-91e9-5723-add6-33d2288431a3
Version Independent ID: e9d33444-b5f7-96d4-9c33-dd29913349d5
Content: Walkthrough: Creating and Using Dynamic Objects (C# and Visual Basic)
Content Source: docs/csharp/programming-guide/types/walkthrough-creating-and-using-dynamic-objects.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

@junpark12 The syntax is different, but you could do it.  It would look something like:
string line in rFile["Customer"];

Then, you'd create an indexer that works similar to the TryGetMember in the example.
The ExpandoObject may have exactly what you want.
I'll close this an an answered question.


Added Italian translation

Dear maintainer,
here the Italian translation.
Cheers,
risca

Thank you for providing your translation file. I've merged it into the repository.

By the way - if you're planning further contributions, please use the develop branch instead of the master branch. We're using the master branch for stable releases only.
I missed that problem when merging your pull request. So our scheme is now a bit mixed up right now - but its no big problem so far. ;)


MATLAB interface for new hwserver PulseBlaster backend.

This pull request adds the Drivers.PulseBlaster driver that interfaces with new hwserver PulseBlaster functionality. The two notable differences are:

The new python3-compatible hwserver code now keeps track of static lines -- rather than local Drivers.PulseBlaster.StaticLines -- so multiple clients can use the same PulseBlaster.
The parent Drivers.PulseBlaster spawns Drivers.PulseBlaster.Lines for each line of the PulseBlaster, each having a state = Prefs.Boolean for the state of the static line. This modernizes the driver in preparation for in-progress general functions that interface directly with Prefs. Functions still exist to interface with the PulseBlaster in a manner similar to the old drivers.

For this pull request, the old Drivers.PulseBlaster.StaticLines and Drivers.PulseBlaster.Remote drivers are unchanged. Modules with PulseBlaster functionality likewise are unchanged and still use the old interfaces. This pull request is simply a first step towards migration.

Pending testing of hwserver


add dubbogo at sample (#378)

What this PR does:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

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

Codecov Report

Merging #415 (c5beb2c) into master (af825e3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #415   +/-   ##
=======================================
  Coverage   40.48%   40.48%
=======================================
  Files         141      141
  Lines        8747     8747
=======================================
  Hits         3541     3541
  Misses       4910     4910
  Partials      296      296

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add Okta support to generate endpoint

Closes #810
Code Changes

[x] Add okta-systems option to generate endpoint
[x] Refactor okta generate code paths to be called from cli and api
[x] Update usages of organization key to use common option organization_fides_key_option
[x] Update generate integration tests to also call okta code path

Steps to Confirm

[x] Automated tests

Pre-Merge Checklist

[x] All CI Pipelines Succeeded
Documentation Updated:

[x] documentation complete, or draft/outline provided (tag docs-team to complete/review on this branch)
[x] documentation issue created (tag docs-team to complete issue separately)

[x] Issue Requirements are Met
[x] Relevant Follow-Up Issues Created
[x] Update CHANGELOG.md

Description Of Changes

Straight forward change other than dealing with some async weirdness. Old code path used asyncio.run which cant be called from the api path.

Looks good to me @earmenda 👍🏽
If you think it makes sense to do,
the only suggestion/nit I might have is that I get a little twisted with some of the function names in system.py (e.g. generate_system_okta, generate_okta_systems)

@SteveDMurphy I agree it is a little bit odd but I'd say it is only because the system.py functions need to have the cli functions taken out. Right now the function generate_system_okta maps to the cli command generate system okta but it probably doesn't belong there. There is also a generate_okta_systems function which DOES belong here and does exactly what it says.


would you please add a hiden model button？

When I put 64 Bonsai, the fps is too low

ditto. having just 24 pots, which is just enough for each vanilla tree as well as each BoP tree with a unique log type, is cutting my FPS in half.


Added separator on Thymeleaf ownerList to better view

@narciarz Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@narciarz Thank you for signing the Contributor License Agreement!

Obsoleted by 25ba162


Only use pretrained model, Can I only download nuscenes test data?

I'm not sure whether it is possible to only download the nuScenes validation set. It seems to me that their API requires downloading the entire v1.0-trainval. If you only download v1.0-mini, I remember some people got it to work, but you will not be able to get the numbers presented in README.md because it's a different split.

Temporarily closed due to inactivity.


Support for older video cards

Support for older video cards
Can you add support for Nvidia 700 and 900 series video cards, and similarly from amd, this may please people with such video cards.

Hello. Please provide support for Open CL . This will solve problems with AMD cards
Using package pytorch_ocl-0.1.0+torch2.4


HELP PLEASE!

I tried replacing the collection log announcement with a personal WAV file sound. It does not work & even after deleting it & uninstalling/re-installing the C Engineer plugin I still have the same issue.. :(

Did you have it work once before trying to replace the file?
Do you have collection log notifications enabled in the in-game settings?


feat(app): Attach pipette modal

overview
This is a UI only PR to build out the instructional UI for attaching a pipette. The buttons do nothing except URL routing at the moment, so no robot actions (including pipette confirmation) are wired up.

Substantial UI portion of #864
changelog

feat: Add attach pipette modal to robot settings page
fix: Tweak sizings/spacings throughout app to better match screens
refactor: Add some responsiveness to app main page section

review requests
Sanity check on the code and click through the app, please! As mentioned above, nothing is expected to happen when you click "Have robot check connection".

Hey mike - the "remove from deck" modal is missing - otherwise looks good!

@pantslakz we hid it for the moment just so we could get all of the screens in without having to wire them up. its there i swear 🐐


fix: Nav Menu Group expanding/collapsing continuously in FluentNavMenu

🐛 Bug Report
BACKGROUND
I am using FluentNavMenu as a 'sidebar' nav menu in my Blazor Server application. Each FluentNavMenuLink is wrapped within a FluentNavMenuGroup.
HOW ISSUE WAS FOUND
Each FluentNavMenuLink routes to a page within the app using the Href param. Some of these pages load somewhat slower than others (1-3 seconds). This is where I noticed the issue. For pages that loaded slower, sometimes I found myself clicking in the NavMenu again (specifically clicking a FluentNavMenuGroup to collapse a nav grouping) before the page finished loading. This sometimes caused the NavMenuGroup to continuously expand/collapse, and flash the "selected" indicator on both the NavMenuGroup and NavMenuLink. I found that to easily reproduce the issue all I had to do was click any NavMenuLink and then rapidly click its parent NavMenuGroup many times.
💻 Repro or Code Sample
I created a fresh Blazor Server app and only included the following on the Index.razor.
<FluentNavMenu Collapsible=true Width=300>
    <FluentNavMenuGroup InitiallyExpanded=true>

Menu Group

        <FluentNavMenuLink Icon="new Icons.Regular.Size20.Money()" Href="/" Text="Menu Item 1" />
        <FluentNavMenuLink Icon="new Icons.Regular.Size20.Key()" Href="/" Text="Menu Item 2" />
    </FluentNavMenuGroup>
</FluentNavMenu>

Steps to reproduce

Click on "Menu Item1"
Rapidly click on "MenuGroup" (the text or the area - not the expand/collapse arrow)

🤔 Expected Behavior
FluentNavMenuGroup should not continuously expand/collapse. Clicking the MenuGroup quickly should not cause the component to misbehave.
😯 Current Behavior
This video shows what I mean by 'expanding/collapsing continuously'. I recorded after following the reproduction steps and am hands off mouse/keyboard during the whole recording.
https://github.com/microsoft/fluentui-blazor/assets/8591342/7673945c-1128-4150-94f4-48df1fe05960
💁 Possible Solution
Unknown. I was able to reproduce in a fresh blazor server app and within the Index.razor. No other changes other than my code sample.
🔦 Context
See "HOW ISSUE WAS FOUND"
🌍 Your Environment

Issue found on my machine, but also has same behavior in our deployed environment Azure Container App
OS & Device: Windows 11
Browser Microsoft Edge
.NET 7 and Microsoft.Fast.Components.FluentUI Version 3.0.1

This issue also occurs with the FluentNumberField UP/Down arrows icw Blazor Server. It is caused by the 'lag' in clearing up the SignalR queue from all the events that get send when clicking rapidly. You probably see it getting to a normal/steady state if you just let it run for a while.
It is definitely not a behavior we want but I do not have a solution for it at the moment. I'll see if I can get someone from the Blazor team to take a llok butthey are pretty busy with getting .NET 8 done so might take a bit of time

In v3.2 we are introducing new FluentNavMenu, FluentNavGroup and FluentNavLink components based on the standard Blazor NavLink and which does not utilize the TreeView component.
Take a look at https://preview.fluentui-blazor.net to see it in action as the NavMenu there is already using the new component!.
Appearance is 99.9% the same and migrating to the new menu is pretty easy (we supply an upgrade guide).

@vnbaaij When is v3.2 releasing? I dont see it

Building, documenting and uploading as we speak. Just a bit more patience please.

I made this change. Functionally it fixed my issue!
One question though... it seemed to clear out the font/text styling that the previous component had. How can I get the same font/text style that is on the demo site?
New

Old

For the new groups, the default Title parameter will render the same as the NavLinks. You can change that by using the TitleTemplate parameter in place of the Title (or use both as in the sample for 'Item 3'.
If you use TitleTemplate, the FluentNavLinks and FluentNavGroups beneath that item need to be in a ChildContent tag


Fix invalid token.xml template by adding closing slash to Pause tags

Description

In order for XML to be well formed, all elements must have closing tags. Currently, the token.xml template violates this with the unclosed <Pause> tags. As described under How Has This Been Tested, I came to the conclusion that the invalid token.xml template results in TwiML that Twilio is unable to parse when making phone calls.
This change was introduced in https://github.com/jazzband/django-two-factor-auth/pull/488 as part of the 1.14.0 release almost two years ago, but I didn't see any open or closed issues related to the phone call functionality being broken which seemed surprising. I briefly looked through Twilio's changelog to see if there were any Twiml related changes that could explain why this might only be an issue with certain versions of Twilio, but nothing jumped out.
I'm admittedly optimistic that this is a straightforward change that is good to make regardless of how broad the impact is.
Motivation and Context

I'm in the process of upgrading a project I work on from v1.13.2 to v1.15.5, and encountered an error with the phone call method. The call is made successfully, but after pressing any key to continue, the response is "We're sorry. An application error has occurred. Good bye". After looking at the Twilio log for this call, I noticed that this  tag is never closed and figured that might be the cause of the error, despite Twilio confirming that the POST request to twilio/inbound/two_factor/<token> was successful.
How Has This Been Tested?

I pasted the following simplified xml into both Twilio's TwiML Bin and a regular XML validator as a sanity check, and both confirmed that the unclosed <Pause> tag was invalid, but updating to <Pause/> was valid.
Invalid
<?xml version="1.0" encoding="UTF-8" ?>
<Response>
  <Pause>
</Response>

Valid
<?xml version="1.0" encoding="UTF-8" ?>
<Response>
  <Pause/>
</Response>

I also updated the automated test that verifies the generated XML is as expected.
Update: I was also able to test this on the project I'm upgrading and confirmed that this change resolves the error encountered with the phone call method.
Screenshots (if appropriate):
Types of changes

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

Checklist:

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

Thanks a lot for this important fix! Could you still explore any capability in Python XML libs to validate if the content is XML compliant (for some regression test)?

Maybe something like:
from xml.sax.handler import ContentHandler
from xml.sax import make_parser
parser = make_parser()
parser.setContentHandler(ContentHandler())
parser.parseString(<xmlcontent>)

Good point. It looks like we can do that with xml.etree.ElementTree.fromstring so I've added that in f071908d026789330c07eec32bc567bc878d01e0. As you'll see, I typically just add a comment to reflect that it'll raise an exception if it fails, but if you have a preference for how to test that specific behavior I'm happy to update that.
I confirmed that the test will fail if the unclosed  tag is included in either press_a_key.xml or token.xml, and here is an example of that output for reference.
ERROR: test_call_app (tests.test_gateways.TwilioGatewayTest.test_call_app)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/gherceg/dimagi/code/django-two-factor-auth/tests/test_gateways.py", line 36, in test_call_app
    ElementTree.fromstring(decoded_response)
  File "/home/gherceg/.pyenv/versions/3.11.6/lib/python3.11/xml/etree/ElementTree.py", line 1338, in XML
    parser.feed(text)
xml.etree.ElementTree.ParseError: mismatched tag: line 32, column 2

----------------------------------------------------------------------
Ran 1 test in 0.008s

FAILED (errors=1)

Thanks, that's what I had in mind!

Thanks for the quick review! Is there a timeline for the next release? Just useful for planning purposes so no worries if there isn't one.


Allow specifying of a dockerfile as a path, not piping in.

Would be nice to be able to specify docker build -t my/thing -f my-dockerfile . so I could ADD files, and also have multiple dockerfiles.

+1

+1

@crosbymichael I believe this can be closed now due to #9707 being merged

VICTORY.
If you all want to try this new feature out you can download the binaries for master on:
master.dockerproject.com

Thanks @duglin !

:clap:

Thank you @crosbymichael for the binary ! :+1:

Well done guys! :clap:

So it's docker build -f Dockerfile.dev .?


Fix BigQuery jar shading

Following are the 2 changes made as part of this pull request:

package com.google.code.gson is not included in the BQ shaded jar, hence excluding it from being relocated to com.google.cloud.hadoop.repackaged.bigquery.com.

I am not sure why com.google.cloud.hadoop.repackaged. ** was removed from exclude rule as part of this commit, but this was breaking the shading in
META-INF/services/com.google.cloud.hadoop.repackaged.bigquery** files.
For example, the contents of file :
META-INF/services/com.google.cloud.hadoop.repackaged.bigquery.io.grpc.ManagedChannelProvider  in the shaded jar were being rewritten to: com.google.cloud.hadoop.repackaged.bigquery.com.google.cloud.hadoop.repackaged.bigquery.io.grpc.netty.NettyChannelProvider

/gcbrun

Codecov Report

Merging #263 into master will decrease coverage by 13.41%.
The diff coverage is 2.63%.

@@              Coverage Diff              @@
##             master     #263       +/-   ##
=============================================
- Coverage     82.76%   69.35%   -13.42%
+ Complexity     1946     1627      -319
=============================================
  Files           119      119
  Lines          8014     8014
  Branches        978      978
=============================================
- Hits           6633     5558     -1075
- Misses          991     2090     +1099
+ Partials        390      366       -24

Flag
Coverage Δ
Complexity Δ

#hadoop2integrationtest
?
?

#hadoop2unittest
69.34% <2.63%> (ø)
1623 <0> (ø)
:arrow_down:

#hadoop3unittest
69.35% <2.63%> (ø)
1627 <0> (ø)
:arrow_down:

Impacted Files
Coverage Δ
Complexity Δ

...le/cloud/hadoop/util/AsyncWriteChannelOptions.java
88.88% <ø> (ø)
3 <0> (ø)
:arrow_down:

...google/cloud/hadoop/fs/gcs/CoopLockFsckRunner.java
0% <0%> (-85.78%)
0 <0> (-43)

...oud/hadoop/gcsio/GoogleCloudStorageFileSystem.java
87.63% <100%> (-4.25%)
141 <0> (-12)

...gle/cloud/hadoop/gcsio/cooplock/CoopLockUtils.java
0% <0%> (-100%)
0% <0%> (-2%)

...d/hadoop/gcsio/cooplock/CoopLockOperationType.java
0% <0%> (-100%)
0% <0%> (-1%)

.../cloud/hadoop/gcsio/testing/TestConfiguration.java
0% <0%> (-100%)
0% <0%> (-2%)

...ud/hadoop/io/bigquery/AvroBigQueryInputFormat.java
0% <0%> (-100%)
0% <0%> (-3%)

...loud/hadoop/gcsio/ThrottledGoogleCloudStorage.java
0% <0%> (-88.77%)
0% <0%> (-29%)

...a/com/google/cloud/hadoop/fs/gcs/CoopLockFsck.java
0% <0%> (-88.47%)
0% <0%> (-10%)

...adoop/gcsio/cooplock/RenameOperationLogRecord.java
0% <0%> (-87.5%)
0% <0%> (-5%)

... and 33 more

Continue to review full report at Codecov.

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


#2978. show tab with arrow to bar

Arrows for tabs using code mirror's css class.
They all disappear when Tab key is pressed, because this leads to autoIndent which is done using spaces, not tabs

:+1:


Feature request: Conditionally add/remove attributes from the markup

Would be great if we can toggle html attributes like this :
<button disabled.if="isFirstPage"></button>

or even
<button disabled.if="page<=0"></button>

use disabled.bind

Sorry i actually meant for the attribute to be added/removed from the dom if isFirstPage is true so it can be styled with button:disabled

ok after checking again it works fine on form controls and buttons.
but not on links on other tags.
so  does not work where i would then style it as a[disabled]{...}

@Aaike I'm not 100% certain that the disabled attribute is valid on other non-form controls.  Same thing for the anchor tag.  In these cases I think the best approach is to use a class for disabling to ensure compatibility.  Thoughts?

yes that is what i am using now, i was just exploring the various ways it can be done, there might be other uses cases for general attribute toggling. can't really think of any good use cases right now though :)

Just wanted to check whether there has been any change here for arbitrary attributes? I'm working with bootstrap and I'd like to conditionally add data-toggle=xyz attributes. Currently I have data-toggle= in the negative case but it would be neater without the attribute at all.

You could always do this by creating a custom attribute that uses the element api to respond to bindings and add remove data- attributes.
Can you provide some more details around your scenario? Are you saying that when the value is null or undefined you want the attribute remove altogether for example?

@EisenbergEffect - yes, be nice if it was built-in though :-)
Yes, that was what I was hoping for. eg data-toggle.bind="hasChildren ? 'dropdown' : null)" would give you either data-toggle=dropdown or no data-toggle attribute at all. Currently you get data-toggle=null so I changed by bind expression to ...? 'dropdown' : ''" just to reduce the size a bit. You could imagine some libraries where the presence of an empty attribute of this type might cause problems.
In angular 1 there was an ng-attr directive that did this, I think.

Or if your data- attribute had disabled semantics - active if present.

I have a question here regarding HTML boolean attributes. In my particular case I have a <select> element on which I optional wish to have the multiple attribute - and it would appear according to the HTML spec that I must add or remove this attribute. @EisenbergEffect, are you suggesting that I should create a custom attribute, bind it to a boolean then inside this attribute I could inject and manipulate the element to add/remove the require attribute. For example:
   <select toggle-multiple.bind="isMultiple">
   ...
   </select>

Given the HTML spec has boolean attributes it feels like this should be support by the framework or at the very least mentioned in the cheat sheet. Thoughts?

Using a custom attribute will certainly work. That's a definite way to always get the exact behavior you want.
@jdanyow What do you think of this issue though? It has come up repeatedly. Should we hard-code a list of the known boolean attributes in the binding engine (with an api to add to the list, of course) and then treat these differently by adding/removing the attr?

It is interesting to note that when aurelia calls 'attached' (where one might add the attribute 'multiple' depending on the state of some custom attribute), it may be already too late, as the select element seems to have already picked up the first item of its bound list of options, which is something you don't want in the case of a multiple select. So, support for boolean attributes seems really useful.

Can we do interpolation inside html syntax such as  <input ${ required && 'required'} ${ disabled && 'disabled'}>?
My use case is creating a disabled menu items using Material Design Lite.  This doesn't work for the their css selector .mdl-menu__item[disabled]

          Export CSV

No that isn't supported. Our syntax is DOM-based. If it isn't valid html, we don't support it.

I would like to do a similar thing. disabled.bind is fine, but for accessibility I'd like to add aria-disabled="true" if the condition is met.

That's a particularly insteresting case. I wonder if we could do that automatically. @jdanyow Any thoughts on the aria aspect?

Could there be an aria plugin that somehow augments the behavior for things like disabled?  That way it's an opt-in and doesn't cause any confusion if not expected.

I suppose I can just use aria-disabled="${disabled}"

I am also looking for a similar thing. For example, the placeholder attribute in materialize renders a placeholder when the attribute is on the element. Similar situations are of course valid HTML but syntactical nonsense.
I am torn between wanting a feature like this and sending change request to the libraries involved to check the value of the attributes instead of the existence of the attribute. I do think this scenario is more common that I might think.
Maybe through the view-model?
export class VM {
    @attribute-binding placeholder;
}

It is such a "non-html" case that I think the view model might be the best place to solve it.

I came across this issue with a pure CSS tooltip. I didn't want the attribute adding at all if the string was undefined or null otherwise the pseudo elements get added.
Quite easily implemented with a custom attribute, so posting for reference:
import { inject, customAttribute, DOM } from 'aurelia-framework';

@customAttribute('tooltip')
@inject(DOM.Element)
export class Tooltip {
  constructor(private element: Element) { }

  valueChanged(newValue: string, oldValue: string) {
    if (newValue == undefined || newValue == null) {
      this.element.removeAttribute('data-tooltip');
    } else {
      this.element.setAttribute('data-tooltip', newValue);
    }
  }
}

since this issue isn't fully resolved without workarounds, the issue should be reopened

I have a custom attribute, and I want to add it if some condition is true, for now I am using
<template if.bind="!item.carregando">

</template>
<template if.bind="item.carregando">

</template>

another case
<template if.bind="exibindoEmpresas">

</template>
<template if.bind="!exibindoEmpresas">

</template>

@EisenbergEffect Here’s another use-case that’s difficult to support without native support in Aurelia: I want to use Aurelia’s route-href attribute to link to a state, but only if a certain condition is met. For example: Link to an "edit" state, but only if the item is not read-only.
But there’s no built-in way to conditionally add route-href="…" to an element. It’s easy to write a custom attribute that adds normal HTML attributes to an element, it’s much more complex for custom attributes (or Aurelia’s attributes). Duplicating the whole element is not an option since it either could contain a lot of markup or explodes combinatorially if you have more than one conditional attribute.
In Angular1, this was trivially solved with ng-attr-*, i.e., I could use ng-attr-route-href="{{editable ? 'route: edit; params.bind: …' : undefined}}". ng-attr sets the attribute to the result of the expression and removes it if the expression evaluates to undefined – and this happens before custom attributes are evaluated and bound, so it even works for things like route-href.

@rluba What would be the meaning of the link if there was no route-href? Would you want to remove the entire link instead?

For a similar situations we bind to disabled although I don't think this is supported by default in older browsers.

What would be the meaning of the link if there was no route-href? Would you want to remove the entire link instead?

@EisenbergEffect In this case I’d prefer to remove the whole  tag and just keep its children, but I don’t mind it staying there without a href.
But in the general case I just want to remove the attribute. (For example if I want to conditionally show a tooltip, etc.)

For a similar situations we bind to disabled…

That’s not appropriate here. The element can contain plenty of children that might be active, I just want to remove a particular link (or tooltip or …).
I worked around this issue by creating a custom copy of route-href that takes a condition parameter, but that’s an unnecessary copy that needs to be maintained.

@jdanyow Could we do this with a binding behavior? We've got the attr binding behavior today that does this for built-in attributes. Could we expand that to work for custom attributes as well, in a general way?
For reference to those on this thread:

The attr binding behavior: https://github.com/aurelia/templating-resources/blob/master/src/attr-binding-behavior.js
The underlying binding: https://github.com/aurelia/binding/blob/master/src/element-observation.js#L37

@EisenbergEffect That would be great, but I’m not sure if it’s feasible. The binding behavior would have to remove and unbind it’s own attribute, thereby unbinding itself with no way to re-bind when the condition becomes true again.
If you get this to work via a binding behavior, I expect it’ll contain lots of messy hacks.

So, are you saying you want the whole lifecycle of the attribute to act as if it's bound/attached when it's true and detached/unbound when its false? That would be a change in behavior to attributes in general, as apposed to an attribute whose value is just changed from true to false but where the actual attribute in HTML is added/removed in association with that. With the custom attribute system we can add/remove the HTML attributes while keeping the Aurelia attribute working. At runtime, from Aurelia's perspective, the HTML attribute is mostly just a marker and doesn't affect the runtime once the template is parsed. Does that make sense?

Yes, it does.
I understand that there’s nothing comparable in Aurelia at the moment. I understand that just toggling HTML attributes is rather trivial for Aurelia and adding/removing whole Aurelia attributes seems to be close to impossible. I suggested it because other frameworks offer that capability (see ng-attr-* in AngularJS) and it is useful in some circumstances.
But I’ve created workarounds for my use-cases in the meantime and they work fine. One required me to "copy & own" route-href, which I had preferred to avoid, but it’s not a deal-breaker for me.

I’ll have a look at the discussion for vNext.
Thank you for the invitation, @EisenbergEffect. I appreciate it and will think about what I could share that might be useful for others.


DataLoaderRegistry cannot be injected to Execution

When upgraded to GraphQL v11, the way to use dataloader has been changed.
Now, I don't find a way to inject the DataLoaderRegistry  to execution?
Is this a bug?
The version I have tried: 5.4
Thanks.

The way GraphQL Java uses dataloaders has changed, but the way to use it with graphql-spring-boot hasn't. The latest version is compatible with graphql-java v11 and has therefore been ugpraded to inect the DataLoaderRegistry in the execution. Just upgrading to the latest version of graphql-spring-boot should be sufficient.
Take a look at example-request-scoped-dataloader for an example.

@kwang1 I'm assuming my comment was enough for you to get it working seeing I didn't see any response, so I'll close this issue. If it's not working for you yet, feel free to re-open the issue.

Thanks, @oliemansm .
Previously, I injected DataLoaderRegistry to instrumentation, this way doesn't work in latest version.
The problem was resolved by the way in the example. I think it will work.
Thanks,
Kyle.


Update bindings for Google Sign-In SDK to version 5.0.2 or higher

It is required to update Xamarin bindings for Google Sign-In SDK to use the latest version of a native SDK.
It is important to use the latest version to get fix related to the detecting of the user cancellation of the sign-in process. See the following issue for more details about this problem https://github.com/googlesamples/google-services/issues/426

Hi @Stasan! Letting you know that Google Sign-In for iOS v5.0.2 has been released! If you still face something related to this. Please, let us know! Best!


EnsureRecordType task failing with salesforce metadata api error

Describe the bug
We use cci to manage multiple customer environments and one of the tasks we have is to ensure a certain record type exists. This task works for 60+ orgs but fails for one of them:
tasks:
    ensure_event_record_type:
        class_path: cumulusci.tasks.salesforce.EnsureRecordTypes
        options:
            record_type_developer_name: Event_Ticket
            record_type_label: Event Ticket
            sobject: Opportunity
            force_create: True

The task works in all orgs except for one, it fails with:
[09/09/24 09:02:36] Org info updated, writing to keychain
                    Beginning task: Deploy
                    As user: {ommitted}
                    In org: {ommitted}
                    Cleaning meta.xml files of packageVersion elements for deploy
                    Payload size: 896 bytes
                    Pending
                    [Pending]: next check in 1 seconds
[09/09/24 09:02:38] [Done]
[09/09/24 09:02:39] [Failed]: Update of CustomObject Opportunity: Error on line 7, col 33: Error parsing file: The entity name must immediately follow the '&' in the entity reference.
Error: Could not process MDAPI response: Update of CustomObject Opportunity: Error on line 7, col 33: Error parsing file: The entity name must immediately follow the '&' in the entity reference.
Run this command for more information about debugging errors: cci error --help

Reproduction steps
Run cci task against specific org; otherwise unable to reproduce in other orgs
Your CumulusCI and Python versions
cci: 3.91.0
python version: 3.10.0
Operating System
macOS
Windows environment
No response
CumulusCI installation method
None
Error Gist
https://gist.github.com/leo-dcfa/20e05c1a2981dd04df3b6f64de1db9cc
Additional information
No response

Thanks for the report, @leo-dcfa. This task isn't sanitizing XML, so I think that's the likely culprit. Does the affected org have a picklist value on StageName that contains an ampersand (&)?

@jstvz you are right, Identify & Qualify is a value. Seems like an easy fix - I'm happy to tackle it, Python is my most used language. Do we have a preferred way of escaping characters?

Thanks, @leo-dcfa! You can use xml.sax.saxutils.escape from the stdlib. For example, see:
https://github.com/SFDO-Tooling/CumulusCI/blob/da6044613abb1b48d91aacc6e8bc47bd3de64fb4/cumulusci/salesforce_api/metadata.py#L656-L661

@jstvz https://github.com/SFDO-Tooling/CumulusCI/pull/3827/files there you go

Fixed by #3827


Support installation through conda

We should probably create a feedstock over https://github.com/conda-forge to ease the installation process for some set of users.

Closed by https://github.com/conda-forge/openmm-dlext-feedstock


Investigate if the genesis block created when forking is neccessary.

The goal is to ensure that the first block mined after initializing a forking provider with a fork_block_number is fork_block_number + 1, not fork_block_number + 2 as it is now.
Something to keep in mind here is that we need need to be able to store the initial accounts and if we don't create an initial block where does this data get stored?
If it does still work in memory will it work with a persisted DB? This question is possibly blocked by: https://github.com/trufflesuite/ganache-core/issues/340, if the tests there prove that this doesn't actually work.

@davidmurdoch reports that he is now smarter and that this is, in fact, necessary.


Question about compliance with IDY.54 for MC version

Hello
A question for @DT-DawidWroblewski
Dawid, when I'm reading https://www.gsma.com/identity/wp-content/uploads/2022/12/IDY.54-Mobile-Connect-Verified-MSISDN-Definition-and-Technical-Requirements-1.0.pdf I have:

The Resource Server is recommended to expose a service-specific Resource endpoint for supporting the Mobile Connect Verified MSISDN Match service OR premiumInfo endpoint should be used

In our current MC Swagger we have none of them (the endpoint is not specific as same than SIM swap and it is not premiumInfo either).

Hi @bigludo7!
in our current deployments, we followed a principle to use a premiumInfo/userInfo endpoint instead of a service-specific endpoint.
With this approach, Mobile Connect OIDC Profile is closer to standard OIDC, which exposes /userinfo endpoint.
However, it does not mean that service-specific is bad and we're turning away from this approach. We're planning to expose service-specific endpoints in future in parallel to existing ones to be compliant with CAMARA. In the end, it is up to our customers to judge, what is better.

Thanks @DT-DawidWroblewski
I'm right now focusing only on the MC version (not the CAMARA one) as we have a MC implementation in Orange.
My point is that I'm a bit uncomfortable because I got the feeling that what we have in our git here  is not strictly aligned with IDY.54  but with an implementation (use of generic /userInfo instead of /premiumInfo or a specific endpoint)
I'm very open to use the MC version but how to avoid having as many endpoint than implementation ?
In DT this is POST openid/userinfo, while in Orange this is POST /msisdn_verify - both are 100% MC compliant but from an app developer we did not deliver the promise no?
Definitely looking for your feedback :)

Hi @bigludo7 !
MC specs say that MNOs  may choose to also support /userinfo for "backward compatibility", see abbreviation 11 on page 12 of IDY.03 :)

HI @DT-DawidWroblewski
This is not the case here - we're not in  "backward compatibility" situation as 1/ we're not in a implementation and 2/we define a 'standard".
I'm still in favor to align our MC version with the most standard approach!

Hello,
I'm new to the group but interesting discussion on Camara & MC compliance at today's meeting.
As a "newcomer" it has also created confusion for me (e.g. not sure what parts of IDY.54 we would need to comply with and which of the other specs referenced from IDY.54 would be relevant etc).
Is there more detailed info on the Camara flavor  like the UML flows stored - this just seems to cover the  "MC Verified MSISDN" as indicated in the title?

Link to https://github.com/camaraproject/NumberVerification/issues/35

MC cleared


GDNative: Use VariantWriter for the API JSON generator

Instead of the String representation, which can be finicky to work with.
VariantWriter is more robust since changes to it affects the whole
system thus it's changed less often and it's never ambiguous.
This will break the existing bindings that depend on this, but it'll be easier to parse in general (and the String representation changed anyway, so it's broken even before this change).

Added a fix for a binding in VisualScriptFunctionState since the function takes an Array but default value was a Variant (which gets interpreted as null).

See #33241.
The linked PR is not a local solution of course, but it would work correctly everywhere it's used. 😛

See #33241.
The linked PR is not a local solution of course, but it would work correctly everywhere it's used.

Well, this does not use the JSON class, it writes a hand-made JSON string instead, so that PR wouldn't solve this in any case. That one needs a different discussion.

Well, this does not use the JSON class, it writes a hand-made JSON string instead, so that PR wouldn't solve this in any case. That one needs a different discussion.

Sure, what I mean is that we (probably) wouldn't need to write a hand-made JSON in the first place. It would be wrong not to mention this at least.

Thanks!


file sink line format incorrect when sink close and reopen

when a file is written by sink before and maybe because the ekuiper restart ,  it will reopen the file and append to it , the \n is missed at this time because the sink.Written==false
the output of test case:
        expected	 "{\"key\":\"value1\"}\n{\"key\":\"value2\"}"
        but got		 "{\"key\":\"value1\"}{\"key\":\"value2\"}"

here is my test case :
	err = sink.Configure(map[string]interface{}{
				"path":               tmpfile.Name(),
				"fileType":           tt.ft,
				"hasHeader":          true,
				"format":             f,
				"rollingNamePattern": "none",
				"compress":           tt.compress,
			})
			if err != nil {
				t.Fatal(err)
			}
			err = sink.Open(ctx)
			if err != nil {
				t.Fatal(err)
			}

			// Test collecting a map item
			m := map[string]interface{}{"key": "value1"}
			if err := sink.Collect(vCtx, m); err != nil {
				t.Errorf("unexpected error: %s", err)
			}

			sink.Close(ctx)
			sink = &fileSink{}
			err = sink.Configure(map[string]interface{}{
				"path":               tmpfile.Name(),
				"fileType":           tt.ft,
				"hasHeader":          true,
				"format":             f,
				"rollingNamePattern": "none",
				"compress":           tt.compress,
			})
			if err != nil {
				t.Fatal(err)
			}
			err = sink.Open(ctx)
			if err != nil {
				t.Fatal(err)
			}
			// Test collecting another map item
			m = map[string]interface{}{"key": "value2"}
			if err := sink.Collect(ctx, m); err != nil {
				t.Errorf("unexpected error: %s", err)
			}
			if err = sink.Close(ctx); err != nil {
				t.Errorf("unexpected close error: %s", err)
			}

Environment:

eKuiper version (e.g. 1.3.0):
Hardware configuration (e.g. lscpu):
OS (e.g. cat /etc/os-release):
Others:

What happened and what you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:

suggestion: not allow append to a file when it is closed , two file status (in_progressing , finished ) ,  which also makes the compress algorithm has more  choice (no need to support append)  , but may require a lot of work .
reference : https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/datastream/file_sink/

About suggestion 1, why it may require a lot of work? Is it a good idea to just let it always override an existing file?

just a rough guess , maybe not .   you mean the data before restart does not need retain ?

Yes, when open a file to write, open with os.O_TRUNC
file, err := os.OpenFile("file.txt", os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0644)

Yes, when open a file to write, open with os.O_TRUNC
file, err := os.OpenFile("file.txt", os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0644)

is this final decision ? can i create a pull request

You are so fast. I think we can do like this. Just remember to document it.

Try to add a comment if you're working on it


Inconsistent 2nd pane focusing when UI is set to re-appear

Since the bug #232 has been fixed, and the user interface is showing up more consistently I've come across another bug/inconsistency.
This might be something @skurfer might know about, but if not it shouldn't be too hard to fix.
Tests:
If you have the Calculator module set to return the results to QS, when it does so the 2nd pane is focused.
If you use the 'get path' action, when the UI reappears the focus is on the 1st pane.
This is the same for things like copy to... and move to...
Should the default be to focus the 1st pane or 2nd pane? In my opinion, QS should skip to the 2nd pane on any action returning something to QS

This seems to have been fixed for me. @skurfer - can you confirm there was something you did that fixed this?!

No, I didn’t and I can still reproduce it. (Although I always run with the “jump to action when getting results” option, so it doesn’t make a difference in my case.)
So you’re saying that if you type =3*3 and directly hit return, you go to the first pane?

Yep. If I have 'just to action....' unticked, doing what you said I go to the 1st pane. I can reproduce everything perfectly now :/

Interesting. Is this with just master, or do you have other stuff merged in?

Just master! :)

Not for me. This is master running from Xcode with the Debug config.
http://dl.dropbox.com/u/2214419/Quicksilver/2nd pane.mov
Maybe I should send you my build, or you send me yours?

Total brain transplant, eh? Feels like a violation. :)
But you’re right. It stays on the first pane. Even if I run my local copy of QS with your files. So, I’ll see if I can figure out what’s different. I’ll also test with a clean account and see which behavior I get.

Aaaargh!
My guess is there's something in the prefs... have you tried with my Calc
plugin but your prefs? Could be the calc plugin!?
Gotta love the QS :D
On 20 October 2011 21:08, Rob McBroom <
<EMAIL_ADDRESS>
Total brain transplant, eh? Feels like a violation. :)
But youre right. It stays on the first pane. Even if I run my local copy
of QS with your files. So, Ill see if I can figure out whats different.
Ill also test with a clean account and see which behavior I get.
--
Reply to this email directly or view it on GitHub:
https://github.com/quicksilver/Quicksilver/issues/283#issuecomment-2473676

No, it’s not the plug-in. It’s something in the prefs. I trashed preferences and Application Support, downloaded the plug-in fresh, and I still see the problem. If I drop your prefs into place, it goes away. Same app, same plug-in.
So it’s something in there. I dropped my prefs in that folder if you want to try them out/look at them. I’ll keep playing on my end.

I see your prefs :)
I'll do a diff on them!
Thanks for doing the initial hard work of narrowing down. I'm sure we'll get
there in the end!
On 20 October 2011 21:22, Rob McBroom <
<EMAIL_ADDRESS>
No, its not the plug-in. Its something in the prefs. I trashed
preferences and Application Support, downloaded the plug-in fresh, and I
still see the problem. If I drop your prefs into place, it goes away. Same
app, same plug-in.
So its something in there. I dropped my prefs in that folder if you want
to try them out/look at them. Ill keep playing on my end.
--
Reply to this email directly or view it on GitHub:
https://github.com/quicksilver/Quicksilver/issues/283#issuecomment-2473851

I GOT IT! “Run tasks in background” fixes it somehow. So there’s a place to start.

Did you miss my email 2 days ago?! :(
I said exactly the same thing!
I'm glad we both came to the same conclusion though!
On 21 October 2011 21:08, Rob McBroom <
<EMAIL_ADDRESS>
I GOT IT! Run tasks in background fixes it somehow. So theres a place to
start.
--
Reply to this email directly or view it on GitHub:
https://github.com/quicksilver/Quicksilver/issues/283#issuecomment-2485656

Did you miss my email 2 days ago?! :(

I have a message from then, but I see no mention of this. Anyway, I think it’s around line 590 of QSInterfaceController.m. Still haven’t figured out why though.

I didn't get that far, looking hopeful! :)
On 22 October 2011 05:20, Rob McBroom <
<EMAIL_ADDRESS>

Did you miss my email 2 days ago?! :(

I have a message from then, but I see no mention of this. Anyway, I think
its around line 590 of QSInterfaceController.m. Still havent figured out
why though.
--
Reply to this email directly or view it on GitHub:
https://github.com/quicksilver/Quicksilver/issues/283#issuecomment-2488363


[action] sh looses whitespace and empty lines in command output

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
sh looses whitespace and empty lines in command output:
Whitespace
[18:28:02]: ▸ Failed to install 'cordova-plugin-googlemaps': CordovaError: Using "requireCordovaModule" to load non-cordova module "fs" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
[18:28:02]: ▸ at Context.requireCordovaModule (C:\ProgramData\scoop\persist\nvm\nodejs\v12.5.0\node_modules\cordova\node_modules\cordova-lib\src\hooks\Context.js:57:15)
[18:28:02]: ▸ at module.exports (E:\Projects\Xcode4Windows\CI\xcodebuild\tmp\app\plugins\cordova-plugin-googlemaps\src\before_plugin_install.js:3:16)
[18:28:02]: ▸ at runScriptViaModuleLoader (C:\ProgramData\scoop\persist\nvm\nodejs\v12.5.0\node_modules\cordova\node_modules\cordova-lib\src\hooks\HooksRunner.js:181:32)
[18:28:02]: ▸ at runScript (C:\ProgramData\scoop\persist\nvm\nodejs\v12.5.0\node_modules\cordova\node_modules\cordova-lib\src\hooks\HooksRunner.js:157:16)
[18:28:02]: ▸ at C:\ProgramData\scoop\persist\nvm\nodejs\v12.5.0\node_modules\cordova\node_modules\cordova-lib\src\hooks\HooksRunner.js:125:20
[18:28:03]: ▸ at processTicksAndRejections (internal/process/task_queues.js:82:5)

vs.
Failed to install 'cordova-plugin-googlemaps': CordovaError: Using "requireCordovaModule" to load non-cordova module "fs" is not supported. Instead, add this module to your dependencies and use regular "require" to load it.
    at Context.requireCordovaModule (C:\ProgramData\scoop\persist\nvm\nodejs\v12.5.0\node_modules\cordova\node_modules\cordova-lib\src\hooks\Context.js:57:15)
    at module.exports (E:\Projects\Xcode4Windows\CI\xcodebuild\tmp\app\plugins\cordova-plugin-googlemaps\src\before_plugin_install.js:3:16)
    at runScriptViaModuleLoader (C:\ProgramData\scoop\persist\nvm\nodejs\v12.5.0\node_modules\cordova\node_modules\cordova-lib\src\hooks\HooksRunner.js:181:32)
    at runScript (C:\ProgramData\scoop\persist\nvm\nodejs\v12.5.0\node_modules\cordova\node_modules\cordova-lib\src\hooks\HooksRunner.js:157:16)

    at C:\ProgramData\scoop\persist\nvm\nodejs\v12.5.0\node_modules\cordova\node_modules\cordova-lib\src\hooks\HooksRunner.js:125:20
    at processTicksAndRejections (internal/process/task_queues.js:82:5)

Empty Lines
[18:27:45]: ▸ Install complete for cordova-plugin-whitelist on android.
[18:27:45]: ▸ This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do *not* need this plugin since the whitelist will be built in.
[18:27:45]: ▸ Finding scripts for "after_plugin_install" hook from plugin cordova-plugin-whitelist on android platform only.

vs.
Install complete for cordova-plugin-whitelist on android.

               This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do *not* need this plugin since the whitelist will be built in.

Finding scripts for "after_plugin_install" hook from plugin cordova-plugin-whitelist on android platform only.

That's both from the same run, once via sh and once via the error output (because the command crashed) of fastlane that repeats the original command output.

Culprit is probably somewhere in here: https://github.com/fastlane/fastlane/blob/master/fastlane/lib/fastlane/helper/sh_helper.rb#L28
Ah, already found the strip: https://github.com/fastlane/fastlane/blob/5780dae27dd17e51f06e069a7ecaaa04271ba203/fastlane/lib/fastlane/helper/sh_helper.rb#L57

The empty line problem is not fully solved by removing the strip, I think the empty lines could be "lost" here somehow:
https://github.com/fastlane/fastlane/blob/f32b007ff45e648b37b6c9c2037ac481f36b7780/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb#L70-L80

Ok, for empty lines actual is just \n, which means that actual.split("\n") doesn't return anything that we could iterate over.
Any idea how to fix?

Change where this was added: https://github.com/fastlane/fastlane/commit/b9a4b0fe4e7f77038d4713db896949e9c0d90f60#diff-8bde500a3a4c5f751f8d556a2922cbe6R53 I don't understand what it is doing :/

Ok, one way to work around this problem would be to do this:
	  if actual == "\n"
		actual = " \n"
	  end

before the actual.split("\n"). This adds a space, so the split actually gets a result that it can output.
This pretty much is what is expected, but of course this is super super ugly.

Okay, split has a "helpful" (?) feature that is happening here:

If the limit parameter is omitted, trailing null fields are suppressed. If limit is a positive number, at most that number of split substrings will be returned (captured groups will be returned as well, but are not counted towards the limit). If limit is 1, the entire string is returned as the only entry in an array. If negative, there is no limit to the number of fields returned, and trailing null fields are not suppressed.

https://apidock.com/ruby/String/split
As we have no limit param (the second one), "trailing null fields are suppressed". Unfortunately this pretty much is required, because otherwise splitting "foo\n" also returns 2 values:
irb(main):001:0> string = "\n"
=> "\n"
irb(main):002:0> string.split("\n")
=> []
irb(main):003:0> string.split("\n", -1)
=> ["", ""]

irb(main):009:0> string2 = "foo\n"
=> "foo\n"
irb(main):010:0> string2.split("\n")
=> ["foo"]
irb(main):011:0> string2.split("\n", -1)
=> ["foo", ""]

What we would actually want here, is for split to return [""] somehow for "\n".

@janpio I think this is it!
irb(main):001:0> "line1\nline2\n\nline3\nline4".lines.map(&:chomp)
=> ["line1", "line2", "", "line3", "line4"]

This looks good:
irb(main):001:0> "line1\n    line2\n\nline3\nline4".lines.map(&:chomp)
=> ["line1", "    line2", "", "line3", "line4"]

The \r stuff in the original code is still confusing me.
We should definitely add some tests about the cases we want to have covered.

Tested your suggestion locally. As it produced perfect results for me, I added it to the PR: https://github.com/fastlane/fastlane/pull/15022/commits/44ac1c3805c564433d6e85589e3e1ebd8c71d51f
So https://github.com/fastlane/fastlane/pull/15022 can now be reviewed - but we should still add some tests somehow.

Hello janpio,
Thank you for asking This problem. I am also having the same Issue. Did you get any solution?


a

Closes (ISSUES HERE).
Put your pull request body here!
Checklist before submitting:

[ ] Added entry to CHANGELOG.md
[ ] Added/updated relevant tests
[ ] Added/updated documentation

didn't mean to send this prematurely

didn't mean to send this prematurely


Added label to hamburger in application layout

Added label to hamburger button in application layout:

I suggest also to increase te interactive area of the button to the edges of the container (or at least to 44px) in the vertical axis in order to improve the mobile interaction experience ❤

Changed height of the button:


Problem after installation on Android x86 8.1 VirtualBox

Hi. I installed Magisk v.21.4 successfully using the steps provided in description but after installation I have this error in Magisk Log. I don't know how to solve that. Please help! Thank you!

Hm... it seems I found the reason of this problem (assuming I use Android x86 8.1.0 VirtualBox):
Output cat /proc/mounts shows me the following output:

So, the devices are becoming busy after Android has booted so Magisk cannot remount them. I think you should modify the init.rc script into the ramdisk.img in order to allow Magisk to mount mirrors or something like that. Could you do this? Thank you!

I tried all versions of Magisk from 20.4 to 22.0 on Android x86 8.1.0 VirtualBox. Version 20.4 has error log:
E Magisk  : mount /sbin/.magisk/block/system->/sbin/.magisk/mirror/system failed with 2: No such file or directory
All the versions of Magisk started from 21.0 had the Issue 16: Device or resourse busy. I think you fixed the Issue 2: No such file or directory by commiting https://github.com/topjohnwu/Magisk/pull/2594 but after your commit on April, 2020, no changes in Magisk were made so Magisk Modules on VirtualBox doesn't work at all. Any way to fix  16: Device or resourse busy ? Thank you!

Thanks for your deeply investigation, much appreciate :) I'll take a look once I got time, stay tuned !

Thanks for your deeply investigation, much appreciate :) I'll take a look once I got time, stay tuned !

The only version of Magisk I could successfully use with Modules capability is the latest Magisk Canary on top of Android x86_64 8.1.0 VirtualBox.
With Android x86 7.1.2 VirtualBox, Magisk Modules don't work at all with all versions of Magisk.

I noticed a fact that if a device /dev/block/sda1 (which is /data directory) is mounted to /sbin/.magisk/mirror/modules (check this in /proc/mounts then modules capability will work well even with error 16: Device or resourse busy. The only version of Magisk which mounts modules mirror well is the latest canary version with Android x86_64 8.1.0. I'm not good in Android coding so I'm only can debug and test so I think I found the reason of the problem. I hope you will be able to fix it! Thank you!

https://github.com/shakalaca/MagiskOnEmulator/issues/24#issuecomment-789832220

Wait, so you needed to mount data and system in .magisk in init.rc because the manager makes use of this directory at some point? Does the normal version of magisk mount these directories in this same way?

Wait, so you needed to mount data and system in .magisk in init.rc because the manager makes use of this directory at some point? Does the normal version of magisk mount these directories in this same way?

Yes, Magisk changed the mount points for various reason:

For module adding changes to /system
For hiding certain binaries for specific app
Maintain the compatibility in different Android versions (whether you're using SAR, A-only, Legacy boot method..)

I'm not sure if initrd patch is still needed but it was required at the time I begin this project. If you're interested you may try to boot VM without patching initrd and see what will happen then. :)


Make it work

🤔 What's changed?

Added an action.yaml that can build and deploy a module to cpan
Added a dummy project in perl for testing
Added a test.yaml github workflow that attempts to publish the dummy project

⚡ What's your motivation?
Fixes #1
🏷 What kind of change is this?

:zap: New feature (non-breaking change which adds new behaviour)

📋 Checklist:

[x] I agree to respect and uphold the Cucumber Community Code of Conduct
[x] I've changed the behaviour of the code

[x] I have added/updated tests to cover my changes.

[x] My change requires a change to the documentation.

[x] I have updated the documentation accordingly.

[x] Users should know about my change

[ ] I have added an entry to the "Unreleased" section of the CHANGELOG, linking to this pull request.

This text was originally generated from a template, then edited by hand. You can modify the template here.

OK, on the timeout, this is weird: if I visit https://metacpan.org/dist/Cucumber-Test-Release-Automation I can see 0.0.34

...but https://metacpan.org/release/CUKEBOT/Cucumber-Test-Release-Automation-0.0.34 still gives a 404

Oh! The "v" is back!

OK I think this is good to go! Any feedback @ehuelsmann?


fix k8s version to 1.9.9

cherry-picked to release 0.7 branch

Coverage increased (+20.3%) to 84.043% when pulling 1e49b30367b1496d1b6b23f08a7392549b782372 on dixu/k8s-1.9.9 into 5ccfdbff23341f0275d9a86431c1f9f06aa109db on pai-0.7.y.

Coverage increased (+20.3%) to 84.043% when pulling 1e49b30367b1496d1b6b23f08a7392549b782372 on dixu/k8s-1.9.9 into 5ccfdbff23341f0275d9a86431c1f9f06aa109db on pai-0.7.y.


Godot 4 issues

This PR fixes several issues with the new Godot 4 RC's

@warning_ignore() is now expecting quoted warning names.
Dictionary.keys() returns a generic Array as a Dictionary can have non-String keys, and not all keys in a given Dictionary need to be of the same type.

Issue 1 is resolved with this PR by quoting the warnings in all of @warning_ignore()
Issue 2 has two different resolutions due to different use cases.
addons/gdshell/scripts/gdshell_command_db.gd:get_all_command_names() returns an Array[String] as other commands might rely on this functionality it is best to maintain static typing for the Array.  get_all_commands() now iterates over all keys and those which are of type string are added to a new Array[String] which is returned.
addons/gdshell/commands/default_commands/gdfetch.gd:construct_output uses the output from info.keys() directly and does not return it, which makes it safe to simply drop the static type from unused_info_keys and use it as a generic Array.
see: https://docs.godotengine.org/en/latest/classes/class_dictionary.html#class-dictionary-method-keys
see: https://www.reddit.com/r/godot/comments/10rqh9g/problem_with_typed_arrays_since_40_beta_17/

Thanks! ❤


Alternative, brighter theme

Would be great if there was an option to switch to an alternaive theme. For me, bright text on a dark background is rather annoying to read, because my eyes are strained way more and thus after a while, my vision gets a bit blurry and it is harder to focus on the text. This does not happen on sites that have dark text on a bright background.
And according to this older short blog entry, this is not a rarity!

@blukai @masad-frost opinions?
My main concern with having multiple themes is that it costs additional time due to the need to make sure new things look OK in both themes.

I agree, I'm usually against 2 different themes, as you said it will slow us down, although should be easier with the color model we're using (using a shared palette). The other problem is branding, the site should be recognizable at a glance, and represent our colors. So I'd rather completely change the design if this is something we're diving into.


Node.js v12 support for v1.x

Replaced v8::Handle with v8::Local as in https://github.com/lovell/sharp/commit/aa9b328778ef00971e883365ebedd480799394a2
Also added context as per https://nodejs.org/api/addons.html#addons_wrapping_c_objects
No idea how to build it locally, so i am creating this PR in attempt to check if it will build in travis

:shipit:


Startup throws java.lang.IllegalArgumentException: A source must be provided.

Describe the issue
When starting the IBIS, I see the following stacktrace in the Tomcat console:

When doing a bit of research, this is coming from here:
https://github.com/ibissource/iaf/blob/e5c3eb1999f38223a5e908fcb1a5975270ca2da1/core/src/main/java/nl/nn/adapterframework/configuration/ConfigurationWarnings.java#L24

The odd thing is, this method is being called with a null value for source in here:
https://github.com/ibissource/iaf/blob/master/core/src/main/java/nl/nn/adapterframework/core/PipeLine.java#L673

This exception causes that not a single configuration/adapter starts locally.
Reporter
Laurens

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots
If applicable, add screenshots to help explain your problem.
Configuration
Please provide the configuration of the Pipe or Receiver with the problem.

Input
Please provide an example of the input message.
Alternatively, provide a Ladybug report.

Environment
FF! 7.7-20210521.141846: Ibis4Navigator
Running on LPZWNL000022035 using Apache Tomcat/9.0.39
Java Version: OpenJDK Runtime Environment (1.8.0_252-b09)
Heap size: 486M, total JVM memory: 631M
Free disk space: 86GB, total disk space: 237GB
Up since: 2021-05-21 15:24:40 (21m)

Additional Environment

DBMS: [e.g. Oracle, MSSQL, MariaDB, MySql, PostgreSQL]
Browser: [e.g. Chrome, Safari, Edge, Firefox]

Additional Context
Add any other context about the problem here. (f.e. ladybug report / test adapter with larva test)

Oops...


Question: Is scorecard supposed to work with private github repositories?

Describe the bug
I added the scorecards workflow to a private repository but it is failing with a repo unreachable error.
Reproduction steps
Steps to reproduce the behavior:

Run scorecards in a private repository

Expected behavior
I was expecting scorecards to call the apis using the readonly token and the apis to succeed but unauthenticated request and sent instead failing to find the private repo.
Additional context

Thank you @gabibguti for the details. No we reused the configurations from some of our public repositories. I'll update the config and report back the results.

I think I know what the issue is:
RequestError [HttpError]: Advanced Security must be enabled for this repository to use code scanning.
Seems like scorecards need "Advanced Security" enabled for private repos.

This is the api returning 403:
   url: 'https://api.github.com/repos/flutter/<repo>/code-scanning/analysis/status',
    status: 403,

Seems like scorecards need "Advanced Security" enabled for private repos.

It's due to the SARIF upload step.

Code scanning is available for all public repositories on GitHub.com. Code scanning is also available for private repositories owned by organizations that use GitHub Enterprise Cloud and have a license for GitHub Advanced Security

Enterprises without Advanced Security will need to remove the upload step from the workflow. Of course the question becomes, how do you visualize results now? Perhaps upload the results.json file as an artifact if you have some other action consume it?

When using Scorecard workflow in a private repo you need to do some changes in the workflow. These changes are commented in the workflow itself

It might be good for us to confirm all the needed permissions in a test repo using GitHub's new permission advisor tool.

Worth looking into how it's documented broadly in the project (could lift from Scorecard Action repo)


What's the use of your level set method here

Hello, Hatamizadeh
What's the use of your level set method here? Is it just post-processing? Seeing your code implementation, the loss during training has nothing to do with level set, and during inference the level set (contour) obtained  is only used to calculate a metric for evaluation. I was so confused for these question.
best wishes

Yes. In this work we propose an integrated framework (DALS) for combining CNNs with levelsets. The classical active contours usually require some form of interaction with a user for contour and parameter initialization. However, DALS automates the process and directly initializes the levelset from the output of a CNN. Moreover, the DALS is highly optimized and can be scaled for batched inference in Tensorflow. The levelset is not engaged during training.
One immediate benefit of DALS is its capability to produce more refined boundaries in comparison to CNNs, whose output maybe noisy specially around the edges.
I hope you find DALS useful in your research/project.

Yes. In this work we propose an integrated framework (DALS) for combining CNNs with levelsets. The classical active contours usually require some form of interaction with a user for contour and parameter initialization. However, DALS automates the process and directly initializes the levelset from the output of a CNN. Moreover, the DALS is highly optimized and can be scaled for batched inference in Tensorflow. The levelset is not engaged during training.
One immediate benefit of DALS is its capability to produce more refined boundaries in comparison to CNNs, whose output maybe noisy specially around the edges.
I hope you find DALS useful in your research/project.

Thank you for your reply
In fact, the output (probs map) of CNNs is to provide the initial Phi for the level set. Lamda 1 and lamda 2 are generally set to 1 in the original level set algorithm. What's the point of constructing two reciprocal numbers to replace them (Lamda 1 and lamda 2 )? puzzled!
best wishes

Thank you for your reply
In fact, the output (probs map) of CNNs is to provide the initial Phi for the level set. Lamda 1 and lamda 2 are generally set to 1 in the original level set algorithm. What's the point of constructing two reciprocal numbers to replace them (Lamda 1 and lamda 2 )? puzzled!
best wishes

Yes, the CNN provides an initialization. Regarding lambda maps, various papers have shown that simply setting them to 1 is sub-optimal. Traditionally, researchers optimized these values by trial and error. We came up with an analytical formula to determine them in a pixel-wise manner (hence more control over the contour evolution). We have provided more details in the manuscript of our work.

Yes, the CNN provides an initialization. Regarding lambda maps, various papers have shown that simply setting them to 1 is sub-optimal. Traditionally, researchers optimized these values by trial and error. We came up with an analytical formula to determine them in a pixel-wise manner (hence more control over the contour evolution). We have provided more details in the manuscript of our work.

Thanks a lot, Thank you for answering my questions. I see

Thanks a lot, Thank you for answering my questions. I see

非常感谢， 谢谢你回答我的问题。明白了

请问怎样测试训练的模型？

hello,
i have a question about the dataset,is the train folder contains many images and labels each one of them in .npy format() or all the images in one npy file and all labels in one npy file.

Hello, Hatamizadeh What's the use of your level set method here? Is it just post-processing? Seeing your code implementation, the loss during training has nothing to do with level set, and during inference the level set (contour) obtained is only used to calculate a metric for evaluation. I was so confused for these question.
best wishes

hello,
i have a question about the dataset,is the train folder contains many images and labels each one of them in .npy format() or all the images in one npy file and all labels in one npy file.


Add ability yo reorder embedded forms / Form Data Field

Once a Form Field has been added through the Modeler, it cannot be re-ordered.  There should be the ability to drag and drop or up/down arrows allowing user to re-order the fields. in the Form Fields field.

+1

+2

+2

A workaround is to open the XML view in the modeler, find the "camunda:formField" elements and reorder them there.


Panel not opening as default any more

After the last update, the panels don't open as before. Now i have to go and toggle panel for it to open an horizontal panel and then toggle log to show the default vertical log.
Is that the same behaviour as anybody else? @adam-h ?

I never saw that issue, but I see it's been/being fixed in the other issue :)

Agreed, it is now fixed thanks to @sebastianhaeni


Dont use this.refs.chart.getChart

In the README.md you describe the update mechanism as follows:
 componentDidMount() {
    let chart = this.refs.chart.getChart();
    chart.series[0].addPoint({x: 10, y: 12});
  }

  render() {
    return <ReactHighcharts config={config} ref="chart"></ReactHighcharts>;
  }

this is not the react way it should be updated via the react state so for example:
componentDidMount() {
        this.setState(
          { series: this.series(),
            xAxis: { categories: this.categories() }
          }
        );
    }

    render() {
        return (<ReactHighcharts config={this.state}/>);
    }

while the highchart config is represented as component stat

Hey, I was wondering, dont you think, if we update the config and the data using state, the whole graph would rerender?
Instead .update method has to be used to update the graph or .addPoint method to add a point.
What do you think?

The whole Graph would rerender, but only in Reacts virtual DOM which is extremly fast. After that React creates a minimal diff from the virtual DOM and real DOM and only updates the minimal necessary changeset, because real DOM manipulations are indeed slow. So as you can see such performance issues are solved by a virtual DOM and same goes for Vue js or other virtual DOM frameworks.

@madnight I have another situation that I can't just set the state again:
I want to call setVisible for some series I can't just set satet

@ikhattab sure you can, since all dynamic functions on the highcharts graph change the internal highcharts state. In your case it would be this boolean http://api.highcharts.com/highstock/series<line>.visible
No one can stop you from using the dynamic functions via this.refs.chart.getChart, but keep in mind that you are not using react in this case and do not gain any virtual dom advantages. You would use react-highcharts without react.

Hey @madnight thanks for your input, I would love to improve reactwayness of this lib :)
Unfortunately I couldn't find a way to make Highcharts return anything diffable we could feed to react.
if you look at the code, we're currently just render Highcharts on top of a div and not getting any dom diffing benefits at all, therefore docs are correct.
https://github.com/kirjs/react-highcharts/blob/master/src/chartsFactory.jsx#L27
I would love to hear your thoughts about getting Highcharts and React work together in a proper way though.

I have another issue related to this one.
I'm getting chart in callback:
<ReactHighcharts
   config={this.gaugeOptions()}
   callback={chart => {
     this.chart = chart
   }}
/>

and trying to destroy chart on componentWillUnmount:
componentWillUnmount = () => {
  this.chart.destroy()
}

In this case I receive an error in chart.destroy():
highcharts.js:265 Uncaught TypeError: Cannot read property 'removeAttribute' of undefined
    at a.Chart.destroy (highcharts.js:265)
    at Object.componentWillUnmount (ReactHighcharts.js:1)
    at ReactCompositeComponent.js:409
    at measureLifeCyclePerf (ReactCompositeComponent.js:75)
    at ReactCompositeComponentWrapper.unmountComponent (ReactCompositeComponent.js:408)
    at Object.unmountComponent (ReactReconciler.js:79)
    at Object.unmountChildren (ReactChildReconciler.js:146)
    at ReactDOMComponent.unmountChildren (ReactMultiChild.js:373)
    at ReactDOMComponent.unmountComponent (ReactDOMComponent.js:980)
    at Object.unmountComponent (ReactReconciler.js:79)

Do I really need to destroy chart in React way to save memory?

@JustFly1984 no, because this highchart lib does not use react. They are only loosley coupled (glued together) but not integrated. Im not familiar enough with highcharts, so i cannot tell how to feed something diffable to reacts render method.

Does ReactHighcharts component destroys chart internally?

In my case, there is a lot of data coming frequently, and amount of datasets could be vary.
Currently, to reproduce the bug, I do this steps:

Reload the page
render 2 datasets for 5 seconds with random values
result:
1.1 LineChart shows 2 lines
1.1 Chart Labels: 2 Labels

stopped (cleared values in redux store),
render 1 dataset for 10 seconds with random values
result:
2.1 LineChart for 5 seconds shows 2 lines, from 5 to 10 seconds printing only 1st line, 2nd line is abrupt at 5 sec.
2.2 Still showing a Chart Label for 2nd dataset

The only way to get around I found, is creating a separate component for each dataset, which is real opposite of DRY

Changing the config of the chart does not seem like a great solution... If you are hovering the chart during a rerender you will lose the line which shows where you are at on the chart. It's a pretty hacky solution. I've used addPoint and it works fine. I don't see why you wouldn't use it...

@haydencarlson  sorry but i couldn't disgree more, addPoint is the hack, modifing reacts state is the correct way, example: https://github.com/madnight/githut/blob/master/src/js/components/LangChart.js#L108

@madnight seeing you're use mobx in the file you linked to, I'm wondering why you'd not want to keep your data mutable, instead of copying it. That's rather expensive if we're talking realtime data and lots of it, and one of the places where MobX with its mutability really shines over immutable state containers such as Redux.

I think someone is programming a proper (reactive) version of react highcharts:
https://github.com/whawker/react-jsx-highcharts
So this issue might be closed and people could be referred to this project, if they want a reactive approach.


Correcting spelling errors in word static

Pull Request

[ ] Make sure you have followed Kube-OVN Code Style.

What type of this PR
Examples of user facing changes:

Docs

Which issue(s) this PR fixes
Correcting spelling errors in work static,
2. vpc out to public network through ovn nat lrp, whose nexthop rely on bfd ecmp, the vpc spec bfd tatic route is auto managed here
Spelling error of ‘static’ word
WHAT
Spelling error of ‘static’ word
HOW

@zhonglin6666 please add sign off in the commit to fix the DCO issues

@zhonglin6666 please add sign off in the commit to fix the DCO issues

ok, already add sign off in the commit.

Thanks! @zhonglin6666


useLoaderData type inference broken when returned data has a data key

What version of Remix are you using?
1.11.1
Steps to Reproduce
If the object returned from the loader includes a data key, the type inference returns only the items nested under that key. So in this case, typescript thinks useLoaderData returns just {item: number}. The code works just fine - item and other are being destructured properly and displaying on the page, it's just the types that are wrong. If I rename the data key to something else, it works fine and typescript returns the full type, e.g. {myData: {item: number}, other: number}. This started when defer was released.
export const loader = async () => {
  return json({
    data: { item: 1 },
    other: 2
  })
}

export default function Index() {
  const { data: { item }, other } = useLoaderData<typeof loader>();

  return
Item: {item}, Other: {other}
;
}

> yarn tsc
yarn run v1.22.19
$ /Users/dylan/dev/data-issue/node_modules/.bin/tsc
app/routes/index.tsx:12:11 - error TS2339: Property 'data' does not exist on type 'SerializeDeferred<{ item: number; }>'.

12   const { data: { item }, other } = useLoaderData<typeof loader>();
             ~~~~

app/routes/index.tsx:12:27 - error TS2339: Property 'other' does not exist on type 'SerializeDeferred<{ item: number; }>'.

12   const { data: { item }, other } = useLoaderData<typeof loader>();
                             ~~~~~

Expected Behavior
Type inference should work as it did before, or if data is a reserved name, the documentation should say as much.
Actual Behavior
Typescript infers the wrong types, but the code works fine.

I've this problem as well with the latest version of Remix. I just wanted to add that it also happens when using useFetcher in actions.
Reproduced this in a minimal repository for you:
https://github.com/emilbryggare/remix-types/

Can confirm this is also a problem with actions, returning POJOs or using the json helper.

This is still an issue with actions, typed loaders are working for me.
Meaning, useActionData<typeof action>() is inferred completely wrong.

To help solve the issue, it comes from this :
declare type Serialize<T> = IsAny<T> extends true ? any : T extends TypedDeferredData<infer U> ? SerializeDeferred : ...

export declare type TypedDeferredData<Data extends Record<string, unknown>> = Pick<DeferredData, "init"> & {
    data: Data;
};

Type narrowing tends to consider every payload with {data: ..} to be a "defer" value.

Same issue here:

This problem still exists !
Any idea how to fix it?

Thanks for reporting the issue! I posted it on the Discord a couple of weeks ago and was late to report it here :)
For debbuging without setting up a whole environment, I would recommend the typescript sandbox. Here is a gist of the issue.

That also happened to me using Remix 1.14.0 (cloudflare runtime).

This is still an issue with actions, typed loaders are working for me.
Meaning, useActionData<typeof action>() is inferred completely wrong.

To solve this issue, I implement return json(data) in the "action" function.

This still occurs on Remix 1.15, and it also occurs on the SerializeFrom type helper, and the useFetcher<Type>() generic type.
I also have a typescript playground for testing.

here is a code sandbox replication as well
https://codesandbox.io/p/sandbox/confident-feather-x0oe5q?file=%2Fapp%2Froot.tsx&selection=[{"endColumn"%3A21%2C"endLineNumber"%3A31%2C"startColumn"%3A21%2C"startLineNumber"%3A31}]

Closed by #5516

It looks like it resolved the issue for us from what I can see.

1.16.0 is out 🎉

What version of Remix are you using?
1.11.1
Steps to Reproduce
If the object returned from the loader includes a data key, the type inference returns only the items nested under that key. So in this case, typescript thinks useLoaderData returns just {item: number}. The code works just fine - item and other are being destructured properly and displaying on the page, it's just the types that are wrong. If I rename the data key to something else, it works fine and typescript returns the full type, e.g. {myData: {item: number}, other: number}. This started when defer was released.
export const loader = async () => {
  return json({
    data: { item: 1 },
    other: 2
  })
}

export default function Index() {
  const { data: { item }, other } = useLoaderData<typeof loader>();

  return
Item: {item}, Other: {other}
;
}

> yarn tsc
yarn run v1.22.19
$ /Users/dylan/dev/data-issue/node_modules/.bin/tsc
app/routes/index.tsx:12:11 - error TS2339: Property 'data' does not exist on type 'SerializeDeferred<{ item: number; }>'.

12   const { data: { item }, other } = useLoaderData<typeof loader>();
             ~~~~

app/routes/index.tsx:12:27 - error TS2339: Property 'other' does not exist on type 'SerializeDeferred<{ item: number; }>'.

12   const { data: { item }, other } = useLoaderData<typeof loader>();
                             ~~~~~

Expected Behavior
Type inference should work as it did before, or if data is a reserved name, the documentation should say as much.
Actual Behavior
Typescript infers the wrong types, but the code works fine.

I face same issue but in my project I use JavaScript instead of TypeScript
Error:     Property 'filterData' does not exist on type 'unknown'
(https://github.com/remix-run/remix/assets/96987506/f7753cfe-d0bb-4d2a-93c7-504188133d1c)

@Darshan562 a bunch of types were improved in 2.1-2.4. If you still have issues after upgrading to those versions, please file a separate issue.


Version number for tags and releases

Following the instructions in the README, if we run
yarn version [major | minor | patch
Yarn will do a number of things, including create a git tag with the next version, but that tag will be of the form V# (e.g., v1.0.0)
But README also states to not include prefix 'v' in the tag version.
Instead I propose that the commands instructions should be
# make sure to rebuild main.js
yarn build
# make sure to update minAppVersion (min Obsidian version) in manifest.json to whatever is required
# bumps package.json, versions.json, manifest.json (note that yarn has an internal version scrip that runs before the version script in package.json)
yarn version --new-version [major | minor | patch] --no-git-tag-version
git tag <version_num, no V!>
git push origin <version_num>
# use gh cli, or go to github to create a release
gh release create <version_num> manifest.json main.js <any other files> --title "Version <version_num>" --notes "<Version Note>"

So I think one of my issues is that this repo uses npm (.npmrc does have the version configured to not add a 'v').
The instructions in my previous comment work for yarn v1, but for yarn v4, I think one wants
# make sure to rebuild main.js
yarn build
# make sure to update minAppVersion (min Obsidian version) in manifest.json to whatever is required
yarn version [major | minor | patch]
# separately run the package.json version script
yarn run version
git tag <version_num, no V!>
git push origin <version_num>
# use gh cli, or go to github to create a release
gh release create <version_num> manifest.json main.js <any other files> --title "Version <version_num>" --notes "<Version Note>"

This likely affects only those using yarn instead of npm.


monitoring: update kube-prometheus and component versions

Includes update to Grafana 9.1 with provisioning for new alerts.
Component updates:

grafana 9.0.7 --> 9.1.0
prometheus 2.37.0 --> 2.38.0

bors r+


Fix failing examples not failing CI

If an example failed (due to an exception) the CI did not fail.

Codecov Report

Merging #31 (5b8ef68) into master (4f0d89d) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #31      +/-   ##
==========================================
- Coverage   79.92%   79.90%   -0.02%
==========================================
  Files          26       26
  Lines        1514     1513       -1
  Branches       93       92       -1
==========================================
- Hits         1210     1209       -1
  Misses        288      288
  Partials       16       16

Flag
Coverage Δ

unittests
79.90% <ø> (-0.02%)
:arrow_down:

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

Impacted Files
Coverage Δ

flow_py_sdk/client/entities.py
47.36% <0.00%> (-0.40%)
:arrow_down:

Continue to review full report at Codecov.

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


Add LICENSE.md

MIT would be perfect :+1:

Done in a70fb96a051636b7cf554aba16f1b4fc8874be1c.

Wow so fast :open_mouth:  Thank you so much :+1: