vendor: update buildkit to master@c9ee8491d74f

Split out from https://github.com/dagger/dagger/pull/6134 (note - all we actually need here is the buildkit update. Buildkit master already uses a more recent version of Docker which should not be affected by https://github.com/dagger/dagger/security/dependabot/386).
There are two significant changes in upstream (both made by me) since we last updated:

Git URL parsing has changed to return a custom type, to bridge over the differences between standard URLs and SCP-style URLs. This actually simplifies our parsing code for the command line git directory args, but means we need to update our tests.
fsutil has updated to split the FS interface more, so that now we need to manually create a FilterFS based on a standard FS to define filtering operations (like include, exclude, map, etc).

This vendoring update also bumps github.com/docker/docker to v25.0.0-beta.1, which should prevent GHSA-jq35-85cj-fj4p.

cc @sipsma, this also removes our OTEL hack to avoid panics with conflicting versions of schemas (this was fixed in https://github.com/moby/buildkit/pull/4318).

Yup, I missed these, will dig into them now :)

Ok, it looks like at some point buildkit has introduced a regression which causes us to deadlock - looks like https://github.com/moby/buildkit/pull/4347 is the possible culprit, so I've taken the commit right before it was merged (which thankfully has the fsutil update, so we can pull in docker 25).
I'll dive into the deadlock later, but we don't need to block this PR on it.

I just merged the other PR which introduced some conflicts in the go.mod & go.sum.
Would you mind rebasing @jedevc? If I do it, I will appear as a co-author on all commits which doesn't seem right.
If all checks pass after the rebase, all good to merge from my POV. Would feel more comfortable if this gets @sipsma 👍 too

I just merged the other PR which introduced some conflicts in the go.mod & go.sum.
Would you mind rebasing @jedevc? If I do it, I will appear as a co-author on all commits which doesn't seem right.

Done, should be good to go :crossed_fingers:

@jedevc did we have to back out of this due to the other deadlock issue? Just curious, not blocking

Yup :cry: I just merged https://github.com/moby/buildkit/pull/4318, so it appears in the history after the deadlock we hit from https://github.com/moby/buildkit/pull/4347. Once we find the fix for the deadlock, we should be able to pick that commit over.

Good find on that too btw; very curious what we're doing in our integ tests that buildkit isn't (or if this is somehow particular our dagger-engine flavored buildkit, though it's hard to immediately imagine how since that commit changes things several abstraction layers away from anything we diverge from w/ vanilla buildkit)

Yeah I'm not actually 100% sure on this :thinking: I wonder if maybe we only hit this when doing tons of builds - I think it's specifically triggered by lots of edge merging. Upstream buildkit tests each create their very own buildkit instance (I don't think there's any optimization or anything to share these), so they're all isolated from each other - this has the benefit of isolating each test in it's own sandbox, but means that we don't really have any large scale tests where they can all run into each other.
Since we use only a single dagger backend for all our tests, I think it makes edge merges a lot more likely, especially if we're running loads of tests in parallel (which would explain why this doesn't reproduce when only running a small subset of tests).
I think it's more likely that this is an upstream buildkit issue instead of something we're doing specifically in dagger, but I think some more investigation is needed with a reproducer before we can report upstream - will look at seeing if I can get this to reliably reproduce.


cppzmq: align drafts CMake flag with zeromq

Motivation for this change
The zeromq pkg has an enableDrafts attribute which sets the CMake
flag ENABLE_DRAFTS=ON. This makes library functions under development
visible. This change aligns cppzmq to enable draft functions when they
are enabled in zeromq.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

There is a discussion upstream how ENABLE_DRAFTS should be propagated from libzmq to cppzmq:

https://github.com/zeromq/cppzmq/issues/477
https://github.com/zeromq/cppzmq/issues/492

Therefore I close this PR.


Different Results when I do inference on onnx file using TRT engine vs inference using pth file

I am able to train and validate using a custom dataset (bunch of npy files and corresponding annotations). I am using pointpillars model. The results look accurate on the point cloud using the demp.py file (visualization using pth)
For my eval example 000000.npy,
I get the following results using demo.py:
pred_dicts[0]['pred_scores']  tensor([0.8475, 0.4954, 0.4725, 0.4603], device='cuda:0')
pred_dicts[0]['pred_boxes']  tensor([[  9.6669,   1.1732,   2.1426,   0.2856,   0.5018,   3.1349,   6.2874],
[  9.8581, -10.6740,   2.0632,   0.4447,   0.4504,   2.5857,   6.2749],
[ 24.9824, -10.4977,   3.1227,   0.2673,   0.4696,   3.1857,   6.2983],
[ 24.8274,   1.3483,   2.7095,   0.2326,   0.4953,   3.1487,   6.3119]],
device='cuda:0')
However, when I do inference using the generated onnx file using the TRT engine, I get the following:
50.8117 -6.56379 1.9568 0.256044 0.501621 2.79036 6.28261 0 0.860124
48.4368 -14.8604 2.06768 0.442814 0.450666 2.58379 6.27543 0 0.499151
42.9857 -14.6852 3.1227 0.267265 0.469636 3.18565 6.29831 0 0.472531
45.4026 -6.38253 2.70948 0.232621 0.495276 3.14874 6.31186 0 0.460299
After I analyzed the numbers, I see the confidence numbers are almost the same. Even the box dimensions are same across both. Even the z dimensions match. However, I see a huge disparity in x and y coordinates. Can someone please help me out?
I have attached another comparison as well:

Hey, can someone please help me out with this? I am using npy files for TFRT inference instead of bin files. Not sure if that is causing any issue? When I compared the .npy data being loaded in python vs data loaded in the main.cpp, I see 32 additional bytes when the main.cpp file loads the same npy file. I accounted for this but that did not fix my issue, unfortunately!

@byte-deve , I would really appreciate your input here.


Removing superfluous dependency used in release process

Removing a useless dependency that caused the release to fail. It was a dependency on a non-existent package named python.

Codecov Report
Base: 78.85% // Head: 78.85% // No change to project coverage :thumbsup:

Coverage data is based on head (19e597f) compared to base (011e330).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #399   +/-   ##
=======================================
  Coverage   78.85%   78.85%
=======================================
  Files          14       14
  Lines        1173     1173
=======================================
  Hits          925      925
  Misses        248      248

Flag
Coverage Δ

unit
78.85% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add Grid lines to help identified grid points

@tiphe-cerege to resolve this and land initial works on grids I propose that the grid is always visible faintly see screenshots.
If this is a problem I suggest we open another issue to add on/off functionality to the grids.
Also the grid is currently only displayed the principal map. We could also show this on the other maps if necessary


Apple style onboarding

has a whole bunch of fixes

@aaronhma could you please merge it?

@aaronhma DO NOT DELETE
i messed up the merge, so I need this to stay


Serve JS

We can't pre build JS assets because the host application may be running in a different Phoenix version causing a mismatch and the client may not work. To have full control over the build and minification we could require esbuild at runtime like we do for tailwind-cli but we can postpone it because the only dep that doesn't have a min version is phoenix_html which is very small.

[x] Build on boot and store on ets to avoid builds for first time requests
[x] Merge host app's js deps + beacon js
[x] Serve with cache
[x] Requests in the same live session
[x] Compress
[x] Admin

Archived, can be closed.


[Bug]: improve scroll (horizontal) on skills section

What happened?
I found a BUG 🐞
Currently, the scrolling is not smooth, and when the user scrolls and the cursor points to a skill, the scroll stops.
Steps to Produce:
Search for a user that have skills that overflow. like search for Yash.
Hover to skills section and scroll on mouse.
Scroll is not working smoothly and when the cursor points to a skill scroll is not working.
Add screenshots
No response
What browsers are you seeing the problem on?
Chrome
Code of Conduct

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

I will like to work on this

@PrasannaKumarBhursu This issue it assigned.


Force inspection refresh?

Result of my inspection in Java code depends on resource files, and so it would be nice to refresh the inspection once users fixes their resource files.
I can't find any API way to achieve this, and Intellij is very unwilling to refresh it even if I type over from scratch a line of code that has an error registered, sometimes I have to type it 5 times over or delete a larger block of code...

Do you mean your inspection is checking resources files, but after user fixes a resource file IntelliJ still shows errors? Or do you mean that after you change the inspection code and reload it, IntelliJ still shows errors from the inspection before the change?

the first option 👍

I haven't seen the first problem. Maybe the inspection code throws some exceptions (which IIRC can be sometimes not displayed in the UI or logs). If you have an example, I could try debugging it.
The second problem of inspections not refreshing I've experienced myself for quite a while but never bothered looking into it. Probably, this is a good motivation to finally do it 🙃

live-plugin eats the exceptions from inspection code, so that's something to be improved, took me a while to debug that.
but that's not the problem here, because I already wrapper my code in a try-catch longer time ago.
but still even if IntelliJ was kind enough to refresh inspection after modyfing one character on the line, which it doesn't, it's still not enough and I am looking really hard for an API function that can be triggered to force refresh the inspection when unrelated file changes...

live-plugin eats the exceptions from inspection code
Hm, are you sure it's live-plugin eating exceptions and not just how IDE works? 🤔

... to force refresh the inspection when unrelated file changes
The bit about unrelated file is what I missed from the explanation. Will let you know if I find a good solution.


Small typo fix

I just happened to notice a small typo while linking this. Please no shoot.

Thanks again!


Task: Regenerate examples

#1816

I will happily regenerate again once the bug has been fixed. This seemed like the best approach to clearly demonstrate the issue being seen.

Yes you're right. it's good

Can you update and regenerate with the code from master?

Regenerated and the the issue has been corrected.

Great!

@kenjones-cisco I think the  [] which now becomes null is a new regression failure, probably with the causes as the issue you detected. If you agree, I'll try and fix this new one over the week end.

Agreed, I'm good with waiting until after the new update.
thanks @fredbi !

After a quick look, I confirm this is exactly the same cause: this new gob encode/decode.
Now I realize every spec object with special json unmarshalling needs to be checked if in need of a gob encoder and decoder or we'll have the same issue with other edge cases.

@kenjones-cisco I finished the update with PR #1837.


Could it be made possible to cast from delegates to script blocks and psmethod?

If I do the following:
    $delegate = [System.Environment].GetMethod("GetEnvironmentVariable", $([string])).CreateDelegate([System.Func[string,string]])
    [System.Management.Automation.ScriptBlock]$delegate

Then I get the error:
Cannot convert the "System.Func`2[System.String,System.String]" value of type "System.Func`2[[System.String,
System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String,
System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]" to type
"System.Management.Automation.ScriptBlock".
At line:1 char:1
+ [System.Management.Automation.ScriptBlock]$delegate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [], RuntimeException
    + FullyQualifiedErrorId : ConvertToFinalInvalidCastException

