Add reusable error components

Closes #416

Coverage decreased (-0.3%) to 93.064% when pulling 69ccd92a2aae98cc084b0d4a0982133bb5c83dcc on eatonphil:reusable-error-components into ed9eca84fb4953314e8406ea4cf67d672832efe1 on linode:master.

Coverage decreased (-0.3%) to 93.064% when pulling 7fc5e262bb09b2daebab3f2f0ae7a45280e741e2 on eatonphil:reusable-error-components into ed9eca84fb4953314e8406ea4cf67d672832efe1 on linode:master.

Coverage increased (+0.1%) to 93.521% when pulling 9327c571908f8dc596d1e80bae99ff981383fb6f on eatonphil:reusable-error-components into ed9eca84fb4953314e8406ea4cf67d672832efe1 on linode:master.

Thanks!


Apply patch

Part of #42 - apply-patch operation
Needs some more validation, but the PR is getting big enough, so I'll add it later.
@TomasHofman could you review when you have a moment?

Sure - I will take a bit more time on this one, will try to do it later today.

Would the patch repo remain in the .installation/ permanently?
Ideally the installed artifacts could be resolved from modules (#65) - then the patch repository can go away.


Proc-macro pipeline (issue #113)

[x] Implement Parse stage
[x] Implement Validate stage. See issue #142
[x] Implement Model stage
[x] Implement Lower stage
[x] Implement Generate stage
[x] test-utilities crate for test helper functions
[x] mintrace-tests crate for integration tests

[x] Integrate  mintrace-tests crate
[x] Migrate mintrace-macro tests/spans to mintrace-tests:

Tracking issue #136

[x] Migrate mintrace-macro tests/expand to mintrace-tests:

Tracking issue #137

[x] Create UI integration tests of legacy implementation logic
[x] Create span integration tests of legacy implementation logic
[x] Create expansion integration tests of legacy implementation logic
[x] Remove proc-macro-error usage, per @Yandros comment

[x] Make IDE friendly

[x] Cleanup
[x] Rebase on master

@andylokandy this is ready for review - only failing test across whole workspace is the test for issue #141.
As things stand now the legacy tests for the legacy code all pass.
Since further work is just going to identify existing bugs, e.g. issue #141, so this needs to land before further progress.

@taqtiqa-mark Thanks so much for your work! I'm just back from vacation so I'll review it in short. With just a glance, I notice you've committed the whole embassy into the code base, is it intended? If so, what is the reason?

I notice you've committed the whole embassy into the code base, is it intended? If so, what is the reason?

AFAIK, that is the Embassy use pattern - there is no crate, as yet.

case trace::generate::tests::generate_1 failed and checked on my local machine
Left:
TokenStream [
    Ident {
        sym: fn,
    },
    Ident {
        sym: f,
    },
    Group {
        delimiter: Parenthesis,
        stream: TokenStream [],
    },
    Group {
        delimiter: Brace,
        stream: TokenStream [
            Ident {
                sym: let,
            },
            Ident {
                sym: __guard,
            },
            Punct {
                char: '=',
                spacing: Alone,
            },
            Ident {
                sym: minitrace,
            },
            Punct {
                char: ':',
                spacing: Joint,
            },
            Punct {
                char: ':',
                spacing: Alone,
            },
            Ident {
                sym: local,
            },
            Punct {
                char: ':',
                spacing: Joint,
            },
            Punct {
                char: ':',
                spacing: Alone,
            },
            Ident {
                sym: LocalSpan,
            },
            Punct {
                char: ':',
                spacing: Joint,
            },
            Punct {
                char: ':',
                spacing: Alone,
            },
            Ident {
                sym: enter_with_local_parent,
            },
            Group {
                delimiter: Parenthesis,
                stream: TokenStream [
                    Literal {
                        lit: "f",
                    },
                ],
            },
            Punct {
                char: ';',
                spacing: Alone,
            },
            Group {
                delimiter: Brace,
                stream: TokenStream [],
            },
        ],
    },
]

Right:
TokenStream [
    Ident {
        sym: fn,
    },
    Ident {
        sym: f,
    },
    Punct {
        char: '<',
        spacing: Alone,
    },
    Punct {
        char: '>',
        spacing: Alone,
    },
    Group {
        delimiter: Parenthesis,
        stream: TokenStream [],
    },
    Group {
        delimiter: Brace,
        stream: TokenStream [
            Ident {
                sym: let,
            },
            Ident {
                sym: __guard,
            },
            Punct {
                char: '=',
                spacing: Alone,
            },
            Ident {
                sym: minitrace,
            },
            Punct {
                char: ':',
                spacing: Joint,
            },
            Punct {
                char: ':',
                spacing: Alone,
            },
            Ident {
                sym: local,
            },
            Punct {
                char: ':',
                spacing: Joint,
            },
            Punct {
                char: ':',
                spacing: Alone,
            },
            Ident {
                sym: LocalSpan,
            },
            Punct {
                char: ':',
                spacing: Joint,
            },
            Punct {
                char: ':',
                spacing: Alone,
            },
            Ident {
                sym: enter_with_local_parent,
            },
            Group {
                delimiter: Parenthesis,
                stream: TokenStream [
                    Literal {
                        lit: "f",
                    },
                ],
            },
            Punct {
                char: ';',
                spacing: Alone,
            },
            Group {
                delimiter: Brace,
                stream: TokenStream [],
            },
        ],
    },
]

Diff:
TokenStream [
    Ident {
        sym: fn,
    },
    Ident {
        sym: f,
    },
    Punct {
        char: '<',
        spacing: Alone,
    },
    Punct {
        char: '>',
        spacing: Alone,
    },
    Group {
        delimiter: Parenthesis,
        stream: TokenStream [],
    },
    Group {
        delimiter: Brace,
        stream: TokenStream [
            Ident {
                sym: let,
            },
            Ident {
                sym: __guard,
            },
            Punct {
                char: '=',
                spacing: Alone,
            },
            Ident {
                sym: minitrace,
            },
            Punct {
                char: ':',
                spacing: Joint,
            },
            Punct {
                char: ':',
                spacing: Alone,
            },
            Ident {
                sym: local,
            },
            Punct {
                char: ':',
                spacing: Joint,
            },
            Punct {
                char: ':',
                spacing: Alone,
            },
            Ident {
                sym: LocalSpan,
            },
            Punct {
                char: ':',
                spacing: Joint,
            },
            Punct {
                char: ':',
                spacing: Alone,
            },
            Ident {
                sym: enter_with_local_parent,
            },
            Group {
                delimiter: Parenthesis,
                stream: TokenStream [
                    Literal {
                        lit: "f",
                    },
                ],
            },
            Punct {
                char: ';',
                spacing: Alone,
            },
            Group {
                delimiter: Brace,
                stream: TokenStream [],
            },
        ],
    },
]

thread 'trace::generate::tests::generate_1' panicked at 'text differs', minitrace-macro/src/trace/generate.rs:72:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

@andylokandy I'm in the middle of something else, but Q that comes to mind, is if that is this:

@andylokandy this is ready for review - only failing test across whole workspace is the test for issue https://github.com/tikv/minitrace-rust/issues/141.

Generally LGTM. I have two questions left:

What do you want to do with the currently unused attribute like recursive
The generate step seems not worth a extra layer, can it be merged with lowering?

I have two questions left:

What do you want to do with the currently unused attribute like recursive?

I'd prefer to leave them in place until the related issues are resolved one way or another. For a couple of reasons:
a) I may not get back to this for a while and it'll save me getting my head back into the right "space"
b) The API is still in flux (pre 1.0) so I don't believe it is unreasonable to have evolving code in the repo - I'll add comments and cite the related issues tracking the relevant attribute.

The generate step seems not worth an extra layer, can it be merged with lowering?

Hmm, it did at one point. But this relates to the above question.  Again a couple to reasons to prefer leaving it where it is:
a) As/if other features land this will likely do more work.
b) Simple is good, hopefully we can keep it this way - I fear not.
c) Most importantly, lowering is still a red-hot mess, adding this there just makes it worse.
Hopefully some of the lowering logic can be finessed, likely into the analysis stage - we'll see.  But even if we could get all stages to be as clean/simple as generate is now, I'd still argue the pipeline structure communicates immediately what is happening (ack lowering is still an exception to that).
I'll take another look tomorrow and push up anything that results - likely mostly clean up and comments I outlined above.

@zhongzc PTAL

@taqtiqa-mark Very much appreciate your work. I'd be happy to merge it once the CI is satisfied, and @zhongzc has no objection.

OK, I'll ping @andylokandy and @zhongzc when the CI is green.

Github action says "step cannot have both the uses and run keys"

Github action says "step cannot have both the uses and run keys"

Yeah, I had to take a break.  Embassy is nearly in place but the CI build may need a rethink, unless going back to deal with the root cause (throwing --all-features and --all-tagets everywhere) doesn't simplify things.

@taqtiqa-mark Looks good to me, let's take a try.

@taqtiqa-mark Looks good to me, let's take a try.

Apologies for the misunderstanding. I thought this comment meant someone else was going to look into this.
I may have some time in the next few weeks, but my instinct is to try remove the embassy changes and leave embedded out of scope - unless I can recall why it is needed. Which I can't right now.

@andylokandy I've merged the upstream changes, and am now working on integrating the side effects.  It has been a while since I used minitrace and I don't have time to get back up to speed now, and for the forseeable future.... so would like your help by indicating the idiomatic way to rewrite the following test case - there seem to have been substantial changes around the use of collectors:
extern crate alloc;
use minitrace::trace;
use minitrace::prelude::*;
use test_utilities::*;

// With default (`enter_on_poll = false`), `async` functions construct
// `Span` that is thread safe.

// With no block expression the child span is silently omitted.
// Reference:
// - https://github.com/tikv/minitrace-rust/issues/125
// - https://github.com/tikv/minitrace-rust/issues/126
#[trace]
// #[embassy::task]
// async fn test_esync(a: u32) -> u32 {
//     a
// }

async fn test_async(a: u32) -> u32 {
    a
}

#[trace]
fn test_sync(a: u32) -> u32 {
    a
}

#[tokio::main]
async fn main() {
    let (root, collector) = minitrace::Span::root("root");
    let _child_span = root.set_local_parent();
    let mut handles = vec![];
    handles.push(tokio::spawn(test_async(1)));
    test_sync(2);

    futures::future::join_all(handles).await;
    drop(root);
    let records: Vec<minitrace::collector::SpanRecord> =
        futures::executor::block_on(collector.collect());
    let _expected = r#"[
    SpanRecord {
        id: 1,
        parent_id: 0,
        begin_unix_time_ns: \d+,
        duration_ns: \d+,
        event: "root",
        properties: [],
    },
]"#;
    let _actual = normalize_spans(records);
    assert_eq_text!(_expected, &_actual);
}

