When allow_interruption=False, we should ignore user's input

When the agent is speaking with allow_interruption=False, we should not be processing any user input, instead of queuing up another response (only to play it out later).
That response will lack the proper context and the user would not be expecting that the agent heard it.

Related to this, with interruptions, the agent's state gets weird. If the agent is talking, and then the user speaks, the agent's state becomes listening rather than speaking.
To reproduce: subscribe to participant attributes changed, and have the agent say something with allow_interruptions=False, then say something while the agent is talking. You'll see the state becomes listening, even though the agent is still talking.

I agree with ignoring a user's input while interruptions=False. Also applies to min_interrupt settings

@davidzhao We are having the same issue with outbound calls and the initial message (to greet the user). We don't want the message to be interrupted by a user (e.g. by saying "hello, it's maik speaking") and just want to discard any user input until the welcome message has been spoken out to the user. Is there a way to delay listening to the user with the current state of the SDK?

@maik-parloa - one trick I use is in my before_llm_cb, if the agent is speaking, I return false.

oh that's smart @martin-purplefish

This issue has been fixed in<EMAIL_ADDRESS>in the PR


Intellisense for Typescript Very slow

Issue Type: Bug
Intellisense for Typescript has become very slow using the latests version.
VS Code version: Code 1.26.1 (493869ee8e8a846b0855873886fc79d480d342de, 2018-08-16T18:31:26.156Z)
OS version: Darwin x64 17.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz (8 x 2500)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 3, 3

Memory (System)
16.00GB (0.03GB free)

Process Argv
/Applications/Visual Studio Code.app/Contents/MacOS/Electron

Screen Reader
no

VM
0%

Extensions (9)

Extension
Author (truncated)
Version

vscode-svgviewer
css
1.4.4

vscode-azurefunctions
ms-
0.10.0

python
ms-
2018.7.1

azure-account
ms-
0.4.3

project-snippets
reb
0.5.0

vscode-icons
rob
7.25.0

code-settings-sync
Sha
3.0.0

gitblame
wad
2.4.4

vscode-todo-highlight
way
1.0.4

(1 theme extensions excluded)

Does this reproduce in the latest VS Code insiders build with all extensions disabled?

There's already a lot of info in this thread:
https://github.com/Microsoft/vscode/issues/53541

Seems faster in insiders with extensions turned off. Do you suggest I toggle some of my extensions or that there are some intellisense improvements in the insiders build?

Yes, please try insiders with extensions re-enabled. Then if you see the problem again, try toggling your extensions to see which one is causing this


Restore mono build

What does this implement/fix? Explain your changes.
Restore mono library build on Linux when creating csharp wrapper.
Any other comments?
Removing the mono library build broke existing workflows for users and the new dot net build does not work on all systems.

@jones-gareth I think the logic is still incorrect.
As it is now, I believe the DLL will not be built if MSVC is defined and RDK_BUILD_DOTNET_CSHARP_TESTS=OFF, while we want the DLL to be always built on all platforms regardless of RDK_BUILD_DOTNET_CSHARP_TESTS.
In fact, the dotnet build is not done because RDK_BUILD_DOTNET_CSHARP_TESTS=OFF, and the mono build is not done either because MSVC is defined.
I think you should do the following changes:

line 84: if (RDK_BUILD_DOTNET_CSHARP_TESTS) to if (RDK_BUILD_DOTNET_CSHARP_TESTS OR MSVC): this will trigger a dotnet build if MSVC is defined, or if RDK_BUILD_DOTNET_CSHARP_TESTS=ON (by which we assume that the user knows that requesting tests to be built implies the availability of dotnet, even in the absence of MSVC)
line 114: if(NOT MSVC AND NOT RDK_BUILD_DOTNET_CSHARP_TESTS) to else(RDK_BUILD_DOTNET_CSHARP_TESTS OR MSVC): this will fall back to a mono build if MSVC is not defined and RDK_BUILD_DOTNET_CSHARP_TESTS=OFF
line 134: endif(NOT MSVC) to endif(RDK_BUILD_DOTNET_CSHARP_TESTS OR MSVC)

I think the new logic is fine, but premature as it may break the csharp pipeline if dotnet 8 is not present in the Azure container. I will give it a go.

Great, this now runs the dotnet tests in the csharp azure container.


[jvm-packages] update java/scala docs

please merge https://github.com/dmlc/xgboost/pull/3532 first

@hcho3

Codecov Report

Merging #3551 into master will increase coverage by 0.21%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3551      +/-   ##
============================================
+ Coverage     45.82%   46.03%   +0.21%
  Complexity      188      188
============================================
  Files           166      166
  Lines         13184    13270      +86
  Branches        428      451      +23
============================================
+ Hits           6041     6109      +68
- Misses         6939     6944       +5
- Partials        204      217      +13

Impacted Files
Coverage Δ
Complexity Δ

...dmlc/xgboost4j/scala/spark/XGBoostClassifier.scala
66.53% <ø> (+2.62%)
18 <0> (ø)
:arrow_down:

...c/main/scala/ml/dmlc/xgboost4j/scala/Booster.scala
35.71% <ø> (ø)
8 <0> (ø)
:arrow_down:

...c/xgboost4j/scala/spark/params/GeneralParams.scala
66.66% <ø> (ø)
0 <0> (ø)
:arrow_down:

...oost4j/scala/spark/params/LearningTaskParams.scala
79.31% <ø> (ø)
0 <0> (ø)
:arrow_down:

.../dmlc/xgboost4j/scala/spark/XGBoostRegressor.scala
65.68% <ø> (+3.41%)
16 <0> (ø)
:arrow_down:

...c/xgboost4j/scala/spark/params/BoosterParams.scala
58.82% <ø> (+0.28%)
0 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

@hcho3 , if we build the doc on the fly, the doc for the released version would be replaced by the latest version for every update of the doc
this case would be tricky when we have some broken update of the API

@CodingCat Would you be okay with it if we maintain multiple versions, e.g. latest, 0.80, 0.81, etc.

@hcho3 I am fine with maintaining multiple versions of API doc,
is ReadTheDocs using make html to build the doc.....or I should just tell you manual steps, that will save much more time for us?

@CodingCat Can you provide me with the commands? I'd like to get it working before the release of 0.80.

@hcho3 it's a multi-stepped process:
Generate scala doc

run mvn scala:doc -DskipTests on the path of xgboost/jvm-packages

the above step would failed on xgboost4j-example but it does not matter

then you need to copy xgboost4j/target/site/scaladocs/*, xgboost4j-spark/target/site/scaladocs/*, xgboost4j-flink/target/site/scaladocs/* to different places and modify index.rst to create hyperlinks to index.html of each package

Generate java doc

run  mvn javadoc:javadoc

the above step would failed on xgboost4j-example but it does not matter

then you need to copy xgboost4j/target/site/apidocs/* to a folder and modify index.rst to create hyperlinks to its index.html


Feature Request

Can a new option like --hsdef be introduced such that when aniDL fails to find subtitle URLs, it retries with --hslang equal to the --hsdef value. That way, hardsubs only get downloaded when regular subs are not available and the download proceeds instead of erroring out. This would be best used in cli-defaults.yml. Of course, a cli value for --hslang should override hsdef.

I would like to implement it but looking at the current state, it seems to be too much work, sorry.
If I find the time in the feature, I might come back to you.


add trailing slash before anchors

Changes
Modify the links that contain anchors to include a slash before the anchor to avoid the redirect.
Context
With Hugo and GitHub Pages there is a redirect for all folders to have a trailing slash that breaks anchors.

With Hugo and GitHub Pages there is a redirect for all folders to have a trailing slash that breaks anchors.

I wonder if it would work if we added a "slash-less" alias...

I wonder if it would work if we added "slash-less" aliases to the target pages...

Ah, probably not because the .html file with the redirect would not preserve the anchor. That would require some Javascript hackery which Hugo's aliases: feature most likely does not provide.
A hack that seems to work over here is to add this step to the GitHub workflow:
find public -name \*.html -exec grep -Zl '<meta http-equiv="refresh"' {} \; |
xargs -0r sed -i '/<\/html>/i\
  <script>\
    window.location.replace(`${document.title}${window.location.hash}`)\
  </script>'

What do you think @rimrul?

Oh, I think I found something: https://gohugo.io/getting-started/configuration/#uglyurls. We may want to do that, and then also ensure that /docs.html is the actual file (I verified that the .html-less URL resolves to the .html file, see e.g. https://dscho.github.io/scalar) and /docs/index.html is just a redirect.
What do you think @rimrul?

Oh, I think I found something: https://gohugo.io/getting-started/configuration/#uglyurls. We may want to do that, and then also ensure that /docs.html is the actual file (I verified that the .html-less URL resolves to the .html file, see e.g. https://dscho.github.io/scalar) and /docs/index.html is just a redirect.
What do you think @rimrul?

That should work. I came across that setting, but read that as having to use the .html URLs. Seeing https://dscho.github.io/scalar, that's probably not the case.

Oh, I think I found something: https://gohugo.io/getting-started/configuration/#uglyurls. We may want to do that, and then also ensure that /docs.html is the actual file (I verified that the .html-less URL resolves to the .html file, see e.g. https://dscho.github.io/scalar) and /docs/index.html is just a redirect.
What do you think @rimrul?

That should work. I came across that setting, but read that as having to use the .html URLs. Seeing https://dscho.github.io/scalar, that's probably not the case.

I believe that this is working on https://dscho.github.io/git-scm.com/ now.


 downplays a potential risk in Linux.
https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/zwc8s4fz(v=vs.100)?redirectedfrom=MSDN is clearer in this regard:
"If the exception is not caught, execution of the finally block depends on whether the operating system chooses to trigger an exception unwind operation."
Repro:
https://dotnetfiddle.net/S3TXOq
Page URL
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/exception-handling-statements#the-try-finally-statement
Content source URL
https://github.com/dotnet/docs/blob/main/docs/csharp/language-reference/statements/exception-handling-statements.md
Document Version Independent Id
70157b9c-983b-3916-ce95-99f265dfed6d
Article author
@BillWagner
Metadata

ID: 9f85cb65-ded0-a342-4a86-04826af92da3
Service: dotnet-csharp
Sub-service: lang-reference

I like that suggestion @mjwills-k
I've added this to our backlog, and added the "help wanted" label if anyone wants to submit a PR before we update this article.

@BillWagner I will work on this!


Accept IPv6 addresses in CARBONLINK_HOSTS

Use socket.create_connection instead of socket.connect.
Parse host strings properly - using slightly modified util.parseDestination(s) functions from Carbon project.

Codecov Report

Merging #2436 into master will decrease coverage by 0.04%.
The diff coverage is 65%.

@@            Coverage Diff             @@
##           master    #2436      +/-   ##
==========================================
- Coverage   80.05%   80.01%   -0.05%
==========================================
  Files          85       85
  Lines        8926     8933       +7
  Branches     1912     1914       +2
==========================================
+ Hits         7146     7148       +2
- Misses       1508     1511       +3
- Partials      272      274       +2

Impacted Files
Coverage Δ

webapp/graphite/carbonlink.py
51.61% <100%> (-1.73%)
:arrow_down:

webapp/graphite/util.py
90.82% <58.82%> (-2.57%)
:arrow_down:

Continue to review full report at Codecov.

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


Create a script that imports data from external source

The script that converts the data has been committed, currently you will need to fetch the data manually.
But thats good enough since changes are rare.


Return same empty array list instead of creation a new one in case of no data

The idea of the PR is pretty straightforward: instead creation a new list each time just return same constant empty  list in case of no data

Thanks for taking a look


CFCR with stemcell of Ubuntu release 16.04

Hello, are there any plans to get the CFCR stemcell to be ubuntu release 16.04?

Hi @amishra1982
We have tested manually the release on Xenial stemcell and we were able to deploy applications on the cluster.
We plan to migrate to it after 0.19 release. Here is the story to follow https://www.pivotaltracker.com/story/show/158004796

Thanks, When would you expect the release to be out with xenial stemcell?
Thanks,
Amit.
From: Oleksandr Slynko<EMAIL_ADDRESS>Sent: Monday, July 9, 2018 12:13 PM
To: cloudfoundry-incubator/kubo-deployment<EMAIL_ADDRESS>Cc: Mishra, Amit (Amit<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [cloudfoundry-incubator/kubo-deployment] CFCR with stemcell of Ubuntu release 16.04 (#328)
Hi @amishra1982https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_amishra1982&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=nokk2k5vKqzpH6duqqiwG8M6DSljB7bspIqbuRYPAF0&m=n134xCLNcJ5P5erMkKaxLeIFo2Z7b_v-xxwGWpFJT1o&s=6YRz5F3dY1F0BWf8e5m3z4Xq8Gxa7AG-9ncTwEh9RV0&e=
We have tested manually the release on Xenial stemcell and we were able to deploy applications on the cluster.
We plan to migrate to it after 0.19 release. Here is the story to follow https://www.pivotaltracker.com/story/show/158004796https://urldefense.proofpoint.com/v2/url?u=https-3A__www.pivotaltracker.com_story_show_158004796&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=nokk2k5vKqzpH6duqqiwG8M6DSljB7bspIqbuRYPAF0&m=n134xCLNcJ5P5erMkKaxLeIFo2Z7b_v-xxwGWpFJT1o&s=zRBozti2bB7fSrBpXeYBK2BQkvSnmTcAHJhIL1q5d0Q&e=
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cloudfoundry-2Dincubator_kubo-2Ddeployment_issues_328-23issuecomment-2D403570997&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=nokk2k5vKqzpH6duqqiwG8M6DSljB7bspIqbuRYPAF0&m=n134xCLNcJ5P5erMkKaxLeIFo2Z7b_v-xxwGWpFJT1o&s=sLN056QtruHS7bzNxkU9CPClPS3oSt8J10dhdzSZaxQ&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AMLMotcd-2DqR-2DraIy5C540UV1mRxHDIW-2Dks5uE50hgaJpZM4VIJBK&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=nokk2k5vKqzpH6duqqiwG8M6DSljB7bspIqbuRYPAF0&m=n134xCLNcJ5P5erMkKaxLeIFo2Z7b_v-xxwGWpFJT1o&s=AkkI0rKcR20NFOajfrLcyh85YwDSOdTKw6-ln5Dzjvg&e=.

Hi @amishra1982
My best guess for a release containing the xenial stemcell will be in August (assuming we manage to cut 0.19 this week)
Hope this helps.

The change was not in the 0.19 release, assuming it'll be in the next release.
Closing this issue, as the requested feature is already tracked as a story: https://www.pivotaltracker.com/story/show/158004796


Some improvements

Thanks for the PR. I will merge after test.

There is some problem with go get.
WIth require "github.com/firstrow/logvoyage/..."  I cant develop and push to github.
With local require:  requre "../commands"  there are problems with CI and initial building.

I think it good convention always to use full paths.

Maybe, but not for team work :(

Why not good for team? As I see almost 99% uses full path.

I agree with @firstrow using full paths makes it easier. If you don't want it in your gopath then just symbolic link it to your development directory. How-ever there are some other improvements that are interesting in this PR especially docker as I just discovered this project and first thoughts was where is the docker package.

@slayer: it would be nice if you remove raltive paths, so I can merge this one.

@firstrow ok

thanks for contributing to project. project is no longer maintained. v2 will be out soon.
check http://github.com/logvoyage for updates. thanks.

Cool. Will be waiting.

https://github.com/logvoyage/logvoyage
sorry, no docs for now, setup is easy, you can write me on irc/gitter if you are interested in contributions on this early stage.

@slayer


chore: release 0.16.1

:robot: I have created a release *beep* *boop*
0.16.1 (2021-04-21)
Bug Fixes

fix search bar error with new docusaurus (ed5db80), closes #77

This PR was generated with Release Please. See documentation.

Coverage remained the same at 78.692% when pulling 4592c3304601f921d8ec55a117f1a1efb006a296 on release-v0.16.1 into a34f49412d1ed1888c5f433f594e2f82e09aaaf7 on master.

:robot: Release is at https://github.com/easyops-cn/docusaurus-search-local/releases/tag/v0.16.1 :sunflower:


Added push notifications

Done:

Added push notification support.
Added node server to run the app and handle push notification endpoint.

:+1:


Player inventory dump

I made a mod for MC which adds some useful information to the tooltip and a /dump_inv command. Maybe some features would fit in your mod ;)
PS: I have a 1.8 version with Entity-Inventory support for the dumping.

*you're

Sorry


Init Script doesn't seem to work

I have added
document.body.classList.add('an-old-hope-modify-ui')
To my init script but it dones't seem to have made a diffrencem not sure if it is related to atom 1.13.1

There were some breaking changes to themes in 1.13.*.  There's a PR in the works to fix this theme.  Should be fixed soon :)

Hmm, it seems some of the styles work post-1.13, but not all of them.  I'll leave this open and see what I can find.  Thanks!

I'm having the same issue.

Nevermind, Atom needed a full reinstall for some other bugs as well. Works good and looks great!


Compact lumi list in the workflow summary doc

Fixes #7202
We still have to discuss this issue, because if we are very very unlucky and lumis are quite disperse, the compact list may become bigger then the flat lumi list.
FMY, I need to update this patch on vocms0303 (that code has a few more coding lines, though all harmless).
@ticoann please review

Since the compact list does not offer full protection against the huge workload summaries, I've added a code that will get an approximation of the summary size and depending on its size, it will get rid of of the 'errors' section in the summary, which is the biggest one.
It's an expensive process, but I couldn't find an easier way to get that memory footprint. Moreover, I don't expect agents to upload more than 1k workloads per day, so it's not that bad :)
Let me know if you have another idea to protect central couch.

And that's why the workload cannot be found in couch, it's not there:
2016-09-21 11:55:25,743:140394309596928:INFO:CleanCouchPoller:About to commit 18046 Kb of data for workflow summary for prozober_HIG-RunIISpring16MiniAODv2-02871_00462_v0_VBFPostMGFilter_160905_094321_573
2016-09-21 11:55:38,012:140394309596928:INFO:CleanCouchPoller:Finished committing summary,returned value: [{u'reason': u'{exit_status,1}', u'id': u'prozober_HIG-RunIISpring16MiniAODv2-02871_00462_v0_VBFPostMGFilter_160905_094321_573', u'error': u'os_process_error'}]

Googling a bit about this issue, it seems to be related to the stack memory available:
http://grokbase.com/t/couchdb/user/10aj9ydy6a/solving-os-process-error-exit-status-0
https://groups.google.com/forum/#!topic/couchdb-user-archive/6jfoj8HC-as
Then I ran several tests against my VM and 6MB docs seem to be successfully uploaded. Everything above 8MB was failing in my tests. Updating this patch to 6MB then.

And the doc was finally uploaded (code in place on vocms0303):
2016-09-21 13:08:04,462:140360336537344:WARNING:CleanCouchPoller:Workload summary for prozober_HIG-RunIISpring16MiniAODv2-02871_00462_v0_VBFPostMGFilter_160905_094321_573 is too big: 18046 Kb. Wiping out the 'errors' section to make it smaller.
2016-09-21 13:08:04,740:140360336537344:INFO:CleanCouchPoller:About to commit 108 Kb of data for workflow summary for prozober_HIG-RunIISpring16MiniAODv2-02871_00462_v0_VBFPostMGFilter_160905_094321_573
2016-09-21 13:08:05,070:140360336537344:INFO:CleanCouchPoller:Finished committing summary,returned value: [{u'rev': u'1-d50f66413acb4d38c5f914c10b8ace70', u'ok': True, u'id': u'prozober_HIG-RunIISpring16MiniAODv2-02871_00462_v0_VBFPostMGFilter_160905_094321_573'}]

Once we get to a final fix, I need to make another PR against master branch.

This agent branch fix can either be merged or we leave it open until we start upgrading the agents. @ticoann whatever you prefer.


Hub framework steps

This PR contains Stepdesigns ,Actions and Locator class for Hub

Closing this PR as new PR is raised for framework steps for hub.


Implement a CPU vs. throughput benchmark

We want a test to measure throughput for both publishing and receiving messages.
We also want to measure the "overhead" of either operation when compared to "raw" gRPC.

https://cloud.google.com/blog/products/data-analytics/testing-cloud-pubsub-clients-to-maximize-streaming-performance


ShoppingList example in tutorial doesn't compile

In the Flutter tutorial at http://flutter.io/tutorial/, this line:
    itemBuilder: (BuildContext context, Product product) {

needs to say this:
    itemBuilder: (BuildContext context, Product product, int index) {

I believe this is fixed.  Can you refresh the page?

Please re-open if you still think this is an issue.


Explain how storage variables get updated

See, for instance, https://github.com/tact-lang/tact/issues/712

Related: #713


Documentation: break indexers out of service and kill faucet

Faucet is too unimportant to have this extra nesting. We can just have a README for Faucet in the monorepo.

And we don't expect to have any other MUD-related services in the near future?


can i download video from stream website  that use shaka player ??

AAAAgHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGASEAMAvquPKEdht0kPUPaHebgSEAMAvquPKEdht0kPUPaHebgSEAMAvquPKEdht0kPUPaHebgSEAMAvquPKEdht0kPUPaHebgSEAMAvquPKEdht0kPUPaHebhI49yVmwY=

216346d9d2daf97_video-144.mp4

216346d9d2daf97_video-240.mp4

216346d9d2daf97_video-480.mp4

216346d9d2daf97_video-720.mp4

AAAAgHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAGASEAMAvquPKEdht0kPUPaHebgSEAMAvquPKEdht0kPUPaHebgSEAMAvquPKEdht0kPUPaHebgSEAMAvquPKEdht0kPUPaHebgSEAMAvquPKEdht0kPUPaHebhI49yVmwY=

216346d9d2daf97_audio.mp4

The data you shared above serves no purpose to help in downloading this content. However, If the content is plain it is pretty easy but in case of DRM Protected content (probably the pssh is visible in above manifest data) it all depends on license type. If the DRM Vendor allows the content to be able to download, You can. Just load the manifest and license url here on the demo page https://shaka-player-demo.appspot.com/demo/ and click the download button. There might come several issues like CORS, Missing Headers, Cookies, etc. But you need to figure that out yourself.

Shaka Player allows to download the content in IndexedDB but not the way you are asking for.

this the type of video and the type of website that iam trying to download from :
https://resource.inkryptvideos.com/v2-a83ns52/iframe/index.html#video_id=5f5bc0007085448591a3ce37e5f2d09a&otp=d5995ba0bb684f2dbac962ee2e5105cdaf9320ea003546a78b5e0baeef50d827&api=api&license=license&config=eyJ0eXBlIjoicnRleHQiLCJ0ZXh0IjoiQ29weXJpZ2h0IHByb3RlY3RlZCIsImFscGhhIjowLjUsImNvbG9yIjoiI0ZGMDAwMCIsInNpemUiOjE1LCJpbnRlcnZhbCI6MTAwMDB9

this is the type of video and the type of website that iam trying to download from that iam trying to downoad from :
https://resource.inkryptvideos.com/v2-a83ns52/iframe/index.html#video_id=5f5bc0007085448591a3ce37e5f2d09a&otp=d5995ba0bb684f2dbac962ee2e5105cdaf9320ea003546a78b5e0baeef50d827&api=api&license=license&config=eyJ0eXBlIjoicnRleHQiLCJ0ZXh0IjoiQ29weXJpZ2h0IHByb3RlY3RlZCIsImFscGhhIjowLjUsImNvbG9yIjoiI0ZGMDAwMCIsInNpemUiOjE1LCJpbnRlcnZhbCI6MTAwMDB9

There are several ways, you can check yt-dlp, aria2c many more, But this question isn't related to Shaka and I don't think anyone here will be able to help you regarding this.

thank you


Fix ECDSA in FIPS 186-5

As requested on #866, I have rebased on top of libacvp_2_1_0-throttle and target that branch

Looks good, thanks!


Fix two diagnostics when building swift-syntax using pre Swift-6 compilers

Only mark keyword as experimental when using a Swift ≥5.8 compiler

In most other parts of the code base we only use the SPI attribute for Swift ≥5.8 compilers. If we unconditionally mark a keywords as SPI we run into issues if a syntax node (which is only experimental in Swift 5.8+) uses that keyword as a default value in its initializers. The concrete case here is the usage of .dependsOn.

Mark Syntax.Info as @unchecked Sendable

We were relying on the nonisolated(unsafe) annotation of Info.info to make Sendable checking pass. But that feature is only available in Swift 6.0. To be able to build swift-syntax without warnings using Swift <6.0, we need to use @unchecked Sendable here.

@swift-ci Please test


crypto dependency issue

Hey Jarle, First I started thanks for making this, I just started playing with this and it looks really promising 🚀 .
For the issue at hand I noticed that with just fresh project setup (npm init adonisjs@latest -- -K="github:jarle/remix-starter-kit") that there is a crypto/vite dependency issue. see the picture below.. Initially I tried just to ignore it and just continue, but very soon the build started failing, see picture 2. any ideas on what is causing this and how to fix it

I tried to load the example project in the rep, but it seems there also we have the same issue, (run npm run dev and refresh the page), I isolated the issue so far to notice it only happen if the page has a loader

closing this for now, as it seems this a remix issue https://github.com/remix-run/remix/issues/10188


Migrate client proxies for http-proxy-middleware 2.0.6 to 3.0.3

Agility ticket
Summary
V3 Migration Guide
Verification Steps for the Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

Setup to Run the Code

Instructions for starting storybook
Instructions for starting the MilMove application
Instructions for running tests

How to test

Does the client start locally and work like normal?

Frontend

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, Edge).
[ ] There are no new console errors in the browser devtools.
[ ] There are no new console errors in the test output.
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.
[ ] This change meets the standards for Section 508 compliance.

Backend

[ ] Code follows the guidelines for Logging.
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys.
[ ] Have been communicated to #g-database.
[ ] Secure migrations have been tested following the instructions in our docs.

Screenshots

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

  Generated by :no_entry_sign: dangerJS against 05641d000326d643db66e7c65cec22f70239eff2


KVM - Upgrade to main fails if the storage's UUID doesn't follow the UUID format

ISSUE TYPE

Bug Report

COMPONENT NAME

Primary storage, DB

CLOUDSTACK VERSION

<IP_ADDRESS> to main

SUMMARY
If the UUID of the primary storage doesn't meet the format of the UUID, the upgrade of CloudStack fails. This probably affects the storage plug-ins: Datera/Nexenta/Cloudbyte/StorPool and Local storage if the UUID is set in the agent.properties file. This is caused by change #5382
STEPS TO REPRODUCE

On version <IP_ADDRESS> or lower
Set UUID to a storage that doesn't meet the format `%-%-%-%`
Upgrade to version <IP_ADDRESS> or above

EXPECTED RESULTS

successful upgrade

ACTUAL RESULTS

java.lang.StringIndexOutOfBoundsException: begin 0, end 16, length 4

or

java.lang.NumberFormatException: For input string: "SP"

@rohityadavcloud @shwstppr it looks like the original issue https://github.com/apache/cloudstack/pull/5382 can be restricted to Vmware only, a quick fix would be extending the SQL query to consider Vmware results only. I've created the PR: https://github.com/apache/cloudstack/pull/6654 on top of <IP_ADDRESS>, would this need a <IP_ADDRESS> tag?

nope - we can only attempt to fix this in <IP_ADDRESS> or <IP_ADDRESS> - users who can't upgrade need to build their own from the PR or wait for the next official release

Fixed with #6654
@slavkap if possible, please test latest night and re-open if needed


Expose source field in Klados

At the moment, we record provenance per-file, including curator name, e-mail address and ORCID. I proposed in https://github.com/phyloref/klados/issues/59#issuecomment-994118919 that we should replace this with a citation so we can record multiple curators. We had a larger discussion about provenance today, where we decided that at a minimum we should also record the creation time and last-modified time.
However, thinking about this more broadly, we should look at what other organizations like the GO consortium (or their tools like Noctua, etc.) do and follow their lead -- for example, should we record provenance for each individual phyloreference, or is doing it for the whole file okay? Should we bring back the system of giving phyloreferences states (e.g. "draft", "final draft", "tested", "published") and recording when the state changed and by whom? Should we include a logging system so that we can track all the changes being made by anybody, should those changes be stored in the Phyx file itself, or should we let an external version control system take precedence for dealing with that?
While we have a primary goal of ensuring that Klados is a good curation tool, there is an important secondary goal here -- generating and testing provenance information that we will later incorporate into the Clade Ontology.
I'll do some research into what other organizations and ontologies do, and report back.

We have two options:

Leave in the current fields, but have them stored in the Phyx file in the source field.
Replace the curator information with a source field.

However, we do want to have curator information at the per-phyloreference level (similar to how we have per-term attribution on an ontology). This could be name + identifier or only identifier, so e-mail is probably unnecessary (double-check this with Jim).
So, next steps:

[ ] Propose changes to Phyx to include basic curator information at the phyloreference level (this would bump it to v1.1.0). Review there and make the change there first.
[ ] Update Klados to include per-phyloreference curation level.

Goal: stay consistent with user stories in user stories.

Now opened as an issue on phyx.js as https://github.com/phyloref/phyx.js/issues/119


Fix #828: Upgrade "Mismatched assemblies" MSB3274 to error

This is to fix #828, update MSB3274 warning to error.
cc @AndyGerlicher , @rainersigwald

Let's try to get this in for dev16. I'm going to close/reopen to pick up new tests.

As a general rule if you aren't certain that this won't have bad results for some customers then I would expose a property just in case, to change it back to a warning. We had precedent for something similar (it was called $(GenerateResourceNeverLockTypeAssemblies) and the dev was confident it would never ever be needed, but we included it just in case, and it turned out that many people's builds broke and they were saved by the flag from being dead in the water)

Team triage: Thank you for the contribution! Since we haven't been able to figure out how breaking this would be, we're going to close this and reconsider it for the next major version, instead of possibly introducing a break in a patch release.

@rainersigwald
I agree. Do you think this merge would fit for 16.2 timeframe?


Update TypeScript typings to function with v3.0.

Currently, you are shipping TypeScript definition files that are incorrect.
Previously:

The NodeJS library exported the Dropbox function.
The browser library created a Dropbox global variable with only Dropbox functionality.

The library was recently updated in the following manner:

The NodeJS library exports Dropbox and DropboxTeam properties, which also enables ES6 compatibility.
The browser library exports a global Dropbox variable with Dropbox and DropboxTeam properties.

The DropboxTeam library is unchanged, so I had no need to update that file's TypeScript definition files.
This PR brings the TypeScript definition files in-line with the current version of the library, and updates the examples so they compile and function properly.
You should publish a new version of the library with these definition files; Dropbox v3.0 is unusable in a TypeScript environment as-is with the incorrect definition files.
As an added bonus, these changes make it possible to import the Dropbox library from TypeScript using ES6 syntax, e.g. import {Dropbox} from 'dropbox';

I'm not going to lie: I'm not sure how to uncommit the submodule update I accidentally made to generator/stone. Any advice would be appreciated. :-)

Thanks for putting this together!

Thanks for the PR John. I uncommited the stone submodule update and merged your commit.


Deploy a job that gets triggered at a specific time

Is it possible to deploy a job that gets triggered at a specific time? For eg: 2 hrs from now (duration), or at 24-08-2023 10:05:30 (specific time).

Storage's offer a schedule method which is similar to push.
https://docs.rs/apalis-core/0.4.4/apalis_core/storage/trait.Storage.html#tymethod.schedule
fn schedule(
    &mut self,
    job: Self::Output,
    on: DateTime
)


style: Add the white border to the StackedAvatars component

Code lives here:

https://github.com/open-sauced/hot/blob/main/src/components/HotRepositories.tsx#L126-L132
https://github.com/open-sauced/hot/blob/main/src/components/PostList.tsx#L69-L77
https://github.com/open-sauced/hot/blob/main/src/components/Hero.tsx#L108 - not implemented yet https://github.com/open-sauced/hot/issues/265

.take

.take

Actually fixing it, I was having some kind burn out

I noticed that the avatar only displays on specific projects ( repositories)

Ooh got that now . Gonna raise the PR

Checking in to see where this is at @yhoungdev

Very possible

@yhoungdev Something like this could work. This is in the StackedAvatar.tsx. If you see a more optimal way to do this, feel free! But this is what I was able to do in like 5 mins. You can play around with the width thickness etc.

goona do that Now


Wrap position of TextBlock is strange in ScrollViewer with Padding.

Describe the bug
When displaying TextBlock on ScrollViewer which has padding, Last word displayed on the screen may be cut off.
To Reproduce

Create MainWindow.axaml like the bellow.<Window ... >
    <ScrollViewer Padding="20">
        <TextBlock TextWrapping="Wrap" Text="The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet."/>
    </ScrollViewer>
</Window>

Show the window and shrink the window width to wrap text.

Expected behavior
Text wrap correctly and all characters are displayed on the screen.
Screenshots (Actual behavior)
Last word displayed on the screen may be cut off.

Desktop (please complete the following information):

OS: Windows 10 version 21H2
Version 11.0.0-preview1

Additional context
Perhaps, ScrollViewer does not seem to take Padding into account when measuring size.
I attempt to override ScrollViewer's MeasureOverride to deflate availableSize, and it seems to wrap correctrly.

MyScrollViewerpublic class MyScrollViewer : ScrollViewer
{
    public MyScrollViewer() : base() { }

    protected override Size MeasureOverride(Size availableSize)
    {
        var scale = LayoutHelper.GetLayoutScale(this);

        var padding = LayoutHelper.RoundLayoutThickness(Padding, scale, scale);

        availableSize = availableSize.Deflate(padding);

        return base.MeasureOverride(availableSize).Inflate(padding);
    }
}

MainWindow.xaml:<Window ... >
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="1*"/>
            <RowDefinition Height="1*"/>
        </Grid.RowDefinitions>

        <local:MyScrollViewer
                Grid.Row="0" Grid.Column="0"
                Padding="20">
            <TextBlock TextWrapping="Wrap" Text="ScrollViewer with customized MeasureOverride
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet."/>
        </local:MyScrollViewer>

        <ScrollViewer
                Grid.Row="1" Grid.Column="0"
                Padding="20">
            <TextBlock TextWrapping="Wrap" Text="Original ScrollViewer
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet."/>
        </ScrollViewer>
    </Grid>
</Window>

the full sample is located in here.

If this fixes your issue this isn't an issue with text layout and instead the ScrollViewer isn't measuring children with the proper size.

This is probably related to #7889. The fix wasn't complete I guess, because ScrollContentPresenter does not handle Padding correctly. Looking at ContentPresenter:
https://github.com/AvaloniaUI/Avalonia/blob/0b01a51c9e83a779ea273277d9efc8a90e444fea/src/Avalonia.Controls/Presenters/ContentPresenter.cs#L592-L595
I think it would be enough to copy this logic to ScrollContentPresenter:
https://github.com/AvaloniaUI/Avalonia/blob/0b01a51c9e83a779ea273277d9efc8a90e444fea/src/Avalonia.Controls/Presenters/ScrollContentPresenter.cs#L271-L272
This could become:
    var size = LayoutHelper.MeasureChild(Child, constraint, Padding, BorderThickness);
    return size.Constrain(availableSize);

Or maybe simply:
    return base.MeasureOverride(constraint).Constrain(availableSize);

Yes, it seems ScrollViewer is not properly respecting padding in 11.0.0-preview1. I was about to report this, but it seems it's already being discussed here.
For reference:
To Reproduce

In a standard template, use the following code in MainView.axaml:

<UserControl xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
             x:Class="AvaloniaApp.Views.MainView">

  <DockPanel>
    <ScrollViewer Padding="3,3,20,20">
      <Panel Width="3000" Height="3000" Background="Red" />
    </ScrollViewer>
  </DockPanel>

</UserControl>

Run the application.

Expected behavior
In 0.10.18, this renders as expected, with padding around the red Panel.
Screenshots
0.10.18

11.0.0-preview1

I was trying to fix this and the current design is just broken I guess, there are 2 options:

Fix ScrollContentPresenter to accept border and padding, which I was trying to do, but the real question is where do they apply? Viewport, extent, or some other way? What do they actually mean in a scroll presenter?
Simply stop inheriting from ContentPresenter, which will make border and padding disappear, so they don't have to be handled.

I was trying to fix this and the current design is just broken I guess, there are 2 options:

Fix ScrollContentPresenter to accept border and padding, which I was trying to do, but the real question is where do they apply? Viewport, extent, or some other way? What do they actually mean in a scroll presenter?
Simply stop inheriting from ContentPresenter, which will make border and padding disappear, so they don't have to be handled.

Padding only applies to the Viewport

Something like this, where border is black, padding is orange, and content is white?

This is actually something that you can't achieve without handling border and padding on scroll viewer, but it doesn't seem to be a consistent UX: the scroll bar size and position no longer match the content bounds. Even with that problem, I believe this may be useful, but for how many people? Is it worth the effort?
When I originally "fixed" the padding I actually wanted the effect of having a border inside the scroll viewer, so I have no idea how useful this actually is.


Login Failure: TypeError: 'NoneType' object is not subscriptable

This has been working for quite a while without any changes. A few weeks ago it started failing and I haven't changed a thing.
This is basically the same code as the example code from the README pages.
I am able to log onto the wyze app with the same login.
/usr/local/bin/python3.9 /Users/tcarlin/PycharmProjects/wyze-sdk/wyze_devices.py
Traceback (most recent call last):
File "/Users/tcarlin/PycharmProjects/wyze-sdk/wyze_devices.py", line 7, in
client = Client(email=os.environ['WYZE_EMAIL'], password=os.environ['WYZE_PASSWORD'])
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/wyze_sdk/api/client.py", line 59, in init
self.login()
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/wyze_sdk/api/client.py", line 139, in login
response = self._auth_client().user_login(email=self._email, password=self._password, totp_key=self._totp_key)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/wyze_sdk/service/auth_service.py", line 77, in user_login
if response['access_token']:
TypeError: 'NoneType' object is not subscriptable

FWIW the login is working fine for me today, with a freshly installed SDK. From the error it appears that response is completely empty for you. Any chance this was a temporary issue?

It's working now. It was down for a full day. It filled up my syslog file putting a traceback every 15 seconds. Will close.

Seems to be a Wyze server error.


ssd v5 version mAP

hi,@zhreshold ,I found the weiliu' ssd version have updated to version 5. which has got 77.2 mAP at ssd300.  Do you have plan to update this mxnet version ?

Hang tight, dev on the way, and pretty close to release.

Good to know . I wish I can help.


rename package to @metamask/react-native-webview

Prepare for publish as @metamask/react-native-webview

@legobeat yes, main is the correct branch to merge into
I'm looking into the iOS pod setup failures

Podspec filename must match its name attribute
Here's the commit with the changes to get pods installed
https://github.com/MetaMask/react-native-webview-mm/commit/7860fbd09abf29f7a77f0c4125c1e7f9ed71997b

Podspec filename must match its name attribute
Here's the commit with the changes to get pods to install 7860fbd

@jpcloureiro Thanks! Merged: d05d52564b26141e139bd1dd70fb25f6f102fcf2

Failing Detox CI Tests:
Error: Unable to find Node version '14' for platform darwin and architecture arm64.

Unrelated to this PR.

Addressed separately in #19


rr.log(…, rr.Image(…)) slow

A user reported logging 4k video frames using log_image (without jpeg compression) and streaming it to the Rerun Viewer. The SDK was the bottle-neck, NOT the viewer. I want to understand why.
Related:

https://github.com/rerun-io/rerun/issues/3084
https://github.com/rerun-io/rerun/issues/4100

We should ask them to try again with 0.9 and see if this is still a problem

We've rewritten this code path so many times; I'm gonna just assume this isn't an issue anymore


COCO Panoptic Answer

I follow the description on your paper, using the OneFormer model trained on COCO with DiNAT-L backbone to obtain the segmentation map, but the results is different from the answer your provide. Can you give the code for generating the answers?

Hi @Yingyue-L, thank you for your interest! Could you share the results that you obtained?
Please note that the model's outputs are non-deterministic, so you may observe different run results. You can find the snapshots for our results here -> the demo*.png files.

Thanks for your reply! Sorry, I didn't describe my question clearly. The results I can't reproduce is the panoptic problem gt answers --playground/data/coco_segm_text/train/panoptic.txt. I use the OneFormer model trained on COCO with DiNAT-L backbone to obtain the segmentation map as your paper describe, but I get the different answer compare with the answer your provide as shown below. So I hope you could share your code that generate the answers, I would greatly appreciate it!
panoptic_json.txt

Hi @Yingyue-L, we modified the demo script from OneFormer to obtain the class names from the predictions and used the following postprocessing code to prepare our dataset. I might release the code in the future if I find the time. Please feel free to ask any other confusions you may have.
def format_text(txt_output):
    if len(txt_output.keys()) == 0:
        return "There are no detectable objects in the image"

    if len(txt_output.keys()) == 1:
        if list(txt_output.values())[0] == 1:
            verb = "is"
            plural = ""
        else:
            verb = "are"
            plural = "s"
    else:
        verb = "are"
        plural = "s"

    txt_line = f"The object{plural} present in the image {verb}:"
    for k in txt_output.keys():
        num = "" if txt_output[k][0] == 1 else p.number_to_words(txt_output[k][0]) + " "
        noun = k.split('-')[0] if txt_output[k][0] == 1 else p.plural(k.split('-')[0])
        txt_line += f" {num}{noun},"
    txt_line = txt_line[:-1] + "."
    return txt_line

Note: You may have to return the class names from the visualizer in the demo and make changes in predictor.py.
    def draw_panoptic_seg(self, panoptic_seg, segments_info, area_threshold=None, alpha=0.7):
        """
        Draw panoptic prediction annotations or results.
        Args:
            panoptic_seg (Tensor): of shape (height, width) where the values are ids for each
                segment.
            segments_info (list[dict] or None): Describe each segment in `panoptic_seg`.
                If it is a ``list[dict]``, each dict contains keys "id", "category_id".
                If None, category id of each pixel is computed by
                ``pixel // metadata.label_divisor``.
            area_threshold (int): stuff segments with less than `area_threshold` are not drawn.
        Returns:
            output (VisImage): image object with visualizations.
        """
        pred = _PanopticPrediction(panoptic_seg, segments_info, self.metadata)

        if self._instance_mode == ColorMode.IMAGE_BW:
            self.output.reset_image(self._create_grayscale_image(pred.non_empty_mask()))

        classes = []
        json = {}

        import pycocotools.mask as mask_util

        json = {}

        # draw mask for all semantic segments first i.e. "stuff"
        for mask, sinfo in pred.semantic_masks():
            category_idx = sinfo["category_id"]
            try:
                mask_color = [x / 255 for x in self.metadata.stuff_colors[category_idx]]
            except AttributeError:
                mask_color = None

            text = self.class_names[category_idx]
            classes.append(text)

            rle = mask_util.encode(np.asfortranarray(mask, dtype=np.uint8))
            rle["counts"] = rle["counts"].decode("utf-8")
            if text.split("-")[0] not in json.keys():
                json[text.split("-")[0]] = [rle]
            else:
                json[text.split("-")[0]].append(rle)

            self.draw_binary_mask(
                mask,
                color=mask_color,
                edge_color=_OFF_WHITE,
                text=text,
                alpha=alpha,
                area_threshold=area_threshold,
            )

        # draw mask for all instances second
        all_instances = list(pred.instance_masks())
        if len(all_instances) == 0:
            return self.output, {}
        masks, sinfo = list(zip(*all_instances))
        category_ids = [x["category_id"] for x in sinfo]

        try:
            scores = [x["score"] for x in sinfo]
        except KeyError:
            scores = None
        labels = _create_text_labels(
            category_ids, scores, self.class_names, [x.get("iscrowd", 0) for x in sinfo]
        )

        for mask, text in zip(masks, labels):
            rle = mask_util.encode(np.asfortranarray(mask, dtype=np.uint8))
            rle["counts"] = rle["counts"].decode("utf-8")
            if text.split("-")[0] not in json.keys():
                json[text.split("-")[0]] = [rle]
            else:
                json[text.split("-")[0]].append(rle)

        classes.extend(labels)
        texts = {}
        for text in classes:
            if text not in texts.keys():
                texts[text] = [1, "thing" if text in self.thing_classes else "stuff"]
            else:
                texts[text][0] += 1

        try:
            colors = [
                self._jitter([x / 255 for x in self.metadata.stuff_colors[c]]) for c in category_ids
            ]
        except AttributeError:
            colors = None
        self.overlay_instances(masks=masks, labels=labels, assigned_colors=colors, alpha=alpha)

        return self.output, texts, json

Thanks for your so detailed reply! I'm confused that the predictions I got is different from the answer your provided, not only the number of class but also the number of the specific class, such as chairs, person and so on. I also use the demo.py to generate the results.

Thank for your detailed reply! I try to use the code you provide to reproduce the answer, but I got the different results compared with the answer you privode. Can you give me the demo.py you used ?

Hi @Yingyue-L, could you share the image from COCO that you are using?
Here's the demo.py (same as in the OneFormer repo apart from the part that writes the results to a text file) that we used to create our training and validation set using COCO images:
import argparse
import multiprocessing as mp
import os
import torch
import random
# fmt: off
import sys
sys.path.insert(1, os.path.join(sys.path[0], '..'))
# fmt: on

import time
import cv2
import numpy as np
import tqdm
import glob

from detectron2.config import get_cfg
from detectron2.data.detection_utils import read_image
from detectron2.projects.deeplab import add_deeplab_config
from detectron2.utils.logger import setup_logger

from oneformer import (
    add_oneformer_config,
    add_common_config,
    add_oneformer_config,
    add_common_config,
    add_swin_config,
    add_dinat_config,
    add_convnext_config,
)
from predictor import VisualizationDemo
from colormap import random_color
from detectron2.data import MetadataCatalog
import inflect
import math

def split_list(lst, n):
    """Split a list into n (roughly) equal-sized chunks"""
    chunk_size = math.ceil(len(lst) / n)  # integer division
    return [lst[i:i+chunk_size] for i in range(0, len(lst), chunk_size)]

def get_chunk(lst, n, k):
    chunks = split_list(lst, n)
    return chunks[k]

import warnings
warnings.filterwarnings("ignore")

# Declare method of inflect module
p = inflect.engine()

# constants
WINDOW_NAME = "OneFormer Demo"

def setup_cfg(args):
    # load config from file and command-line arguments
    cfg = get_cfg()
    add_deeplab_config(cfg)
    add_common_config(cfg)
    add_swin_config(cfg)
    add_dinat_config(cfg)
    add_convnext_config(cfg)
    add_oneformer_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    return cfg

def merge_json(args):
    results = {}
    for task in ["semantic", "instance", "panoptic"]:
        results[task] = {}
        for idx in range(args.num_chunks):
            with open(f'{args.output}/{task}/{args.num_chunks}_{idx}.json', 'r') as infile:
                results[task] = {**results[task], **json.load(infile)}
    with open(f'{args.output}/{task}.json', 'w') as output_file:
        json.dump(results, output_file)

def get_parser():
    parser = argparse.ArgumentParser(description="oneformer demo for builtin configs")
    parser.add_argument(
        "--config-file",
        default="../configs/ade20k/swin/oneformer_swin_large_IN21k_384_bs16_160k.yaml",
        metavar="FILE",
        help="path to config file",
    )
    parser.add_argument("--task", help="Task type")
    parser.add_argument(
        "--input",
        type=str,
        help="folder",
    )
    parser.add_argument(
        "--stuff-class-names",
        nargs="*",
        default=[],
        help="A list of user-defined stuff class_names"
    )
    parser.add_argument(
        "--thing-class-names",
        nargs="*",
        default=[],
        help="A list of user-defined thing class_names"
    )
    parser.add_argument(
        "--output",
        help="A file or directory to save output visualizations. "
        "If not given, will show output in an OpenCV window.",
    )
    parser.add_argument("--num-chunks", type=int, default=1)
    parser.add_argument("--chunk-idx", type=int, default=0)

    parser.add_argument(
        "--confidence-threshold",
        type=float,
        default=0.5,
        help="Minimum score for instance predictions to be shown",
    )
    parser.add_argument(
        "--opts",
        help="Modify config options using the command-line 'KEY VALUE' pairs",
        default=[],
        nargs=argparse.REMAINDER,
    )
    return parser

def format_text(txt_output):
    if len(txt_output.keys()) == 0:
        return "There are no detectable objects in the image", "There are no detectable objects in the image"

    if len(txt_output.keys()) == 1:
        if list(txt_output.values())[0] == 1:
            verb = "is"
            plural = ""
        else:
            verb = "are"
            plural = "s"
    else:
        verb = "are"
        plural = "s"

    txt_line = f"The object{plural} present in the image {verb}:"
    txt_line_region = f"The object{plural} present in the image {verb}:"
    for k in txt_output.keys():
        num = "" if txt_output[k][0] == 1 else p.number_to_words(txt_output[k][0]) + " "
        noun = k.split('-')[0] if txt_output[k][0] == 1 else p.plural(k.split('-')[0])
        txt_line += f" {num}{noun},"
        txt_line_region += f" <{txt_output[k][1]}>{num}{noun}</{txt_output[k][1]}>,"
    # txt_line = txt_line[:-1] + ".</s>"
    txt_line = txt_line[:-1] + "."
    txt_line_region = txt_line_region[:-1] + "."
    return txt_line, txt_line_region

if __name__ == "__main__":
    seed = 0
    random.seed(seed)
    np.random.seed(seed)
    torch.manual_seed(seed)
    torch.cuda.manual_seed_all(seed)
    torch.backends.cudnn.deterministic = True
    torch.backends.cudnn.benchmark = False

    mp.set_start_method("spawn", force=True)
    args = get_parser().parse_args()
    setup_logger(name="fvcore")
    logger = setup_logger()
    logger.info("Arguments: " + str(args))

    cfg = setup_cfg(args)

    tasks = ["panoptic", "semantic", "instance"]

    os.makedirs(args.output, exist_ok=True)
    demo = VisualizationDemo(cfg, parallel=True, is_open=False)
    pan_json = {}
    sem_json = {}

    if args.input:
        paths = glob.glob(f'{args.input}/*.jpg')
        paths = get_chunk(paths, args.num_chunks, args.chunk_idx)

        for path in tqdm.tqdm(paths, disable=not args.output):
            # use PIL, to be consistent with evaluation
            img = read_image(path, format="BGR")
            start_time = time.time()
            predictions, visualized_output, txt_output, json_output = demo.run_on_image(img, args.task, None)
            logger.info(
                "{}: {} in {:.2f}s".format(
                    path,
                    "detected {} instances".format(len(predictions["instances"]))
                    if "instances" in predictions
                    else "finished",
                    time.time() - start_time,
                )
            )

            if args.output:
                for k in visualized_output.keys():
                    opath = os.path.join(args.output, k)
                    os.makedirs(opath, exist_ok=True)
                    out_filename = os.path.join(opath, os.path.basename(path))
                    visualized_output[k].save(out_filename)

                for k in txt_output.keys():
                    txt_line = format_text(txt_output[k])
                    with open(f'{args.output}/{k.split("_")[0]}.txt', 'a') as f:
                        f.write(f'<IMG>{path.split("/")[-1]}<IMG>')
                        f.write(f'{txt_line}')
                        f.write(f"\n")
            else:
                raise ValueError("Please specify an output path!")
    else:
        raise ValueError("No Input Given")

Hi @Yingyue-L, could you share the image from COCO that you are using?
Here's the demo.py (same as in the OneFormer repo apart from the part that writes the results to a text file) that we used to create our training and validation set using COCO images:
import argparse
import multiprocessing as mp
import os
import torch
import random
# fmt: off
import sys
sys.path.insert(1, os.path.join(sys.path[0], '..'))
# fmt: on

import time
import cv2
import numpy as np
import tqdm
import glob

from detectron2.config import get_cfg
from detectron2.data.detection_utils import read_image
from detectron2.projects.deeplab import add_deeplab_config
from detectron2.utils.logger import setup_logger

from oneformer import (
    add_oneformer_config,
    add_common_config,
    add_oneformer_config,
    add_common_config,
    add_swin_config,
    add_dinat_config,
    add_convnext_config,
)
from predictor import VisualizationDemo
from colormap import random_color
from detectron2.data import MetadataCatalog
import inflect
import math

def split_list(lst, n):
    """Split a list into n (roughly) equal-sized chunks"""
    chunk_size = math.ceil(len(lst) / n)  # integer division
    return [lst[i:i+chunk_size] for i in range(0, len(lst), chunk_size)]

def get_chunk(lst, n, k):
    chunks = split_list(lst, n)
    return chunks[k]

import warnings
warnings.filterwarnings("ignore")

# Declare method of inflect module
p = inflect.engine()

# constants
WINDOW_NAME = "OneFormer Demo"

def setup_cfg(args):
    # load config from file and command-line arguments
    cfg = get_cfg()
    add_deeplab_config(cfg)
    add_common_config(cfg)
    add_swin_config(cfg)
    add_dinat_config(cfg)
    add_convnext_config(cfg)
    add_oneformer_config(cfg)
    cfg.merge_from_file(args.config_file)
    cfg.merge_from_list(args.opts)
    cfg.freeze()
    return cfg

def merge_json(args):
    results = {}
    for task in ["semantic", "instance", "panoptic"]:
        results[task] = {}
        for idx in range(args.num_chunks):
            with open(f'{args.output}/{task}/{args.num_chunks}_{idx}.json', 'r') as infile:
                results[task] = {**results[task], **json.load(infile)}
    with open(f'{args.output}/{task}.json', 'w') as output_file:
        json.dump(results, output_file)

def get_parser():
    parser = argparse.ArgumentParser(description="oneformer demo for builtin configs")
    parser.add_argument(
        "--config-file",
        default="../configs/ade20k/swin/oneformer_swin_large_IN21k_384_bs16_160k.yaml",
        metavar="FILE",
        help="path to config file",
    )
    parser.add_argument("--task", help="Task type")
    parser.add_argument(
        "--input",
        type=str,
        help="folder",
    )
    parser.add_argument(
        "--stuff-class-names",
        nargs="*",
        default=[],
        help="A list of user-defined stuff class_names"
    )
    parser.add_argument(
        "--thing-class-names",
        nargs="*",
        default=[],
        help="A list of user-defined thing class_names"
    )
    parser.add_argument(
        "--output",
        help="A file or directory to save output visualizations. "
        "If not given, will show output in an OpenCV window.",
    )
    parser.add_argument("--num-chunks", type=int, default=1)
    parser.add_argument("--chunk-idx", type=int, default=0)

    parser.add_argument(
        "--confidence-threshold",
        type=float,
        default=0.5,
        help="Minimum score for instance predictions to be shown",
    )
    parser.add_argument(
        "--opts",
        help="Modify config options using the command-line 'KEY VALUE' pairs",
        default=[],
        nargs=argparse.REMAINDER,
    )
    return parser

def format_text(txt_output):
    if len(txt_output.keys()) == 0:
        return "There are no detectable objects in the image", "There are no detectable objects in the image"

    if len(txt_output.keys()) == 1:
        if list(txt_output.values())[0] == 1:
            verb = "is"
            plural = ""
        else:
            verb = "are"
            plural = "s"
    else:
        verb = "are"
        plural = "s"

    txt_line = f"The object{plural} present in the image {verb}:"
    txt_line_region = f"The object{plural} present in the image {verb}:"
    for k in txt_output.keys():
        num = "" if txt_output[k][0] == 1 else p.number_to_words(txt_output[k][0]) + " "
        noun = k.split('-')[0] if txt_output[k][0] == 1 else p.plural(k.split('-')[0])
        txt_line += f" {num}{noun},"
        txt_line_region += f" <{txt_output[k][1]}>{num}{noun}</{txt_output[k][1]}>,"
    # txt_line = txt_line[:-1] + ".</s>"
    txt_line = txt_line[:-1] + "."
    txt_line_region = txt_line_region[:-1] + "."
    return txt_line, txt_line_region

if __name__ == "__main__":
    seed = 0
    random.seed(seed)
    np.random.seed(seed)
    torch.manual_seed(seed)
    torch.cuda.manual_seed_all(seed)
    torch.backends.cudnn.deterministic = True
    torch.backends.cudnn.benchmark = False

    mp.set_start_method("spawn", force=True)
    args = get_parser().parse_args()
    setup_logger(name="fvcore")
    logger = setup_logger()
    logger.info("Arguments: " + str(args))

    cfg = setup_cfg(args)

    tasks = ["panoptic", "semantic", "instance"]

    os.makedirs(args.output, exist_ok=True)
    demo = VisualizationDemo(cfg, parallel=True, is_open=False)
    pan_json = {}
    sem_json = {}

    if args.input:
        paths = glob.glob(f'{args.input}/*.jpg')
        paths = get_chunk(paths, args.num_chunks, args.chunk_idx)

        for path in tqdm.tqdm(paths, disable=not args.output):
            # use PIL, to be consistent with evaluation
            img = read_image(path, format="BGR")
            start_time = time.time()
            predictions, visualized_output, txt_output, json_output = demo.run_on_image(img, args.task, None)
            logger.info(
                "{}: {} in {:.2f}s".format(
                    path,
                    "detected {} instances".format(len(predictions["instances"]))
                    if "instances" in predictions
                    else "finished",
                    time.time() - start_time,
                )
            )

            if args.output:
                for k in visualized_output.keys():
                    opath = os.path.join(args.output, k)
                    os.makedirs(opath, exist_ok=True)
                    out_filename = os.path.join(opath, os.path.basename(path))
                    visualized_output[k].save(out_filename)

                for k in txt_output.keys():
                    txt_line = format_text(txt_output[k])
                    with open(f'{args.output}/{k.split("_")[0]}.txt', 'a') as f:
                        f.write(f'<IMG>{path.split("/")[-1]}<IMG>')
                        f.write(f'{txt_line}')
                        f.write(f"\n")
            else:
                raise ValueError("Please specify an output path!")
    else:
        raise ValueError("No Input Given")

Thanks for your reply! The image I used is the<PHONE_NUMBER>39.jpg on the val set as shown below.

Hi @praeclarumjj3, Sorry to bother you. Do you have some idea about my question now ?

Hi @Yingyue-L, I'm sorry I forgot to reply. I tried running the image you shared through our data gen script, and the result matches the one we released in the COST dataset. Did you set the seed as 0, as mentioned in the demo.py script I shared earlier?
Also, what GPU are you using, and what are your environment specifications? I suggest setting the environment according to official guidelines in OneFormer (as we used that one). We processed the dataset by splitting the dataset across 8 A100 GPUs.

Hi @Yingyue-L, I'm sorry I forgot to reply. I tried running the image you shared through our data gen script, and the result matches the one we released in the COST dataset. Did you set the seed as 0, as mentioned in the demo.py script I shared earlier?
Also, what GPU are you using, and what are your environment specifications? I suggest setting the environment according to official guidelines in OneFormer (as we used that one). We processed the dataset by splitting the dataset across 8 A100 GPUs.

Thanks for your reply ! I already set the seed=0, and set the environment as the official guidelines. The GPU I used is the 1 3090.

Hi @Yingyue-L, I'm sorry I forgot to reply. I tried running the image you shared through our data gen script, and the result matches the one we released in the COST dataset. Did you set the seed as 0, as mentioned in the demo.py script I shared earlier?
Also, what GPU are you using, and what are your environment specifications? I suggest setting the environment according to official guidelines in OneFormer (as we used that one). We processed the dataset by splitting the dataset across 8 A100 GPUs.

Thanks for your reply ! I already set the seed=0, and set the environment as the official guidelines. The GPU I used is the 1 3090.

Can you share the entire demo folder that you using now and the scripts you run the demo.py ?

Hi, @praeclarumjj3. Can you share the entire demo folder that you using now and the scripts you run the demo.py ?

Hi, @praeclarumjj3, I really need your help. Could you please share your complete code and checkpoint with me when you have time?

Hi @Yingyue-L, apologies for the delay. I have been busy. Please find the demo folder (zipped) attached d.zip.
We used the publicly available checkpoint found on the OneFormer repo: https://shi-labs.com/projects/oneformer/coco/150_16_dinat_l_oneformer_coco_100ep.pth
I would also recommend comparing results for other images. It is not uncommon for the model outputs to be slightly different on different GPUs. Another point is that we split the dataset across 8 GPUs during our dataset preparation, which can also affect the model outputs.

Hi @Yingyue-L, apologies for the delay. I have been busy. Please find the demo folder (zipped) attached d.zip.
We used the publicly available checkpoint found on the OneFormer repo: https://shi-labs.com/projects/oneformer/coco/150_16_dinat_l_oneformer_coco_100ep.pth
I would also recommend comparing results for other images. It is not uncommon for the model outputs to be slightly different on different GPUs. Another point is that we split the dataset across 8 GPUs during our dataset preparation, which can also affect the model outputs.

Thank you for your reply! I have tried using the code you provided and checked the results together. I found that although there are some slightly different answers, the influence is minimal.


What is the maximum file size in chainlit

What is the max file size to upload in Chainlit.it only shows the default size of 2mb but not the max?

I think the value is configurable and defaults to 500 MiB:
From config:
# Authorize users to upload files with messages
[features.multi_modal]
    enabled = true
    accept = ["*/*"]
    max_files = 20
    max_size_mb = 500


