Added option to force recode a video if it's already in the target format

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[x] New feature

Description of your pull request and other information
Added a new option --force-recode-video as suggested by @dstftw in pull request #18728 to force processing a video file even if it's already in the target format, this is useful if we're passing --postprocessor-args for example to cut the file, in the current version the conversion is skipped with the message:
[ffmpeg] Not converting video file FILE_PATH - already is in target format FILE_FORMAT

With this option we can force the recoding of the video:
youtube-dl URL --recode-video mp4 --format mp4 --postprocessor-args "-ss 10 -to 120 -c copy" --force-recode-video

@dstftw since we cannot read and write at the same time I have added a suffix .recoded for the output path, for example a video.mp4 file will be recoded as video.recoded.mp4, if this is not the right way to do it I can change this behavior for example rename the old file before recoding.

Using .temp.mp4 would probably make sense for consistency.

@ealgase does it make sense if a video.mp4 is converted to video.temp.mp4 and then video.mp4 will be deleted if --keep-video was not passed and the .temp file returned ?
I think renaming the file that will be deleted before recoding is much better, we'll wait for @dstftw 's opinion and see.

@dstftw can you please review this request and let me know your opinion on renaming the original file before forcing a convert ? Thank you.


Is this a weird behaviour from AlertDemo.java from the demos?

jdk: 1.8.0_172
jfoenix cloned repo commit: e5318cf074dbc08a0219064768e2df609739004f
OS: Manjaro Linux x86_64
Kernel: 4.14.57-1-MANJARO
DE: GNOME 3.28.3
WM: i3

Hello,
How were you able to drag/resize it? such code is not implemented in JFXAlert.
looks cool though...

It does this when clicking on the gray area and dragging the mouse around, left click + drag. Single click on gray are won't close the alert dialog, rather thinks user is going to drag & resize the whole dialog. The dialog closes when hitting Esc. Clicking on white part of the dialog does nothing. Hope someone reports this too.

I'll close this issue for now, if you were able to reproduce this issue outside the demo scope let's re-open.
Regards,


Leaf path not found: 'D:\Agent2\Agent\Worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll'

Agent version and platform
2.114.0

Windows Server 2012

## **VSTS type and version**
On perm TFS 2015
What's not working?
Build always fails.
Agent and Worker's diag log
Task         : Visual Studio Build
Description  : Build with MSBuild and set the Visual Studio version property
Version      : 1.0.26
Author       : Microsoft Corporation
Help         : More Information
Leaf path not found: 'D:\Agent2\Agent\Worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll'
Worker_20170331-020637-utc.log.txt

@IkeStarnes
base on https://github.com/Microsoft/vsts-agent#supported-usage
Windows should always use the agent coming with TFS.

Ting's analysis still applies in this case, but minor correction to his statement: Windows should always use the agent coming with TFS, against TFS 2015


BlobIterator implementation

In commit table, we have hashes of commits, which are used to get trees -> blobs.
Current implementation does not filter:

repository (so same blob can happen in different repository)
refs

It leverages ColumnFilters from #24 (need to be merged first) in order to get particular commit hashes, rather then iterating all refs HEADs.

This is not supposed to be complete implementation yet: i.e it does nothing at all, in case there were no filters for commits.
One thing that seems reasonable in such cases - iterate all (non-remote, non-filtered) refs HEADS.
Feedback is very welcome.
\cc @ajnavarro @mcarmonaa

Join in in Implicits commits and files on "commit_hash" === "hash" does not produce a eq filter (only is_not_null(commit_hash)) so a new case was added that iterates blobs in HEADs of all refs

Reviews addressed, rebased on latest master.
Going to push test now.

@bzz You should do a rebase -i and remove dd2f819 from the history. the correct one is 623560dc453cf81e77c3d1cbf9e4e2443f573820

@ajnavarro @erizocosmico sorry, did not push the rebase before. Fixed now.

Test are fixed in #28
@ajnavarro on https://github.com/src-d/spark-api/pull/25#discussion_r138887872
2 joins were added, because:

files.commit_hash join \w only uniq commits.hash, resulting table has Schema.files structure
result is then joined with commits again, to get more fields like repository_id, etc

Second join can of course be manually done by the client, if we decide that's desirable.
But rationale for having it here were client expectations on API:
spark.getRepositories.filter($"id" === "github.com/mawag/faq-xiyoulinux")
     .getReferences.filter($"name".equalTo("refs/heads/HEAD"))
     .getCommits
     .getFiles
     .select("repository_id", "reference_name", "path", "commit_hash", "file_hash")

Ideally, for our use-case clients would have repository_url here, which is not possible now, without one more join. So that could be an argument to remove extra join in files as well.
What do you think?
For me, something like below would be the best
spark.getRepositories.filter($"id" === "github.com/mawag/faq-xiyoulinux")
     .getReferences.filter($"name".equalTo("refs/heads/HEAD"))
     .getFiles
     .select("repository_url", "reference_name", "path", "commit_hash", "file_hash", "file_content")

where repository_url is already a main endpoint of original repository

For me, something like below would be the best
spark.getRepositories.filter($"id" === "github.com/mawag/faq-xiyoulinux")
.getReferences.filter($"name".equalTo("refs/heads/HEAD"))
.getFiles
.select("repository_url", "reference_name", "path", "commit_hash", "file_hash", "file_content")

This is a really nice approach. We should implement it in the near future.
Regarding the two joins, you can remove the previous df.select("hash") statement and do something:
Implicits.checkCols(df, "hash") // checking if this datasource is a commits one
val uniqDf = df.distinct() // get unique commits
val filesDf = Implicits.getDataSource("files", df.sparkSession) // get the files datasource
filesDf.join(df, filesDf("commit_hash") === uniqDf("hash")).drop($"hash") // join by commit hash and drop the hash duplicated column (hash == commit_hash)

Joins are really expensive and we need to avoid them as much as possible.

Joins are really expensive

Addressed in 653401237b45bb66f3f891c9b5148be5c963b9d1

This is a really nice approach. We should implement it in the near future.

Reference filter added in 3bdc052a0c7316af3f76da4a297a23a2749139bc

@ajnavarro I'm really sorry, but I do not understand what you mean by

I think this is not the best way tho do this

I was under impression that we are not in some kind of competition for the "best way of using collection API", but rather want to get blobs and release Spark API to the users.
Please let me know if you see bugs in some corner cases of the current implementation.

Suggestions from review applied in 03d89d0

CI passes now, \w fix from #37.
Merging if there is no further discussion

LGTM


Add the standard refresh binding, "g"

In a results buffer, "g" should re-run the query.
With prefix arg, re-run it and send the results to a new buffer.
Use cases: checking for errors or a particular message in the last X minutes, sometimes you just want to see newer entries, others you need to compare older entries to new ones.

Added in effb3bf.

The way g works was updated as described in #7, commit c3f5956.


Update to wxpython >=4.0.2 #323

Fixing #323 in order to accommodate the new wxpyton versions and deprications of wx.NewId()

It seems like these changes were reverted and now pytest raises a lot of warnings.


Remove unused std::io::Write import

Closes #27

ping

Rebased

Thanks!

@homu r+

:pushpin: Commit 6b7e252 has been approved by kbknapp

:hourglass: Testing commit 6b7e252 with merge 1bba964...

:sunny: Test successful - status


Feature: Add support for Repo/Org Push rulesets

GitHub launched push rules for rulesets to GA recently where you can allow only a certain team or group to push particular paths or files. The API has documentation now to support push rule targets for both Repository and Organisation.
It would be great to be able to support creating and managing these programatically.

Yes, this is already supported, by setting the Ruleset.Target field to "push".
However, I've made #3275 to update the comment to make this more clear.

Please let me know if I've missed something, @srgustafson8 .

@gmlewis thank you - I should have looked a bit deeper. Great to see this is already supported!

@gmlewis thank you - I should have looked a bit deeper. Great to see this is already supported!

No worries!  It is also great to have the comments up-to-date to make things easier to find, so thank you for reporting the issue.

Hi @gmlewis - having done a bit more digging, I believe there is some work required to fully support the push rulesets. The target can be set to push already, but I see https://github.com/google/go-github/pull/3233 was needed to implement support for Restrict file paths rules. There are three other push ruleset rule types that would be good to support, Restrict file path length, Restrict file extensions and Restrict file size.
If you agree and this gets reopened, then I'm happy to give this a go when I get a chance.

If you agree and this gets reopened, then I'm happy to give this a go when I get a chance.

Thank you, @srgustafson8 !
It's yours.


Add support for secured access tokens

Added and documented by this pr
Some details available here
Idk if there is a list of endpoints that require a sec_token but one should be able to find all of them just by searching the APISPEC for sec_token

Done in #412


Error. No damage values (after loading scene with ongoing combat)

I started combat encounter in a scene. Logged out and closed FoundryVTT.
Later after opening scene again there was an damage values error.

Hope that helps.

There's no damage value because the defender won.


Create additional repo for docker build with Docker file

For today docker image hard to modify, because Dockerfile is not included to any repo, also as documentation. If you interested - i can help to organize it.

Pushed: https://github.com/werwolfby/docker-armhf-alpine-monitorrent
If you want to add something, PRs are welcome

Partially intersected with #108


How to have pmrp on archlinux ?

Hi ! Do you know if I can install your software on Archlinux. Or is it .deb only ? Thank you.

Hi there @uratom962,
pmrp is a bash script so all you need to do is copy it to somewhere in your $PATH and give it execute permissions. For example,
sudo cp pmrp /usr/local/bin/
sudo chmod 755 /usr/local/bin/pmrp
That is pretty much it.
Cheers!!!


DataCloneError: Failed to execute 'postMessage' on 'Worker'

This issue is reproduced in Angular2+ application with PDF.JS.
Here's the link where you can reproduce it.
https://github.com/VadimDez/ng2-pdf-viewer
Only one step to reproduce:
set url for non-existing pdf (which returns 404 Not found)
Here's error message:

ERROR Error: Uncaught (in promise): DataCloneError: Failed to execute 'postMessage' on 'Worker': function (delegate, current, target, task, applyThis, applyArgs) {
try {
onEnter(zo...... } could not be cloned.
Error: Failed to execute 'postMessage' on 'Worker': function (delegate, current, target, task, applyThis, applyArgs) {
try {
onEnter(zo...... } could not be cloned.
at MessageHandler.postMessage (util.js:1620)
at sendStreamRequest (util.js:1450)
at Object.error (util.js:1484)
at eval (api.js:1629)
at ZoneDelegate.invoke (zone.js:392)
at Object.onInvoke (ng_zone.ts:296)
at ZoneDelegate.invoke (zone.js:391)
at Zone.run (zone.js:142)
at zone.js:873
at ZoneDelegate.invokeTask (zone.js:425)
at MessageHandler.postMessage (util.js:1620)
at sendStreamRequest (util.js:1450)
at Object.error (util.js:1484)
at eval (api.js:1629)
at ZoneDelegate.invoke (zone.js:392)
at Object.onInvoke (ng_zone.ts:296)
at ZoneDelegate.invoke (zone.js:391)
at Zone.run (zone.js:142)
at zone.js:873
at ZoneDelegate.invokeTask (zone.js:425)
at resolvePromise (zone.js:824)
at zone.js:876
at ZoneDelegate.invokeTask (zone.js:425)
at Object.onInvokeTask (ng_zone.ts:288)
at ZoneDelegate.invokeTask (zone.js:424)
at Zone.runTask (zone.js:192)
at drainMicroTaskQueue (zone.js:602)
at ZoneTask.invokeTask [as invoke] (zone.js:503)
at invokeTask (zone.js:1540)
at XMLHttpRequest.globalZoneAwareCallback (zone.js:1566)

Because of NgZone, one new property '__zone_symbol__currentTask' has been added, and it tries to serialize this property to send the message.

Here's release when it started failing:
https://github.com/mozilla/pdfjs-dist/commit/f8b6be139338c324a669da0cc003270a6ea4a79f
And these changes cause error above:
https://github.com/mozilla/pdf.js/commit/343b4dc2b61c88f9b549f212b5d91a8b7acd4209

I'm not really seeing how PDF.js is at fault here. It looks like Angular is injecting a non-serializable property in an otherwise serializable message, so I think you should find out why Angular is doing that instead.

I created pull request that I think solves the problem.
https://github.com/mozilla/pdf.js/pull/9175
Sorry, If I did something wrong, this is my first pull request in github.

@uuggene  Was your commit merged? Im having same issue, and this error is not handled by onError handler(. Please keep me posted.


Amplify Publish - CloudFront 307 redirection and Access Denied after deployment in non-US region

Describe the bug
After amplify add hosting and amplify publish deployment where resources are created in a non-US region, CloudFront redirects (307) to S3 which returns AccessDenied. This is most likely because CloudFront is configured with Origin Access Identity so the S3 bucket cannot be accessed directly. I suspect it might be related to: https://aws.amazon.com/premiumsupport/knowledge-center/s3-http-307-response/ and the bucket on CloudFront doesn't have the region in the URL.
> amplify version
0.2.1-multienv.4

@awsed Cloudfront takes around 20-30 minutes sometimes to deploy and have the site up and running the first time. Were you able to access the site eventually?

It does work eventually but it does take more than minutes, more like hours or up to a whole day (as you can see in the support link it can take up to 24h). And if you try to access before that, CloudFront will cache the error and it'll make it worst. If you're not familiar with CloudFront and AWS it'll provide a bad user experience.
An easy fix would be to add the region to the S3 URL/FQDN as per the support link.

@UnleashedMind  Could you look into this and make the change? Thanks!

@awsed
I did a bit of investigation on this, what you have guessed is correct.
But the fixed described in the link (see the pasted section below), does not work.
...if the bucket is in us-west-2, you can change the Origin Domain Name from bucketname.s3.amazonaws.com to bucketname.s3-us-west-2.amazonaws.com.
If we change the CloudFormation template, and set the CloudFrontDistribution's property  DistributionConfig/Origins/DomainName to a format like that, the CloudFormation will report an error like this:
The parameter Origin DomainName does not refer to a valid S3 bucket. (Service: AmazonCloudFront; Status Code: 400; Error Code: InvalidArgument; Request ID: xxxx
There was a post on this in the aws forum many years ago, but curiously it does not seem to have been completely resolved.
https://forums.aws.amazon.com/thread.jspa?messageID=495923
IMHO, we will have to live with this behavior before they provide a fix. Please let us know if you have other suggestions.

For anyone facing similar issues deploying to us-west-2, you should modify the S3AndCloudFront/template.json section that specifies the origin bucket for CloudFront from
"DomainName": {
  "Fn::GetAtt": [
    "S3Bucket",
    "DomainName"
  ]
}

"DomainName": {
  "Fn::GetAtt": [
    "S3Bucket",
    "RegionalDomainName"
  ]
}

For anyone facing similar issues deploying to us-west-2, you should modify the S3AndCloudFront/template.json section that specifies the origin bucket for CloudFront from
"DomainName": {
  "Fn::GetAtt": [
    "S3Bucket",
    "DomainName"
  ]
}

"DomainName": {
  "Fn::GetAtt": [
    "S3Bucket",
    "RegionalDomainName"
  ]
}

You totally saved me. I had an AccessDeny error and this caused it.

This error breaks all amplify projects with hosting in all regions except us-west-2. Could this ticket be reopened, please. This error is not easy to debug and this ticket saved me a lot more investigation time. Thank!
Using amplify version 4.20.0

Can confirm this is still occurring October 2020, tested in AP-SOUTHEAST-2
It seems like using Amplify init may be pulling down an old version of the repo given that it looks like this template has been fixed in master https://github.com/aws-amplify/amplify-cli/blob/master/packages/amplify-category-hosting/lib/S3AndCloudFront/template.json

@sirhc9 In that link they're still using DomainName instead of RegionalDomainName? Or do you mean some other fix?

@sirhc9 In that link they're still using DomainName instead of RegionalDomainName? Or do you mean some other fix?

Thanks LosD, my mistake, misread the template in master. I've edited my previous comment to correct


Support for hitSlop props

Is hitSlop supported for Svg Elements ? Would it be possible to expose hitSlop props for all Svg Elements ?

SVG elements are not standard react-native view-based elements, they are just abstract elements to descript the drawing path and fill stroke rules on SVG context.
It is possible to support hitSlop for all svg elements,but I`m not intend to do this.
Because it is not a standard attribute for svg elements on web.
Unless you can provide me some convinced reason to do this.

Thanks for the response. I am trying to use this library in  interactive charts. The current hitArea of the any svg element is only its bounding size.  So when it is used as a drag handle, it is very difficult to get hold of it and touchability is poor. The workaround I am using is to create a View component outside of svg in the same path. It is cumbersome to keep track of location both inside svg and outside. hitSlop would make this easier.  I dont think argument "hitSlop not being a standard attribute for svg element" is that helpful, since it already supports touchable props which are also not standard attribute. I think it would helpful to be web svg compliant and extendable to react-native.

And there is another issue with hitSlop.
hitSlop prop can work with regular shaped elements like Rect, circle.
But how would you implement it to svg shape like Path, Polygon, Polyline?
You can create a rect with tranparent fill to cover the drag handle element, and bind the responders on the rect,like this:
<G x={this.state.x} y={this.state.y}> // the g element do the translate stuff.
...whatever the drag handle element is
<Rect
 x="0"
 y="0"
 width="40"
 height="40"
 fill="rgba(0,0,0,0)"
{{...
    onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder,
    onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest,
     onResponderGrant: this.touchableHandleResponderGrant,
     onResponderMove: this.touchableHandleResponderMove,
     onResponderRelease: this.touchableHandleResponderRelease,
     onResponderTerminate: this.touchableHandleResponderTerminate
}}
/>
</G>

Yes. you are right .
Transparent Rect could work. Thanks


do you need premium chat-gpt to use this workflow?

I had a look at the troubleshooting section

[ x] Yes
[ ] No

Describe the bug
A clear and concise description of what the bug is.
Do you need premium version of chatgpt?
To Reproduce
Steps to reproduce the behavior:

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

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Relevant information from the ChatFred_Error.log file
Date/Time: 2023-03-10 16:32:29.819957
model: gpt-3.5-turbo
workflow_version: 1.2.0
error_message: Incorrect API key provided: sk-44******************************************PEG2.   You can find your API key at https://platform.openai.com/account/api-keys.
user_prompt: Why do birds fly?
temperature: 0.0
max_tokens: None
top_p: 1
frequency_penalty: 0.0
presence_penalty: 0.0

Additional context
Add any other context about the problem here.

Hi @benkhademi!
Thanks for reaching out. What do you mean by "premium chat-gpt". To run this workflow you need an OpenAI account to create an API key. That's about it.


mention the requirement for Go in README.md

since golang is unlikely to be installed by default (or even directly available in the distro's package manager) I added notes on how to find and install this requirement

redoing this as golang is available in Debian 11


[patch] change default value of ShutdownDuration and ProbeWaitTime

related PR: [patch] graceful shutdown skipped

Codecov Report

Merging #13 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #13   +/-   ##
=======================================
  Coverage   93.77%   93.77%
=======================================
  Files           9        9
  Lines         466      466
=======================================
  Hits          437      437
  Misses         19       19
  Partials       10       10

Impacted Files
Coverage Δ

service/server.go
95.04% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM


Minized Game doesn't Maximize again

Step One: Debug the project in Release.
Step Two: Minimize it.
Step Three: Maximize again.
Result: Doesn't Maximize, it seems that at the beginning is working, but it appears invisible.
Expected: Maximized Screen again.

Congratulations! This is the #100 issue!


Action fails with "Your system is missing the dependency: Xvfb"

While trying to run this action, I am getting the error Your system is missing the dependency: Xvfb. I ran into this couple of times earlier and it seemed to appear intermittently for others as well, so I did not think much of it. However, now I have started to get it on every run with a workflow that should be working fine.
Here is the .yml in question:
name: Test trunk
on:
  push:
    branches: trunk
jobs:
  test:
    name: Test
    runs-on: ubuntu-latest
    container: node:14.8

    services:
      db:
        image: postgres
        env:
          POSTGRES_PASSWORD: postgres
        # Wait until postgres has started.
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
      cms:
        image: joonashak/reclab-cms:0.0.5
        env:
          NODE_ENV: development
          PORT: 3001
          DATABASE_URL: postgres://postgres:postgres@db:5432/postgres
          JWT_SECRET: asd
        # Wait until cms has started.
        options: >-
          --health-cmd "curl -sS <IP_ADDRESS>:3001 || exit 1"
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5

    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Cypress Run
        uses: cypress-io/github-action@v2
        with:
          build: npm run build
          start: npm run serve
          wait-on: 'http://localhost:9000'
        env:
          NODE_ENV: test
          CMS_URL: http://cms:3001

And here is the error message in CI:

What do you make of this? Is it a problem with Cypress or the action or just my configuration?
Some remedies I have unsuccessfully tried:

Running Cypress with run-xvfb.
Running with ubuntu-16.04 instead of ubuntu-latest.
???

Thank you for your help!

This was apparently caused by the container attribute on line 9. Removing it fixed the problem.


Version 2.3.0 with NLog dependency update

TableStorage now supports override of RowKey
BlobStorage now has batching enabled by default.
Added Microsoft.SourceLink.GitHub for all packages

Resolves #60 and Resolves #54

@JDetmar Thank for the merge, and quick release of the new builds.


can't install successfully,atom version is 1.8.0

➜  ~ nvm install v0.12.7
######################################################################## 100.0%
Now using node v0.12.7 (npm v2.11.3)
➜  ~ sudo apm install intellij-idea-keymap
Password:
Installing intellij-idea-keymap to /Users/qk/.atom/packages
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp http GET https://atom.io/download/atom-shell/v0.36.8/node-v0.36.8.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! install error
gyp ERR! stack Error: socket hang up
gyp ERR! stack     at createHangUpError (http.js:1473:15)
gyp ERR! stack     at Socket.socketOnEnd (http.js:1569:23)
gyp ERR! stack     at Socket.g (events.js:180:16)
gyp ERR! stack     at Socket.emit (events.js:117:20)
gyp ERR! stack     at _stream_readable.js:944:16
gyp ERR! stack     at process._tickCallback (node.js:448:13)
gyp ERR! System Darwin 15.3.0
gyp ERR! command "/Users/qk/Applications/Atom.app/Contents/Resources/app/apm/bin/node" "/Users/qk/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "install" "--target=0.36.8" "--dist-url=https://atom.io/download/atom-shell" "--arch=x64" "--ensure"
gyp ERR! cwd /Users/qk/.atom
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
➜  ~ nvm use v0.10.40
Now using node v0.10.40 (npm v1.4.28)
➜  ~ sudo apm install intellij-idea-keymap
Installing intellij-idea-keymap to /Users/qk/.atom/packages
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp http GET https://atom.io/download/atom-shell/v0.36.8/node-v0.36.8.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! install error
gyp ERR! stack Error: socket hang up
gyp ERR! stack     at createHangUpError (http.js:1473:15)
gyp ERR! stack     at Socket.socketOnEnd (http.js:1569:23)
gyp ERR! stack     at Socket.g (events.js:180:16)
gyp ERR! stack     at Socket.emit (events.js:117:20)
gyp ERR! stack     at _stream_readable.js:944:16
gyp ERR! stack     at process._tickCallback (node.js:448:13)
gyp ERR! System Darwin 15.3.0
gyp ERR! command "/Users/qk/Applications/Atom.app/Contents/Resources/app/apm/bin/node" "/Users/qk/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "install" "--target=0.36.8" "--dist-url=https://atom.io/download/atom-shell" "--arch=x64" "--ensure"
gyp ERR! cwd /Users/qk/.atom
gyp ERR! node -v v0.10.40
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok

Hi @jnuc093,
could you maybe show me the output of apm --version ? And are you behind a proxy?
The error looks like it is a low level issue with the connection to atom.io and not something related with the plugin itself.
Did you try it again on another internet connection via the mobile network or at your home?
Thanks and regards,
Guy

Hi @jnuc093
is this still an issue on your side? If yes then please reopen the issue as this is now three moths old.
Thanks and regards,
Guy


AllowAlignment or ForceAlignment for single-line if/elsif/else style

Is your feature request related to a problem? Please describe.
I just upgraded a very large project from 1.13 to 1.24.  Most of the offenses auto-corrected code that was written in 2013-2016 to use newly available features. There were only two rules I disagree with which had over 10 offenses.  I try to take lint rules very seriously before disabling them.
One of them is Lint/AmbiguousOperatorPrecedence and I agree with much of the feedback in #10080.
The other is Lint/ElseLayout.  I see what the rule is getting at, but... the style I've been (manually) enforcing doesn't have that issue, IMO.  I found #10147 and I agree with the feedback there and the proposed solution (allow single-line else when the if/elsif before it are single line) seems good to me, once it's working.  But IMO, the rationale behind the original lint rule still applies to the examples given in that discussion.
To steal the simple example at the very top of #10147:
if number == 1 then puts "One"
elsif number == 2 then puts "Two"
else "Unknown"
end

IMO, this visual alignment of conditions and results is confusing when it comes to the else clause.  And IMO this is just as true for the else clause in case/when/else statements.
Describe the solution you'd like
When I have a case statement or a chain of if/elsif/else statements which are all (or almost all) able to fit within 80 cols, I will usually convert it to the single-line style... but only if I can align all of the then clauses.  e.g:
# this is how I would handle the example above
if    number == 1 then puts "One"
elsif number == 2 then puts "Two"
else                   "Unknown"
end
# and... aha!  After alignment, I think I found a "bug" in our toy code.

# what our else clause _probably_ meant to do was the following:
if    number == 1 then puts "One"
elsif number == 2 then puts "Two"
else                   puts "Unknown" # alignment highlights the missing puts
end

See how helpful alignment is for this specific use case?  🙂   Like I said above, I don't just allow alignment, I require it for all single-line else clauses.  I also require it in case/else statements.
Here are a couple of other examples of what I'd consider "good" code:
  def guess_imap_server
    if    gmail?;    "imap.gmail.com"
    elsif outlook?;  "imap-mail.outlook.com"
    elsif yahoo?;    "imap.mail.yahoo.com"
    elsif icloud?;   "imap.mail.me.com"
    elsif fastmail?; "imap.fastmail.com"
    elsif aol?;      "imap.aol.com"
    elsif in_db?;    db_lookup.imap_server
    else             "imap.#{domain}"
    end
  end

        token = lookahead
        case token.symbol
        when T_PLUS; continue_req
        when T_STAR; response_untagged
        else         response_tagged
        end

In the if/elsif cases, not only do I require else clauses to be aligned, but also the original if condition.
Describe alternatives you've considered
Multiple times I've tried just never writing single-line if/elsif/else statements... I've tried not-aligning... and I can't do it! 😉  I crave the aligned tabular layout! They clarify so much that is lost when your only quick-scan visual context clues are indentation and similarly spelled keywords.  Consider:

cond foo

one

cond bar

two

cond baz

three

vs:

cond
result

cond foo
one

cond bar
two

cond baz
three

I'm sure this is more "style" than objective reality, and "de gustibus non est disputandum" ... but probably you can see how the tabular layout is often preferable.  I will gladly refactor code to name each conditional and each result with their own methods or procs, if it gives me a tabular layout.  But not aligning the conditionals and the result clauses... for me that's the worst of both worlds. 🙂
So, if I can fit everything and align it, I prefer single-line style.  If I can't align (nearly) every row within my max columns, I usually convert all of them to "regular" style for both consistency and legibility.  I do make a special exception for the else (because it's not unusual for the else clause to be an exception or otherwise special compared to the others.  Does that make sense?

FWIW: if someone gives me a few pointers to how to get started, I'd like to start learning how to make this sort of rule myself.  Maybe I'll make a PR.  :)


[NETBEANS-1443] Error creating Symfony project

https://issues.apache.org/jira/browse/NETBEANS-1443

Always install the latest LTS version because We can't install the latest stable version using the installer any longer
Remove the LTS Checkbox of NewProjectConfigurationPanel

Let's restart build after PR #971 is merged.

This is just an assert exception, so need not  to do it. However, we already know that the command for the latest stable version is not available. So we should avoid using it, I thought. Should we just check the LTS by default?

This is just an assert exception, so need not to do it. However, we already know that the command for the latest stable version is not available. So we should avoid using it, I thought. Should we just check the LTS by default?

I see. Frankly, I do not know :) I would need to investigate the current state of Symfony, the current state of its support in NetBeans (do we handle correctly Symfony 3 projects? What about Symfony 4 as I can see it is the latest version?). In other words, I would expect that the next LTS version will stop working as well; or am I wrong? :)

The latest stable version seems Symfony 4. We have to install it via composer. i.e. We can install only Symfony 3 (LTS)projects using the installer. (see the attatched above image) Currently, we don't provide support for Symfony 4 yet...

Exactly. So this change will work unless Symfony project starts creating Symfony 3 LTS projects using composer :) That will not happen I guess so we can merge. Of course, Symfony 4 needs to be investigated whether the current support can be extended or a new module should be created.
I will merge this MR once the build passes.
Thanks!

The build passed :)

So merged :)


WIP: feat: support EntryPlugin filename function

Summary
Allow EntryPlugin filename configuration to be a function.
fix https://github.com/web-infra-dev/rspack/issues/5971

Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

Hi, @9aoy. Are you still working on this PR?

Hi, @9aoy. Are you still working on this PR?

Waiting for somebody to remove the Hash, PartialEq, Eq, PartialOrd, and Ord traits. I tried to remove it, but it failed due to too many associated functions 😂 .

Hi, @9aoy. Are you still working on this PR?

Waiting for somebody to remove the Hash, PartialEq, Eq, PartialOrd, and Ord traits. I tried to remove it, but it failed due to too many associated functions 😂 .

I see. I would like to give it a try. Although I'm not familiar with this, I'm eager to try. Any tips or guide would be greatly appreciated!

@9aoy @phyyou
Please update the branch from main branch, and Filename will work without removing or ignoring Hash, PartialEq, Eq, PartialOrd, and Ord for now.

This PR is a bit outdated, and I will open a new one.


⚠ Bofrost.de has degraded performance

In 9496c31, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1710 ms

Resolved: Bofrost.de performance has improved in b99e59a.


How to calculate the file "demo.csv"  parameters （160， 363）？

Hi, thanks for your greate work.
what about the parameters in file "demo.csv" (160, 363)
misc/Input/517600055 1 misc/Pose_Source/517600078 160 misc/Audio_Source/681600002.mp3 misc/Mouth_Source/681600002 363 dummy

Hi, please refer to the README "Prepare Testing Meta Data" part. 160 is the number of driving pose frames, and actually, only this number is used in the dataloader.

Hi, please refer to the README "Prepare Testing Meta Data" part. 160 is the number of driving pose frames, and actually, only this number is used in the dataloader.

Thanks very much.
what should I process the input image?

Please refer to the "Self-Prepared Data Processing" part. Please thoroughly read the README before raising any issues. Manual alignment is also applicable. You have to make sure the figure is aligned in the same way as the training set. Plus, as there are seldom any Asia faces in the training set, there is a possibility that the result will not work as shown in the demo.

Please refer to the "Self-Prepared Data Processing" part. Please thoroughly read the README before raising any issues. Manual alignment is also applicable. You have to make sure the figure is aligned in the same way as the training set. Plus, as there are seldom any Asia faces in the training set, there is a possibility that the result will not work as shown in the demo.

非常抱歉，刚开始的时候没有注意看。以为只要输入的图片是对齐过的就行了，然后这里本来自己使用了dlib 对齐，发现好像有点问题。


[WIP] Front Matter support

What does this PR do?

Uses front-matter npm dependency.
Single file option does not support item attributes, this change extends the functionality to use Front Matter to retrieve the attributes if available on single MD files.
Supports HTML files too since it avoids Remarkable rendering if the extension matches.
Supports the following cases:

file.md
# Lorem Ipsum
Dolor Sit Amet
```
**header.md**
```
---
title: "header"
slug: "header"
path: /blog/snippets/header
---
## This is the header
```
**another.html**
```

Ground Control to Major Tom

```

This will return a valid object populated with the available options (title, slug, path and content) either choosing between Front Matter, clean MD or HTML file.

#### Where should the reviewer start?
- Check `front-matter` dependency in `package.json`
- Open `paperpress.js` and review the `Paperpress.prototype._fileToItem` private method.

#### Any background context you want to provide?
- This was discussed during a review at the JavascriptMX Slack channel.
- Since this is detecting if a file has or do not has Front Matter headers, this works _"automagically"_, since we don't need an extra option when initialised. Although, we could add an additional parameter to trigger it.

#### ToDo
- Missing tests to cover up this functionality.

Coverage decreased (-3.4%) to 96.552% when pulling 9cfa3c90aa24f43ffce6e2f1897ccd78d92808cf on kinduff:feat/front-matter into 267b9a198be40685b7749d50bafddaa41ccf2e4d on Siedrix:master.

This is awesome! Thank you so much!
I've made some notes and for the tests to cover up you just need to add at least two .md files on the articles folder.
One with only the path and other with just the title, date and slug. Ej:
---
path: ashes-to-ashes
---

---
title: Is there life on Mars?
date: 2016-05-03
slug: life-on-mars
---

And then edit the test.js file adding the number of items you created where the articles.length is compared, ej:
On line 101 change assert.equal(articles.length, 7) to assert.equal(articles.length, 9)
or
On line 166 change assert.equal(articlesAndSnippets.length, 9) to assert.equal(articlesAndSnippets.length, 11)

Code with the changes on that were suggested would be ok. Do you need help with the tests?
This would make a jump to v1.1 when ready. It will be tested on v1.0.x

@Siedrix @rogr Thanks for the comments, I'll submit the changes in a bit. No help needed for the tests, "que" by the way they're pretty good, helped me a lot to ramp up.

Coverage remained the same at 100.0% when pulling 7ab11a15ddaa0e41dfca608a1677258a8697dafb on kinduff:feat/front-matter into b8621749c8d0cf2c65db16fafacc0bc7a49eec84 on Siedrix:master.

@Siedrix @rogr Code updated and I also pushed the tests. Let me know if this state is now useful. I didn't include the objectExtend function because it was overkill.
Would like to know if you have a preference for merge commits (846676f), I can remove it if you want.

@kinduff 846676f is already in master.

Coverage remained the same at 100.0% when pulling 513b794d917ff4e2f90933e3cbfc673c304d4ebe on kinduff:feat/front-matter into b8621749c8d0cf2c65db16fafacc0bc7a49eec84 on Siedrix:master.

Awesome @kinduff, thank you 😃 !

@Siedrix I think we are ready to merge, what do you think?


PI-950 added contribution file

Add a little bit more detail around testing please.  Specifically how we wrap global wordpress functions in WordPress Wrapper.

This contrib text is general. I'll add a section specifically for WordPress
since other plugins may not have the same requirement
On Tue, Jan 3, 2017, 18:28 John Wineman<EMAIL_ADDRESS>wrote:

Add a little bit more detail around testing please. Specifically how we
wrap global wordpress functions in WordPress Wrapper.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/cloudflare/Cloudflare-WordPress/pull/159#issuecomment-270185924,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGYVlB6rIjNu4dRngAcyDXPzczclH9_eks5rOpNXgaJpZM4LZ0-Q
.


[ML-6351] Update tensorflow to 1.13.1

Update tensorflow to 1.13.1

I am not familiar with the use of protobuf here. The PR looks good other than protobuf-related changes.

All of the protobuf-related changes belongs to tensorflow by calling dev/update-tf-proto.sh

LGTM too


Tooltips

Uses the Popper.js library to calculate tooltip position.
Fixes #85

@jasongrout This does look very promising! :)

@dmadeka, @ssunkara1 - ready for review, I think.

@Fezvrasta - just curious, how did you find out we were using Popper.js?

@jasongrout I monitor all the new GitHub issues that reference the word "popper" 😉

@jasongrout How does one do the install? If you change the require, Popper wont be installed by just pip install -e .
npm install failed, whats the other option?

@dmadeka - sorry, I forgot to commit a new file!

@jasongrout Two issues, the Tooltip is too close to the mouse and should have its corner to the mouse, not center I guess? Also, are you seeing your figure plus toolbar from plt.show become centered?

Right now, the tooltip snaps to the element the mouse is pointing at, not the mouse. There are options to offset it and put in an arrow.
Likely the figure+toolbar centering is fixed in https://github.com/jupyter-widgets/ipywidgets/pull/1547?

@jasongrout Two issues, the Tooltip is too close to the mouse and should have its corner to the mouse, not center I guess?

The tooltip attempts to avoid the mouse, if possible. If there is not room for the tooltip to be to the side, it may overlap the mouse. Are you seeing the tooltip overlap the mouse where there is enough room for the tooltip to the side?

If you want the tooltip to snap to the mouse you can pass a virtual reference element to Popper.js. It's described here:
https://popper.js.org/popper-documentation.html#referenceObject

@FezVrasta - thanks.
We already pass a virtual reference since we want the tooltip to snap to whatever element we are hovering over: https://github.com/bloomberg/bqplot/pull/516/files#diff-87e9791defd138cea2122bf31305a269R17. Basically, our virtual reference object lets us change the reference element dynamically.

@FezVrasta - we are seeing a weird flicker issue (basically, the tooltip flickers on and off once or twice on every mouse move, which is where we call for a scheduled update from popper) if the tooltip happens to be forced to overlap the reference element. I haven't tracked down whether that is in our code or popper's, but I'll let you know if it seems to be an issue in popper.

@jasongrout The tooltip placement is not quite right for Lines and Pie. You can check them in the Mark Interactions example under Interactions in the example folder.

Great, thanks

The tooltip placement is not quite right for Lines and Pie

The tooltip is placed right beside the object. Are you saying we should always follow the mouse position? The thing about the mouse position is that it often obscures the thing you are hovering over.
It's an easy change to follow the mouse pointer with an offset. Is that preferred? @dmadeka? @rmenegaux? @ssunkara1?

@jasongrout I think following the mouse will be better.

I changed mark interactions to follow the mouse.
We still have an issue in those examples: when the interaction is changed to show the tooltip on click, I'm not sure how to get the event for closing the tooltip. The tooltip just stays up since we never close it. Thoughts?

(in particular, what event signifies that the tooltip should close when the tooltips are shown on mouse click?)

@jasongrout For the click tooltip, we close it whenever there is the background_click event.

Actually, I just have code in the Mark.js show_tooltip and hide_tooltip. Is hide_tooltip not called whenever the tooltip needs to disappear, regardless of the event triggering the hide? It appears that hide_tooltip is not called when a background click is supposed to close the mark tooltip.

which Mark are you looking at? In the function process_interactions, we do have that for the event event_listeners.parent_clicked for Lines, Bars Hist etc..

any hope of quick resolution ?

@ssunkara1 - what do you think of the PR now? I updated it to work with the ipywidgets 7.0 release.

or @stonebig - can you test this PR?

it doesn't seem to work any better, but it may be:

my fault/bad setup,
a side-effect of ipyleaflet or other,
a bqplot detail that is managed well only in anaconda / linux.

I get a message in javascript console:
lab:1 Uncaught (in promise) Module bqplot, semver range ^0.3.0-alpha.6 is not registered as a widget module


fix(booking-types): rename booking-types - 267

close #267LiveURL: https://smartfaq-267-rename-files.surge.sh

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Testnet docs update (19-Oct)

Update the genesis.json link to the renamed repo;
Generic sha256sum genesis check;
We will be using testnet-croeseid-1.crypto.com:26657 for basic query now.

/staging


the Dataset annotation of tools

thanks very much  for your  contribution. Now, i want to label my own datasets, could  you  tell me the  label tools of relevant 3D cloud  point ？ Many thanks.

Hi did you get any ?


Kj/wir 13 user experience enhancements settings conversation creation

PR Submission Checklist for internal contributors

The PR Title

[ ] conforms to the style of semantic commits messages¹ supported in Wire's Github Workflow²
[ ] contains a reference JIRA issue number like SQPIT-764
[ ] answers the question: If merged, this PR will: ... ³

The PR Description

[ ] is free of optional paragraphs and you have filled the relevant parts to the best of your ability

What's new in this PR?
Issues

"Disconnect Add-in" instead of "Log Out"
Name of Conversation should be set to CLDR:: + Meeting picked date or if subject exists CLDR:: {Meeting Name}
New Design for Settings Section

Solutions

Renamed the Button
modifyConversationName, changes the name of the conversation by given details
New Design for Settings Section

Testing
How to Test

Check the Button on the "Settings" Page
Check the /v5/conversations endpoint at the network tab and look at the name attribute
Open Settings Tab

PR Post Merge Checklist for internal contributors

[ ] If any soft of configuration variable was introduced by this PR, it has been added to the relevant documents and the CI jobs have been updated.

References

https://sparkbox.com/foundry/semantic_commit_messages
https://github.com/wireapp/.github#usage
E.g. feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: kevin.jaroschewski:x: KevinJaroschewskiCONPORTkevin.jaroschewski seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


feat: Add 4337 hooks

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

51 of 117 (43.59%)  changed or added relevant lines in 9 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-9.8%) to 85.497%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/createClient.ts
9
15
60.0%

src/hooks/useSafeOperation.ts
5
14
35.71%

src/hooks/useSafeOperations.ts
7
16
43.75%

src/hooks/usePendingSafeOperations.ts
5
16
31.25%

src/hooks/useConfirmSafeOperation.ts
5
18
27.78%

src/hooks/useSendSafeOperation.ts
5
23
21.74%

Totals

Change from base Build<PHONE_NUMBER>0:
-9.8%

Covered Lines:
582

Relevant Lines:
660

💛  - Coveralls


Server list

Adding server list. While underline component is a tree, right now it has one level only. I am going to add folders (for tree like structure) later.
The component has a filter to search by name.  Filter can contains many words separated by spaces. Filters those servers which have all words ignoring case.
E.g. suppose we have the following servers
FX.PROD.spot.hdb.0
FX.PROD.spot.hdb.1
FX.PROD.spot.rdb
Then filter "spot fx hdb prod" would leave the first two servers from the above.

will raise squash commits and put several features into PR.


Reverting arc changes till rollout progresses

Learn Build status updates of commit a4d944a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/azure-monitor/containers/container-insights-enable-arc-enabled-clusters.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off


[BUG]: wrong java home for azul-adoptium-jdk on mac

Version
0.2.6
OS
macOS
Describe the bug
vfox add java/azul-adoptium-jdk
vfox install java@8
vfox install java@17
the installed java is
/Users/.../.version-fox/cache/java/v-8/java-8/
No Contents/Home in java home.
Screenshots[optional]
If applicable, add screenshots to help explain your problem.

We have fixed this.  You can use vfox update java to upgrade to latest version to try again.


refactor(api,shared-data,robot-server):  ot3 deck

The OT-3 will have a different shaped deck than the OT-2. There is enough OT-3 hardware that we can determine what that deck looks like.
This PR which was actually done by @Laura-Danielle adds the definition and uses it throughout the backend by centralizing the deck type based on the ot3 feature flag.
I'm unsure whether this should be merged before 5.0 or not. The changes should be well tested.
@Opentrons/app-and-uis is this going to break anything in OT-2 protocols if we don't add it to the frontends?

Quick question: In terms of slot naming, I think we should consider numbering the slots Left-to-Right/Back-to-Front , instead of Left-to-Right/Front-to-Back. This lines up more with expectations of ordering for labware in general. E.g. custom decks that have been made for PRL follow this convention with slot 1 in the back left. This would also ideally be the origin point of the deck and the y-axis would flip to be positive coming towards the front of the robot.

Uh I guess. We should bring that up with hardware since presumably the slot covers will have embossed numbers on them that would have to match. FOr now let's keep it the same.

I don't foresee any problems on the frontend with this merging before or after 5.0.0. Every time we reference the deck on the FE we're using the deck's load_name
That said, glancing at the definition, it looks like a fair amount of it is copy pasta from the ot2 standard deck and very likely isn't valid for the ot3 deck. As long as we're aware of this and document what parts of the definition still need to be constructed. I'm good with merging this.
Quick question: In terms of slot naming, I think we should consider numbering the slots Left-to-Right/Back-to-Front , instead of Left-to-Right/Front-to-Back. This lines up more with expectations of ordering for labware in general. E.g. custom decks that have been made for PRL follow this convention with slot 1 in the back left. This would also ideally be the origin point of the deck and the y-axis would flip to be positive coming towards the front of the robot.

Yep we're definitely aware that a lot needs to change. This is mostly a placeholder for us to continue working on higher priority stuff such as fine-tuning motion control. We've got stuff ticketed for making a new deck definition (and most likely a new schema version as well).


Refactor the compose ps command flagging process

hello, I am interested in this project and I want to undertake this issue.

Since the issue has been marked as invalid, I advise you to open a new one and mention #1680 for tracking purposes. :)


Not able to decompress the JS file

I'm just trying to play with this from the docker hub. the compressed CSS files are getting uncompressed successfully whereas JS files are not.

Please provide some more detail about what you are doing, e.g.

What do you expect to happen and what does happen?
If anything goes wrong, please provide the error messages.
Attach screenshots of your browser's dev tools' network tab

I'm using Chrome  Version 108.0.5359.124 (Official Build) (x86_64)
Dockerfile
FROM georgjung/nginx-brotli as build

USER root

# Remove existing default html configuration.
RUN /bin/sh -c 'rm -f /usr/share/nginx/html/*'

# Copy generated site artifacts
COPY /build /usr/share/nginx/html

RUN chmod +x ./docker-entrypoint.sh && \
	chown nginx:nginx /usr/share/nginx/html/env.js

ENTRYPOINT [ "./docker-entrypoint.sh" ]

CMD ["nginx"]

All the .min.css (brotli compressed)  files are getting decompressed properly. Whereas .JS files are not getting decompressed.

Please also provide your nginx.conf file. Looking at your Dockerfile it seems like you don't use any custom nginx.conf file. In that case, the brotli modules included in this docker image will not be used. There are instructions in the Usage section of the readme detailing this.
While I don't think this is related to your issue, you could probably simplify/improve your Dockerfile by removing the USER line as well as all lines after the COPY.

here is my nginx.conf
load_module modules/ngx_http_brotli_static_module.so;

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    keepalive_timeout  65;

    brotli_static on;

    include /etc/nginx/conf.d/*.conf;
}

You need to copy that file to your container image too. Add a line like
COPY nginx.conf /etc/nginx/nginx.conf

to your Dockerfile.

I added that as well ,... but my problem is with only JS files but not CSS

the content of the file is showing like this instead of decompresssed JS content

This is probably not related to nginx-brotli but rather is an issue with your config or setup. Note that all brotli compressed files need to be named *.br for brotli_static.
Also, please provide:

An overview of your files and folder structure you are copying inside the container. Thus, your /build contents.
Attach screenshots of your browser's dev tools' network tab.

i'm wondering how it's working in the case of CSS .. I didn't keep the file extension as *.br instead i just kept it like *.min.css and it's working

The .br file extensions is required for js as well as for css or any other file type. Probably there is something else about your setup that is different about your css and your js files. Maybe your .min.css files are not actually brotli compressed, which is why they work as you expect.
Still, it's hard to help you with this without the required information. It looks quite like your issue isn't about this docker image but rather about your setup/how your files are named and structured/how you build your Dockercontainer.

Were you able to fix the problem? If there still is anything I can help you with, please share what is happening in the network tab of your Chrome DevTools.

Were you able to fix the problem? If there still is anything I can help you with, please share what is happening in the network tab of your Chrome DevTools.

thank you @georg-jung . It's sorted out the problem is .br file missing. As per my current understanding .ts and .ts.br should be presented. Let me know is that the right understanding or not.

Should I close this issue or is there anything more to discuss?

Please close the ticket and thanks for your timely response
On Tue, 27 Dec 2022 at 8:19 PM, Georg Jung @.***> wrote:

Should I close this issue or is there anything more to discuss?
—
Reply to this email directly, view it on GitHub
https://github.com/georg-jung/nginx-brotli/issues/1#issuecomment-1365955437,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACL7J74KU72OBW2SBDWKV6LWPL6YDANCNFSM6AAAAAATESWMHM
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
http://bobypassion.blogspot.com/
Thanks & Regards,


Big data

Changes made to deploy ofbiz easily with docker and some core changes not visible to others

Added deploy-dev.sh file.
CI / CD in master will still use deploy.sh file.

Hi Enrico! Can you briefly comment on what are the changes in "some core changes not visible to others"?

Hello, @martinrebane! We extended the existing delegator and the components it's currently using. GenericDelegators functionality has not changed but instead, we're making a noSQL extension to delegator factory. The only thing that's really visible for them is the docker orchestration, so they can make a connection to containers straight up if they want to check how entity's were created. (DB tools will start by running the .sh file)


Fix promURL

Dear vshn team
I hope I understand the example correctly.
Cheers,
Stefan
Addresses #71

Good catch! Thanks for the contribution :+1:


The Exceptions are not being captured to return on Result after process

$workflow = new StepAggregator($reader);
$result = $workflow->addStep($converter)
                   ->addWriter(new BatchWriter($writer))
                   ->setSkipItemOnFailure(true)
                   ->process();

The exceptions are raised in runtime as if there were the try/catch block that exists in StepAggregator.
Making it impossible to reach the Result class.

ping @ddeboer @Baachi

It's related also #117


Error in example

const Air5 = require('air5')
const database = new Air5('example-name', {
...
})
await air.set('The King', {
...
})
variable name "air" should be "database"?
and await is not yet available at top level? (node.js v15)

Hello! I don't quite get what you mean. What provider are you using?

I suppose this should be closed.... Open another issue if you have a Q!

Please update https://github.com/JairusSW/Air5#readme


HADOOP-14284. Shade Guava everywhere.

https://issues.apache.org/jira/browse/HADOOP-14284 has been resolved as invalid. Closing.


[Edit profile] Cannot change 'Date of birth' by manually entered

Date Time
08-26-2021 16:33
Priority
Medium
Severity
Minor
Type
Functional
Environment:
OS: [Windows 10]
Browser [Microsoft Edge]
Reproducible: always
Pre-conditions

Move to https://eventsexpress-test.azurewebsites.net/
Log in to the system
Click on 'Edit your profile' button

Steps to Reproduce

Click on 'Date of birth' dropdown
Enter '16-05-1998' manually
Click on 'Submit' button

Expected result
'Date of birth' is changed to 16-05-1998
Actual result
'Date of birth' does not change and displays current date by default
Screenshots

User story and test case links
User story #634 Test Case #782

Not reproducible bug.


feat(backend): extend icrc custom token with index canister id

Description
Oisy Wallet requires the Ledger ID to transfer tokens (send/receive) but, also the Index canister to fetch balance and list of transactions. Therefore users will have to enter both IDs. IDs we therefore have to save in the backend.
Features

add index_id to backend's IcrcToken struct
generate did

Notes
I do not see a use case where multiple Index Canisters would be linked to a Ledger or the contrary. Therefore this PR does not extend the UserTokenId with the index but, is kept to holding only the ledger id - i.e. a Ledger ID remains unique per user custom tokens.

I find it surprising that ledgers don't have an API that returns a list of recommended index canisters and even more so that an index canister doesn't have an API call that points to the ledger.  If either canister provided this information, we could ask the user for just one canister ID. (Preferably the ledger).  I guess that the backend might want to store both IDs regardless, to minimize latency, so this PR is probably a good idea anyway, but from a user interface perspective, the ledger and index really should provide the ID of the other!

@bitdivine, there are plans to add the Index canister to the Ledger metadata, but it is not live on mainnet yet. Moreover, I'm not sure if this will be rolled out to existing ICRC, SNS, and ICP canisters. Therefore, I was thinking that adding the index_id in the Oisy backend seemed like the most pragmatic solution. We also don't want to wait for it my understanding.
I hesitated to add the field as an Option, in case we would not use it in the future, but it felt like a ledger will always have an index given it's a must for the Oisy frontend. However, if you think setting it as an option is a better path forward, I'm certainly open to that.
Let me know what you think.

I got as far as looking at the ICP index canister.  That does return the ledger canister ID, by the look of it:  https://github.com/dfinity/ic/blob/master/rs/rosetta-api/icp_ledger/index/src/main.rs#L485

Also, I agree that it would be better for the user to enter the ledger canister ID, if that can be done.

Re option, I think that is fine.  We can migrate if needed!  Getting pro at this...

ICP index canister is still different from the rest.

Yes ICP canister is different from the rest, this end point is not standardized.
e.g.
ckETH ledger: https://dashboard.internetcomputer.org/canister/ss2fx-dyaaa-aaaar-qacoq-cai
ICPSwap ledger: https://dashboard.internetcomputer.org/canister/ca6gz-lqaaa-aaaaq-aacwa-cai

Re option, I think that is fine.

Just to be sure, you mean it's fine as currently implemented or it's fine if we use Option?

Re option, I think that is fine.

Just to be sure, you mean it's fine as currently implemented in this PR or it's fine if we use Option?

I mean it is fine as it is PROVIDING that the earlier type is not in production.  If it is in production, any tokens already in stable memory will not be parsed.

Definitely not in production yet, not even on staging and not even implemented in the UI.


user12986714: Watch (?:used\W*+to\W*+|python(?:2|3)?\W*+(?:newbies?)?)troll(?:ing)?

user12986714 requests the watch of the watch_keyword (?:used\W*+to\W*+|python(?:2|3)?\W*+(?:newbies?)?)troll(?:ing)?. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

(?:used\W*+to\W*+|python(?:2|3)?\W*+(?:newbies?)?)troll(?:ing)? has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Requester stated this was a typo.


Feature Request: Increase length of Description field when sharing Flows

Summary
Interested in an increase of the description field when sharing flows. Currently, I believe it's set to 200 chars. I'd like to be able to include lengthier descriptions - how to use it, common use cases, etc.
Attempting to share a larger flow to the Store results in:
{'errors': [{'message': 'Value in collection "components" is too long.', 'extensions': {'code': 'VALUE_TOO_LONG', 'collection': 'components', 'field': None}}]}

Current version: v1.0.0a42

This issue should not occur again after version 1.0.


Draft response to Topher Buck (DTSC)

Draft response to DTSC in this doc: https://docs.google.com/document/d/1RjT-ZScDXQv59X1XaQ1x1gs0pgSdbM-6QnyOt5q_o5I/edit

[x] @ian-r-rose  will fill in reproducible research best practices section
[x] @tnrahim  will fill in section on data governance at DTSC

Aim to be ready to send out by 4/17.

Closing as complete


Small issue in status poller sometimes resulted in a segfault

Might be a bigger issue to keep an eye on

Codecov Report

Merging #357 into master will decrease coverage by 0.03%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master     #357      +/-   ##
==========================================
- Coverage   61.58%   61.54%   -0.04%
==========================================
  Files         162      162
  Lines        8957     8959       +2
==========================================
- Hits         5516     5514       -2
- Misses       3000     3003       +3
- Partials      441      442       +1

Impacted Files
Coverage Δ

lib/status_poller.go
79.46% <33.33%> (-0.72%)
:arrow_down:

lib/auto_resolver.go
88.05% <0%> (-1.5%)
: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 d604a15...184e20c. Read the comment docs.


Update Scrimba video for the Word Blanks challenge

@beaucarnes The video for the Word Blanks challenge needs to be updated due to changes in the challenge.  We simplified the challenge to not introduce functions in this challenge.

@RandellDawson Sure, I'll update the video.

@beaucarnes Any status on this update?

Done.


Add files via upload

Description

A clear and concise summary of the change and which issue (if any) it fixes. Should also include relevant motivation and context.
Resolved or fixed issue:
Affirmation

[ ] My code follows the CONTRIBUTING.md guidelines

Checkmarx One – Scan Summary & Details – 1890eaf5-16ea-475c-84e8-995102fca595
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

Missing_HSTS_Header
/12-CSRF_ClickJack.js: 56
Attack Vector

Missing_CSP_Header
/12-CSRF_ClickJack.js: 39
Attack Vector

Use_Of_Hardcoded_Password
/test/api/deluxeApiSpec.ts: 129
Attack Vector

Fixed Issues

Severity
Issue
Source File / Package
Checkmarx Insight

Missing_HSTS_Header
/data/static/codefixes/dbSchemaChallenge_1.ts: 12
Attack Vector

Missing_CSP_Header
/data/static/codefixes/dbSchemaChallenge_1.ts: 12
Attack Vector


Import error

Hi, when I try to call:
from tsne import bh_sne
I receive this error:
from tsne import bh_sne
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/dist-packages/tsne/__init__.py", line 6, in <module>
    from bh_sne import BH_SNE
  File "tsne/bh_sne.pyx", line 2, in init tsne.bh_sne
SystemError: Parent module '' not loaded, cannot perform relative import

I've used conda to reinstall sklearn which did not resolve this issue.
I'm using python 3.4 and sklearn 0.17
Thanks,
Lynn

I have the same issue.  Python 3.6.  Using pip not conda.

same issue ubuntu python 3.4

Same problem here python 3.5 installed using pip


Restore ERR_load_KDF_strings to missingcrypto111.txt

This function was undocumented in 1.1.1, but PR #9662 incorrectly
removed it from missingcrypto111.txt - making it appear as if this
undocumented function was added in 3.0.

That, or perhaps approve #13390? :wink:

That, or perhaps approve #13390?

I don't think #13390 helps here. ERR_load_KDF_strings still exists as a public undocumented function after that PR.

I don't think #13390 helps here. ERR_load_KDF_strings still exists as a public undocumented function after that PR.

Oh....well it didn't help, util you added an extra commit to do the same thing as this one!
Closing in favour of that.


nixos/ananicy: add extraTypes, extraCgroups

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

@aviallon

ananicy-cpp update https://github.com/NixOS/nixpkgs/pull/242331

@Artturin What about a settings style RFC-0042 config?
Then you could also have an extraPackages options behaving a bit like what hardware.opengl does, which can be used to add packages implementing ananicy rules.
You could then buildEnv something from each derivation's /etc/ananicy.d.

Then you could also have an extraPackages options behaving a bit like what hardware.opengl does, which can be used to add packages implementing ananicy rules.
You could then buildEnv something from each derivation's /etc/ananicy.d.

i don't feel a need to that right now so later


Code  details

`
for _im in range(sz×sz):
if _im == 0:
index_set = torch.tensor([_im, _im+1, _im+sz, _im+(sz+1)])
elif _im==(sz-1):
index_set = torch.tensor([_im-1, _im, _im+(sz-1), _im+sz])
elif _im==(szsz-sz):
index_set = torch.tensor([_im-sz, _im-(sz-1), _im, _im+1])
elif _im==(szsz-1):
index_set = torch.tensor([_im-(sz+1), _im-sz, _im-1, _im])
elif ((1 <= _im) and (_im <= (sz-2))):
index_set = torch.tensor([_im-1, _im, _im+1, _im+(sz-1), _im+sz, _im+(sz+1)])
elif (((szsz-sz+1) <= _im) and (_im <= (szsz-2))):
index_set = torch.tensor([_im-(sz+1), _im-sz, _im-(sz-1), _im-1, _im, _im+1])
elif (_im % sz == 0):
index_set = torch.tensor([_im-sz, _im-(sz-1), _im, _im+1, _im+sz, _im+(sz+1)])
elif ((_im+1) % sz == 0):
index_set = torch.tensor([_im-(sz+1), _im-sz, _im-1, _im, _im+(sz-1), _im+sz])
else:
index_set = torch.tensor([_im-(sz+1), _im-sz, _im-(sz-1), _im-1, _im, _im+1, _im+(sz-1), _im+sz, _im+(sz+1)])
self.index_mask[_im][index_set] = 1.
self.divide_num[_im] = index_set.size(0)
`
Hello, Thank you for your excellent work, I am very interested in your work. I read your code carefully and I don't quite understand some of the above code, can you explain it to me, I look forward to hearing from you!

Hi, thank you for your interest.
This code is for implementing gradient propagation in Local Hidden Positives (LHP).
Specifically, self.index_mask is a binary mask that is multiplied with each patch feature.
This is done to average the features in a 3x3 region around each patch feature.
Although there can be a better way to implement LHP, we just make a mask manually.


Add YAML Editor and update .gitignore

Adds a visualizer/editor for YAML 2D arrays. This is a draft because we have since changed to two 1D arrays, and I am working on changing it to support that instead. This is using modular_training as the base because that's what it's relevant for.

Be sure to add a readme (either as part of the exisiting rktl_autonomy one or in the YAMLEditor subfolder before making the final change. Also, is it possible to change the folder layout for this? I haven't used IntelliJ in years so I don't know how to do that, but it's going to be a pain to navigate 6 nested empty directories.
Last thing. For future reference, you can just create a new branch for changes, you don't need to fork the entire repo. Either one is fine really, so do whichever way is easier for you.

README.md added, and for the layout thing, your IDE will clean it up and sort by package- the folder tree thing is standard. Last, is there a package/bundle ID for ARC? If nothing else, I can just use com.purduearc. This should be the last change required before it's ready.

Using com.purduearc for now

Backend is updated. Merging editor


alpha sort English translation file for easier management.  TODO: sor…

…t other language files.  Use Yes and No for confirmation buttons instead of OK and Cancel to avoid any confusion.
closes #1078

Coverage increased (+0.03%) to 47.469% when pulling 07193697f8cc6b0715bfaaa0a7d58590e8ff63ba on 1078-dialog-text into 6a0ef08873d43788ad95fd1dd73fab85f37970cb on release2.1.


knox: remove or update ranger from topology

RANGERUI:
        hosts: "{{ groups['ranger_admin'] | default([]) | map('tosit.tdp.access_fqdn', hostvars) | list }}"
        port: "{{ ranger_adm_https_port }}"

Why we should remove Ranger from Knox topology ?

Why we should remove Ranger from Knox topology

I suggest discussing this point during our next meeting ..


Fix windowed rendering when scrolling to index 0 in a VirtualizedList with non-zero initialScrollIndex

Summary
Currently the following behaviour exists:
If

A VirtualizedList is rendered with a non-zero initialScrollIndex value and
The element at index 0 is not in the rendered window and
The scrollToIndex or scrollToOffset methods are used to navigate to index 0

Then the windowed rendering will not recompute correctly and the elements in the window of index 0 will not get rendered (with blank cells shown instead) until the user starts scrolling the list manually.
This PR fixes this edge case without interfering with any other behaviour of VirtualizedList.
Changelog
[General] [Fixed] - Fix windowed rendering when scrolling to index 0 in a VirtualizedList with non-zero initialScrollIndex
Test Plan
Tested this change heavily in my private code base and have been using it in production for months beneath a number of VirtualizedLists and FlatLists. Problem can be reproduced and then fix confirmed by rendering a large VirtualizedList with an initialScrollIndex that puts index 0 outside the render window and then calling listRef.current.scrollToIndex({animated: false, index: 0, viewPosition: 0}).
The following videos are taken from my app and demonstrate a large horizontal VirtualizedList with each item having the same fixed layout with width matching the width of the screen. In each video, the list has been rendered with a window size of 3 and an initial scroll index of 563. I use a menu in the app to navigate to page 1 (index 0). Before this change, the page (item) is not rendered until I start to manually scroll the list. After this change, the item at index 0 is rendered correctly without any manual intervention.
Before:
https://user-images.githubusercontent.com/9062287/159818718-e19c2610-1fea-46a1-ab70-4958b7635085.mov
After:
https://user-images.githubusercontent.com/9062287/159818049-24e77544-4b7c-4ebe-9dc0-a5e6ca101c67.mov

Thanks for this contribution, @mmmoussa. Could you get the tests fixed up?


How to disable status bar moving

If I embed this controller into a tabbarcontroller, the status bar will not consistent。

maybe [super setShouldAlignStatusBarToPaneView:NO]; ?


feat(deploy): ✨  copy local git config to tmp repo

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

This allows users to maintain any specific git configuration settings that aren't global
Test Plan

I don't see any other tests for docusaurus commands like deploy. Please let me know if there's something I can do further to test this change.
Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

Thanks

This allows users to maintain any specific git configuration settings that aren't global

Can you explain your motivations to maintain such git config on the tmp directory?

I don't see any other tests for docusaurus commands like deploy. Please let me know if there's something I can do further to test this change.

we don't have good tests on those command-heavy parts currently, will try to add some e2e workflow in the future

Thanks 👍 LGTM


[Dockerfile] FROM usercont/httpd:2.4 (F30 based) image

Fixes #110, #131
Tested locally and seems to work ok.
See https://cloud.docker.com/u/usercont/repository/docker/usercont/httpd for the base image.

where and how is the httpd build set up? (can't login to hub now)

It's described on the docker hub page:
$ sudo dnf install go-md2man
$ git clone --recurse-submodules https://github.com/sclorg/httpd-container.git
$ cd httpd-container
in 2.4/Dockerfile.fedora
- change FROM f29 -> f30
- don't install yum-utils
$ make build TARGET=fedora VERSIONS=2.4
$ docker tag {IMAGE ID} docker.io/usercont/httpd:2.4

I would also prefer to get rid of scl image and build our own

Do you mean scl image or scl Dockerfile?
We use their Dockerfile, but build our own image.

I would also prefer to get rid of scl image and build our own

Do you mean scl image or scl Dockerfile?
We use their Dockerfile, but build our own image.

I meant to use our own Dockerfile. Main point is that I would still leave #110 open.

Ok, I'll ask you the same question I asked Tomas: "For what reasons?"!
Should I copy their Dockerfile into our repo so you can consider it "our" Dockerfile?
What's the problem with the sclorg Dockerfile?
Can you please answer in #110 se we have the discussion in one place? thanks

I guess the main reason was to get rid of the SCL image and use the Fedora image with httpd package. No SCL functionality, like s2i.

The reason is described here https://github.com/packit-service/packit-service/issues/110#issuecomment-534727043

Ok, got it.
I'll try to put httpd directly into our image.

grr, still no luck
 (13)Permission denied: AH00072: make_sock: could not bind to address [::]:443
 (13)Permission denied: AH00072: make_sock: could not bind to address <IP_ADDRESS>:443
 no listening sockets available, shutting down
 AH00015: Unable to open logs

Ready for review

have you tried to deploy it into OpenShift cluster

Yes, thanks for the review. I'm merging now, keep fingers crossed :-)

Very nice! thank you for doing this.


Improve label positioning of boundary events

// given
see attached screenshot
// when
I add a label for a boundary event
// then
the label will be placed on top of the event which is in most cases inside the parent activity. The label has to removed manually afterwards.

Expected Behavior

[ ] Consider boundary events and their docking when calculating label positions in AutoPlace
[ ] Do not place labels onto the target element (or its border)

In the particular case, keep the label at the default position.

We do not properly handle that case in our auto-placement algorithm.
In the described situation I'd assume that the label is not moved at all (as there is no apparent good place to put it anyway.

We should consider improving the situation in the AdaptiveLabelPositioningBehavior

Fixed upstream by bpmn-js#8862865

Closed via https://github.com/camunda/camunda-modeler/pull/1404.


Remove duplicate resources

This causes the nginx cookbook to throw a lot fewer "resource cloned" warnings during convergence.

Looking at this again, I agree that the duplicate resources should be sorted out.
However, this change removes the service definition from the default recipe and relies solely on the resource defined in the packages.rb recipe - which may not be available to source installed nginx.
So I think this should be flipped around.
For the 'execute[apt-get update]' resource, that should be the responsibility of the apt cookbook and the apt_repository resource - that's beyond the purview of the nginx cookbook.


BackendTLSPolicy wellKnownCACerts field "System" value should not be core

We're working on implementing BackendTLSPolicy in Contour and are a little confused about the wellKnownCACerts field.
It is marked as Support: Core for “System” in the spec but in the GEP the usage of system certificates is documented as implementation-specific: The use and definition of system certificates is implementation-dependent, and the intent is that these certificates are obtained from the underlying operating system.
It looks like the spec was updated here: https://github.com/kubernetes-sigs/gateway-api/pull/2448#discussion_r1342170962
While I don't disagree that implementations would not be able to support some form of fetching system certs to use, I would still argue the support for this field should still be implementation-specific.
If a field is marked core I would expect a conformance test to exist for it eventually and that all implementations should to be able to pass a test verifying the behavior it introduces, regardless of how exactly they make it work. I'm not sure how a conformance test for this would work against all implementations.

Would this mean that we assert that a TLS connection to a backend app is verified on the Gateway implementation end of the connection with a specific root CA cert from the system?
What happens if say the test expects a server certificate to be verified but an implementation has a newer/older version of an OS package providing the root certs?
If an implementation decides to explicitly use a container image with no filesystem/minimal OS packages, how would this work?

This seems like this test is going to start mandating a specific runtime environment for implementations, which I don't think is desirable.

Regardless of the specific field, this seems to be making the assertion that if we cannot write a very good conformance test for the API, it cannot be core. I am a bit worried about this approach; IMO we should be building an API that meets our users needs, and conformance tests are a best effort way to codify an implementation is meeting those. Having a good API and no/limited conformance is better than a bad API with perfect conformance.

What happens if say the test expects a server certificate to be verified but an implementation has a newer/older version of an OS package providing the root certs?

IMO the Core part is a concept of "System", not that each impl has the exact same set. Its fine to have variations on what is considered "System".

If an implementation decides to explicitly use a container image with no filesystem/minimal OS packages, how would this work?

I don't think they should do this. Almost every minimal OS/container i have seen includes system certificates since it breaks a lot if they are not included.
That being said, with my above stance I suppose technically an impl could say "System" is a null set...

this seems to be making the assertion that if we cannot write a very good conformance test for the API, it cannot be core

It looks like we've documented this explicitly here: https://gateway-api.sigs.k8s.io/concepts/conformance/#2-support-levels
Core features will be portable and we expect that there is a reasonable roadmap for ALL implementations towards support of APIs in this category.

Behavior and feature in the Core and Extended set will be defined and validated via behavior-driven conformance tests. Implementation-specific features will not be covered by conformance tests.

I don't think a field being marked as implementation-specific reduces the user value/ability to address user need, it just means we don't expect all implementations to enable the specified behavior in a uniform way so users should not expect an identical experience.

From the community meeting:

agreement that this will (at the very least initially) be moved to implementation-specific
update the documentation of the relationship between the caCertRefs  and wellknownCACerts fields

one of the two options must be specified
if wellknownCACerts is specified but not supported, Policy is rejected and status is set appropriately

/assign


bug: cargo +channel command won't work with "cargo auditable" alias

Hi,
If I set an alias as suggested here https://github.com/rust-secure-code/cargo-auditable?tab=readme-ov-file#can-i-make-cargo-always-build-with-cargo-auditable  and try to run cargo +nighly test (or any +channel command) it fails:
╰─❯ source ~/.config/fish/config.fish
╰─❯ cargo +nightly check
error: no such command: `+nightly`

	Cargo does not handle `+toolchain` directives.
	Did you mean to invoke `cargo` through `rustup` instead?

if I remove the alias, everything is back to normal.

Right. cargo +nightly auditable still works but since the alias expands into cargo auditable +nightly, things break.
I don't know if there's a way to do this with an alias that's portable between shells. A bash script that checks if the next argument starts with a + and moves it earlier would work for Linux and Mac at least.

Hi @Shnatsel , perhaps using something like RUSTC_WRAPPER would work? I don't I am a noob, just learned about RUSTC_WRAPPER. However, logically auditable would be necessary on builds only. It could make sense?

No, unfortunately RUSTC_WRAPPER does not work. We need to wrap Cargo, not rustc.

On systems where bash is available, you can use this bash script:
#!/bin/bash

if [[ "$1" == +* ]]; then
    # special handling for +nightly: it needs to become 'cargo +nightly auditable'
    # but without this branch it would turn into 'cargo auditable +nightly' and break
    toolchain="$1"
    shift 1 # remove $1 from the list of arguments
    cargo "$toolchain" auditable "$@"
else
    cargo auditable "$@"
fi

Save it as cargo-wrapper.sh and then alias cargo='/path/to/cargo-wrapper.sh' and that should take care of the toolchain argument issue.

Thanks @Shnatsel , I appreciate. I use fish however. At least it will be useful for bash users :)
I guess I'll have to remember to run cargo auditable manually or use it with CI/CD

This script always uses bash in a standalone process, and will work regardless of what your interactive shell is.

No, unfortunately RUSTC_WRAPPER does not work. We need to wrap Cargo, not rustc.

I was thinking about operning an issue with Cargo to add something similar. There are so many tools for cargo, it may be beneficial to have a CARGO_WRAPPER in cargo/config.toml. Or is this nah?


certbot renew --dry-run fails

After performing the steps on the readme, and running
acme-dns-client check -d DOMAIN
I get the following output
Checking acme-dns configuration for domain DOMAIN
 [*] Registered acme-dns account found!
 [*] CNAME record found and set up correctly!
 [*] CAA record found!
 [*] CAA AccountURI found!

I attempted to do a dry run of the renewal using
certbot renew --dry-run
But always receive the message
1 renew failure(s), 0 parse failure(s)

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: DOMAIN
   Type:   None
   Detail: CAA record for DOMAIN prevents issuance

My CAA record is as follows:
DOMAIN  CAA  0 issue "letsencrypt.org; validationmethods=dns-01; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/ACCT_NUM"

Am I missing a step in the renewal process?

Hi, there are multiple things that can be at play here, but I would assume that a certificate for DOMAIN was initially using some other validation method (http-01 most likely). certbot renew, even with --dry-run will just reuse the initial certbot configuration and tries to renew the certificate using those.
Now you have added a CAA record that only allows DNS validation, that causes the renewal to fail.

Hi @joohoi,
Thanks so much for your response, and apologies in the delay in mine.
I did get this working by performing:
sudo apt purge certbot followed by sudo apt autoremove (not sure second step is entirely necessary)
and rerunning all of the steps listed in the README. So, it looks like your assumption was correct that old Certbot configuration was causing some confusion during the renewal process.
Thanks again!


Performance when downloading files

I'm currently trying to use this crate in a small project for the purpose of downloading a file via sftp.
I don't know if I'm missing something, but with my naive implementation, downloading the file is several times slower than with the standard sftp client. What I'm doing is this:
use bytes::{BytesMut};
use openssh::{KnownHosts, Session, Stdio};
use openssh_sftp_client::Sftp;
use std::error::Error;
use std::fs::File;
use std::io::Write;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let session = Session::connect_mux(
        "ssh://user@host",
        KnownHosts::Accept,
    )
    .await?;
    let mut child = session
        .subsystem("sftp")
        .stdin(Stdio::piped())
        .stdout(Stdio::piped())
        .spawn()
        .await?;

    let sftp_client = Sftp::new(
        child.stdin().take().unwrap(),
        child.stdout().take().unwrap(),
        Default::default(),
    )
    .await?;

    let mut zip_file = sftp_client
        .options()
        .read(true)
        .open("myfile")
        .await?;

    let mut tmp_file = File::create("myfile").unwrap();
    let buf_size = 100 * 1024 * 1024;

    while let Ok(read_result) = zip_file
        .read(
            buf_size,
            BytesMut::with_capacity(buf_size.try_into().unwrap()),
        )
        .await
    {
        if let Some(data) = read_result {
            tmp_file.write_all(&data)?;
        } else {
            break;
        }
    }

    Ok(())
}

Any hints are appreciated.

Can you try creating the Sftp like this:
    let sftp_client = Sftp::new(
        child.stdin().take().unwrap(),
        child.stdout().take().unwrap(),
        SftpOptions::new().max_pending_requests(NonZeroU16::new(1).unwrap()),
    )
    .await?;

by default, Sftp tries to group requests and send them in batch to improve throughput, but in case where you only have one active requests anyway, setting it to flush immediately makes more sense.

That doesn't help, unfortunately.
To put things in perspective: When using the sftp command line client, I get transfer speeds of about 35-40 MB/s.
The Rust programs throughput is probably less than 5 MB/s.

Can you try replacing the I/O loop with this:
    let mut tmp_file = File::create("myfile").unwrap();
    let mut buf = BytesMut::with_capacity(100 * 1024 * 1024);

    while let Some(data) = zip_file
        .read(buf.capacity(), buf)
        .await
        .transpose() // Return Result<Option<_>, _>
        .unwrap()     // Return Option<_>
    {
        buf = tokio::task::spawn_blocking(move || {
            tmp_file.write_all(&data).unwrap();
            data
        }).await.unwrap();
        buf.clear();
    }

The problem I've seen with this loop:

BytesMut isn't reused, but instead allocates it from heap everytime
Writing to std::file::File could block, so you need to use tokio::task::spawn_blocking

I'm sorry, I can't get your suggested code to compile.
Please note I also tried using tokio::io::copy instead of my own loop, but it seems even slower.

Please note I also tried using tokio::io::copy instead of my own loop, but it seems even slower.

Not sure that will even work considering you are using std::fs::File.

I'm sorry, I can't get your suggested code to compile.

Thanks, I've fixed the errors:
use std::{error::Error, fs::File, io::Write, num::NonZeroU16};

use bytes::BytesMut;
use openssh::{KnownHosts, Session, Stdio};
use openssh_sftp_client::{Sftp, SftpOptions};

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let session = Session::connect_mux("ssh://user@host", KnownHosts::Accept).await?;
    let mut child = session
        .subsystem("sftp")
        .stdin(Stdio::piped())
        .stdout(Stdio::piped())
        .spawn()
        .await?;

    let sftp_client = Sftp::new(
        child.stdin().take().unwrap(),
        child.stdout().take().unwrap(),
        SftpOptions::new().max_pending_requests(NonZeroU16::new(1).unwrap()),
    )
    .await?;

    let mut zip_file = sftp_client.options().read(true).open("myfile").await?;

    let mut tmp_file = File::create("myfile").unwrap();
    let mut buf = BytesMut::with_capacity(100 * 1024 * 1024);

    while let Some(data) = zip_file
        .read(buf.capacity().try_into().unwrap_or(u32::MAX), buf)
        .await
        .unwrap()
    {
        let ret = tokio::task::spawn_blocking(move || {
            tmp_file.write_all(&data).unwrap();
            (tmp_file, data)
        })
        .await
        .unwrap();

        tmp_file = ret.0;
        buf = ret.1;

        buf.clear();
    }

    Ok(())
}

Not sure that will even work considering you are using std::fs::File.

I did use openssh_sftp_client::file::TokioCompatFilewhen using tokio::io::copy
Thank you for the hints.
I tried your latest example, and unfortunately, it does not work for me. It only transfers 1 KB and then exits - looks like tx.send(buf.split().freeze()).is_err() returns true and therefore breaks the loop.

I guess you probably use tokio::fs::File for this.

Yes, I had to change it to use tokio::fs::File.

Hmmm if that is true, then it's possible writing to the file myfile somehow fails.

I modified the program to display the error message and all I'm getting is "channel closed", but I'm not sure why.

Ok, got it: if let Some(data) = rx.blocking_recv() { needs to be replaced with while let Some(data) = rx.blocking_recv() {
It does work now, but it still isn't faster.

Ok, got it: if let Some(data) = rx.blocking_recv() { needs to be replaced with while let Some(data) = rx.blocking_recv() {

Aha sorry about this.

It does work now, but it still isn't faster.

There's no speedup at all?
I will have to look this up closer tomorrw, but did you compile the program with --release?
You could also turn on lto = true to improve performance.
If none of this help, then it could be the sftp implementation itself isn't very efficient, that's the only thing I could think of.

Still no performance improvement, unfortunately. I'm also thinking that it's some issue with the sftp implementation, but I know nothing aber sftp protocol internals.

Still no performance improvement, unfortunately. I'm also thinking that it's some issue with the sftp implementation, but I know nothing aber sftp protocol internals.

Maybe you can do a profile and then use tools like cargo-flamegraph to print a flamegraph of the profile?
That will help me understand the bottleneck.

Sure thing, here's a flamegraph generated during the download of a small 10 MB file. Please note that I had to add a drop(tx) to the code after the reading loop for the program to actually terminate.

@jeinwag Thanks, I will have a look later.
P.S. it will be great if I can zoom in/out

@NobodyXu apparently the required JavaScript execution is being blocked, but zooming should work if you download the SVG and open it.

Thanks, will download it and have a look.

@Xuanwo @silver-ymz Since you guys are using this crate in opendal, a crate designed for high-performance unified data access and is used in sccache, I wonder did you encounter any performance like the one shown in this issue?
If you did encounter that, feel free to send me more data/info so that I can fix it.
I will also welcome any patch that improve performance/ergonomic of this crate.


Add shouldCheckForChanges property to SceneObject interface

Adds a new property to the SceneObject interface in service of simplifying tracking of changes.
See https://github.com/grafana/grafana/pull/86719 for main changes

Closing in favor of Torkel's PR


fix: Fix race condition when reconnecting

About
This pull request fixes race conditions that, on rc1 release, makes it impossible to reconnect because of lock referencing (a function that uses a lock internally cause another function that needs that lock). Can be reproduced if forcing it to reconnect manually or automatically
(ignore the first commit, this is an old branch and i cba)
Checklist

[X] The pre-commit code linter has been run over all edited files to ensure the code is linted.
[X] I've ensured the change(s) work on 3.8.6 and higher.

I've made this pull request: (check all that apply)

[ ] For the documentation
[ ] To add a new feature
[ ] As a general enhancement
[ ] As a refactor of the library/the library's code
[X] To fix an existing bug
[ ] To resolve #ISSUENUMBER

This is:

[ ] A breaking change

Merge conflict


Deterministic rendering for remotion integration

Hi team,
Thanks for making this wonderful library! I am trying to render some particles in https://www.remotion.dev/. Currently, the main blocker for me is that remotion requires the rendering to be deterministic - it shouldn't rely on the system clock, but a custom hook that provides the current frame number, and all threads should render identical content if providing the same random seed. I am wondering if there is already support for:

injecting a custom clock instead of using the system clock
setting a random seed that makes the particle system deterministic

Is it possible to consider this feature request if not available yet?

There's a function exported by the engine which is:
function setRandom(rnd: () => number = Math.random): void

You can call the setRandom function passing your custom function for randomization. That function will be used everywhere, every random needed uses that. Be careful to return values between 0 and 1, otherwise something may not work as expected.

Thanks a lot @matteobruni ! That definitely solved my second question. For the first question, is there a way to pass a custom clock, or manually update the particle system state without playing the animation?

Thanks a lot @matteobruni ! That definitely solved my second question. For the first question, is there a way to pass a custom clock, or manually update the particle system state without playing the animation?

No that's not possible, the frames are requested using the requestAnimationFrame browser function, you can overwrite that, but you need to pass the timespan since it's used for calculating frames based on the FPS of the browser.

I see. Will you consider the feature request to expose the update logic to support custom updates?

I see. Will you consider the feature request to expose the update logic to support custom updates?

That could be something doable in the engine, can you open a feature request here? https://github.com/tsparticles/tsparticles

Sounds good! Opened https://github.com/tsparticles/tsparticles/issues/5355.