@andylokandy and @zhongzc understand you're busy, and the delay in this was due to the miscommunication above. Nonetheless, I have a limited window of free time I can give to this. Appreciate you're prompt attention.
I also understand if things have evolved to a point you don't want to proceed with this approach. Please let me know if that is the case.
For this example I get a future related error:
Setup
Running 1 macro expansion tests
....
integration/tests/defaults/no-be-no-drop-local.expanded.rs
error
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
error[E0277]: `LocalSpans` is not a future
   --> integration/tests/defaults/no-be-no-drop-local.expanded.rs:24:9
    |
23  |     let records: Vec<minitrace::collector::SpanRecord> = futures::executor::block_on(
    |                                                          --------------------------- required by a bound introduced by this call
24  |         collector.collect(),
    |         ^^^^^^^^^^^^^^^^^^^ `LocalSpans` is not a future
    |
    = help: the trait `futures::Future` is not implemented for `LocalSpans`
    = note: LocalSpans must be a future or must implement `IntoFuture` to be awaited
note: required by a bound in `block_on`
   --> /home/hedge/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-executor-0.3.21/src/local_pool.rs:313:20
    |
313 | pub fn block_on<F: Future>(f: F) -> F::Output {
    |                    ^^^^^^ required by this bound in `block_on`

error[E0277]: `LocalSpans` is not a future
  --> integration/tests/defaults/no-be-no-drop-local.expanded.rs:23:58
   |
23 |       let records: Vec<minitrace::collector::SpanRecord> = futures::executor::block_on(
   |  __________________________________________________________^
24 | |         collector.collect(),
25 | |     );
   | |_____^ `LocalSpans` is not a future
   |
   = help: the trait `futures::Future` is not implemented for `LocalSpans`
   = note: LocalSpans must be a future or must implement `IntoFuture` to be awaited

error[E0277]: `LocalSpans` is not a future
  --> integration/tests/defaults/no-be-no-drop-local.expanded.rs:23:58
   |
23 |     let records: Vec<minitrace::collector::SpanRecord> = futures::executor::block_on(
   |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `LocalSpans` is not a future
   |
   = help: the trait `futures::Future` is not implemented for `LocalSpans`
   = note: LocalSpans must be a future or must implement `IntoFuture` to be awaited

@taqtiqa-mark Thank you for continuing to work together to improve this project, thank you very much. I apologize for the late reply. This is because we have been focusing on other projects recently, but you don’t have to worry. If you have any questions, you can ask, and we will reply as soon as possible.
The biggest change in minitrace 0.5 is that the previously manually operated collector has been changed to a global automatic global reporter. Accordingly, LocalCollector::collect and Span::root interfaces no longer return Future, span will automatically be passed to the global reporter when dropped, so unit tests also need to be changed. Minitrace 0.5 provides a hidden TestReporter to help write unit tests, you can refer to the existing test set of minitrace existing test set for usage methods.

@andylokandy this should be ready for a fresh set of eyes.
On my machine cargo test returned no errors. I was also able to get the initial integration test to pass in minitrace-tests crate - which is the new test harness mentioned in #136 and #137.
If this all lands we can start moving some of the integration tests and the helper scripts. For now it is sufficient.

case trace::generate::tests::generate_1 failed and confirmed on my local machine

I believe this is expected:
test trace::generate::tests::generate_1 - should panic ... ok

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1902 of 2341 (81.25%)  changed or added relevant lines in 30 files are covered.
80 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-6.9%) to 75.932%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/collector/id.rs
23
24
95.83%

src/util/object_pool.rs
53
54
98.15%

test-utilities/src/lib.rs
11
12
91.67%

src/util/mod.rs
26
28
92.86%

src/local/local_span_line.rs
126
129
97.67%

src/util/tree.rs
121
124
97.58%

minitrace-macro/src/trace/lower/quotable.rs
20
25
80.0%

src/local/local_collector.rs
83
88
94.32%

src/local/local_span.rs
59
64
92.19%

src/util/spsc.rs
32
37
86.49%

Files with Coverage Reduction
New Missed Lines
%

minitrace-macro/src/lib.rs
2
5.88%

minitrace-datadog/src/lib.rs
3
90.48%

minitrace-jaeger/src/lib.rs
4
70.31%

minitrace-jaeger/src/thrift.rs
17
26.17%

minitrace-opentelemetry/src/lib.rs
54
1.52%

Totals

Change from base Build<PHONE_NUMBER>:
-6.9%

Covered Lines:
2016

Relevant Lines:
2655

💛  - Coveralls

@andylokandy I think if you re-trigger the coveralls action you'll find the coverage has not deteriorated - even with the suspension of the additional tests that are awaiting the merge of this PR.
As far as I can tell I can't move the CI build actions so may need yourself or someone similarly situated to help get these all green.

@taqtiqa-mark I mis-opened the browser tab and commented in a wrong place. lol
I found that most of the code changes were about moving ./minitrace/src to ./src. What are the reasons for doing this? PS: As far as I know, large multi-crate projects arrange the directory structure in the way as minitrace, such as tokio.

No worries, gave me time to try and recall the reasons - its been near 18 months... I believe the reason is #143 . I don't recall the fine detail, but I'd say to be able to have feature flags passed to the minitrace-tests crate. Or some such.

I have reviewed the majority of the files, which is a time-consuming process due to their volume. Before we proceed and merge the PR, there are several issues that need addressing:

The project organization may not be necessary; hence, I plan to revert this aspect and run everything to identify potential problems.

The proc-macro code appears outdated:

(a) From minitrace 0.5 onwards, the #[trace] macro no longer mimics async-trait, so CollectLifetime and its counterparts should be removed.
(b) There are numerous unused options such as #[trace(variables = xxx)] and #[trace(parent = xxx)]. Rather than reviewing each individually, I suggest maintaining an unchanged user interface for now. We can discuss changes to the proc-macro interface in a separate issue while keeping this PR focused on internal refactoring.
Consequently, I propose merging the 'macro-test' portion of this PR first as it's straightforward and independent. Although initially centered around macros. If you agree, I would like to directly edit this PR.

If you agree, I would like to directly edit this PR.

Sure, but later I'll try persuade you of an easier approach.  If I understand correctly the challenge will be keeping track of what came from where, so I think you're proposing this kind of workflow:
git cherry-pick -n <commit> # get my pr, but don't commit (-n = --no-commit)
git reset                   # unstage the changes from my cherry-picked commit
git add -p                  # make all your choices (add the changes you do want)
git commit                # make the commit!

This would preserve the record of my effort.  If so, then I'm happy with that approach and will  help as and where I can.
Nonetheless, I suggest a less painful approach might be:
Create a merge-113 based on my PR. Then to address

The project organization change may not be necessary; hence, I plan to revert this aspect and run everything to identify potential problems.

True this reorg may be unnecessary.  That is, maybe core team should have closed the related cargo issue?  Would be good if we have evidence it is no longer an issue.
To test this easily you can just re-point 4-5 cargo references to the mintrace-old (you may have to update  mintrace-old  but I believe it was a git rename so it should have the current upstream code that is in minitrace).  If not, it is a trivial cut an paste into that folder and then re-point a 4-5 cargo references to see what happens.

The proc-macro code appears outdated:....

True.  However the current test suite passes.  So a cleaner, and less effort, approach is to merge the PR and then add tests that should pass but fail.  Then alter the code until they pass.  This PR is not a release proposal and there is not reason anyone would expect master to be pristine.

.... We can discuss changes to the proc-macro interface in a separate issue while keeping this PR focused on internal refactoring.

Some of this may also be moot.  Several of these were proposed near 18 months ago.  #135 has been closed.  Similarly #138 was also closed.
Again here the most efficient way to address this is to write tests and remove/add code to make these green.
Ack this is a chicken and egg problem - the test infrastructure wasn't there previously so it was hard to do.
Any way, so we avoid the miscommunication we had earlier.
Please confirm you are now taking up this PR to the point it is rejected or merged?

Please confirm you are now taking up this PR to the point it is rejected or merged?

Correct.
And here is the reminder, to avoid miscommunication:

I will modify this pull request by incorporating additional commits (without force push).

The new test cases and testing infrastructure will be merged following some necessary cleanups.

Pick the up-to-date part of the proc-macro changes, like the pipeline structure.

Thanks for the patience, ping me if you have any questions - hopefully I can remember what I was thinking :)

@andylokandy is there anything I can do here? I don't recall seeing all these merge conflicts when I updated the PR.  Let me know.

Sorry for the delay. I've being working on merging this pr but there are some reasons why I haven't push the update here. 1. since 0.5.0, the proc macro has been significantly simplified (no more lifetime related things), therefore the pipeline seems too heavy for it. 2. The macro ui changes are either unimplemented or identifying problems that has been resloved in other way since 0.5.0. 3. The ui tests cases are already merged by your former PRs. I'm very sorry, based on the current situation, this PR can not be merged.

based on the current situation, this PR can not be merged.

No worries. Thanks for the update.


BUG: Contributor Importance pie chart and line chart not showing issue closed data

"Issue Closed" is not being shown in cases where issue closed data does exist

closed by #479


How to append the indicator to the label embedding?

Thanks for your excellent work!  I have two questions about the label embedding:

For any query, it has its own  one hot vector which has 81 dimensionalities (80 classes in COCO dataset and 1 for unknown class)?
Than we can embed the one-hot vector to get a label embedding by an MLP?
The indicator which is used to differentiate between a denoising part query and the matching part query is 1 or zero,
How to append the indicator to the label embedding? Just concatenate the scalar to the end of label embedding?

OK! Thanks for your reply!

Feel confused about the necessarity of the indicator. It seems that the indicators (0 for learnable queries, 1 for known label embedding) are not used to distinguish matching parts and denoising parts, since attention masks can prevent information leakage.
Anything misunderstood?

got it, thx.


4.0.0 release not working // npm i fails

released in https://github.com/tinesoft/nxrocks/releases/tag/nx-spring-boot%2Fv4.0.0

Unfortunately, it is not working. npm i @nxrocks/nx-spring-boot leads to the following error message:
No matching version found for<EMAIL_ADDRESS>
Can you please fix that?
Originally posted by @sidyes in https://github.com/tinesoft/nxrocks/issues/89#issuecomment-1039014741

Hi @sidyes
Thanks for reporting. This should now be fixed by https://github.com/tinesoft/nxrocks/releases/tag/nx-spring-boot%2Fv4.0.2
Please try again, and feel free to re-open if still having the issue


Empty Settings Screen

Plugin setting screen is empty, with just a save button.

I'm not able to reproduce this locally. Are you still experiencing this?

I’m not. I now see the settings screen.

On Apr 30, 2018, at 7:53 AM, Andris Sevcenko<EMAIL_ADDRESS>wrote:
I'm not able to reproduce this locally. Are you still experiencing this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/craftcms/commerce-digital-products/issues/5#issuecomment-385389622, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAIvpWdIR2xntrMQHT1wGeslRBi7SIDks5ttwkygaJpZM4TNi0A.


Force app to use only https

I have deployed my app on heroku and it doesn't work unless it's requested via https:// is there any setting anywhere in webpack to force/redirect it to https only?

if (window.location.protocol !== 'https:') window.location.href = 'https://yourdomain.com'
You should probably do that from your webserver though, but no idea how possible in heroku


Send button is disabled after sending error

Is your feature request related to a problem? Please describe.
When a message is sending, the 'Send' button is disabled. Then, if the message sending fails, an error message is displayed, but the button remains disabled.
To Reproduce
Steps to reproduce the behavior:

Serve Mailchain with the wrong password
Go to Inbox
Compose message
Click send
Close error message
Send Button is still disabled

Describe the solution you'd like
The button become re-enabled after the error has been dismissed.
this.sendMessagesDisabled should be set to false when modalConnectivityError when bsModalRef.hide is called.
This may mean separating out the error component (ModalConnectivityErrorComponent) into it new one for compose (FEELS LIKE IT)
Screenshots

Desktop (please complete the following information):

Version 0.0.3

Closing due to archiving repository


Reply box/button below fold on messagin pages

Subject: Missplaced reply text frame in chat in 4K display
Description:
just went to reply a chat and didn't see how to do that until I scrolled and found way down there (after a huge white space) the reply input frame
Results:
The huge white space should not be there, and the reply frame should have been right under the original text message received.
Backend version: develop-c3b46fed
Frontend version: develop-c3b46fed
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Page: https://app.couchers.org/messages/chats/4789
User: antu (185)

I think it's likely due to the styling being a bit messed up now that we include the tabs and the header all the time, rather than only in some pages before the Next refactor. Likely to be fixable by tweaking the CSS around that area of code.

I think this is relatively high priority: it annoys me and I think it's confusing (not obvious to scroll down).

This was closed


fp16 support?

fp16 support?

I thought it already supports fp16 too. If not, unfortunately I will not have the time to prepare it, but it should be straightforward to change the source code yourself to support this and share it with others :).


Adding code samples to repository and nox.

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[x] Ensure the tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

Hi, I tried uploading those samples to the python-docs-samples repo, but I was told that it'd be better to put them here. So here I am, with the first batch of code samples for our documentation :)

Ah, I see I need to rename my commits.


Update URLs for our pricing page

The page listed here was a 404
Signed-off-by: Tim Smith<EMAIL_ADDRESS>

https://buildkite.com/chef/chef-chef-server-main-omnibus-adhoc/builds/3166#3ec3058d-7efc-4d7f-b427-24c54045e21b


status info to stderr

log logs to stderr by default, so currently all the data is being sent there already.
Repro:
kt -topic foo >/dev/null

still prints everything to the screen.


Update walkthrough images

Update resources/walkthroughs/kernel.svg
Update resources/walkthroughs/opennotebook.svg

did you add images anywhere? I would like to contribute to this issue.

we can add our own new images?

I would like to take this issue!


Docs updates

Correct code blocks
Grammar fixes
Markdown hierarchy fixes
Add TOC & license badge to readme

Coverage remained the same at 89.353% when pulling b57492be65c21dbba5ad29f23fe9628d4ac21a5a on sivakumar-kailasam:docs-updates into 667db1b532bec79cbe285871c8186089b3353359 on cowboyd:master.

Coverage remained the same at 89.353% when pulling b57492be65c21dbba5ad29f23fe9628d4ac21a5a on sivakumar-kailasam:docs-updates into 667db1b532bec79cbe285871c8186089b3353359 on cowboyd:master.

Coverage remained the same at 89.353% when pulling b57492be65c21dbba5ad29f23fe9628d4ac21a5a on sivakumar-kailasam:docs-updates into 667db1b532bec79cbe285871c8186089b3353359 on cowboyd:master.

Coverage remained the same at 89.353% when pulling b57492be65c21dbba5ad29f23fe9628d4ac21a5a on sivakumar-kailasam:docs-updates into 667db1b532bec79cbe285871c8186089b3353359 on cowboyd:master.

@sivakumar-kailasam I think we're missing merge transition which is on composed types. set replaces the value of the composed type, where merge combines the value using Ramda's mergeDeepRight.


[docs] Mention Ctrl+C more clearly in the t.pressKey topic

I'm not a fan of promising something in the docs.


merge back maybe working recipe

maybe working recipe

let's the recipe

The recipe "bioinformatics/Singularity.r-scrnaseq" seems to work (I can build it on my personal singularity collection) but can't build it on the singularity-hub.org. It seems I don't have all the rights, or there’s something else missing

@togop Do you want to discuss this together?


[SPARK-8652] [PYSPARK] Check return value for all uses of doctest.testmod()

This patch addresses a critical issue in the PySpark tests:
Several of our Python modules' __main__ methods call doctest.testmod() in order to run doctests but forget to check and handle its return value. As a result, some PySpark test failures can go unnoticed because they will not fail the build.

For instance, it turns out that one of the PySpark profiler tests is broken and we didn't notice:
Running test: pyspark.profiler ... [GC [PSYoungGen: 132096K->14805K(153600K)] 132096K->14877K(503296K), 0.0141160 secs] [Times: user=0.04 sys=0.01, real=0.01 secs]
[GC [PSYoungGen: 146901K->20583K(153600K)] 146973K->20663K(503296K), 0.0185440 secs] [Times: user=0.07 sys=0.01, real=0.02 secs]
**********************************************************************
File "/Users/joshrosen/Documents/spark/python/pyspark/profiler.py", line 93, in __main__.Profiler
Failed example:
    sc.show_profiles()
Expected:
    My custom profiles for RDD:1
    My custom profiles for RDD:2
Got:
    My custom profiles for RDD:1
**********************************************************************
   1 of   8 in __main__.Profiler

Merged build triggered.

