Footer link hover effect is too low contrast

Bug Report 🐛
When a user hovers over a link in the footer, it changes into a color that's almost the same as the background, rendering it illegible.
Expected Behavior
On hover, the link should change to a color that has high contrast with the background, so that it's legible. Or the link could have an underline effect appear and stay the same color. Ideally the footer would be visually and functionally consistent with the footer on https://docs.accordproject.org/ .
Current Behavior
When a user hovers over a link in the footer, it changes into a color that's almost the same as the background, rendering it illegible.

Steps to Reproduce

Go to https://concerto.accordproject.org/
Scroll to the bottom of the page
Hover your cursor over one of the footer links

Please assign this issue to me and also can you direct me to the component which is rendering this section as i was not able to find that.


Add --stdout option to print downloaded file to stdout

I'm trying to use github-release to download assets in a CI
environment, and it's more convenient to be able to pipe the assets
directly to tar/unzip than to have to write them to a file and call
tar separately. Adds a --stdout flag that will write downloaded
files to os.Stdout instead of to disk.

Fixed in a slightly different style by 1fc92c563518bbb7c69ede95003b95e248b65c57. Once again sorry for not even seeing the PR!

We are using this project as part of a Jenkins job.  The script seems to run everywhere but in Jenkins.  Is there a way to force it to never output to a file instead of stdout?


build code with manageiq use bin/update get error

Hi guys,
when i use bin/update, get error like below,
error An unexpected error occurred: "ENOSPC: no space left on device, copyfile '/usr/local/share/.cache/ya
rn/v4/npm-jquery-ui-1.12.1-bcb4045c8dd0539c134bc1488cdd3e768a7a9e51/node_modules/jquery-ui/external/jquery
-2.1.4/jquery.js' -> '/usr/local/rvm/gems/ruby-2.4.5/bundler/gems/manageiq-ui-classic-aa566af2ef9f/node_mo
dules/jquery-ui/external/jquery-2.1.4/jquery.js'".
info If you think this is a bug, please open a bug report with the information provided in "/usr/local/rvm
/gems/ruby-2.4.5/bundler/gems/manageiq-ui-classic-aa566af2ef9f/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
== yarn failed in /usr/local/rvm/gems/ruby-2.4.5/bundler/gems/manageiq-ui-classic-aa566af2ef9f ==

@sckhg1367 Probably the simplest fix for this is to do bundle clean, which should remove all old versions of manageiq-ui-classic-GITREF in your /usr/local/rvm /gems/ruby-2.4.5/bundler/gems/ directory.
I would check with @himdel as this might have recently changed, but previously, we were building assets into each version of the UI Classic gem (creates 500+ MB of stuffs), and so every time you ran a bin/update, this would cause a new version (most likely) of the UI classic to be pulled down and the assets completely rebuilt from scratch.

It has not changed yet, so @NickLaMuro is right, bundle clean should do the trick.
If you're doing manageiq development long term, I'm using a crontab entry of 30 14 * * * hardlink -pot ~/.rbenv/ ~/ManageIQ/ to dedup the files every day.
Another alternative would be something along the lines of https://github.com/ManageIQ/manageiq/pull/18461#issuecomment-466001714 - if you have all the repos checked out, instead of using them as gems, there is no problem.

As for supporting node_modules outside those gem directories, I have currently 2 possible approaches:

https://github.com/ManageIQ/manageiq-ui-classic/pull/4435 - install node modules elsewhere
https://github.com/ManageIQ/manageiq-ui-classic/pull/5196 - use yarn p'n'p to never install local node_modules

Both have problems, see those PRs for details :).


Update to 6.11

Awesome plugin!
Will there be an update to 6.11?

hoping for an update too 😢

Hi, I just updated 😁

I released to stable repository.
Please let me know if you have any problems!


Sonar Gerrit plugin aborted after load sonar report.

Recently we met this issue several times that Sonar Gerrit Plugin failed to post report on Gerrit.
Here are the logs from Jenkins job & SonarToGerrit Logger:

 Getting Sonar Report from: /****/target/sonar/sonar-report.json
Report has loaded and contains 28 issues

Jun 23, 2020 1:20:54 PM SEVERE org.jenkinsci.plugins.sonargerrit.SonarToGerritPublisher perform
Unable to post review: Request failed. java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) at sun.security.ssl.InputRecord.read(InputRecord.java:503) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975) at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:933) at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137) at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153) at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138) at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259) at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163) at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157) at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) at com.urswolfer.gerrit.client.rest.http.HttpRequestExecutor.execute(HttpRequestExecutor.java:34) at com.urswolfer.gerrit.client.rest.http.GerritRestClient.request(GerritRestClient.java:219) at com.urswolfer.gerrit.client.rest.http.GerritRestClient.requestRest(GerritRestClient.java:163) at com.urswolfer.gerrit.client.rest.http.GerritRestClient.requestRest(GerritRestClient.java:155) at com.urswolfer.gerrit.client.rest.http.GerritRestClient.requestJson(GerritRestClient.java:132)
Caused: com.google.gerrit.extensions.restapi.RestApiException: Request failed. at com.urswolfer.gerrit.client.rest.http.GerritRestClient.requestJson(GerritRestClient.java:147) at com.urswolfer.gerrit.client.rest.http.GerritRestClient.getRequest(GerritRestClient.java:101) at com.urswolfer.gerrit.client.rest.http.changes.FileApiRestClient.diff(FileApiRestClient.java:115) at com.urswolfer.gerrit.client.rest.http.changes.FileApiRestClient.access$200(FileApiRestClient.java:39) at com.urswolfer.gerrit.client.rest.http.changes.FileApiRestClient$2.get(FileApiRestClient.java:89) at com.urswolfer.gerrit.client.rest.http.changes.FileApiRestClient.diff(FileApiRestClient.java:76) at org.jenkinsci.plugins.sonargerrit.review.GerritRevisionWrapper.getChangedLinesByFile(GerritRevisionWrapper.java:75) at org.jenkinsci.plugins.sonargerrit.review.GerritRevisionWrapper.calculateFile2ChangedLines(GerritRevisionWrapper.java:68) at org.jenkinsci.plugins.sonargerrit.review.GerritRevisionWrapper.loadData(GerritRevisionWrapper.java:39) at org.jenkinsci.plugins.sonargerrit.SonarToGerritPublisher.perform(SonarToGerritPublisher.java:118) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:80) at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:67) at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
[JENKINS-62781] created by gracesheep

This is probably caused by the Gerrit instance.

I have run into this exact exception as well, and the Gerrit logs do not seem to indicate any issues on that side. The exception only occurs for me when I make a commit in Gerrit that contains large file changes (between 35-40 files each ~1MB with ~3.5k line modifications). Even if I ignore those files in the SonarQube scan explicitly (even though they don't fall under an extension that's scanned anyway), so this plugin doesn't need to publish any comments on those files (or at all), the plugin still throws this exception. If this is truly an issue on Gerrit's side, then I would not expect the Jenkins build to be able to publish a -1 score when this exception occurs, if this plugin is throwing an exception when trying to publish a +1 score.
Maybe the plugin just needs to increase the timeout, because Gerrit is processing the large files more slowly than normal, but doesn't actually fail, then the plugin terminates early instead of waiting. I'm not sure why Gerrit might be doing some kind of processing on the large files when the report this plugin sends shouldn't concern those files to begin with (unless the plugin is sending more than just the report, which causes Gerrit to do that?)
This issue is the only reference to this exception I can find, so hopefully this additional information can help provide some insight into the source of the problem, and we can figure out how to resolve it.

Related issue => https://github.com/uwolfer/gerrit-rest-java-client/issues/66
We use the plugin massively with huge Gerrit hosted repositories, we never had this issue.
Honestly, this root of this kind of issue can only be found by you. There are a million reasons why the connection could fail and I am not going to explore them. If you think it's a read timeout issue, maybe try to use a patched version of the plugin that sets an extended timeout on https://github.com/uwolfer/gerrit-rest-java-client to confirm the hypothesis.

The issue you linked is similar, but their problem was not being able to get the plugin to work at all, whereas my issue only fails in the scenario I mentioned above. I didn't realize this plugin was using the gerrit-rest-java-client plugin to do the communication, so that narrows down where I can look for the issue, so thanks for pointing me in the right direction.


feat(transferstateservice): add support fo transfering state from bui…

…ldtime to runtime
TransferStateService allows you to set state and scully build time that can be used at run time in
the browser. It also supports loading the state on subsequent route changes AFTER the initial page
load.
PR Checklist
Please check if your PR fulfills the following requirements:

[X] The commit message follows our guidelines: https://github.com/scullyio/scully/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

I just added to the existing schematics. I think it will work, but never tested it. Not sure how to test the run of a schematic. Need @jorgeucano to take some time and look at it.
This is an AWESOME change, though. I got it so that on route change it fetches the next route's state from the page on the serve, and returns it to the client. This way... you can have state that exists as part of the build and is consumed as part of the build and no one needs to worry about having all of the CMS content in production. It's pretty awesome!!!

Hi @aaronfrost, do you think it would make sense to implement the same interface as implemented by the TransferState service of @angular/platform-browser. Maybe that would increase interoperability with existing code.
https://github.com/angular/angular/blob/master/packages/platform-browser/src/browser/transfer_state.ts
https://github.com/angular/angular/blob/master/packages/platform-server/src/transfer_state.ts
Please feel free to ignore this comment if you think that this doesn't make sense in the context of Scully.

I have thought about it, and honestly, your guess is as good as mine here. From what I could see, however, the two processes go about it differently when it comes to setting the state into the page. Reading it from the page is almost identical (in fact, I took their escapeHtml/unescapeHtml functions from TransferState for Universal). However, we will have different problems to solve, potentially.
An example: since SSG is more prone to stale data than Universal, we may need to solve for the version of the index that is currently loaded vs the version of the indexes that now exist on the server. Solving for this heartbeat may be easy for both Universal and Scully, but would be solved differently, and both would depend on this TransferState, possibly.
I suppose I am rambling here, but I tried to take best practices from Universal and then move on. For those who have done a Universal app before, you will know that building a Universal app is harder than building an Angular app. Scully is meant to be easier than Universal. So, while I want to integrate with the same ideas as Universal, we are never going to be Universal. So I took the name TransferState and we may even take the KeyState concept as well. But for now, this is a good POC that gets us going.
What do you think about this?

Thanks for your explanation. Refetching the state when transferring to another route is a really cool idea. And I agree that it is different from the "one-time transfer" approach in Universal.
Now that I have a better idea of what the code does I wonder if it would be possible to render a JSON document alongside the HTML file which just contains the state to avoid fetching the full HTML on each route transition. Scully could then try to load the JSON document instead. Of course this might not have a big effect on small sites and it increases complexity. It's just an idea.
Two more paranoid comments. :-) What should happen if the http.get() fails? I guess right now just nothing happens because subscribe() has no error handler. What happens if the shape of the state changed and the app on the client is still expecting the older shape while the server has already a rendered version of the new shape?
Again, please feel free to ignore all of the above.

What happens if http.get fails?
This is a great question. The answer is... bad things. If we ever got an error, then the state fetching would fail on that AND ALL SUBSEQUENT route changes (until you refresh the page again). That would be bad. I need to fix that. Great question!!!!!!!!
What happens if shape of state changed and the app on the client is still expecting older shape?
This is a thing I was thinking about as I built it. Example: Monday I build my app with my plugins that fetch data from my Wordpress CMS, and that content from Wordpress looks like it is supposed to on Monday. Tuesday, someone at my company updates the Wordpress CMS content, and rebuilds the site and deploys it to production. At the same time, a user who opened my site on Monday (meaning that their client-code was expecting the CMS to be in the same it was in on Monday) now navigates to another route. This TransferState fetching the data from the page on the server which is in the shape of Tuesday's version of the content. This would break the app...
To fix this we are going to need at least one of the following, and probably both.
First, we need to add a version to every page that scully generates. This can likely be the time. We can then have the TransferState service check the version of the page that it fetches, and emit an event to the app that "It's time to refresh the page and get the latest JS". The classic heartbeat feature. While this sounds cool, it isn't 100% cool. There is a large future if we can figure out how allow our client a way to only build the routes that have been affected by code/CMS changes. If we allow them to build/ship only some of their app, then our build times get cut dramatically and people will beg us to take their money. But, if we force them to rebuild every single page of the app every time that any of their code or transferable state changes, THEN... that will possibly affect our growth as an open source product. So... I like the version thing. But we need to thing it through.
Second, add a service worker that we can signal each time the requestAnimationFrame is idle... asking it to load any data for routes that are currently on the screen as href. Any time an href is put into the document, we can have the PWA fetch the data ahead of time, even before it is clicked. This would speed up the page SIGNIFICANTLY. It still doesn't solve the stale data issue that you alluded to.
Ultimately, if a company in going big on SSG and is caching large amounts of data to get their app to load as fast as possible for their clients... THEN... I DEFINITELY think that they will want to answer these questions. HeroDevs (not necessarily the scully community) MUST answer these questions for those people. We need to be the phone-a-friend that they call when they need to do these things. So we need to keep our eye on the ball here.

The idea of putting the data into it's own accompanying .json file that sits next to the index.html... that is a great idea. I could build that as a render plugin that the system could automatically run. Ultimately, if getting the html is 100KB, and getting just the transferable state is 30KB, then we DEFINITELY need to figure out how to only fetch the transferable state.
You have given me something to think about.


AttributeError: 'ModifiedResNet' object has no attribute 'num_features'

I am sorry to bother you. I run your new zero-shot branch but I receive some bugs. I check and find out that this part doesn't exisit in main branch. Could you please help me solve it?

thanks for pointing this out! I will take a look and get back to you asap.

Thanks for replying! I should provide more information for you. I run the extract_region_feature.sh and select the config file of vit-b/16 version. I also get other bugs.

The two assert can't pass so I temporarily commented out these two lines of code.

Besides resnet, I couldn't find a pre trained model either

Hi, have you solved this problem? I also encountered the same problem. Your help is greatly needed!

Thanks for your reply! I should provide you more infomation about this bug. It occurs when I use the config file of your original resnet version. It won't occur when I use the vit version config file. Maybe the two branch codes are not suitable for each other. And I also have a naive question. There are only config files that support the other versions such as vit and swin-t in this project. However, I don't find the checkpoint or weights file support other versions. So is there pretrained RegionCLIP that using transformer-version backbone? Maybe I misunderstand the model. Looking forward your reply! Thanks for your exciting contribution!

Were you able to train the ViT version?


-f bestvideo+bestaudio with only mp4 codecs

How to get best video + best audio for mp4 container format ?

the parameter "-f mp4" doesn't download highest video resolution and highest audio resolution because it doesn't work with DASH
the parameter  "-f bestvideo+bestaudio" downloads sometimes webm codecs instead of mp4
codecs
the parameter  "-f bestvideo+bestaudio --merge-output-format mp4" doesn't force to download only mp4 codecs

The ideal parameter would be: -f "bestvideo[container=mp4]"+"bestaudio[container=mp4]"
But this parameter doesn't work.
Is there another way to use the parameter "-f bestvideo+bestaudio" and force to use only mp4 codecs and skip webm codecs ?

I have EXACTLY the same problem, and I don't know how to solve it.
I even tried with something like:
youtube-dl https://www.youtube.com/watch?v=.....  -f 299/137/298/136+141  to let the youtube-dl download the best video from the format list, but it doesn't work.
So I tried youtube-dl https://www.youtube.com/watch?v=.....  -f [299/137/298/136]+141
or
youtube-dl https://www.youtube.com/watch?v=.....  -f "299/137/298/136"+141
but doesn't work too.
How can we do?
Thank you!!

youtube-dl -f 137+bestaudio https://www.youtube.com/watch?v=k0IFMpH51w4

That should do it.

It doesn't work, because 137 is not always the best mp4 quality. 137 is 1080p 30fps.
If the video is at 60fps for example this doesn't work, same if the video has a highest resolution.

@mati8 @ericzutter sure, but that's why you have youtube-dl -F https://www.youtube.com/watch?v=RS5mzvqWM-c
It lists the formats along with their identifier.
Something like bestvideo[container=mp4] would be starting to get pretty silly. If you must have "mp4" (which is to say the MP4 container with h264) and it must be the best you can get, transcode bestvideo after it's downloaded.

@chrisaljoudi you don't understand the problem.

If you want to download the best DASH video, and put it together with the best audio, there is no way to do it. 137+bestaudio will download the 1080p 30fps only.
Sometimes youtube-dl downloads webm file, that you CAN'T merge with the best audio.

Of course it would be possible to transcode the webm file to mp4 and then merge it with audio, but at the moment it's not possible with youtube-dl.
Question:
how can I choose the video from a list and merge it with the best audio?
[299/137/298/136]+bestaudio doesn't work. If I take away the brackets too, of course it doesn't work well.
Thank you!

@mati8

If you want to download the best DASH video, and put it together with the best audio, there is no way to do it. 137+bestaudio will download the 1080p 30fps only.

I only mentioned that because the original post (and issue) said "mp4 only". Do you see that?

Sometimes youtube-dl downloads webm file, that you CAN'T merge with the best audio.

Why do you think you can't combine the webm with audio?
If you want the best video and the best audio (from DASH), youtube-dl -f bestvideo+bestaudio will work.
If it doesn't, please share an example.

On a completely separate note (you shouldn't have to do this), this works fine:
youtube-dl -f 136/244/278+bestaudio https://www.youtube.com/watch?v=FglqN1jd1tM

@chrisaljoudi  DASH video can be mp4 too. "DASH" is not a video format.
This is the example that doesn't work:
youtube-dl https://www.youtube.com/watch?v=-da2L9wY-rc -f bestvideo+bestaudio

It should be added a function to download the best mp4 DASH, to combine it with the best audio.
@chrisaljoudi
Just to be clear for other people who will read, what you said it's not correct, because this:
299/137/298/136+bestaudio doesn't work because it does something like:
download 299 OR 137 OR 298 OR [136+bestaudio]
Let's try:
youtube-dl https://www.youtube.com/watch?v=-da2L9wY-rc -f 299/137/134+bestaudio
It will download just the 137.
If 137 is not present, it will download the 134+audio and will combine them.
So it should be something like this:
youtube-dl https://www.youtube.com/watch?v=-da2L9wY-rc -f [299/137/134]+bestaudio
but of course this doesn't work becuase brackets in this case are not supported.

@mati8 I never said anything to the effect that DASH is a video format.

DASH video can be mp4 too. "DASH" is not a video format.

I know that. The reason we're talking about mp4 is what this issue is. Did you read the original issue? Here's a quote:

How to get best video + best audio for mp4 container format ?
and
The ideal parameter would be: -f "bestvideo[container=mp4]"+"bestaudio[container=mp4]"

I get what you're saying, but you keep redefining the problem. There are two possible sources:

Stuff from the DASH manifest. Audio and video come separately — video can be in webm or mp4, and maybe others.
Stuff not from the DASH manifest. Those come with the audio/video premuxed. Typically mp4 for the highest bitrate one.

MP4 (a container) does not support webm as a video codec. Transcode, or use mkv instead.

because it does something like: download 299 OR 137 OR 298 OR [136+bestaudio]

Ah, you're right. 299+bestaudio/137+bestaudio/298+bestaudio/136+bestaudio should work — sorry. (I agree that's not great, though).

@chrisaljoudi what I think it would be great, it's to download the best "mp4" DASH, and combine it with the bestaudio.
because in this case it shows an error:
youtube-dl https://www.youtube.com/watch?v=-da2L9wY-rc -f bestvideo+bestaudio
Did you try it?
Thank you!

@mati8 yes, indeed it will show an error — webm is video-only, and you didn't specify a container to use for merging. You can't merge webm into m4a or vice-versa. Specify a container, and it all works.
This, for example, works great:
youtube-dl -f bestvideo+bestaudio --merge-output-format mkv https://www.youtube.com/watch?v=-da2L9wY-rc

To warn you, this will fail in your case:
youtube-dl -f bestvideo+bestaudio --merge-output-format mp4 https://www.youtube.com/watch?v=-da2L9wY-rc

Because mp4 as a container does not support webm as a video codec.

@mati8 If there is an error, please do open a new issue (do not forget to include the output you get when you add -v). While adding a filter for mp4 only may solve your problem, we want to fix the error in the first place. For what it's worth, works fine for me:
$ youtube-dl https://www.youtube.com/watch?v=-da2L9wY-rc -f bestvideo+bestaudio -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['https://www.youtube.com/watch?v=-da2L9wY-rc', '-f', 'bestvideo+bestaudio', '-v']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.9 - Linux-3.14.17-x86_64-with-debian-8.0
[debug] exe versions: ffmpeg 2.5.3-1, ffprobe 2.5.3-1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] -da2L9wY-rc: Downloading webpage
[youtube] -da2L9wY-rc: Extracting video information
[youtube] -da2L9wY-rc: Downloading DASH manifest
[debug] Invoking downloader on '*snip for length*'
[download] Destination: GoPro Hero3 Silver Edition 1080p 30fps--da2L9wY-rc.f137.mp4
[download] 100% of 66.71MiB in 00:07
[debug] Invoking downloader on '*snip for length*'
[download] Destination: GoPro Hero3 Silver Edition 1080p 30fps--da2L9wY-rc.f141.m4a
[download] 100% of 4.12MiB in 00:00
[ffmpeg] Merging formats into "GoPro Hero3 Silver Edition 1080p 30fps--da2L9wY-rc.mp4"
[debug] ffmpeg command line: ffmpeg -y -i 'GoPro Hero3 Silver Edition 1080p 30fps--da2L9wY-rc.f137.mp4' -i 'GoPro Hero3 Silver Edition 1080p 30fps--da2L9wY-rc.f141.m4a' -c copy -map 0:v:0 -map 1:a:0 'GoPro Hero3 Silver Edition 1080p 30fps--da2L9wY-rc.mp4'

@phihag the error occurs when bestvideo resolves to a .webm file. At one level, it's not youtube-dl's fault per se; one is trying to merge a .webm with .m4a, and that's ambiguous for ffmpeg without a container format to contain both of them. This can be solved by setting --merge-output-format.
Furthermore, if the container is mp4 (so --merge-output-format mp4), that will fail with webm because mp4 does not support webm as a video codec.
--merge-output-format mkv should work fine for that, though.

The following help info has been added to youtube-dl version 2<IP_ADDRESS> :
youtube-dl.exe --help
You can filter the video results by putting a condition in  brackets, as in -f "best[height=720]" (or  -f "filesize>10M]").  This works for  filesize, height, width, tbr, abr, vbr,  asr, and fps and the comparisons <, <=, >,   >=, =, != and for ext, acodec, vcodec,  container, and protocol and the comparison  =, != .
The following example worked (= download best video + audio codec for mp4 container) :
youtube-dl -f bestvideo[ext=mp4]+bestaudio https://www.youtube.com/watch?v=_YIae5mwmNU
I don't know what will happen if a video contains no DASH. Will the option "-f bestvideo[ext=mp4]+bestaudio" download the best video/audio for mp4 container when there are no DASH formats ?
In the help info they added the filters container/vcodec/acodec/protocol. But the following examples didn't work :
youtube-dl -f bestvideo[container=mp4]+bestaudio https://www.youtube.com/watch?v=_YIae5mwmNU
ERROR: requested format not available
youtube-dl -f bestvideo[container=mp4]+bestaudio[container=mp4] https://www.youtube.com/watch?v=_YIae5mwmNU
ERROR: requested format not available
youtube-dl -f bestvideo[vcodec=h264]+bestaudio https://www.youtube.com/watch?v=_YIae5mwmNU
ERROR: requested format not available
youtube-dl -f bestvideo[vcodec=avc]+bestaudio https://www.youtube.com/watch?v=_YIae5mwmNU
ERROR: requested format not available
youtube-dl -f bestvideo[vcodec=mp4]+bestaudio https://www.youtube.com/watch?v=_YIae5mwmNU
ERROR: requested format not available
How to use the new filter options container/vcodec/acodec/protocol ?

How does the bestvideo actually work? Because for this video:
https://www.youtube.com/watch?v=InxwGZ_PgC4
-f bestvideo[ext=mp4]+bestaudio downloads 240p version (while there is 1080p available)
$ youtube-dl -F https://www.youtube.com/watch?v=InxwGZ_PgC4
[youtube] InxwGZ_PgC4: Downloading webpage
[youtube] InxwGZ_PgC4: Extracting video information
WARNING: video doesn't have subtitles
[youtube] InxwGZ_PgC4: Downloading DASH manifest
[info] Available formats for InxwGZ_PgC4:
format code  extension  resolution note
140          m4a        audio only DASH audio  129k , m4a_dash container, aac  @128k (44100Hz), 4.20MiB
171          webm       audio only DASH audio  138k , audio@128k (44100Hz), 4.19MiB
141          m4a        audio only DASH audio  256k , m4a_dash container, aac  @256k (44100Hz), 8.35MiB
134          mp4        640x360    DASH video   28k , 30fps, video only, 766.85KiB
242          webm       426x240    DASH video   29k , 1fps, video only, 859.75KiB
135          mp4        854x480    DASH video   39k , 30fps, video only, 1.05MiB
243          webm       640x360    DASH video   44k , 1fps, video only, 1.26MiB
136          mp4        1280x720   DASH video   56k , 30fps, video only, 1.59MiB
160          mp4        256x144    DASH video   64k , 15fps, video only, 1.15MiB
244          webm       854x480    DASH video   69k , 1fps, video only, 1.90MiB
137          mp4        1920x1080  DASH video   83k , 30fps, video only, 2.37MiB
133          mp4        426x240    DASH video  111k , 30fps, video only, 2.13MiB
247          webm       1280x720   DASH video  118k , 1fps, video only, 2.98MiB
248          webm       1920x1080  DASH video  176k , 1fps, video only, 4.36MiB
17           3gp        176x144
36           3gp        320x240
5            flv        400x240
43           webm       640x360
18           mp4        640x360
22           mp4        1280x720   (best)

@Yhonay open anew issue for that.
@ericzutter Not all formats have the same info available, so some of the filters won't match anything. If you only want mp4 files, using -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4 is enough. Since that's what the issue was originally for, I'm closing it.

I realize this thread is a bit old, but I think the situation has changed somewhat. For my goal:

first and foremost always take the best available video quality regardless of format;
but then never let the audio format alone cause you to lose mp4.

Previously, I was using bestvideo+bestaudio/best, but I find the following variant works much better for reducing mkv, (apparently) eliminating webm, but yet still guaranteeing the highest quality video (don't use the --merge-output-format option when using this):
--format bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best

Notice that, in the first term, the ext filter is specified for the audio but not the video, a technique which I didn't see mentioned in the discussion above. If that seems backwards for my stated goals, that might be because, considering that we're trying to ensure that the video format is mp4, why is the constraint given for the audio?
The key is that each fallback term (separated by the slashes) will fail if any part of its requirement fails, moving on to the next term. When using bestvideo+bestaudio, many cases of getting a non-mp4 container only show up because that format selection unequivocally insists on bestaudio, which may then mean a mixed format. It's because the bestvideo+bestaudio command is too insistent that you get forced out of mp4.
But what if you care more about getting a mp4 container than you do about the audio quality? By insisting on m4a audio first--but then relenting on just that part while issuing bestvideo again--(by using the the format selection above) you essentially express a flexible preference for mp4 over the other containers; you surely do want mp4 if possible, but not at the cost of reduced video quality.
As I said, you may still get some mkv, but they will be greatly reduced in number and only used when required to supply a (supposedly) better video. And so far with this configuration, I haven't seen any webm at all, because something like 248+140 works ends up as mkv.

Also... note that there is now a new youtube-dl issue that affects whether you get the best video. Unlike the issue discussed here (which concerns how youtube-dl operates), #14143 is caused by YouTube reporting false metadata.

I realize this thread is a bit old, but I think the situation has changed somewhat. For my goal:
* first and foremost always take the best available video quality regardless of format;

* but then _never let the audio format alone_ cause you to lose **mp4**.

Previously, I was using bestvideo+bestaudio/best, but I find the following variant works much better for reducing mkv, (apparently) eliminating webm, but yet still guaranteeing the highest quality video (don't use the --merge-output-format option when using this):
--format bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best

Notice that, in the first term, the ext filter is specified for the audio but not the video, a technique which I didn't see mentioned in the discussion above. If that seems backwards for my stated goals, that might be because, considering that we're trying to ensure that the video format is mp4, why is the constraint given for the audio?
The key is that each fallback term (separated by the slashes) will fail if any part of its requirement fails, moving on to the next term. When using bestvideo+bestaudio, many cases of getting a non-mp4 container only show up because that format selection unequivocally insists on bestaudio, which may then mean a mixed format. It's because the bestvideo+bestaudio command is too insistent that you get forced out of mp4.
But what if you care more about getting a mp4 container than you do about the audio quality? By insisting on m4a audio first--but then relenting on just that part while issuing bestvideo again--(by using the the format selection above) you essentially express a flexible preference for mp4 over the other containers; you surely do want mp4 if possible, but not at the cost of reduced video quality.
As I said, you may still get some mkv, but they will be greatly reduced in number and only used when required to supply a (supposedly) better video. And so far with this configuration, I haven't seen any webm at all, because something like 248+140 works ends up as mkv.
Also... note that there is now a new youtube-dl issue that affects whether you get the best video. Unlike the issue discussed here (which concerns how youtube-dl operates), #14143 is caused by YouTube reporting false metadata.

Hmm strange that MacOS cannot open such videos via QuickTime but VLC has no problem. Seems this method uses codec that MacOS does not like.

As of March 24, 2020, bestvideo[ext=mp4] seems to include av01 videos sometimes.  Example video where this happens for me (although I expect this may be region dependent): https://www.youtube.com/watch?v=jW6gzAa-VUE
Is there a way to specify "best video that uses the h264"?

As of March 24, 2020, bestvideo[ext=mp4] seems to include av01 videos sometimes. Example video where this happens for me (although I expect this may be region dependent): https://www.youtube.com/watch?v=jW6gzAa-VUE
Is there a way to specify "best video that uses the h264"?

even now still I think there is no way around this.
my flags:
--prefer-ffmpeg
--format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best"
--merge-output-format mp4

will merge the video and audio into a mp4 container but will still at times(around 60% of the time) encode using the vp09 codec(google's Not-Invented-Here codec). Very irritating and frankly I think they did that on purpose to throw a wrench in youtube archivers using youtube-dl.
A workaround is .. ugh .. transcoding:
vp09-codec-mp4-wrapper to mp4/h264/h265:
ffmpeg -i output.mp4 -vcodec libvpx-vp9 -strict experimental output_2.webm
ffmpeg -i output_2.webm -strict 2 output_3.mp4

As of March 24, 2020, bestvideo[ext=mp4] seems to include av01 videos sometimes. Example video where this happens for me (although I expect this may be region dependent): https://www.youtube.com/watch?v=jW6gzAa-VUE
Is there a way to specify "best video that uses h264"?

ext=mp4 is not the right format selection for your use case. It selects the container but you want to select the codec. You can use the vcodec=... to specify the video format you want to download.

As of March 24, 2020, bestvideo[ext=mp4] seems to include av01 videos sometimes. Example video where this happens for me (although I expect this may be region dependent): https://www.youtube.com/watch?v=jW6gzAa-VUE
Is there a way to specify "best video that uses h264"?

ext=mp4 is not the right format selection for your use case. It selects the container format but you want to select the codec. You can use the vcodec=... selector to specify the video format you want to download.

Thanks for the suggestion. I tried:
--format "bestvideo[vcodec=h264]+bestaudio[ext=m4a]/bestvideo+bestaudio/best"
but it does not seem to fetch h264 codec.

Echoing the above— I've tried:
-f bestvideo[vcodec=h264]+bestaudio
-f bestvideo[vcodec=x264]+bestaudio
-f bestvideo[vcodec=avc1]+bestaudio
All result in "Requested format not available".
Is this a separate bug I should open a new issue for?

As of March 24, 2020, bestvideo[ext=mp4] seems to include av01 videos sometimes. Example video where this happens for me (although I expect this may be region dependent): https://www.youtube.com/watch?v=jW6gzAa-VUE
Is there a way to specify "best video that uses h264"?

ext=mp4 is not the right format selection for your use case. It selects the container format but you want to select the codec. You can use the vcodec=... selector to specify the video format you want to download.

Thanks for the suggestion. I tried:
--format "bestvideo[vcodec=h264]+bestaudio[ext=m4a]/bestvideo+bestaudio/best"
but it does not seem to fetch h264 codec.

Echoing the above— I've tried:
-f bestvideo[vcodec=h264]+bestaudio
-f bestvideo[vcodec=x264]+bestaudio
-f bestvideo[vcodec=avc1]+bestaudio
All result in "Requested format not available".
Is this a separate bug I should open a new issue for?

You can use something like vcodec^=avc1 for selecting h264 videos. Format selection is explained in the readme file in FORMAT SELECTION  section. You can check the available formats for a video using the -F option.


SCP MFM floppy images

Today I imaged a 3.5" HD DOS 1.44MB floppy disk with my GW.  The resultant SCP file is 74 MB in size.  I don't know about SCP disk images but I assume this is normal?
Is there some conversion tool I can use to convert the MFM floppy SCP image to say a DSK (CPCEMU) disk image or a RAW file containing only the sector data? or other disk images?

Yes SCP images are very large.
Use HxC software to visualise the track data and check it all looks good. You may also be able to convert to IMG and EDSK with the same tool. My own Disk-Utilities (Linux command line) can be used to convert to IMG.


Please invite me to the GitHub Community Organization

Name
ternera
Discord Username (if applicable)
No response
Additional Context
To collaborate with other coders.

It's great having you contribute to this project
If you would like to continue contributing to open source and would like to do it with an awesome inclusive community, you should join our Discord Server and our GitHub Organisation - we help and encourage each other to contribute to open source little and often 🤓 . Any questions let us know.

Invitation sent for the GitHub Organisation. Welcome to the community 🎉#
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see, you can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/jaidevstudio/people
Like this

Tips for practising:
Remember contributing to open source is not just about code, its about collaboration, communication and adding value
I hope that helps

Please check your email or organisation page 🙏


Set up a Kanban board

"We are a team of 3 people working on this project."

The group task is assigned to - @ankitt26,  @forLoop94 , @toyman640
Student A - @ankitt26
student B - @forLoop94
Student C - @toyman640

Link of the project -: https://github.com/ankitt26/Catalog-of-my-things/projects/1

[[# STATUS: APPROVED :green_circle: :clap:
Hello @TEAM     ,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:  .
Congratulations! 🎉  Keep up the good work 🥂
HIGHLIGHTS:

[x]  Your repo is professional  😎
[x] Descriptive P.R 💯
[x] Kanban setup correctly 🥇

Now you can merge this branch and move on :1st_place_medal:
Happy Coding cheers 🥇 💯

Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.]]

Thanks for Approving 😊🎊


artist hangs at installing lib torrent

Fresh install of Raspbian Stretch. Unprivileged user bob (in sudo group).
Script runs well but now over 45 minutes with "Installing libtorrent" and nothing seems to be happening.
Prior to this the messages were:

Checking File Repositories
xmlrpc-c: OK
rtorrent: OK
Debian 9 is only supported by lib torrent-0.13.6/rtorrent-0.9.6
Installing libtorrent-0.13.6/rtorrent-0.9.6
Fetching source files
Installing xmlrpc
Installing libtorrent

Thank you for advising what I could try to solve the situation.

Sorry just so sloooowwwwwwwwwwwwww now it has progressed to Installing rtorrent ....

yeah generally is a lot quicker, but will be slower on a raspbian.


Fetching nested structures in tuple fields

What about "bad input" tests? What if user specified some bad field name?

I believe that we should do as Tarantool does:
tarantool> box.tuple.new({1, {a = {b = 'c'}}})
---
- [1, {'a': {'b': 'c'}}]
...

tarantool> box.tuple.new({1, {a = {b = 'c'}}})['[1]']
---
- 1
...

tarantool> box.tuple.new({1, {a = {b = 'c'}}})['[2]']
---
- {'a': {'b': 'c'}}
...

tarantool> box.tuple.new({1, {a = {b = 'c'}}})['[2].a.b']
---
- c
...
tarantool> box.tuple.new({1, {a = {b = 'c'}}})['K']
---
- null
...

This makes this feature quite powerful and allows to fetch not only some tuple fields but some nested structures in tuple fields.
Originally posted by @olegrok in https://github.com/tarantool/crud/pull/118#discussion_r576381992

Am I understood right: the proposal is to support JSON path in fields option of crud operations and in crud.cut_rows() and crud.cut_objects() function?

the proposal is to support JSON path in fields option of crud operations

Yes

in crud.cut_rows() and crud.cut_objects() function

Initially there are no such functions in public API. However since currently it's so it should be done for consistency.

It's hard to evaluate, but I don't hear requests about this feature from customers, the product team or project developers (except you). I guess that the demain is small.
The implementation would either depend on https://github.com/tarantool/tarantool/issues/5203 (which is not implemented at the moment of writing) or would use an external module like https://github.com/olegrok/tarantool-jsonpath (which has pros and cons).
I'll put the task to the wishlist. It means that if someone is ready to work on it, we're open for design discussions (let's start them here) and pull requests. Of course, we can accept the implementation only if it is carefully designed, implemented, documented and tested.
The priority may raise in a future, if something important will depend on the feature.

It's not clear how to work with such API. For now, asking a tuple with some fields would return the following row: {field_1, nil, nil, field_4, nil, field_6}. But what row should be returned for [2].a.b field? We can't return [2].a.b in the place of 2 since there could be '[2].a.b' and '[2].c.d' fields at the same time.

Blocked by https://github.com/tarantool/tarantool/issues/5203


[WIP] Amplitude Estimation algorithm with finance applications

Summary
Details and comments

 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.2 out of 3 committers have signed the CLA.:white_check_mark: woodsp-ibm:white_check_mark: hushaohan:x: Stefan WoernerStefan Woerner 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.


Build ovn-operator image in the FIPS compatible way

To make ovn-operator image to be compiled correctly for OpenShift with FIPS enabled.
Closes: #OSPRH-3109

Failures looks related exec /manager: no such file or directory
https://logserver.rdoproject.org/12/212/70a2bdd5fd8477d59bfef660f81868e8196503c1/github-check/ovn-operator-tempest-multinode/d504a3b/controller/ci-framework-data/logs/openstack-k8s-operators-openstack-must-gather/namespaces/openstack-operators/pods/ovn-operator-controller-manager-75bb7b648-j4d9c/logs/manager.log
https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/pr-logs/pull/openstack-k8s-operators_ovn-operator/212/pull-ci-openstack-k8s-operators-ovn-operator-main-ovn-operator-build-deploy-kuttl/1752290275696316416/artifacts/ovn-operator-build-deploy-kuttl/openstack-k8s-operators-gather/artifacts/must-gather/quay-io-openstack-k8s-operators-openstack-must-gather-sha256-e39c97b0f556c0f58b33a035028cc0cd9a0e89f2650ef00160db8adfb85d876f/namespaces/openstack-operators/pods/ovn-operator-controller-manager-7d4ff4cc77-8wx4k/logs/manager.log

/lgtm


mmdet3d install: llvmlite & bdist_wheel error

Prerequisite

[X] I have searched Issues and Discussions but cannot get the expected help.
[X] I have read the FAQ documentation but cannot get the expected help.
[X] The bug has not been fixed in the latest version (dev) or latest version (1.x).

Task
I'm using the official example scripts/configs for the officially supported tasks/models/datasets.
Branch
master branch https://github.com/open-mmlab/mmdetection3d
Environment
torch 1.10.0
CUDA 10.2
mmcv-full 1.14.0
mmdet  2.14.0
mmseg 0.14.1
mmdet3d (trying) 0.17.1(checked)
Reproduces the problem - code sample
mmdet3d install intructon
Reproduces the problem - command or script
user$ git checkout v0.17.1
user$ python -m pip install -v -e .

Reproduces the problem - error message
Traceback (most recent call last):
File "/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/ffi/build.py", line 168, in
main()
File "/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/ffi/build.py", line 158, in main
main_posix('linux', '.so')
File "/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/ffi/build.py", line 120, in main_posix
raise RuntimeError(msg)
RuntimeError: Building llvmlite requires LLVM 7.0+ Be sure to set LLVM_CONFIG to the right executable path.
Read the documentation at http://llvmlite.pydata.org/ for more information about building llvmlite.
error: command '/home_nfs/${user}/anaconda3/envs/fast-bev/bin/python' failed with exit code 1
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
full command: /home_nfs/${user}/anaconda3/envs/fast-bev/bin/python -u -c '
exec(compile('"'"''"'"''"'"'
This is  -- a caller that pip uses to run setup.py

- It imports setuptools before invoking setup.py, to enable projects that directly
import from distutils.core to work with newer packaging standards.
- It provides a clear error message when setuptools is not installed.
- It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so
setuptools doesn'"'"'t think the script is -c. This avoids the following warning:
manifest_maker: standard file '"'"'-c'"'"' not found".
- It generates a shim setup.py, for handling setup.cfg-only projects.
import os, sys, tokenize
try:
import setuptools
except ImportError as error:
print(
"ERROR: Can not execute setup.py since setuptools is not available in "
"the build environment.",
file=sys.stderr,
)
sys.exit(1)
file = %r
sys.argv[0] = file
if os.path.exists(file):
filename = file
with tokenize.open(file) as f:
setup_py_code = f.read()
else:
filename = ""
setup_py_code = "from setuptools import setup; setup()"
exec(compile(setup_py_code, filename, "exec"))
'"'"''"'"''"'"' % ('"'"'/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/setup.py'"'"',), "", "exec"))' bdist_wheel -d /tmp/pip-wheel-utz8sx2i
cwd: /tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/
Building wheel for llvmlite (setup.py) ... error
ERROR: Failed building wheel for llvmlite
Running setup.py clean for llvmlite
Running command python setup.py clean
running clean
'build/lib.linux-x86_64-cpython-39' does not exist -- can't clean it
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.9' does not exist -- can't clean it
removing '/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/llvmlite/pycache' (and everything under it)
removing '/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/pycache' (and everything under it)
Failed to build llvmlite
Installing collected packages: llvmlite, ipython-genutils, fastjsonschema, executing, backcall, widgetsnbextension, websocket-client, webcolors, uri-template, traitlets, tqdm, tornado, tomli, tinycss2, threadpoolctl, tensorboard-data-server, tenacity, soupsieve, sniffio, Shapely, rsa, rfc3986-validator, rfc3339-validator, qtpy, pyzmq, python-json-logger, pyrsistent, pygments, pyflakes, pycparser, pycodestyle, pyasn1-modules, psutil, protobuf, prompt-toolkit, prometheus-client, pluggy, platformdirs, pexpect, pathspec, parso, pandocfilters, oauthlib, numpy, nest-asyncio, mypy-extensions, mccabe, MarkupSafe, jupyterlab-widgets, jupyterlab-pygments, jsonpointer, joblib, iniconfig, importlib-metadata, grpcio, fqdn, exceptiongroup, defusedxml, decorator, debugpy, click, cachetools, bleach, attrs, asttokens, absl-py, werkzeug, tifffile, terminado, stack-data, scipy, requests-oauthlib, PyWavelets, pytest, pyquaternion, plyfile, plotly, pandas, numba, networkx, matplotlib-inline, matplotlib, markdown, jupyter-core, jsonschema, jinja2, jedi, imageio, google-auth, flake8, comm, cffi, black, beautifulsoup4, arrow, anyio, trimesh, scikit-learn, scikit-image, nbformat, jupyter-server-terminals, jupyter-client, isoduration, ipython, google-auth-oauthlib, descartes, argon2-cffi-bindings, tensorboard, nbclient, lyft_dataset_sdk, ipykernel, argon2-cffi, qtconsole, nbconvert, jupyter-events, jupyter-console, ipywidgets, jupyter-server, notebook-shim, nbclassic, notebook, jupyter, nuscenes-devkit, mmdet3d
Running command Running setup.py install for llvmlite
running install
/home_nfs/${user}/anaconda3/envs/fast-bev/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
got version from file /tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/llvmlite/_version.py {'version': '0.31.0', 'full': 'fe7d985f6421d87f613bd414479d29d912771562'}
running build_ext
/home_nfs/${user}/anaconda3/envs/fast-bev/bin/python /tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/ffi/build.py
LLVM version... 6.0.0
Traceback (most recent call last):
File "/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/ffi/build.py", line 168, in
main()
File "/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/ffi/build.py", line 158, in main
main_posix('linux', '.so')
File "/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/ffi/build.py", line 120, in main_posix
raise RuntimeError(msg)
RuntimeError: Building llvmlite requires LLVM 7.0+ Be sure to set LLVM_CONFIG to the right executable path.
Read the documentation at http://llvmlite.pydata.org/ for more information about building llvmlite.
error: command '/home_nfs/${user}/anaconda3/envs/fast-bev/bin/python' failed with exit code 1
error: subprocess-exited-with-error
× Running setup.py install for llvmlite did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
full command: /home_nfs/${user}/anaconda3/envs/fast-bev/bin/python -u -c '
exec(compile('"'"''"'"''"'"'
This is  -- a caller that pip uses to run setup.py

- It imports setuptools before invoking setup.py, to enable projects that directly
import from distutils.core to work with newer packaging standards.
- It provides a clear error message when setuptools is not installed.
- It sets sys.argv[0] to the underlying setup.py, when invoking setup.py so
setuptools doesn'"'"'t think the script is -c. This avoids the following warning:
manifest_maker: standard file '"'"'-c'"'"' not found".
- It generates a shim setup.py, for handling setup.cfg-only projects.
import os, sys, tokenize
try:
import setuptools
except ImportError as error:
print(
"ERROR: Can not execute setup.py since setuptools is not available in "
"the build environment.",
file=sys.stderr,
)
sys.exit(1)
file = %r
sys.argv[0] = file
if os.path.exists(file):
filename = file
with tokenize.open(file) as f:
setup_py_code = f.read()
else:
filename = ""
setup_py_code = "from setuptools import setup; setup()"
exec(compile(setup_py_code, filename, "exec"))
'"'"''"'"''"'"' % ('"'"'/tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/setup.py'"'"',), "", "exec"))' install --record /tmp/pip-record-axuqa84o/install-record.txt --single-version-externally-managed --compile --install-headers /home_nfs/${user}/anaconda3/envs/fast-bev/include/python3.9/llvmlite
cwd: /tmp/pip-install-5ct900o7/llvmlite_aea4181d3a08488a8102b98f37afedd2/
Running setup.py install for llvmlite ... error
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> llvmlite
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
Additional information
I tried some already-existed-similar-issue methods, but these errors still exist.

sloved. the cause is after u installed the mmdet, ur mmdet will install gcc 7.3. but for mmdet3d, u need gcc-5 & g++-5. reboot and not issues above.

also, if above didnt work. u can try to down grade python<=3.8, cuz py3.9 will make numb error as well


Added a Logo Folder

Issue Number #2

Describe the changes you've made
I have made a new folder named Logo inside the image folder and added 2 logo images namely - Apni Dukaan Logo1 and Apni Dukaan Logo2.
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
NA
Additional context (OPTIONAL)

Checklist

[x] I have mentioned related issue number in PR description.
[x] I have added screenshots and related demo links of my changes..
[x] The title of my pull request is a short description of the requested changes.
[ ] I have added my name in the contributors list at the end of README.md file.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] Open Source Program names(LetsGrowMore Summer of Code(LMGSoC 21))

@techabhi08 fill this form https://docs.google.com/forms/d/e/1FAIpQLSeWRqZljejl0NnH8v4PqkjfTsWoQAbx_n0xR25PHaNiZnbnAw/viewform
Mention only those PR links which have DCP label.

@techabhi08 fill the form only then you will get points.

Sir I will fill it shortly at present I am not at my place.
On Sun, 11 Jul 2021, 20:57 Qazi Maaz Arshad, @.***>
wrote:

@techabhi08 https://github.com/techabhi08 fill the form only then you
will get points.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/QAZIMAAZARSHAD/Apni-Dukaan/pull/53#issuecomment-877820831,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASCSF4I3ECHKHUSQJRJ5643TXGZ5JANCNFSM5AEKLXEQ
.

No problem.
I thought you must have forgotten.

No sir I have this in mind and will surely do till tomorrow. Sorry for the
delay
On Sun, 11 Jul 2021, 21:05 Qazi Maaz Arshad, @.***>
wrote:

No problem.
I thought you must have forgotten.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/QAZIMAAZARSHAD/Apni-Dukaan/pull/53#issuecomment-877821787,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASCSF4KP6YOKDDQMGRZ4YB3TXG23NANCNFSM5AEKLXEQ
.

Sir I have submitted 2 PRs. One for logo and the other one for the issue
where I have to separate About Us page from home page and make a
separate about us page. So should I fill the form for both of them?
On Sun, 11 Jul 2021 at 21:48, Abhinay Garg @.***>
wrote:

No sir I have this in mind and will surely do till tomorrow. Sorry for the
delay
On Sun, 11 Jul 2021, 21:05 Qazi Maaz Arshad, @.***>
wrote:

No problem.
I thought you must have forgotten.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/QAZIMAAZARSHAD/Apni-Dukaan/pull/53#issuecomment-877821787,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASCSF4KP6YOKDDQMGRZ4YB3TXG23NANCNFSM5AEKLXEQ
.

Sir I have submitted 2 PRs. One for logo and the other one for the issue where I have to separate About Us page from home page and make a separate about us page. So should I fill the form for both of them? On Sun, 11 Jul 2021 at 21:48, Abhinay Garg @.> wrote:
…
No sir I have this in mind and will surely do till tomorrow. Sorry for the delay On Sun, 11 Jul 2021, 21:05 Qazi Maaz Arshad, @.> wrote: > No problem. > > I thought you must have forgotten. > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <#53 (comment)>, > or unsubscribe > https://github.com/notifications/unsubscribe-auth/ASCSF4KP6YOKDDQMGRZ4YB3TXG23NANCNFSM5AEKLXEQ > . >

Yes.

Sir the form is accepting only one response. How can I add multiple links in the same?

Sir the form is accepting only one response. How can I add multiple links in the same?

No, it is accepting many responses.
Many have filled more than once.

Okay sir done. I have filled it now.


Fixed #imports to properly support Xcode 7.1

A framework's header files can no longer import other own header files using angular import syntax (#import <Parse/…>) as of Xcode 7.1. That leads to a lot errors when importing (not compiling) this framework.
Example:
include of non-modular header inside framework module 'Parse.Parse'
#import <Parse/PFACL.h>

Properly using #import "XYZ.h" instead of #import <Parse/XYZ.h> fixes this issue.
Additionally Parse imports some specific headers from the Bolts framework directly which also violates semantic import. Instead of #import <Bolts/XYZ.h> it must import Bolts framework as a whole.
Since @import is not available for apps targeting iOS 7 or lower and requires CocoaPods users to enable frameworks (using use_frameworks!), Parse+Bolts.h was added as a workaround. It imports <Bolts/Bolts-umbrella.h> if it exists (it is generated by CocoaPods) or else Bolts' default umbrella header <Bolts/Bolts.h>.
Also note that this fix requires the same issue to be fixed in Bolts. See https://github.com/BoltsFramework/Bolts-iOS/pull/179
Solves #466

Although this pull request fixes the issue this is a widespread problem which is being tracked and most likely fixed by CococaPods itself: https://github.com/CocoaPods/CocoaPods/issues/4420


[Feature] Plugin for Detecting Medical Advice

What Would You Like to See with the Gateway?
Plugin Name: Medical Advice Detection
Plugin Description: Detects Medical Advice in the generated response and flags a warning whenever the LLM provides a medical advice.
Here is the Contributing Guide for Plugin
Context for your Request
No response
Your Twitter/LinkedIn
No response

@vrushankportkey I would like to work on it.

@keshavkrishna Awesome! Please go ahead and start working on it.


Native Notebooks - Git Merge Conflicts Breaks Notebooks

Steps to reproduce:

Create notebook
Create merge conflict
Save notebook and try to reopen in text editor

Had a quick chat with @rebornix and he believes following nbdime for this solution is a good start
https://nbdime.readthedocs.io/en/latest/cli.html#merging
https://nbdime.readthedocs.io/en/latest/merging.html

As far as I know, the ordinary git diff tools only handles plain text and not structured data (well, they do, but they are totally unaware if the result is a legitim structure).
Or maybe gron is a better tool as it handles JSON generically... jsondiff: diff JSON in Git using gron Cool json git diff command

Yeah, but for example a "simple" editor like vim can handle this :)

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Modularize a few more chunks

This replace my previous PR to make it compatible with the recent axis improvement.
This modularizes yet more code chunks to make tinyplot.R leaner. There is no new functionality here. Just moving code around.
Unfortunately, I will not be able to respond to code review in the short term because I will be without a computer for a while. Sorry to PR and run!

Made a tiny change to an errant assignment operator. LGTM otherwise.
Thanks @vincentarelbundock!


Change Overflow to Clip

Consider the following situation
Suppose that there is a swiping element horizontally with a few elements, which grown when hovered. When it grows, it exeeds the Y axis overflow.
With overflow hidden, setting overflow-y to "visible" does nothing. However setting overflow to clip allows y-overflow to be visible.
This is as per the W3 Specification:

The visible/clip values of overflow compute to auto/hidden (respectively) if one of overflow-x or overflow-y is neither visible nor clip.

I am also not 100% on all the side effects of this change, so that might be good to double check

Would like to see a live example (better codesandbox) where it is used with Swiper

I got you: CodePen

@Lucien950 thank you. I will merge a bit later as it can be a breaking change, so this will land into upcoming v10

What if one needs overflow-y visible on the ".swiper" now? How to override?

What if one needs overflow-y visible on the ".swiper" now? How to override?

Using CSS

What if one needs overflow-y visible on the ".swiper" now? How to override?

Using CSS

Ah, just saw it's with part="container", I'll try, thanks.

Hi @Lucien950! I was migrating a project from Swiper 8 to 10 and faced some issues regarding this change. I tried my best to reproduce it here:
https://codesandbox.io/s/agitated-moon-tjg9tt?fontsize=14&hidenavigation=1&theme=dark
When the overflow was hidden, both Swiper and the "something" content could expand as they needed in this layout. Now, due to the clip, the Swiper ends up growing more than it should. Would you have any suggestion on how could I achieve the same layout without forcing it to be hidden again?
Appreciate your support, if available :)

I am not sure I understand the issue. They seem to be both expanding the same amount.

I am not sure I understand the issue. They seem to be both expanding the same amount.

@Lucien950 that is weird... maybe browser or window size? I'm seeing this in my Firefox:

I am not sure I understand the issue. They seem to be both expanding the same amount.

@Lucien950 that is weird... maybe browser or window size? I'm seeing this in my Firefox:

I too see it on firefox. It is also strange that the arrows are not there. Perhaps these two problems are related?

Yeah, definitely browser-related, it works on Chrome. The arrow does not appear because Swiper seems to believe it has enough space.


fix(heat-map): Show last 8 months of activity

Description
Fixed issue with HeatMap showing only the first 8 months of user's activity:
https://github.com/freeCodeCamp/freeCodeCamp/issues/17320
All unit tests passed:
total:     1481
passing:   1481
duration:  17s
Tested the fix locally using test heat map data instead of calendar data coming via props to HeatMap.jsx. Test heat map data contains dates starting from Jul 17 2016 till Jul 17 2018 (2 years range), and there is up to 8 last months of activity is displayed on a heat map.
{1468704955: 2,
1497216955: 4,
1500240955: 3,
1504128955: 1,
1505856955: 1,
1507584955: 4,
1508448955: 4,
1509312955: 4,
1509744955: 4,
1511040955: 4,
1512682555: 4,
1512768955: 4,
1513200955: 4,
1514928955: 4,
1515792955: 1,
1517520955: 2,
1519248955: 1,
1519335355: 2,
1519421755: 3,
1519508155: 4,
1519594555: 5,
1523136955: 1,
1524000955: 1,
1524087355: 1,
1527456955: 2,
1527888955: 1,
1528752955: 3,
1529184955: 1,
1529616955: 4,
1530480955: 1,
1531344955: 5,
1531690555: 1}

Closes #17320

yeah @flower17. exactly like this.
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality3&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality3&
On Tue, Jul 24, 2018 at 2:10 PM, lkozyr<EMAIL_ADDRESS>wrote:

@flower17 commented on this pull request.
In common/app/routes/Profile/components/HeatMap.jsx
https://github.com/freeCodeCamp/freeCodeCamp/pull/17893#discussion_r204668865
:

@@ -57,7 +57,10 @@ class HeatMap extends Component {
const rectSelector = '#cal-heatmap > svg > svg.graph-legend > g > rect.r';
const calLegendTitles = ['0 items', '1 item', '2 items', '3 or more items'];
const firstTS = Object.keys(calendar)[0];

let start = new Date(firstTS * 1000);

// start should not be earlier than 7 months before now:
let start = (firstTS * 1000 + 1000 * 60 * 60 * 24 * 210 < Date.now())

Hi @vikaskyadav https://github.com/vikaskyadav ,
just to confirm, do you mean 7 months time span?
Example?
[image: image]
https://user-images.githubusercontent.com/18584913/43126528-a09432f8-8f35-11e8-863e-f9aec6bbcfeb.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/pull/17893#discussion_r204668865,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMBh18GZWdzW7WJ1t8v0eQo5B9VSTeOYks5uJt1wgaJpZM4VTA74
.

yeah @flower17. exactly like this.
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality3&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality3&
On Tue, Jul 24, 2018 at 2:10 PM, lkozyr<EMAIL_ADDRESS>wrote:

@flower17 commented on this pull request.
In common/app/routes/Profile/components/HeatMap.jsx
https://github.com/freeCodeCamp/freeCodeCamp/pull/17893#discussion_r204668865
:

@@ -57,7 +57,10 @@ class HeatMap extends Component {
const rectSelector = '#cal-heatmap > svg > svg.graph-legend > g > rect.r';
const calLegendTitles = ['0 items', '1 item', '2 items', '3 or more items'];
const firstTS = Object.keys(calendar)[0];

let start = new Date(firstTS * 1000);

// start should not be earlier than 7 months before now:
let start = (firstTS * 1000 + 1000 * 60 * 60 * 24 * 210 < Date.now())

Hi @vikaskyadav https://github.com/vikaskyadav ,
just to confirm, do you mean 7 months time span?
Example?
[image: image]
https://user-images.githubusercontent.com/18584913/43126528-a09432f8-8f35-11e8-863e-f9aec6bbcfeb.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/pull/17893#discussion_r204668865,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMBh18GZWdzW7WJ1t8v0eQo5B9VSTeOYks5uJt1wgaJpZM4VTA74
.

Removed branch. Will resubmit pull request.


Apache Karaf :: Features build fails in master

Maven build is failing with same error in both IntelliJ and Command Prompt.  Problem observed with master from 5/4/18:
[ERROR] Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.1.4:verify (validate) on project hapi-fhir: Unable to load features descriptors: Error:
[ERROR] Error downloading file://C:\temp\hapi-fhir-master\osgi\hapi-fhir-karaf-features\target/classes/features.xml
Refer to attached screenshot.

I believe this one is already resolved, isn't it @anthonys123?

This should be solved (confirmation would be appreciated). The Karaf-maven-plugin verify task seems to not play nicely on Windows. I've disabled it from running by default for now.

Many thanks James.  I'll confirm with master on Windows this Friday after I return from vacation.


proposal: database/sql: Return  zero time.Time for nil values instead of error

Currently when you retrieving null timestamps from database result is error: unsupported Scan, storing driver.Value type  into type *time.Time. This requires additional work for adding helper class NullTime with Scan() and Value() methods and then parsing them. But type time.Time has its own check for nil type: Time.IsZero(). It is need just add next code to src/database/sql/convert.go:301 to reduce extra work for users:
		case *time.Time:
			if d == nil {
				return errNilPtr
			}
			*d = time.Time{}
			return nil

CC @bradfitz @kardianos @kevinburke

That would break existing programs. V2 will allow something like that.


Adds quic ietf v1 test

Suricata PR to come

Replaced by https://github.com/OISF/suricata-verify/pull/775


dwm: add extraSessionCommands option

Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[X] 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

[X] Fits CONTRIBUTING.md.

@Kranzes I found that you were the most recent person who merged an actual change to the dwm module.
Would you mind having a look at this?


md-dropdown is not closed on one of its  items click

It worked before updating to 0.25.0

@priceinjector I think it works here: https://gist.run/?id=017db322d61ed4cbc236b7fede8a18ee
This is the "Basic use" example running on 0.25.0..
Can you tell me how to reproduce that?

I'm reproducing this in chrome. Maybe I did the update not correctly? When I do npm install materialize-css --save it brings the 0.98.1 version. Is it correct? if I set in package.json the version to be 0.98.0 it still brings the 0.98.1.
What steps should be done to update it correctly to version 0.25.0 ?
Thank you

Interesting, maybe 0.98.1 is the reason. The gist is still bundled with 0.98.0..
Here is what changed in 0.98.1 in Materialize dropdown: https://github.com/Dogfalo/materialize/commit/1d941102292f154fc2bd78eefb6fadf1f0649b2e
You might try to explicitly install 0.98.0 and see if it helps.
Did you try to set package.json to 0.98.0 without the ^ operator? Like this:
"materialize-css": "0.98.0",

That should install 0.98.0..

Thanks! that exactly what happened...It works now

I've created an issue here: https://github.com/Dogfalo/materialize/issues/4409
I will also reopen this issue to monitor it. 😃

This was fixed recently in https://github.com/Dogfalo/materialize/commit/42051a56d2a35bdd8fbdffab739ee64859b186d4

✨

Hi Thanood. Im facing exactly the same problem here. But I don't unterstand the relationship between dogfalo/materialize, materialize-css and the bridge.
I'm using materialize-css, not dogfalo, so should I wait for a fix in materialize-css?
This bug is still present in http://aurelia-ui-toolkits.github.io/demo-materialize/#/samples/dropdown-basic-use, which library is used by the demo?

I don't unterstand the relationship between dogfalo/materialize, materialize-css and the bridge

Dogfalo/materlialize and materialize-css are the same. The former is published on JSPM (vial GitHub) while the latter is published on NPM. It has a different name on NPM.
The bridge is a set of custom elements for Aurelia, using materialize (one of the above, regardless which). 😃

which library is used by the demo?

It is materialize-css.
I think we should wait for a fix since it's already merged but not yet published. Cannot take too long, I guess.

Dogfalo/materlialize and materialize-css are the same. The former is published on JSPM (via GitHub) while the latter is published on NPM. It has a different name on NPM.

The repository may be the same, but the JSPM repository differs from the NPM repository. The JSPM repository installes only the dist directory from "Dogfalo/materialize", which only contains the minified code. JSPM references it in package.json as "materialize"<EMAIL_ADDRESS>While npm:materialize-css is the real repository which contains all the sources of components and CSS. We are using this.
This was quite confusing, because I thought that JSPM:dogfalo/materialize and NPM:materialize-css are competing implementations. IMHO the documentation doesn't make this clear enough.

@mreiche
I think you have good suggestions for the documentation in general.
If you want to, you can influence the docs directly by issueing a PR in this repo: https://github.com/Thanood/materialize-bridge-docs
The repo is tied to the GitBook. So if I merge a PR there, it appears in the book.
Just an idea if you want to contribute to the docs. 😃
So, you're suggesting listing the pros and cons of each option so users know which Materialize repo to choose? I think this is a great idea! I agree.


language: grammatical (?) ambiguity between let declaration and let clause

What version of CUE are you using (cue version)?

$ cue version
cue version v0.0.0-20241024161207-80f4f236e293

go version go1.23.0
      -buildmode exe
       -compiler gc
  DefaultGODEBUG asynctimerchan=1,gotypesalias=0,httpservecontentkeepheaders=1,tls3des=1,tlskyber=0,x509keypairleaf=0,x509negativeserial=1
     CGO_ENABLED 1
          GOARCH arm64
            GOOS linux
         GOARM64 v8.0
             vcs git
    vcs.revision 80f4f236e29369a1f9fb4267644c8d29e7f97baa
        vcs.time 2024-10-24T16:12:07Z
    vcs.modified false
cue.lang.version v0.11.0

Does this issue reproduce with the latest release?
Yes
What did you do?
exec cue eval x.cue
-- x.cue --
working1: {
	let x = 5
	if 5 > 3
	let y = 5 {
		p: [x, y]
	}
}

broken2: [
	let x = 5
	if 5 > 3
	let y = 5 {
		p: [x, y]
	}
]

working2: [
	if 5 > 3
	let x = 5
	let y = 5 {
		p: [x, y]
	}
]

What did you expect to see?
Some consistency in the behaviour of the various examples.
What did you see instead?
broken2 (as its name suggests) does not work within a list comprehension.
> exec cue eval x.cue
[stderr]
missing ',' in list literal:
    ./x.cue:10:6
missing ',' in list literal:
    ./x.cue:23:3
[exit status 1]

The difference, as I understand it, is that in the case of working1, we actually have a let declaration, followed by a comprehension that includes a let clause. However let declarations cannot appear in a list, only a comprehension (or elements of the list). Hence broken2 fails, but is fixed by shifting the let declaration as it was in working1 to be a let clause as in working3.
It might be we can't do anything about this and instead we document the distinction and "fix".
But we should confirm here as much.

Per @mpvl and conversation offline, this is working as intended for now. Hence we will migrated this to a docs-and-content issue to explain the current behaviour.


"Defined Strings" view during Auto-Analysis slows down the process by magnitudes

Describe the bug
If the "Defined Strings" view is open (which is the default), the Auto-Analysis is slowed down by magnitutes (hours instead of minutes).
Most likely, this is caused by constant updates of the view which seem to block (or at least interfere) the Auto-Analysis.
Additionally, a swing timeout (default 20 sec) occurred which might be caused by this as well.
Closing the "Defined Strings" view during Auto-Analysis dramatically speed up auto-analysis.
A clear and concise description of the bug.

Close without save
Open the same binary for another time
Do a full Auto-Analysis but immediately close the "Defined Strings" view and measure the duration.

Expected behavior
Ideally, Ghidra would either improve concurrent performance (e.g. by using improved synchronisation/data structures) or at least Ghidra should not update the defined strings during Auto-Analysis with such a high frequency.
Environment (please complete the following information):

OS: Windows 10
Java Version: Oracle OpenJDK 11.0.2
Ghidra Version: 9.2.1
Ghidra Origin: official ghidra-sre.org distro

IIRC, this view is not open by default.  If you close your tool with the view open then it will be open when you later launch the tool.
We will examine how the table is updating to see if there are any obvious mistakes.    The Symbol Table can also severely affect performance if open during analysis.   We have made some changes to the Symbol Table recently to address this, but the bigger issues will always be present: repeated view updates for widgets that have many records will always slow down performance.  This is especially true in Ghidra right now due to the fact that these widgets and the analysis engine all contend for the same database lock while working.
Our recommendation is to close the Symbol Table (and others like the Defined Strings table) while running a full analysis.

I can see a path in the Defined Strings provider that could cause excessive table reloaded.    I will investigate this more.

"Our recommendation is to close the Symbol Table (and others like the Defined Strings table) while running a full analysis."
It might be preferable from a user's perspective to defer updates to these tables while an analysis task is running.  It may not be at all obvious that e.g. a background tab is slowing things down, so many users will be experiencing unnecessarily poor performance.  And if your recommendation is to close the tables anyway, then they're effectively not usable during analysis, so why not let them stay open but be grayed out until the analysis has finished?

And if your recommendation is to close the tables anyway, then they're effectively not usable during analysis, so why not let them stay open but be grayed out until the analysis has finished?

Theoretically possible, but this would limit users that decided they wanted to use the table during analysis, despite the slower performance.
Also, FYI, we just finished another round of changes for the Symbol Table that fix a handful of performance issues found when using the Symbol Table during analysis.    Considering these recent changes, and those made to the View Strings table, it is much more realistic to use these tables during analysis.   These changes will make it into the next major version of Ghidra.


Install spack and icontools

launch jenkins

@PanicSheep
Would you be willing to do a quick and dirty review? We discussed some of the changes last week.


How do publisher test the SaaS offering with custom landing page and webhooks ?

The SaaS accelerator is not providing any way for publishers to test custom setup with custom deployment, landing pages, and webhooks! This seems a bit strange to me!
How do a publisher test and verify the offer with sample or test x-ms-marketplace-token. I don't want to publish an offer and then test it out.
You should provide public endpoints with some sample subscription data and a REST API to generate test x-ms-marketplace-token so that the publishers can have their SaaS offering thoroughly tested.

An example is Stripe Payment API. I can issue webbooks with sample data to try and test out payment integration before publishing. It can be simple setup with predefined data at a minimal and endpoints to access the test data.

The SaaS Accelerator provides publishers a way to complete the Marketplace requirements.  In order to test the SaaS Accelerator, you need an account in Partner Center and fill in the technical configuration.  Once the offer is published use the Preview Audience and the Preview link to test the workflow as a customer before going live.


[Syosetu] Extract all web novel chapters listed in multiple pages

The previous version was only parsing pages from the first main page.
Some web novels can have many chapters listed in multiple pages, so they need to be listed on the app as well.
I could not find an API for listing all chapters from a single call.
This version will go to the last page to get the total number of chapters, then use the pattern of increasing the id number to iterate over all of them.
Therefore it is slightly slow for loading two pages. It is still better than loading every page.

you should increase plugin version to notify new update to app


Not always click as expected

Hi,
I'm new to both NodeJS (JavaScript) and Puppeteer. My job need automate some task, and bellow is my code. Sometime, it click, but sometime it fail to click. Can you help me fix it? Thanks
//for (var i = 1; i < lettersLength + 1; i++) {
for (var i = 2; i < 3; i++) {
letterSelector = '#browseLetters > li:nth-child(' + i + ') > a';
const letterElement = await page.$(letterSelector);
await letterElement.click();
await page.waitFor(2000);
//await page.click(letterSelector, {waitUntil: 'networkidle0'});
const groupsLength = await page.evaluate(() => {
let letters = document.querySelectorAll('#browseGroups > li');
return letters.length;
});
	for (var j = 1; j < groupsLength + 1; j++) {
	//for (var j = 20; j < 21; j++) {
		groupSelector = '#browseGroups > li:nth-child(' + j + ')'
		console.log(groupSelector);
		const groupElement = await page.$(groupSelector);
		await groupElement.click();
		await page.waitFor(2000);
		//page.click(groupSelector, {waitUntil: 'networkidle0'});
		const links = await page.evaluate(() => {
			links = [];
			let words = document.querySelectorAll('#browseResults > li > a');
			for (var word of words){
				console.log(word.getAttribute('href'));
				links.push(word.getAttribute('href'));
			}
			return links;
		})
		allLinks.push(...links);
	}

}

I have had trouble getting clicks to register on some pages if I don't set the delay option, e.g. element.click({delay:250})

Putting the delay option on click function does not resolve the problem. It only increases the success rate. Since the the webpage implement ajax to load data? Do you know any kind of solution to track the change of DOM element after click?

Do you just need to wait longer (or use a different method to wait until page is ready) -- or is this a page that is continually active?  Those can be tricky.  A complicated solution could involve triggering events with javascript (dispatchEvent), but it likely you're just clicking before it is ready.  Hard to tell without seeing the actual page you're dealing with...

Hey @mrlinhhandsomevn,
There might be different problems, e.g. there might be some element over your click target that prevents clicks to go through.
You can try submitting js-simulated clicks like this:
  // ...
  // Instead of letterElement.click()
  page.evaluate(e => e.click(), letterElement);

We won't be able to help unless you give us the actual page and the full script that doesn't work for you.
I'll speculatively close this. Feel free to re-file with a good repro if the suggested workaround doesn't help.

Sorry, I don't have a repro, I can't even confirm that was the problem we had.


Installation trigger for Python extension when Python language is detected in an untitled file

Current behavior: If a user opens a Python file (.py) or saves a file with a .py extension and does not have the Python extension installed, VS Code suggests installing the Python extension for Python support.

Proposed behavior:
It would be nice if we could have an installation trigger/prompt to install the Python extension before they save the file with the appropriate file extension. In this case, if the user creates a new untitled file --> begins typing Python code --> the language model detects this might be Python code -->  the user is prompted to install the Python extension.

In user studies, we have observed users struggle to find where to install the Python extension (or do not realize they need an extension for Python support) and do not select Python as the file language before they begin typing. At this point, the user would need to save the file and change the file extension to .py in order to be prompted to install the Python extension. We often see users get stuck here as they do not think to save the file or they forget to change the file extension when they do save the file.

/duplicate of #196640

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!

This scenario differs from #196640 in that the user has to click the lightbulb on the status bar in order to get the language mode to change (or have the setting to automatically switch the language mode to the detected language enabled).
The idea for this flow is that we could prompt the user if the model detects their code to be Python, without the user having to click on the small lightbulb in the bottom right-hand corner. We haven't observed users engaging with or noticing the status bar much which was the motivator for this scenario. This would cover the case in which a user does not explicitly select Python as their language but is typing Python code in their editor.


COLIBRI service documentation update

Documentation on the COLIBRI Path Type header.
Pending:

[x] Forwarding process
[x] MAC computation
[x] Path tail chopping and control plane delivery of several paths
[x] Include some examples somewhere of, e.g. forwarding

This change is

This PR excludes changes to the SCION header specification, which are handled in a separate PR #3887

COLIBRI will be merged initially to SCIONLab. Following that direction, we open this PR against a branch that will be merged to SCIONLab later, on https://github.com/juagargi/scion/pull/22

COLIBRI will be merged initially to SCIONLab. Following that direction, we open this PR against a branch that will be merged to SCIONLab later, on https://github.com/juagargi/scion/pull/22


Cannot get the contactId for the person who made the call when monitoring

When an agent is monitoring a call with silent monitor, the contact.getInitialContactId() returns null.
I would expect that field to return the contactId of the person who initiated the call.
Below is an example of some of the functions I checked. All the contactIds are the same, none of which are the same contactId as the person who made the call (the person being monitored).
    contact.contactId: "167ebdf7-c1f9-4244-94ad-9f6caf74fda2",
    contact.getContactId(): "167ebdf7-c1f9-4244-94ad-9f6caf74fda2",
    contact.getInitialContactId(): null,
    contact.getConnections(): [
        {
            "_speakerAuthenticator": {
                "contactId": "167ebdf7-c1f9-4244-94ad-9f6caf74fda2"
            },
            "contactId": "167ebdf7-c1f9-4244-94ad-9f6caf74fda2",
            "connectionId": "167ebdf7-c1f9-4244-94ad-9f6caf74fda2"
        }
    ],
    connection.getContactId(): "167ebdf7-c1f9-4244-94ad-9f6caf74fda2",
    ccontact.getAgentConnection().getContactId(): "167ebdf7-c1f9-4244-94ad-9f6caf74fda2"

How do I get the contactid of the original call from the agent who is monitoring the call?
I am on version 2.4.5 of the amazon-connect-streams library.

I suspect the call monitoring doesn't actually connect the monitoring CCP client to the external contact, since due to web RTC it would have to be accepted by them, which would require the external caller to have a CCP. It is probably more representational in the backend of Connect as a connection from the agent on call's CCP to the monitoring CCP, since that can be (is) configured to "auto-accept" the managers third party connection inside the CCP for the agent.
"Monitoring APIs are expected to be used against agent's(or supervisor's) connection..." --- from the docs. That's what I get out of it anyways.
What you could do, is to use something external- such that the contact ID is being sent from the agent's CCP to the monitor through another resource- In this case something like the DDB table that tracks them for Async chats.
agent connects - > customer
Mgr connects - > agent CCP to monitor
either: Agent CCP sends data to the mgr CCP via RTC somehow (complicated RTC nonsense)
OR: the backend that triggers the event and provides the connection to the mgr CCP retrieves the contact id during that time (might break your connect instance playing with it, make sure you have a test deployment)
OR: use some other service or event to send the information to a stream that the manager's CCP is able to pull the data from. Dynamo DB might work well here, again, changes are there's already something like that when the calls are established that has the data you need, there just doesn't seem to be an obvious method within the basic API to get that data.
Or I'm completely wrong and it's something silly we're both missing.

Check out the thirdPartyConnections see if you get something else back, maybe looking at the proto of the contact/connections will help?
Contact.prototype.getConnections = function () {
var self = this;
return this._getData().connections.map(function (connData) {
if (self.getType() === connect.ContactType.CHAT) {
return new connect.ChatConnection(self.contactId, connData.connectionId);
} else if (self.getType() === connect.ContactType.TASK) {
return new connect.TaskConnection(self.contactId, connData.connectionId);
} else {
return new connect.VoiceConnection(self.contactId, connData.connectionId);
}
});
};
Contact.prototype.getInitialConnection = function () {
return connect.find(this.getConnections(), function (conn) {
return conn.isInitialConnection();
}) || null;
};
Contact.prototype.getActiveInitialConnection = function () {
var initialConn = this.getInitialConnection();
if (initialConn != null && initialConn.isActive()) {
return initialConn;
} else {
return null;
}
};
Contact.prototype.getThirdPartyConnections = function () {
return this.getConnections().filter(function (conn) {
return !conn.isInitialConnection() && conn.getType() !== connect.ConnectionType.AGENT;
});
};
Contact.prototype.getSingleActiveThirdPartyConnection = function () {
return this.getThirdPartyConnections().filter(function (conn) {
return conn.isActive();
})[0] || null;
};
Contact.prototype.getAgentConnection = function () {
return connect.find(this.getConnections(), function (conn) {
var connType = conn.getType();
return connType === connect.ConnectionType.AGENT || connType === connect.ConnectionType.MONITORING;
});
};

@Kkao We have been facing the same issue. There is this issue (closed already). But ... with the result such as "this is not a bug, it is a feature" :)
https://github.com/amazon-connect/amazon-connect-streams/issues/293

I've just tried it with my instance, and
let agent = new connect.Agent();
let contact = agent.getContacts()[0];
contact.getInitialContactId();

returns me the correct contact id, matching the one I can see on agent1 side.
Are you using enhanced monitoring?