Rendering Error in Console Log

Hello. Currently, I'm using Unity version 2018.3.3f1 while getting these errors in the log while launching the editor. The Errors below kept appearing:

Socket: unable to join multicast group, error: An invalid argument was supplied.
Unable to join player connection multicast group.
RenderTexture.Create failed: width & height must be larger than 0
UnityEngine.Camera:set_targetTexture()
GlowPrePass:OnEnable() (at Assets/Scripts/GlowScript/GlowPrePass.cs:20)
RenderTexture.Create failed: width & height must be larger than 0
RenderTexture.Create failed: width & height must be larger than 0
UnityEngine.Graphics:SetRenderTarget(RenderTexture)
GlowPrePass:OnRenderImage(RenderTexture, RenderTexture) (at Assets/Scripts/GlowScript/GlowPrePass.cs:34)
ArgumentException: Graphics.SetRenderTarget called with bad depth RenderBuffer.
UnityEngine.Graphics.Internal_SetRTSimple (UnityEngine.RenderBuffer color, UnityEngine.RenderBuffer depth, System.Int32 mip, UnityEngine.CubemapFace face, System.Int32 depthSlice) <0x49f19600 + 0x00072> in :0
UnityEngine.Graphics.SetRenderTargetImpl (UnityEngine.RenderBuffer colorBuffer, UnityEngine.RenderBuffer depthBuffer, System.Int32 mipLevel, UnityEngine.CubemapFace face, System.Int32 depthSlice) (at C:/buildslave/unity/build/Runtime/Export/Graphics.cs:191)
UnityEngine.Graphics.SetRenderTargetImpl (UnityEngine.RenderTexture rt, System.Int32 mipLevel, UnityEngine.CubemapFace face, System.Int32 depthSlice) (at C:/buildslave/unity/build/Runtime/Export/Graphics.cs:196)
UnityEngine.Graphics.SetRenderTarget (UnityEngine.RenderTexture rt, System.Int32 mipLevel, UnityEngine.CubemapFace face, System.Int32 depthSlice) (at C:/buildslave/unity/build/Runtime/Export/Graphics.cs:208)
UnityEngine.Graphics.SetRenderTarget (UnityEngine.RenderTexture rt) (at C:/buildslave/unity/build/Runtime/Export/Graphics_BindingsOverloads.cs:365)
GlowPrePass.OnRenderImage (UnityEngine.RenderTexture src, UnityEngine.RenderTexture dst) (at Assets/Scripts/GlowScript/GlowPrePass.cs:34)
RenderTexture.Create failed: width & height must be larger than 0
UnityEngine.Graphics:Blit(Texture, RenderTexture)
GlowPrePass:OnRenderImage(RenderTexture, RenderTexture) (at Assets/Scripts/GlowScript/GlowPrePass.cs:32)
RenderTexture.Create failed: width & height must be larger than 0
UnityEngine.Graphics:SetRenderTarget(RenderTexture)
GlowPrePass:OnRenderImage(RenderTexture, RenderTexture) (at Assets/Scripts/GlowScript/GlowPrePass.cs:34)

If try to play the game in editor, it works fine. Once it is built and run, it simply gives me a black screen. Any ideas?

Hey, did you find any solution for Socket: unable to join multicast group, error: An invalid argument was supplied?


BatchNormalization量化出错

[Warning] Isolated BatchNormalization(/encoder/fea_attention_layers.0/fea_attention_layers.0.0/bn/BatchNormalization) was detected, PPQ will replace it to 1*1 Convolution(2D).
Traceback (most recent call last):
File "/home/l00576713/data/megaton-LM/package/temp/profile/test2.py", line 24, in
ir = quantize_torch_model(
File "/home/l00576713/software/anaconda3/envs/megaton/lib/python3.8/site-packages/ppq/core/defs.py", line 54, in _wrapper
return func(*args, **kwargs)
File "/home/l00576713/software/anaconda3/envs/megaton/lib/python3.8/site-packages/ppq/api/interface.py", line 343, in quantize_torch_model
return quantize_onnx_model(onnx_import_file=onnx_export_file,
File "/home/l00576713/software/anaconda3/envs/megaton/lib/python3.8/site-packages/ppq/core/defs.py", line 54, in _wrapper
return func(*args, **kwargs)
File "/home/l00576713/software/anaconda3/envs/megaton/lib/python3.8/site-packages/ppq/api/interface.py", line 251, in quantize_onnx_model
ppq_ir = load_onnx_graph(onnx_import_file=onnx_import_file)
File "/home/l00576713/software/anaconda3/envs/megaton/lib/python3.8/site-packages/ppq/api/interface.py", line 50, in load_onnx_graph
return format_graph(graph=ppq_ir)
File "/home/l00576713/software/anaconda3/envs/megaton/lib/python3.8/site-packages/ppq/api/interface.py", line 627, in format_graph
formatter(GraphCommand(GraphCommandType.REPLACE_BATCHNORM_TO_CONV))
File "/home/l00576713/software/anaconda3/envs/megaton/lib/python3.8/site-packages/ppq/IR/processer.py", line 130, in call
return self.process(command)
File "/home/l00576713/software/anaconda3/envs/megaton/lib/python3.8/site-packages/ppq/IR/morph.py", line 28, in process
return self.replace_batchnorm_to_conv()
File "/home/l00576713/software/anaconda3/envs/megaton/lib/python3.8/site-packages/ppq/IR/morph.py", line 89, in replace_batchnorm_to_conv
assert len(op.parameters) == 4, "BatchNorm should have 4 parameters, namely alpha, beta, mean, var"
AssertionError: BatchNorm should have 4 parameters, namely alpha, beta, mean, var

模型的输入维度是[1, 30, 43]

建议你把单独的bn换成1*1卷积试试


It seems that the size of source_hids should be 'srclen x bsz x source_embed_dim'

https://github.com/pytorch/fairseq/blob/303b95ce80b85a1ec222373d6a8f5cf5842b2362/fairseq/models/lstm.py#L282

Fixed


feat: add filters for "created" and "modified" fields

I was cleaning out old branches and found this one.

Closing for now as won't do. Just want to keep track of the feature.


fix(Divider): Matching divider Teams theme to redlines

Matched divider styles for the Teams theme to the redlines. This includes updating colors, variable names, spacing.
In Teams theme, there are only 2 types of dividers
1. Default divider w/text

2. Primary, important divider w/text

Little bit worried about not applying any height on the Divider, as currently we used it also as an invisible divider between elements. Please take a look into this visual regression: https://screener.io/v2/states/rkGqtccHX.stardust-ui-react/fix%2Fdivider-redlines/1024x768/Chrome/portalexampleshorthandtsx-0
Please reason for this and update the styles accordingly, if you think they should be changed.

Maybe we add an optional buffer size between elements, but I'm not sure that we want a height set. That may make it harder to modify in the case where we want smaller spacers between objects.

I don't think we want to be setting a height either, but for dividers in the Teams theme it's probably okay to have top/bottom spacing. At least for now until we see other use cases for it and then we can make spacing optional if that is needed.
So now we can at least have 2 dividers in succession that don't sit on top of each other...


Error during helm installation with current chart version : 1.101.0

Hello,
I'm trying to install chainloop but I'm getting this error :
Error: INSTALLATION FAILED: 1 error occurred:
	* Deployment.apps "chainloop-cas" is invalid: [spec.template.spec.volumes[2].secret.secretName: Required value, spec.template.spec.containers[0].volumeMounts[2].name: Not found: "server-certs"]

A values file was passed, which contains a few customCAs :
controlplane:
  customCAs:
    - |-
      -----BEGIN CERTIFICATE-----
      -----END CERTIFICATE-----
cas:
  customCAs:
    - |-
      -----BEGIN CERTIFICATE-----
      -----END CERTIFICATE-----

This is the full command-line used :
$ helm install chainloop oci://ghcr.io/chainloop-dev/charts/chainloop --values ./values-noingress.yaml \
>     --set global.openshift=true \
>     --set development=true \
>     --set controlplane.auth.oidc.url=https://hostname/realms/Chainloop \
>     --set controlplane.auth.oidc.clientID=chainloop \
>     --set controlplane.auth.oidc.clientSecret=REDACTED \
>     --set controlplane.auth.oidc.externalURL=https://hostname \
>     --set controlplane.image.repository=repo/chainloop/control-plane \
>     --set controlplane.image.tag=v0.96.13 \
>     --set controlplane.migration.image.repository=repo/chainloop/control-plane-migrations \
>     --set controlplane.migration.image.tag=v0.96.13 \
>     --set cas.image.repository=repo/chainloop/artifact-cas \
>     --set cas.image.tag=v0.96.13 \
>     --set controlplane.tlsConfig.secret.name=grpc-tls-secret \
>     --set cas.tlsConfig.secret.name=grpc-tls-secret
Pulled: ghcr.io/chainloop-dev/charts/chainloop:1.101.0
Digest: sha256:0d3e7eabbd79dddb3712943c2ec0209f97594429d0c114409fb750451747ed9f
Error: INSTALLATION FAILED: 1 error occurred:
	* Deployment.apps "chainloop-cas" is invalid: [spec.template.spec.volumes[2].secret.secretName: Required value, spec.template.spec.containers[0].volumeMounts[2].name: Not found: "server-certs"]

Thanks @hanygirgis for reporting the issue. It's likely we added a regression/broke compatibility when we moved our chart to use Bitnami practices.
From a quick scan it's likely it's related to mounting the CA certs into the pods. We'll take a look, sorry about that

Hello @hanygirgis! Thanks for reporting the issue. It was indeed a bug on the chart related to the adaptation of the Bitnami Chart convention. The patch is already on review here: https://github.com/chainloop-dev/chainloop/pull/1354
However I see you are using cas.tlsConfig.secret.name and controlplane.tlsConfig.secret.name to setup the secrets for the GRPc services. Please note that configuration is deprecated. Although it will work, the recommended way would be the following:
controlplane.tls.existingSecret and cas.tls.existingSecret, in your case:
>     --set controlplane.tls.existingSecret=grpc-tls-secret \
>     --set cas.tls.existingSecret=grpc-tls-secret

The secret must contains 2 keys: tls.crt and tls.key respectively containing the certificate and private key.

The new version of the chart is pushed (ghcr.io/chainloop-dev/charts/chainloop:1.101.1), would you mind give it a try and confirm that everything works as expected please?

@javirln Thanks a lot, I just gave it a shot, and it doesn't give that error anymore.
However, I noticed that the 3 Chainloop images weren't deployed, apparently because the overidden image repository on the command-line; I see this at the end of the helm install output :
Substituted images detected:
  - [ghcr.io/repo/chainloop/control-plane:v0.96.13](http://ghcr.io/repo/chainloop/control-plane:v0.96.13)
  - [ghcr.io/repo/chainloop/artifact-cas:v0.96.13](http://ghcr.io/repo/chainloop/artifact-cas:v0.96.13)
  - [ghcr.io/repo/chainloop/control-plane-migrations:v0.96.13](http://ghcr.io/repo/chainloop/control-plane-migrations:v0.96.13)

I see that "ghcr.io/" has been added at the beginning (see my cmd above) - maybe that's the reason why the images aren't installed.

Could you give it a try with the following configuration:
>     --set controlplane.image.registry=repo \
>     --set controlplane.image.repository=chainloop/control-plane \
>     --set controlplane.image.tag=v0.96.13 \

Where controlplane.image.registry is your registry. What's happening is that the value is being overridden by the default configuration found on the values.yaml:
controlplane|cas|migrations
  image:
    registry: ghcr.io
    repository: chainloop-dev/chainloop/{control-plane,cas,migrations}
    tag: "v0.96.13"

This is another change we made in our chart, before, image.repository contained both the registry and the image repository.
Now, as @javirln said, we also have registry. So you need to split your old image.repository between image.registry and image.repository
also note that instead of overriding each controlplane|cas|migration.image.registry you can now use global.imageRegistry to set it only once.

I tried again but it still doesn't deploy the main 3 images.
I gave it a shot on another enviornment which I believe can get the images directly (thus I don't need to override with the local registry), but it still doesn't install them. This is what I'm now using:
helm install chainloop oci://ghcr.io/chainloop-dev/charts/chainloop --values ./values-noingress.yaml \
    --set global.openshift=true \
    --set development=true \
    --set controlplane.auth.oidc.url=https://hostname/realms/Chainloop \
    --set controlplane.auth.oidc.clientID=chainloop \
    --set controlplane.auth.oidc.clientSecret=REDACTED \
    --set controlplane.auth.oidc.externalURL=https://hostname \
    --set controlplane.tls.existingSecret=grpc-tls-secret \
    --set cas.tls.existingSecret=grpc-tls-secret

Could you please paste the error that you get? Or describe a failing pod, the events that happened to it? Just to try and troubleshoot what could be the problem.

There are no errors, but when I look at the installed pods after the helm install, I only see the following :
chainloop-dex-6d768487b8
chainloop-postgresql-0
chainloop-vault-injector-76c4dcfc6c-bc44d
chainloop-vault-server-0
collectsub-f467d7dff-68m25

Ok that's something completely unexpected. Let me research on this and come back again. Sorry for the inconveniences!

@hanygirgis just pinging you to let you know that I've found the issue and I'm applying a fix. I'm testing everything works on a local OpenShift environment at the moment.

A new version of the chart is out and the issue with OpenShift should be fixed.

Latest version works now, thanks a lot.


Godot 4.0 beta5&beta6,Strange behavior using BlendNodes in AnimationTree

Godot version
4.0 beta5, beta6
System information
Windows 10
Issue description
when I blend two animations, the position of left hand is very strange.

Steps to reproduce
Open the godot project with Godot 4.0 Beta5 or Beta6
Blend between animations in AnimationTree
Minimal reproduction project
animation_blend_test.zip

The animation seems to have already been broken at the point of imported it, not in the AnimationTree blending, do you understand correctly about the BoneRest?
If you are didn't create the animation on the same model, I would recommend to use retargeting https://docs.godotengine.org/en/latest/tutorials/assets_pipeline/retargeting_3d_skeletons.html. If you are animating the same model, then the "import settings" in Blender may be incorrect https://github.com/KhronosGroup/glTF-Blender-IO/issues/1662.

I used retargeting, BoneMap was set correctly，see animation_blend_test.zip above.
The Animations are from Mixamo(same pack，I guess they are made on same model)，in FBX format。I convet the animations into glTF format using Blender 3.3. So, I  used Blender glTF exporter, not importer.
I will check settings of glTF exporter.
Thanks a lot!

@TokageItLab
Maybe the gotdot 4 blend result is correct.But this result is different from godot 3.5.
Because in godot 3.5 animation track, there is a transform hold the position of the bone, so position is blended too?
Thanks!

@dszhblx The godot3.x blending system had several problems and has been significantly reworked in godot4.0. See also https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html#for-better-blending.


Autoleave

Changes
Added auto leave for when the bot is alone in vc.
Dependencies
N/A

Hi @TakenMC, thanks for the PR. This should already be implemented through discord-player. There is a config option available to adjust this to your needs: https://github.com/mariusbegby/cadence-discord-bot/blob/main/config/default.js#L126
See leaveOnEmpty and leaveOnEmptyCooldown props. By default should leave on empty channel after 10 minutes.
The options are applied when creating queue object, such as seen here: https://github.com/mariusbegby/cadence-discord-bot/blob/main/src/interactions/commands/player/play.ts#L112
You can read more about this here in discord-player docs: https://discord-player.js.org/docs/discord-player/type/GuildNodeInit
If there are issues getting this to work let me know and we can look into a bug fix.

Not sure if I just check to early but I feel like it never leaves tho I'll see if it's broken or not then I'll update you on this

@TakenMC honestly I haven't tested in a long time. Might have been broken after updating dependencies, since this functionality belongs to a dependency (discord-player).
If it doesn't work, please let me know. If so, we can either:

Hook into discord-player event and override its logic (I think an event is emitted during this leaveOnEmpty state)
Disable discord-player functionality around this and implement your solution into the codebase

Just get back here when you've tested :)

It seems to work fine I am sorry for the inconvenience as I would see it still lingering in voice chats and thought it didn't auto leave.
Tho could you make the time maybe 5 mins

@TakenMC you can override the default config locally, create a file /config/local.js. Just copy over exactly the settings you want to change, and it will override.
So you can put in /config/local.js this:
module.exports.playerOptions = {
    leaveOnEmpty: true,
    leaveOnEmptyCooldown: 0, // this is in milliseconds, so 1000 = 1 second
};

You don't need to copy over any other settings or even properties on this setting, unless you want to override more settings.
Setting it to 0 cooldown should make it leave instantly. By using the config people can set different values. For now I think we should keep all cooldown values to 10 minutes since it's been like that for a long time. People self-hosting the bot can always adjust the config as stated to adjust this to their needs.
Let me know if you have any problems with the configuration or around this functionality. I'll go ahead and close this PR for now, since you confirmed it should work, but don't hesitate to comment here or in the support server if have questions or want to discuss anything :)


Arms Sim

Describe the bug
Sim hangs up around 2k iterations.

@Mettalikat Try to disable Multi Cores in the Web sim by opening the options menu ⚙

Super fast response thank you so much.
Now I'm just getting an eternal loading wheel after disabling multi core
support when trying to sim.
On Fri, Aug 2, 2024, 12:36 PM Adrian Klingen @.***>
wrote:

@Mettalikat
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMettalikat&data=05|02|Zgales%40uco.edu|8c69325888db4c5a388108dcb3199f4b|51aa8f262e234b8cbca87cc441adc4df|0|0|638582169848817096|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=YHdwdV5NAoWN5BjJ7rFr3c4nHaQb91Iw5FmXieZXKWk%3D&reserved=0
Try to disable Multi Cores in the Web sim by opening the options menu ⚙
image.png (view on web)
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fuser-attachments%2Fassets%2Fc0308699-69ce-4742-b1de-74284c5109e6&data=05|02|Zgales%40uco.edu|8c69325888db4c5a388108dcb3199f4b|51aa8f262e234b8cbca87cc441adc4df|0|0|638582169848817096|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=r8HI7yJhOSXsSbTsQz%2FWoeOlH34WveIxCjTl7klWhfI%3D&reserved=0
—
Reply to this email directly, view it on GitHub
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwowsims%2Fcata%2Fissues%2F901%23issuecomment-2265852272&data=05|02|Zgales%40uco.edu|8c69325888db4c5a388108dcb3199f4b|51aa8f262e234b8cbca87cc441adc4df|0|0|638582169848817096|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=5x7bKbPzYyI9%2BTzhnKqVyEZFWm%2FZbJZh1u5SxPwA3H8%3D&reserved=0,
or unsubscribe
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FBKJBSMGWZKVMSSEBBB7FOBTZPO7RHAVCNFSM6AAAAABL43UH72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRVHA2TEMRXGI&data=05|02|Zgales%40uco.edu|8c69325888db4c5a388108dcb3199f4b|51aa8f262e234b8cbca87cc441adc4df|0|0|638582169848817096|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=rvTMDjdh648fxPqdPlaA2ZnnvXlOXa3Pxe2%2FnIoS9NQ%3D&reserved=0
.
You are receiving this because you were mentioned.Message ID:
@.***>

I swapped it to 12 cores to reflect my cpu and was able to achieve
2750/3000, bust still hanging up.
On Fri, Aug 2, 2024, 8:18 PM Zachary Gales @.***> wrote:

Super fast response thank you so much.
Now I'm just getting an eternal loading wheel after disabling multi core
support when trying to sim.
On Fri, Aug 2, 2024, 12:36 PM Adrian Klingen @.***>
wrote:

@Mettalikat
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMettalikat&data=05|02|Zgales%40uco.edu|8c69325888db4c5a388108dcb3199f4b|51aa8f262e234b8cbca87cc441adc4df|0|0|638582169848817096|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=YHdwdV5NAoWN5BjJ7rFr3c4nHaQb91Iw5FmXieZXKWk%3D&reserved=0
Try to disable Multi Cores in the Web sim by opening the options menu ⚙
image.png (view on web)
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fuser-attachments%2Fassets%2Fc0308699-69ce-4742-b1de-74284c5109e6&data=05|02|Zgales%40uco.edu|8c69325888db4c5a388108dcb3199f4b|51aa8f262e234b8cbca87cc441adc4df|0|0|638582169848817096|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=r8HI7yJhOSXsSbTsQz%2FWoeOlH34WveIxCjTl7klWhfI%3D&reserved=0
—
Reply to this email directly, view it on GitHub
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwowsims%2Fcata%2Fissues%2F901%23issuecomment-2265852272&data=05|02|Zgales%40uco.edu|8c69325888db4c5a388108dcb3199f4b|51aa8f262e234b8cbca87cc441adc4df|0|0|638582169848817096|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=5x7bKbPzYyI9%2BTzhnKqVyEZFWm%2FZbJZh1u5SxPwA3H8%3D&reserved=0,
or unsubscribe
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FBKJBSMGWZKVMSSEBBB7FOBTZPO7RHAVCNFSM6AAAAABL43UH72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRVHA2TEMRXGI&data=05|02|Zgales%40uco.edu|8c69325888db4c5a388108dcb3199f4b|51aa8f262e234b8cbca87cc441adc4df|0|0|638582169848817096|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=rvTMDjdh648fxPqdPlaA2ZnnvXlOXa3Pxe2%2FnIoS9NQ%3D&reserved=0
.
You are receiving this because you were mentioned.Message ID:
@.***>

@Mettalikat Setting it to Off will make it behave like before we added this functionality. If it's not doing anything after turning it Off and refreshing the browser I assume the fault is somewhere else. 🤔
What CPU / Browser version are you using?

CPU: Processor 12th Gen Intel(R) Core(TM) i7-12700K, 3600 Mhz, 12 Core(s),
20 Logical Processor(s)
Browser: Chrome Version 127.0.6533.89 (Official Build) (64-bit)
On Sat, Aug 3, 2024 at 2:20 AM Adrian Klingen @.***>
wrote:

@Mettalikat
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMettalikat&data=05|02|Zgales%40uco.edu|b51fb122ede247e812cc08dcb38cb400|51aa8f262e234b8cbca87cc441adc4df|0|0|638582664109056644|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=2i%2FblxmCwO2y4PceqwTv6cITYxtVUiBW%2BquBSx9vjk8%3D&reserved=0
Setting it to Off will make it behave like before we added this
functionality. If it's not doing anything after turning it Off and
refreshing the browser I assume the fault is somewhere else. 🤔
What CPU / Browser version are you using?
—
Reply to this email directly, view it on GitHub
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwowsims%2Fcata%2Fissues%2F901%23issuecomment-2266607759&data=05|02|Zgales%40uco.edu|b51fb122ede247e812cc08dcb38cb400|51aa8f262e234b8cbca87cc441adc4df|0|0|638582664109056644|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=bpRTphsn2NTWiOKAEI%2FAipwZkrT61LaM1faFWbPDkZ0%3D&reserved=0,
or unsubscribe
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FBKJBSMCIEZZNLM3RWJ6V6RDZPSACNAVCNFSM6AAAAABL43UH72VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRWGYYDONZVHE&data=05|02|Zgales%40uco.edu|b51fb122ede247e812cc08dcb38cb400|51aa8f262e234b8cbca87cc441adc4df|0|0|638582664109056644|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|0|||&sdata=q3wsbT9GJkZALr1Uyh0m%2FsXI37wNkiqOYrVJZfcd%2F3o%3D&reserved=0
.
You are receiving this because you were mentioned.Message ID:
@.***>

@Mettalikat Did turning it to Off and refreshing the browser make it work?


Get it ready for pypi

This is mostly based off of Kenneth Reitz's setup.py and Hitchhiker's guide to packaging.
To upload to PyPi:
$ pip install twine
$ python setup.py upload

Neat!


Caffeine Tile generating background data on Android 13?

Hey there, the project looks dead, so I'm not sure if I'm gonna receive a response, but let's try anyway...
I noticed in the app settings that Caffeine Tile had generated a few kB of background data on one of my vanilla Android 13 phones. See screenshot below (mobile background data switch was deactivated only after I noticed this, but afaik this doesn't solve the problem, as the app can still use WiFi background data).

Version: 1.3 (latest on F-Droid, added on Jan 21st, 2017)
What is this about? I didn't expect it to make any network connections, became paranoid, and restored my phone from a backup ;-) Please tell me I just overreacted.

That is very, very strange! I can assure you it is definitely not supposed to use any data whatsoever. If you can read the source code, I'd encourage you to do that, you should see it does not use any networking.
That said, I just reinstalled the app myself, and can't seem to reproduce the issue. Maybe you could try disabling the use of background data for the app? In fact you could disable the use of both mobile and wifi.
I'll keep looking for a way to fully disable any kind of networking on my end, but can't make any promises regarding a fix for now. Thanks for reporting this!

Yeah, indeed strange ... this package has been sitting in F-Droid for years, so I'd guess this doesn't happen very often, or one of the other tinfoil heads would have noticed it before me.
I'm not sure how reproducible this issue is. But if someone was very motivated to look into this, I'm sure they could learn something interesting about Android and how it does the traffic volume accounting :-)


momentum update for embeddings

Hello,
I am trying to get an embedding working similar to NNLM example provided. The architecture is as given below:
vs = 150
es = 150
cs = 3
hs = es*cs
-- define model
hu = nn.Sequential()
hu:extend(
  nn.LookupTable(vs,es),
  nn.Collapse(2)
)
hu:add(nn.Linear(hs,hs))
hu:add(nn.Tanh())
hu:add(nn.Linear(hs,vs))
hu:add(nn.LogSoftMax())

I am optimizing this in a naive manner without using the optimizer class provided as:
for i=1,100 do -- #x do
    p = hu:forward(x[i])
    t = y[i]
    err = criterion:forward(p,t)
    g = criterion:backward(p,t)
    hu:backward(x[i],g)
     -- NOT WORKING hu:updateGradParameters(nu)
    hu:updateParameters(lr)
    hu:zeroGradParameters()
end

When I do the backward pass, I get
[torch.DoubleTensor with no dimension]
and hence, I think I am not able to update the grad params with the momentum.
Any suggestions?

@AshwinKalyanV Hi. What criterion are you using, what is the size of x and y, and what is the full stack trace of the error?


Switch to cljx

While using .cljc for combined Clojure and ClojureScript compatibility is easy, it forces users to use Clojure 1.7. cljx should be used instead so that Specter is compatible with Clojure 1.6.

Done for 0.8.0


Is it ok to copy the contents of the README.md for an unofficial implementation of unirest?

Hi :wave: I have implemented the unirest protocol in Golang. I just wanted to know whether I can copy the contents of this README that describe the features of the protocol (I don't know much about licences so I wanted to make sure not to violate any such licences)
Also can the logo be used by unofficial implementations of the protocol?

I believe the readme, like the rest of the code, is MIT licensed, so you can do with it what you will under the responsibilities of that license. That includes the graphic with the name if that is you are referring to as a logo. If you mean the Gorilla logo of Kong, then no, that is not part of this library and is the logo of a private company


add failing test for listenFunc

Hi again! Sorry. I'm trying to solve this myself but this seems like the most complicated operation in this package, so instead I made a failing test to illustrate the behavior I'm expecting (with a real world example to boot!).
I made this as minimal as I could manage, it only involves the telnetProcessor and shoving some dummy data into it, but since listenFunc is only ever run as part of addByte this makes sense to me. Please let me know if I'm off base here: but the real world issue I'm experiencing is in fact that listenFunc never seems to trigger at all when I connect to Achaea.
I'm not 100% sure if the number should be 5 (easy enough to change if not), but the result I get is 0, which is most certainly not right.

this is not what the listenfunc is meant to do!


allow for multiple IFrontMatter implementations

Allow the user to pass multiple implementations of the front matter interface.
I'm making a personal website with 2 main pages one for "projects" and the other for "blogs" which have different properties.
I can make a generic model that encapsulates both types and sort them by folder name or an enum but it's honestly easier this way.
Without this change the library will only store the last UseBlog.
Usage:
// this part stays the same
builder.Services.AddBlogService<ProjectsFrontMatter>(opt =>
{
    opt.BlogPageUrl = "Projects";
    opt.ContentPath = Path.Combine("Content","Projects");
});

builder.Services.AddBlogService<BlogsFrontMatter>(opt =>
{
    opt.BlogPageUrl = "Blogs";
    opt.ContentPath = Path.Combine("Content","Blogs");
});

// add an extra "UseBlog" for each blogService
app.UseBlog<ProjectsFrontMatter>();
app.UseBlog<BlogsFrontMatter>();

If i missed something or there's a better way of doing this then please tell me

I understand the need, I will use it for my Docs I have there.
But first I made some changes.

I realized the BlogAction(s) are little bit of - The BlazorStaticService should have no knowledge about some blogs, it is just a service.

BlogActions were same as BeforeFilesGenerationAction, so I moved the blog parsing into that (and made it into a collection, as you suggested with BlogActions)

That breaks the usage  of BeforeFilesGenerationAction, which will now be replaced with Add... methods for special Action/Func

The changes are described also here: https://deploy-preview-13--blazorstatic.netlify.app/blog/release-1.0.0-beta.7

Do my changes make sense here? Can you use it now as you intended?

I just tested it and it works for my case.
but can i ask what's the purpose of IsParsingAsFirstAction?
from what i can see it controls which service's action is parsed first (builder.Services.AddBlogService<FrontMatter>) which can be done by simply arranging the code in Program.cs.
is there another use case that I'm not aware of?

It is exactly for that -> controlling the order of actions added via AddBeforeFilesGenerationAction.
Unfortunately this:
//Will output "From AddBlazorStaticService..." first, then parse the blog posts
builder.Services.AddBlazorStaticService(opt => {
    opt.AddBeforeFilesGenerationAction(() => Console.WriteLine($"From AddBlazorStaticService: {DateTime.Now}"));
});
builder.Services.AddBlogService<FrontMatter>();

will result in the same output as:
//the same result no matter the order of services
builder.Services.AddBlogService<FrontMatter>();
builder.Services.AddBlazorStaticService(opt => {
    opt.AddBeforeFilesGenerationAction(() => Console.WriteLine($"From AddBlazorStaticService: {DateTime.Now}"));
});

The reason  behind this lays https://github.com/tesar-tech/BlazorStatic/blob/c93843aa2cab644ce4f13ac6f8737eadbbd56a20/src/BlazorStaticExtensions.cs#L100
AddBlazorStaticService adds the action there, while AddBlogService does nothing in this manner and "waits" for the UseBlog to add the parse action...
It's inconsistent, yes.
The action is add through BlazorStaticOptions, which is created in AddBlazorStaticService (and isn't accessible(??) in AddBlogService ).
I can think of a solution where BlazorStaticOptions is added (and used) also in AddBlogService (and check if it exist or not - same for the AddBlazorStaticService).
But I am not sure what is the best solution here.  Any idea?

I'm not very experienced in this area, but wouldn't it be better to let the user handle that themselves?
Remove AddBeforeFilesGenerationAction and let the user just call their function before any services are added, which is what i currently do to calculate the "read time" of my blogs:

string blogsPath = Path.Combine("Content","Blogs");

// static function that's always executed first
ModifyPosts.CalculateReadTime(blogsPath);

builder.Services.AddBlazorStaticService(opt =>
{
    // extended pipeline
    opt.MarkdownPipeline = pipeline;
});

builder.Services.AddBlogService<BlogsFrontMatter>(opt =>
{
    opt.BlogPageUrl = "Blogs";
    opt.ContentPath = blogsPath;
});

And the same can be done for the AfterBlogParsedAndAddedAction.
Or you can move AddBeforeFilesGenerationAction to AddBlogService then make both variables return the path / content of the posts related to that service
Example:

string blogsPath = Path.Combine("Content","Blogs");

builder.Services.AddBlazorStaticService(opt =>
{
    // extended pipeline
    opt.MarkdownPipeline = pipeline;
});

builder.Services.AddBlogService<BlogsFrontMatter>(opt =>
{
    opt.BlogPageUrl = "Blogs";
    opt.ContentPath = blogsPath;
    // only executed for this service
    opt.AddBeforeFilesGenerationAction = ModifyPosts.CalculateReadTime;
    opt.AfterBlogParsedAndAddedAction = ModifyPosts.DoSomethingAfter;
});

ModifyPosts.cs
public static class ModifyPosts
{
    // the path is kinda useless here since it's already known by the user
    // but also passing the content of the files will be a waste of memory
    // so in my opinion it's probably better to have no parameters here
    public static void CalculateReadTime(string[] postsPath)
    {
        // ...
    }

    public static void DoSomethingAfter(string[] postsPath, Post<BlogsFrontMatter> posts)
    {
        // ...
    }
}

Personally I prefer the first approach, what do you think?

Hm..
So you saying it has no real usage - and you are probably right. I haven't found a single usage of what was public Action? BeforeFilesGenerationAction { get; set; }.
I search through history and found it was renamed from AddExtraPages, and also the current comment
/// Optional usage for adding additional pages, i.e. docs pages
/// Is called in GenerateStaticPages, after all other pages are added

suggests it had a meaning back then, but has no meaning now. The docs pages are solved in program cs by using opt.PagesToGenerate https://github.com/tesar-tech/BlazorStatic/blob/c83d3ef52e496210d11f63258f4afcedb24b5265/BlazorStaticWebsite/Program.cs#L14C1-L20C6
From this perspective we can remove it... But the BlogService needs that..
I am thinking of the BlogService as an extension of core functionality. Anybody could write such extension and it should work the same. BlazorStatic should not be dependent on BlogService, but opposite (BlogService uses BlazorStaticService)...
That means we cannot go with your second proposition.
The first proposition steered me in a direction of removing the BeforeFilesGenerationAction (and related code) for good.
The only place where it is used is in UseBlog https://github.com/tesar-tech/BlazorStatic/blob/c93843aa2cab644ce4f13ac6f8737eadbbd56a20/src/BlazorStaticExtensions.cs#L99C1-L102C1 (that was previously the call to BlogAction)
blogService.ParseAndAddBlogPosts can be run directly in UseBlog.. That would make the UseBlog an async method which would result in await app.UseBlog<FrontMatter>(); which is not typical (but probably acceptable (??))
I want to "hide" as much code as possible to be able to use the blog with just AddBlogService and UseBlog. Also it needs the opt.PagesToGenerate at some point -> these are reasons why we cannot "do it outside"...
So:

Opt1: remove the BeforeFilesGenerationAction, call it in UseBlog and make it async.
Opt2:  Just remove the IsParsingAsFirstAction because it effectively used nowhere and keep option to add an action...
Opt3: ??

I kind of like the opt1, but I feel we will need a mechanism for adding the actions in some usecases in a future. Some mechanism that will change/use the PagesToGenerate after they are gathered and parsed, but before they are generated (which differs from your time to read computation mechanism, because you don't use the PagesToGenerate)...
Thank you for your suggestion and ideas, it is moving the lib into the right direction!

From this perspective we can remove it... But the BlogService needs that..

you can temporarily change the access modifier of AddBeforeFilesGenerationFunc and AddBeforeFilesGenerationAction to internal (duct tape fix without breaking anything)

Opt1: remove the BeforeFilesGenerationAction, call it in UseBlog and make it async.

does it really need to be async? looking at the code the only reason the parse function is async is because of the usage of File.ReadAllTextAsync can't we just replace that with File.ReadAllText?
and if it has to be async then you can use the duct tape solution...

Also it needs the opt.PagesToGenerate at some point

what's the difference between PagesToGenerate and AddBlogService? from my testing AddBlogService parses all the files it finds (that follow the pattern defined in PostFilePattern) even if they don't contain any front matter.
So is it not possible to replace opt.PagesToGenerate with AddBlogService?

Thank you for your suggestion and ideas, it is moving the lib into the right direction!

Happy to help, I really like c# and this project gave me an excuse to keep using it. (my experience with jekyll was bad)

Removing the async variant would solve the "issue", but I feel it is a workaround, that will fire back.
The need to execute "some" async code after the pages are gathered is real.
I don't exactly understand your question about PagesToGenerate vs AddBlogService. PagesToGenerate is a list of pages that will be generated once the UseBlazorStaticGenerator is called... AddBlogService setups the BlogService, that is used together with BlazorStaticService and its options to add items into PagesToGenerate..
I have removed the IsFirst property and change the overloads for adding the actions/func... But kept it there.

Sorry I didn't know what's PagesToGenerate used for at first.
I thought it's just an option for the user to add extra pages "so it can be removed and replaced by just making another service for those pages" is what I was thinking but now I understand it's purpose after looking at the code further.
Also can you expand on the async part? because I tried to make the code synchronous (branch: test/synchronous) and the only method that needs to be async is
https://github.com/tesar-tech/BlazorStatic/blob/c93843aa2cab644ce4f13ac6f8737eadbbd56a20/src/Services/BlazorStaticService.cs#L32
because it uses the HttpClient here:
https://github.com/tesar-tech/BlazorStatic/blob/c93843aa2cab644ce4f13ac6f8737eadbbd56a20/src/Services/BlazorStaticService.cs#L64
everything else can be synchronous
the only use that I see for async is for AddBeforeFilesGenerationAction(Func<Task> func), but all async code can be forced to run synchronously and since this project converts Blazor to a static site there's no benefit of running code asynchronously (async is used to not block the UI thread, but the site is static so you don't want any async code)

The AddBeforeFilesGenerationAction is public method and is expected to be used by users for anything they will need.
Currently yes -> the only usage of AddBeforeFilesGenerationAction I have for the website can be done synchronously as you proved. But I would rather stick to the async options, because it is a common practice when building a website.. Yes - for static site generator it can be bended to be synchronous, probably without significant perf impact, but I would like to keep the promis of "you create your normal Blazor site as you are used to and then just add BlazorStatic and it will work with that..."
I can imagine someone will be asking "how to add async action to beforeFilesGenerationAction?"...
Also by using async methods in ParseAndAddBlogPosts, this:
foreach (string file in files)
        {
            var (htmlContent, frontMatter) = await helpers.ParseMarkdownFile<TFrontMatter>(file,

        (options.MediaFolderRelativeToContentPath, options.MediaRequestPath));

            if(frontMatter.IsDraft) continue;

            Post<TFrontMatter> post = new()
            {
                FrontMatter = frontMatter,
                Url = GetRelativePathWithFilename(file),
                HtmlContent = htmlContent
            };
            options.Posts.Add(post);

            blazorStaticService.Options.PagesToGenerate.Add(new($"{options.BlogPageUrl}/{post.Url}", Path.Combine("blog", $"{post.Url}.html")));
        }

Can be optimized by not waiting for the parsing to finish for every single file:
var tasks = files.Select(async file =>
{
    var (htmlContent, frontMatter) = await helpers.ParseMarkdownFile<TFrontMatter>(file,
        (options.MediaFolderRelativeToContentPath, options.MediaRequestPath));

    if (frontMatter.IsDraft) return null;

    var post = new Post<TFrontMatter>
    {
        FrontMatter = frontMatter,
        Url = GetRelativePathWithFilename(file),
        HtmlContent = htmlContent
    };
    options.Posts.Add(post);

    blazorStaticService.Options.PagesToGenerate.Add(new($"{options.BlogPageUrl}/{post.Url}", Path.Combine("blog", $"{post.Url}.html")));

    return post;
});

var posts = await Task.WhenAll(tasks);

// Filter out the null results (drafts)
posts = posts.Where(post => post != null).ToList();

And it is probably not just this one.
I haven't solved such perf "issue" yet, because for small scale websites like a blog the absolute difference will be insignificant... But again - foreseeing the future - in will matter and it is good to be prepared.

Thanks for clarifying, I hope I didn't annoy you with all these questions...

Not at all. I am happy to have such discussions!
Thanks for the PR, it was longer than I expected, but it was productive!

@MeltyObserver Haven't you encounter an issue with wrong folder for generated "non-blog" blogs? I've solve it in: https://github.com/tesar-tech/BlazorStatic/pull/13/commits/a66eddb9a95ceb81059ac97e93179e82ec971ad5 , previously it was hardcoded for "blog"..
I made some refactoring on the way and the "secondary" front matter works.
One thing that bothers me a bit is the naming. BlogService and UseBlog don't fit well if you use it for - for example - projects.:
.AddBlogService<ProjectFrontMatter>(opt => {
    opt.MediaFolderRelativeToContentPath = null;
    opt.ContentPath = Path.Combine("Content", "Projects");
    opt.AddTagPagesFromPosts = false;
    opt.BlogPageUrl = "projects";
});

My idea is to rename everything blog related to ContentSection.. ContentSectionService, UseContentSection<ProjectFrontMatter>, opt.ContentSectionUrl, etc..
I will merge this now, but we can continue the discussion here or in Discord.


Allow passing a custom database when creating the Service

Relevant for #2416
Right now the substrate-client-db crate has a kvdb-rocksdb compile-time feature. When enabled (which is the case by default), we use RocksDB. When disabled (which is the case for the in-browser experiments), we print a warning and use the memorydb instead.
This pull request modifies this mechanic.
In both substrate_service::config::Configuration and substrate_client_db::DatabaseSettings it is now possible to pass either a path to a database, in which case it will be opened using RocksDB, or a custom implementation of the kvdb::KeyvalueDB trait. The in-browser node would manually open a database (using the browser's local-storage) and pass it at initialization.
The kvdb-rocksdb feature still exists in substrate_client_db. If it is disabled, we return an error at initialization in the case of a path to a database. This is safer than just printing a warning. Another option could be to simply remove at compile-time the option to pass a path, rather than producing a runtime error, but from my experience putting items behind Cargo features usually becomes a source of annoying compilation errors.
Thanks to this change, I also slightly cleaned up substrate_client_db::Backend::new_test.

LG in general, minor grumbles


arch: arm: nordic_nrf: Restore copyright years

A previous commit had mistakenly overwritten the copyright years instead
of extending the range. Fix this mistake so that the proper range is
recorded.
Signed-off-by: Carles Cufi<EMAIL_ADDRESS>

Codecov Report

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

@@            Coverage Diff             @@
##           master    #6717      +/-   ##
==========================================
+ Coverage   54.07%   54.07%   +<.01%
==========================================
  Files         442      442
  Lines       41916    41916
  Branches     7970     7970
==========================================
+ Hits        22665    22666       +1
+ Misses      16051    16050       -1
  Partials     3200     3200

Impacted Files
Coverage Δ

kernel/posix/pthread.c
69.5% <0%> (+0.5%)
:arrow_up:

Continue to review full report at Codecov.

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

recheck


Update to Angular 11

Hi Formio
When will get the update to the latest version of Angular (11)?
Thank You

I am hoping to work on it this week.


Android TV app does not let me sign in

Device: Sony Bravia X750H
Android TV OS Version: 11
I tried signing in by typing the authentication details and it signed in and crashed on the home page. It crashes on relaunch.
I cleared data and reinstalled it and tried to sign in using the QR method, and it gives me the error
Value null of type org.json.JSONObject$1 cannot be converted to JSONArray.

Fix: Add a list of played songs/albums to the account.
The app crashes on any page or section that is empty.

I experienced the same issue.
My goal was to use this app on my TV, I did not have any existing Subsonic/Airsonic set up.
Here's the steps of what I did:

Install Navidrome docker
Point it to my music and ensure it can see it
Create my androidtv user
Go straight to the TV, install SonicLair and try to connect.

I had the same failures as AvMavs - the app would crash on startup until I had items shown in Navidrome in:

Albums -> Favorites (hearted a random album in collection)
Albums -> Top rated (starred a random album in collection)
Albums -> Recently Played (played something on the web app with my androidtv user)
Albums -> Most Played (played something on the web app with my androidtv user)

After I had items shown in Navidrome for all of those folders, SonicLair was now able to work on my TV.
SonicLair on a phone did not care about these and worked right away, only the TV version was affected.
It appears a user with a well established Subsonic server set up would not be affected, only new users like me.
The way I use this set up, I can easily wipe the Navidrome DB and start from scratch, so I can easily reproduce it or capture debugging info, packet captures, etc. so dev(s) please let me know if I can provide anything to help :)


version tag pointing to months old code

its quite possible your tags are all messed up or the examples don't run in any version

i guess the examples are not meant to run from cargo on purpose...my bad


How to listen to events in Vue 3?

I can't figure out how to listen to material component custom events in Vue 3.
The following doesn't work:
<mwc-drawer ref='drawer' @MDCDrawer:opened='opened'>

Where as this does:
onMounted(() => {
    drawer.value.addEventListener('MDCDrawer:opened', () => {
        console.log('opened')
    })
})

Is this an issue with Vue 3 or am I not using the material custom elements correctly?

It's probably having to do with the :. I do not know if there is a way to escape an event name in Vue. Maybe you could ask on their GitHub or discord community.

Vue 3 cannot listen for mixed case native events (Vue 3 issue #2460).
The response to the issue when it was raised, was that Vue core lowercases event names because for normal events they have to lowercase the first character 'onClick' -> 'click'.

Shouldn't be an issue in M3 anymore since we don't use : in our event names


One to Many join - All, Any or Count clause on many

Hello,
Would it be possible to add implement Count, Any or All when joining with a entity that has a many relationship with the current entity?
Example Any:
_db.Addresses.GetAll(a => a.Users.Any(u => u.Deleted));
_db.Addresses.GetAll(a => a.Street == "Test street" && a.Users.Any(u => u.Deleted));
Example Count:
_db.Addresses.GetAll(a => a.Users.Count(u => u.Deleted) == 0);
Example All
_db.Addresses.GetAll(a => a.Users.All(u => u.Deleted) == 0);
Note: Simply implemented one of these, like Count, would be enough.

ghost...
I'm not sure, that this is important feature.


[platform] Simplify ConfigurationManager::RunUnitTests()

Currently, on most platforms RunUnitTests() is implemented by GenericConfigurationManagerImpl by forwarding the call to another virtual method RunConfigUnitTest() that calls ConfigClass::RunConfigUnitTest() that in turn either runs the unit test or not, depending on the platform.
Simplify this to remove boilerplate code by running the unit tests directly in GenericConfigurationManagerImpl:: RunUnitTests() and let platforms override this method if needed.
Also, include RunUnitTests() in ConfigurationManager interface only if CHIP_CONFIG_TEST is enabled. That helps save even ~1kB flash on Zephyr platforms.

Actually, this causes build failures on certain platforms. I'll create another PR that simply adds #if CHIP_CONFIG_TEST instead.


Update chef-client to 14.4.56

This eliminates the need for the openssl cookbook, which slims down chef-server a small bit.
Signed-off-by: Tim Smith<EMAIL_ADDRESS>

Thanks @markan. Travis green really doesn't mean much here. Thanks for kicking off a Jenkins job.


Directory resource fails due to Insufficient Permissions

ChefDK 0.4.0 with Chef Client 12.0.3
Directory resource fails to create directories in some folder paths - even though permissions do not appear different.
#Worked
chef-apply --% -e 'directory "c:/users/administrator/test"'
#Failed
chef-apply --% -e 'directory "c:/users/administrator/desktop/test'
#Worked
chef-apply --% -e 'directory "c:/test'
#Failed
chef-apply --% -e 'directory "c:/users/test'

Originally reported against ChefDK - https://github.com/chef/chef-dk/issues/340

Related to https://github.com/chef/chef/pull/2896 ?

Possibly.. Tracking it down now

I tested with
 chef-apply --% -e 'directory "c:/Users/Administrator/Desktop/test"'

against Server 2012 with
Chef Client 11.6.0 - FAILED
Chef Client 11.18.6 - FAILED
Chef Client 12.0.3 - FAILED
Chef Client 12.1.2 - SUCCESS
I'll do some more complete testing, but this only affects certain directories (principally, maybe only, in the local Administrator user profile).

@jdmundrawala Yeah, looks very much related to that PR, since it is resolved in 12.1.x


Front-door extension missing in publicly available list

Hi,
We were using az extension add --name front-door command for front-door extension to run the front-door related scripts in AZ CLI task for DevOps.

As of now its not there in the available extensions. Let us know if something has been changed as related document doesn't have any modifications.
Refer snapshot for more details:

Please respond asap.

What appears if you run az extension list-available -otable? What version of the CLI are you running?

@kaushik-hemant Is this issue solved?

closed this issue since no update. Feel free to open a new one  if you still encounter such issue.


Developing Theme

I don't know coding. I can only offer suggestions. I can report bugs.
1-

2-
The borders on the blog page can be made round.
3-
Mobile compatibility can be added.

I can't test the first question, do u have any demo site to show me ?

the second and third are OK in the next v2.0.2 .

https://durpoy.com

Maybe it is ok now, please update to v2.0.4~
the Ext.blog mobile compatibility will be added in v2.0.5

1-
https://durpoy.com/blog/2-cloudflare-err-connection-refused-cozumu

2-
same

Check out the cache and try again XD

Can you sign up for the site and give it a try? I am still the same. I opened the registration. There is an e-mail confirmation.

The header in the blog article is fine. Other links are broken. Sample pictures:

please add these code, and F5 try again：
span.Avatar {
    display: inline-flex!important;
}

please update to v2.0.5 to fix this problem~ 🤣

Fixed.
I can't develop the theme myself because I don't know coding. Can you do if I have any other suggestions? (if the suggestions are simple)

Its OK 😘

Can you add compatibility to the theme for widget extensions? You have a membership on the site. You can try.

OK，fixed it

Can we separate the tags and the top menu? It may be a different design.

Can you add compatibility to the Last Registered Users extension?
https://discuss.flarum.org/d/28923-last-registered-users-widget

Icannot separate the tags and the top menu~ the latest one is OK in v2.0.7

update to v2.0.7

I will update with other bugs later, the rendering is shown in the figure~

I will close this issue.

Support for sidebar extension last-registered-users-widget separately
Targeted optimization of all tab pages
Support the Ext.blog on mobile
Fixed some bugs

composer update yannisme/oxotheme
php flarum cache:clear


Implement Remark feature

As part of adding comments to each job applicant, Remark feature will be implemented

Completed. Test implemented


Image loading, additional twig functions

Changed asset naming
Added two additional twig functions

webpack_file_asset (image loading)
webpack_css_asset

related to https://github.com/mariusbalcytis/webpack-bundle/issues/7

Thanks for taking time for this!
Sorry, that I didn't inform that I was working on somewhat different solution for this problem:

entry-file-loader requires to disable all configured loaders
entry-file-loader has it's own configuration, separate from file-loader. This can cause duplicate files being generated
there is additional twig function for almost the same effect - webpack_asset with second parameter does almost the same as webpack_file_asset from client point of view. If css (or less) file would be loaded as entry, it would work, but not with webpack_file_asset

So, I made a different loader - extract-file-loader to be used with file-loader.
Also I made it to work with webpack_asset function - if second argument is not passed, it guesses it. It involves some configuration for rarer cases, but by default should work in most.
Any comments are welcome - maybe I overlooked some use-case where this would not be so practical.
CSS function is still missing, but I'm not sure about it's naming - should it be different than webpack_asset to indicate that it outputs some HTML code? For example webpack_css_tag etc. Or maybe it would be better to make it as in assetic - with tag? For example:
{% webpack_stylesheets 'asset.js' %}<link rel="stylesheet" href="{{ asset }}"/>{% end_webpack_stylesheets %}
Thanks for the code, mine was practically based on your idea.

@mariusbalcytis
+1 I am aware of the entry-loader issues and was planning to solve it in a similar way. Disabling other loaders was just a temporary solution.
I actually agree with everyting and I am in favor of the webpack_stylesheets tag not only because of HTML/XHTML - the context is unknown.

@mariusbalcytis
I am looking for functionality to replace Assetic's bundling of resources as  {% javascripts ...  <script src="{{ asset_url }}"></script> {% endjavascripts %}.
Tag webpack_javascripts seems to be the solution but I found out it doesn't merge files. Is there any reason for that and maybe anyone else needs this feature (bundling)?
Thanks.

I would not like to make this (at least by default) because of several reasons:

it's not really "webpack" way. Assets are to be bundled inside your javascript files, like var jquery = require('jquery'); etc. That's the whole beauty of using webpack in the first place;
if assets that you are including are big vendor files (and not your several small files), it makes more sense not to merge them into a single file. If single file changes, browser does not have to download all merged assets - it could reuse cached ones. It makes even more sense when used with HTTP/2.

For caching to work well, one should configure nginx (or other used server) to serve static javascript files with long-term cache headers (like at least a year). Of course, only javascript files with unique filenames should be used for this to work correctly.
If you're interested, you could take a look at webpack-migration-bundle which finds Assetic tags and replaces them with webpack_asset function calls.
If you would still think that merging files would be useful, could you create another issue?


Use new VSC API to disable activation of shells

The PR for https://github.com/microsoft/vscode-python/issues/8928 will introduce ability to prevent activation of hidden shells if they start with a specific name.
This is a temporary solution, untill VSC publish their API that will tell us whether a shell is hidden or not.
The requirement is simple:

When VSC publishes their new API, remove this named prefix, and activate shells if not hidden (based on the new TerminalOptions property).

@DonJayamanne Do we have link / info about the new API? Not sure if this is blocked currently by upstream or ready to work on.

We can close this. It was done and tracked in another core extension issue


Add loki compactor component

This PR addresses the missing loki compactor component for a boltdb-shipper only setup. The compactor takes the following duties formerly executed by queriers:

Deduplicate index entries
Optimize index file sizes for faster uploads from/downloads to S3 shared storage.

Further important characteristics introduced by the compactor component:

Makes the index write cache obsolete, as this duty is part of the compactor.
Makes use of PVCs as a local performance optimization when compacting downloaded indices from S3.

Depends on: #354 (Loki 2.0.0)

/lgtm


preprocess stops even tho it's not fully done.

Whenever I try to process data it starts but after a few sec it will suddenly stop and end the preprocess even tho it's not yet fully done.

too many threads at once will cause strange behavior
i always set it low to prevent this, even though it's a suboptimal solution

I tested it with less threads but it's still didn't fix the problem.

i tried using this instead and when i did the preprocessing it worked fine?


jupyterlab version causing unreadable notebook

On the current version we were getting 'Unreadable Notebook' on 1_Segment_image_data.ipynb

We had to update jupyterlab inside the container to 3.4.6 in order for it to work...
Singularity> pip install jupyterlab==3.4.6

@jd-daniels can you restart your Docker container, run pip list inside it, and send me the output?

@jd-daniels any update on this?


Radiant CMS - Application Error when logging in

I've installed the Radiant CMS on my Ruby on Rails app, and the install was (seemingly) successful. However when I navigate to: www.myserver.com/admin, I typed in my username and password, hit the submit button, and get the below error:

Application error
Change this error message for exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code) in public/500.html

Does anyone know why this might be? See the gist of my console log below:
> [2016-02-15 06:49:12] WARN  Could not determine content-length of
> response body. Set content-length of the response or set
> Response#chunked = true /!\ FAILSAFE /!\  2016-02-15 06:49:16 +0000
> Status: 500 Internal Server Error   undefined method `options?' for
> #<Rack::Cache::Request:0x00000003a1a380>

I have the same problem!
=> Ctrl-C to shutdown server
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on <IP_ADDRESS>:8080, CTRL+C to stop
/!\ FAILSAFE /!\  2016-04-06 09:54:14 +0000
Status: 500 Internal Server Error
undefined method options?' for #<Rack::Cache::Request:0x00000004f63ae8>     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-cache-1.6.1/lib/rack/cache/context.rb:71:in call!'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-cache-1.6.1/lib/rack/cache/context.rb:51:in call'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/actionpack-2.3.18/lib/action_controller/string_coercion.rb:25:in call'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/head.rb:9:in call'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/methodoverride.rb:24:in call'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/actionpack-2.3.18/lib/action_controller/params_parser.rb:15:in call'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/actionpack-2.3.18/lib/action_controller/session/cookie_store.rb:99:in call'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/actionpack-2.3.18/lib/action_controller/failsafe.rb:26:in call'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/lock.rb:11:in block in call'
internal:prelude:10:in synchronize'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/lock.rb:11:in call'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/actionpack-2.3.18/lib/action_controller/dispatcher.rb:106:in call'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rails-2.3.18/lib/rails/rack/static.rb:31:in call'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/urlmap.rb:47:in block in call'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/urlmap.rb:41:in each'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/urlmap.rb:41:in call'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rails-2.3.18/lib/rails/rack/log_tailer.rb:17:in call'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/content_length.rb:13:in call'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/chunked.rb:15:in call'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/thin-1.6.4/lib/thin/connection.rb:86:in block in pre_process'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/thin-1.6.4/lib/thin/connection.rb:84:in catch'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/thin-1.6.4/lib/thin/connection.rb:84:in pre_process'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/thin-1.6.4/lib/thin/connection.rb:53:in process'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/thin-1.6.4/lib/thin/connection.rb:39:in receive_data'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/eventmachine-<IP_ADDRESS>/lib/eventmachine.rb:194:in run_machine'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/eventmachine-<IP_ADDRESS>/lib/eventmachine.rb:194:in run'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/thin-1.6.4/lib/thin/backends/base.rb:73:in start'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/thin-1.6.4/lib/thin/server.rb:162:in start'     /usr/local/rvm/gems/ruby-1.9.3-p551/gems/rack-1.1.6/lib/rack/handler/thin.rb:14:in run'
/usr/local/rvm/gems/ruby-1.9.3-p551/gems/rails-2.3.18/lib/commands/server.rb:111:in <top (required)>'     script/server:3:in require'
script/server:3:in `'

I'm also experiencing this issue. I followed the step-by step guide here >> https://github.com/radiant/radiant/wiki/Installing-on-Ubuntu
but when i try to log in using the username/password configured during installation, i get this in the terminal...
 SQL (0.1ms)   SELECT DISTINCT class_name FROM pages WHERE class_name <> '' AND class_name IS NOT NULL
/!\ FAILSAFE /!\  2016-06-21 09:54:12 +0100
  Status: 500 Internal Server Error
  undefined method `options?' for #<Rack::Cache::Request:0x00000005974780>
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-cache-1.6.1/lib/rack/cache/context.rb:71:in `call!'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-cache-1.6.1/lib/rack/cache/context.rb:51:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/actionpack-2.3.18/lib/action_controller/string_coercion.rb:25:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-1.1.6/lib/rack/head.rb:9:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-1.1.6/lib/rack/methodoverride.rb:24:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/actionpack-2.3.18/lib/action_controller/params_parser.rb:15:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/actionpack-2.3.18/lib/action_controller/session/cookie_store.rb:99:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/actionpack-2.3.18/lib/action_controller/failsafe.rb:26:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-1.1.6/lib/rack/lock.rb:11:in `block in call'
    <internal:prelude>:10:in `synchronize'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-1.1.6/lib/rack/lock.rb:11:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/actionpack-2.3.18/lib/action_controller/dispatcher.rb:114:in `block in call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/actionpack-2.3.18/lib/action_controller/reloader.rb:34:in `run'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/actionpack-2.3.18/lib/action_controller/dispatcher.rb:108:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rails-2.3.18/lib/rails/rack/static.rb:31:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-1.1.6/lib/rack/urlmap.rb:47:in `block in call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-1.1.6/lib/rack/urlmap.rb:41:in `each'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-1.1.6/lib/rack/urlmap.rb:41:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rails-2.3.18/lib/rails/rack/log_tailer.rb:17:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-1.1.6/lib/rack/content_length.rb:13:in `call'
    /home/work/.rvm/gems/ruby-1.9.3-p551@radiant/gems/rack-1.1.6/lib/rack/handler/webrick.rb:48:in `service'
    /home/work/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
    /home/work/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
    /home/work/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

thanks

I found that adding gem 'rack-cache', '~>1.2.0' to Gemfile fixes this issue.


unable to access https://docs.docker.com/engine/admin/ambassador_pattern_linking.md

Problem description

Problem location

I saw a problem on the following URL:

I couldn't find the information I wanted. I expected to find it near the following URL:

Other:

Project version(s) affected

Suggestions for a fix

@Niteshbhat Thank you for the feedback. I was not able to find this URL within our docs. Could you let me know where you found this URL? Also, please let me know the information you are looking for?

closing as this looks to have gone stale


#36 refactor the search code to allow future multi criterium search

Issue :  https://github.com/archaiodata/thacer/issues/36
Description :
This PR put the search mechanisms for the input search, which were used in 2 places (for localised and unlocalised elements), in a separate independent function.
It will allow then to more easily implement multi criterium search.
Please note that both search were slightly different, they are now the same (I kept the search which was used for localised element)

@AlZorba voila, c'est prêt pour code review


feat: optional Watson assistant access policies

Description

Optionally add access policies targeting Watson assistant resources created by the DA (assistant, skills, environment)

The target use case: multiple teams are deploying their stack configuration, using the same Watson Assistant service instance and only will get editor access to the assistant "workspace" that their stack deployment creates.
Policies are added to an existing access group named in existing_wa_access_group_name parameter
The group is likely to be configured to include other access policies related to the solution deployment, so it's not quite practical to create a new access group at this point
Watson resource access roles are set to "Reader", "Writer", "Viewer", "Editor"
Uses terraform-ibm-iam-access-group module

Fix for uppercase characters in prefix that would cause a validation error with Elastic index

Release required?

[ ] No release
[X] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline


[BUG] Cluster network stuck in Not Ready

Describe the bug
Cluster Network/Config could be created successfully, but unable to select (the created Cluster Network) in VM Network because it shows Not Ready.
re-create it will not fix the bug.
To Reproduce
Steps to reproduce the behavior:

Install Harvester with any nodes
Create Cluster Network and relevant Cluster Config
Create VM Networks

Expected behavior
Cluster Network should not stuck in Not Ready status or User should able to know why it stuck.
Environment:

Harvester ISO version: master-8f2dbbd3-head
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): Baremetal DL360 3 nodes

Additional context

Support bundle
supportbundle_6cf40dbc-5754-4b3a-927d-c1887885ae33_2023-02-16T05-28-14Z.zip

The issue has been fixed in https://github.com/harvester/charts/pull/141, and could be tested in v1.1.2-rc1.
The UI issue will track in https://github.com/harvester/harvester/issues/3488

Verified this bug probably fixed, I tested in 31 times and didn't encounter it.
Test Information

Environment: baremetal DL360G9 3 nodes
Harvester Version: v1.1.2-rc1
ui-source Option: Auto

Verify Steps:

Install Harvester with any nodes
Run the code snippets[^1] as below to retry

import sys
import json
from datetime import datetime, timedelta

import urllib3

from harvester_api import API

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

def loop(api, n=30):
    for idx in range(n):
        print(f"tick {idx}")
        code, data = api.clusternetworks.create('vlan1238')
        assert 201 == code, (code, data)
        code, data = api.clusternetworks.create_config("port1", "vlan1238", "eno50")
        assert 201 == code, (code, data)
        code, data = api.networks.create('1238', 1238, cluster_network='vlan1238')
        assert 201 == code
        endtime = datetime.now() + timedelta(seconds=60)
        while endtime > datetime.now():
            code, data = api.networks.get('1238')
            assert 200 == code
            route = data['metadata']['annotations']['network.harvesterhci.io/route']
            if "connectivity" in route:
                break
        assert json.loads(route).get('connectivity'), route
        print("tock")
        assert 200 == api.networks.delete('1238')[0]
        assert 200 == api.clusternetworks.delete_config('port1')[0]
        assert 200 == api.clusternetworks.delete('vlan1238')[0]

if __name__ == '__main__':
    endpoint = sys.argv[0]
    password = sys.argv[1]
    api = API.login(endpoint, 'admin', password, ssl_verify=False)
    loop(api)

[^1]: harvester_api could be installed in https://github.com/harvester/tests


Revamp field type API

Motivation
Some types are underused and other could use a cleanup. We need to provide a simple yet intuitive API in most cases.
Proposal

[DONE] Deprecate the following unnecessary types:

positiveNumber - Validators are easy to add for positivity
stringOrNumber - These primitives do not share many common properties are are easy to cast regardless

Revamp the object type in order for it to accept a customizable shape value. This will help objects be well-defined in the future and type-checked thoroughly
Potentially clean up typed array and object types to allow for a simpler syntax.

Considerations

If we specify a select few types in the API, it might be possible to move most of the regular validation to the Field itself or better yet create individual Field subclasses for types to allow more flexibility and make it easier to update over time.

Update: #40 addressed obsolete type deprecations.

Resolved in #45. Object types are completely deprecated now.


sendmsg: Fix padding for ControlMessages, and zero it rather than leave it uninitialised

I hit a valgrind complaint sending a single fd over a single ControlMessage. Nix was handing a length including padding to the sendmsg syscall, but the padding bytes were unaddressable (i.e. not just uninitialised, but after the end of the Vec, which is not good).
This fixes that. It possibly fixes/affects #756, as the old behaviour of not padding between ControlMessages despite the padded length being what's passed to the syscall seemed wrong. That however is yet to be tested.
Feel free to not accept until I/someone else gets a chance to more thoroughly test, I'm making it so that if someone else bumps into this problem they have something to go on in the meantime.

Thanks for the bug report.  Could you also please add a test case that demonstrates the problem?  Perhaps a unit test for encode_into?

Sigh, the encoding seems to be broken beyond a single cmsg. When several cmsg are given only first is encoded but the size blows up to the point kernel starts to throw back excessive length. On top copy seems to be weird as well, it seems to copy @ the end. In short, it shows there are not unit tests for that stuff ...  Yes, unit-test for encode_into needed ...

Did more work & IMO there's a clear bug when you add stuff where cmsg.len() is not = cmsg.size(). Here's the necessary diff ... After I fixed that one multiple CMESG started to work so it seems the padding alignment code is actually working ...
pub fn sendmsg<'a>(fd: RawFd, iov: &[IoVec<&'a [u8]>], cmsgs: &[ControlMessage<'a>], flags: MsgFlags, addr: Option<&'a SockAddr>) -> Result<usize> {
    let mut capacity = 0;
    for cmsg in cmsgs {
        capacity += cmsg.space();
    }
    // Note that the resulting vector claims to have length == capacity,
    // so it's presently uninitialized.
    let mut cmsg_buffer = unsafe {
        let mut vec = Vec::<u8>::with_capacity(capacity);
        vec.set_len(capacity);
        vec
    };
    {
        let mut ofs = 0;
        for cmsg in cmsgs {
            let mut ptr = &mut cmsg_buffer[ofs ..];
            unsafe { cmsg.encode_into(&mut ptr) };
            ofs += cmsg.space();
        }
    }

Thanks for tracking this down!  Could you please submit your change in PR form, along with a test case?


[Pickers] Fix cancel behaviour in MobileDatePicker

Closes #30731
Added an onCancel prop to PrivateWrapperProps to use in the mobile picker components cancel button to revert the changes.

Hi @mnajdova, added the test cases.

@mnajdova
I can confirm in this codesandbox that the issue is indeed fixed.

I can confirm in this codesandbox that the issue is fixed.
Codesandbox before the fix: https://codesandbox.io/s/eloquent-feather-iznb0?file=/src/Demo.tsx

@flaviendelangle FYI

Thanks, I'm reproducing it on MUI-X :+1:


Not compatible with strict loading by default

It looks like some of the queries aren't compatible with a strict_loading_by_default configuration.
With this configuration in application.rb, solid_queue doesn't work.
config.active_record.strict_loading_by_default = true

I will try to find some time to dig into his and open a fix.

I spent an absurd amount of time trying to strict load the gem's models. :sob:
I don't think it's worth it. I opened a PR (#375) to turn strict loading off explicitly on the models. This will allow apps with strict_loading_by_default enabled to use the gem without crashing.
Here's the (WIP) patch to enable strict loading inside of the gem just to give an idea: https://github.com/JoeDupuis/solid_queue/pull/1


Deprecation warnings from deprecated hashes

Just recently I started getting these deprecation warnings:
[ec2-user@jenkins ~]$ credstash -h
/usr/bin/credstash.py:55: DeprecationWarning: The RIPEMD160 hash was deprecated in version 1.9.
  'RIPEMD': hashes.RIPEMD160,
/usr/bin/credstash.py:56: DeprecationWarning: The Whirlpool hash was deprecated in version 1.9.
  'WHIRLPOOL': hashes.Whirlpool,
...

These have been removed from the cryptography library see:
https://github.com/pyca/cryptography/blob/4c41ab087d4fa741ced2a8aba6fd38b20137f42b/CHANGELOG.rst#id1

Today cryptography 2.1 removed these deprecated hashes. I'm not sure why, but this means credstash users have to pin cryptography to an earlier release, eg cryptography==2.0.3


changed 'faculty' to 'instructor' in the main page proposal

We went into the slcManagement.html file and changed  html tag from "Faculty" to "instructor" in line 23 of the html.

We changed "Instructor" to "Instructor(s)" since some courses have more than one instructors and also changed "Courses" to "Course."


Source-controller runs out of memory (OOMKilled)

My source-controller seems to run out of memory often, is there a way to mitigate without increasing memory limits?
k -n flux-system describe pod source-controller-64965c7465-nnvl4
Name:         source-controller-64965c7465-nnvl4
Namespace:    flux-system
Priority:     0
Node:         pool-stronger-8brz0/<IP_ADDRESS>
Start Time:   Fri, 14 May 2021 19:30:42 +0200
Labels:       app=source-controller
              pod-template-hash=64965c7465
Annotations:  prometheus.io/port: 8080
              prometheus.io/scrape: true
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/source-controller-64965c7465
Containers:
  manager:
    Container ID:  containerd://b72a87dfb48d2a11cfb9aca2083159c097ff9091cce1e22ae7796a6d3f136573
    Image:         ghcr.io/fluxcd/source-controller:v0.8.0
    Image ID:      ghcr.io/fluxcd/source-controller@sha256:50245bba34b1db3741de84c9d2f5b947abcb2d9ec37c311daf5d03753519d738
    Ports:         9090/TCP, 8080/TCP, 9440/TCP
    Host Ports:    0/TCP, 0/TCP, 0/TCP
    Args:
      --events-addr=http://notification-controller/
      --watch-all-namespaces=true
      --log-level=info
      --log-encoding=json
      --enable-leader-election
      --storage-path=/data
      --storage-adv-addr=source-controller.$(RUNTIME_NAMESPACE).svc.cluster.local.
    State:          Running
      Started:      Wed, 22 Dec 2021 13:15:17 +0100
    Last State:     Terminated
      Reason:       OOMKilled
      Exit Code:    137
      Started:      Wed, 22 Dec 2021 13:09:37 +0100
      Finished:     Wed, 22 Dec 2021 13:10:10 +0100
    Ready:          True
    Restart Count:  839
    Limits:
      cpu:     1
      memory:  1Gi
    Requests:
      cpu:      50m
      memory:   64Mi
    Liveness:   http-get http://:healthz/healthz delay=0s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:
      RUNTIME_NAMESPACE:  flux-system (v1:metadata.namespace)
    Mounts:
      /data from data (rw)
      /tmp from tmp (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from source-controller-token-5r7kw (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  data:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  tmp:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  source-controller-token-5r7kw:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  source-controller-token-5r7kw
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  kubernetes.io/os=linux
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                    From     Message
  ----     ------     ----                   ----     -------
  Warning  Unhealthy  26m                    kubelet  Readiness probe failed: Get "http://<IP_ADDRESS>:9090/": read tcp <IP_ADDRESS>:45962-><IP_ADDRESS>:9090: read: connection reset by peer
  Warning  Unhealthy  25m (x224 over 178d)   kubelet  Readiness probe failed: Get "http://<IP_ADDRESS>:9090/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  24m (x171 over 178d)   kubelet  Liveness probe failed: Get "http://<IP_ADDRESS>:9440/healthz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
  Normal   Created    24m (x834 over 221d)   kubelet  Created container manager
  Normal   Started    24m (x834 over 221d)   kubelet  Started container manager
  Normal   Pulled     23m (x834 over 210d)   kubelet  Container image "ghcr.io/fluxcd/source-controller:v0.8.0" already present on machine
  Warning  Unhealthy  11m (x1470 over 221d)  kubelet  Readiness probe failed: Get "http://<IP_ADDRESS>:9090/": dial tcp <IP_ADDRESS>:9090: connect: connection refused
  Warning  BackOff    92s (x9134 over 210d)  kubelet  Back-off restarting failed container

k -n flux-system logs source-controller-64965c7465-nnvl4
{"level":"info","ts":"2021-12-22T12:03:58.288Z","logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":":8080"}
{"level":"info","ts":"2021-12-22T12:03:58.290Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"controller-runtime.injectors-warning","msg":"Injectors are deprecated, and will be removed in v0.10.x"}
{"level":"info","ts":"2021-12-22T12:03:58.291Z","logger":"setup","msg":"starting manager"}
I1222 12:03:58.292210       7 leaderelection.go:243] attempting to acquire leader lease flux-system/305740c0.fluxcd.io...
{"level":"info","ts":"2021-12-22T12:03:58.293Z","msg":"starting metrics server","path":"/metrics"}
I1222 12:04:14.594225       7 leaderelection.go:253] successfully acquired lease flux-system/305740c0.fluxcd.io
{"level":"info","ts":"2021-12-22T12:04:14.594Z","logger":"controller.bucket","msg":"Starting EventSource","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"Bucket","source":"kind source: /, Kind="}
{"level":"info","ts":"2021-12-22T12:04:14.594Z","logger":"setup","msg":"starting file server"}
{"level":"info","ts":"2021-12-22T12:04:14.594Z","logger":"controller.gitrepository","msg":"Starting EventSource","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"GitRepository","source":"kind source: /, Kind="}
{"level":"info","ts":"2021-12-22T12:04:14.594Z","logger":"controller.helmrepository","msg":"Starting EventSource","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","source":"kind source: /, Kind="}
{"level":"info","ts":"2021-12-22T12:04:14.594Z","logger":"controller.helmrepository","msg":"Starting Controller","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository"}
{"level":"info","ts":"2021-12-22T12:04:14.595Z","logger":"controller.helmchart","msg":"Starting EventSource","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","source":"kind source: /, Kind="}
{"level":"info","ts":"2021-12-22T12:04:14.595Z","logger":"controller.helmchart","msg":"Starting EventSource","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","source":"kind source: /, Kind="}
{"level":"info","ts":"2021-12-22T12:04:14.595Z","logger":"controller.helmchart","msg":"Starting EventSource","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","source":"kind source: /, Kind="}
{"level":"info","ts":"2021-12-22T12:04:14.694Z","logger":"controller.bucket","msg":"Starting Controller","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"Bucket"}
{"level":"info","ts":"2021-12-22T12:04:14.694Z","logger":"controller.bucket","msg":"Starting workers","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"Bucket","worker count":2}
{"level":"info","ts":"2021-12-22T12:04:14.694Z","logger":"controller.gitrepository","msg":"Starting Controller","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"GitRepository"}
{"level":"info","ts":"2021-12-22T12:04:14.694Z","logger":"controller.gitrepository","msg":"Starting workers","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"GitRepository","worker count":2}
{"level":"info","ts":"2021-12-22T12:04:14.695Z","logger":"controller.helmrepository","msg":"Starting workers","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","worker count":2}
{"level":"info","ts":"2021-12-22T12:04:14.698Z","logger":"controller.helmchart","msg":"Starting EventSource","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","source":"kind source: /, Kind="}
{"level":"info","ts":"2021-12-22T12:04:14.698Z","logger":"controller.helmchart","msg":"Starting Controller","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart"}
{"level":"info","ts":"2021-12-22T12:04:14.951Z","logger":"controller.helmrepository","msg":"Reconciliation finished in 254.265723ms, next run in 30m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","name":"jetstack","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:15.139Z","logger":"controller.helmrepository","msg":"Reconciliation finished in 187.282758ms, next run in 15m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","name":"ingress-nginx","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:15.208Z","logger":"controller.helmrepository","msg":"Reconciliation finished in 68.557717ms, next run in 30m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","name":"nats","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:15.338Z","logger":"controller.helmrepository","msg":"Reconciliation finished in 130.616396ms, next run in 30m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","name":"sealed-secrets","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:15.481Z","logger":"controller.helmrepository","msg":"Reconciliation finished in 142.314651ms, next run in 1m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","name":"spotsie-charts","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:15.597Z","logger":"controller.helmrepository","msg":"Reconciliation finished in 116.214522ms, next run in 30m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","name":"volantmq","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:15.898Z","logger":"controller.helmchart","msg":"Starting workers","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","worker count":2}
{"level":"info","ts":"2021-12-22T12:04:16.280Z","logger":"controller.helmchart","msg":"Reconciliation finished in 369.865274ms, next run in 2m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"staging-pipeline-server","namespace":"flux-system"}
2021/12/22 12:04:16 Transport: unhandled response frame type *http.http2UnknownFrame
{"level":"info","ts":"2021-12-22T12:04:16.639Z","logger":"controller.helmchart","msg":"Reconciliation finished in 739.16922ms, next run in 25m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"nginx-nginx","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:17.239Z","logger":"controller.gitrepository","msg":"Reconciliation finished in 2.543680551s, next run in 1m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"GitRepository","name":"flux-system","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:17.338Z","logger":"controller.helmchart","msg":"Reconciliation finished in 1.058078625s, next run in 2m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"staging-timescale","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:17.948Z","logger":"controller.helmchart","msg":"Reconciliation finished in 609.926514ms, next run in 2m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"staging-window-server","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:19.169Z","logger":"controller.helmchart","msg":"Reconciliation finished in 1.220037329s, next run in 2m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"staging-volantmq","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:20.289Z","logger":"controller.helmchart","msg":"Reconciliation finished in 1.119472862s, next run in 2m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"staging-stan","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:25.968Z","logger":"controller.helmchart","msg":"Reconciliation finished in 9.329462573s, next run in 2m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"staging-mysql","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:26.579Z","logger":"controller.helmchart","msg":"Reconciliation finished in 609.868544ms, next run in 2m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"staging-timeline-server","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:29.970Z","logger":"controller.helmrepository","msg":"Reconciliation finished in 15.27442679s, next run in 1h0m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","name":"stable","namespace":"flux-system"}
2021/12/22 12:04:30 Transport: unhandled response frame type *http.http2UnknownFrame
{"level":"info","ts":"2021-12-22T12:04:30.269Z","logger":"controller.helmchart","msg":"Reconciliation finished in 9.980045681s, next run in 1h0m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"external-dns-external-dns","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:30.642Z","logger":"controller.helmchart","msg":"Reconciliation finished in 372.921227ms, next run in 2m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"staging-deployment-api","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:31.061Z","logger":"controller.helmrepository","msg":"Reconciliation finished in 1.089437961s, next run in 1m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","name":"timescaledb","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:31.090Z","logger":"controller.helmchart","msg":"Reconciliation finished in 447.75677ms, next run in 2m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"staging-integration-test","namespace":"flux-system"}
{"level":"info","ts":"2021-12-22T12:04:31.238Z","logger":"controller.helmrepository","msg":"Reconciliation finished in 171.883411ms, next run in 1m0s","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmRepository","name":"spotsie","namespace":"flux-system"}

You are running an "ancient" version of Flux, source-controller is now at v0.19.2. Please upgrade Flux to the latest version, many memory issues where fixed in the last months.

I just tried flux 0.27.4 souce-controller still uses an excessive amount of resources
source-controller-677f679978-75m9c         6566m        5865Mi

All HCs have 10m interval and all point to the same 30mb index.yaml
kubectl  get hc -A  |wc -l
     191

I've set --concurrent=8 which we need to process the large queue but it makes cpu/memory worse by the factor of concurrency. Whats it chewing on?

Can you also provide the output for kubectl get ... | wc -l for the other source kinds? In addition: what is the average size of a cloned repository, and what is the Git implementation you have configured?
Reason I am looking into this direction is that charts from Helm repositories should leave little to no memory footprint, as we do not attempt to load them, unless last-mile modification are made (e.g. a values file replace).

@hiddeco better than that, i think i have it fixed. https://github.com/fluxcd/source-controller/pull/625


Default RabbitMQ ConnectionFactory ServiceLifetime

With Steeltoe ConnectorCore, RabbitMQ's ConnectionFactory is injected with ServiceLifetime.Scoped by default. When used in a web-based project, a new connection may be opened on every web request.
The default setting should probably be changed to Singleton

The ServiceLifetime setting for the ConnectionFactory was not the cause of the problem that spawned this issue... RabbitMQ's ConnectionFactory needs to be programmed to open and close connections as needed for a given application. The lifecycle of the factory cannot be relied upon for closing connections.
tldr; Don't forget to close your RMQ connections when you're done with them!


Support for Elysia 0.8

The plugin does not work with Elysia 0.8

Hello, I am just gone back from long holiday. I will look into this asap.

Hey, I've created an empty Elysia 0.8 project and plugins are works just fine. Please try removing node_modules and bun.lockb, then do a clean bun install. If issue still persists, please re-open this issue with small project than reproduce this issue.


feat: add electron nightly version support

For a description see: https://github.com/cnpm/mirrors/pull/285
cc: @fengmk2

https://npmmirror.com/mirrors/electron-nightly/ 明天应该就能同步完成。

好的，辛苦


Support text shadow

support text shadow.
https://github.com/gridaco/designto-code/pull/55

https://github.com/gridaco/design-sdk/commit/1070e5e18bc3637de7bc7b41aa4a9854d51799f3
https://github.com/gridaco/design-sdk/commit/1e75d96aaf8180de7c43fd5c6e9ce40faf336ece


44 labelling for taxonomy classifier

Description
Please include a summary of the changes.
Fixes #44

Introduces Prodigy recipe for generating labels using GPT, and presenting these labels for review by a human annotator

Instructions for Reviewer
In order to test the code in this PR you need to ...

[ ] Read through discovery_child_development/pipeline/labelling/taxonomy/create_taxonomy_labelling_dataset.py. If you run it, please could you comment out the bits that save data at the bottom? Until I have fixed this so that running it doesn't overwrite data! The logs should show you how many OpenAlex records get saved into the data for labelling, and how many patents.
[ ] With the same script as above: Please pay attention to: does the sampling logic make sense?
[x] Check the files in discovery_child_development/pipeline/labelling/taxonomy/prompts/. Please pay attention to: Have I chosen representative keywords? Does the prompt seem reasonable?
[ ] Follow instructions for setting up the prodigy env and loading the prodigy app, to test that all of this works. The dataset for labelling should already have been created by discovery_child_development/pipeline/labelling/taxonomy/create_taxonomy_labelling_dataset.py.
[ ] Run the notebook discovery_child_development/notebooks/labelling/evaluate_taxonomy_labelling.ipynb. This is a bit experimental. There are two parts to it: the first bit evaluates data that you have labelled with prodigy; the second part runs a set of examples through GPT 3.5 and GPT 4, comparing GPT's labels with human labels, and logs this as a run on weights and biases.

Checklist:

[x] I have refactored my code out from notebooks/
[x] I have checked the code runs
[x] I have tested the code
[x] I have run pre-commit and addressed any issues not automatically fixed
[x] I have merged any new changes from dev
[x] I have documented the code

[x] Major functions have docstrings
[x] Appropriate information has been added to READMEs

[x] I have explained this PR above
[x] I have requested a code review

Hi @RFOxbury I'm quite happy for you to merge this - overall, it makes sense to me.
I think I might adjust some of the code further as I implement the async method for labelling with taxonomy categories.
I also think that the code taxonomy_labelling_utils.py could be useful beyond taxonomy labelling and perhaps some of it could go to openai utils (eg the token counting). But nonethless, I think it's okay to keep as is - and I will think about it more when implementing the async method.
Thank you very much!