How to run unit tests in a container that depends on mongodb and redis container.

I have unit tests that need redis and mongodb containers running so the tests can pass.  How do I orchestrate this using Container jobs?

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

ID: 3339a2e0-be29-1363-f588-b231d4472c02
Version Independent ID: 72dd11a3-704d-d0fd-6dfa-cf49f3352de3
Content: Container Jobs in Azure Pipelines and TFS - Azure Pipelines
Content Source: docs/pipelines/process/container-phases.md
Product: devops
Technology: devops-cicd
GitHub Login: @thomps23
Microsoft Alias: macoope

@AceHack Please accept our apologies for the delay in getting to this issue. It looks like you were working through an issue with your scenario or implementation, rather than an issue with the documentation. Here are a few options where you might consider asking your question in the future:

Azure DevOps on Stack Overflow
Azure DevOps Support Bot


[SPARK-15632][SQL]Typed Filter should NOT change the Dataset schema

What changes were proposed in this pull request?
This PR makes sure the typed Filter doesn't change the Dataset schema.
Before the change:
scala> val df = spark.range(0,9)
scala> df.schema
res12: org.apache.spark.sql.types.StructType = StructType(StructField(id,LongType,false))
scala> val afterFilter = df.filter(_=>true)
scala> afterFilter.schema   // !!! schema is CHANGED!!! Column name is changed from id to value, nullable is changed from false to true.
res13: org.apache.spark.sql.types.StructType = StructType(StructField(value,LongType,true))

SerializeFromObject and DeserializeToObject are inserted to wrap the Filter, and these two can possibly change the schema of Dataset.
After the change:
scala> afterFilter.schema   // schema is NOT changed.
res47: org.apache.spark.sql.types.StructType = StructType(StructField(id,LongType,false))

How was this patch tested?
Unit test.

Test build #60062 has started for PR 13529 at commit 00a873e.

Test build #60062 has finished for PR 13529 at commit 00a873e.

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

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60062/
Test FAILed.

we can also remove the EmbedSerializerInFilter and its related tests

maybe ignore them for now? useful as reference when we add those optimizations.

@rxin By "ignore" did you mean remove the rule from the batch but keep the code lines of the rule?

I was referring to the tests.

Test build #60085 has started for PR 13529 at commit 9bebd69.

Test build #60087 has started for PR 13529 at commit 5e899f6.

LGTM except for a minor comment, and pending Jenkins.

@cloud-fan I think we can also disable EmbedSerializerInFilter now?

I think we should just remove EmbedSerializerInFilter, as we need a totally different optimization strategy for the new typed filter.

@liancheng @cloud-fan
About EmbedSerializerInFilter, I have noted in source code:
TODO: Remove this after we completely fixes SPARK-15632 by adding optimization rules For typed filters.
We can remove EmbedSerializerInFilter in follow up PR when we finished the optimizers for typed filter.

Test build #60091 has started for PR 13529 at commit 1281131.

Test build #60085 has finished for PR 13529 at commit 9bebd69.

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

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60085/
Test FAILed.

Test build #60087 has finished for PR 13529 at commit 5e899f6.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60087/
Test PASSed.

Test build #60091 has finished for PR 13529 at commit 1281131.

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

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60091/
Test PASSed.

Merging to master and branch-2.0. Thanks!


Omitting fields and using string constant for field naming

I just started using tracing mainly for automatically adding a request id to the log output, but I have the special requirement to log it with a certain field name. I was able to add it with a custom RootSpanBuilder as described in the documentation. Unfortunately, I was not able to get rid of the original field request_id that already exists. I've tried setting it to Empty in two places, but it has no effect:
impl RootSpanBuilder for MyRootSpanBuilder {
    fn on_request_start(request: &ServiceRequest) -> Span {
        let req_id = get_req_id_from_req(request);
        let request_id = req_id.as_str();
        tracing_actix_web::root_span!(request, "X-Request-ID" = &request_id, request_id = Empty)
    }

    fn on_request_end<B>(span: Span, outcome: &Result<ServiceResponse<B>, Error>) {
        let _enter = span.in_scope(|| {
            span.record("request_id", &Empty);
        });
        DefaultRootSpanBuilder::on_request_end(span, outcome);
    }
}

Is there an easier way to omit a few (not all) of the original fields?
P.S.: Since I'm already asking about this snippet… I have a constant for my header name…
pub(crate) const HEADER_REQUEST_ID: &str = "X-Request-ID";

that I would like to use to name the field. As you can see, I needed to write a literal value there (X-Request-ID). When I use the constant, it uses the constant name as field name instead of the content value.

Unfortunately, I was not able to get rid of the original field request_id that already exists.
Is there an easier way to omit a few (not all) of the original fields?

I don't think there is an easy way to accomplish it at the moment.

As you can see, I needed to write a literal value there (X-Request-ID). When I use the constant, it uses the constant name as field name instead of the content value.

I have to double-check, but I am fairly confident this is a limitation of tracing.

Okay, thank you for clarifying, so I don't need to spend more time on trying. :)

Closing this one, given there is nothing to be done on tracing-actix-web at the moment.


[3079] improve (GravitinoVersion): add equals method

What changes were proposed in this pull request?
creating an .equals() method in GravitinoVersion.java as proposed in #3079
Why are the changes needed?
to compensate for potential different results in different versions of Java depending on whether compareTo() or equals() is used
Does this PR introduce any user-facing change?
No
How was this patch tested?
Added tests in TestGravitinoVersion.java

It looks like you may have added some extra unrelated files in this PR? The build is failing because those files don't have the correct file license headers.


Cant override enum from extended class

Godot version:

3.3
OS/device including version:

windows 10 x64
Issue description:

You cant override existing enum from parent class
e.g
extends Node2D
class_name Character

enum STATES {idle,move}

extends Character
class_name NPC

enum STATES {idle,move,attack}

Steps to reproduce:

Create two classes
parent has a enum
extends from one of classes
try to override enum

Minimal reproduction project:

N/A

Out of curiosity, does something like that work in other programming languages? If so, which ones?

C#... I think
since in godot a enum, is like a dictionary, at least append more (which is currently possible) but then you cant use enumname.newkey

I dont think this is possible in C#, at least no easily and intuitively.

Enums can't really work like this for multiple reasons. They aren't the right tool for this use case. Sadly, this is a situation that requires rethinking the code rather than the language.
Allowing to override enums would opens the door to a lot of problems; some pretty hard to debug. It would go against what most people working with enums expect and take for granted, which increase the risk of introducing errors too.
The biggest problem imo is that it would break polymorphism when a parent class is used to refer to a child class, like in a switch case, as children classes could remove, rename, reorder or change the values of elements from the enum used in the parent class.
There are plenty of ways to approach this without enums depending on what you use them for.
Without more context, in C#, to have similar possibilities as to what enums offer, I would make a "State" struct with a name and a value properties without public setter. Then you can have a private collection of "State" with some default values in a parent class, a public getter returning a list of them, and a protected method to add new states into the collection from a child class.
As for GDScript, it really depends what you want to do with the enum.
Feel free to poke for help on the official Godot Discord if you want, I'm sure we can find a cleaner solution.

I mean technically the internal code of Godot already does this:
https://github.com/godotengine/godot/blob/0ec809462e1c0b008d4a617552acd1b56f6c0f6c/scene/main/node.h#L215-L222
https://github.com/godotengine/godot/blob/0ec809462e1c0b008d4a617552acd1b56f6c0f6c/scene/gui/control.h#L298-L304
The numbering is just manually controlled to ensure no overlaps. Nothing stopping you from doing this in GDScript I suppose - you would just need to control it yourself.

This is intended. Enums are the same as constants, and constants cannot be overridden. If you need this you should open a proposal to explain the use cases.


Release 0.14.0

Update the changelog for 0.14.0

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: Pull request #157 opened

Start Time: 2021-02-09T21:55:51.621+0000

Duration: 5 min 18 sec

Commit: bb954827f4327f7f039dc31964736399c0a88751

Test stats :test_tube:

Test
Results

Failed
0

Passed
205

Skipped
6

Total
211

Trends :test_tube:

@elastic/agent


register scivision on pypi

Do we need a minimal python package to do this?

Great! Should we do this soon?

@scotthosking hopefully we'll discuss it today's weekly catch-up as we should define a template following the best practices suggested in Slack. Also, I've found other resources pointing good practices and alternatives to cookiecuter (the common one) such as Pyscaffold.

Understanding Best Practice Python Tooling by Comparing Popular Project Templates
How to set up a perfect Python project (cookiecutter)
PyScaffold

The sourcery cookicutter recipe looks like a great starting point.

Registration is done! scivision


sauceOptions.setCapturePerformance() should force or encourage a setting of test name

Currently, if we do this:
        sauceOptions = new SauceOptions();
        sauceOptions.setExtendedDebugging(true);
        sauceOptions.setCapturePerformance(true);

The outcome of the performance test will look like this. This does make sense because how can you capture history of a test that has a unique identifier as a name.
To fix this issue currently we need to do:
        sauceOptions.setCapturePerformance(true);
        sauceOptions.setName("simplePerformanceTest");

My recommendation is to update the API to:
sauceOptions.setCapturePerformance("simplePerformanceTest");

This solves the problem above. Furthermore, it solves another problem of needing to set true flag for setCapturePerformance() which I believe is redundant. setCapturePerformance() is disabled by default.  Hence, if we set it, the only option left is to enable it. Providing the user the option to setCapturePerformance(false) is silly I believe

Yeah, but that the parameter is the test name isn't obvious. I'd really like to see support for bindings for each test runner that will automatically grab the test name somehow. (So an automatic default similar to what we're doing for build name). But I haven't looked into how difficult this would be for JUnit/TestNG

@titusfortner why do you say it's not obvious as the method signature will show setCapturePerformance(String testName)? Furthermore, this is currently a usability issue and potentially a bug because the only way to enable performance is to do
        sauceOptions.setCapturePerformance(true);
        sauceOptions.setName("simplePerformanceTest");

However, this isn't obvious and isn't documented anywhere... I encountered this because I tried to use it

@titusfortner why do you say it's not obvious as the method signature will show setCapturePerformance(String testName)? Furthermore, this is currently a usability issue and potentially a bug because the only way to enable performance is to do
        sauceOptions.setCapturePerformance(true);
        sauceOptions.setName("simplePerformanceTest");

However, this isn't obvious and isn't documented anywhere... I encountered this because I tried to use it

I don't like relying on an IDE to tell you the parameters; theoretically, good code should have obvious arguments.
My solution to this was the to throw a custom error if setting it before setting a name.
This will make it easy for us to implement a default naming strategy going forward without people needing to change anything.

I don't like relying on an IDE to tell you the parameters; theoretically, good code should have obvious arguments.
My solution to this was the to throw a custom error if setting it before setting a name.
This will make it easy for us to implement a default naming strategy going forward without people needing to change anything.

well, I guess they would still be setting the name earlier, either way. /shrug

well, I guess they would still be setting the name earlier, either way. /shrug

I understand what you mean about good code and obvious arguments. @titusfortner do you feel that using legacy Sauce API and Sauce Bindings that our API is obvious?
Current Solution (1)
        sauceOptions.setCapturePerformance(true);
//not mandatory to set user name... But will misbehave if not set
        sauceOptions.setName("simplePerformanceTest");

So instead of weirdly forcing users to use 2 methods, why can't we just use one method with one parameter? Isn't this what method parameters are for... If you don't like the previous method name, maybe we can do?
Option 2
sauceOptions.enableFrontEndPerformance("simplePerformanceTest");

Option 3
Or you force the user to always set test name and then do
//no boolean as front end perf is disabled by default
sauceOptions.setFrontEndPerformance();

I'm not as big on forcing the user to always set test name.
Option 4
Maybe we can automatically set the test name ourselves if it's not set and then use sauceOptions.setFrontEndPerformance();
Option 5
        sauceOptions.setCapturePerformance(true);
//throw runtime exception if method below isn't used
        sauceOptions.setName("simplePerformanceTest");


Disable istio citadel to stop rotation of certs and envoy hot restarts

Bug description
I am using istio 1.4.3 helm charts for istio installation. It has an option to disable security and install istio components. But when i do that all other components are going into crashback loop because certs are not being created for them because citadel is not present
Expected behavior
We are using istio to control our cluster egress traffic and not using mutual TLS feature of istio so ideally we dont want these certs to rotated in the first place.
According to this issue https://github.com/istio/istio/issues/16222 we don't want our egress traffic to be affected because of cert rotation
Steps to reproduce the bug
Install istio with security.enabled as false
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
client version: 1.4.3
control plane version: 1.4.5
data plane version: 1.4.5 (87 proxies)

How was Istio installed?
Using helm according to the documentation provided by istio
Environment where bug was observed (cloud vendor, OS, etc)

@myidpt do we support plaintext only mode in 1.4?
@piyush0609 in 1.5+ there is no more hot reload during cert rotation if you are able to update

@howardjohn is there any possible way we could disable citadel for our usecase?

In 1.4 you can use the minimal profile to disable everything that requires certs. In 1.5+ there is no more citadel or hot restarts. Since we only support 1.5+ now, I think this canbe closed https://istio.io/latest/news/support/announcing-1.4-eol-final/


If applied, this commit adds the link to forum rules on thread edit page and below the reply box

Fixes #280
Open to improving or scrapping this if you guys don't like it.

@introwit can you add some screenshots how that would look like?

@driesvints below the reply box

And on edit, it's same as create but with proper text & grammar. I have sent few messages explaining why the screenshot isn't available for this in the laravelio slack channel as well.

Thanks! :)


min-expire-time option

Sets lower bound on SOA expire value for a zone.
Currently defaults to 1 second. Values could include references to other SOA timing values, such as refresh, refresh+1, refresh+retry and refresh+retry+1

fix merged


error when calculating the MSE and MAS between ols_forecast and true value.

Normalisation of the output of the Xreg model is used in timesfm.py if we use covariance_forecast.  But the code only renormalise the output of timesfm with covariance. And the output of Xreg model is very small. So it's meaningless to compare with different models.
we should add this code 'xregs = _renormalize(xregs, per_instance_stats))' in timesfm.py file (about 745 raws).

The xreg output is mostly FYI. My intuition is that renormalizing xreg output makes little sense if we call TimesFM forecast first and use xreg to fit the residuals.
Do you have a specific usecase in mind?

If we use xregmode = 'xreg + timesfm', then algorithm will first use xreg based on 'cov' predict the target y'. and then calculating the residuals between y' and the true label y : d. Then TimesFM will according to this delta predict the future residuals d' for the xreg model. Finally, Xreg will based on the new cov input predict the future target y''. The result finally is y_pred = y'' + d'. It's the basic function. In this method, it seems like xreg model will preform the more important role than timesfm model. And another question, shall we use other regression model like SVR, Boost ?

You understanding is correct. Other regression models also work and can be implemented in a similar fashion. Linear + ridge are provided here since they have closed form solutions which have relatively minimal (but still significant) impacts on the e2e inference latency.

Thank you for your reply. It's a nice model. Hope a new version will be published.


MacOS OpenSSL path fix

Fixed MacOS OpenSSL path. If install openssl using brew - it installed to /opt/homebrew/opt/openssl@3/

/opt/homebrew path is specific for Apple Silicon. We seems to need separate build instructions for Apple Silicon laptops.
Also, isn't there a symlink from "/opt/homebrew/opt/openssl/" to "/opt/homebrew/opt/openssl@3/"?

/opt/homebrew/opt/openssl/

I added the ability to choose between Apple silicon and Intel when generating build instructions. Now the instructions should be correct for both architectures.


App crashing after login

After login app crashing, maybe problem is related in api

Yes it is. Will look into it

Streaming too

Streaming works for me though. What errors do you get?

After click, I can see blank activity. I think we need to add new flag to intent like this
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

Might be. I just fixed the api issue.

Streaming still don't working and download too

Streaming works on my end. Download works too, however some files can't be downloaded (if uploaded by magnet). They are generated in a batch every x hours. Try to download latest torrent MAshira and it works

I dunno still don't works. I tried many torrents (yes, i have internet and all permissions for app - Android 6.0) I will try again in a few hours

Try this one https://nyaa.pantsu.cat/view/959749
Actually better is to try on the website if you can download it and then try on the app.

Website

working

App

don't working

http://imgur.com/gOMrp5m

Yeah weird. Do you have an error logged in logcat?

logcat only shows me
I/Process: Sending signal. PID: 28681 SIG: 9

Maybe try to clean build it?

Seems no allow permission?

@ltype https://github.com/NyaaPantsu/NyaaPantsu-android-app/issues/49#issuecomment-317189419
Maybe app not detecting permisson (I have Android 6.0), but before works

Uninstall app and try again?

I'm on android 7.0 here if it can help

Now working - I just cleaned and rebuild project 2nd time 😄


Added CURRENTMINUTE and CURRENTSECOND options for watermark cutoff

When watermark type is TIMESTAMP, we wanted to extract data up to past few seconds or minutes. But there were only CURRENTDATE and CURRENTHOUR cutoff options. So I added CURRENTMINUTE and CURRENTSECOND to AppendMaxLimitType.
Can someone please review and accept this feature?

Coverage decreased (-0.006%) to 46.14% when pulling 38f66359cb38c8a8f24249a9d2079a807a2776e2 on chosh0615:cutoff-second into 54fd005b1bb69e0042a01db544f2a55e532983a2 on linkedin:master.


QXEIEVDWS

Yesterday 03/07/2021 at 5:06PM I tried to mix coin through the Coinjoin.io but didnt get anything in my receivers address. Here are the information I have on the transaction.
Transaction amount 0.02442506 BTC
SENT TO COINJOIN ADDRESS 12aQxMaM5b5KVquAypiTxQ9asr3v3mxLgUi
Coinjoin ID : QXEIEVDWS

How did people get the idea that I have anything to do with coinjoin.io?

Cause it's there on GitHub when I clicked on the link from coinjoin.io it
brought me to your page...
On Mon, Jul 5, 2021 at 4:43 PM Andrew Poelstra @.***>
wrote:

Closed #1 https://github.com/apoelstra/coinjoin/issues/1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apoelstra/coinjoin/issues/1#event-4980167467, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APN5SHE4PMZHXZ63B2KBLP3TWIRONANCNFSM47ZHFDOA
.

--
*Prince In The Clouds *

Thanks for the heads up :(
I don't have anything to do with coinjoin.io.  I'm sorry, but this appears to be a scam and I have received several complaints about it, though there is nothing that I can do.

On Thu, Jul 15, 2021 at 10:15 AM Andrew Poelstra @.***>
wrote:

Thanks for the heads up :(
I don't have anything to do with coinjoin.io.  I'm sorry, but this appears to be a scam
and I have received several complaints about it, though there is nothing
that I can do.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apoelstra/coinjoin/issues/1#issuecomment-880730629,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APN5SHEXRJG5MHWSBI52NE3TX3UO3ANCNFSM47ZHFDOA
.

--
*Prince In The Clouds *

I hope that writing that made you feel better.

apoelstra, can I write it too? I need to let off some steam.


Update module versions to next release iteration (0.11-SNAPSHOT)

Now the release is done, we can start the next snapshot iteration of 0.11-SNAPSHOT.
This PR updates all the versions in the the pom.xml files to match.

Codecov Report

Merging #857 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #857      +/-   ##
============================================
+ Coverage     99.44%   99.45%   +0.01%
  Complexity     2076     2076
============================================
  Files           311      311
  Lines          6096     6095       -1
  Branches        312      311       -1
============================================
  Hits           6062     6062
  Misses            5        5
+ Partials         29       28       -1

Impacted Files
Coverage Δ
Complexity Δ

.../quorum/tessera/sync/SyncResponseMessageCodec.java
100% <0%> (+3.22%)
5% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Thrift timeout when submitting topology

This might not be a bug, but it's new to us. We've been seeing the following on some of our deploys.
I believe that the topology sometimes starts despite this. Other times, it all works fine if we run it again.
Any idea why this might be happening suddenly? Can we increase the timeout time on Thrift?
Submitting topo topology to nimbus...Traceback (most recent call last):
  File "/Users/w/anaconda/envs/topologies/bin/sparse", line 11, in <module>
    sys.exit(main())
  File "/Users/w/anaconda/envs/topologies/lib/python2.7/site-packages/streamparse/cli/sparse.py", line 56, in main
    args.func(args)
  File "/Users/w/anaconda/envs/topologies/lib/python2.7/site-packages/streamparse/cli/submit.py", line 256, in main
    requirements_paths=args.requirements)
  File "/Users/w/anaconda/envs/topologies/lib/python2.7/site-packages/streamparse/cli/submit.py", line 219, in submit_topology
    env_config, nimbus_client, options=options)
  File "/Users/w/anaconda/envs/topologies/lib/python2.7/site-packages/streamparse/cli/submit.py", line 97, in _submit_topology
    topology=topology_class.thrift_topology)
  File "/Users/w/anaconda/envs/topologies/lib/python2.7/site-packages/thriftpy/thrift.py", line 198, in _req
    return self._recv(_api)
  File "/Users/w/anaconda/envs/topologies/lib/python2.7/site-packages/thriftpy/thrift.py", line 210, in _recv
    fname, mtype, rseqid = self._iprot.read_message_begin()
  File "thriftpy/protocol/cybin/cybin.pyx", line 429, in cybin.TCyBinaryProtocol.read_message_begin (thriftpy/protocol/cybin/cybin.c:6325)
  File "thriftpy/protocol/cybin/cybin.pyx", line 60, in cybin.read_i32 (thriftpy/protocol/cybin/cybin.c:1546)
  File "thriftpy/transport/framed/cyframed.pyx", line 48, in thriftpy.transport.framed.cyframed.TCyFramedTransport.c_read (thriftpy/transport/framed/cyframed.c:1526)
  File "thriftpy/transport/framed/cyframed.pyx", line 68, in thriftpy.transport.framed.cyframed.TCyFramedTransport.read_frame (thriftpy/transport/framed/cyframed.c:1716)
  File "thriftpy/transport/framed/cyframed.pyx", line 31, in thriftpy.transport.framed.cyframed.TCyFramedTransport.read_trans (thriftpy/transport/framed/cyframed.c:1254)
  File "thriftpy/transport/cybase.pyx", line 61, in thriftpy.transport.cybase.TCyBuffer.read_trans (thriftpy/transport/cybase.c:1472)
  File "/Users/w/anaconda/envs/topologies/lib/python2.7/site-packages/thriftpy/transport/socket.py", line 108, in read
    buff = self.sock.recv(sz)
socket.timeout: timed out

cc. @gallamine

@tdhopper I've encountered this before on flakey wifi. Usually happens when I'm trying to deploy from a coffee shop.


"This expression is not callable." when using TypeScript with moduleResolution set to  node16 or nodenext

When @vitejs/plugin-basic-ssl is used in a project with moduleResolution: nodenext, the following error appears:
vite.config.ts:166:5 - error TS2349: This expression is not callable.
  Type 'typeof import("/node_modules/@vitejs/plugin-basic-ssl/dist/index")' has no call signatures.

166     basicSslPlugin(),
        ~~~~~~~~~~~~~~

Quick check at arethetypeswrong confirms that types are indeed wrongly configured for ESM projects: https://arethetypeswrong.github.io/?p=%40vitejs%2Fplugin-basic-ssl%401.1.0
To fix that, my suggestion is to:

Ensure each version of the plugin has its own declaration file.
Current state:dist
  index.cjs
  index.d.ts <-- not a sibling of any JS file
  index.mjs <-- missing declarations

Desired state:dist
  index.cjs
  index.d.cts <-- declarations for .cjs file
  index.mjs
  index.d.mts <-- declarations for .mjs file

Remove types and exports["."].types from package.json, as since every JS file would have a corresponding sibling declaration file, these would be redundant or even misleading.

Site note: could also add "type": "module" and change .mjs/.d.mts extensions to .js/.d.ts respectively while at it.

A bit ugly for sure, but a workaround:
import { defineConfig, loadEnv } from 'vite'
import basicSsl from '@vitejs/plugin-basic-ssl'

export default defineConfig(({ mode }) => {
  process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }
  return defineConfig({
    plugins: [
      // ⬇
      basicSsl.default()
    ],
  })
}
)


Adding deletion for test access record after successful write.

After the testing for proper write access for route53 we test our deletion abilities and clear up the record.

[test]

/lgtm


Implement Multiple Authors

All of the Ember blogs tend to have multiple authors. ember-ghost needs to support this so that we can 👍

working!


Folder open stuck on 1600 icons

I have icon folder around 1600 small png icon, but the page has stuck in open folder,

I think, 1600 icons can display on page, can i do work around to fix this issue like add pagination / filter?

Hello @jangidgirish. I test it with more than 2700 icons and no problem. Can you give me more info? Thanks

I've got a directory of nearly 8,000 images that is very slow to respond when viewing. Is there a way to add some pagination or similar to help speed it along? Any other ideas welcome as the package is working perfectly other than this system issue.

Hello! We are opened to every contribution. So if you want to make a pull request you can do it. Thanks ☺