Incorrect usage of winrt::Waiter in generated impls for IAsync{Action,Operation}{WithProgress,} interfaces

Looking at the macro for generating .get() for the IAsync{Action,Operation}{WithProgress,} interfaces, we can see that we use the winrt::Waker struct to wait for completion to occur before getting the result.  However, instead of waiting for the unnamed Event created by winrt::Waiter via the impl of the Drop trait, the waiter actually moves it to the completion closure, making the waiting to occur in the completion handler instead of the thread that created the waiter itself, which leads to a call to .get_results() before completion occurs!
pub fn get(&self) -> ::winrt::Result<#return_type> {
    if self.status()? == ::winrt::foundation::AsyncStatus::Started {
        let waiter = ::winrt::Waiter::new();
        self.set_completed(::winrt::foundation:: #handler::new(move |_sender, _args| { // <--- waiter moved here!
             waiter.signal();
             Ok(())
             // ... and waiter gets Drop-ed here, where there is no point in the WaitForSingleObject!
        }))?;
        // If the below code was uncommented to show the intended code, it would error out
        // due to the `move` above.  The `move` is required to satisfy lifetime constraints pertaining
        // to the use of `waiter` in the completion handler before this scope is exited. Rust doesn't know
        // that we are waiting for the handler to fire first, so it assumes that it is possible to exit the
        // scope first and leave a dangling reference!

       // drop(waiter) < --- will error out
    }
    self.get_results()
}

As a workaround, I made this function and called it instead using the generated .get() method (temporarily):
fn wait_complete<T: ::winrt::RuntimeType, R: ::winrt::RuntimeType>(op: windows::foundation::IAsyncOperationWithProgress<T, R>) -> ::winrt::Result<T> {
    if op.status()? == ::winrt::foundation::AsyncStatus::Started {
        let (sender,recver) = std::sync::mpsc::sync_channel(1);
        op.set_completed(::winrt::foundation::AsyncOperationWithProgressCompletedHandler::new(move |_sender, _args| {
            sender.send(());
            Ok(())
        }))?;
        recver.recv().unwrap();
    }
    op.get_results()
}

The solution would be similar to the use of channels as above, by splitting Waiter into 2: a Waiter and Signaller. Example code is as below, based on the existing Waiter code (please note that this is untested and I am running on adrenaline 🐵):
use crate::*;

/// A simple blocking waiter used by the generated bindings and should not generally be used directly.
pub struct Waiter(RawPtr);
pub struct Signaller(RawPtr);

impl Waiter {
    pub fn new() -> (Waiter, Signaller) {
        unsafe {
            let ev = CreateEventW(
                std::ptr::null_mut(),
                1,
                0,
                std::ptr::null_mut(),
            );
            (Waiter(ev), Signaller(ev))
        }
    }
}

impl Signaller {
    pub fn signal(&self) {
        unsafe {
            SetEvent(self.0);
        }
    }
}

impl Drop for Waiter {
    fn drop(&mut self) {
        unsafe {
            WaitForSingleObject(self.0, 0xFFFFFFFF);
            CloseHandle(self.0);
        }
    }
}

#[link(name = "kernel32")]
extern "system" {
    fn CreateEventW(security: RawPtr, manual: i32, state: i32, name: RawPtr) -> RawPtr;
    fn SetEvent(handle: RawPtr) -> i32;
    fn WaitForSingleObject(handle: RawPtr, milliseconds: u32) -> u32;
    fn CloseHandle(handle: RawPtr) -> i32;
}

Code generated from gen_async_kind will have to be modified as such:
pub fn get(&self) -> ::winrt::Result<#return_type> {
    if self.status()? == ::winrt::foundation::AsyncStatus::Started {
        let (waiter, signaller) = ::winrt::Waiter::new();
        self.set_completed(::winrt::foundation:: #handler::new(move |_sender, _args| {
            signaller.signal();
            Ok(())
        }))?;
        // waiter gets dropped here, which means it waits for singaller to `.signal()`
    }
    self.get_results()
}

Good catch - and thanks for sharing a great repro! I assumed the closure would capture a reference as it does in C++ and that the waiter would still be dropped in the outer function.

Here's a fix: https://github.com/microsoft/winrt-rs/pull/374
It's basically what you suggested - just making it explicit that it is unsafe. Ideally we could use WaitOnAddress as @smj389 suggested. Maybe one day soon...


Add ENGINE_REGISTRY_MIRROR env var support.

#3025 - $ENGINE_REGISTRY_MIRROR environment variable?
Signed-off-by: David Kirk<EMAIL_ADDRESS>

It looks like my pull request is failing the build/tests because of a change I made to /docs/reference/create.md and I have no idea why :-/
What am I missing here?

It could be a markdown linting related error, or just the docs buils, who goes kaboom more often that we would admit.
retest this please

test this please

Sounds like the build failed again, even after a trigger.
I'll investigate if this is a markdown lint error.

@SvenDowideit the docs build is failing, can you help us pinpoint the issue ?
It's not a markdown linting, and re-triggering the build does not help.

test this please

test this please

LGTM

docs were failing due to the docker/tutorials repo going private - a rebase after fixing that should have resolved it.


[docs] Version is 0.0.0

It shows up in the titles of all pages @ RTD and is hardcoded here: https://github.com/life4/flakehell/blob/e32c611/docs/conf.py#L36-L37.
It shouldn't be hard to import the version from __init__.

We're using one-version docs that means the version can't be chosen anywhere or appears in URLs. That it is shown in the title is bad. Let's keep it open, I'm going to add in dephell project bump support for sphinx config.

@orsinium maybe add version = 'rolling' or version = 'master' in conf.py with an appropriate comment then?

Fixed in #58
https://github.com/dephell/dephell/pull/407
Thank you for attention to the details :)


Remove jQuery usage

With the addition of ember-optional-features in Ember 3.4, you can now opt out of using jQuery – this PR aims to remove the dependency for those users!