The same happens if I attempt to cast to System.Management.Automation.PSMethod.
Of course it can be wrapped in a script block with { $delegate.InvokeDynamic($args) }, and $delegate.Invoke is a PSMethod, but it feels like unnecessary boilerplate code.

What are you trying to accomplish?

@powercode GetEnvironmentVariable was just to show an example. Assume that I have a delegate from some other source. e.g. because a function in my script is called from some C# code.

@iSazonov It wasn't meant as a question as much as a discussion about whether these casts should be added to PowerShell

@poizan42 Please correct the title and description of the Issue.

I think it is more the question of what the gain is.
Seems like {$delegate.invoke()} would accomplish the same thing.
@poizan42 Do you mean we should add this as a convenience?

@powercode, yes, and there is already a convenience conversion from ScriptBlock, e.g.
$block = { echo "Hello, World!" }
([Func[String]]$block).Invoke()

outputs "Hello, World!" as expected. And I can see that you are working on adding conversions from PSMethod to delegates (#2864), so it would only be natural if they could all be casted to each other.

@lzybkr Thoughts?

Interesting idea. If this was possible, I wonder if I would have used a scriptblock instead of a delegate in some places, e.g.:
Set-PSReadlineOption ... [-AddToHistoryHandler <Func[string,bool]>] [-CommandValidationHandler <Action[CommandAst]>] ...

When I added these features, I considered scriptblock, but used a delegate partly because it was convenient in C#, but also knowing that:

Converting a script block to a delegate worked
The arguments and expected return type are clearly documented in the syntax

I could see adding the proposed conversion from delegate to script block, but I could also see adding support for explicit delegates in some cmdlets, e.g. Where-Object could be much faster if you used a delegate instead of converting the delegate to a script block.

The Engine WG discussed this, we do not think this meets the bar for impact and we're marking this issue as declined.


[Registration] : Re-open the MSISDN token dialog if the previous entered one was invalid

Steps to reproduce
1- create a new account with a MSISDN
2- when the MSDISN token dialog is opened, write an invalid token
Currently, there is a toast with the error reason (invalid token) but there is no way to write the valid one because the dialog is closed. The user has to trigger a new registration request

Not reproduced


Added my personal folder and started the journey of DevOps in public.

@saiyam1814 Hello Saiyam Sir, I am very excited about the journey with the guidance you have posted.
Merge my folder also.

Keep it up @sarkartanmay393


Projects view - "Copy path to clipboard"

"Real" (non-logical) folders and files should have a "copy path to clipboard" menu item.

Possibly even a "Find in Files from here" menu item

Fixed in commit 3a65b8d.


Pacejka coefficients - 300 kPa

Updated the Pacejka coefficients for Schwalbe tire, pressure 300 kPa.  Overall fitting quality sharply improved, especially for large camber angles. The model can now handle Fz up to 1000 N

If you want to start having multiple tires and pressures let's make a tire_data.py file and make some data classes: https://docs.python.org/3/library/dataclasses.html or at least just put the various arrays of values there with appropriate variable names.
Here is an example data class:
from dataclasses import dataclass

@dataclass
class PajeckaTireParameters:
    par1: float
    par2: float

tire1_data_300kpa = PajeckaTireParameters(
    par1=1.2,
    par2=0.6,
)

I am doing a .py with dataclasses. But I can't drop and upload new files, I don't have permissions.

I just sent a Github invite to a team with access to this repository. Once you accept you should have permissions.

I assume this is abandoned, closing.


F570

Use the preview tab to see the example given below. Edit the relevant information and preview the changes before submitting. You may delete these instructions.

Key
Value

ID
F570

Source
Vaaran Bhai Gurdas Ji

Page
25

Line
pYrI pY pwKwk hoie; lyK AlyK Amr AibnwsI [

Correction
THIS ≠ THAT

PROOF (EDITION)
Image:

Correction:
pwKwk ≠ pw Kwk
Proof:
Vaaran Bhai Gurdaas Ji | November 2011 | Shamsher Singh Ashok | SGPC, Sri Amritsar
Image:


Deleting a plug-in results in an error！

My program plug-ins include coreplugin.dll and testplugin.dll, testplugin.dll is dependent on coreplugin.dll, the program first started without any problems, CTK records plug-in information to the configuration folder, but when I delete the testplugin Dll, when the program is incorrect, what is the reason?

Can you please provide more details of the specific problem you are having? What exactly is "incorrect"? Please also copy all console output and error messages you get, otherwise the problem description of yours is too unspecific.


Cannot recalculate stored fields if table history enabled

Describe the bug
If the history is enabled on a table, stored calculated fields in the table cannot be recalculated.
To Reproduce
Steps to reproduce the behavior:

Create a table
Add some fields. In this case at least a field "date" of type Date
Enable history on that table
Add some entries to the table
Create a calculated stored field "year" in the table with formula "moment(date).year()" for example
Try to recalculate stored fields
See empty column "year"
Disable table history
Recalculate fields again
Now the column "year" contains values

fixed in #1443


Release v1.4.3.rc1

Backported fixes for 1.4:

Allow to pass dotted volume driver-opt keys (#3126)
Relax server exec API to accept tty_resize with zero width/height (#3147)
Fix CLI exec to use TTY::Screen.size (#3139)
Fix agent ContainerExec to handle any kind of docker error during tty resize (#3141)
E2e tests: add run! helper that raises on errors (#3110)
Fix DEBUG=plugin Kontena::PluginManager::Loader#report_tracking (#3150)
CLI: Mark certificate get as deprecated in certificate sub-command list (#3131)
Fix stack commands not to modify STACK/GRID env of parent when installing child stacks (#3146)
Fix stack yaml from: service_instances resolver (#3157)
Remove --values-from and prompts from kontena stack registry push (#3158)
Fix negative number in kontena master token current --expires-in (#3154)

Also added https://github.com/kontena/kontena/pull/3098


Add React v17 as peer dependency

This addresses #3754 for F7 v5.
React v17 is backwards compatible, so this should help anyone that wants to upgrade.

Thanks!


Adicionado cobertura de testes

close #23

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@1880c0f). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #24   +/-   ##
=========================================
  Coverage          ?   87.87%
=========================================
  Files             ?        5
  Lines             ?       33
  Branches          ?        0
=========================================
  Hits              ?       29
  Misses            ?        4
  Partials          ?        0

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 1880c0f...47515db. Read the comment docs.


Setting options in gulp-cssnano

Hi @ben-eb, I'm attempting to use gulp-cssnano on node v0.10.36. I've managed to get the plugin integrapted into a testing gulp task but how do I set options?
Looking at the documentation for various plugins + the source of cssnano [vanilla ver. not gulp] I can see the options allowed and where they are taken from, as well as also having the disable: true attribute set to ignore an option.
The problem is I'm attempting to add them to my gulpfile and it's a no go.
 return gulp.src('bingotest/*.css')
            .pipe(p.plumber())
            .pipe(p.cssnano(
                autoprefixer: false,
                disableDuplicates: {disabled: true}
             ))
            .pipe(p.rename('test.css'))
            .pipe(gulp.dest('test/'));

I have also tried using gulp-cssnano and nano (as I'm using gulp-load-plugins all plugins are loaded async. into the p function.

You missed the enclosing object literal. :wink:
 return gulp.src('bingotest/*.css')
            .pipe(p.plumber())
            .pipe(p.cssnano({
                autoprefixer: false,
                disableDuplicates: {disabled: true}
             }))
            .pipe(p.rename('test.css'))
            .pipe(gulp.dest('test/'));

Thanks for the quick reply!
Sorry I messed the code sample up - here is the amended ver (it's still not working).
gulp.src(siteLessDir + 'build.less')
        .pipe(p.plumber())
        .pipe(p.less())
        .pipe(p.rename(siteName + '.css'))
        .pipe(p.cssnano({
            autoprefixer: { browsers: ['last 2 versions'] },
            discardDuplicates: {disabled: true}
        }))
        .pipe(gulp.dest(siteDir + '/css'));

a {
  display: flex;
}

a {
  display: flex;
}

I'm using the above two codes to test both autoprefixer and discardDuplicates, but no dice.
I get  a { display:flex;} only once and with no prefixes. Any further ideas as to what this could be?

Yep; Autoprefixer is used in a removal only capacity as this is a compression tool. You can add prefixes if you set add to true; {autoprefixer: {add: true}}. I expect that the second rule is removed because postcss-merge-rules takes care of merging those two rules together.

Thanks again!!!!! I can now see the autoprefixer changes (upon looking into cssnano's index.js I can see the option as well).
However mergeRules: {disable: true} isn't working. Can I clarify how do I find the options for gulp-cssnano - I assumed it was the processors obj. literal in index.js with the _postcss part removed and the first letter lowercased.

There's a list on http://cssnano.co/options/. :smile:

Thanks again. I have read that page and http://cssnano.co/optimisations/ but the problem is I don't understand what the default option is to install an option outside of the var defaultOptions and var safeOptions.
postcss_MergeRules = mergeRules but then how can I tell if it is on?

If you pass {disable: true} or false to any plugin, it will disable it;
{
  mergeRules: {disable: true}
}

Is equivalent to:
{
  mergeRules: false
}

The postcss prefix is entirely optional (for readability only). So this config is also the same as the prior two:
{
  postcssMergeRules: false
}

All modules are loaded by default, but they have different settings depending on whether safe mode is on or not. The problem you might be facing is overlapping functionality; some of the modules naturally do the same things depending on the CSS passed. So in this case you would want to disable mergeRules & discardDuplicates to ensure that the second rule exists (I don't recommend this for obvious compression reasons though).

Thanks @ben-eb  for the help. This helps me understand cssnano much better.


⚠ Bofrost.be has degraded performance

In 1061a7c, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1148 ms

Resolved: Bofrost.be performance has improved in 1a20e11 after 6 minutes.


Consolidate SHAMap::addRootNode overrides.

Remove SHAMapAbstractNode::dump
Clean up some formatting.

Reviewers: @HowardHinnant, @miguelportilla

LGTM :+1:

:+1:

Production interfaces should not have unit-test specific parameters (for example TxnSignApiFacade appearing in the parameter list to transactionSign. This consolidation is not a cleanup at all since it puts unit test code into a production function.
:-1:

That's fine by me, as long as we're aware that the unit test is not testing the production function. Perhaps the best solution is to rewrite the test.

The problem is we have a function that takes a boost::optional that only has meaning for a test. Someone who sees the function signature might wonder, what are the semantics of the call when the parameter is boost::none? We should eliminate the anxiety that might confuse readers. A similar situation exists where uint256 values can mean special things when they are zeroed.

Agree.


Change name to docker engine ACAP

Docker Engine ACAP is maybe a better name
I was confused and had to look up what the difference was between docker-acap and docker-compose-acap.
Docker Compose is the official name of this project: https://docs.docker.com/compose/
Docker Engine is the official name of this project: https://docs.docker.com/engine/
If we rename this repo to docker-engine-acap it will better reflect what it is in relation to docker-compose-acap.
Added value
Other will just like me faster understand what value each component provide.

Not planned at the moment. Should probably be coupled with a merge with the docker-compose-acap repo.


[3] User Landing Page

For User User Landing Page, we were able to design a wireframe or layout

.


Change ocall log level to VERBOSE from INFO.

This is a proposal to change the log level of the new ocall logging feature from INFO to VERBOSE. I'm proposing this change because there is important diagnostic information that can be gathered when setting the log level to INFO (for example, when diagnosing quote verification failures), and OCALL log messages add a lot of noise when they might not be important for diagnosing an issue related to core OE functionality.
Tagging @achamayou who first implemented the ocall log feature. Feel free to tag anyone else for review

Sounds good to me, I agree that INFO was probably a little too optimistic. Initially I had an exception not to log logging OCalls, which reduced output somewhat, but we changed that so it’s definitely best at VERBOSE now.

bors r+


/v2/pokemon/129/ returns 500 error

Seems like the resource is missing

monitoring this on issue #115.


setup-bun failing to download in github actions CI

example failed run: https://github.com/emberjs/data/actions/runs/10656718932/job/29536058059?pr=9531
Run oven-sh/setup-bun@v1
Downloading a new version of Bun: https://bun.sh/download/latest/linux/x64?avx2=true&profile=false
Request timeout: /download/latest/linux/x64?avx2=true&profile=false
Waiting 19 seconds before trying again
Request timeout: /download/latest/linux/x64?avx2=true&profile=false
Waiting 13 seconds before trying again
Error: The operation was canceled.

This started occurring sometime in the last 36 hours

seems to have self-resolved, probably a github actions infra issue


chore(main): release 1.0.1

:robot: I have created a release beep boop
1.0.1 (2022-05-30)
Bug Fixes

test ci (#58) (36c22f8)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/SecretHouseGame/ngx-design-system/releases/tag/v1.0.1 :sunflower:


How to build nd4j from source on Windows 10 with CUDA driver version 11.1 and a newest Nvidia GPU card device?

Issue Description
Please describe our issue, along with:

Sucessfully build nd4j.jar
./buildmultiplescalaversions.sh nor working on our situation

Version Information
Please indicate relevant versions, including, if relevant:

Deeplearning4j version - current newest version
Platform information (OS, etc) - Windows 10
CUDA version, -  CUDA Driver Version / Runtime Version - 11.1 / 10.2

Additional Information
Factually we have built libnd4j from souce on Windows 10 with CUDA driver version 11.1 and a newest Nvidia GPU card device and we've got the expected file: nd4jcuda.dll. Next we need to build nd4j from source. We searched the whole network and only found two guides on how to do the job. They are:
https://deeplearning4j.konduit.ai/getting-started/build-from-source
and
https://github.com/deeplearning4j/nd4j
but no matter the version of nd4j from here: https://github.com/deeplearning4j/nd4j or here: https://github.com/KonduitAI/deeplearning4j/tree/master/nd4j or here: https://github.com/eclipse/deeplearning4j/tree/master/nd4j
running the command:
./buildmultiplescalaversions.sh
seems not working in our situation because our newest CUDA driver version 11.1 is still not supported in these files. But if run
mvn .....
command to build. What is the exactly command in our situation?

Closing this. Again, this is not a bug and double posting will not help you get answers faster. If you want guaranteed response times, please consider a commercial engagement with proper expectations and an SLA, otherwise you can also wait for our release. (I know neither option is ideal for you, but demanding something of an OSS project which you're using for free and repeatedly banging the door same day isn't reasonable either.) Thanks for understanding.


Fixed protx list issue for valid nodes with collateral changes

This resolves #110
protx list valid when specifying a height (other than the tip), does not properly account for collateral upgrades.
See #58 for original work.

Should not be already resolved?
I did add that code you did mention at #110

You did, but only about half of it.  This PR adds the rest of it.

Should not be already resolved?
I did add that code you did mention at #110

Just checked my PR's and .....
I dont know why was it done this way.
one PR was adding and another one was deleting it again. But nvm.
I am preparing 3 PR atm with much code:

leveldb updated to the latest upstream + simplyfied build process (leveldb is treaten like included codebase, not outside),
crc32c updated to newest upstream
full Hardware support fot New ARM64 cpu's
Fully HW Randomness Calculation support
CPU is tested for implemented functions and if present -> have use of them
Fully Thread-Safe mockable time() related finctions based on std::chrono::
C++17 used for compilation
Upgraded and rewritten depends
Fully native Apple Silicon M1 build on macOS 12.n+

I can do at 1 PR but will be too big so will do on 3 then
And before I will rebase it of course to the newest develop branch.


"Receiver has no segue with identifiier" error when didselectrowatIndexPath

I got this error when I clicked in a cell and the segue already exits.
Any idea what is the problem?
I would be very grateful if you can give any help.
Thank you for everything.

IT seems in not something related with the library since i understand the cell you mentioned is part of a child view controller, right?
@pmendiburu Could you please follow this contributing guide https://github.com/xmartlabs/XLPagerTabStrip/blob/swift/CONTRIBUTING.md to ask for help.


investigate brakeman report

I think @jamiebuckley actually already whitelisted these elsewhere, in the controller or model. Let's give him a chance to review this before merging.

I think @jamiebuckley actually already whitelisted these elsewhere, in the controller or model. Let's give him a chance to review this before merging.

They used to be there in the controller but I could not find them again, I think they are just embedded in the HTML which can be easily manipulated...

These are currently whitelisted in the filterable concern, but it doesn't hurt filtering them in multiple places I suppose

One thing we could do if we want to whitelist these in multiple places, is put the 'ASC|DESClogic in a helper, e.g.safe_order_direction`

These are currently whitelisted in the filterable concern
https://github.com/wearefuturegov/beacon/blob/master/app/models/concerns/filterable.rb#L34
it doesn't hurt filtering them in multiple places I suppose

PR updated, I left the RSpec for ordering but removed the ASC / DESC check

 Investigate brakeman report


Customizable commit message format

As per my discussion on Twitter, dependabot tries to automatically detect the format of the commit messages based on the commit history of the repository.
However in my case, (uuid-rs/uuid), we are transitioning from a freestyle formatting to a conventional commit format, and want to start with dependabot commit messages.

Thanks for creating this @kinggoesgaming.
OK, so the current setup is that Dependabot will automatically detect that you're using angular-style commits as soon as 30% of your last 30 commits use it (excluding merge commits and Dependabot's own commits). Are you saying that it will cause a problem for Dependabot to be doing the wrong thing during the transition?
FYI, the code for this is here.
I could make this configurable, but if it's only going to be a very temporary problem is there a need to?

hmm wasnt aware of the 30% ratio....
If you're reading this and want something different, please do open a new issue for it and I'm very happy to discuss!


Add DNSSettings support for Tracer

Please provide a description of this PR:
A new section called dns_settings has been added to the Tracer Configuration. The purpose of this addition is to limit the Istio proxy's DNS queries to 10 minutes, instead of the default 30 seconds when Zipkin tracing is enabled. This can be achieved by defining the below structure in MeshConfig using this PR:
dns_settings:
  refresh_rate: "600s"
  respect_ttl: false

Related PR: https://github.com/istio/api/pull/2934
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Ambient
[*] Configuration Infrastructure
[ ] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Hi @aatarasoff. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Please use Telemetry API, MeshConfig.DnsRefreshRate may help this.

Adding DNM label pending discussion on the API PR

Please use Telemetry API, MeshConfig.DnsRefreshRate may help this.

We also need respect_ttl because we tried to change the refresh rate only. It didn't help

Please use Telemetry API, MeshConfig.DnsRefreshRate may help this.

We also need respect_ttl because we tried to change the refresh rate only. It didn't help

Telemetry API use standard CDS, I don't we need something special for tracing.
cc @howardjohn

Telemetry API use standard CDS

Don't fully understand, but let me explain the issue.
Now we have the following structure in envoy_bootstrap.tmpl.yaml:
{
        "name": "zipkin",
        ...
        "respect_dns_ttl": true,
        "dns_lookup_family": "{{ .dns_lookup_family }}",
        "dns_refresh_rate": "30s",
        ...
}

We desire the following rendered configuration according to our tests:
{
        "name": "zipkin",
        ...
        "respect_dns_ttl": false,
        "dns_lookup_family": "V4_ONLY",
        "dns_refresh_rate": "600s",
        ...
}

As you can see, we need to change dns_refresh_rate and respect_dns_ttl. We can use the dns_refresh_rate property to change the refresh rate, but we have nothing to change respect_dns_ttl.
By the way, it is okay to add respect_dns_ttl or other property to the same level as MeshConfig.DnsRefreshRate and use it if you don't want to introduce separated section for tracer for some reasons.

Actually, you can achieve this with Telemetry API, then pacth Cluster with an EnvouFilter.
I have no objection to adding support for new apis in MeshConfig, if this's a common issue.

Actually, you can achieve this with Telemetry API, then pacth Cluster with an EnvouFilter. I have no objection to adding support for new apis in MeshConfig, if this's a common issue.

Thanks, that's interesting. Let me give it a try.
However, for me, it doesn't seem like the most straightforward approach 😅

if respect_dns_ttl is true, actually dns_refresh_rate should make no sense

from https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/, it seems the default k8s dns ttl is 5s. I am sure this can be changed

PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Open shift does not pick up the sensor data after a few days

The only way to resolve this is to restart the open shift app.

Errors from logs:
error: 	14 Apr 17:39:42 (/index.js:142:12) Event { type: 'error' }
error: 	14 Apr 17:39:43 (/index.js:142:12) Event { type: 'error', status: 502 }

at index.js:142:
eventSource.addEventListener('error', function(e) {
    logger.error(e)
  } ,false);

possible reasons:

https://stackoverflow.com/questions/23686162/web-app-shuts-down-502-error-while-running-a-intensive-task


docker环境似乎没有依赖的库，

CMake Error at CMakeLists.txt:73 (find_package):
Could not find a package configuration file provided by "tabulate" with any
of the following names:
tabulateConfig.cmake
tabulate-config.cmake

Add the installation prefix of "tabulate" to CMAKE_PREFIX_PATH or set
"tabulate_DIR" to a directory containing one of the above files.  If
"tabulate" provides a separate development package or SDK, be sure it has
been installed.

@SYaoJun Thanks All the third-party libraries should be installed by vcpkg inside the docker container. Could you share your build commands so I can help with this issue?

I follow the steps of src/docker readme.md. Indeed, the reason of this problem is vcpkg not install. I solve this but another problem occur, how to deal with this bug? I run make
/tmp/ccVcYHjv.s: Assembler messages:
/tmp/ccVcYHjv.s:134757: Error: selected processor does not support `eor3 v0.16b,v1.16b,v3.16b,v0.16b'
/tmp/ccVcYHjv.s:134876: Error: selected processor does not support `eor3 v0.16b,v1.16b,v6.16b,v0.16b'
/tmp/ccpxzjde.s: Assembler messages:
/tmp/ccpxzjde.s:140327: Error: selected processor does not support `eor3 v0.16b,v1.16b,v3.16b,v0.16b'
/tmp/ccpxzjde.s:140446: Error: selected processor does not support `eor3 v0.16b,v1.16b,v6.16b,v0.16b'
make[2]: *** [src/CMakeFiles/leanstore.dir/build.make:118: src/CMakeFiles/leanstore.dir/btree/TransactionKV.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

@SYaoJun Did you build it on an arm chip? It's recommended to build on a x85 cpu.

yes，I run docker on MacOS M1 chip.


Addition of Adjoint Seminar Material

This PR contains the needed material for today's seminar.

Thanks for catching the mistakes, I adapted them and added the manifest.toml as well.


[9.x] Add last() method to Query Builder

This pull request adds last() method to Eloquent Query Builder classes.
People were using latest()->first() and I think it could be helpful.
Also, the use of latest()->first() is actually a bad practice when you want the last record of a given table, because it could return unexpected results on records created at same timestamp (literally returning the first of the last).
This PR also solves this, adding an optional parameter to latest() method called primaryKey. When it is set to true, Eloquent will getKeyName() before use created_at, while default Query Builder will always use defaultKeyName().
It also works for model relationships, of course.
Examples:

User::latest()->first() or DB::table('users')->latest()->first() ??

Overall I think this is a good addition, but adding a parameter to a public function is a breaking change, so I guess you should target this PR to 10.x.

This indeed will need to target master

Oh, okay... Thank you guys! I'll target this PR to 10.x and then re-open it.


ADD " STO Reservations "  on Admin User - Transaction Tab and Option for Admin User to Approve/Reject pending reservations.

ADD " STO Reservations " on Admin User - Transaction Tab
Once Clicked, system shows All STO reservations (list) - Pending for Approval
If User Clicks a Pending Reservation, system displays reservation details from database and displays option buttons to "approve" or "reject" reservation.
For Rejected Reservations, append "reason: ".

All good... Checked on DSA, and Prop. C. naka centralize na siya...


ARM64 build on native runner

Summary
Change workflow job for arm64 build to run on native arm64 runner, rather than emulated on amd64.
Testing Steps

Check if the CI job passes.

Running on arm speeds it up enough that we could run the tests on arm too. Should we do that?
If we run the tests on both arm and amd, we can split this into two workflows. Will that be more or less maintainable?

Using separate workflows for AMD64 and ARM64. After removing the git-lfs requirement from the workflow both run successfully.

It looks like promotion of the snap fails on AMD64 when ARM64 does not have a revision in the source branch. Need to investigate this. Does a promote command promote all architectures?

Splitting this into two workflows results in a lot of replication. This should ideally be one workflow with a job matrix.
Yes, snapcraft promote promotes all builds from one channel to another. I don't think one can specify just one architecture. If using a job matrix for the build and tests, the promotion can happen in a separate job once the previous jobs finish and converge.


Doesn't add @storybook/vue to devDependencies?

Seems wrong for this plugin to not add @storybook/vue to devDependencies. It gets installed because it's a dependency of this plugin but it's not actually saved to the new project, so if you have to delete node_modules and reinstall, your project is broken.

This plugin would add itself to devDependencies. So, if you reinstall node modules, then @storybook/vue would still be installed because it's a dependency of this plugin. I don't understand why the issue is occurring for you.

@nickforddesign Any update on this? I will close this soon if none.

there is a certain point to this and while adding @storybook/vue to devDeps would work, i dont think this is the best approach. the thing is that you do direct imports on @storybook/vue in your stories/config, so in an ideal world you should add it to the deps. the way i would go, is to reexport the @storybook/vue stuff from the plugin, so you would import from the plugin not @storybook/vue, but then we tie the plugin version to @storybook/vue's version.

if we go for the reexport version, i would wait until the TS migration is done for storybook so its easier to reexport the needed types too

yeah that was pretty much the issue. having to include
/* eslint-disable import/no-extraneous-dependencies */

is a hacky workaround, and I am 99% sure that when I reinstalled node dependencies that @storybook/vue was not installed.

Maybe put @storybook/vue outside plugin is better? if i want upgrade @storybook/vue，i must remove @storybook from  plugin's node_modules

I made @storybook/vue a peer dependency in v1. This should be solved now.


right shift reg issue

Hi, as described in documentation http://devernay.free.fr/hacks/chip8/C8TECH10.HTM#00EE
8xy6 - SHR Vx {, Vy}
Set Vx = Vx SHR 1.
If the least-significant bit of Vx is 1, then VF is set to 1, otherwise 0. Then Vx is divided by 2.
but in your implementation
def right_shift_reg(self):
        """
        8st6 - SHR  Vs, Vt
        Shift the bits in the source register 1 bit to the right and
        stores the result in the target register, leaving source
        with its original value. Bit 0 will be shifted into register
        vf. The register calculation is as follows:
           Bits:  15-12     11-8      7-4       3-0
                  unused   source    target      6
        """
        source = (self.operand & 0x0F00) >> 8
        target = (self.operand & 0x00F0) >> 4
        bit_zero = self.registers['v'][source] & 0x1
        self.registers['v'][target] = self.registers['v'][source] >> 1
        self.registers['v'][0xF] = bit_zero

you store the shifted source register Vx value into Vy(target)
correct me if i'm wrong. should it be like
      self.registers['v'][source] = self.registers['v'][source] >> 1

?
And one more question
From same docs:
Bnnn - JP V0, addr
Jump to location nnn + V0.
The program counter is set to nnn plus the value of V0.
In your implementation you used index register
def jump_to_index_plus_value(self):
        """
        Bnnn - JUMP [I] + nnn
        Load the program counter with the memory value located at the specified
        operand plus the value of the index register. The address calculation
        is based on the operand, masked as follows:
           Bits:  15-12     11-8      7-4       3-0
                  unused   address  address  address
        """
        self.registers['pc'] = self.registers['index'] + (self.operand & 0x0FFF)

Docs says it should be v0 register. Is index register v0?

nevermind


Why keyvalue database can't put buffer as value?

when i try to put a key-value

like:
var value = {
val: {
data: [6,4,2,6,5,6,87,87,0,2,32,3,213,54,54,123,234,185,226,55,6,56,67,56,34,32,42,42,91,],
type: "Buffer",
}
}
db.put('test.bin', value);

it looks fine. but when i try to read a file(maybe it's not a good idea) and put it as value:

const imgdata = fs.readFileSync('test.bin');
db.set(key, {'val':imgdata})

it looks fine too. But if some peer try to get this key, error will occur:

Error: Could not validate signature "304402...4d42396" for entry "zdpuAt5Pm....bpuzUn" and key "0445d...709"

i try to read source code to figure out why, but no progress. Could some tell me why?

I'm not sure of the reason but I'd like it to handle any datatype that can be encoded in CBOR which may already be the case; the CBOR codec used should be able to encode Uint8Arrays and Buffers.
However its probably not best to store img data inside the entries and would probably be best to first upload the images to ipfs and store the CID inside the db.

@tabcat  I agree. Its just a trial.
But it looks like this error will cause other peers slow down(or no response for a moment).
i try to pass string like JSON.stringify(imgdata), all the peers work well; but if just replace JSON.stringify(imgdata) with imgdata, error occur in other peer(s).

It's probable that the data being signed is not the same after being decoded for verification, which results in an invalid signature. It's definitely a bug and should be handled, thanks for opening this.

https://github.com/orbitdb/ipfs-log/blob/2cb68814b98ba15f79a8dcf554f26c1505a5985e/src/entry.js#L30-L59
it looks like what is being encoded into the entry and what is being signed are different.


Add picture oder avatar attribut to jobs

As we plant to give users the possibility to add avatar to their job, it well also be go to save these images on the server and just provide the link to the frontend

@Zaker237 where will we save the images ?

i guest on the server

We could store it in the DB as blob (I would prefer not to), or use a self hosted open source blog storage

When i was working on bukela ( a streaming service https://twitter.com/iamdipanda/status/1603378437120749568) i created a project to turn telegram into a storage it work pretty well.
This is the link: https://github.com/DipandaAser/tg-bot-storage
We can used on two way: as a self hosted service or we can directly embed it into the project

@elhmn @Zaker237  tell me what you think. If we use it that's means no additional cost.

I am not sure how that will perform as a hot cloud storage, meaning that we would like the images to be retrieved quickly.
Also we should be sure that we can it is legal to use to make money with, because that's the goal of that new feature from jobsika.

If you can prove that it is completely legal, we can try that out, otherwise I would use an opensource solution that uses our server disk space as data storage.

Is the API you are referring to an official API provided by telegram ?
If we go with minio can you prototype something?

Yes it's provided by telegram.
Yes I can prototype something with minio since it's an S3 object storage system


Solved Reverse Integer In JavaScript

Created separate JavaScript folder for only JavaScript solutions
Solved #7 Reverse Integer in JavaScript

Thank you so much for creating this pull request and my apolgies for replying so late. I usually take a look like within a couple of hours only.
I am accepting this pull request and merging this. In the future please don't use var and prefer instead const or let :)
And please contribute more as well. I am genuinely much more proactive than this.


fix link to usage

noticed this link in the readme was broken

I don't think the build failure is related to this chagne.

Thank you, much appreciated!


[enhancement] JEI Integration?

Would it be possible to have jei pages devoted to the three bartering loot tables? So if you were wondering how to get crying obsidian, jei would say you could get it from bartering?

that's actually a decent idea, isn't there a mod that shows loot that can be dropped by mobs?


A quick fix for Issue #32-- simply put None for mission, if not available

A teeny-tiny pull request to allow the Kepler "two-wheeled concept engineering" data to be used in its current form.  Useful for our K2SFF head-to-head comparison.

Merging this so that I can use it right away for my tutorial!  Closes #32 .

This makes sense!


Creating a Blog Website using HTML CSS and JS

I am planning to create a blog website using my knowledge of HTML,CSS and JavaScript. Please assign this issue to me for SWOC 23.

@Vanshiii203 Kindly please review my PR and merge it.

@aryaman1202 i have already commented on your PR


Microsoft Azure Storage Explorer doesn't see any documents in container

Why I can't see any items?

On portal

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

ID: 4314a5a5-2599-b5fd-063f-a2670e4d18c5
Version Independent ID: 39a2f096-d18c-d51a-085a-4acc2a8cb834
Content: Manage Azure Cosmos DB resources using Azure Storage Explorer
Content Source: articles/cosmos-db/storage-explorer.md
Service: cosmos-db
GitHub Login: @deborahc
Microsoft Alias: dech

@Marusyk We are checking this and we will get back to you.

@Marusyk I can see the items when I connect, it works at least for SQL API. Which API did you use?

I have the latest version of storage explorer, which I see maps to the version you are using:

I'm using SQL API too

Can you please install the latest version and try again? if that doesn't work too can you please create a support request someone on our team will reach you to debug the issue.
If it results in any doc update I will update as needed.

@SnehaGunda  I have the latest version of storage explorer! Look at the screen

@NavtejSaini-MSFT can you please direct this issue to Cosmos DB support? As of now, it's not a doc issue.

@Marusyk Please raise a support request for your issue so you can get the help you need. Please let us know if you need any help regarding the same.

I cannot raise a support request from an organization account. Thanks for your time


[Question] Embed Direct Line Bot within HTML page.

Hi,
I couldn't Embed my directline bot in html page using directline_Secret_key , I created bot in C# and want to access it with directline api in html page. Please help me for this. If any example is available then please let me know. How should I write code for accessing directline bot in my html? How to create and pass token and conversation Id to the directline object?
Thanks

Can you please show us what you tried already?

I tried https://github.com/Microsoft/BotFramework-WebChat this example. In this example there is script from which we can provide directline secret key , shown on https://github.com/Microsoft/BotFramework-WebChat/blob/master/samples/backchannel/index.html . So I am confused what is token there and how to define user at runtime. They say token and domain are optionally but , I couldn't pass user generated at runtime. How can I do that?

@SUGPZ Do you care about customizing the chat window at all? If not you can embed your bot another way:
1. Head over to the dev.botframework.com Portal where your bot is registered:

2. Click on "Web Chat" to get a <iframe...> with your bots information

3. Embed that into your html file and enjoy. Test it out in jsFiddle as well if you'd like. Change the style of it to your liking:

Hi @SUGPZ
You can also create an mvc area, and have the controller retrieve the token for you, placing the token in the  view.  I threw together a quick example that does this: https://github.com/EricDahlvang/TokenBotExample
Specifically, check out the https://github.com/EricDahlvang/TokenBotExample/blob/master/TokenBotExample/Areas/Bot/Controllers/WebChatController.cs that creates a WebChatModel.  The model just retrieves a token, using the secret (secret is stored in the web.config).  Then, the view places the token into the BotChat.DirectLine: https://github.com/EricDahlvang/TokenBotExample/blob/master/TokenBotExample/Areas/Bot/Views/WebChat/Index.cshtml
I hope this helps.  I'm closing this issue.  In the future, please ask "How to:" type questions on Stack Overflow, so the entire community can benefit from the answers.

Hi,
But I don't want to use Webchat as well as MVC. I want to call a bot in html page with direct line api. I am unable to call my bot using that api as it require "user" parameter and I want to know what should I pass it and how as my bot don't have specific user.
Thanks

@EricDahlvang When I clone the repo at https://github.com/EricDahlvang/TokenBotExample the site runs the default page.  How do I set the routing to call the mvc page as default?

@RobertFinger You can add a url rewrite rule to the web.config:
<system.webServer>
    <rewrite>
      <rules>
        <rule name="URL Rewrite">
          <match url="^$" />
          <action type="Rewrite" url="/bot/webchat/index" />
        </rule>
      </rules>
    </rewrite>
    <defaultDocument enabled="true">
      <files>
        <clear />
        <add value="default.htm" />
      </files>
    </defaultDocument>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>

Thanks!

@EricDahlvang, Thanks for the code sample!
I am using Asp.Net Core 2.1 MVC and like to integrate WebChat channel with embed Direct Line Bot in it. I notice that in your code sample, the DirectLine is embed into the webchat. Here is a question and would appreciate your comment:
(1) Could I use ConversionId from Direct Line Bot instance to replace UserId?
(2) What is the recommend way to retrieve conversion/state data
A code sample would be the best. Thanks.


search engine

Hello my friend.
I tried use glpi-sdk-python for integration my GLPI with another software.
So I can't make correct request for search all tickets with some criteria. For example, I need recieve all tickets with "in progress" state:
I wrote some code:
print json.dumps(glpi.search('ticket', {"criteria": [{"field": "status", "value": "2"}]}),
indent=4,
separators=(',', ': '),
sort_keys=True)
Method "search" get all items before, GLPI API return only 100 first items. So today I have >5000 tickets.
Couls you wtite some example, how can I use search method in your SDK?
Thank you.

Hi,
thanks, @mtulio can you help-us?

Hey guys,
just digging inside the code...
From as far as I understand it, currently the range parameter is not supported and will thus fall back to the default value.
Maybe @mtulio will accept a PR for this?


Add float animation to input fields and fix bug with styled-dropdown.

I've just made the float labels work when the selectize element is a . I've also build in a JS check on page load if the input is filled with items. If so, then the label will be up in the top of the input field (the end state).

Coverage remained the same at 74.869% when pulling 344224f5a65dd4c032b32ff218baca9c467ed782 on feature/float-label into 2e61d0161632219b975d49f85aecd02fd5d77528 on develop.

Coverage remained the same at 74.869% when pulling 23b99b7aa157010c0824da056c41444ff77dc7a7 on feature/float-label into 2e61d0161632219b975d49f85aecd02fd5d77528 on develop.


h3: better estimate QPACK encoded output size

The HTTP/3 and QPACK encoding process relies the HTTP/3 layer creating
an output buffer and passing this to the QPACK layer for it to encode
into. Previously, the calculation of the buffer size used a simple
approach for estimating the correct size of the buffer. In some cases
this estimate could be wrong, for instance when Huffman-encoding a
literal value in the low or extended ASCII ranges. This could lead to an
underestimation of the buffer size, which cause the QPACK encode to fail
leading to an h3::InternalError that would bubble up to an application
attempting to send requests or responses.
With this change, we move the check of a header's static representation
type earlier in the encode process, and use the type to provide a better
estimate of the required buffer sizes. The additional upshot is that
fully-indexed types (where the name and value are both in the static table)
require less storage and we no longer over estimate.

Closed in favour of https://github.com/cloudflare/quiche/pull/1423


Probe changes in helm chart template

Signed-off-by: Michael Valdron<EMAIL_ADDRESS>Please specify the area for this PR
registry
What does does this PR do / why we need it:
Updates the probing in the helm chart deployment template to ensure the registry index server is ready before launching the registry viewer.
Which issue(s) this PR fixes:
Fixes #?
part of devfile/api#1019
PR acceptance criteria:

[ ] Test Coverage

Are your changes sufficiently tested, and are any applicable test cases added or updated to cover your changes?

Documentation (WIP)

[ ] Does the REST API doc need to be updated with your changes?
[ ] Does the registry library doc need to be updated with your changes?

How to test changes / Special notes to the reviewer:

blocked by devfile/api#1020

rebased and unblocked


memcmp bug

I saw this warning scroll by when building Natalie in release mode using this Dockerfile. I'd never seen it before but figured I should document it before I forget:
remote: #12 75.89 In member function ‘bool TM::String::operator==(const char*) const’,
remote: #12 75.89     inlined from ‘Natalie::Value math_defn_frexp226(Natalie::Env*, Natalie::Value, Natalie::Args, Natalie::Block*)’ at build/generated/math.rb.cpp:763:34:
remote: #12 75.89 /natalie/include/tm/string.hpp:863:22: warning: ‘int __builtin_memcmp_eq(const void*, const void*, long unsigned int)’ reading 13 bytes from a region of size 1 [-Wstringop-overflow=]
remote: #12 75.89   863 |         return memcmp(c_str(), other, sizeof(char) * m_length) == 0;
remote: #12 75.89       |                ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

...also, if we missed this before because of a warning we see in production mode but not in debug build mode, then we should fix that too.

This is a false alarm. It only warns on GCC 10; newer versions do not warn on this. We have an explicit length check on the line just above, so I'm confident this is not a real issue. I will use a newer Docker image version for natalie-lang.org.


Feature request -- This masonry for react native

For now you can try to use WebView for react-native. I haven't planned a port for RN.


Use bare specifier import for dependent components

What is affected?
Tooling
Description
As reported by a user on discord https://discord.com/channels/1012791295170859069/1076197552904491108/1165169545816846346
when components are loaded from CDNs like esm.run or esm.sh, they end up being bundled such that using multiple components can cause duplicate custom element registration errors.
CDN bundlers currently have no knowledge of all the entrypoints to the package to be able to deduplicate internal self imports. Using bare specifiers and package exports would help with this.
Reproduction
https://lit.dev/playground/#gist=73234f9745308e38a224d3eb92ca71ab
doing
import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>
produces error
Uncaught DOMException: Failed to execute 'define' on 'CustomElementRegistry': the name "md-focus-ring" has already been used with this registry

Workaround
Workaround is to use the all.js entrypoint to register everything at once, or don't use a CDN and use a build system to actually bundle the code being used yourself.
Using bare specifier imports internally would allow better deduplication control by these bundlers.
e.g.
https://github.com/material-components/material-web/blob/33e4293eca4f7056ed106f7247f12424dbc82290/button/internal/button.ts#L7-L8
could turn into
import<EMAIL_ADDRESS>import<EMAIL_ADDRESS>
Unfortunately, I think package exports is required for self reference in Node https://nodejs.org/api/packages.html#self-referencing-a-package-using-its-name.
So following should be added to package.json
{
  "exports": {
    "./button/*.js": "./button/*.js",
    "./checkbox/*.js": "./checkbox/*.js",
    ... etc
  }
}

This can be considered breaking unless absolutely every file that was accessible before, including internal files, is listed there.
Is this a regression?
No or unsure. This never worked, or I haven't tried before.
Affected versions
1.0.1
Browser/OS/Node environment
n/a

This never worked, can custom elements creation error be catched internally?


feat(android): implement pictureInPicture prop and onPictureInPictureStatusChanged event

Update the changelog
feat(android): implement pictureInPicture prop and onPictureInPictureStatusChanged event
Describe the changes
feat(android): implement pictureInPicture prop and onPictureInPictureStatusChanged event
TODO

[ ] Fragment's onPictureInPictureModeChanged is not called correctly.
[ ] enable fullscreen behavior on PIP entry and disable fullscreen behavior after PIP exit.

Thank you for the PR, can you open a PR in draft, it will allow to comment on it.
I have a first point here:
public void onHostPause() {
isInBackground = true;
if (pictureInPictureEnabled) {
enterPictureInPictureMode();
return;
}
You cannot do like this, when another application will go over the app, it will automatically switch to Pip ...
Second point, I don't understand why you use a dedicated fragment : ReactExoplayerFragment can you explain why you had to use it please ? (point to doc or other sample is enough)
Another interesting point would be to enable pip in sample to be able to test easily !

I don't understand why you use a dedicated fragment : ReactExoplayerFragment can you explain why you had to use it please ? (point to doc or other sample is enough)

can you enable pip in sample to be able to test easily please

can you enable pip in sample to be able to test easily please

      <Video
        style={{width: '100%', height: 300, backgroundColor: 'black'}}
        resizeMode={ResizeMode.CONTAIN}
        source={{
          uri: 'https://demo.unified-streaming.com/k8s/features/stable/video/tears-of-steel/tears-of-steel-en.ism/.mpd',
        }}
        selectedTextTrack={{
          type: SelectedTrackType.INDEX,
          value: 0,
        }}
        fullscreen={false}
        controls
        pictureInPicture
        playWhenInactive
        playInBackground={false}
        debug={{enable: true, thread: true}}
        onPictureInPictureStatusChanged={({isActive}) => {
          console.log(isActive, 'isActive');
        }}
      />

@freeboub

I don't understand why you use a dedicated fragment : ReactExoplayerFragment can you explain why you had to use it please ? (point to doc or other sample is enough)

To implement PIP, we need to use the onUserLeaveHint and onPictureInPictureModeChanged methods of Activity. However, this requires forcing the user to modify their native code.
To avoid this, I tricky replaced onUserLeaveHint with onPause in the Fragment and onPictureInPictureModeChanged with onPause in the Fragment.

can you enable pip in sample to be able to test easily please

      <Video
        style={{width: '100%', height: 300, backgroundColor: 'black'}}
        resizeMode={ResizeMode.CONTAIN}
        source={{
          uri: 'https://demo.unified-streaming.com/k8s/features/stable/video/tears-of-steel/tears-of-steel-en.ism/.mpd',
        }}
        selectedTextTrack={{
          type: SelectedTrackType.INDEX,
          value: 0,
        }}
        fullscreen={false}
        controls
        pictureInPicture
        playWhenInactive
        playInBackground={false}
        debug={{enable: true, thread: true}}
        onPictureInPictureStatusChanged={({isActive}) => {
          console.log(isActive, 'isActive');
        }}
      />

Ok, but will it work without native controls ?

can you enable pip in sample to be able to test easily please

      <Video
        style={{width: '100%', height: 300, backgroundColor: 'black'}}
        resizeMode={ResizeMode.CONTAIN}
        source={{
          uri: 'https://demo.unified-streaming.com/k8s/features/stable/video/tears-of-steel/tears-of-steel-en.ism/.mpd',
        }}
        selectedTextTrack={{
          type: SelectedTrackType.INDEX,
          value: 0,
        }}
        fullscreen={false}
        controls
        pictureInPicture
        playWhenInactive
        playInBackground={false}
        debug={{enable: true, thread: true}}
        onPictureInPictureStatusChanged={({isActive}) => {
          console.log(isActive, 'isActive');
        }}
      />

Ok, but will it work without native controls ?

Yes, it's same like iOS and there are no restrictions.

Thank you for the PR, can you open a PR in draft, it will allow to comment on it.
public void onHostPause() { isInBackground = true; if (pictureInPictureEnabled) { enterPictureInPictureMode(); return; } You cannot do like this, when another application will go over the app, it will automatically switch to Pip ...

I'm not sure, but I know onUserLeaveHint is also called when another app is turned on.
Actually I wanted to detect and implement the home key event, but the API was deprecated and I replaced it with onPause.

Any update on this?

@nick-mccomb-easygo
Unfortunately, I've been so busy lately that I haven't been able to keep up with this work, but I'm going to finish it.
You're welcome to implement it if you'd like.

@freeboub @KrzysztofMoch
I finished this PR. 🙌
Please review when you possible. :)
FYI,
this PR depends on PR #3489
If doesn't merge, PIP's action button doesn't work properly

ping! @freeboub
Please review the code when you possible :)

for what it's worth, we have used this MR in our project to implement PIP for android, without any issue for now (with different android device)
I will let you know if we have any catched issue in production

@YangJonghun I should have more time soon, I will be able to check !

@KrzysztofMoch @freeboub
Can I reimplement with below breaking changes?

remove boolean prop pictureInPicture (Android, iOS)

pictureInPicture is an unnecessary prop because it's a behavior, not a state that needs to be maintained.

add boolean prop enterPictureInPIctureOnLeave (Android, iOS)

This prop decide if you want to enable PIP when the app goes to the background. because we can't control below function enterPictureInPicture

add ref function ref.currnt?.enterPictureInPicture (iOS)

Open PIP immediately (when PIP isn't running)

add ref function ref.currnt?.exitPictureInPicture (Android, iOS)

Close PIP immediately (when PIP is running, otherwise ignored)

I wanna know what you think before I reimplement

@KrzysztofMoch @freeboub @gkueny
I reimplements with below breaking changes

remove pictureInPicture boolean prop
add enterPictureInPictureOnLeave boolean prop
add enterPictureInPicture method
add exitPictureInPicture method
add Android onPictureInPictureStatusChanged eventlistener

@KrzysztofMoch @freeboub @gkueny
I reimplements with below breaking changes via ad06910

remove pictureInPicture boolean prop
add enterPictureInPictureOnLeave boolean prop
add enterPictureInPicture method
add exitPictureInPicture method
add Android onPictureInPictureStatusChanged event listener

also, you can test with below codes
import React, {
  ElementRef,
  useRef,
  useState,
  useCallback,
  useEffect,
} from 'react';
import {Button, Platform} from 'react-native';
import Video, {ResizeMode} from 'react-native-video';
import BackgroundTimer from 'react-native-background-timer';

const isomorphicSetTimeOut = Platform.select({
  android: BackgroundTimer.setTimeout,
  default: setTimeout,
});

const isomorphicClearTimeOut = Platform.select({
  android: BackgroundTimer.clearTimeout,
  default: clearTimeout,
});

function PipTest() {
  const videoRef = useRef<ElementRef<typeof Video>>(null);
  const [isInPip, setIsInPip] = useState(false);
  const timeoutRef = useRef<ReturnType<typeof isomorphicSetTimeOut>>();

  const enterOrExitPip = useCallback(() => {
    if (isInPip) {
      videoRef.current?.exitPictureInPicture();
    } else {
      videoRef.current?.enterPictureInPicture();
    }
  }, [isInPip]);

  useEffect(() => {
    if (isInPip) {
      // Exit PIP after 3s.
      timeoutRef.current = isomorphicSetTimeOut(() => {
        videoRef.current?.exitPictureInPicture();
      }, 3000);
      return () => {
        if (timeoutRef.current) {
          isomorphicClearTimeOut(timeoutRef.current);
        }
      };
    }
  }, [isInPip]);

  return (
    <>
      <Button
        title={isInPip ? 'pip exit' : 'pip enter'}
        onPress={enterOrExitPip}
      />
      <Video
        ref={videoRef}
        style={{width: '100%', height: 300, backgroundColor: 'black'}}
        resizeMode={ResizeMode.CONTAIN}
        source={{
          uri: 'https://demo.unified-streaming.com/k8s/features/stable/video/tears-of-steel/tears-of-steel.ism/.m3u8',
        }}
        onError={e => console.log(e)}
        // controls // optional for test
        // playWhenInactive // optional for test
        // playInBackground // optional for test
        enterPictureInPictureOnLeave
        onPictureInPictureStatusChanged={({isActive}) => setIsInPip(isActive)}
      />
    </>
  );
}

export default PipTest;

Thank's @YangJonghun
I will try this MR in our work project to test it. Not sure when, but I will keep you updated

Version
this PR
What platforms are you having the problem on?

React native version : 0.71.7
Simulator IOS 17.2

Architecture
New architecture
What happened?
App crashes when init video component

I've tested on Android, everything works fine. But on IOS crashes when init video component. Any changes that make ios crash guys? @KrzysztofMoch @YangJonghun @freeboub

@hieppd-slz
Thank you for testing.
I recommend that you first try to clear all iOS caches.
If it still doesn't work, could you give me a sample? I can't reproduce your situation right now.
(I didn't try to test with new arch. because this lib doesn't support new arch yet)

@hieppd-slz Thank you for testing. I recommend that you first try to clear all iOS caches. If it still doesn't work, could you give me a sample? I can't reproduce your situation right now. (I didn't try to test with new arch. because this lib doesn't support new arch yet)

This is my pod config

I've tried the latest release v6.0.0-beta.8, everything works fine, but when switching to this PR my app crashes when init Video component
Here is my component

I need this feature on my project, so I did a test on it, it still doesn't work when clearing all iOS caches.
Let me test it on the new sample project.

@YangJonghun  my mistake, we need platform :ios, '13' in Podfile, i'll test more and feedback

@YangJonghun  How can I check if the user is enabling pip mode or not on Android?

@hieppd-slz
This code will check internally (to be precise, PictureInPictureUtils.isSupportPictureInPicture method).
If the user disallows PIP, it will be silently ignored.

@hieppd-slz This code will check internally (to be precise, PictureInPictureUtils.isSupportPictureInPicture method). If the user disallows PIP, it will be silently ignored. So, you can't check with in JS side

So can we expose the check permission function? It will be synchronous and avoid errors easily

@hieppd-slz
In my opinion, that feature is out of the scope of this library. There are many reasons why Picture In Picture doesn't work. The device may not support it, there may not be enough memory, or the user may not allow it. Implementing and exporting all the checking logic would increase the complexity of the library. Also, on Android, Picture In Picture is Activity's feature, so it's not technically a player feature.
If you need that functionality, you'd be better off writing a native module that references the checkIsUserAllowPIP method of PictureInPIctureUtil.kt.

@YangJonghun
Report bugs on Android
What happened?
Video does not automatically resume when focusing on video after close pip on pip button
Step to produce

Open video screen
Enter pip mode by enterPictureInPictureOnLeave
Press close button on pip window
Back to app and video doesn't resume
Code
playInBackground={false}
enterPictureInPictureOnLeave={true}

@hieppd-slz
That is not a bug.
typical behavior for PIPs implemented in react-native. To achieve the desired behavior, you need to have more than one Activity, but react-native typically behaves as a Single Activity App.
Unfortunately, We can't put single view (or Fragment) into PIP.

@hieppd-slz That is not a bug. typical behavior for PIPs implemented in react-native. To achieve the desired behavior, you need to have more than one Activity, but react-native typically behaves as a Single Activity App. Unfortunately, We can't put single view (or Fragment) into PIP.

@YangJonghun Why not call it a bug, while iOS works in this case, so I have to handle it separately for Android? I tried it and other bugs appeared after fixing it. If it can be fixed in this case, everything will be perfect

@YangJonghun I was able to test this PR in our application & it's seem ok for iOS and Android 👍

@hieppd-slz
I already mentioned this limitation on the document.

NOTE: Foreground picture in picture is not supported on Android due to limitations of react native (Single Activity App). So, If you call enterPictureInPicture, application will switch to background on Android.

@hieppd-slz I already mentioned this limitation on the document.

NOTE: Foreground picture in picture is not supported on Android due to limitations of react native (Single Activity App). So, If you call enterPictureInPicture, application will switch to background on Android.

If we want to implement that feature, we need to move the player to another activity to play when picture in picture works. Also, the developer who used this library needs to declare a another activity in the manifest because an activity can't be created dynamically in runtime. Also, most react-native libraries are written assuming a single activity, so there may be side effects from libraries other than react-native-video. It's very difficult to solve this. If we give up this complexity and add the enterPictureInPicture method in Android, and this is a bug, it seems reasonable to remove the enterPictureInPicture method in Android.

thanks @YangJonghun

@hieppd-slz
I'm sorry I misunderstood your situation.
you are right. it is bug. could you let me know os version and device?

@hieppd-slz I'm sorry I totally misunderstood your situation. you are right. it is bug. could you let me know os version and device?

Device: Redmi Note 13
Android version : 13

@YangJonghun  hello, look like we have problems when run on release, app crash when install app first time
here is logcat, seem like Main thread blocking
It appears when i build release with this PR

@YangJonghun hello, look like we have problems when run on release, app crash when install app first time here is logcat, seem like Main thread blocking It appears when i build release with this PR
My code: playInBackground = {true} enterPictureInPictureOnLeave={enterPictureInPictureOnLeave} Is it related to props playInBackground = true?

That issue does not seem to be related to this PR, as there is no changes for the crashing point at all, and it is not reproducible. If possible, could you please provide a sample for reproduction?

@hieppd-slz
playWhenInactive=true playInBackground=false enterPipOnLeave=true
I fixed above case

@freeboub @KrzysztofMoch pls review this PR

@YangJonghun There is an error when build with Ads
❌  /Users/runner/work/react-native-video/react-native-video/ios/Video/RCTVideo.swift:259:72: cannot find 'isPipEnabled' in scope

            _imaAdsManager = RCTIMAAdsManager(video: self, pipEnabled: isPipEnabled)

@freeboub Can you look here

Just added some new reviews (nothing big)

@YangJonghun I played a little bit with your PR
I encountered an issue when I'm in PiP mode in android (app in background)
If I close PiP window, the sound of the video continue
I was able to fix the issue by updating
        // Handling when onStop is called while in multi-window mode
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N &&
            activity?.isInMultiWindowMode == true &&
            activity?.isInPictureInPictureMode != true &&
            !view.playInBackground
        ) {
            view.setPausedModifier(true)
-        }
+        } else if (activity?.isInPictureInPictureMode == true) {
+            view.setPausedModifier(true)
+        }

DO you experience the same issue ?

@gkueny
Thanks for reporting to me
I haven't experience that bug. So I need more details to investigate.
Could you let me know Android OS version, device or any other information?

@gkueny Thanks for reporting to me I haven't experience that bug. So I need more details to investigate. Could you let me know Android OS version, device or any other information?

It can be an issue with my implementation.
I test on Android 14 Samsung 21
i do not have Time now, but will try to give you a minimal repro

@YangJonghun I can confirm my issue with a minimal repro
Here is the repo: https://github.com/gkueny/PictureInPictureAndroidBackgroundIssue/tree/main

@gkueny
Thanks, I'll try to reproduce it with sample you provided and find the cause. :)

@gkueny
In the sample you provided, the problem was playInBackground was set to true.
In this PR, I've modified some code related to the application's lifecycle.
I changed the state of playInBackground to not be checked when PIP is enabled. Because the PIP state is background, but it should be played unconditionally.
However, at the end of the PIP, playInBackground should behave as intended, so I check value of playInBackground at the end of the PIP to determine if it should play or not.

okey, so if I understand correctly, playInBackground is not longer required to be true to have PiP work like before ?

@freeboub
Is there a planned version of this PR?

Should be a V7 as there are some breaking change ... I agree we should handle it soon ! Moreover it has been tested by other contributors with good feedback. Let me triple check that tonight

What will happen if 2 videos set pictureInPictureOnLeave ? (if it should be avoided a note in doc can be enough for now)

AFAIK PIP will only process one video. However, prioritization control via props is up to user.

enterPictureInPictureOnLeave & old pictureInPicture are the same API in fact ?! if I am correct, we can keep pictureInPicture for public API but deprecate it.

The naming pictureInPicture can be confusing. I'm not sure if we should keep the backwards compatibility because it's not hard to replace it.

enterPictureInPictureOnLeave & old pictureInPicture are the same API in fact ?! if I am correct, we can keep pictureInPicture for public API but deprecate it.

The naming pictureInPicture can be confusing. I'm not sure if we should keep the backwards compatibility because it's not hard to replace it.

I fully agree with you, but it is painful for user to change props often, that's why if we can keep interoperability between version it really be better for users. It what I am trying to do with DRM prop PR.
Can you please restore it and mark it as deprecated please ?
You just have to retaure it in JS part but keep only enterPictureInPictureOnLeave to provide to the native part.
Then we will be able to merge this PR with bumping to V7.
Notice also that if we do such small api change too often, it will make hard/painful to switch between versions.

@freeboub
Sure!
Can I allow pictureInPicture prop, but also make it possible to use enterPictureInPictureOnLeave at the same time?
(I'd also like to note in the documentation that it's deprecated and will be removed in the near future)

I fully agree with you, but it is painful for user to change props often, that's why if we can keep interoperability between > version it really be better for users. It what I am trying to do with DRM prop PR.
Can you please restore it and mark it as deprecated please ?
You just have to retaure it in JS part but keep only enterPictureInPictureOnLeave to provide to the native part.
Then we will be able to merge this PR with bumping to V7.
Notice also that if we do such small api change too often, it will make hard/painful to switch between versions.

Sure! Can I allow pictureInPicture prop, but also make it possible to use enterPictureInPictureOnLeave at the same time? (I'd also like to note in the documentation that it's deprecated and will be removed in the near future)

Yes sure, you can just pass pictureInPicture || enterPictureInPictureOnLeave to the native component. And Yes please mark it as deprecated, we will remove it once we will switch to V7. (no planning yet)

@freeboub
I have a concern.
With the old behavior, the boolean control of pictureInPicture made PIP work immediately on iOS, but now it doesn't and only works when the app switches to the background. Isn't this a problem?

@YangJonghun Below are crashes reported on the production app.
Caused by java.lang.IllegalArgumentException
enterPictureInPictureMode: Aspect ratio is too extreme (must be between 0.418410 and 2.390000).

@ttnshubham
Thank you for reporting
Could you give me a sample code and sample video? It will be very helpful to investigate it
I think you can temporarily fix crash in two ways

remove this line

change below code

    @JvmStatic
    @RequiresApi(Build.VERSION_CODES.O)
    fun calcPictureInPictureAspectRatio(player: ExoPlayer): Rational {
-        var aspectRatio = Rational(player.videoSize.width, player.videoSize.height)
-        // Android PiP doesn't support aspect ratios lower than 0.4184 or higher than 2.39
-        if (aspectRatio.toFloat() > 2.39) {
-            aspectRatio = Rational(239, 100)
-        } else if (aspectRatio.toFloat() < 0.4184) {
-            aspectRatio = Rational(10000, 4184)
-        }
-        return aspectRatio
+       return Rational(192, 108)
    }

@YangJonghun  **iOS:- ** I am encountering an issue that the video is playing in picture mode during the incoming call is paused correct but after disconnecting it should resume but it's not working

@ttnshubham

iOS:- I am encountering an issue that the video is playing in picture mode during the incoming call is paused correct but after disconnecting it should resume but it's not working
I'll check it out, thanks for letting me know.
By the way, has aspect ratio issue been resolved?

@YangJonghun I haven't received any crash yet, working fine as of now

@ttnshubham
I've found cause, but I'll take time to fix it.

@YangJonghun are you on discord ? Can you invite me please ? (not directly linked to this PR)

@YangJonghun the PIP player gets destroyed when navigating away from the screen it is in.  I have tried so many solutions:

detachInactiveScreens={false} on Stack.Navigator
detachPreviousScreen: false on every Stack.Screen
Instead of navigation.goBack i've tried navigation.navigate('PreviousScreen')
Using react-native-portalize

None of the above stops the PIP from being destroyed when navigating away from the screen the Video component is on.
The only way i've found is moving the screen the Video is on outside of React Navigation so that it never gets destroyed, but this is a pretty bad solution imo (can't pass props to it)
Does anyone know how to fix the issue of PIP being unmounted when navigating away from the screen?

@nick-mccomb-easygo
Thanks for report:)
Could you let me know platform? and If you can, please give me any reproduction. It would be very helpful to me to fix it.

@nick-mccomb-easygo Thanks for report:) Could you let me know platform? and If you can, please give me any reproduction. It would be very helpful to me to fix it.

I've created this bug report: https://github.com/TheWidlarzGroup/react-native-video/issues/4024

@nick-mccomb-easygo
This PR has not been merged, so it would be helpful for maintainers if you could note which branch it occurred on in the issue.

@nick-mccomb-easygo This PR has not been merged, so it would be helpful for maintainers if you could note which branch it occurred on in the issue. Also, could you give me more detail?(OS version, real device name or something) Android doesn't support so far in master branch

I'm using your android-pip branch here but it also happens on master in react-native-video
iOS version: 17.5.1
Real device: iPhone 15 Pro Max
Have you not experienced the issue? I'd imagine navigating away from the Video screen, while having the PIP continue to play, is quite common.

Have you not experienced the issue? I'd imagine navigating away from the Video screen, while having the PIP continue to play, is quite common.

Hello @nick-mccomb-easygo, it's indeed a quite common feature but to related to this PR.
with this library, video instance is tied to <Video /> component. So if your component is unmount, your video instance is destroyed.
If you want to have PIP that work in-app you have to manage a global <Video /> component that is never unmounted when video is show to user. You can manage video state with a global store.
Here is more information: https://github.com/TheWidlarzGroup/react-native-video/discussions/3540
Note that PiP in-app will work only for iOS. Android, with this PR will only work outside of the app

@YangJonghun Hey, it seems there is incompatible features that using gradle 8.0 above, can you please avoid using it as it will make compilation error for all who have gradle:8.0 below
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
case 90, 270 -> {
                           ^
error: : expected
                    default -> {
error: illegal start of expression
                    default -> {
                            ^

Not sure but it could be something like
 switch (format.rotationDegrees) {
                    // update aspect ratio !
                    case 90:
                        layout.setVideoAspectRatio(format.width == 0 ? 1 : (format.height * format.pixelWidthHeightRatio) / format.width);
                        break;
                    case 270:
                        layout.setVideoAspectRatio(format.width == 0 ? 1 : (format.height * format.pixelWidthHeightRatio) / format.width);
                        break;
                    default:
                        layout.setVideoAspectRatio(format.height == 0 ? 1 : (format.width * format.pixelWidthHeightRatio) / format.height);
                        break;
                }
                return;

@tiplefbxx not linked to this PR it has been fixed last week. Linked to kotlin < 1.9

@tiplefbxx
It is known issue and not related with this PR😅
Please check PR #4020

@ttnshubham

@YangJonghun Below are crashes reported on the production app.
Caused by java.lang.IllegalArgumentException
enterPictureInPictureMode: Aspect ratio is too extreme (must be between 0.418410 and 2.390000).

I fix above bug with 96126be

@tiplefbxx
Thanks! Error you mentioned occurs in code below.
https://github.com/TheWidlarzGroup/react-native-video/pull/3385/files#diff-a35ae7e6ae6efee3b22522a836bcbcdd9d59a214f087df454e4ccbb8cd5c0e76R2177-R2209
To be precise, it seems to happen in the part where you call rootViewChildrenOriginalVisibility.get(i) when isInPictureInPicture is false.
The role of the code above is to save the visibility of all views except Player when activate PIP and make them invisible, and then restore the visibility of the view normally after PIP close.
It seems that the value of rootView.getChildCount() is different when PIP is on and off, which is causing the error, but debugging it would require reproducible code.🥲

@YangJonghun
Actually I was able to reproduce the crash, not sure that exactly this one, as it not thrown any errors
Steps to reproduce

Open any media in PiP
Being in PiP navigate to the same screen with another props
PiP started playing new media,  but sometimes you can see black '5-10px' line in the top of PiP View
Press expand or close button
Instantly crashed without any error

@YangJonghun
upd: I checked from logcat, that is error that a pasted above

@tiplefbxx
Thank you for letting me know how to reproduce it. I'll check it out when I have time. 👍
And If you have a little more time, please provide me any small reproduction code🙏 it would be very helpful to me

@YangJonghun Sorry cannot paste simple example in nearest time, but what I found
It seems the most close way to reproduce the issue, is mount and then unmount player while you in PiP

I tested case when I changing source while playing in PiP and it works fine
case when player component mounted and then unmounted makes that error

@YangJonghun
Here is simply playground for testing https://github.com/tiplefbxx/React-native-video-PiP-crash
BTW: Don't forget to update doc! It needs to add android:supportsPictureInPicture="true" to main activity, otherwise it will not work

It seems one more issue for ios
When you change source being in background with PiP, it will close the pip and do not notify  onPictureInPictureStatusChanged, closing manually also do not help  videoRef.current?.exitPictureInPicture

@tiplefbxx
Thank you for providing sample code.
Previous code does not assume source or mount changes from entering PIP to leaving PIP, as it is common to utilize the existing view when playing other videos.
Fixed Code has been applied with 362459d to force PIP to exit when the video component is unmounted within PIP

BTW: Don't forget to update doc! It needs to add android:supportsPictureInPicture="true" to main activity, otherwise it will not work

I've already stated this in this PR. Thanks for letting me know. :)

It seems one more issue for ios
When you change source being in background with PiP, it will close the pip and do not notify onPictureInPictureStatusChanged, closing manually also do not help  videoRef.current?.exitPictureInPicture

onPictureInPictureStatusChanged is an API provided by iOS native, and it's not clear what the intent of the prop is. To implement the feature, I have to forced call onPictureInPictureStatusChanged for JS, which may be outside the intent of the existing prop.🤔

Might this ios thing is not related to you pr, but if you started changes for PiP it could be interesting for you
Not crucial issue but
When you go to PiP and return to foreground by clicking app icon from HomeScreen it will return to app, but the PiP will be not resolved, player will be minimised in PiP, so it needs to manually call method to close PiP
It's might be not issue at all as PiP usually works for ios in that way always, but could be surprising behaviour for developers who are used to see closed pip after returning to foreground as it usually works for cross button and app selector

Anyone interested in this feature, please see this discussion

https://github.com/TheWidlarzGroup/react-native-video/discussions/4228

I just fix conflict. The only comments I have are in the discussion

I have released next rc version 6.8.0-rc.0 - if there will be no reported issues, this PR should be merged 🙌

Hi @YangJonghun, I'm encountering the same issue as @tiplefbxx mentioned where my app would always crash upon return from PIP.
For a little bit more context, I have a separated Video component outside my navigator stack, and in my testing unload the video component below when having a floating player eliminates this behavior.
Your app just crashed. See the error below.
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
  java.util.ArrayList.get(ArrayList.java:437)
  com.brentvatne.exoplayer.ReactExoplayerView.setIsInPictureInPicture(ReactExoplayerView.java:2305)
  com.brentvatne.exoplayer.ReactExoplayerFragment.onPictureInPictureModeChanged(ReactExoplayerFragment.kt:35)
  androidx.fragment.app.Fragment.performPictureInPictureModeChanged(Fragment.java:3221)
  androidx.fragment.app.FragmentManager.dispatchPictureInPictureModeChanged(FragmentManager.java:3017)
  androidx.fragment.app.FragmentManager.lambda$new$3$androidx-fragment-app-FragmentManager(FragmentManager.java:468)
  androidx.fragment.app.FragmentManager$$ExternalSyntheticLambda3.accept(Unknown Source:4)
  androidx.activity.ComponentActivity.onPictureInPictureModeChanged(ComponentActivity.java:1097)
  android.app.Activity.dispatchPictureInPictureModeChanged(Unknown Source:23)
  android.app.ActivityThread.handleWindowingModeChangeIfNeeded(Unknown Source:40)
  android.app.ActivityThread.performActivityConfigurationChanged(Unknown Source:12)
  android.app.ActivityThread.performConfigurationChangedForActivity(Unknown Source:28)
  android.app.ActivityThread.handleActivityConfigurationChanged(Unknown Source:273)
  android.app.ActivityThread$ActivityClientRecord$1.onConfigurationChanged(Unknown Source:14)
  android.view.ViewRootImpl.performConfigurationChange(Unknown Source:81)
  android.view.ViewRootImpl.handleResized(Unknown Source:112)
  android.view.ViewRootImpl.-$$Nest$mhandleResized(Unknown Source:0)
  android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl(Unknown Source:658)
  android.view.ViewRootImpl$ViewRootHandler.handleMessage(Unknown Source:15)
  android.os.Handler.dispatchMessage(Unknown Source:19)
  android.os.Looper.loopOnce(Unknown Source:182)
  android.os.Looper.loop(Unknown Source:82)
  android.app.ActivityThread.main(Unknown Source:123)
  java.lang.reflect.Method.invoke(Native Method)
  com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Unknown Source:11)
  com.android.internal.os.ZygoteInit.main(Unknown Source:312)

@tungmin97
Thanks for reporting me. but it's hard to me to reproduce what you're describing🥲
If you can, please provide me any small reproduction code🙏

@YangJonghun here is the crash example. I've found some issues only happen on android.
1 -  We can still swipe home to enter pip even after the video outside navigation is paused, the other has enterPictureInPictureOnLeave set to false.
2 - Has both video playing, pause then play the floated video, swipe home or press the button to enter PIP mode, notice the source is set to the other video with enterPictureInPictureOnLeave set to false.
3 - Resume the app while in PIP will always crash the application

@tungmin97
Sorry for late reply.
Multiplayer issue is a difficult problem to solve, so fix will be delayed.
I'm working on this PR personally, so I can't guarantee any due date, but I'll get to it as soon as I can. 🙏
FYI. @KrzysztofMoch @freeboub

Hey @YangJonghun what is status of PR? Together with @freeboub we are okay to merge this PR - so let me know if you are also okay to merge it

@KrzysztofMoch @freeboub
I apologise for the delay in responding.
I've been testing in my spare time and this PR has the following issues

It may behave differently than intended when multiple Video components exist at the same time
Fullscreen behavior has changed significantly from when this PR was originally written, so it doesn't work correctly on Android. (Fullscreen controller will be exposed on pip)
I've removed tricky implementation with Fragment and replaced it with androidx. The current implementation is recommended stable implementation for Android, but it's been implemented recently and lacks testing.
Web support is not written because it was added while the PR was not merged. It's not a difficult task, but I don't have enough time these days to work on it🥲

I'm fine with this PR being merged, but there are things that need to be fixed, so it would be nice to let the developers know that this is an experimental feature.

Sure! We can go with what we have, I will open tickets for those issues

So @YangJonghun, once you are ready please let me know 🙌


Thanks for this

Hey there,
That eye looks awesome, thank you for sharing it. Can't wait to see what you do with the others. Was the shader made with a tool or was it handwritten?
Thanks again!
-MH

Hello,
thanks! :)
The shader is handwritten. I'm not so comfortable with shader tools at the moment, haha.

Max


Errors w/ sleep on Mac popped up again

I know you fixed something around this, but @zagy just got this on 2.0.4:
Uncaught Exception:
Error: Object has been destroyed
    at PowerMonitor.<anonymous> (/Applications/FreifunkMeet.app/Contents/Resources/app.asar/node_modules/jitsi-meet-electron-utils/powermonitor/main.js:22:29)
    at PowerMonitor.emit (events.js:210:5)

Just happened to me when I moved my MacBook from power and back. Here's the full screenshot: