Setup-Kanban-Board

GitHub project link: https://github.com/bhushan354/Ruby-Group-Capstone/projects/1
Overall, 3 people in a team:
Team member #1 https://github.com/bhushan354
Team member #2 https://github.com/Ochiengsteven
Team member #3 https://github.com/sagieramos
Thank you .

Hi @TEAM,
Good job so far!
There are some issues that you still need to work on to go to the next project but you are almost there!

Highlights

TEAM work✔
Correct GitFlow ✔
Good implementations ✔

Required Changes ♻

[REQUIRED] Good job so far! Please delete these unnecessary crads from your Knaban plan 🙏🏼

#3
#2
#1

[REQUIRED] Good job so far! Please add a description of the task to some of the tasks because the tasks haven't description 🙏🏼

#5
#6
#8
#10
#11
#12
#13
#22
#20
#24
#25
#26
#27

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you take them into account as they can make your code better.
Cheers, and Happy coding!👏👏👏
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.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

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.

Hi @bhushan354 @sagieramos @Ochiengsteven        👍
Your project is complete! There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Highlights

[x] Good project organization ✔
[x] Nice use of Kanban  features  ✔
[x] Kudus on meeting the requirements as pointed the last time out   👏

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
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.


[Identity] Update AKS testing instructions

The instructions were updated to use Helm 3 instead of Helm 2 which has long been deprecated. The aad-pod-identity charts were also updated to the latest available.
I was able to get the tests to pass in the AKS pod using these instructions.

API change check
API changes are not detected in this pull request.


WIP: Big refactor

this will be huge! This will drastically simplify development , should improve performance and should even reduce the bundle size. At some point we even be able to remove redux

[x] rework new hooks and add new ones
[x] remove native plugin (will be readded in a future directly on plugins)
[x] refactor Content to use hooks
[x] refactor Layout to use hooks
--> unify Content & Layout
[x] refactor Rows to use hooks
[x] refactor plugins (remove useless plugin wrapper class)
[ ] rename create-plugin-materialui  and unify with existing plugins
[ ] document new hooks (for developers)

ill continue in smaller PRs now on beta

:tada: This PR is included in version 1.0.0-beta.1 :tada:
The release is available on:

v1.0.0-beta.1
GitHub release

Your semantic-release bot :package::rocket:


Add get blocks in range [ECR-3255]

Overview

:warning: See: https://jira.bf.local/browse/ECR-3255
Definition of Done

[x] There are no TODOs left in the code
[x] Change is covered by automated tests
[x] The coding guidelines are followed
[x] Public API has Javadoc
[x] Method preconditions are checked and documented in the Javadoc of the method
[x] Changelog is updated if needed (in case of notable or breaking changes)
[x] The continuous integration build passes

Coverage increased (+0.1%) to 85.546% when pulling 324ff004792099a068c85971351f0a8b3774e41a on dmitry-timofeev:get-blocks-in-range into af84c17eec946acda51d79e37ffbaf6a0e0e9133 on exonum:master.

@bullet-tooth @MakarovS is the new name better (d882f95), what do you think?

It's good. What do you think about renaming the method to getLastBlocksRange? Then size naming would work better and the difference between this method and findNonEmptyBlocks is clear. But the current one is good as well.

@dmitry-timofeev it's awesome :)

I like getLastBlocksRange, but isn't it too long? @bullet-tooth WDYT? I've also updated the Javadoc of getLastBlocks.

OK, I think we can settle for getLastBlocks, and reconsider its name/spec later if they cause confusion.


Add Ping route to AI service

Add a new route /ping which will be used by aiops-data-collector to check for the availability of the AI service, as part of the liveness/readiness health check for aiops-data-collector
(these changes would have to be cherry-picked in the other AI services as well)

Closing since repo is retired :wine_glass:


Icons, cultures, religions, province fixes, wars

the whole shebang.

Codacy thinks imagemagick.read() is file.read(). Ignore.


bumped to latest debian buster, azure cli 2.12.1 and terraforn 0.13.4

Hello @ducksecops ! Thanks a lot for your PR and interest in this project 👌
Looking good, will merge it and tag it as hacktoberfest-accepted !


feat: adding publish-on-change to pubsub

Motivation

Watch changes on the publish file to trigger republish. This is behind a flag defaulting to false so no additional resources are consumed by default.
Issue number: #324

Modifications
Change summary
Largely a "copy / paste" of the Shadow update behavior, except targeting MQTT publish file republishing.
Revision diff summary
If there is more than one revision, please explain what has been changed since the last revision.
Testing
Is your change tested? If not, please justify the reason.
Please list your testing steps and test results.

I installed the device client on in a ubuntu multipass VM and updated the configured publish file in runtime. I subscribed to the topic in AWS IoT console. I noted that every time the file was updated, it sent a new message.
CI test run result: See github workflows

Compiled on my computer and builds on the target pi zero w device.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

merged to mainline, resolving


Problems with the latest SkiaSharp.Views Nugets

Hi @mattleibow , I'm really excited to try the new views stuff. Unfortunately when I try to load up the FormsSample on windows with my iOS device connected it fails to restore the iOS portions of the nuget properly. There exists no MonoTouch10 or Xamarin.iOS10 lib folders like there are for Xamarin.Forms.<IP_ADDRESS>. Perhaps your Nuspec has a problem?
Here's a screenshot of the package contents:

Where's Xamarin.Forms looks like this:

I noticed that in the Xamarin.Forms nuspec it references:
 and  <file ... target="lib\Xamarin.iOS10" />
Where as SkiaView references:
<file .... target="lib/XamariniOS" />

Thanks for reporting the issue. I am closing this as we have "resolved" it. The problem was the fact that when building the code from the repo, the NuGets are installed from the output directory. This installation results in the build being cached in the NuGet cache.
To resolve, delete these folders:
C:\Users\<username>\.nuget\packages\SkiaSharp\
C:\Users\<username>\.nuget\packages\SkiaSharp.Views\
C:\Users\<username>\.nuget\packages\SkiaSharp.Views.Forms\

This will force a download from nuget.org

That worked. Thanks @mattleibow !


[Feature Request] Dir Argument

It saves to user_home/novels by default.
It would be nice if you can add a DIR argument to NovelSave class

Added in commit 505a618d3412b0253b973028a7d7d4861c050fb3


Not an issue: can you explain how I can contribute by adding the help text for all properties?

@RomanKubiak
Can you explain me how I can contribute by adding the help text for all properties?
We have nice links but they don't show anything. There are still properties I don't know what they are used for.
For the ones I'm using I would gladly support you by writing the help texts.
I think that the help text popup / window should show 3 things:

property name and definition
examples of usage
example(s) of Lua syntax

What do you think?
I have VS2019 but now also 2010. If you indicate which file to adapt, I can do it then send it to you.
Maybe that you embedded the explanations within each .h or .cpp file?
There is also the github Pull requests but I don't know how this is working. No problem to use that instead if you explain me how.
Once I will have done one or two explanation texts and that the result is satisfactory then I can do the other ones gradually.

All properties are described in a XML file https://github.com/RomanKubiak/ctrlr/blob/master/Source/Resources/XML/CtrlrIDs.xml
if you think there is something missing ore something could use better language, just edit that file. If you wan to add additional fields that should be displayed in some other manner just add another XML property like description="" or url="" or whatever. Then a PR would be the best thing to do here, but if you are not familiar with all that github stuff, just send the file to me or attach it here

All properties are described in a XML file https://github.com/RomanKubiak/ctrlr/blob/master/Source/Resources/XML/CtrlrIDs.xml
if you think there is something missing ore something could use better language, just edit that file. If you wan to add additional fields that should be displayed in some other manner just add another XML property like description="" or url="" or whatever. Then a PR would be the best thing to do here, but if you are not familiar with all that github stuff, just send the file to me or attach it here

Excellent. I'll do that and then you could do a screenshot so I can see how it displays.
In 5.3.201, nothing is displayed when you click on the property name so I have no idea how it will look like and the eventual display restrictions.

Excellent. I'll do that and then you could do a screenshot so I can see how it displays.
In 5.3.201, nothing is displayed when you click on the property name so I have no idea how it will look like and the eventual display restrictions.

FYI, I forked Ctrlr in my VS2019 and created a new branch "goodweather_branch" (don't know what the best name can be... at least you can see it's from me).
I found the file so I can edit it.
Once edited, I read I can do a pull request.
Q: in which version can I see this help text working so I have an idea how it looks?
Q: is there a way to get it working on my PC for testing? I guess I must build it in my VS2019 and you said it was not ready for the moment (only on Linux), right? I'll try 551 on Linux to check this.
Can you provide me some screenshot of this help screen?

FYI, I forked Ctrlr in my VS2019 and created a new branch "goodweather_branch" (don't know what the best name can be... at least you can see it's from me).
I found the file so I can edit it.
Once edited, I read I can do a pull request.
Q: in which version can I see this help text working so I have an idea how it looks?
Q: is there a way to get it working on my PC for testing? I guess I must build it in my VS2019 and you said it was not ready for the moment (only on Linux), right? I'll try 551 on Linux to check this.
Can you provide me some screenshot of this help screen?

i'm using VS2017 community. But first you need to compile Projucer so that the XML gets converted to a source code file, Projucer is in ctrlr/JUCE/extras/Projucer you need to the open ctrlr/Ctrlr.jucer and re-save the projcet it will re-generate all needed files and you can rebuild ctrlr. I know it's a bit complicated but it lets me keep all resource files in the binary instead of some external files

i'm using VS2017 community. But first you need to compile Projucer so that the XML gets converted to a source code file, Projucer is in ctrlr/JUCE/extras/Projucer you need to the open ctrlr/Ctrlr.jucer and re-save the projcet it will re-generate all needed files and you can rebuild ctrlr. I know it's a bit complicated but it lets me keep all resource files in the binary instead of some external files

hi @dobo365 (Mr Goodweather).
Hopefully not so tangential but if you dont have a Linux box perhaps you have a decent Mac/Windows box where you could run VirtualBox/vmWare and create a Linux?
Alternatively I am doing my dev on a Raspberry Pi4 8Gb. £100 for dev env ... well pleased with it especially as I want to use it with Ctrlr and a 21.5" Touchscreen.
If you decide to go down the Pi route and want any help please ping me or check out some YT's I've made on building Ctrlr from source on Pi4.
I also made new video on Dexed - this is important because for that I had to build Projucer on Pi4 .. and NOW I can generate proper Pi4 makefiles for Ctrlr ... none of this hacking makefiles :-)
Best regards
Steve (shooking)

hi @dobo365 (Mr Goodweather).
Hopefully not so tangential but if you dont have a Linux box perhaps you have a decent Mac/Windows box where you could run VirtualBox/vmWare and create a Linux?
Alternatively I am doing my dev on a Raspberry Pi4 8Gb. £100 for dev env ... well pleased with it especially as I want to use it with Ctrlr and a 21.5" Touchscreen.
If you decide to go down the Pi route and want any help please ping me or check out some YT's I've made on building Ctrlr from source on Pi4.
I also made new video on Dexed - this is important because for that I had to build Projucer on Pi4 .. and NOW I can generate proper Pi4 makefiles for Ctrlr ... none of this hacking makefiles :-)
Best regards
Steve (shooking)

i'm using VS2017 community. But first you need to compile Projucer so that the XML gets converted to a source code file, Projucer is in ctrlr/JUCE/extras/Projucer you need to the open ctrlr/Ctrlr.jucer and re-save the projcet it will re-generate all needed files and you can rebuild ctrlr. I know it's a bit complicated but it lets me keep all resource files in the binary instead of some external files

Hi @RomanKubiak  - I only recently got Projucer working - built it on Pi and now I can finally see Ctrlr is a JUCE app - not sure why I just didnt get this.
1 - if I open it I can generate a new build for Raspberry Pi - works.
2 - however, when I tried this on Linux I build Projucer, ran it ... was forced to create an account on JUCE.
Then Projucer complained that the PATH was incorrect ... now I can see how to "fix" this - and yet I cannot see how to fix it.
What I mean is say I wanted to checkin a PI build, right now my path would be /home/pi/Software/ctrlr .. but well that wouldnt be correct for the next person who used it (except possibly on a Pi).
How to make variable relocatable? (hope it makes sense what I am saying - one can just not set it - and maybe that's the solution??)

i'm using VS2017 community. But first you need to compile Projucer so that the XML gets converted to a source code file, Projucer is in ctrlr/JUCE/extras/Projucer you need to the open ctrlr/Ctrlr.jucer and re-save the projcet it will re-generate all needed files and you can rebuild ctrlr. I know it's a bit complicated but it lets me keep all resource files in the binary instead of some external files

Hi @RomanKubiak  - I only recently got Projucer working - built it on Pi and now I can finally see Ctrlr is a JUCE app - not sure why I just didnt get this.
1 - if I open it I can generate a new build for Raspberry Pi - works.
2 - however, when I tried this on Linux I build Projucer, ran it ... was forced to create an account on JUCE.
Then Projucer complained that the PATH was incorrect ... now I can see how to "fix" this - and yet I cannot see how to fix it.
What I mean is say I wanted to checkin a PI build, right now my path would be /home/pi/Software/ctrlr .. but well that wouldnt be correct for the next person who used it (except possibly on a Pi).
How to make variable relocatable? (hope it makes sense what I am saying - one can just not set it - and maybe that's the solution??)

You can run projucer on you normal machine. It does not need to run on the target machine. Try to use relative paths not absolute paths, like ../../Source/etc no /home/me/pi this will be better

You can run projucer on you normal machine. It does not need to run on the target machine. Try to use relative paths not absolute paths, like ../../Source/etc no /home/me/pi this will be better

Awesome. Will do.
On Thu, 7 Jan 2021, 10:32 Roman Kubiak<EMAIL_ADDRESS>wrote:

You can run projucer on you normal machine. It does not need to run on the
target machine. Try to use relative paths not absolute paths, like
../../Source/etc no /home/me/pi this will be better
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/RomanKubiak/ctrlr/issues/108#issuecomment-756031586,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFO7EV3E5HO635PVC7KJIWLSYWEUTANCNFSM4VRBMSNA
.

Awesome. Will do.
On Thu, 7 Jan 2021, 10:32 Roman Kubiak<EMAIL_ADDRESS>wrote:

You can run projucer on you normal machine. It does not need to run on the
target machine. Try to use relative paths not absolute paths, like
../../Source/etc no /home/me/pi this will be better
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/RomanKubiak/ctrlr/issues/108#issuecomment-756031586,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFO7EV3E5HO635PVC7KJIWLSYWEUTANCNFSM4VRBMSNA
.

i'm using VS2017 community. But first you need to compile Projucer so that the XML gets converted to a source code file, Projucer is in ctrlr/JUCE/extras/Projucer you need to the open ctrlr/Ctrlr.jucer and re-save the projcet it will re-generate all needed files and you can rebuild ctrlr. I know it's a bit complicated but it lets me keep all resource files in the binary instead of some external files

@RomanKubiak I have now recreated a VS2019 solution based on your current Github repository with 5.5.9
I opened VS2019 ctrlr.sln but then didn't see the JUCE folder in the solution tree.
Closed that then when navigating to the folder where the ep has been copied I saw the structure as in Github and the Juce folder.
Cannot work with ctrlr.jucer file in VS. Do I need to open it in Projucer so that it replaces the files within my copied folder structure in my PC?
Then after that, open VS2019/ctrlr.sln ?
Thx

i'm using VS2017 community. But first you need to compile Projucer so that the XML gets converted to a source code file, Projucer is in ctrlr/JUCE/extras/Projucer you need to the open ctrlr/Ctrlr.jucer and re-save the projcet it will re-generate all needed files and you can rebuild ctrlr. I know it's a bit complicated but it lets me keep all resource files in the binary instead of some external files

@RomanKubiak I have now recreated a VS2019 solution based on your current Github repository with 5.5.9
I opened VS2019 ctrlr.sln but then didn't see the JUCE folder in the solution tree.
Closed that then when navigating to the folder where the ep has been copied I saw the structure as in Github and the Juce folder.
Cannot work with ctrlr.jucer file in VS. Do I need to open it in Projucer so that it replaces the files within my copied folder structure in my PC?
Then after that, open VS2019/ctrlr.sln ?
Thx

Well JUCE is part of cttrlr but if you re-save in projucer on your computer i think it needs the path to JUCE as an absolute path, this is a setting of Projucer (file->global paths i think) i always shipped with my paths embedded in there (i use ~/devel/ctrlr on osx/linux abd c:\devel\ctrlr on windows)

Well JUCE is part of cttrlr but if you re-save in projucer on your computer i think it needs the path to JUCE as an absolute path, this is a setting of Projucer (file->global paths i think) i always shipped with my paths embedded in there (i use ~/devel/ctrlr on osx/linux abd c:\devel\ctrlr on windows)


Add Pavlov VR template

Adding Pavlov VR dedicated server template.
Notes:

Only Linux binaries are available for the dedicated server.
The template relies on latest Nightly/CI builds after <IP_ADDRESS> for some functionality.
The dependencies listed here need to be installed on the host.
Port ranges 8177:8277 and 9100:9200 need to be added to AMP's default application port ranges for proper port allocation.
The dedicated server does not have a writeable console.
It does have RCON (telnet protocol), which the template configures.

Related issue: https://github.com/CubeCoders/AMP/issues/552

Related issue: https://github.com/CubeCoders/AMP/issues/562

So does this no longer need relative port  mapping? What's the situation here?

Yes, this game requires the base port and one 400 higher still. I only pushed it to complete because that's the same behavior as Arma 3 which does not currently assign relative ports either and is already implemented (I believe).

Okay so the issue is that even though you could set Port 1 to X and port 2 to X+400, you need AMP to be able to guarantee that relationship during deployments?

That's right. For whatever reason they hard coded that the corresponding ports would be 400 apart. So 27000 works with 27400, 27001 works with 27401. Not sure the reasoning behind it, but it won't let you configure the second port separately.

Gotcha - so this can be merged in for now but needs AMP to have that ability to make it more reliable.

Right, Greelan and I might have to play support a little extra until it's able to do that.

Given the second Pavlov port is not used by many if any other servers, practically it probably won't be an issue for this server. More likely an issue for Arma, DayZ, Unturned etc
At the very least though when new servers are added to AMP with non standard port ranges, can AMP automatically add a suitable port range to new instance defaults? Or get rid of the concept of application port ranges entirely...
This is gonna be more likely the issue for Pavlov with AMP - AMP will add a much higher second port because it doesn't have 8177 in the default range


Traefik crash during/after swarm manager unavailbility

Do you want to request a feature or report a bug?
Bug
Did you try using a 1.7.x configuration for the version 2.0?

[ ] Yes
[x] No

What did you do?
Patch the Docker UCP Manager
What did you expect to see?
Working traefik
What did you see instead?
Crashed / Hanging Traefik, needed redeployment before working again.
Output of traefik version: (What version of Traefik are you using?)
v1.7-alpine

What is your environment & configuration (arguments, toml, provider, platform, ...)?
defaultEntryPoints = ["http"]

#############
#debug = true
#############

[docker]
watch = true
swarmMode = true
exposedbydefault = false
network = "public"

[docker.tls]
ca = "/run/secrets/ucp/ca.pem"
cert = "/run/secrets/ucp/cert.pem"
key = "/run/secrets/ucp/key.pem"
insecureSkipVerify = true

[entryPoints]
  [entryPoints.http]
    address = ":80"

  [entryPoints.api]
    address = ":8080"
    [entryPoints.api.auth]
      [entryPoints.api.auth.basic]
        users = [
          "admin:*snip*"
        ]

  [entryPoints.metrics]
    address = ":8081"

  [entryPoints.ping]
    address = ":8082"

[api]
entrypoint = "api"

[metrics]
  [metrics.prometheus]
    entryPoint = "metrics"

[ping]
entrypoint = "ping"

[accessLog]
format = "json"

The Docker UCP Manage endpoint gets passed with the traefik startup.
--docker.endpoint=tcp://<ucp-manager-dns-alias>:8443
If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
Debug logging wasn't enabled at the time.
Some more backstory:
We are running Traefik against Docker EE (UCP), via port 8443. Sometimes we have to patch, and the manager goes down for some time (usually less than 30 seconds). Traefik is usually fine with this, and just spews some errors that it lost it's connection to the docker engine, but keeps routing traffic, which is correct, because we patch the UCP Manager seperate from the UCP Workers, so containers are all online.
This morning, during patching in our testing environment, Traefik crashed during the restart of the manager.
This might not be a bug report, but I'm trying to find out how to mitigate this.
To understand this, I'm looking at the source code, and I'm trying to find the way Traefik handles unavailability of internal providers. Specifically these lines:
https://github.com/containous/traefik/blob/15b5433f1a095167134bf746f9c581d4a93eabf3/pkg/provider/docker/docker.go#L149
https://github.com/containous/traefik/blob/15b5433f1a095167134bf746f9c581d4a93eabf3/pkg/provider/docker/docker.go#L197
What happens when during this refresh interval, the provider is not responding?
We have not touched the default refresh interval, and we don't intend to (we are perfectly find with the default). We would just like to be able to set the timeout of the connection, which could be several minutes worst case (full manager reboot).

Hey @FireDrunk, thanks fo opening this issue.
Could you provide the logs of the crash (even if they are not on debug) ?
Do you know if it was it a panic ? Or something else ?
Also what is the version of UCP you're using Traefik with ?

What happens when during this refresh interval, the provider is not responding?

If the UCP raises an error when listing services, it will be shown in the logs and Traefik will retry after a short delay see here.

Unfortunatly we don't have any logging of the event. I can't figure out why, but we only have access logging, and traefik didn't log anything else weirdly enough.
For now, maybe we should flag this as a one-of, and hope it doesn't happen again.

Hi! I'm Træfiker :robot: the bot in charge of tidying up the issues.
I have to close this one because of its lack of activity :disappointed:
Feel free to re-open it or join our Community Forum.


Fix/travis build

This fixes travis building PR, by reverting to the previous situation. Sorry for the inconvenience.

@andreaturli , it it possible to make it work?. Although not working this time, it's still a good idea.

@rosogon not easy, it works only for PR coming from the SeacloudsPlatform branches but the idea was to deploy PR before merging them. Feel free to pick it up and improve it, if you like.

@rosogon See https://github.com/SeaCloudsEU/SeaCloudsPlatform/pull/156: I've changed slightly the approach to have the same automatic deployment intended before.


[PySpark] fix raw_prediction_col parameter and minor cleanup

This PR is to fix raw_prediction_col parameter instead of raw_prediction_ol and clean up some comments

@trivialfis Could you help to check the env issue?
tests/python/test_with_modin.py::TestModin::test_modin 2022-07-13 08:17:52,808	WARNING services.py:2013 -- WARNING: The object store is using /tmp instead of /dev/shm because /dev/shm has only 67108864 bytes available. This will harm performance! You may be able to free up space by deleting files in /dev/shm. If you are inside a Docker container, you can increase /dev/shm size by passing '--shm-size=9.69gb' to 'docker run' (or add it to the run_options list in a Ray cluster config). Make sure to set this to more than 30% of available RAM.
[2022-07-13T08:17:55.032Z] 2022-07-13 08:17:54,528	ERROR worker.py:95 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): ray::apply_func() (pid=129116, ip=<IP_ADDRESS>)
[2022-07-13T08:17:55.032Z]   At least one of the input arguments for this task could not be computed:
[2022-07-13T08:17:55.032Z] ray.exceptions.RaySystemError: System error: cannot import name 'DataFrame' from 'pandas.core.frame' (/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/frame.py)
[2022-07-13T08:17:55.032Z] traceback: Traceback (most recent call last):
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/ray/serialization.py", line 340, in deserialize_objects
[2022-07-13T08:17:55.032Z]     obj = self._deserialize_object(data, metadata, object_ref)
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/ray/serialization.py", line 237, in _deserialize_object
[2022-07-13T08:17:55.032Z]     return self._deserialize_msgpack_data(data, metadata_fields)
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/ray/serialization.py", line 192, in _deserialize_msgpack_data
[2022-07-13T08:17:55.032Z]     python_objects = self._deserialize_pickle5_data(pickle5_data)
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/ray/serialization.py", line 180, in _deserialize_pickle5_data
[2022-07-13T08:17:55.032Z]     obj = pickle.loads(in_band, buffers=buffers)
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/frame.py", line 129, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/generic.py", line 108, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/indexing.py", line 46, in <module>
[2022-07-13T08:17:55.032Z]     import pandas.core.common as com
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/__init__.py", line 50, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core.api import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/api.py", line 48, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core.groupby import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/groupby/__init__.py", line 1, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core.groupby.generic import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/groupby/generic.py", line 73, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core.frame import DataFrame
[2022-07-13T08:17:55.032Z] ImportError: cannot import name 'DataFrame' from 'pandas.core.frame' (/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/frame.py)
[2022-07-13T08:17:55.032Z] 2022-07-13 08:17:54,537	ERROR worker.py:95 -- Unhandled error (suppress with 'RAY_IGNORE_UNHANDLED_ERRORS=1'): ray::apply_func() (pid=129116, ip=<IP_ADDRESS>)
[2022-07-13T08:17:55.032Z]   At least one of the input arguments for this task could not be computed:
[2022-07-13T08:17:55.032Z] ray.exceptions.RaySystemError: System error: cannot import name 'DataFrame' from 'pandas.core.frame' (/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/frame.py)
[2022-07-13T08:17:55.032Z] traceback: Traceback (most recent call last):
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/ray/serialization.py", line 340, in deserialize_objects
[2022-07-13T08:17:55.032Z]     obj = self._deserialize_object(data, metadata, object_ref)
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/ray/serialization.py", line 237, in _deserialize_object
[2022-07-13T08:17:55.032Z]     return self._deserialize_msgpack_data(data, metadata_fields)
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/ray/serialization.py", line 192, in _deserialize_msgpack_data
[2022-07-13T08:17:55.032Z]     python_objects = self._deserialize_pickle5_data(pickle5_data)
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/ray/serialization.py", line 180, in _deserialize_pickle5_data
[2022-07-13T08:17:55.032Z]     obj = pickle.loads(in_band, buffers=buffers)
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/frame.py", line 129, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/generic.py", line 108, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/indexing.py", line 46, in <module>
[2022-07-13T08:17:55.032Z]     import pandas.core.common as com
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/__init__.py", line 50, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core.api import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/api.py", line 48, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core.groupby import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/groupby/__init__.py", line 1, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core.groupby.generic import (
[2022-07-13T08:17:55.032Z]   File "/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/groupby/generic.py", line 73, in <module>
[2022-07-13T08:17:55.032Z]     from pandas.core.frame import DataFrame
[2022-07-13T08:17:55.032Z] ImportError: cannot import name 'DataFrame' from 'pandas.core.frame' (/opt/python/envs/cpu_test/lib/python3.7/site-packages/pandas/core/frame.py)

@WeichenXu123 Could you help to review?

You have different Python environments in your executors and driver.

@WeichenXu123 @trivialfis could you help to review it?


bpf programs can be created with non-uuid4 IDs

$ ./target/debug/bpfctl load-from-image --id notauuid --image-url quay.io/bpfd-bytecode/xdp_pass:latest xdp  --iface enp8s0 --priority 50

notauuid

This is because 624b991 replaced the HashMap<UUID, Program> with a HashMap<String, Program> which prevented us doing validation on the String that was given to bpfd over the gRPC API.

Finished in #446


Nits on SNI-DNAT: fixing helm, etc.

Signed-off-by: Shriram Rajagopalan<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rshriram
If they are not already assigned, you can assign the PR to them by writing /assign @rshriram in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS
pilot/pkg/networking/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@rshriram: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-integ-local-tests

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

@rshriram: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-integ-k8s-tests

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

@rshriram: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-integ-k8s-tests

prow/istio-unit-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-unit-tests

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

@rshriram: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-integ-k8s-tests

prow/istio-unit-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-unit-tests

prow/istio-presubmit.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-presubmit

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

@rshriram: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-integ-k8s-tests

prow/istio-unit-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-unit-tests

prow/istio-presubmit.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-presubmit

prow/istio-integ-local-tests.sh
4be2087bd8a00a802fe4f098fd451358b0412b6e
link
/test istio-integ-local-tests

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

@rshriram: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-unit-tests

prow/istio-presubmit.sh
414b2378914a1a72f1571ce137605ecaef269d93
link
/test istio-presubmit

prow/istio-integ-local-tests.sh
4be2087bd8a00a802fe4f098fd451358b0412b6e
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
4be2087bd8a00a802fe4f098fd451358b0412b6e
link
/test istio-integ-k8s-tests

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

we need this to unblock release-1.1, so:
/lgtm

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: douglas-reid
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rshriram
If they are not already assigned, you can assign the PR to them by writing /assign @rshriram in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS
pilot/pkg/networking/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@rshriram: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
4be2087bd8a00a802fe4f098fd451358b0412b6e
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
4be2087bd8a00a802fe4f098fd451358b0412b6e
link
/test istio-integ-k8s-tests

prow/e2e-mixer-no_auth-mcp.sh
4be2087bd8a00a802fe4f098fd451358b0412b6e
link
/test e2e-mixer-no_auth-mcp

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


Fix: Use IE11 friendly syntax

Decsription
We are using this library in our client facing application which needs to be IE11 compatible - due to current usage of arrow function - this library is breaking on IE11 - please consider the following changes to support this older browser.
Thank you!
Dependencies
Because this library depends on https://github.com/sindresorhus/decamelize i've also made PR https://github.com/sindresorhus/decamelize/pull/19 over there with necessary adjustments to make it work in IE11.

This module mainly targets Node.js, not the browser. It's up to you to transpile it with Babel if you want to use it in the browser. You can find a more detailed explanation here: https://github.com/sindresorhus/ama/issues/446
If you use Webpack, check out babel-engine-plugin, which transpiles only the dependencies that needs to be transpiled.
If you use Create React App, upgrade to Create React App v2. It supports automatic transpilation of dependencies, which will make this package just work.


Fix typo

"登陆" is typo, which means disembark.
the correct one in chinese is “登录”.

Codecov Report

Merging #9382 into master will decrease coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #9382      +/-   ##
=========================================
- Coverage    41.5%   41.5%   -0.01%
=========================================
  Files         569     569
  Lines       74305   74305
=========================================
- Hits        30841   30837       -4
- Misses      39623   39631       +8
+ Partials     3841    3837       -4

Impacted Files
Coverage Δ

modules/indexer/code/indexer.go
44.73% <0%> (-10.53%)
:arrow_down:

services/pull/check.go
48.59% <0%> (-4.93%)
:arrow_down:

modules/task/migrate.go
25% <0%> (-3.95%)
:arrow_down:

modules/process/manager.go
74.69% <0%> (-3.62%)
:arrow_down:

models/error.go
32.08% <0%> (-1.12%)
:arrow_down:

models/repo.go
48.1% <0%> (-0.11%)
:arrow_down:

models/gpg_key.go
55.59% <0%> (+0.55%)
:arrow_up:

modules/migrations/gitea.go
9.66% <0%> (+0.63%)
:arrow_up:

routers/repo/view.go
39.47% <0%> (+0.87%)
:arrow_up:

modules/migrations/migrate.go
25.78% <0%> (+1.57%)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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


Documentation headings are rendered incorrectly

Description
For every .md file you add to the documentation, the first heading (regardless of it being #, ## or ###) is rendered as plain text.
Steps to reproduce

Start structurizr example
Goto documentation
See the generated documentation
structurizr-issue.zip

Screenshot

Code sample
No response
Configuration
No response
Severity
Minor
Priority
I have no budget and there's no rush, please fix this for free
More information
No response

The .md files were saved as UTF-8 with BOM, rather than just plain UTF-8, and the leading control character was throwing off the conversion to Markdown. Lite v3232 should resolve this.

Check, it works!


Using cache for services

Wow, quick work. Couple of questions/comments...

We don't want to merge this until it's been load tested, so hold off on that
I think we might still need something in the cache class to handle a "don't cache this" case, or am I missing something?
Do we want the library to have different default cache lifetimes for different methods, i'm honestly not sure, maybe Ben has an opinion.

I don't hang about....

Putting it live would load test it.
2.I haven't added that. This change is large enough and I felt it was a different piece of work.
@BPScott ?

I think what @BjornTwachtmann is after is a branch of Clifton that uses this, that we then loadtest on INT using the NullAdapter (i.e. PROGRAMMES-5529) and then if we're feeling particularly clever, the RedisAdapter. He's rather fastidious when it comes to perf regressions and hey we've got the tools to enable that streak so why not :D
What sort of thing are ya referring to? If we don't need it for this change I agree with @votemike, this PR is meaty enough already. It's nice to split "bulk changes, brainlessly scroll through" and "this is something we should think about" changes into separate PRs.
I reckon give everything a the standard 300 seconds to start with, then we can tweak the per-method defaults as required in new pr(s). Otherwise it'll be tough to see what deviates from the norm as part of this PR.

Bikeshedding! I really like the callback approach but there are few ways of writing it that all do the same thing but are formatted slightly differently. It'd be good to agree on a single formatting and apply it to all.
Big Q: Should we pass in an argument list or use use? Currently we pass in a final array of arguments, that are then passed to the function. Alternatively we could use use to make the function a closure and avoid this additional argument. Personally I like the closure idea, it saves an additional boilerplate list of arguments, and making this bunch of boilerplate less boilerplatey is good. It's kinda annoying with 2 items but in many cases we've got at least 3 args (when we have a $limit and $page for pagination).
Pure function:
public function findByPidFull(Pid $pid, string $entityType = 'Programme', $ttl = CacheInterface::NORMAL): ?Programme
{
    $key = $this->cache->keyHelper(__CLASS__, __FUNCTION__, $ttl, (string) $pid, $entityType);

    return $this->cache->getOrSet(
        $key,
        $ttl,
        function(Pid $pid, string $entityType) {
            $dbEntity = $this->repository->findByPidFull($pid, $entityType);

            return $this->mapSingleEntity($dbEntity);
        },
        [$pid, $entityType]
    );
}

Closure (using use):
public function findByPidFull(Pid $pid, string $entityType = 'Programme', $ttl = CacheInterface::NORMAL): ?Programme
{
    $key = $this->cache->keyHelper(__CLASS__, __FUNCTION__, $ttl, (string) $pid, $entityType);

    return $this->cache->getOrSet(
        $key,
        $ttl,
        function() use($pid, $entityType) {
            $dbEntity = $this->repository->findByPidFull($pid, $entityType);

            return $this->mapSingleEntity($dbEntity);
        }
    );
}

Alternatively @votemike has suggested using two functions - one private one that is the uncached query and one that the cache wrapping. This is nice as it forces a split between the cache bits and the data call, however I wonder if there is a net-win for this indirection. It gives us an option to make the raw query public to give people a chance to use that. But we end up duplicating argument lists which feels wasteful and creates more boilerplate, which I'd like to avoid.
public function findByPidFull(Pid $pid, string $entityType = 'Programme', $ttl = CacheInterface::NORMAL): ?Programme
{
    $key = $this->cache->keyHelper(__CLASS__, __FUNCTION__, $ttl, (string) $pid, $entityType);
    return $this->cache->getOrSet($key, $ttl, [$this, 'findByPidRaw'], [$pid, $entityType]);
}

private function findByPidFullRaw(Pid $pid, string $entityType = 'Programme'): ?Programme
{
    $dbEntity = $this->repository->findByPidFull($pid, $entityType);
    return $this->mapSingleEntity($dbEntity);
}

Any particular preferences?
TL;DR: This would be easier if PHP had built in annotations :<

I'm honesty not sure whether having the function inline is more or less readable. The bigger function calls do start to look awkward when put inline, but duplicating every function is hardly ideal either.
On balance I'd probably go with the inline style, but either works really.

After having a look into both, I really like the use of "use", for me is very readable. I really like also closures, but I feel that they make sometimes more difficult testing/debugging. But anyway, I feel that both are good options, closures can create very compact code.

Personal reckons: The new functions for uncached items shall result in a lot of noise. I prefer the anonymous function approach.
I also prefer the use closure approach, I not needing that second argument list is a nice reduction in complexity.
Vote time! React to this post with:

:+1: for anon functions with passing the arg list (i.e. Pure function example above)
😆 for anon functions using closures (i.e. the closure example above)
🎉 for two function approach.

/cc @BjornTwachtmann, @tatitati, @Tasiobg, @zoranikolic, @felipeparaujo, @votemike

As stated before, I have no particularly strong opinions here, any of these are perfectly readable. I'd marginally favour the inline function with the use style, but if you can't be arsed to refactor (I wouldn't be), how it is currently seems perfectly fine to me.

5 people in favour of the use (with varying degrees of strength of preference) vs 1 for split methods, means closures win, sorry @votemike.
Starting as we mean to go on would be good, could you update this lot to use the closure style syntax and then this can be merged.

Done

Good work @votemike
I think this requires a good testing, it's easy to miss something with that many changes.
I was wondering what is the plus point of having the $ttl as a part of the $key.
I also wonder If different apps can use the "programmes-pages-service" library which one of the next case are we in (can be a non listed one)?

Case 1: All keys are shared between any app using "programmes-pages-service", keys should share same namespace to avoid unnecesary keys duplications and redis writes. In this case the $ttl should be set inside the service function and shouldn't change
Case 2: Any app using "programmes-pages-service" has their own namespace so keys are unique to that app, different apps can have different $ttl
Case 3: Some apps share the same namespace while others apps have their own namespace.

@BjornTwachtmann @BPScott what are your thoughts about the text above? which case are we in?

Other thing I would like to mention, I miss the PR for Cache.php, I think we could implement the "don't cache this" mechanims by updating the "getOrSet" function so when we set CacheInterface::NONE the function will not cache anything (open to more investigation what to do with getting items from cache if CacheInterface::NONE is set). Somenthing else very minor and only personal opinion, I suggest to rename the $flushCacheItems and avoid the "flush" part because it could be confused with the redis flushall operation. All this could be on a different PR, this one is already quite big

I was wondering what is the plus point of having the $ttl as a part of the $key.

It avoids race conditions. The TTL deals with the age of the new thing that can go in the cache rather than checking for the age of the anything a subsequent call finds in the cache. Consider two pages that call the same service function but with different cache times, e.g.

$programmesService->findByPid(new Pid('b0000001'), 36000) is called at 3pm. It caches for 10 hours.
$programmesService->findByPid(new Pid('b0000001'), 300) is called at 7pm. It caches for 5 minutes.

If you don't include the cache TTL as part of the key then that second result shall return the cached result that was put into the cache at 3pm - fours hours ago, despite it asking for a result that it expects to be at most 5 minutes old.

@Tasiobg Do you mean unit tests or manual testing? I have updated the unit tests. I'm not sure what other tests I could write to test the caching.
Or if you mean manual testing, I hope the testers will do that.

@Tasiobg @BPScott Does one of you want to open a ticket to implement CacheInterface::NONE?

@votemike I mean tested in general, I was a bit worried because of the amount of changes and I wanted to see if someone mention anything, not sure how we test things but looks like we have a lot of unitest wich is nice

@BPScott I can be wrong because I'm not full aware of all posible cases on this application but I think we should try to use only one $ttl per key, this will made code more consistent and easy to maintain.
What is the reason to have 2 $ttl for the same key and one lasting 5 minutes and other lasting hours? won't make more sense to use allways the shorter one which is more recent?
The way I'm use to implement caching keys and TTL is by enums or conf files.
This is an example of how to centralize all the key and TTL on one enum class, bear on mind that there is a "%s" which is meant to be replace with the variable part of the key when setting or getting the key.
class CacheEnums
{

    public static $AtozTitlesKeys = [
        'findTleosByFirstLetter' => 'BBC.ProgrammesPagesService.Service.findTleosByFirstLetter.%s',
        'countTleosByFirstLetter' => 'BBC.ProgrammesPagesService.Service.countTleosByFirstLetter.%s'
        ];

    public static $AtozTitlesTtl = [
        'findTleosByFirstLetter' => CacheInterface::NORMAL,
        'countTleosByFirstLetter' => CacheInterface::NORMAL
    ];
}

With the example above you can have all application keys and TTL in one centralized class, this helps to understand what is cached and for how long at a glance.
In this case you can't autogenerate the key names, only the variable part can be append to the already existing enum.
I think I like this approach a bit more but just personal opinion.
@votemike @BjornTwachtmann  feel free to share your opinion as well

@Tasiobg, Admitedly it was a contrived example. I agree that we should strive to only use the one TTL the vast majority of the time. However there may be occasional cases where we need a different lifetime for a particular request. This is why we offer the ability to override the default TTL as an the final argument to a service. The vast majority of the time people consuming this lib won't need to specify that argument and a sensible default (CacheInterface::NORMAL) shall be used.


fix: declare max fee for LN pay

Caps fee in LN/CLN pay api using absolute values
closes #2663

What's the plan for validating/testing this?

What's the plan for validating/testing this?

In order to validate this we'd need a new lightning channel which charges more fees than this. Try to pay across it and CLN / LND should reject it.
I wonder how other lightning projects deal with this scenario where a test might want a certain configuration of lightning nodes. Spawning another daemon and waiting for a channel open will be kinda slow, especially if we end up with many of these kinds of tests.

Notes from manual testing of this feature:
Setup 1:

Network of two nodes (CLN and LND), each can be a gateway in turn
Trigger: Pay through a gateway node to the peer node
Goal: Validate a max_fee is respected by the gateway node when paying invoices on behalf of FM client

Observations

Direct payments between the peers charges zero fees
LND node fails to find path when invoice amount is < fee  set by peer on channel
CLN always finds path and makes payment  even when invoice amnt < fee set by peer on channel

@justinmoon do you think we can merge and figure out testing later or do you want to wait? I'd rather have a manually tested fix for that bug than none.

LGTM, looks like there is a test failure though that needs investigating

failure was a flaky test


fix(package.json): update to neo-forgery 1.12.1

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


underlying lr_scheduler.step() never called with OneCycleLR in single GPU

System Info
Accelerate 0.10.0
Ubuntu 20.04.4 LTS
Python 3.9.12
Numpy 1.19.5
Pytorch 1.10.0
Hydra 1.2.0

compute_environment: LOCAL_MACHINE
deepspeed_config: {}
distributed_type: MULTI_GPU
fsdp_config: {}
machine_rank: 0
main_process_ip: null
main_process_port: null
main_training_function: main
mixed_precision: fp16
num_machines: 1
num_processes: 1
use_cpu: false

Information

[ ] The official example scripts
[X] My own modified scripts

Tasks

[X] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[X] My own task or dataset (give details below)

Reproduction
In my tests, the step function of the scheduler is never called inside the accelerated scheduler wrapper.
This appears to have been introduced by this fix.
Example code:
data_loader = ...
model = ...
optimizer = ...
lr_scheduler = torch.optim.lr_scheduler.OneCycleLR(optimizer, max_lr=0.01, steps_per_epoch=len(data_loader), epochs=n_epochs)

data_loader, model, optimizer, lr_scheduler = accelerator.prepare(data_loader, model, optimizer, lr_scheduler)

for epoch in range(n_epochs):
    for batch in data_loader:
        optimizer.zero_grad()
        inputs, targets = batch
        outputs = model(inputs)
        loss = loss_function(outputs, targets)
        accelerator.backward(loss)
        optimizer.step()
        lr_scheduler.step()

Expected behavior
I expect `OneCycleLR.step()` to be called at some point inside `AcceleratedScheduler.step()`, supposedly on the [last line](https://github.com/huggingface/accelerate/blob/v0.12.0/src/accelerate/scheduler.py#L73).

You'll have to wait for @muellerzr to be back from holiday for this :-)

Hey, did you get the chance to look into this? :)

Looking into it this week @miccio-dk :)

@miccio-dk try installing from main, should be fixed now!
(pip install git+https://github.com/huggingface/accelerate)


Update scalacheck to 1.17.0

Updates org.scalacheck:scalacheck from 1.16.0 to 1.17.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (1.16.0).
You might want to review and update them manually.
modules/tests/shared/src/test/scala/io/circe/JavaTimeCodecSuite.scala

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalacheck", artifactId = "scalacheck" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.scalacheck", artifactId = "scalacheck" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

There appears to be some breaking changes in this update... I'm not sure about updating because i don't want to break circe-laws compatibility.

There appears to be some breaking changes in this update...

What breaking changes? If scalacheck is breaking backwards compatibility that is a serious issue.

@armanbilge sorry about that, was skimming the changes and didn't see the method that changed signatures was itself inside another method.  :grimacing:


ie8 throw error

hi,when i use it ie8,thorw one error:
Unhandled promise rejection TypeError: Object does not support the "next" property or method.
async function next() {
if (({ value, done } = handlers.next()) && !done) {
const [match, handler] = value;
state.params = match.params;
return handler.length > 1 ?
await handler(state, next) : await handler(state);
}
}

Not work in ie8. How can I fix it?

have you fix this bug?
I meet this problem too

met same issue

@cwtuan
@lockelee1015
@kongliangyu
This is not "universal-router" issue.
See https://facebook.github.io/react/blog/2016/01/12/discontinuing-ie8-support.html
How to fix this?
Ans.: downgrade react version.

@Bogdaan
I have already switched to react v0.14. And if I comment out universal-router codes, the app works, if I kept, app breaks...
Could it be a babel polyfill issue or it doesn't support ES3?
I am still looking into this...

It's actually an issue from babel runtime polyfill, see: https://github.com/babel/babel/pull/3445

Old ticket, please reopen if needed.


ERROR  ReferenceError: Can't find variable: React

Description
I follow the guide and using npx react-native init AwesomeTSProject --template react-native-template-typescript create a project. And I find I should write import React from 'react' in every .tsx file. It's quite troubled. So I find this blog Introducing the New JSX Transform in React website. And I follow this blog. But it's not working.  This is the whole error log:
 ERROR  ReferenceError: Can't find variable: React

This error is located at:
    in App (at renderApplication.js:50)
    in RCTView (at View.js:32)
    in View (at AppContainer.js:92)
    in RCTView (at View.js:32)
    in View (at AppContainer.js:119)
    in AppContainer (at renderApplication.js:43)
    in ReactNativeDemo(RootComponent) (at renderApplication.js:60)

And this is my package.json and babel.config.js
// package.json
{
  "name": "ReactNativeDemo",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint . --ext .js,.jsx,.ts,.tsx"
  },
  "dependencies": {
    "@react-navigation/bottom-tabs": "^6.3.2",
    "@react-navigation/native": "^6.0.11",
    "@react-navigation/native-stack": "^6.7.0",
    "react": "18.0.0",
    "react-native": "0.69.3",
    "react-native-safe-area-context": "^4.3.1",
    "react-native-screens": "^3.15.0"
  },
  "devDependencies": {
    "@babel/core": "^7.18.10",
    "@babel/preset-react": "^7.18.6",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "@tsconfig/react-native": "^2.0.2",
    "@types/jest": "^26.0.23",
    "@types/react-native": "^0.69.3",
    "@types/react-test-renderer": "^18.0.0",
    "@typescript-eslint/eslint-plugin": "^5.29.0",
    "@typescript-eslint/parser": "^5.29.0",
    "babel-jest": "^26.6.3",
    "babel-plugin-module-resolver": "^4.1.0",
    "eslint": "^7.32.0",
    "eslint-plugin-import": "^2.26.0",
    "eslint-plugin-prettier": "^4.2.1",
    "eslint-plugin-react-hooks": "^4.6.0",
    "jest": "^26.6.3",
    "metro-react-native-babel-preset": "^0.70.3",
    "prettier": "^2.7.1",
    "react-test-renderer": "18.0.0",
    "typescript": "^4.4.4"
  },
  "jest": {
    "preset": "react-native",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx",
      "json",
      "node"
    ]
  }
}

// babel.config.js
module.exports = (api) => {
  api.cache.forever();
  return {
    presets: [
      [
        'module:metro-react-native-babel-preset',
        {
          useTransformReactJSXExperimental: true
        }
      ],
      ['@babel/preset-react', { runtime: 'automatic' }]
    ],
    plugins: [
      [
        'module-resolver',
        {
          root: ['./'],
          alias: {
            '^~/(.+)': './js/\\1'
          }
        }
      ]
      // '@babel/plugin-transform-runtime',
      // ['@babel/plugin-transform-react-jsx', { runtime: 'automatic' }]
    ]
  };
};

Version
0.69.3
Output of npx react-native info
System:
OS: macOS 12.2.1
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Memory: 458.96 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.15.0 - ~/.nvm/versions/node/v16.15.0/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 8.5.5 - ~/.nvm/versions/node/v16.15.0/bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK: Not Found
Android SDK: Not Found
IDEs:
Android Studio: 2021.2 AI-212.5712.43.2112.8609683
Xcode: /undefined - /usr/bin/xcodebuild
Languages:
Java: 11.0.16 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.0.0 => 18.0.0
react-native: 0.69.3 => 0.69.3
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce

Init Project

npx react-native init AwesomeTSProject --template react-native-template-typescript

Add @babel/preset-react dependency

yarn add @babel/preset-react
yarn upgrade @babel/core @babel/preset-react

Edit babel.config.js
see the description

Remove the import
remove all the import React from 'react'

Run
yarn android

Snack, code example, screenshot, or link to a repository
https://github.com/AXiLiYa/ReactNativeDemo
This is my demo project. It's has few test page. But they are very simple. So if you need, you can clone it. Thanks.

Enable experimentalImportSupport: true,
metro.config.js
module.exports = {
    transformer: {
        getTransformOptions: async () => ({
            transform: {
                experimentalImportSupport: true,
                inlineRequires: true,
            },
        }),
    },
};

babel.config.js
module.exports = {
    presets: [
        ['module:metro-react-native-babel-preset', { useTransformReactJSXExperimental: true }],
    ],
    plugins: [
        [
            '@babel/plugin-transform-react-jsx',
            {
                runtime: 'automatic',
            },
        ],
    ],
};

Enable experimentalImportSupport: true,
metro.config.js
module.exports = {
    transformer: {
        getTransformOptions: async () => ({
            transform: {
                experimentalImportSupport: true,
                inlineRequires: true,
            },
        }),
    },
};

babel.config.js
module.exports = {
    presets: [
        ['module:metro-react-native-babel-preset', { useTransformReactJSXExperimental: true }],
    ],
    plugins: [
        [
            '@babel/plugin-transform-react-jsx',
            {
                runtime: 'automatic',
            },
        ],
    ],
};

Should work fine :)

Thanks! It did work. But now I'm thinking this maybe need be added in doc? Or the beginner'll meet this problem with high probability.

Enable experimentalImportSupport: true,
metro.config.js
module.exports = {
    transformer: {
        getTransformOptions: async () => ({
            transform: {
                experimentalImportSupport: true,
                inlineRequires: true,
            },
        }),
    },
};

babel.config.js
module.exports = {
    presets: [
        ['module:metro-react-native-babel-preset', { useTransformReactJSXExperimental: true }],
    ],
    plugins: [
        [
            '@babel/plugin-transform-react-jsx',
            {
                runtime: 'automatic',
            },
        ],
    ],
};

Should work fine :)

Thanks a lot, this babel config worked for me as well, now it does not ask me to import React in every component where there is JSX :)

Sorry for bumping this, but how would you use this in an expo project? I can't seem to get it to work.
This is my babel.config.js:
module.exports = function (api) {
	api.cache(true);
	return {
		presets: ["babel-preset-expo"],
		plugins: [],
	};
};

These are two ways I've tried that don't work:
module.exports = function (api) {
	api.cache(true);
	return {
		presets: [
			"babel-preset-expo",
			[
				"module:metro-react-native-babel-preset",
				{ useTransformReactJSXExperimental: true },
			],
		],
		plugins: [
			[
				"@babel/plugin-transform-react-jsx",
				{
					runtime: "automatic",
				},
			],
		],
	};
};

and
module.exports = function (api) {
	api.cache(true);
	return {
		presets: [
			[
				"module:metro-react-native-babel-preset",
				{ useTransformReactJSXExperimental: true },
			],
		],
		plugins: [
			[
				"@babel/plugin-transform-react-jsx",
				{
					runtime: "automatic",
				},
			],
		],
	};
};

I am using react native with expo and having the same error message while using the ImageData constructor.  I tried the metro.config.js and babel.config.js configurations mentioned by @przemyslav which seems to be working for react-native projects but does not work for projects using expo. What exactly causes the error and is there a solution?

For me was enough remove the ^ char from the ui-kitten deps into the package.json

Hi, what is "ui-kitten deps" ?


fix: ios gallery typecast issue

Details: https://github.com/juliansteenbakker/mobile_scanner/issues/532

LGTM!


WebTransport

https://w3c.github.io/webtransport/

The WebTransport interface is based on the QuicTransport interface initially described in the W3C ORTC CG, and has been adapted for use in this specification.

WebTransport is now available as of Chrome 97 stable: https://developer.chrome.com/blog/new-in-chrome-97/

Moreover, Chrome 100 and Edge 100 support custom certificate hashes.

Now available at https://caniuse.com/webtransport


"All" filter does not include productivity podcasts

E.g. search for The Getting Simple with All Tab/Filter active.

https://github.com/iRaul/podcasts-repo/pull/24


v0.1.0

Changes

Create EJS + CSM builds

https://github.com/lifeomic/chromicons/pull/17

Found a small bug after publishing - will put up a fix in a bit 👍


Arrows keys no longer work in editor

VSCode Version: Code 1.11.1 (d9484d12b38879b7f4cdd1150efeb2fd2c1fbf39, 2017-04-06T13:55:56.395Z)
OS Version: Linux x64 3.10.0-327.3.1.el7.x86_64
Extensions:

Extension
Author
Version

cpptools
ms-vscode
0.10.5

Steps to Reproduce:
1.Open any editor for any type of file
2.Up, down, left, right arrow keys no longer work.

This is very likely a dup of #24064 or #24107
Can you please try with today's insider build which contains fixes for both those issues.


grid.search() during an active search causes script error[Reproducer: https://jsfiddle.net/zuvk0o6w/3/]

Short description
Step 1: Load fiddle https://jsfiddle.net/zuvk0o6w/3/
Step 2: Start a search and matched records are highlighted
Step 3. Issue a w2ui.grid.search() statement in the console
Error:
w2ui.min.js:282 Uncaught TypeError: Cannot read properties of undefined (reading '_w2field')
at w2grid.search (w2ui.min.js:282:66239)
at HTMLElement.onclick ((index):1:22)
This only happens if the searches property is defined for the grid.
What is current behavior
...
What is desired behavior
...
Link to jsfidle/codepan with sample code
https://jsfiddle.net/zuvk0o6w/3/
Steps to reproduce or sample
Step 1: Load fiddle https://jsfiddle.net/zuvk0o6w/3/
Step 2: Start a search and matched records are highlighted
Step 3. Issue a w2ui.grid.search() statement in the console
...

I tried to repeat your steps and cannot see what the problem is. I do not see any messages in the console. The search gets applied. I tried just typing in the search input field, or clicking on >> advanced search button - all seem to work just fine. Can you rephrase what the problem is?

After you have applied a search by typing in the search input field.
Go to the console and try clearing the search by issues w2ui.grid.search()
You will see the error

Uncaught TypeError: Cannot read properties of undefined (reading '_w2field')
    at w2grid.search (w2ui.min.js:282:66038)
    at <anonymous>:1:11

Hello,
This is the error received
Uncaught TypeError: Cannot read properties of undefined (reading '_w2field')
at w2grid.search (w2ui.min.js:282:66038)
at <an
When you try to do this[image: image.png]
Thanks for looking into it.
On Mon, Aug 8, 2022 at 10:01 AM Vitali Malinouski @.***>
wrote:

I tried to repeat your steps and cannot see what the problem is. I do not
see any messages in the console. The search gets applied. I tried just
typing in the search input field, or clicking on >> advanced search button

all seem to work just fine. Can you rephrase what the problem is?

—
Reply to this email directly, view it on GitHub
https://github.com/vitmalina/w2ui/issues/2266#issuecomment-1207654071,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATBWAFDV4WTG3NVEXVLDW6LVYCER3ANCNFSM54YVXZ4Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

According to doc, calling grid.search() w/o params should do nothing. So, I fixed the error. It just repeats sam search, basically doing grid.search(grid.searchData, grid.last.logic)

Hello @vitmalina,
In the earlier build, besides the error above, calling grid.search() w/o params would clear the search input and show all records and that was a nice feature.
Could you re-purpose grid.search() w/o params to clear the grid search please, or is there a different approach we should take for this.
I have an an implementation such as the one below using the earlier w2ui build and simply calling grid.search w/o params clears the current search

w2ui.grid.searchReset() - will clear search result
w2ui.grid.search('') - will also clear search result

w2ui.grid.searchReset() - will clear search result w2ui.grid.search('') - will also clear search result

Thank you


TextBoxHelper.WatermarkAlignment doesn't work as it should

The alignment of the Watermark in the Textbox doesn't seem to work correctly. I'm using the Textbox to input numbers, so the HorizontalContentAlignment of the Textbox is set to Right, but I want the Watermark to stay left aligned. It doesn't it moves over to the right, even thought it clearly is set to left at TextBoxHelper.WatermarkAlignment. I've seen the comment about setting the HorizontalContentAlignment to Stretch, but that moves the input content back to the left and as its a number input I want it to be right aligned.

Sorry forgot to put
Mahapps.Metro v1.6.5 on Visual Studio 2016 v16.3.0 Preview 2.0

@StuRamsey If you set HorizontalContentAlignment to Stretch then you can set the TextAlignment to Right.

Many thanks, not quite how I thought it would be done, but perfect result.
Thanks again
Stu


More detailed documentation

Hello, thank you for such promising library. It's a big pain to implement ddd on yii2. You did a great kindness releasing this library:)   I understand basic ideas like entities, repositories, but your library consists bigger potential, some concrete ideas, maybe you could share more code examples, more complex using your library?

Hello @StalkAlex ,
thanks for your reply.
I know that library lacks documentation right now. It is because the library right now is in early stages and has API changes from time to time.
I was mostly working on CodeSpecs module for Codeception and PHP Tester for the past months and wasn't working on this library.
I have following plans right now:

increase code coverage
extend support of View Models
add smooth integration of View Models with Entity and Repository
add code generator templates
add support for Value Objects
optimize code where it's possible

Then I would work on documentation.
I would try to prepare some samples
With best regards,
Dmitry

Thanks for response.
Feature with value objects would be very useful. Looking forward to see much development activity here :) Hope there won't be much hard breaks of compatibility with previous versions) we're going to use it in production.
Maybe I can help with PRs after better understanding library internals. Good luck with other projects!

Hello @StalkAlex
right now I'm thinking of few things that might break BC

Increase PHP version to PHP 7.1 (PHP 5.6 must die :smiling_imp:)
Think that better to separate Mapping and Record classes. Because right now Records being used as mapping objects but can easily be used in Yii style. I wish to use more strict rules: use records only with records repository but with entities use records only as mapping to DB without an ability to use records directly. But I haven't made my mind about this one as neither this or current approach can't be called good enough. PHPDoc annotations could have solved the issue with mapping but would also affect performance in a bad way.
Thinking of introducing proxy for Yii query object or some kind of extended query that would smoothly replace current query realization for entities.
Major BC break - this library would be moved to another organization and namespaces would be changed in upper camel case format - like  all normal people do nowadays:smiley:

I use this library in production systems because I have control over the code base and the library but I didn't expect that someone would begin to use this library (because I wouldn't have:satisfied:) at such early stage (I would say early alpha).
So sorry if changes for the next release would cause troubles.

Ok, no problem 👌 , anyway don't see much troubles with those changes. Keep us up to date! 👍 😄
About not using at such early stage, there is not much of a choice either making all this by myself or use Doctrine.

@StalkAlex ,
you can check the future version of this library at Yii2Domain new home
Soon I would update readme's and packagis telling that libraries are abandoned and moved to another location

@StalkAlex ,
I've just created Discord server for communication with anyone who wants to discuss libraries in the new organization( PHP Kitchen).
Here is an invitation

@prowwid thanks! I'll join.


[ytmusic] Parse metadata from music.youtube.com

Checklist

[x] I'm reporting a site feature request
[x] I've verified that I'm running yt-dlp version 2021.08.02
[x] I've searched the bugtracker for similar site feature requests including closed ones

Description

Hello, I'd like to ask for help another time. Would someone be able to implement the following feature:
If using following syntax:
--output "x:/muzik/%%(artist)s %%(album)s %%(release_year)s
It will work as expected, extract the song artists album name and song release year. But in most cases, there are many artist on a song and the song's were released in different year which produces multiple folders instead of ARTIST-ALBUM-RELEASE_YEAR it creates multiple folders: ARTIST1_ARTIST2_ALBUM_RELEASE_YEAR1 and ARTIST1_ARTIST2_ARTIST3_ALBUM_RELEASEYEAR2 which becomes confusing.
In my opinion the best solution would be able to to parse the album main artist and album release year (pic related) with a tag like %%(main_artist)s and %%(album_release_year).  Maybe there is such a option, I tried various tags like 'creator' or 'uploader' or 'album_artist' but none of them work!

Thanks for reading and any input is appreciated!

Give example URL

https://music.youtube.com/playlist?list=OLAK5uy_mRIIP5Yb0dvfvSWmIhYXicwNU0TKpN68w

Multiple artist, not even listed on ytmusic site getting parsed.

While yt-dlp accepts music URL, we actually parse data from youtube.com not ytmusic
The equivalent youtube page doesnt seem to contain this information - https://www.youtube.com/playlist?list=OLAK5uy_mRIIP5Yb0dvfvSWmIhYXicwNU0TKpN68w

Any plans to add this feature? Would be really useful.

Does this metadata only show up for playlist ids starting with OLAK?
If so, I notice we could probably squeeze at least the page download in here:
https://github.com/yt-dlp/yt-dlp/blob/2333ea102986f5ae792d3f297aac04cf8065d9f3/yt_dlp/extractor/youtube.py#L4237-L4251

@coletdjnz
Hey, sorry for the late reply been AFK lately. Thanks for your contribution to this issue!
I didn't see that those id's begin with OLAK until you mentioned this.
I checked some albums and  indeed they all begin with OLAK!
Could you please elaborate a little more, how we could fix this issue with the information you provided? I can't really understand it from the snippet.
Greetings

I checked some albums and indeed they all begin with OLAK!

Cool, so that's one way we could detect to check for the extra metadata.

Could you please elaborate a little more, how we could fix this issue with the information you provided? I can't really understand it from the snippet.

Don't worry about that, I'm just referencing ways we could implement this in code.

Another thing here is that the YouTube Music cover artwork should be used as the thumbnail, instead of the youtube.com 16:9 one

extract metadata from YouTube Music using --parse-metadata

Most Labels put metadata in description in this format -

Role 1,Role 2 - Contributor 1,Contributor 2
Role 1,Role 3 - Contributor 1, Contributor 5
Role Combinations that maybe contain Roles already listed - Contributors that maybe already be listed in other roles

But in downloaded file metadata should be this format -
Role 1 - Contributor1,2
Role 2 - Contribution1,3

Example -
Provided to YouTube by Universal Music Group

cardigan · Taylor Swift

folklore

℗ 2020 Taylor Swift

Released on: 2020-07-24

Producer, Studio  Personnel, Recording  Engineer, Engineer, Associated  Performer, Drum  Programming, Percussion, Piano, Bass, Electric  Guitar, Mellotron, Synthesizer: Aaron Dessner
Studio  Personnel, Recording  Engineer, Mixer: Jonathan Low
Studio  Personnel, Vocal  Engineer: Laura Sisk
Studio  Personnel, Engineer: Bella Blasko
Studio  Personnel, Mastering  Engineer: Randy Merrill
Unknown, Other: Bryce Dessner
Associated  Performer, Synthesizer: Benjamin Lanz
Associated  Performer, Trombone: Dave Nelson
Associated  Performer, Drum  Programming: James McAlister
Associated  Performer, Viola, Violin: Yuki Numata Resnick
Studio  Personnel, Engineer: Kyle Resnick
Associated  Performer, Cello: Clarice Jensen
Composer  Lyricist: Taylor Swift
Composer  Lyricist: Aaron Dessner

Auto-generated by YouTube.

How to exract Album, Track, Label, Artist(s),Album Artist in description.

 There should be way if to use whichever is longer.
Save lyrics in LYRICS field from Lyrics tab in music.youtube.com example - music.youtube.com/watch?v=q4ixeKXJGvo&list=RDAMVMq4ixeKXJGvo

@pukkandan I saw your comment in https://github.com/deepjyoti30/ytmdl/issues/202#issuecomment-1063330809 however, this is not reproducible anymore:
yt-dlp 7wtfhZwyrcc -O title= -O track= -O artist= -O album=
title = 'Imagine Dragons - Believer (Official Music Video)'
track = 'NA'
artist = 'NA'
album = 'NA'

Would be really awesome if all the metadata could be fetched from Youtube music directly, this would eliminate the need to use third party tools that use youtube-dl to download the song and fetch metadata from other sources requiring careful manual intervention in order not to fetch the wrong metadata. So this would make things much better in terms of music collections!

@Esokrates Metadata extraction of songs is currently broken https://github.com/yt-dlp/yt-dlp/issues/4217

Thanks for the input, here wait till track number 3. my full output template: --output X:/ytdlp/%(artist)s %(album)s %(release_year)s/%(playlist_index)s %(artist)s %(track)s.%(ext)s https://music.youtube.com/playlist?list=OLAK5uy_mRIIP5Yb0dvfvSWmIhYXicwNU0TKpN68w
Multiple artist, not even listed on ytmusic site getting parsed.

The playlist seems to have different IDs between the "music.youtube.com" and "www.youtube.com" versions (another example from me is: https://music.youtube.com/playlist?list=OLAK5uy_mRIIP5Yb0dvfvSWmIhYXicwNU0TKpN68w).
In such cases, yt-dlp cannot collect IDs from the "music.youtube.com" version (even with the --extractor-args "youtube:player_client=web_music" option).
If needed, I'll create another issue.

This is probably already known but I want to document another example here in the small chance that it is helpful
https://music.youtube.com/channel/UC5whZGOKBTLLjjqZtodI5Lw
https://music.youtube.com/channel/UCma8z28_kbN5Vj9cfp6Q5GA
https://www.youtube.com/channel/UC5whZGOKBTLLjjqZtodI5Lw
https://www.youtube.com/channel/UCma8z28_kbN5Vj9cfp6Q5GA
Both channels look the same but only the second one is parse-able:
lb-dev dladd ~/lb/examples/flow.db  https://music.youtube.com/channel/UC5whZGOKBTLLjjqZtodI5Lw
ERROR: [youtube:tab] UC5whZGOKBTLLjjqZtodI5Lw: This channel has no uploads

lb dladd -i ~/lb/examples/flow.db  https://music.youtube.com/channel/UCma8z28_kbN5Vj9cfp6Q5GA
WARNING: [youtube:tab] YouTube said: INFO - Unavailable videos are hidden
[https://music.youtube.com/channel/UCma8z28_kbN5Vj9cfp6Q5GA] Added 301 media

Another thing here is that the YouTube Music cover artwork should be used as the thumbnail, instead of the youtube.com 16:9 one

Would be very useful, because it would eliminate having to the cropping hacks described in #429 and probably result in higher quality artwork.

yt-dlp's still missing the Album Artist metadata that's available on YT Music. Channel/Uploader name can't be trusted, as the format varies (- Topic vs. official channel, ...), and the description sadly doesn't contain the album artist for feat. tracks/compilations/etc.

I also have to mention this: Cobalt dot tools can parse metadata from description. So not only the year is parsed but also the exact date.

Would be cool to see this?


upd: jq default shorthand

Closes #615

This file is automatically generated so this PR is not necessary


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Don't use mk_op_nosp for standard functions

I don't know why mk_op_nosp is currently used for standard functions but it turns log x into:
<mo lspace="0" rspace="0">log</mo><mi>x</mi>

which gets rendered as logx.

I can't remember exactly why this was introduced in cb6cab2e618df45a0e4d76d643d20174960d1f23 but there was probably a reason. Since my own commit message is not of much value I'll merge and if problems arise later we can revisit then.

Thanks!


Dashboard query config editor

part of https://github.com/BlueBrain/nexus/issues/902

AS A technical user
I WANT TO be able to use a SPARQL query editor
SO I CAN make adjustments to the dashboard config
GIVEN that I’m in a dashboard edit modal view
WHEN I edit the SPARQL editor
THEN it should  provide the sprawl results there
GIVEN that I’ve made a valid query (there is a _self value?)
And WHEN I click save
THEN it should update that query config

Done as part of #927


formatting correction structure_of_the_yaml_input_file.md

Included line breaks before the subheadings for 'normal entry' and 'oneline entry' to make it more visually clear where one ended and the next began.
Without the clear line between, the rendered markdown showed  highlights: A list of bullet points. {% elif entry_name == "OneLineEntry" %} and date: The date as a custom string or in YYYY-MM-DD, YYYY-MM, or YYYY format. {% elif entry_name == "Normal Entry" %}

Thank you very much!