Not sure why these tests are failing, seeing the same issue in another PR's build:
https://travis-ci.org/poteto/ember-metrics/builds/429595502
Unexpected token {

LGTM. Thanks for this!


Replace hardcoded '/opt' in project_path in spark job with PROJECT_HOME env

In Spark jobs, init script already sets PROJECT_HOME variable.
Line:
https://github.com/getindata/kedro-airflow-k8s/blob/83e7473c9825724b17571cd13b7ad53925e6e9f6/kedro_airflow_k8s/airflow_spark_task_template.j2#L9
should be replaced  with something like this: project_path = os.getenv('PROJECT_HOME','/opt/{{ project_name }}')
In some cases, I need to use different path for project. Thanks to that change, I could use spark.yarn.appMasterEnv.PROJECT_HOME in operator factory to change default /opt path.

@lmaczulajtys would you mind submitting a PR for that one? Something like project_path = os.getenv('PROJECT_HOME','/opt/{{ project_name }}') I'd approve right away.


Update nodejs version 12 in Jenkinsfile to something more recent as version 12 will soon be EOL

suggested nodejs: nodejs-lts or nodejs-16.14.2
Resources: https://nodejs.org/en/about/releases/

Closing as we no longer support JS implementation


[bug] <rh-accordion>  lightdom css margin/padding wont apply

Because <rh-accordion> shadowRoot  #container is display: contents, setting a margin or padding on this element won't apply when trying to provide spacing between elements for page content flow.  I suggest adding a display: block to the :host in shadow CSS.
Attached is an image of the accordion and header element with no spacing.  In order to provide spacing here it would be preferable to do a combo selector between a header and a sibling accordion:

Somewhat related to @bennypowers discussion on table accordion , or  is at least is what brought me to think about the spacing between the header/accordion on the element code pages.

Related to #1602

I believe this was resolved. Please open a new issue if that's not the case


pip on Debian 6 doesn't support version argument

The custom pip_version.rb fact fails on Debian 6 with "Error: Facter: error while resolving custom fact "pip_version": undefined method `[]' for nil:NilClass" when python-pip package is installed (version 0.7.2-1). This is because this version on pip doesn't support the --version argument.

Similarly on Ubuntu 16.04 which has python version 2.7.11+, yes PLUS (apparently its that awesome), we get the same undefined method error.
It looks as if the regex to pull out the version does not handle the trailing information.  One way it could be fixed is to remove the end of line anchor or if we want the plus adjust the regex to pull that in
I think I like option one.. no plus.

Well, the plus is there in that case to indicate it's a version after 2.7.11 pulled from upstream's version control. So it does have some sort of meaning.
But, more generally, perhaps all of this family of facts should do something more helpful than an internal ruby error, if the output doesn't match a regexp?


About parameter bbox_embed_diff_each_layer in DABDETR.py.

model/DAB_DETR/DABDETR.py line 85 should be
"bbox_embed_diff_each_layer: dont share weights of prediction heads. Default for False.(shared weights.)"
rather than the origin  "Default for True".  So it consistent with line 72.
Am I right?

Thanks for your question. You are right and it is a typo in our codes.


Merge upstream master into 0.6.19

See branch 0.8.13

Hi @cdmdotnet , hope you are well.   Any update on this merge?  I am looking to use some of your code as you know, but I also now need OAUTH.  Do you have an ETA?
Thanks
Lake

Sorry about the delay. Missed the notification of your PR. Reviewing today.

We've reviewed all the upstream code and hit an issue. All the serialisation code was removed and now none of the upstream API code actually works. It's really quite disappointing. Addressing the serialisation is looking like an effort to either understand where the original code was heading, or restore the original serialisation code and move forward.
If OAuth is what you're really looking for, I can isolate that out and do an interim merge adding OAuth.

Hi @cdmdotnet thanks for the update.  Just wondering if we should have a chat to discuss, so you have any channels I can reach you to arrange?
It would be good to understand the issues you are seeing with the API logic.

I've just pushed up the code. It's in branch 0.8.13. It compiles, however most methods return objects with no properties or values. The 0.6.x branches have a few blocks of code to handle the seralisation methodology HubSpot operates. It probably isn't hard to bring it over, but understanding why their removed it and what their intention was from code alone is difficult but also important.
I'll have a look at my calendar and see where I have time for a zoom call. What timezone are you in? I'm currently in NZ.

That time should work. I have either my Monday (your Sunday) or my Tuesday (your Monday) next week if either of those work.

Tuesday NZ (Monday UK) @ 21:00 should work.  It will give me some time to do test testing/investigation.  If I ping an email to your company info email address will you be pick that up?

Email sent.  Speak soon.

Upstream is being abandoned as it is not in a stable condition.
The dependency on Flurl has been removed and OAuth supported added to branch 1.0. This should be released soon.
Our other collaboration is still on going, but upstream is not going to be used.


wrong url: platform_rogue in Main Page

@LucasHT22 What is the wrong link? And where is it exactly?

it's a small error: it's https://editor.sprig.hackclub.com/?file=https://raw.githubusercontent.com/hackclub/sprig/main/games/platform_rogue.js not
https://editor.sprig.hackclub.com/?file=https://raw.githubusercontent.com/hackclub/sprig/main/games/playform_rogue.js (platform not playform)


Is there available class for wiggle effect same as in button

I want to have click effect on avatar same with the effect in button is there any class available

@rosnaib11 no, but you can add btn btn-circle btn-ghost or btn btn-circle btn-link classes to an avatar element. It will be rounded and transparent with a button animation.
Please let me know if you have any questions


[Tracking Issue] Pass command line interfaces tests

This issue is for tracking PR to pass the command line integration test.
If you are interested, you can comment on this issue and I will assign it to you. This issue is for tracking PR to pass the command line integration test. Some of them may already pass the tests.

[ ] create(assigned @0xdco)
https://github.com/opencontainers/runtime-tools/tree/master/validation/create
[ ] kill
https://github.com/opencontainers/runtime-tools/tree/master/validation/kill
[ ] delete
https://github.com/opencontainers/runtime-tools/tree/master/validation/delete
[ ] start(assigned @TinySong)
https://github.com/opencontainers/runtime-tools/tree/master/validation/start
[ ] state
https://github.com/opencontainers/runtime-tools/tree/master/validation/state

Goal
Each of them will be targeted to pass integration tests. If possible, it is good to have unit tests as well.
It would be helpful to have a look at the GitHub Actions file to see how to run the integration tests.

@utam0k, I'll take create.

@utam0k all the tasks described (except create) link to https://github.com/opencontainers/runtime-tools/tree/master/validation/kill

@0xdco Sure, I assigned it to you.

@utam0k, I'll take create.

Ops, I fixed them. Thanks for pointing that out!

@utam0k all the tasks described (except create) link to https://github.com/opencontainers/runtime-tools/tree/master/validation/kill

NP! I was actually checking the issues out to see if there was something I could maybe help out with but it seems to me that working on things like this without Linux is not the way to go.

Thanks for your interest. You can develop by using the devcontainer.
However, I haven't used it recently, so it may take a while to build if it's not well maintained.  If you want, you can challenge it.

NP! I was actually checking the issues out to see if there was something I could maybe help out with but it seems to me that working on things like this without Linux is not the way to go.

@utam0k i would like take start, may be will take some time to fix this

@TinySong Thanks for your interest. I assigned start to you. I'm looking forward to your PR :)

@utam0k I would like to have a try on delete if you don't mind. And it seems that state and kill already pass the test.

@utam0k
there have some problem and don't know how to deal with
according to GitHub Actions file , we use integration_test.sh to integrate test， the script just run runtime-tools to command-line test. but according to the status of the project https://github.com/opencontainers/runtime-tools, the project looks like it hasn't been maintained for a long time， is it necessary to use runtime-tools as youki runtime standard.
for example:
when run start  integration test，always failed. After read deeply the runtime-tools code, the line setting process=nil, the create always failed, just return, cannot execute next step, then start cannot pass the integration test
the integration test log:
sudo RUST_BACKTRACE=1 YOUKI_LOG_LEVEL=debug RUNTIME=/home/ubuntu/development/rust/youki/target/x86_64-unknown-linux-gnu/debug/youki ./validation/start/start.t
TAP version 13
/tmp/ocitest062540744/config.json
/home/ubuntu/development/rust/youki/target/x86_64-unknown-linux-gnu/debug/youki start
ok 1 - start` operation MUST generate an error if it is not provided the container ID
  ---
  {
    "error": "exit status 2",
    "reference": "https://github.com/opencontainers/runtime-spec/blob/v1.0.2-dev/runtime.md#start",
    "stderr": "error: The following required arguments were not provided:\n    \u003ccontainer-id\u003e\n\nUSAGE:\n    youki start \u003ccontainer-id\u003e\n\nFor more information try --help\n"
  }
  ...
/home/ubuntu/development/rust/youki/target/x86_64-unknown-linux-gnu/debug/youki start 0cfaf3a8-94c8-4878-83a0-20eee16388b0
ok 2 - attempting to `start` a container that is not `created` MUST generate an error
  ---
  {
    "error": "exit status 1",
    "reference": "https://github.com/opencontainers/runtime-spec/blob/v1.0.2-dev/runtime.md#start",
    "stderr": "Error: 0cfaf3a8-94c8-4878-83a0-20eee16388b0 doesn't exists.\n"
  }
  ...
/home/ubuntu/development/rust/youki/target/x86_64-unknown-linux-gnu/debug/youki create --bundle /tmp/ocitest062540744 0cfaf3a8-94c8-4878-83a0-20eee16388b0
ok 3 - `process.args` MUST NOT be applied until triggered by the start operation
  ---
  {
    "error": "stat /tmp/ocitest062540744/output: no such file or directory",
    "reference": "https://github.com/opencontainers/runtime-spec/blob/v1.0.2-dev/runtime.md#create"
  }
  ...
/home/ubuntu/development/rust/youki/target/x86_64-unknown-linux-gnu/debug/youki start 0cfaf3a8-94c8-4878-83a0-20eee16388b0
ok 4 - `start` operation MUST run the user-specified program as specified by `process`
  ---
  {
    "reference": "https://github.com/opencontainers/runtime-spec/blob/v1.0.2-dev/runtime.md#start"
  }
  ...
/home/ubuntu/development/rust/youki/target/x86_64-unknown-linux-gnu/debug/youki start 0cfaf3a8-94c8-4878-83a0-20eee16388b0
ok 5 - attempting to `start` a container that is not `created` MUST generate an error
  ---
  {
    "error": "exit status 1",
    "reference": "https://github.com/opencontainers/runtime-spec/blob/v1.0.2-dev/runtime.md#start",
    "stderr": "[ERROR src/start.rs:28] 2021-06-10T16:35:51.774650795+08:00 0cfaf3a8-94c8-4878-83a0-20eee16388b0 counld not be started because it was Stopped\r\nError: 0cfaf3a8-94c8-4878-83a0-20eee16388b0 counld not be started because it was Stopped\n"
  }
  ...
ok 6 - attempting to `start` a container that is not `created` MUST have no effect on the container
  ---
  {
    "reference": "https://github.com/opencontainers/runtime-spec/blob/v1.0.2-dev/runtime.md#start"
  }
  ...
 # the below is debug log
/home/ubuntu/development/rust/youki/target/x86_64-unknown-linux-gnu/debug/youki create --bundle /tmp/ocitest062540744 0cfaf3a8-94c8-4878-83a0-20eee16388b0
# create function exit
create failed exit status 1
not ok 7 - exit status 1

@duduainankai
It seems  like that above all command-line can pass except start
can test by this command:
sudo RUST_BACKTRACE=1 YOUKI_LOG_LEVEL=debug RUNTIME=/home/ubuntu/development/rust/youki/target/x86_64-unknown-linux-gnu/debug/youki ./validation/create/create.t

@TinySong runtime-tools is certainly not very active in maintenance.
So I'm thinking of creating an originan integration test.
However, this will take quite some time to complete. So until then, I will use runtime-tools.
https://github.com/containers/youki/issues/56
If the tests that are failing still fail when using runc, then give up on this test case.

@utam0k I would like to have a try on delete if you don't mind. And it seems that state and kill already pass the test.

Sure! I assigned you it. For kill and state, can I ask you to give me a PR just to add the test cases?

@TinySong runtime-tools is certainly not very active in maintenance.
So I'm thinking of creating an originan integration test.
However, this will take quite some time to complete. So until then, I will use runtime-tools.
#56
If the tests that are failing still fail when using runc, then give up on this test case.

@utam0k Yeah,I think we can give up the ‘start’ integration test case , testing runc throw out  the same error.

@utam0k I would like to have a try on delete if you don't mind. And it seems that state and kill already pass the test.

Sure! I assigned you it. For kill and state, can I ask you to give me a PR just to add the test cases?

Sure.
And I think @TinySong is right, all test cases except start pass the test already.
I think we may add them all.

@TinySong Thanks for checking the runc case. hmm... Since I have no choice, can I ask you to write down in integration_test.sh that the test does not pass even with runc?

@utam0k Yeah,I think we can give up the ‘start’ integration test case , testing runc throw out the same error.

@utam0k I would like to have a try on delete if you don't mind. And it seems that state and kill already pass the test.

Sure! I assigned you it. For kill and state, can I ask you to give me a PR just to add the test cases?

Sure.
And I think @TinySong is right, all test cases except start pass the test already.
I think we may add them all.

Thank you for your research. Now, I would like to close this issue by stating that only start does not pass the test.


Add exact lookup type for dictionarySearch

For my purposes, I needed a more exact lookup functionality.
For example:
console.log(hanzi.dictionarySearch('小孩', 'only')) gave

console.log(hanzi.dictionarySearch('小孩')) gave

But now this console.log(hanzi.dictionarySearch('小孩', 'exact')) gives

Codecov Report

Merging #60 into master will increase coverage by 0.04%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #60      +/-   ##
==========================================
+ Coverage   87.77%   87.81%   +0.04%
==========================================
  Files          15       15
  Lines         548      550       +2
  Branches       91       92       +1
==========================================
+ Hits          481      483       +2
  Misses         55       55
  Partials       12       12

Impacted Files
Coverage Δ

lib/dictionary.js
88.06% <100%> (+0.07%)
:arrow_up:

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 8b80e6d...234d8b1. Read the comment docs.


add decimals to pool calls

fixes #1390
For pool tokens i hardcoded 18, no need to bother with it.

I don't get it. I cleared everything locally, reinstalled, it's always building ok.

I can replicate the build error locally after checking out this PRs branch:

nvm use
npm i
npm run build

Not sure what's going on though, maybe some build tool changed over on ocean.js between the versions?

So I would assume Next.js tries to use ./dist/lib.modern.js as we instruct it to do in package.json, but there's now only ./dist/lib.modern.mjs over in ocean.js:

good catch... the wonders of minor changes

Not sure this works though, just wanted to test quick fix first. But locally I now get new import errors during build process which might require more tweaks in ocean.js. If in doubt, we can always downgrade microbundle for now but should be last resort

no dice

I think the problem is still web3 and its deps

nope, it's all js ecosystem transitioning to ESM stuff. Came very close to solution in combination of ocean.js & market locally but would now have to use Node.js 17.5+ (which our deployment tools don't support) or run all our scripts with --experimental-json-modules to move forward. So locking microbundle in ocean.js to earlier version now seems like most feasible solution

think I got it for the remove screen, some issue with that useRef/debounce not having access to outside state variables for whatever reason, so just passing them all as a fix. Needs more testing

Looks good

I notice that "Your Liquidity" is not working. It stays always at 0.
https://user-images.githubusercontent.com/13741335/167401904-6ce55d41-3577-4174-b504-69c6d65aa804.mp4
In v4 is fine

Minor fix - not really related but nice to have:
when you clear the input field, this label should indicate the min amount required, not the maximun as now (Must have maximum 6 decimal digits)

I got some errors when accessing data sets  with fixed price:

looking into it

hope for the best :)


update minikube and run E2E in kubernetes 1.15

Update minikube version to v1.2.0
Enable Travis to run E2E against Kube 1.15.0
Remove Travis.yml from skip doc check  checking

Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>

@humblec @ShyamsundarR any comments on this one?


loss don't go down when finetune and about requires_grad option in backward()

I tried finetuning with SS-Youtube dataset on examples/finetune_youtube_last. but There are some minor errors in there :(...
First. The loss are not decrease well about each epochs when finetune using SS-Youtube. I tried training as setting original val loss 0.01, but Each epochs loss almost same
1 Epoch val acc 62.54 val loss 0.67718
2 Epoch val acc 62.54 val loss 0.67718
3 Epoch val acc 62.54 val loss 0.67718
...

Second. In finetune.py, There is error element 0 of tensors does not require grad and does not have a grad_fn if i not include loss = Variable(loss, requires_grad=True) in code.

Same thing

I just started to use Torchmoji and had the same problem.
I tried adding loss = Variable(loss, requires_grad=True) like OP but the loss doesn't improve. Then I looked into the root of the problem why the element 0 of tensors does not require grad and does not have a grad_fn error appears. Since Variable has long been deprecated, I noticed in model_def line 249-250 (if return_tensor: outputs = outputs.data), I removed those lines of code then the loss starts improving when I finetuned the model.

I just started to use Torchmoji and had the same problem.
I tried adding loss = Variable(loss, requires_grad=True) like OP but the loss doesn't improve. Then I looked into the root of the problem why the element 0 of tensors does not require grad and does not have a grad_fn error appears. I noticed in model_def line 249-250 the code tries to get the tensor data from what was supposed to be Variable (if return_tensor: outputs = outputs.data). However since Variable has long been deprecated, I figured that this might be the one that removes the grad_fn from loss so I removed those lines of code then the loss starts improving when I finetuned the model.

works for me, I think it's caused by the different version of pytorch (Variables is deprecated from version 0.4)


Endpoint malformed

Hello guys, I am trying to use this library for streaming to dacast.
And I am getting this error
 Endpoint malformed, should be: rtmp://ip:port/appname/streamname
While I am trying to use it like,
rtmp://user:pass@ip:port/appname/streamname
I have tried setAuthorization method for authorization but it doesn't work as well.
Fail to connect, time out
What should I do?

Auth is developed to work with Wowza so if it doesn't work with others server that is normal.
Dacast server response me this:
[ AccessManager.Reject ] : [ authmod=adobe ] : ?reason=needauth&user=210211&salt=MjA2OTIyMzI5OA==&challenge=OTUwMjY0NjQ5

So I need develop other auth. The problem is that I can't do a stream with ffmpeg to debug the aith method and develop it. Ffmpeg is not working for me with Dacast

I see, I asked because I have tried user-password in rtmp url with this swift library
https://github.com/shogo4405/HaishinKit.swift
And it worked, was hoping to see the same thing happen with this lib. Thank you for response. Do you have any recommendation about what should use?

I'm using adobe auth too. Maybe I can emulate that auth.
Can you share me the message produced by this methods?:
https://github.com/shogo4405/HaishinKit.swift/blob/master/Sources/RTMP/RTMPConnection.swift#L355
https://github.com/shogo4405/HaishinKit.swift/blob/master/Sources/RTMP/RTMPConnection.swift#L347
And credentials used to know codification?.

Can you share me the message produced by this methods?

Like this?
line 355 command: rtmp://210211:872262@p.ep303559.i.akamaientrypoint.net/EntryPoint?authmod=adobe&user=210211 line 347 command: rtmp://210211:872262@p.ep303559.i.akamaientrypoint.net/EntryPoint?authmod=adobe&user=210211&challenge=0b8bb43c&response=V7vEHsTgT5N/Pk59snoOFg==

Yes, thank you. Can you share me all values of description variable in the connection?:
https://github.com/shogo4405/HaishinKit.swift/blob/master/Sources/RTMP/RTMPConnection.swift#L337
Try with auth and without auth please.

Sorry for it. I haven't IPhone or Mac :(

No worries, I am looking into it now.

No Auth:
2017-23-12 21:00:46.895 [Info] [com.haishinkit.HaishinKit] [VideoIOComponent.swift:35] fps > (fps: 30.0, duration: __C.CMTime(value: 100, timescale: 3000, flags: __C.CMTimeFlags(rawValue: 1), epoch: 0)) 2017-23-12 21:00:47.452 [Trace] [com.haishinkit.HaishinKit] [NetSocket.swift:91] close(isDisconnected:) > isDisconnected:true 2017-23-12 21:00:47.452 [Warn] [com.haishinkit.HaishinKit] [RTMPConnection.swift:364] on(status:) >

Auth is fixed!
The problem was opaque that look optional in authmode adobe.
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/commit/576208bf55087d1c474c2b5731f0d6a210108cd2
Try with this commit. I can see the stream in the web app of Dacast.

How can get that commit? I am using gradle

I will upload to gradle 1 moment

It worked.
Thank you!!!

Nice. Issue closed.
If you have other question or problem open other issue :)


Add numpower to the GitHub workflow pipeline

https://github.com/RubixML/ML/issues/325

Nice, @tanmayk thank you! I'm curious, for the OpenBLAS dependency, could we install that from a repo such as the Debian one like we do with the Tensor extension?
https://github.com/RubixML/Tensor/blob/master/.github/workflows/ci-ext.yml#L62

@andrewdalpino Thank you for the review. Yeah you are right. I've updated the PR accordingly.

@andrewdalpino Any thoughts? If this gets merged, all these issues can be tested with pipeline.


Firebase Flutter Mobile auth with Microsoft

Hi. I am trying to do auth with firebase microsoft on my android/ios app. I'm trying to call this functions:
UserCredential user = await auth.signInWithPopup(provider);

await auth.signInWithRedirect(provider);
UserCredential user = await auth.getRedirectResult();

But I get the following exception:
nhandled Exception: UnimplementedError: signInWithPopup() is only supported on web based platforms

Is any methods to do auth with firebase microsoft on mobile platforms?

Issues with Firebase plugins need to be filed in their repository.


[WIP]rendered_markdown: Let wide LaTeX equations scroll horizontally.

Currently a wide LaTeX equation gets cut off horizontally instead of
scrolling.But simple addition of overflow css rule creates another
bug,i.e,the superscripts in integration upper limits gets cut off
vertically.
So,wrap a div element outside of span.katex-display element and
add overflow css rule to that div element.
GIFs or screenshots:

Testing plan:
Manually Tested
Fixes: #14422
Signed-off-by: rajprakash00<EMAIL_ADDRESS>

Is there something we can do to style the scrollbar?  It looks uglier than what I'm used to seeing in the Zulip webapp.

@andersk I think there's a structural question here for whether we want to change the base rendering of KaTeX, which is probably somewhat entangled with whether we want to change how we send math to clients more broadly, but I think this is simple enough of a fix that it's reasonable to merge (and also easy to tweak/revert/keep for backwards compatibility if we add a katex-outer to the backend markdown rendering).  So maybe the main question aside from scrollbar styling is whether we want to open an issue to change the data interchange format, or we think there's a high enough chance that we'll want to change the precise solution that an outer div like this isn't a useful modification to the HTML interchange format.

Closing in favor of #17829.  Thanks @rajprakash00 for testing this!


Kong proxy pod crash loopback every day

Is there an existing issue for this?

[X] I have searched the existing issues

Kong version ($ kong version)
<IP_ADDRESS>
Current Behavior
On Kubernetes, kong-gateway:<IP_ADDRESS>, installed with HELM
Every night we shut down our cluster to reduce cost (dev/staging) and every morning the system restart automatically.
Since few days, kong is broken with following logs:
2022/11/25 09:58:40 [warn] 1#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /kong_prefix/nginx.conf:6
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /kong_prefix/nginx.conf:6
2022/11/25 09:58:40 [warn] 1#0: [kong] [C]:-1 [Penlight 1.13.1] the contents of module 'pl.xml' has been deprecated, please use a more specialized library instead (deprecated after 1.11.0, scheduled for removal in 2.0.0)
nginx: [warn] [kong] [C]:-1 [Penlight 1.13.1] the contents of module 'pl.xml' has been deprecated, please use a more specialized library instead (deprecated after 1.11.0, scheduled for removal in 2.0.0)
2022/11/25 09:58:40 [emerg] 1#0: bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
nginx: [emerg] bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
2022/11/25 09:58:40 [notice] 1#0: try again to bind() after 500ms
2022/11/25 09:58:40 [emerg] 1#0: bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
nginx: [emerg] bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
2022/11/25 09:58:40 [notice] 1#0: try again to bind() after 500ms
2022/11/25 09:58:40 [emerg] 1#0: bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
nginx: [emerg] bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
2022/11/25 09:58:40 [notice] 1#0: try again to bind() after 500ms
2022/11/25 09:58:40 [emerg] 1#0: bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
nginx: [emerg] bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
2022/11/25 09:58:40 [notice] 1#0: try again to bind() after 500ms
2022/11/25 09:58:40 [emerg] 1#0: bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
nginx: [emerg] bind() to unix:/kong_prefix/worker_events.sock failed (98: Address already in use)
2022/11/25 09:58:40 [notice] 1#0: try again to bind() after 500ms
2022/11/25 09:58:40 [emerg] 1#0: still could not bind()
nginx: [emerg] still could not bind()

Our last changes:

Use AWS Lambda plugin for a service

Expected Behavior
When the Kubernetes restart on the morning, Kong is working properly and is ready to take requests
Steps To Reproduce
No response
Anything else?
No response

Thanks for your report.
We have noticed this issue. It seems that Kong can not create unix socket kong_prefix/worker_events.sock for lua-resty-events.

when docker restart has this problem
How to solve it

2022-11-29 15:30:27 nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/kong/nginx.conf:6
2022-11-29 15:30:27 2022/11/29 07:30:27 [emerg] 1#0: bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:27 nginx: [emerg] bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:27 2022/11/29 07:30:27 [notice] 1#0: try again to bind() after 500ms
2022-11-29 15:30:28 2022/11/29 07:30:27 [emerg] 1#0: bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:28 nginx: [emerg] bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:28 2022/11/29 07:30:27 [notice] 1#0: try again to bind() after 500ms
2022-11-29 15:30:28 2022/11/29 07:30:27 [emerg] 1#0: bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:28 nginx: [emerg] bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:28 2022/11/29 07:30:27 [notice] 1#0: try again to bind() after 500ms
2022-11-29 15:30:29 2022/11/29 07:30:27 [emerg] 1#0: bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:29 nginx: [emerg] bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:29 2022/11/29 07:30:27 [notice] 1#0: try again to bind() after 500ms
2022-11-29 15:30:29 2022/11/29 07:30:27 [emerg] 1#0: bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:29 nginx: [emerg] bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address in use)
2022-11-29 15:30:29 2022/11/29 07:30:27 [notice] 1#0: try again to bind() after 500ms
2022-11-29 15:30:30 2022/11/29 07:30:27 [emerg] 1#0: still could not bind()
2022-11-29 15:30:30 nginx: [emerg] still could not bind()

The fix is at https://github.com/Kong/kong/pull/9254 starting 3.0.0, could you try new version @sogos ?

Kong version ($ kong version)
3.0.1-ubuntu

Hi, checked actual version of our Docker image
kong/kong-gateway:<IP_ADDRESS>
kong@4433576f03c7:/$ kong version Kong Enterprise <IP_ADDRESS>

Kong 3.0 uses lua-resty-events library to propagate events, which needs a UNIX socket to send/receive messages.
The UNIX socket file is "unix:" .. prefix .. "/worker_events.sock" , here prefix is the env prefix value.
From the error logs above, I think the reason may be the path has the wrong permission, and kong can not access the socket file.
Could you share the details of docker run params?

#######################################
Kong: The API Gateway
#######################################
networks:
kong-net:
kong:
image: kong:3.1.1-ubuntu
restart: on-failure
user: kong
networks:
- kong-net
environment:
KONG_DATABASE: postgres
KONG_PG_HOST: <IP_ADDRESS>
KONG_PG_DATABASE: kong
KONG_PG_USER: kong
KONG_PG_PASSWORD: ${KONG_PG_PASSWORD:-kong}
KONG_CASSANDRA_CONTACT_POINTS: kong-database
KONG_PROXY_LISTEN: <IP_ADDRESS>:8000
KONG_PROXY_LISTEN_SSL: <IP_ADDRESS>:8443
KONG_ADMIN_LISTEN: <IP_ADDRESS>:8001
KONG_DNS_RESOLVER: <IP_ADDRESS>:8600
KONG_DNS_ORDER: SRV,LAST,A,CNAME
depends_on:
- kong-database
healthcheck:
  test: ["CMD", "kong", "health"]
  interval: 10s
  timeout: 10s
  retries: 10
ports:
  - "8000:8000"
  - "8443:8443"
  - "8001:8001"
  - "8444:8444"

I did not see prefix env in this docker config. the default value should be /usr/local/kong/.
If kong works well, you can use docker exec -it to enter the container and see the socket file worker_events.sock.
Please check the prefix path to ensure it is available for kong.

$ ls
bin  boot  devdocker-entrypoint.sh  etc  home  lib  lib32  lib64  libx32  media  mntopt  proc  root  run  sbin  srv  sys  tmp  usrvar
$ cd /usr/local/kong
$ ls
COPYRIGHT  client_body_temp  include  logs      nginx-kong.conf  pids   scgi_temp   worker_events.sock
bin   fastcgi_temp      lib      nginx-kong-stream.conf  nginx.conf       proxy_temp  uwsgi_temp
$

Could you check the permission of these files, they should like:
drwxr-xr-x    2 kong     nogroup       4096 Dec 23 08:43 logs
-rw-r--r--    1 kong     nogroup       2600 Dec 23 08:43 nginx-kong-stream.conf
-rw-r--r--    1 kong     nogroup      11473 Dec 23 08:43 nginx-kong.conf
-rw-r--r--    1 kong     nogroup        312 Dec 23 08:43 nginx.conf
drwxr-xr-x    2 kong     nogroup       4096 Dec 23 08:43 pids
drwx------    2 kong     nogroup       4096 Dec 23 08:43 proxy_temp
drwx------    2 kong     nogroup       4096 Dec 23 08:43 scgi_temp
drwx------    2 kong     nogroup       4096 Dec 23 08:43 uwsgi_temp
srw-rw-rw-    1 kong     nogroup          0 Dec 23 08:43 worker_events.sock

$ ls -l
total 196
-rw-rw-r-- 1 kong root 136758 Dec  9 23:09 COPYRIGHT
drwxrwxr-x 2 kong root   4096 Dec 12 20:42 bin
drwx------ 2 kong kong   4096 Dec 19 02:12 client_body_temp
drwx------ 2 kong kong   4096 Dec 19 02:12 fastcgi_temp
drwxrwxr-x 7 kong root   4096 Dec 12 20:42 include
drwxrwxr-x 4 kong root   4096 Dec 12 20:42 lib
drwxr-xr-x 2 kong kong   4096 Dec 23 08:37 logs
-rw-r--r-- 1 kong kong   2603 Dec 23 08:37 nginx-kong-stream.conf
-rw-r--r-- 1 kong kong  11530 Dec 23 08:37 nginx-kong.conf
-rw-r--r-- 1 kong kong    315 Dec 23 08:37 nginx.conf
drwxr-xr-x 2 kong kong   4096 Dec 23 08:37 pids
drwx------ 2 kong kong   4096 Dec 19 02:12 proxy_temp
drwx------ 2 kong kong   4096 Dec 19 02:12 scgi_temp
drwx------ 2 kong kong   4096 Dec 19 02:12 uwsgi_temp
srw-rw-rw- 1 kong kong      0 Dec 23 08:37 worker_events.sock
$

Hi ugun111, from your posted data it seems all works well, and I also can not reproduce the same error.

it can work well,but if you don't stop docker and restart the computer,it will show
1#0: bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address already in use)
2022-12-26 13:32:43 nginx: [emerg] bind() to unix:/usr/local/kong/worker_events.sock failed (98: Address already in use)

Hello,
I can observe the same issue as @ugun111 .
I'm also using Kong 3.0.1 deployed with the chart version 2.13.1
It seems that the issue is that when the pod is killed "abruptly", sock are left in the empty dir.
Since the empty dir is not defined with "medium: Memory", sock are still present after the restart, leading to the issue describe in this issue.
A way to solve it would be IMO to set the kong_prefix emptyDir to use medium memory. this way it would use tmpfs and sock will not get persisted after a hard stop.
I've edited locally the daemonset I'm using and it seems to be working

can you give me your docker-compose.yml , volumes the name of the kong_prefix emptyDir @agm650

I'm using helm chart to run Kong, so I do not have a docker-compose.yml file. If you are using docker-compose directly you might be able to specify that the kong_prefix directory is mounted with the flag "--tmpfs" or the "--mount" flag by adding the type=tmpfs
At least thats what I understand from this link

We have a PR trying to fix it. https://github.com/Kong/docker-kong/pull/620

For anyone still experiencing this issue while waiting for https://github.com/Kong/docker-kong/pull/620 to get into a future release, here is a reference way to implement a workaround fix by helm chart (the kong image manifest shows the latest kong image 3.1.1 on commit https://github.com/Kong/docker-kong/commit/5f914be945ec1732837cc4f6463219bed566c7ef, which is older than the merged fix):
One way is to define an initContainer, similar to how stale PIDs are cleared in the kong helm chart:
    release_values:
      deployment:
        initContainers:
          - name: clear-stale-sockets
            image: "kong:3.1.1"
            command:
            - "rm"
            - "-vrf"
            - "/kong_prefix/worker_events.sock"
            volumeMounts:
              - name: "kong-kong-prefix-dir"
                mountPath: "/kong_prefix/"

If your $KONG_PREFIX is different, just change the prefix dir accordingly. The kong-kong-prefix-dir volume is referencing the default volume created here. The initContainer will run before the proxy container starts up and clear the stale socket file if it's there.
The other way is as @agm650 suggested. I had a few issues getting it to work at first because the default prefix dir volume cannot be modified, so i had to define a new alternate volume to define it as medium: "Memory" and then override the prefix dir environment variable to use the new volume:
    release_values:
      deployment:
        userDefinedVolumes:
          - name: "kong-kong-prefix-dir-tempfs"
            emptyDir:
              medium: "Memory"
              sizeLimit: 256Mi
        userDefinedVolumeMounts:
          - name: "kong-kong-prefix-dir-tempfs"
            mountPath: "/kong_prefix_tempfs/"
      env:
        prefix: "/kong_prefix_tempfs/"

      # optional. otherwise, it will just use the default value in the helm chart's values.yaml
      image:
        repository: "kong"
        tag: "3.1.1"

If anyone has encountered this problem in docker so far, then here is a command for you to delete the problematic file. It must be executed when this error occurs, at the moment of starting inside the Kong container
rm /usr/local/kong/worker_events.sock

If you set env "KONG_PREFIX" at the start of Kong, then replace "/usr/local/kong" (set's by default) with your own.


[stability] Update inst.wgt.py to reflect pkgcmd -l change

The latest IVI image changes the output of 'pkgcmd -l'
Use key "pkg_name" and "pkgid" to get package id
Removing trailing space from inst.wgt.py files

@cici Pls review this PR :)

@chenxix ,please add the UT result


workflows: add nightly snapshot release

Checking if this could be a good workflow for people that want to stay up to date with the latest releases while working with a standalone app.
This will only publish packages that have pending changesets.

Yes, please. This would be really helpful.


[FEATURE] added filter option for accounts without parent

Tasks:

[x] filtering accounts without children
[ ] filtering contacts of accounts where contact has set account as main account (does not work right now according to daniel)
[ ] got feedback

Informations:

Q
A

Bug fix?
no

New feature?
yes

Tests pass?
none

Fixed tickets
none

Doc
none

ack


[Errno 2] No such file or directory: 'dataset/FineAction/FineAction_i3d_100.npy

请问FineAction_i3d_100.npy文件要去哪里弄

Hi, features can be downloaded via Google Drive or Baidu Netdisk.


feat(kselect, kmultiselect): dropdown footer text position prop [KHCP-6007]

Summary
Ticket: https://konghq.atlassian.net/browse/KHCP-6007
PR Checklist

[ ] Does not introduce dependencies
[ ] Functional: all changes do not break existing APIs and if so, bump major version.
[ ] Tests pass: check the output of yarn test
[ ] Naming: the files and the method and prop variables use the same naming conventions as other Kongponents
[ ] Framework style: abides by the essential rules in Vue's style guide
[ ] Cleanliness: does not have formatting issues, unused code (e.g., console.logs, debugger), or leftover comments
[ ] Docs: includes a technically accurate README, uses JSDOC where appropriate

Other than the suggested rewording, everything else looks good to me.
Please provide @helen-tang27 with the deploy preview URL so she can test before merging.

Huh, the static text looks good to me, but the first (sticky) example doesn't seem to be sticky for me:

Helen says that it works fine for her -- is it just me?

I don't see any console errors or obvious CSS issues.  Let me know if I can help debug.

Huh, the static text looks good to me, but the first (sticky) example doesn't seem to be sticky for me:

Helen says that it works fine for her -- is it just me?

Hmm what browser are you using?

Firefox on Linux.

That works, thanks!


Fix CIS 5.1 numbering

Noticed this old policy was mislabeled for CIS 5.3

Can you confirm this PR is no longer needed due to this https://github.com/forseti-security/policy-library/pull/228/files?

@joecheuk this PR is on the wrong branch or something. weird. closing.


Unsupported provider caused panic

Given the following config:
[[database]]
Name = 'local/taskwarrior'
Provider = 'sqlite'
DBName = 'taskchampion'
URL = 'file:~/.task/taskchampion.sqlite3?loc=auto'

(The provider should be sqlite3 instead of sqlite)
This caused panic when connecting:
                                                          ║Connecting...panic: runtime error: invalid memory address or nil pointer dereference
                                                          ║                                                        ║                           [signal SIGSEGV: segmentation violation code=0x2 addr=0x18 pc=0x104d08c2c]                ║                                                        ║
                                                          ║┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌─────────┐ ║
                                          goroutine 33 [running]:w  │ │ Connect│ │  Edit  │ │ Delete │ │  Quit   │ ║
                                                          ║└─────github.com/jorgerojas26/lazysql/components.(*ConnectionSelection).Connect(0x14000010a10, {{0x1400001c2d0, 0x11}, {0x1400000f0b0, 0x6}, {0x1400000f0c0, 0xc}, {0x14000016780, 0x2a}})═════════════════════════════════════════════╝
                                                                        /home/runner/work/lazysql/lazysql/components/ConnectionSelection.go:162 +0x41c
                                                                                created by github.com/jorgerojas26/lazysql/components.NewConnectionSelection.func1 in goroutine 1
                                                                                /home/runner/work/lazysql/lazysql/components/ConnectionSelection.go:89 +0x370

That config schema is outdated, please upgrade to the latest lazysql version and try to add the connection again.

Although pressing F1 saves the correct config file, we should still handle unsupported providers to prevent the app from crashing in case someone modifies it manually.

Your PR does not solve it correctly. The provider can be inferred from the URL string. I'm leaving this issue open because i think this should be resolved and will work on this eventually. If you want to make another PR i'm willing to help.


when I try to 'make' chronograf..it gives error sudo make go generate -x ./server go-bindata -o swagger_gen.go -ignore go -nocompress -pkg server . server/swagger.go:3: running "go-bindata": exec: "go-bindata": executable file not found in $PATH Makefile:57: recipe for target 'server/swagger_gen.go' failed make: *** [server/swagger_gen.go] Error 1

Is this a bug or a feature request?
What did you expect?
What happened?
What version are your using?
How can your issue be reproduced?
Could you share your log output?

Closing this issue. 1) this project is not related to chronograf 2) the provided issue template is not filled in.


show username in blog page when the fullname of the user is nil

When the user has no fullname, show the username in the blog page

Codecov Report

Merging #85 (36320c6) into dev (d75142d) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               dev       #85   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            8         8
  Lines          107       107
=========================================
  Hits           107       107

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 d75142d...36320c6. Read the comment docs.


Some docs on the website are not in this repo

E.g. https://flynn.io/docs/cli#adding-clusters is not in the repo src anywhere

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


Update Cost recommendation to consider max memory

Description
Current GPU recommendation algorithm considers avg of avg values recorded for cost recommendation but due to this at times the avg falls below the minimum required memory for the model, So now we consider the max of those avg's to come up with a recommendation. This change is not final and will be changed if we feel max of max is a better option.
Fixes # (issue)
Type of change

[ ] Bug fix
[x] New feature
[ ] Docs update
[ ] Breaking change (What changes might users need to make in their application due to this PR?)
[ ] Requires DB changes

How has this been tested?
Yet to be tested

[ ] New Test X
[ ] Functional testsuite

Test Configuration

Kubernetes clusters tested on:

Checklist :dart:

[x] Followed coding guidelines
[x] Comments added
[ ] Dependent changes merged
[ ] Documentation updated
[ ] Tests added or updated

Additional information
None

This PR is no longer needed as the respective code changes are added to mvp_demo


[BUG] Torii error with i128

Describe the bug
Storing some data on a i128 field breaks torii client
To Reproduce
After storing negative value to this model...
#[derive(Copy, Drop, Serde)]
#[dojo::model]
pub struct ChallengeFameBalance {
    #[key]
    pub duel_id: u128,
    //-------------------------
    pub balance_a: i128,
    pub balance_b: i128,
}

there was this on the log...
2024-12-20T19:31:30.103239Z  INFO torii_core::processors::event_message: Store event message. namespace=pistols name=PlayerActivity system=0x63418f4f6eae9f10d23d4ce980a6ba593d4c9ac70f1dec1da378fbd5173c3ce
2024-12-20T19:31:30.105558Z  INFO torii_core::engine: Processed block. block_number=31
2024-12-20T19:31:30.106071Z  INFO torii_core::processors::store_set_record: Store set record. namespace=pistols name=Scoreboard entity_id="0x713838728c102fbabb4eb56d70568db971ca80f4ba42ed8ed358c8e498dfb13"
2024-12-20T19:31:30.106409Z  INFO torii_core::processors::store_set_record: Store set record. namespace=pistols name=Scoreboard entity_id="0x4a2471747639cc1846a1d83c60a1151fd0f233ba92477a42c8816d4ab5222ea"
2024-12-20T19:31:30.107504Z  INFO torii_core::processors::store_set_record: Store set record. namespace=pistols name=Round entity_id="0x579e8877c7755365d5ec1ec7d3a94a457eff5d1f40482bbe9729c064cdead2"
2024-12-20T19:31:30.107545Z  INFO torii_core::processors::store_set_record: Store set record. namespace=pistols name=Duelist entity_id="0x579e8877c7755365d5ec1ec7d3a94a457eff5d1f40482bbe9729c064cdead2"
2024-12-20T19:31:30.107990Z  INFO torii_core::processors::store_set_record: Store set record. namespace=pistols name=Challenge entity_id="0x579e8877c7755365d5ec1ec7d3a94a457eff5d1f40482bbe9729c064cdead2"
2024-12-20T19:31:30.108050Z  INFO torii_core::processors::store_del_record: Store delete record. namespace=pistols name=Pact entity_id="0x6586463363cc72c0dd589089336638f745820570a59ed63f30e0b0f3f9a0505"
2024-12-20T19:31:30.108296Z  INFO torii_core::processors::store_set_record: Store set record. namespace=pistols name=Duelist entity_id="0x20185e0ab367a55b068e0f8b7abda935f15b418737e7b67d84aaee133ec2572"
2024-12-20T19:31:30.108561Z  INFO torii_core::processors::store_set_record: Store set record. namespace=pistols name=ChallengeFameBalance entity_id="0x579e8877c7755365d5ec1ec7d3a94a457eff5d1f40482bbe9729c064cdead2"
2024-12-20T19:31:30.119936Z ERROR torii_grpc::server::subscriptions::event: Processing event update. target="torii::grpc::server::subscriptions::event" error=Parsing error: Failed to create Felt from string

The client raises this error when retrieving the entity, and nothing syncs anymore...

But I can see the stored value with graphQL and sozo model, but balance_a doesn't look correct, it's padded with ffffffffffffff:
$ sozo model get pistols-ChallengeFameBalance 1
{
    duel_id         : 0x0000000000000000000000000000000000000000000000000000000000000001,
    balance_a       : 0x00000000000000000000000000000000ffffffffffffffe4e51b291d10b00000,
    balance_b       : 0x00000000000000000000000000000000000000000000001b1ae4d6e2ef500000
}

Expected behavior
Torii client should retrieve the negative value.

#2840 will be fixed when this get merged


META - Marketing

### Tasks
- [ ] https://github.com/Quansight/ragna/issues/45
- [ ] https://github.com/Quansight/ragna/issues/80
- [ ] https://github.com/Quansight/ragna/issues/79
- [x] Social media announcement posts
- [x] CFP for PyData NYC
- [x] CFP for PyData Global
- [x] Promote in NF newsletter (Kate)

✅


Remove unused CHIPClustersInvoke-src.zapt template.

This was missed in https://github.com/project-chip/connectedhomeip/pull/11699
Problem
ZAP template that is not used for anything.
Change overview
Remove it.
Testing
Verified that this filename is not referenced anywhere.

Fast tracking, given this is removing dead code.


Update Get-SPBusinessDataCatalogEntityNotificationWeb.md

Format example

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Get-SPBusinessDataCatalogEntityNotificationWeb.md
:white_check_mark:Succeeded
View (sharepoint-ps)

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


#157865 - feat: downgrade AV1130 to suggestion again

Action
Done?

Code compiles and unit tests all pass locally
✔

Debug/console log code removed
✔

Commented out code removed
✔

Unit tests added/updated
✔

README updated
❌

Considered:  - Performance  - Security  - Logging
✔

Licenses of any new/upgraded dependencies checked, with no copyleft dependencies introduced
✔

Change made for 157865


Recipes that can be crafted through recursive craft don't appear until the crafting interface is opened twice

Hey, not sure why this happens. But upon a fresh reload of tmodloader, I enter my world and when i open the crafting interface, the recipes that i can craft through recursive craft show up as red and not craftable. When i close and reopen the crafting interface they then show up as craftable

Update RecursiveCraft


[18.03] update documentation for "SCTP port mapping"

Problem description
https://github.com/docker/cli/pull/278 completed the "coding" side of a series of pull requests to add support for the SCTP protocol when publishing ports (see the graph at the top of https://github.com/moby/moby/pull/33922#issue-128554970).
Documentation changes are likely needed in some locations to mention the new option, and possibly some examples and/or description when to use this (?).
ping @AkihiroSuda @ishidawataru
/cc @gbarr01
Project version(s) affected

Engine 18.03 and up

opened https://github.com/docker/cli/pull/900 and https://github.com/docker/docker.github.io/pull/6078
cc @ishidawataru

@AkihiroSuda Thanks, LGTM

References:
https://github.com/docker/docker-ce/blob/v18.03.0-ce-rc3/CHANGELOG.md
https://github.com/docker/swarmkit/pull/2298
Possible doc location:
https://docs.docker.com/engine/swarm/ingress/#publish-a-port-for-tcp-only-or-udp-only

Hi, @thaJeztah @AkihiroSuda, I scraped together some documentation from your various PRs but the example at bottom did not work for me. I wonder if there is a simpler example we can use.
For this page: https://docs.docker.com/engine/swarm/ingress/

Docker supports SCTP (Stream Control Transmission Protocol) port mapping. SCTP is widely used as a transport protocol for cellular networks. With SCTP support, you can run applications such as Diameter within your Docker containers.
Example:
$ docker run -p 10000:20000/sctp mgoelzer/alpine-socat socat sctp-listen:20000 system:cat
$ docker run -it --net=host mgoelzer/alpine-socat socat stdin sctp4-connect:<IP_ADDRESS>:10000,bind=<IP_ADDRESS>
hello
hello

Should I expect something like this for the CLI page?  https://docs.docker.com/engine/reference/commandline/service_create/#publish-service-ports-externally-to-the-swarm--p-publish

Option:		protocol
Short syntax: 	--publish 8080:80/sctp
Long syntax: 	--publish published=8080,target=80,protocol=sctp
Description: 	Non-native protocol accessible by mapping TCP port.

@ishidawataru
Do you know any free and practical Docker image that is suitable as an example usecase?

Addressed here: https://github.com/docker/docker.github.io/pull/6078


[KDE-x11] Tray indicator + close to tray

It would be great to be able to close the Stimulator window but leave it running in the background in the system tray. A closed issue indicated there some sort of tray support already but it's not visible on my system.
System:

Kubuntu 23.10
KDE
Xorg
Flatpak version of Stimulator
Dell XPS 13

Version 1.0 will be available very soon in Flathub with AppIndicator support.

Version 1.0 is now available with indicator support, can you try updating and see if it works for you ?

I'm using v1.0 and don't see an indicator unfortunately.

You have to go to the preference menu and chose run in background option
Also the icon only appears when you active the disable suspend button

Ahh I see. I wouldn't have expected the option there based on the wording of the setting, thanks for pointing it out.

It would be nice to have the icon available when suspend isn't activated, then just allow toggling it from the tray icon itself instead of opening the window.

It would be nice to have the icon available when suspend isn't activated, then just allow toggling it from the tray icon itself instead of opening the window.

This wasn't done for 2 reasons mainly:

the appindicator api is very limited and I don't think we can make nice design with it
I prefer to have the simplest logic in the indicator, otherwise people will keep wanting to add more features to it and it would be as complex as the main app

Plus Stimulator is app, not shell extension. If you want pure and complete tray support, I think there is better options than Stimulator.

We do not advertise AppIndicator support, because it's not natively supported by GNOME. That's why wording doesn't say anything about tray or appindicator support.

I'm using KDE in this instance btw.

This wasn't done for 2 reasons mainly:

The appindicator api is very limited and I don't think we can make nice design with it
I prefer to have the simplest logic in the indicator, otherwise people will keep wanting to add more features to it and it would be as complex as the main app

Being grey or white when it's not enabled would look good, with orange being enabled like it currently is.
That's understandable wanting to have a low amount of logic, but I don't think it's worth hampering the UX in order to avoid getting too many feature requests.

My motivation is because I usually close all windows unless I'm actively using them. Whereas my system tray is for apps that run in the background but can be enabled/disabled as needed (e.g. VPN, backup app, Syncthing tray etc). It's great to be able to toggle their state just through their right-click menus and just leave them available in my system tray always.
With Stimulator not being able to be disabled and stay in the system tray it means that the window has to stay open whilst it's disabled, which is counter-intuitive. Or I have to remember to open the app again if I close it between uses, which I'm unlikely to remember to do.

Plus Stimulator is app, not shell extension. If you want pure and complete tray support, I think there is better options than Stimulator.

I'm not familiar with the term, from a brief Google it looks like a GNOME thing but I use KDE. If you know of a better alternative that works on my system I'm all ears though. Caffeine-ng is one that I looked into but it's not packaged for my distro so Stimulator is what I went with.

You can use Stimulator with KDE and with other DE's, but it's natively GTK4 GNOME app and we mainly consider with the GNOME ecosystem and UI desicions. GNOME DE doesn't support appindicator/tray icons without extension at all and like @sigmaSd sayd "The appindicator api is very limited".
We debated at whether to add tray icon support at all and in what form. It remains more of a simple add-on, but it will never become the main feature of this app. If it were a native QT KDE application, the story would be different.
Did you tried this applet? https://store.kde.org/p/1212005/
Not very up-to-date, but it could work. The use of applets should not be related to the distro in any way.

Ah right, wasn't aware it was built mainly for GNOME.

Did you tried this applet? https://store.kde.org/p/1212005/

That has some errors when I try to install it. I did however find caffeine-minus now though after you mentioned applets and it seems to work after some tweaks.
I still think there's a benefit in supporting system tray usage fully for most users, since this wasn't as simple to install as a Flatpak and it feels like Stimulator is very close to being a good replacement. But it's understandable if you plan to keep it as is.

@Victor239 you arguments are definitely valid, and I see your use case, but lets just close this issue since its resolved.
We're going to keep the current the system for now, but we may consider a redesign if more users want this.


Storage Table Paging

I can't seem to find a sensible way to page storage table query results.
There isn't an obvious way (to me) to create a Continuation at a given point, nor does there appear to be a good way to serialize a Continuation. I would like to provide a simple RESTful API that offers a single string next that can be given to the API again to continue a query. This SDK doesn't appear to let me do that.
I'm not all that good at rust yet, but I think what I want is for Continuation to implement the traits ToString and FromStr, so that I can simply return a string to the API caller that they can pass back to me for the next page.

Hello Alexei,
while you are right and the table API is wonky and not yet aligned with the rest of the other APIs, you shouldn't call execute_query directly, you should call stream_query instead. stream_query handles the Continuation token for you transparently.
Something like:
    let client = TableClient::new(&account, &master_key);
    let table = CloudTable::new(client, "my_table");

    // make sure to import futures::stream::StreamExt
    // Pin is a Rust streaming async requirement, don't worry too much
    // about it, just make sure to use it.
    // Replace u64 with the type you want to receive.
    let mut stream = Box::pin(table.stream_query::<u64>(Some("your query here")));

    // stream.next() will handle the Continuation Token for you
    while let Some(value) = stream.next().await {
        // do what you want with the returned Vec
        println!("{:?}", value);
    }

I haven't actually run this code, I just made sure it compiles. If it's not working as expected please tell us!

Hi @MindFlavor,
Thanks for the very quick response!
I need to be explicit about paging because I want to present an API in my application with explicit paging.
A bit more background, I'm writing a RESTful API which will present an API like: GET /things?limit=10&next=abcd
What I need from the SDK is a way to perform a query up to a limit (which will get transformed in my code to %top=10 at some point), get the next token, return that to the caller, and then allow the caller to specify the next token from their previous call, on their next call.
For example, the series of HTTP calls would be typical:

API
Response

GET /things?limit=1
{ items: [...], next: "abcd" }

GET /things?limit=1&next=abcd
{ items: [...], next: "efgh" }

GET /things?limit=1&next=efgh
{ items: [...] }

The steam query interface looks excellent for backend operations that simply want all pages of data, however, to limit the amount of IO used, the frontend should query pages of data at a time, not all data at once.
I've got a local implementation of the Display and FromStr traits for Continuation which I can create a PR for if you'd like. Not sure if that fits with how you'd see this being done.

wow that's great :+1: !
However I would rethink the execute_query first and I would like to brainstorm with you.
Right now execute_query requires a Continuation even for the first execution (when it's clearly unnecessary) forcing the caller to instantiate it.
Also, the Continuation struct is a Rust anti-pattern: instead of using Option to indicate "lack of continuation tokens" it uses a boolean field (fused).
I was thinking to split execute_query in three functions:

execute_query that accepts only the query and "kicks off the query". It returns a new type that contains both the Vec and an optional continuation token. The continuation token will contain both the ContinuationCursor and the query. For example (I have used a tuple for brevity, we should create a specific type for this):

  pub async fn execute_query<T>(
        &self,
        query: &str,
    ) -> Result<Option<(Vec<TableEntity<T>>, Option<ContinuationToken>)>, AzureError>
    where
        T: DeserializeOwned + Serialize { ... }

execute_get_all that behaves like the previous but does not accept a query:

  pub async fn execute_get_all<T>(
        &self,
    ) -> Result<Option<(Vec<TableEntity<T>>, Option<ContinuationToken>)>, AzureError>
    where
        T: DeserializeOwned + Serialize { ... }

continue_query that accepts only the continuation token. Since the new continuation token struct contains both the query and the ContinuationCursor it will be sufficient to continue the enumeration. For example:

  pub async fn continue_query<T>(
        &self,
        continuation_token: ContinuationToken
    ) -> Result<Option<(Vec<TableEntity<T>>, Option<ContinuationToken>)>, AzureError>
    where
        T: DeserializeOwned + Serialize { ... }

This way the caller does not have to handle the continuation token himself, it will be treated as an opaque type (as it should be).
What do you think?

I like that pattern 👍, I'll give it a shot and submit a PR and then we can figure out if it actually looks good there.

Thank you very much!

OK, I'm most of the way there, need to fix up tests.
Here's what I've got tonight:
    pub async fn execute_query<T>(
        &self,
        query: &str,
    ) -> Result<(Vec<TableEntity<T>>, Option<ContinuationToken>), AzureError>
    where
        T: DeserializeOwned + Serialize,
    {
        self.continue_query(ContinuationToken::start(Some(query)))
            .await
    }

    pub async fn execute_get_all<T>(
        &self,
    ) -> Result<(Vec<TableEntity<T>>, Option<ContinuationToken>), AzureError>
    where
        T: DeserializeOwned + Serialize,
    {
        self.continue_query(ContinuationToken::start(None)).await
    }

    pub async fn continue_query<T>(
        &self,
        continuation_token: ContinuationToken,
    ) -> Result<(Vec<TableEntity<T>>, Option<ContinuationToken>), AzureError>
    where
        T: DeserializeOwned + Serialize,
    {
        log::debug!(
            "query_entities(continuation_token = {:?})",
            continuation_token
        );

        let mut path = self.table_name.to_owned();
        path.push_str("?");

        if let Some(ref query) = continuation_token.query {
            path.push_str(&query);
        }

        if let Some(ref next) = continuation_token.next {
            path.push_str("&NextPartitionKey=");
            path.push_str(&next.partition_key);
            path.push_str("&NextRowKey=");
            path.push_str(&next.row_key);
        }

        let future_response = self.client.request_with_default_header(
            path.as_str(),
            &Method::GET,
            None,
            MetadataDetail::Full, // etag is provided through metadata only
            &|req| req,
        )?;

        let (headers, body) =
            check_status_extract_headers_and_body(future_response, StatusCode::OK).await?;

        log::trace!("body == {:?}", std::str::from_utf8(&body));
        let entities = serde_json::from_slice::<EntityCollection<T>>(&body)?;
        let continuation = ContinuationToken::try_from((continuation_token.query, &headers))?;

        match continuation.next {
            Some(_) => Ok((entities.value, Some(continuation))),
            None => Ok((entities.value, None)),
        }
    }

    pub fn stream_query<'a, T>(
        &'a self,
        query: Option<&'a str>,
    ) -> impl Stream<Item = Result<Vec<TableEntity<T>>, AzureError>> + 'a
    where
        T: Serialize + DeserializeOwned + 'a,
    {
        futures::stream::unfold(None, move |cont: Option<ContinuationToken>| async move {
            match self
                .continue_query(ContinuationToken::start(query))
                .await
            {
                Ok((segment, continuation)) => match continuation {
                    Some(_) => Some((Ok(segment), continuation)),
                    None => None,
                },
                Err(err) => Some((Err(err), cont)),
            }
        })
    }

Hurmm, wait, that stream query clearly doesn't work lol. I'll think a bit long about that in the morning :)

I took a stab at it in the aforementioned PR. Can you please take a look at this and tell me what you think?

I think that API would work. I think in the implementation of the derivative functions begin_query and begin_get_all you can reuse a lot more of the continue_execution code (see my attempt above). I like the state machine in the stream, that solves the problem well. I think your implementation of ContinuationToken is simpler than mine, so I like that.
That PR doesn't include any way to serialize the continuation as far as I can tell, so it doesn't actually solve this issue for me.
For example, you could do something like:
    pub fn continue_from_token(token: &str, query: Option<&str>) -> Result<Self, ContinuationError> {
        let keys: Vec<&str> = token.split('.').collect();

        match keys.len() {
            2 => Ok(ContinuationToken {
                query_path: match query {
                    Some(q) => q.to_owned(),
                    None => "".to_owned(),
                },
                partition_key: keys[0].to_owned(),
                row_key: keys[1].to_owned(),
            }),
            _ => Err(ContinuationError::InvalidContinuationFormat),
        }
    }

    pub fn next_token(&self) -> String {
        format!("{}.{}", self.partition_key, self.row_key)
    }

I think in the implementation of the derivative functions begin_query and begin_get_all you can reuse a lot more of the continue_execution code (see my attempt above).

Yes, you are right, I've pushed a less copypasta version 🤦♂ .

That PR doesn't include any way to serialize the continuation as far as I can tell, so it doesn't actually solve this issue for me.

Sorry I missed that. A simple derive from serde should cover your needs (pushed right now). The proposed ContinuationToken stored the query as well as the keys (it won't work otherwise).
If you need a particular format - not covered by serde - we can add it at later time.

That's a bit atypical from what I've seen for APIs around this previously. It would technically work for what I want, but only because I can deserialize the result into my own representation of that and pull out the data. It is expected that if someone passed a next token with a different query, that they'd get back unreliable data.
Here's an example of the continuation token class for the .NET cosmos table API: https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.cosmos.table.tablecontinuationtoken?view=azure-dotnet
It simply exposes the next partition and row keys. I'd be happy with that implementation because then I could add whatever format I want in my own code.
I could simply return the entire query + keys to the user, but it would be unusual as far as RESTful API design goes, so I'd almost certainly just end up serializing the data, deserializing it into my own struct, and then create the token I need from that. Especially because the query language is database specific, and should not be something I am telling my users. A good web API shouldn't care what database backs it, and shouldn't expose that to the caller.

That's a bit atypical from what I've seen for APIs around this previously. It would technically work for what I want, but only because I can deserialize the result into my own representation of that and pull out the data. It is expected that if someone passed a next token with a different query, that they'd get back unreliable data.

Yes you are right, but for this reason I have encapsulated the partition key, row key and the query parameters in the ContinuationToken:
#[derive(Debug, Clone, Serialize, Deserialize)]
  pub struct ContinuationToken {
      pub(crate) query_path: String,
      pub(crate) partition_key: String,
      pub(crate) row_key: String,
  }

This way no one can accidentally pass the wrong token: they simply cannot construct it (it's opaque).
But I have the feeling I am not understanding what you mean 🙇♂ ... Do you want to create a ContinuationToken manually?

Yup!
I won't be presenting the raw OData query syntax to the user. For example, let's say we have entities that can be filtered by customer.
I might expect an API call to find all for a given customer like: GET /entities?customer=Alexei%20Corp&limit=50
My code would then translate that into the OData query syntax that the storage API uses, and use this SDK to perform the query.
The response would be something like: { items: [...], next: abcd }
Finally, I'd pass back the data needed to get the next page of the query results. The next call would look something like: GET /entities?customer=Alexei%20Corp&limit=50&next=abcd
Given that, that's the API, it would be super strange for me to expose the backend query syntax used by the database to the user. So there is no way I'd be returning that in the interface.

Ok I've added the ability to construct ContinuationTokens in the last commit.
Something like:
impl ContinuationToken {
    pub fn new(previous_url: Url, next_partition_key: &str, next_row_key: &str) -> Self {
      //...

You can get the old and new url with previous_url and new_url. If you want to extract the partition and row keys you can do it as well.

That's a very comprehensive API and solves my problem 👍

Yay! 🥂 (sorry for taking so long to understand you needs 🙇♂)!
I'll fix some minor stuff and mark the PR ad complete. We'll close the issue as soon as it's merged.

No that's fine! Pleasure working with you :)
Nice catch on the empty row key!
I've only really got weekends to work on this at the moment but I'll put it into practice as soon as I can!

Support for paging results for data tables was added in #874


🎉 Swift 4 Support 🎉

This PR is a placeholder that will be merged when Swift 4.0 becomes a public stable release. It contains all the fixes necessary to use SnapKit with the latest betas of Xcode 9 targeting Swift 4.0!

I apologize if this is not the right place for asking questions about Swift 4.0.
Have you guys been able to get your projects to run using the latest Xcode beta. It keep getting Module (import SnapKit) compiled with Swift 3.1 cannot be imported in Swift 3.2. I am using Xcode 9.0 beta 3. I am using snapkit branch for swift 4.  Any pointers would be greatly appreciated. cc: @pbyorke

everything is working fine now 👍

Looks like this can only compile for iOS not macOS due to UIKit references, specifically UILayoutPriority. Also there other build errors due to NSLayoutAttribute being renamed to NSLayoutConstraint.Attribute and NSLayoutRelation being renamed to NSLayoutConstraint.Relation. My coworker is fixing it in a fork now and will submit a pull request.

That's the branch @einsteinx2 was refering to: https://github.com/SnapKit/SnapKit/pull/434

How do we install the swift 4 compatible version? version 3.2.0 isn't working

@rslim087g make sure you point your cocoapods or carthage repo to a swift 4 branch

I am having build error using swift-4 branch. Already using the Xcode 9 via Xcode-select. In log, heaps of errors like error: 'EdgeInsets' has been renamed to 'NSEdgeInsets'

@codingrhythm the problems are related to mac project ?

iOS @wolffan

@codingrhythm weird ... I'm using the latest Xcode beta and everything is working fine. I'm using Carthage.
did you do the following
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer

@ronaldoh1 of course. Updated Carthage as well.

@Ronaldoh1 my bad, after use --Platform iOS for Carthage, it worked. Thanks.

Now that the GM has dropped, will this be merged anytime soon?


Support stale-while-revalidate in FreshnessChecker

We should support a policy where ZiplineLoader loads potentially-stale local code while downloading fresh code. This mechanism should be integrated into FreshnessChecker, which could determine if the potentially-stale code is fresh enough to launch.

Dupe of #1258?


Quickstart documentation: Adding the UI

In my opinion the Quickstarts are extremely valuable for new users. Starting from scratch and plugging every in one step at a time really helps you understand what's going on.
Just a small omission I found so far: When adding the UI https://identityserver4.readthedocs.io/en/dev/quickstarts/3_interactive_login.html
it is not mentioned that MVC should be added to the project. This is mentioned when you open the github project, but to keep the Quickstart complete it should be mentioned there as well IMHO.

we accept PRs on the docs.


any alternative now that legacy tokens no longer work?

Grab Bearer xoxc-** and Cookie d=xoxd-** from a logged in browser session, most of these "Browser" calls works with these credentials with all their pros and cons.
However, per my experimenting not all calls support application/json; charset=utf-8 Content-type, mostly multipart/form-data.

怎么调用程序啊，slack = Slacker(bot_token)
#channel_id = slack.channels.get_channel_id('csd')
#slack.chat.command(channel=channel_id,command='/who',)这样吗

parameters = {
"token": "xoxp-5502227006198-5494347701367-5508901284130-f3c977207d021a18d27e882c8db80ec4",
"channel": "D05ES6W0E8N",
"command": "/who",
}

However, per my experimenting not all calls support application/json; charset=utf-8 Content-type, mostly multipart/form-data.

@onix
Encoding as x-form-www-urlencoded also works. It removes the clutter compared to the multipart...


P2FP-3. UML design.

UML design of each of the identified classes (its different attributes must be included with their associated data types), for each class a small description of what it represents must be recorded.

UML design of each of the identified classes made it.


Running brew install --cask formula does not tap homebrew/cask

Bug report

[x] ran brew update and can still reproduce the problem?
[x] ran brew doctor, fixed all issues and can still reproduce the problem?
[x] ran brew config and brew doctor and included their output with your issue?

What you were trying to do (and why)
While provisioning a new macbook, I was unable to install a cask using the command brew install --cask formula. After trying few formulae, I notice that homebrew/cask was not tapped and running brew cask install formula would actually tapped homebrew/cask.
I switch the the new cask syntax according to the 2.6.0 release notes. I also got the deprecation warning when running the second command. Therefore, I believe that running brew install --cask formula should tap homebrew/cask like brew cask install formula does.
What happened

% brew install --cask betterzip
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
Updated 2 formulae.

Error: Cask 'betterzip' is unavailable: No Cask with this name exists.

% brew cask install betterzip
==> Tapping homebrew/cask
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask'...
remote: Enumerating objects: 107, done.
remote: Counting objects: 100% (107/107), done.
remote: Compressing objects: 100% (97/97), done.
remote: Total 577551 (delta 65), reused 27 (delta 10), pack-reused 577444
Receiving objects: 100% (577551/577551), 240.74 MiB | 41.07 MiB/s, done.
Resolving deltas: 100% (411097/411097), done.
Tapped 1 command and 3752 casks (3,871 files, 259MB).
Warning: Calling brew cask install is deprecated! Use brew install [--cask] instead.
==> Downloading https://macitbetter.s3.amazonaws.com/BetterZip-5.0.3.zip
######################################################################## 100.0%
==> Installing Cask betterzip
==> Moving App 'BetterZip.app' to '/Applications/BetterZip.app'.
🍺  betterzip was successfully installed!

What you expected to happen
Something along these lines:

% brew install --cask betterzip
==> Tapping homebrew/cask
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask'...
remote: Enumerating objects: 107, done.
remote: Counting objects: 100% (107/107), done.
remote: Compressing objects: 100% (97/97), done.
remote: Total 577551 (delta 65), reused 27 (delta 10), pack-reused 577444
Receiving objects: 100% (577551/577551), 240.74 MiB | 41.07 MiB/s, done.
Resolving deltas: 100% (411097/411097), done.
Tapped 1 command and 3752 casks (3,871 files, 259MB).
Warning: Calling brew cask install is deprecated! Use brew install [--cask] instead.
==> Downloading https://macitbetter.s3.amazonaws.com/BetterZip-5.0.3.zip
######################################################################## 100.0%
==> Installing Cask betterzip
==> Moving App 'BetterZip.app' to '/Applications/BetterZip.app'.
🍺  betterzip was successfully installed!

Step-by-step reproduction instructions

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
% brew install --cask betterzip

Output of brew config and brew doctor commands

% brew config
HOMEBREW_VERSION: 2.6.0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 1d5e354cc2ff048bd7161d95b3fa7f91dc9dd081
Last commit: 8 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 6ba537d26f19bca9345a95447b6bdaacb3684964
Core tap last commit: 24 minutes ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 4
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: quad-core 64-bit broadwell
Clang: 12.0 build 1200
Git: 2.24.3 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 10.15.7-x86_64
CLT: <IP_ADDRESS>.1.1604628099
Xcode: N/A

% brew doctor
Your system is ready to brew.

@pgrenaud Can you try to brew update? I think we literally just rolled out a new release with a fix for this.

@MikeMcQuaid I tried when I got the issue an hour-ish ago, but no luck then. I can try again now, but what's the best way to test this? Do I need to just untap homebrew/cask or is it more complicated than that?

@pgrenaud brew untap homebrew/cask; brew install --cask betterzip

Ref: https://github.com/Homebrew/brew/pull/9398

@pgrenaud Did that PR fix it for you?

@pgrenaud brew untap homebrew/cask; brew install --cask betterzip

Just did that and it worked. Well, it seems that I was unlucky with my timing! 😅

@pgrenaud Did that PR fix it for you?

Yep!
Thanks again!


Add GPU example

@gdalle maybe like this?
I add a regularizer later.
So let's not merge yet

looks good to me

if you want more speed you can prepare the differentiation operators:
https://gdalle.github.io/DifferentiationInterface.jl/DifferentiationInterface/stable/operators/#Operators-Preparation

My laptop has CUDA but it's deactivated and I'm wary of fiddling with the GPU settings. I'd prefer you open an SSH if you're confident it works

Yeah, then let's use my computer.
Just to be safe, maybe send me a SSH key which I add before the session just in case my laptop dies haha

You mean to connect to your computer from mine?

Yeah, let's do with my laptop but it has seen better times. So just in case.
But SSH tunnel should work, then we can run both notebooks on my desktop in the office.


x/image: vector.go rasterizer shifts alpha mask and is slow when target is offset and small relative image size

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
1.10.2
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
linux/amd64
What did you do?
In the golang.org/x/image/vector.go there is this function:
func (z *Rasterizer) Draw(dst draw.Image, r image.Rectangle, src image.Image, sp image.Point)
r is the target rectangle for rendering the image. When r is smaller sub-rectangle than the bounds of dst, and offset into the middle of dst, two problems emerge:
First, the alpha mask, which is the whole point of the Draw command shifts with the target rectangle rather than staying fixed to the upper left corner of the image. I believe this should not be the default behavior. It is not consistent with other rasterizers, such as the free type rasterizer. If the mask shifts with the target and you are rendering a path using, say,  Bezier curves, and want to draw that path onto an image, you must either determine before hand the exact boundaries of the path and shift the coordinates accordingly, because as it is, a target drawn somewhere in the middle of an image will always draw the mask relative to the upper left corner of the target rectangle. Having to determine the boundaries before hand requires flattening the curves and either storing the resulting line segments or repeating the process when actually rendering the alpha mask. It is much simpler to keep the alpha mask fixed to the upper left corner of the image boundary rather than move with the target rectangle.
Second, no matter how big the target rectangle is relative to the entire image, the "accumulate step" traverses the entire image, which is inefficient when the target is a small fraction of the image.
I have created a modified version of the rasterizer here:  https://github.com/srwiley/image
In the vector_test.go file are modified versions of the TestBasicPathDstAlpha and TestBasicPathDstRGBA test functions. These are changed to test for fixing the alpha mask to the image and not shifting with the target. They will fail with the current version of vector.go but not the forked version.
There are also a series of benchmarks showing the improved performance when the target is small relative the destination image. This is what the benchmark output looks like:
BenchmarkDrawPathBounds1000-16         	      30	  44412739 ns/op
BenchmarkDrawImageBounds1000-16        	      20	  53485352 ns/op
BenchmarkDrawPathBounds100-16          	    3000	    458989 ns/op
BenchmarkDrawImageBounds100-16         	      20	  53309779 ns/op
BenchmarkDrawPathBounds10-16           	  200000	      6054 ns/op
BenchmarkDrawImageBounds10-16          	      20	  55934650 ns/op
BenchmarkDrawPathBounds2-16            	 1000000	      1021 ns/op
BenchmarkDrawImageBounds2-16           	      20	  54077408 ns/op

BenchmarkDrawPathBoundsX draw only the path boundary for a path of a hexagon of the indicated radius in a 2200x2200 sized image.  BenchmarkDrawImageBoundsX  draws the entire image, which is what the current vector.go file does. So, as the size of the path gets smaller the speed difference increases.
What did you expect to see?
Significantly greater speed when the target is small compared to the image size and the alpha mask fixed to the upper left of the destination image.
What did you see instead?
Inefficient speed for small target sizes relative the image size, and the alpha mask fixed relative the target rectangle upper left corner and not the destination image bounds.

CC @nigeltao


⚠ Jenkins Plugins Artifactory has degraded performance

In 284a8e9, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1780 ms

Resolved: Jenkins Plugins Artifactory performance has improved in bb2e9bc.


Support set log level dynamically

Describe the feature request
It is very useful to allow reset the log level on the run, currently, it is very hard to diagnose some weird phenomena(hard to reproduce after restart) we met.
We can add a handler in debug, which calls log.Configure.
Describe alternatives you've considered
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Additional context

Yeah. That would be very useful

istioctl x istiod log will do this. And istioctl pc log does envoy. The only one that does not allow this is the agent

cool, thanks


Commands?

What are the commands?

There are no commands

Then how do i use this plugin?

You need to build a world like described in the README and set the name of this world in the config

Thankyou, but do I use the same blocks as the example?

Yes


EXC_BAD_ACCESS when extracting a Result.success from a failure, if the result is Result<_, Error>

This happens in 0.7.0, I haven't tried other releases.
I've encountered this crash in the wild, which I had to work around by not using case paths for any Result where the Failure generic type is Error. If you try to add this unit test to the test suite in this repo, you can reproduce it:
  func testExtractSuccessFromFailedResultWithErrorProtocolError() throws {
    struct MyError: Error {}
    let x = Result<String, Error>.failure(MyError())

    // since it's `Error`, execution traps at the following line with an EXC_BAD_ACCESS.
    // If the  result type was over `MyError`, it would work correctly.
    XCTAssertNil((/Result.success).extract(from: x))
  }

There must be some swift runtime issue with Error protocol types vs concrete types that conform to Error, since it works if the type is Result<String, MyError> instead. I'm not too well versed in the swift runtime details to know how to fix this, except to work around it by not using case paths for these kinds of Result types for now.
If the value was a .success instead of a .failure, extraction does not crash, only when trying to extract a .success from this specific kind of Result if the value is a .failure. Extracting a .failure from this value also seems to work as expected.

Oof, the Error type has given us a lot of troubles with Swift runtime metadata 🙁. We'll investigate a workaround.
@mayoff perhaps you've got some ideas too?

I found the following comment in the Swift repo:

// The ABI here is quite different in ObjC and non-ObjC modes.
// In ObjC mode, SwiftError is closely related to the NSError class:
// native errors are boxed as a subclass of NSError, but non-native
// errors may simply be NSError objects directly from Objective-C.
// In non-ObjC mode, SwiftError boxes are always native.

Translation:

A “native error” means a type (defined in Swift) that conforms to the Error protocol.

On non-Apple platforms (which do not support Objective-C interoperability), an Error existential is stored like any other protocol existential, in a four-word “box” (a TargetOpaqueExistentialContainer in the C++ runtime source ode).

On Apple platforms (which support Objective-C interoperability), an Error existential is a one-word pointer to an object which can act like (sometimes genuinely is) an NSError or subclass thereof.

However, Strategy doesn't know about this special treatment. It just detects that the value is some sort of protocol existential and treats it as such.
I will teach Strategy about this special case.


Default network is letsencrypt-docker-compose_default missing from docs

Seems it's worth mentioning in the docs that the default setup creates network letsencrypt-docker-compose_default for all its containers. This proves useful given that the initialization script offers for Reverse proxy the option to Proxy to a server defined in the same docker-compose.yml (y/n).
In my case the service to which the reverse proxy relays requests is in a separate docker-compose.yml and has its own network. But even if it doesn't have its own network, it's worth mentioning that in that case my own services should be configured to use the letsencrypt-docker-compose_default network.

Thanks for the suggestion. I will extend the README to describe the situation when the upstream is located in another docker-compose.yml.
Another option will be to expose the upstream through some port and configure Nginx upstream as host.docker.internal:{{port}}.

Also worth mentioning that the location section of nginx-conf/conf.d/mydomain.com.conf in this case will need to have additionally:

resolver <IP_ADDRESS>;

Resolver <IP_ADDRESS> is added automatically if answer Yes to the question

Proxy to a server defined in the same docker-compose.yml (y/n)

But it is needed as well if the answer to this question is No.
Without it, even being in the same network, nginx couldn't find the container where to forward the requests simply using its name.
Error was no resolver defined to resolve....

Updated the README and pushed a fix to the CLI tool. Rebuild the CLI tool after pulling the latest updates: docker compose build cli.


Multiple API request on same datasource

so how can i make it work with two api request...i have one for section 0 (fetcUserData where i got json response) and second for section 1 (fetchUserFeed)  but olny one of them is showing depending which is called first in controller

Can you provide a code snippet? I feel like this issue if beyond the scope of LBTAComponents, but I can still try to help you out and get this issue squashed 👍 .

This is definitely out of scope.


Connection.timeout() return 0ns

what should do when Connection.timeout() return 0ns, call on_timeout() right now or just ignore it.

It kind of depends on your application, e.g. you could simply cap the timeout to the minum supported by your system, or you could just handle the timeout immediately.

Original question was answered so closing.