Luckily, it looks like it was only that single test that was failing:
[joshrosen pyspark (testmod-fix)]$ git grep testmod
accumulators.py:    (failure_count, test_count) = doctest.testmod()
broadcast.py:    (failure_count, test_count) = doctest.testmod()
conf.py:    (failure_count, test_count) = doctest.testmod(optionflags=doctest.ELLIPSIS)
context.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
heapq3.py:    (failure_count, test_count) = doctest.testmod()
ml/classification.py:    (failure_count, test_count) = doctest.testmod(
ml/evaluation.py:    (failure_count, test_count) = doctest.testmod(
ml/feature.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
ml/recommendation.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
ml/regression.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
ml/tuning.py:    (failure_count, test_count) = doctest.testmod(
mllib/classification.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/clustering.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/evaluation.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/feature.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/fpm.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/linalg.py:    (failure_count, test_count) = doctest.testmod(optionflags=doctest.ELLIPSIS)
mllib/random.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/recommendation.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/regression.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/stat/_statistics.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/tree.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
mllib/util.py:    (failure_count, test_count) = doctest.testmod(globs=globs, optionflags=doctest.ELLIPSIS)
profiler.py:    (failure_count, test_count) = doctest.testmod()
rdd.py:    (failure_count, test_count) = doctest.testmod(
serializers.py:    (failure_count, test_count) = doctest.testmod()
shuffle.py:    (failure_count, test_count) = doctest.testmod()
sql/column.py:    (failure_count, test_count) = doctest.testmod(
sql/context.py:    (failure_count, test_count) = doctest.testmod(
sql/dataframe.py:    (failure_count, test_count) = doctest.testmod(
sql/functions.py:    (failure_count, test_count) = doctest.testmod(
sql/group.py:    (failure_count, test_count) = doctest.testmod(
sql/readwriter.py:    (failure_count, test_count) = doctest.testmod(
sql/types.py:    (failure_count, test_count) = doctest.testmod(
sql/window.py:    (failure_count, test_count) = doctest.testmod()
streaming/util.py:    (failure_count, test_count) = doctest.testmod()

Merged build started.

Test build #35830 has started for   PR 7032 at commit e6423f9.

/cc @davies

Merged build triggered.

Merged build started.

Merged build triggered.

Merged build started.

Test build #35833 has started for   PR 7032 at commit 8b8d80a.

Merged build finished. Test FAILed.

Test build #35830 has finished for   PR 7032 at commit e6423f9.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #35846 has started for   PR 7032 at commit 60dbdc0.

Test build #35833 has finished for   PR 7032 at commit 8b8d80a.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Found another minor issue that was masked by this:
**********************************************************************
File "/Users/joshrosen/Documents/spark/python/pyspark/serializers.py", line 47, in __main__
Failed example:
    rdd._jrdd.count()
Expected:
    8L
Got:
    8
**********************************************************************
   1 of  10 in __main__

Test build #35846 has finished for   PR 7032 at commit 60dbdc0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

LGTM, thanks!


go.mod k8s.io/client moved to incompatible version

Is this by design or an accident?
In Version 1.9.0 of this project.
the version of k8s.io/client-go was correctly set to k8s.io/client-go v0.23.1
https://github.com/kubeovn/kube-ovn/blob/v1.9.0/go.mod#L33
In Version 1.9.1 going forward it turned to
k8s.io/client-go v12.0.0+incompatible
https://github.com/kubeovn/kube-ovn/blob/v1.9.1/go.mod#L33
This breaks importing it into projects like kubebuilder that use the correct versions of the k8s.io.client-go.
/v/t/kube-test ❯❯❯ go get -v<EMAIL_ADDRESS>       ✘ 130
go: added github.com/kubeovn/kube-ovn v1.9.0
/v/t/kube-test ❯❯❯ go get -v<EMAIL_ADDRESS>go: accepting indirect upgrade from<EMAIL_ADDRESS>to v12.0.0+incompatible
go: github.com/kubeovn/kube-ovn/pkg/client/clientset/versioned/typed/kubeovn/v1 imports
        k8s.io/client-go/rest imports
        k8s.io/client-go/util/flowcontrol imports
        k8s.io/apimachinery/pkg/util/clock: cannot find module providing package k8s.io/apimachinery/pkg/util/clock
go: warning<EMAIL_ADDRESS>retracted by module author: pre-module versions are obsolete
go: to switch to the latest unretracted version, run:
        go get k8s.io/client-go@latest

@oilbeater Can we please reopen this issue here to just have a clarity about the client go version.


Accessibility: keyboard 2.1.1

Please cross-reference against Web Accessibility Evaluation Report, p. 7.
Issue 001: Clickable items cannot be operated with keyboard

Note: @rdunk — when I try to access the website sections via keyboard I can't. Can you confirm?

Issue: Screen reader user cannot close the menu with the Enter key.
Chris following up with vendor.

That's strange, I'm able to close the menu using both the Enter and Esc keys whilst I have screenreader software enabled. Perhaps this is to do with the specific screen-reader software? Did they provide any more information about that?

@rdunk — checking with the HKBU re: screenreader software.

@rdunk from HKBU:
Testing took place in the following environment:

NVDA 2017.4
Google Chrome 64.0.3282.140 (64 bit)
Windows 7 (64 bit)

We can close the menu with ESC, but not with the close button Thanks so much!

@rdunk — let me know whether you can replicate.

I've pushed an attempted fix but can't be sure it will resolve the issue, unfortunately I can't replicate this as we only have access to virtual browsers for Windows and can't install NVDA on macOS.

Re-checking with HKBU. Assigning to @chrismplus

It works perfectly now on Chrome with NVDA. The menu can be closed with the button with keyboard.


is this first approved date?

2019-01-30
Fission yeast arrestin-related trafficking adaptor, Arn1/Any1, is ubiquitinated by Pub1 E3 ligase and regulates endocytosis of Cat1 amino acid transporter. Nakashima A et al. (2014)

Yep.

OK great.


Fixed bad layout include

This PR

[x] fixes wrong layout being included in the reset password form

@localheinz Does this look okay?


feat: Reexport the Warning trait in dioxus-signals

feat: Reexport the Warning trait in dioxus-signals to allow the use of ::allow() without pulling the warnings crate

Maybe we should be re-exporting warnings from the dioxus namespace?

Maybe we should be re-exporting warnings from the dioxus namespace?
dioxus::warnings::allow()

In dioxus-lib as well if that was the case


Move getType from jest-matcher-utils to separate package

Summary
This resolves #3528. Move the getType utility function from jest-matcher-utils to standalone package. This way jest-config and other packages don't need to depend on jest-matcher-utils for just one function.
Test plan
All tests still pass.

Note: When I ran yarn test locally, It failed to typecheck inside node_modules/jest-validate as it was looking for getType function that I just removed. This comes from prettier depending on jest-validate. I assumed it was safe to just ignore that typecheck since it is inside node_modules.

Looks good! I think you can safely add node_modules/jest-validate to .flowconfig's ignore

Codecov Report

Merging #3559 into master will decrease coverage by 0.08%.
The diff coverage is 96.96%.

@@            Coverage Diff             @@
##           master    #3559      +/-   ##
==========================================
- Coverage   62.39%   62.31%   -0.09%
==========================================
  Files         181      182       +1
  Lines        6646     6718      +72
  Branches        6        6
==========================================
+ Hits         4147     4186      +39
- Misses       2496     2529      +33
  Partials        3        3

Impacted Files
Coverage Δ

packages/jest-validate/src/errors.js
100% <100%> (ø)
:arrow_up:

packages/jest-matcher-utils/src/index.js
100% <100%> (+1.38%)
:arrow_up:

packages/jest-diff/src/index.js
71.73% <100%> (+2.69%)
:arrow_up:

packages/jest-matchers/src/matchers.js
98.36% <100%> (ø)
:arrow_up:

...ckages/jest-config/src/reporterValidationErrors.js
33.33% <100%> (+13.33%)
:arrow_up:

packages/jest-matchers/src/toThrowMatchers.js
80% <100%> (+0.37%)
:arrow_up:

packages/jest-get-type/src/index.js
96.29% <96.29%> (ø)

packages/jest-cli/src/reporters/Status.js
7.57% <0%> (ø)
:arrow_up:

packages/jest-config/src/normalize.js
90.9% <0%> (ø)
:arrow_up:

packages/jest-jasmine2/src/assert-support.js
0% <0%> (ø)
:arrow_up:

... and 163 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 9b157c3...c3f3466. Read the comment docs.

Do you mind rebasing?

Done.

Thank you!


feat: add lease method for lock

#122

Hi @ShawnHsiung
Thank you for your contribution. The PR looks very good. I am going to work on this and test it when I'm available.

Hey thanks for adding this @ShawnHsiung. I was actually just thinking how helpful this would be for me. I am using a lock to maintain a single process in a cluster that saves it's state in olric. This will make it possible for the lock to be maintained by the original node that grabbed it without having to come up with some algorithm that works around this.

@d1ngd0  I'm glad it's useful what I have done ^_^

Thank you for your contribution.


Form Recognizer: Forms with multiple tables on a page have no name property

Describe the bug
The REST API returns a list of tables with the key for each table being the table name. The value is the table details. The SDK only contains a list of tables with no name property.
Expected behavior
Add an additional table name property for each
Actual behavior (include Exception or Stack Trace)
What is the actual behavior?
To Reproduce
Steps to reproduce the behavior (include a code snippet, screenshot, or any additional information that might help us reproduce the issue)

Create a custom form model with multiple tables on a single page
Analyze the results and the REST API returns a key with the labeled table name but the SDK returns a list of tables with no name property

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

Hi @vkurpad
It looks like you are calling the CustomForms method, right?
I am assuming you are looking at the tables under RecognizedForm.Pages[i].Tables where you don't have the table name.
Please note that RecognizedForm.Pages contains information about the recognized form elements present in the input document. Here, no labels assigned by the customer are recognized.
In order to access the fields that have labels set by the user when training the model, you need to access the RecognizedForm.Fields property and look for the name that was assigned to the table, same as you would do with any other field.
For example, if the table name is Expenses you could do:
foreach (FormField field in form.Fields.Values)
{
    if (field.Name == "Expenses")
    {
        ...
    }
}

Here is an example on how to iterate over the table when it is in the Fields section: https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/formrecognizer/Azure.AI.FormRecognizer/tests/samples/Sample15_DifferentiateOutputLabeledTables.cs#L117
Mode information on RecognizedForm: https://docs.microsoft.com/en-us/dotnet/api/azure.ai.formrecognizer.models.recognizedform?view=azure-dotnet


Ionic Build failing (v2)

Ionic version:  (check one with "x")
[ ] 1.x
[ x] 2.x
ionic build ios isn't working at all for me. ionic serve works fine but whenever I try to build I get the error below. In my package.json I have appended --dev to the build script command because every time I build it builds production which takes forever, and this little bypass has been working for weeks until tonight.
I can't seem to find any problems in my code and serve works fine.
> ionic-hello-world@ ionic:build
> ionic-app-scripts build --dev

[00:06:04]  ionic-app-scripts 0.0.45
[00:06:04]  build dev started ...
[00:06:04]  clean started ...
[00:06:04]  clean finished in 4 ms
[00:06:04]  copy started ...
[00:06:04]  transpile started ...
[00:06:07]  build dev failed: Cannot read property 'indexOf' of undefined
[00:06:07]  ionic-app-script task: "build"
[00:06:07]  TypeError: Cannot read property 'indexOf' of undefined
npm ERR! Darwin 16.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "ionic:build" "--"
npm ERR! node v6.9.2
npm ERR! npm  v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! ionic-hello-world@ ionic:build: `ionic-app-scripts build --dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ionic-hello-world@ ionic:build script 'ionic-app-scripts build --dev'.

Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.3-201611302233
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.45
ios-deploy version: 1.9.0
ios-sim version: 5.0.6
OS: macOS Sierra
Node Version: v6.9.2
Xcode version: Xcode 8.1 Build version 8B62

Hello @Tyler-Darby thats because build is running ngc checks, serve not.
It looks like a variable is undefined/null where you're trying to do an indexof
I've already asked a same question, look here: #9045
So what shall you do?
Look in your code where you use indexof and check if the variable is intialized first.
Don't:
test:Array<any>
Do:
'test:Array=[];`
Greetings
Graphefruit

@graphefruit I've searched over my whole src directory using my IDE and I don't use indexOf in my code once. The only place it is used is service-worker.js
Could this be caused by a NPM package? I am using AngularFire2 with firebase currently and the problems seem to have started around that time, could that be the case?

Do you have an import * as firebase from 'firebase'?
If AngularFire2 is setup correctly, you don't need this import anymore.

@urm47 Nope. Got rid of all of those. Pretty stumped here, completely removed angularfire from my project and the issue still persists. It gives me no line numbers, no stack trace, nothing. Not even the npm_debug.log

This issue was moved to driftyco/ionic-app-scripts#530


The 'Invoke-DQVTesting' command was found in the module 'Invoke-DQVTesting', but the module could not be loaded.

The Invoke-DQVTesting module does't load anymore and fails silently. This happens when running a pipeline with the DAX Query View Testing Pattern/scripts/Run-CICD.yml code.
I think it has something to do with the version bump of the Microsoft.AnalysisServices.NetCore assembly in the Microsoft repo
here, but I have limited knowledge of assembly dependency shenanigans.
Error message:
Invoke-DQVTesting : The 'Invoke-DQVTesting' command was found in the module 'Invoke-DQVTesting', but the module could not be loaded. For more information, run 'Import-Module Invoke-DQVTesting'.
At D:\a\_temp\fcb4c22d-9603-4314-a1a2-921092cda497.ps1:227 char:9
+         Invoke-DQVTesting -WorkspaceName "${env:WORKSPACE_NAME}" `
+         ~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (Invoke-DQVTesting:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

Running Pester tests to verify a fix is in place.

Could you try the release candidate?: https://www.powershellgallery.com/packages/Invoke-DQVTesting/0.0.13-rc

I will be able to try on Monday. I will get back to you then.
Thanks for looking into this!

I can confirm it's working with 0.0.13-rc

i spoke too early, I still get the The 'Invoke-DQVTesting' command was found in the module 'Invoke-DQVTesting', but the module could not be loaded. error. I don't know what you changed, but I got it working on my side. I'll create a PR.


Unable to call VipsForeignLoadPngFile

I'm tampering with lua-vips on a Raspberry Pi with a custom-built libvips, and I can't seem to get the module to work.
Here's the simple code I used:
local vips = require "vips"
local base = vips.Image.new_from_file("base.png")

and here's the traceback (run with luvit):
$ luvit test.lua
Uncaught exception:
./vips/voperation.lua:216: unable to call VipsForeignLoadPngFile

stack traceback:
	[C]: in function 'error'
	./vips/voperation.lua:216: in function 'new_from_file'
	/home/sjkim04/Desktop/test.lua:2: in function 'fn'
	[string "bundle:deps/require.lua"]:310: in function 'require'
	[string "bundle:/main.lua"]:128: in function <[string "bundle:/main.lua"]:20>
stack traceback:
	[C]: in function 'error'
	[string "bundle:/deps/utils.lua"]:41: in function 'assertResume'
	[string "bundle:/init.lua"]:52: in function <[string "bundle:/init.lua"]:47>
	[C]: in function 'xpcall'
	[string "bundle:/init.lua"]:47: in function 'fn'
	[string "bundle:deps/require.lua"]:310: in function <[string "bundle:deps/require.lua"]:266>

What's the problem with this? I installed most of the optional dependencies, including libspng, and the code still fails. I would appreciate some help.

Hi @sjkim04,
I suppose I would first try to verify that your libvips is working. You can do:
$ vips --vips-config | grep -i png
PNG load/save with libspng: false
PNG load/save with libpng: true

To check that it picked up libspng (or libpng, for me) correctly. Then maybe:
$ vipsheader ~/pics/k2.png
/home/john/pics/k2.png: 1450x2048 uchar, 3 bands, srgb, pngload

To make sure it can call it.
I see:
$ luajit
LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/
JIT: ON SSE2 SSE3 SSE4.1 AMD BMI2 fold cse dce fwd dse narrow loop abc sink fuse
> vips = require "vips"
> base = vips.Image.new_from_file("k2.png")
> print(base:width())
1450
>

$ vips --vips-config | grep -i png
memory: high-water mark 0 bytes
PNG load with libspng: true
PNG load/save with libpng: false

$ vipsheader ./base.png
./base.png: 1280x720 uchar, 4 bands, srgb, pngload
memory: high-water mark 0 bytes

$ luajit
LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/
JIT: ON fold cse dce fwd dse narrow loop abc sink fuse
> vips = require "vips"
> base = vips.Image.new_from_file("base.png")
./vips/voperation.lua:216: unable to call VipsForeignLoadPngFile

stack traceback:
	[C]: in function 'error'
	./vips/voperation.lua:216: in function 'new_from_file'
	stdin:1: in main chunk
	[C]: at 0xaaaadcb40994
>

So it's not vips' problem, as far as I can tell from your comment. What could it be? One thing I can expect is the environment (I didn't install any of the Lua development packages). If that matters, I'll try to fix it.

I'll see if I can make a dockerfile that reproduces this.

I had a quick go:
https://github.com/jcupitt/docker-builds/blob/master/lua-vips-ubuntu21.04/Dockerfile
But canonical seem to be having some DNS problems so I can't test it, unfortunately. I might try again later.

Oh, just me being dumb, 21.04 is not an LTS, so it's out of support. Assuming you meant 20.04 I made this:
https://github.com/jcupitt/docker-builds/blob/master/lua-vips-ubuntu20.04/Dockerfile
It seems to work, I see:
$ docker run -it --rm -v $PWD:/data lua-vips-ubuntu20.04
root@b3bf1d41c7c2:/usr/local/src# cd /data/
root@b3bf1d41c7c2:/data# ls
Dockerfile  README.md  astronauts.png
root@b3bf1d41c7c2:/data# luajit
LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/
JIT: ON SSE2 SSE3 SSE4.1 AMD BMI2 fold cse dce fwd dse narrow loop abc sink fuse
> vips = require("vips")
> x = vips.Image.new_from_file("astronauts.png")
> print(x:width())
900
>

Closing by lack of info.


Fix search integration

Doesn't seem like the google powered search engine is working. I need to look into this a bit more.
https://deps.cloud/search/?q=arch

I believe this will fix it.
https://github.com/deps-cloud/deps.cloud/commit/6230b8231e2af7198c8fbc7be5dbabc1f00e8230

Alright, I've tested a page or two on the live search console and got some positive results back. I've put in a re-indexing request. Will be able to completely verify in the next day or so.


Data updating not working

Hello, I am using this library, and I wrote this code for a doughnut chart:
<chartjs-doughnut
  :height="100"
  :scalesdisplay="false"
  :bind="true"
  :labels="['A', 'B', 'C']"
  :datasets="[{
    data: [a.val, b.val, c.val],
    borderWidth: [0, 0, 0],
    backgroundColor: ['#2AA806', '#FF9917', '#FF4D4D']
  }]"
  :option="{
    cutoutPercentage: 75,
    legend: { display: false },
    maintainAspectRatio: false
  }">
</chartjs-doughnut>

But, for eg., when I change the value of a.val, the chart do the render animation, but its values dont change.

Confirmed. Issue's source is the watched dataset property. It redraws the chart but actually the chart data is not set to the new value.
chart_data.datasets = val; missing at https://github.com/hchstera/vue-charts/blob/master/src/vue-chartjs-lib.js#L105

Same problem, adding this.chart_data.datasets = val; didn't fix it for me.

giving <chartjs-line  ref="chart"
and a watcher on datasets-variable with this.$refs.chart.chart_data.datasets=this.chartData; was my only solution


lack of version tag issue

When such package uses simultaneously in main package and in one of the dependencies package, swift package update cause the following error:
error: the package PoloneixConnection @ 0.0.2 contains revisioned dependencies: https://github.com/jernejstrasner/SwiftCrypto.git @ master
Adding three signs version tag solves it.
The bug is recursive, so when tag adds to e.g. SwiftCrypto such bug shows on its dependencies with branch("master")) either, e.g. CCommonCrypto.
When correct tags have been added for both of them command above works well.

Ha! Good to know! Adding tags now.
Thanks!

Will add tag to ea89d979867f6420885053736106e7c1e2139503


Add useFormState reference

Initial stab at docs for useFormState. The examples are limited as we don't have server actions actually working within the docs website yet.
This is another example I could include which uses a client action to update the state of the component, but I think it's confusing. If we want people to refresh instead of updating client state, maybe we shouldn't show this. https://codesandbox.io/s/strange-waterfall-wqwsys?file=/App.js
Preview

Can we make the real-world examples of the action function more prominent? Right now you need to scroll all the way to the recipes and click actions.js to see even a full simple example of an action.

I accidentally merged this without the commit where I incorporate the feedback here. Trying to figure out how to fix it now.

ah, great! feel free to ping me on work chat if I can help you get out of a git pickle

Merged the PR with the intended changes https://github.com/reactjs/react.dev/pull/6383


Async-profiler 2.7 with jfrsync= option doesn't work in OpenJ9

OpenJ9 doesn't include JFR: https://github.com/eclipse-openj9/openj9/issues/1876
When started with async-profiler together with jfrsync= option openj9-jdk-17.0.2+8 stops with the output:
JVMDUMP039I Processing dump event "abort", detail "" at 2022/03/25 22:03:19 - please wait.
JVMDUMP032I JVM requested System dump using '/Users/kirill.timofeev/IdeaProjects/untitled4/core.20220325.220319.59067.0001.dmp' in response to an event
JVMDUMP010I System dump written to /Users/kirill.timofeev/IdeaProjects/untitled4/core.20220325.220319.59067.0001.dmp
JVMDUMP032I JVM requested Java dump using '/Users/kirill.timofeev/IdeaProjects/untitled4/javacore.20220325.220319.59067.0002.txt' in response to an event
JVMDUMP010I Java dump written to /Users/kirill.timofeev/IdeaProjects/untitled4/javacore.20220325.220319.59067.0002.txt
JVMDUMP032I JVM requested Snap dump using '/Users/kirill.timofeev/IdeaProjects/untitled4/Snap.20220325.220319.59067.0003.trc' in response to an event
JVMDUMP010I Snap dump written to /Users/kirill.timofeev/IdeaProjects/untitled4/Snap.20220325.220319.59067.0003.trc
JVMDUMP032I JVM requested JIT dump using '/Users/kirill.timofeev/IdeaProjects/untitled4/jitdump.20220325.220319.59067.0004.dmp' in response to an event
JVMDUMP051I JIT dump occurred in 'main' thread 0x0000000019327F00
JVMDUMP010I JIT dump written to /Users/kirill.timofeev/IdeaProjects/untitled4/jitdump.20220325.220319.59067.0004.dmp
JVMDUMP013I Processed dump event "abort", detail "".

Process finished with exit code 1

I believe it is much better for async-profiler to show a warning that JFR can't be used and continue execution without jfrsync= option.
Openj9 version:
openjdk version "17.0.2" 2022-01-18
IBM Semeru Runtime Open Edition <IP_ADDRESS> (build 17.0.2+8)
Eclipse OpenJ9 VM <IP_ADDRESS> (build openj9-0.30.0, JRE 17 Mac OS X amd64-64-Bit Compressed References 20220127_94 (JIT enabled, AOT enabled)
OpenJ9   - 9dccbe076
OMR      - dac962a28
JCL      - 64cd399ca28 based on jdk-17.0.2+8)

Certainly. Will fix that.

It appears that OpenJ9 is not prepared to get an exception when defining a new class in VMInit handler.
Looks like a JVM bug, but I added a workaround anyway.
Now async-profiler displays an error when trying to use jfrsync on a JDK without Flight Recorder.
I believe it's more logical than just ignoring the option, especially when starting profiler manually.


NAS-123640 / 24.04 / Add cronjob plugin

Context
It was requested that we capture cronjobs in our debug.

Jira URL: https://ixsystems.atlassian.net/browse/NAS-123640

And let's grab /etc/cron.d/middleware file as well.


Investigate delaying checkin for poolboy pool (and single connection)

When a socket is checked in to the DBConnection.Connection process and no check outs requests are waiting in the internal queue it sets the socket into active: :once. If there is a client queue in Poolboy's central process a client will immediately be assigned to the connection process, a checkout request sent to the connection, the socket will be set to active: false immediately and checked out again. Given that idle connections are pinged at :idle_timeout we could investigate if delaying the check in/ active: :once until the first idle timeout improves performance under load.

Simpler approach added in 1ff760bca1f7467c9da6d8688c498ade337831c9 and defaulting to :passive (as sojourn pool does).


Add support for identity listing and associated project listing to user page

Fairly straightforward.  Depends on #164

Will need to make fetch requests to the Redis backend for the user's applications' information to display on the userpage. Have clarified that this is fine (since everything else does it statically currently).
CanMay be able to just reuse the ApplicationCollection component on the userpage for rendering/behaviour.

In terms of tracking I think it makes sense to consider this done with #172. Have opened #215 to track follow up work when more identity possibilities are added.


Support Client VPN Creation

Support creation of client VPN with created certs into ACM.

Remaining Work:

Support SG rules
Move to module
Add variables to other example
Add unit tests
Add integration test support for mock and live
Update documentation
Ship it.

Need a better solution to generate certs and CA.


Would love to be able to fast-project-switch

gitkraken has a neat dropdown in the top left of their interface.  Basically enumerates all known repositories.
Would be neat if code did something similar, except for projects.  That way I don't have to do the ctrl-shift-n keystroke and then drill over to whatever directory I need.

@bpasero - Not really the same as what I suggested.

@atrauzzi but it avoids having to to type Ctrl+Shift+N, no?

@bpasero  - That would be focusing exclusively on one aspect of my original ticket.  There's more to this than speed-triaging this against an existing feature.
The other issue is that "Open Recent" opens it in the current window.  So, even in your suggestion, it doesn't speak at all to what I'm trying to highlight here.

@atrauzzi not at all, there are instructions how to force open it in a new window:

@bpasero wow, didn't know about this. cool feature!


joint_(damping & stiffness)command

Hello,
I have been using your package with our KUKA and have been implementing a joint position impedance controller with the hardware_interface::PositionJointInterface. My efforts have been based on duplicating/modifiying your Effort impedance controller (joint_impedance_controller.cpp).  I have not figured out how  "joint_position_command_" gets set in the lwr_hw.h.  I guess it is taken in some way from the loaded controller but I do not see where this happens. I am trying to also set   "joint_damping_command_" & "joint_stiffness_command_" in my joint position impedance controller. I know that position is set through  joint_handles_[i].setCommand(). But I have no idea how to do the same with the stiffness and damping values K_ & D_.
This is not really an issue, but I am not sure where else to ask.
Any help would be much appreciated.

Hi @gpldecha ,
That's something it has been in the ToDo list for a while. We had one version in the history in the beginnings where stiffness could be controlled along with position using the joint impedance strategy, setting the added torque and damping to zero, for instance.
We have thought of several approaches. Those values can be thought as control parameters, think as if they were the gains of a PID. But another possibility is to think of them as resources, like virtual joints that can be moved only through the position interface (since you are only setting values). The advantage is that you could potentially "plan" for them with current tools such as MoveIt!, or use a joint trajectory controller to change the stiffness slowly for instance.
I like the latter the most, and in fact, that's the reason why in the model, you will find the stiffness limits and the ramification to dummy links using the "stiffness joints".
Regarding to where the joint_position_command_ gets set, that's the controller's job, who should be acting on the position interface, and then, I just use it in the write() function of the corresponding to-hardware interface, that is, here for gazebo, here for the KUKA FRI, and here for the Standfor FRI. The joint_handles_[i].setCommand() should be called in the controller side.
Another final approach would be to create a joint command interface like the standard ones defined here for joint impedance, so the setCommand() would involve the position, stiffness, and damping set points all together, and not independently as described above. But I don't like much this solution since it requires more work, modify the standard ros control, which unless you justify it well, it wouldn't make sense, which leads me to the reason why not: it is not a real hardware resource. We thought of the following "practical" modes motivated by the fact that each mode could have their own command interface:
JOINT_POSITION -> strategy 10
CARTESIAN_IMPEDANCE -> strategy 20
JOINT_IMPEDANCE -> full strategy 30
JOINT_EFFORT -> strategy 30 with only added torque, K, D, dq = 0
JOINT_STIFFNESS -> strategy 30 with added torque = 0 and D = 0
JOINT_SHOCK_ABSORBER  -> strategy 30 with added torque = 0
But don't think it is a good idea anymore, probably only the first three are needed, and from the controller side one can set to zero the values according to the needs, only that establishing the "practical" mode in the lwr_hw and not on the controller, should make the controller code more scalable.
W.r.t. the joint_impedance_controller.cpp, the objective there was to emulate the strategy 30, compute the added torque, and then use the strategy 30 in JOINT_EFFORT above, so I don't think it is good given that the lwr can be deal with that directly. However, the controller could be used in a robot that doesn't.
Hope that clarifies things.

Thanks a lot for your long response, this really helps my understanding. I see why your solution regarding dummy links is preferable over control parameters.
I was looking in lwr_hw.cpp  and I see that you register two handles to position_interface_. This means
I should have access to both joint_position_command_ and joint_stiffness_command_  in my controller implementation. However I am still perplexed on setting the cmd values of joint_stiffness_command_ in my controller.
When I ros print the list of contollers which are loaded I see mine as :
name: joint_position_impedance_controller
state: stopped
type: lwr_controllers/JointPositionImpedanceController
hardware_interface: hardware_interface::PositionJointInterface
resources: ['lwr_0_joint', 'lwr_1_joint', 'lwr_2_joint', 'lwr_3_joint', 'lwr_4_joint', 'lwr_5_joint', 'lwr_6_joint']
This indicates I guess that I cannot set the values of joint_stiffness_command_ because 'lwr_i_joint_stiffness' are not loaded as resources. If I want to set damping in a similar fashion I should add another dummy joint for damping right ? If this is correct I should have a total number of 7 * 3 resources loaded for the controller.
Once all the resources loaded in my controller code, I should have some like this:
int index=0
for(int i=0; i < 7;i++){
 joint_handles_[index].setCommand(q(i));  // setting commanded joint values (joint pos resource)
 index++
}
for(int i=0; i < 7;i++){
 joint_handles_[index].setCommand(q_stiff(i));  // setting commanded joint stiffness values (joint stiffness resource)
 index++
}

Is my intuition correct ? What should I modify to have all those resources loaded and be able to set them in my controller ?
Thanks a lot again for your help, it is very much appreciated.

I have figured out how to do it... in my controller I added:
 // in joint_position_impedance_controller.h
std::vector<hardware_interface::PositionJointInterface::ResourceHandleType> joint_handles_stiffness;

// inside the init function
KinematicChainControllerBase<hardware_interface::PositionJointInterface>::init(robot, n);
// Get joint handles for all of the joints in the chain
for(std::vector<KDL::Segment>::const_iterator it = kdl_chain_.segments.begin(); it != kdl_chain_.segments.end(); ++it)
  {
       joint_handles_stiffness.push_back(robot->getHandle(it->getJoint().getName() + "_stiffness"));
   }

  // inside the update function
  joint_handles_stiffness[i].setCommand(K_(i));

This solved my problem I can now also change the stiffness values as well as the position values of the
joints. I have tried this on the real robot and it works.

Yes, that was the idea!
That's why also the lwr_hw is tightly related to the urdf model, since there is a name convention to do this.
Regarding previous questions:

If I want to set damping in a similar fashion I should add another dummy joint for damping right ? If this is correct I should have a total number of 7 * 3 resources loaded for the controller.

Yes, exactly.
I assume you use the controller acting on the EffortJointInterface to trigger strategy 30 on the robot, right? But still you can access to the PositionJointInterface handles... that's why all interfaces are registered here

Actually I am using  PositionJointInterface and I am setting in RHW
    mFRI->SetCommandedJointPositions(newJntPosition);
    mFRI->SetCommandedJointStiffness(newJntStiff);
    mFRI->SetCommandedJointDamping(newJntDamp);

I wanted to try effort at the start but the KUKA went a bit crazy. I have my own (but very similar) RHW, it's a way for me to learn what is going on. I will try the EffortJointInterface way next to do joint impedance. In this case I will not need to set stiffness and damping in FRI since they are used to compute directly the torques if I am not mistaken.

Ah, ok, that explains then...
Yes, the robot needs to start in strategy 10, and then switch to 30 (or 20), otherwise there can be an unexpected behaviors.
But those commands are only available in strategy 30, so I guess you have that mode fixed and only that one in your RHW.


Not all solution folders are described.

No descriptions for Packages, Connected Services, and Component folders.

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

ID: ba4ac72b-0c09-80b8-7210-c77f1d2a6f42
Version Independent ID: f39106cc-ec1f-55ea-002a-8928e742b551
Content: Hello, Android: Deep Dive - Xamarin
Content Source: docs/android/get-started/hello-android/hello-android-deepdive.md
Product: xamarin
GitHub Login: @mgmclemore
Microsoft Alias: mamcle

Thanks for reporting this.  Developers don't need to worry about these folders as they are not a part of developing a Xamarin.Android app. These folders are used by Visual Studio to support the development of .NET projects.
We'll update the guide and make a mention of this to help minimize confusion for future readers.


kitty support

Does this support kitty? Or is kitty support planned?

@raffaem Yes. I plan to add support for every terminal emulator that has support for images. But I don't know when I will be able to do that.
I will add Kitty as the next terminal to support. I am keeping this issue open.

Might be useful reference: https://github.com/edluffy/hologram.nvim

Hello all, I forked and added kitty support: https://github.com/ejconlon/image_preview.nvim/blob/main/lua/image_preview/init.lua . I did some auto-formatting with stylua and such, so it may not be to your liking.

@ejconlon Cool! I will do an update. Thanks for share.

Suggestion: would be better if the README indicates dependencies on either Wezterm or Kitty, not just Wezterm!

@SichangHe Yes. I already added on the features list. Can you provide one screenshot using it?

Well, I was trying to make SSH work as well but couldn't: https://github.com/SichangHe/adelarsq--image_preview.nvim/tree/kitty-over-ssh, https://github.com/kovidgoyal/kitty/discussions/6017.

Screenshot. That was difficult.

@SichangHe Thanks for the help on this. For ssh I am also interested, but will take some time to dig over.

It looks like it doesn't work from inside TMUX.
Maybe this is the relevant issue? https://github.com/kovidgoyal/kitty/discussions/6017

@ovidius72 You might need socket control, see the readme on my fork.

@ejconlon  Used you fork with the suggested kitty configuration and it just work.
Thank you very much :-)


MODE-2549 Adds PDF sequencer

New pull request against the master branch.
First review was done here:
https://github.com/ModeShape/modeshape/pull/1499

this looks good to me with some minor comments
@rhauch ?

@hchiorean, this looks good to me as long as the above issues are addressed.


data-added

Issue

Description

Checklist

[ ] Added contributor object in ascending order in contributors.json
[ ] Github action build passing
[ ] No merge conflicts

There are issues here @bolajiscott Please re-open when you fix the issues


[firebase_auth] Enable passwordless sign in

This PR adds the missing code to interface with the native APIs to send and handle email links.
This consists of the following Dart methods:

Future<dynamic> sendLinkToEmail({   @required String email,   @required String url,   @required bool handleCodeInApp,   @required String iOSBundleID,   @required String androidPackageName,   @required bool androidInstallIfNotAvailable,   @required String androidMinimumVersion,   String dynamicLinkDomain })
Future<bool> isSignInWithEmailLink({String link})
Future<FirebaseUser> signInWithEmailAndLink({String email, String link})

This is enough to tap into the underlying iOS and Android APIs from Firebase Auth.
Done as part of this PR

[x] Add plugin code to call native iOS FirebaseAuth APIs
[x] Add plugin code to call native Android FirebaseAuth APIs
[x] Expose APIs to Flutter via platform channels

I propose that this PR is merged so that client apps have access to the required native APIs.
Future work
Additional native code is needed to handle the incoming dynamic links and pass these back to Flutter.
I have implemented a demo app that shows a full email link activation flow here:
https://github.com/bizz84/passwordless_sign_in_firebase_flutter
However, client apps should not need to write additional native code to get this sign-in flow working.
Hence, I propose either of the following:

A new PR is created to provide all required native code and integrate it into firebase_auth, or
A separate Flutter plugin is created. This would not need to be an official plugin.

@mklim @cyanglaz anyone could please review and merge?
Many Thanks.

Thanks for the contribution! I don't think I have enough context in the plugin to really review this. Added @kroikie and @collinjackson.

Hi @bizz84
Thank you for the contribution!
Is receiving a dynamic link the only native code that a user would have to include? There is already an official firebase_dynamic_links plugin that can probably handle that portion for you.
Also,
As we currently don't have a harness for testing the platform side of plugins, current and new features are not properly covered by tests. In order to maintain a quality bar for flutter/plugins we are going to avoid adding new features that aren't critical until they can be properly tested.
The test harness work is tracked in flutter/flutter#10824 and flutter/flutter#26080, your feedback on the testing work will be really appreciated (will it properly support the testing needs of this PR?) some design details should be available on flutter/flutter#10824 soon(contributions to that effort are welcomed!).

Hi @bparrishMines,
Thank you for pointing me at the firebase_dynamic_links plugin.
I have tried to integrate this plugin in my code, and I believe the functionality offered is not sufficient in my use case.
The plugin can be used to retrieve a deep link url if the app was started from a dynamic link.
However, I also need to detect if dynamic links that are opened while the app is running. This is the most common use case with passwordless sign-in as the user goes from the app to the email client and back to the (still running) app.
My own implementation supports this by with a stream-based API on the Flutter side, so that I can handle each dynamic link as an event.
The current API for firebase_dynamic_links is future-based only.
It would be great if firebase_dynamic_links could support this use case with a stream-based API.
Could you suggest what would be the best way forward on this? I assume a PR to the plugins repo would be the way to go?
The platform code for firebase_dynamic_links is not straightforward to me. Perhaps someone from the team could help out?

Regarding your comments about flutter/flutter#10824, I agree that some testing for this would be appropriate.
I feel that end-to-end testing would be very valuable as a way of assuring that the entire flow works. At the same time, passwordless sign-in is a use case that requires project-level configuration on Firebase, and I'm not sure how this could be brought into a test harness.
Perhaps this can be explored in more detail once we have a candidate PR for firebase_dynamic_links?

@bizz84 The uni_links plugin exposes a stream. Guess this could be used here.

I am not quite able to easily grasp the progress of this pull request. As this seems like a quite mandatory feature for Firebase Authentication, is there any way to get this pull request to work currently?

Should probably be done with EmailAuthCredential instead.

@bizz84 I was able to receive dynamic links even while the app was already open. I did this by using the WidgetsBindingObserver. I added an example to this PR.
The reason we wouldn't go with a stream is because receiving links on android doesn't use one. You just call getDynamicLink(). We simulate the same functionality on iOS.
We try to have the dart API match the Android and iOS APIs despite plugins being asynchronous.

@bparrishMines I agree with your implementation. I have tested this with dynamic links and widgets binding on another project and it works well.
As a bonus, with this approach a Flutter-only solution can be implemented without any host code.
I think with the latest changes we should be able to merge this.

@creativecreatorormaybenot the standard email & password auth call doesn't use EmailAuthCredential, so if we're not changing that I feel we shouldn't need to change this?

@bparrishMines publishable step failed. Plugin code doesn't require firebase_dynamic_links, but the example code does:
./script/check_publish.sh
Checking for changed packages from 5fba4906250082c0ec89ade148bdadcaf3144ca3
Detected changes in the following 1 package(s):
firebase_auth

Checking that firebase_auth can be published.
Suggestions:
* line 5, column 1 of example/lib/signin_page.dart: This package doesn't depend on firebase_dynamic_links.
    ╷
  5 │ import 'package:firebase_dynamic_links/firebase_dynamic_links.dart';
    │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ╵

@bizz84 It does do so:
JavaScript, credential for link: https://firebase.google.com/docs/reference/js/firebase.auth.EmailAuthProvider.html#credentialwithlink
Android: https://firebase.google.com/docs/reference/android/com/google/firebase/auth/EmailAuthProvider.html#getCredentialWithLink(java.lang.String, java.lang.String)
iOS: https://firebase.google.com/docs/reference/swift/firebaseauth/api/reference/Classes/EmailAuthProvider#/c:objc(cs)FIREmailAuthProvider(cm)credentialWithEmail:link:
This should not be too hard to implement.

@creativecreatorormaybenot You're right. It does.
The current implementation defines this EmailAuthProvider class:
class EmailAuthProvider {
  static const String providerId = 'password';

  static AuthCredential getCredential({
    String email,
    String password,
  }) {
    return AuthCredential._(providerId, <String, String>{
      'email': email,
      'password': password,
    });
  }
}

However, this only really makes sense for email & password.
Should this be renamed to EmailPasswordAuthProvider (breaking change), and a new EmailLinkAuthProvider added? I'm not sure on the way forward.

@bizz84 As far as I understood, the link is passed as the password parameter and only an additional parameter of signInMethod is added. I think that we need to look at the SDK sources again for this.

@bparrishMines publishable step failed. Plugin code doesn't require firebase_dynamic_links, but the example code does:
./script/check_publish.sh
Checking for changed packages from 5fba4906250082c0ec89ade148bdadcaf3144ca3
Detected changes in the following 1 package(s):
firebase_auth

Checking that firebase_auth can be published.
Suggestions:
* line 5, column 1 of example/lib/signin_page.dart: This package doesn't depend on firebase_dynamic_links.
    ╷
  5 │ import 'package:firebase_dynamic_links/firebase_dynamic_links.dart';
    │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ╵

I forgot to add the dependency to the dev_dependencies: in the plugin level pubspec.yaml just added it with the last commit.

@bizz84 @creativecreatorormaybenot
From my understanding of the email and link flow, this PR deals with signing up a User, while EmailAuthProvider deals with Linking/re-authentication with email link.
I'm not an expert with using FirebaseAuth, but here is the documentation provided by the Firebase console when using email authentication; Android & iOS.
Both implementations seem to be needed.
In a separate PR we would probably just add another static method link the Android API.
class EmailAuthProvider {
  static const String providerId = 'password';

  static AuthCredential getCredential({
    String email,
    String password,
  }) {
    return AuthCredential._(providerId, <String, String>{
      'email': email,
      'password': password,
    });
  }

  static AuthCredential getCredentialWithLink({
    String email,
    String link,
  }) {
    return AuthCredential._(providerId, <String, String>{
      'email': email,
      'link': link,
    });
  }
}

We do need a unit test, though.

After some debate I renamed the API sendSignInWithEmailLink to match Android. It's a bit more verbose but matches Android and anyone using it is going to be split onto multiple lines anyway. Feedback welcome.
@bparrishMines can you take a quick look at the tests I added and let me know if you agree that this change is ready to merge?

@collinjackson Now, we are definitely missing the AuthProvider. It was updated to be the common way of signing in and linking and with the current way we only have an unneeded method signInWithEmailAndLink because that could be done using the credential and also no way to link.
We could obviously keep that method, however, I just think that the credentials are much nicer.
Anyway, we probably need a way to link. either like this or using a credential. I could definitely help to quickly implement that.

Thanks, @creativecreatorormaybenot.
Can you please update this PR to include an implementation of linking using a credential? I think we can keep the signInWithEmailAndLink but I don't feel strongly about it.

@collinjackson I am not exactly sure how to achieve it because it seems like the action code has to be extracted using Dynamic Links: https://github.com/firebase/firebase-js-sdk/blob/master/packages/auth/src/authcredential.js#L977

@creativecreatorormaybenot if I go ahead and merge this PR and are you willing to add linkWithEmailAndLink in a follow-on PR?

Here is the iOS source for dynamic links and messaging if it's useful:
https://github.com/firebase/firebase-ios-sdk/tree/master/Firebase/Messaging
https://github.com/firebase/firebase-ios-sdk/tree/master/Firebase/DynamicLinks

@collinjackson Sure. However, I will just do it without the credential for now.
Started with something


It should be possible to set the presenter type per project

Just add a field to the project info and allow for it to be updated via the project settings admin interface.

Remember to remove the per-collection setting

Dropping this one - presenter types will be set per microsite


merge package from Kronos-Tools/npm-package-template-minimal

package.json

chore(package<EMAIL_ADDRESS>chore(package): add module from template

Codecov Report

Merging #270 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #270   +/-   ##
=======================================
  Coverage   20.62%   20.62%
=======================================
  Files           8        8
  Lines         514      514
  Branches      168      168
=======================================
  Hits          106      106
  Misses        408      408

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 e45634f...c0739a6. Read the comment docs.

Coverage remained the same at 14.543% when pulling c0739a63691ab341ca80693b7aa9f8a6ac9d2ad8 on template-sync-1 into e45634fd22473a7254116bd31252f9b853490ec4 on master.


[en] fix schema comemnt for health-checks doc

/lgtm

Thanks @chenrui333
/approve

Thanks.
/lgtm


[BUG-1402] Return HTTP 409 on version confict when creating & updating tenants - added relevant unit test

Description
Added new TenantsActionApiTest file to put api unit tests for the /api/tenants api call- additionally wrote new unit test to test for parallel PUT /tenant/{name} calls, that they successfully return a 409 call and retry the call.

Category (Enhancement, New feature, Bug fix, Test fix, Refactoring, Maintenance, Documentation)
Test fix

Why these changes are required?
There was no test that checked for the behavior mentioned in the linked ticket, so previously we didn't know if the issue still existed or not (it apparently was fixed before), to make sure this doesn't happen again for this particular case, I decided to write a concrete test for it.

What is the old behavior before changes and new behavior after changes?
Test was added, there's no behavior change?

Issues Resolved

#1402 - added unit test to cover bug in this issue

Testing
Added new tenant action unit test to test parallel tenant api calls.
Check List

[x] New functionality includes testing
[x] New functionality has been documented
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@cwperks This PR was created to address the comment you left under #1402

@prabhask5 Thanks for the contribution of the test - much appreciated! I've left feedback please address and let me know and I'll take another look.

@peternied Alright I refactored the added test to test only two parallel requests and I'm getting a consistent one 409 and one 201 codes, which should be good. The only thing that changes from test run to test run is which request is the "conflict" one, but I think I account for this when checking the description with the get request. Let me know if you need me to make any other changes! TY!

Async tests are on my mind today, see this PR [1] for an example of how I've implemented async tests + validation.  Those utilities might be useful, feel free to merge my branch onto this change if it helps your development.

[1] https://github.com/opensearch-project/security/pull/3601

I restructured the test using streams and the AsyncActions.java file from #3601 - let me know of other changes, ty!

We can wait until #3601 merge to ensure any conflicts are resolved.

@prabhask5 please take a look at the test failures, I'm going to hold off on another review until those are passing. Please let us know if you need help with an issue.

@prabhask5 if you are not ready to continue work on this PR, we can go ahead and close it, and re-open at a later time. Please let us know!

@prabhask5 please take a look at the test failures, I'm going to hold off on another review until those are passing. Please let us know if you need help with an issue.

@peternied The errors that I was getting in the test were related to java not being able to find import org.opensearch.test.framework.AsyncActions; when it does exist (which is used in your PR as well), I merged main into this PR to try to solve this error, but if it does not fix it, do you have any fixes going forward?

@prabhask5 Checkout this guide [1] on rebasing it might help you get unblocked.

[1] https://akrabat.com/the-beginners-guide-to-rebasing-your-pr/

@peternied I think I rebased so feel free to unblock the tests. TY!

I'm going to make a new PR to see if that fixes things.

@prabhask5 Could you link the new PR?

@prabhask5 Could you link the new PR?

Here: #3673


Add information about the configuration files to the install docs

Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

LGTM

LGTM

@rh-atomic-bot r+


Fix #2418 Firefox old version compatibility

Old versions of FF doesn't accept accessing the computed style via the max-width and max-height CSS notations using brackets, in which case the returned value is undefined. Changed the constraint methods to use maxWidth and mawHeight instead and make sure to test valid values.

+1 to merge

Coverage remained the same at 75.461% when pulling 08de9faf103d6b490dc87e6c436a8d5cb8ae00dc on simonbrunel:fix/2418 into 6a70f96d122e9f4a472f7311a215351dc6619ce4 on chartjs:master.


Add more unit tests on api/client/ps package

Add some unit tests on api/client/ps 🐙. I've reorganized a little bit the code : moved customFormat to formatter.go as it seems the right place.
# before
+ go test -test.timeout=60m github.com/docker/docker/api/client/ps
PASS
coverage: 59.1% of statements
# after
+ go test -test.timeout=60m github.com/docker/docker/api/client/ps
PASS
coverage: 100.0% of statements

There is a tests that does seems weird, I'll have to take a closer look.. 🐸
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>

LGTM

LGTM


Please provide options to reduce the font size and opacity

Please provide options to reduce the font size and opacity

[v0.8.1]
To make it more generic, I've added a feature to be able to customize the css. You can set outline-map.customCSS to * {font-size: 10px !important;}


feat(core): only count successful opens

Only count v2 vs. v3 for successful.
Adds additional tests for switching priority v2 vs. v3

Added you as a collaborator @keller-mark, would you mind giving a review?


merge package from arlac77/npm-package-template

.npmignore

chore(npm): update .npmignore from template

Codecov Report

Merging #694 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #694   +/-   ##
=======================================
  Coverage   92.96%   92.96%
=======================================
  Files           7        7
  Lines        1066     1066
=======================================
  Hits          991      991
  Misses         75       75

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 eb1bb28...9def1ca. Read the comment docs.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Dynomite immediately dropping Redis connections

Am able to successfully issue commands directly to Redis, but Dynomite immediately drops connections.
[2016-07-20 09:41:23.738] _msg_get:278 allocated #msgs 0 hit max allowable limit
redis-cli
root@e3f102de7d01:/# ./redis-3.2.1/src/redis-cli -p 22122 set foo bar
OK
root@e3f102de7d01:/# ./redis-3.2.1/src/redis-cli -p 22122 get foo
"bar"
root@e3f102de7d01:/# ./redis-3.2.1/src/redis-cli -p 8102 get foo
Error: Connection reset by peer

Dynomite logs
[2016-07-20 09:41:23.736] event_wait:263 epoll 0001 triggered on conn 0x1e0d420
[2016-07-20 09:41:23.736] core_core:414 event 00FF on PROXY 10
[2016-07-20 09:41:23.736] _dn_alloc:253 malloc(88) at 0x1e0f110 @ dyn_dict.c:178
[2016-07-20 09:41:23.736] client_ref:105 ref conn 0x1e0ef30 owner 0x1e00000 into pool 'dyn_o_mite'
[2016-07-20 09:41:23.736] conn_get:322 get conn 0x1e0ef30 CLIENT
[2016-07-20 09:41:23.737] _stats_pool_incr:1579 incr field 'client_connections' to 1
[2016-07-20 09:41:23.737] event_add_conn:206 adding conn 0x1e0ef30(CLIENT) to active
[2016-07-20 09:41:23.737] proxy_accept:220 accepted CLIENT 14 on PROXY 10 from '<IP_ADDRESS>:49464'
[2016-07-20 09:41:23.737] stats_swap:1495 swap stats current 0x1e02198 shadow 0x1e021f8
[2016-07-20 09:41:23.737] core_process_messages:517 length of C2G_OutQ : 0
[2016-07-20 09:41:23.737] event_wait:263 epoll 0005 triggered on conn 0x1e0ef30
[2016-07-20 09:41:23.738] core_core:414 event FFFF on CLIENT 14
[2016-07-20 09:41:23.738] _msg_get:278 allocated #msgs 0 hit max allowable limit
[2016-07-20 09:41:23.738] core_close_log:307 close CLIENT 14 '<IP_ADDRESS>:49464' on event FFFF eof 0 done 0 rb 0 sb 0: Resource temporarily unavailable
[2016-07-20 09:41:23.738] event_del_conn:229 removing conn 0x1e0ef30(CLIENT) from active
[2016-07-20 09:41:23.738] _stats_pool_decr:1592 decr field 'client_connections' to -1
[2016-07-20 09:41:23.738] _stats_pool_incr:1579 incr field 'client_err' to 1
[2016-07-20 09:41:23.738] _dn_free:299 free(0x1e0f110) @ dyn_dict.c:491
[2016-07-20 09:41:23.738] client_unref_internal_try_put:124 unref conn 0x1e0ef30 owner 0x1e00000 from pool 'dyn_o_mite'
[2016-07-20 09:41:23.738] conn_put:379 put conn 0x1e0ef30
[2016-07-20 09:41:23.738] stats_swap:1484 skip swap of current 0x1e02198 shadow 0x1e021f8 as aggregator is busy
[2016-07-20 09:41:23.738] core_process_messages:517 length of C2G_OutQ : 0

dynomite.yaml
dyn_o_mite:
  datacenter: dc1
  rack: rack1
  dyn_listen: <IP_ADDRESS>:8101
  data_store: 0
  preconnect: false
  listen: <IP_ADDRESS>:8102
  dyn_seed_provider: simple_provider
  servers:
  - <IP_ADDRESS>:22122:1
  tokens: 437425602
  pem_key_file: /etc/dynomitedb/dynomite.pem
  recon_key_file: /etc/dynomitedb/recon_key.pem
  recon_iv_file: /etc/dynomitedb/recon_iv.pem

Going to follow up but early results with this: dynomite -M 100000 seem promising.

Great, so it worked for you, right?

@leoromanovsky since the issue has been resolved, I am closing this open issue. If you have any further questions please do not hesitate to comment on this issue or open a new one. Thanks!


To test: The use of scipy.spatial.distance.cdist will to measure proximity might miss some edge cases

To be confirmed by testing, but the use of scipy.spatial.distance.cdist may miss some edge cases:

eg [(0,0),(0,100)] vs [(1,50)]. cdist will report ~50, but I believe the intended answer is 1.
If one location is completely contained within another (eg a point in a polygon). Will report the distance from the point to the nearest vector of the polygon, but I believe the intended answer is 0.
Answer may not be stable with the generalisation of one or more polygons.
Distances that span the 180 degree meridian will be wrong.

Is there a way to do this efficiently? I've tried:
from sympy import Point, Polygon

regions_to_points = defaultdict(list)
regions_to_polygons = defaultdict(list)
for region in regions:
    if (region.coordinates is not None):
        for part in region.coordinates:
            points = tuple([Point(p) for p in part[0]])
            poly = Polygon(*points)
            regions_to_polygons[region].append(poly)
            regions_to_points[region] += [Point(p) for p in part[0]]

adjacency_matrix = np.zeros((num_of_regions, num_of_regions), dtype=np.int64)
for region in regions:
    for other_region in regions:
        if (region.coordinates is not None) and (other_region.coordinates is not None):
            dist =<PHONE_NUMBER>
            points = regions_to_points[region]
            polygons = regions_to_polygons[other_region]
            for point in points:
                for polygon in polygons:
                    shortestdist = polygon.distance(point)
                    if shortestdist < dist:
                        dist = shortestdist
            if dist < distance_threshold:
                adjacency_matrix[region.id][other_region.id] = 1

however this is very slow and doesn't solve the issue of the 180 degree meridian. Is there another way of doing this? Or will scipy.spatial.distance.cdist suffice? I would guess that those edge cases are quite rare, in practice

Look at geopandas for existing methods for this?


Unable to curl Google Chat webhook for docker image version 8.4.0

Received error when curl to chat.googleapis.com. It works for docker image version 8.3.0
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (7) Failed to connect to chat.googleapis.com port 443 after 26 ms: Couldn't connect to server
time="2023-10-13T01:04:23.000Z" level=info msg="sub-process exited" argo=true error="<nil>"
Error: exit status 7

This is more likely a problem in the environment than in curl. What command are
you running to get that? This connects fine for me in both versions:
$ docker run --rm curlimages/curl:8.4.0 curl https://chat.googleapis.com
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100    38    0    38    0     0    231      0 --:--:-- --:--:-- --:--:--   233
Not Found
Error 404
$ docker run --rm curlimages/curl:8.3.0 curl https://chat.googleapis.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    38    0    38    0     0    276      0 --:--:-- --:--:-- --:--:--   279
Not Found
Error 404

I'm running as a container in k8s pod. This is the hash for the image it pulls with latest tag
container:
  image: curlimages/curl:latest
  imageID: >-
    docker-pullable://curlimages/curl@sha256:4a3396ae573c44932d06ba33f8696db4429c419da87cbdc82965ee96a37dd0af
  command:
    - sh
    - '-c'
  args:
    - >-
      curl -H 'Content-Type: application/json' -X POST
      '{{inputs.parameters.webhook}}' -d '{"text":
      "{{inputs.parameters.message}}"}'

I

And does that exact same configuration fail if "latest" is replaced with
"8.3.0"? That sounds very strange, since the error message points to a network
issue, not an application issue.

no, the same configuration can work when I specify image tag 8.3.0.

I'm struggling to think of a reason 8.4.0 isn't working in that case when no-one else has reported a problem with the Docker image. Are the two versions using the same IP addresses? Try using the -v option to log the IP address and compare them. There were some Happy Eyeballs changes in this version, so maybe it's using IPv6 now and failing or something.

it would be useful if we can confirm this is a problem with curl rather then something specific to the curl container itself.

Perhaps this issue is coming from my environment setup. I can't reproduce this issue when running in a fresh environment. Thanks for helping.