[type:refactor] refactor sdk.

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #4295 (2e4e159) into master (617f86f) will decrease coverage by 0.09%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #4295      +/-   ##
============================================
- Coverage     68.54%   68.44%   -0.10%
+ Complexity     7352     7346       -6
============================================
  Files          1000     1000
  Lines         28269    28260       -9
  Branches       2534     2531       -3
============================================
- Hits          19377    19343      -34
- Misses         7405     7424      +19
- Partials       1487     1493       +6

Impacted Files
Coverage Δ

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
68.75% <0.00%> (-31.25%)
:arrow_down:

...yu/sync/data/http/refresh/AbstractDataRefresh.java
68.96% <0.00%> (-13.80%)
:arrow_down:

...he/shenyu/loadbalancer/spi/RandomLoadBalancer.java
81.81% <0.00%> (-9.10%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
81.63% <0.00%> (-8.17%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
21.27% <0.00%> (-6.39%)
:arrow_down:

...he/shenyu/plugin/grpc/client/ShenyuGrpcClient.java
8.00% <0.00%> (-4.00%)
:arrow_down:

...yu/common/dto/convert/rule/Resilience4JHandle.java
71.60% <0.00%> (-3.71%)
:arrow_down:

...rg/apache/shenyu/plugin/hystrix/HystrixPlugin.java
75.86% <0.00%> (-0.81%)
:arrow_down:

...yu/admin/service/impl/PluginHandleServiceImpl.java
75.47% <0.00%> (-0.46%)
:arrow_down:

.../plugin/grpc/loadbalance/AbstractLoadBalancer.java
70.32% <0.00%> (-0.33%)
:arrow_down:

... and 6 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Feature/multi thresholding

Added multi-thresholding stand alone function and made it executable by adding an execute custom node function and modifying the onnx_exec.py to decide on the domain value of each node if the node should be executed by onnxruntime or with the new execution function. Also added unit tests for multi-thresholding, execute custom node and one unit tests that creates a graph with a custom and a standard node and runs onnx_exec.py.

Thank you!


Failure in pairwise distance numpy implementation

The pairwise distance numba implementation with numpy calls fails since numba-dpex does not currently support dpnp.sum calls with non-default axis. See failing code snippet below.
@dpjit
def pairwise_distance(X1, X2, D):
    x1 = np.sum(np.square(X1), axis=1)
    x2 = np.sum(np.square(X2), axis=1)
    np.dot(X1, X2.T, D)
    D *= -2
    x3 = x1.reshape(x1.size, 1)
    np.add(D, x3, D)
    np.add(D, x2, D)
    np.sqrt(D, D)

How to reproduce:
Follow instructions to setup dpbench.
Run pairwise distance - python -c "import dpbench; dpbench.run_benchmark("pairwise_distance")"

I see that there are more issues than just sum. Let us reopen


ActionMailer::InlineCssHook.delivering_email trashes attachments

The line message.body = nil trashes all message attachments, which is a problem!
I'd propose that in the same way that one maintain the exiting_text_part, one aught to preserve attachments too.
This also introduces the issue I raised in #8, which aught to be fixed separately, I think it may also break the untested code for "fallback the text segment to a text version of the HTML component", which was not important for my purposes.

Hi, thanks for this. The problem with
 message.html_part do

is that it doesn't override the existing html part, it simply appends a new one. So message.body = nil is necessary, but I agree that we should definitely preserve any attachements! I'll look into fixing this

My preliminary experimentation seemed to indicate that messge.parts.length wasn't affected by my patch, but I can gladly test again, I was working late at night (GMT+0200) - so I might be mistaken, either way for the time being my fork appears to work for me, but I'd love to contribute back whatever I can.
Perhaps you can tell me, is my test sane, I seemed to have to have explicitly called the hook, perhaps that logic in the hook should be extracted to a class, which is then used by the hooking code? That would decouple the AM Interceptor code implementation from the behaviour of this gem, which i believe is universally useful.

Well, if that's the case, then that would be great (about message.parts.length not changing).
You seem to have removed the auto-generated text part:
-        # Add a text part with either the pre-existing text part, or one generated with premailer.
-        message.text_part do
-          content_type "text/plain; charset=utf-8"
-          body existing_text_part || premailer.to_plain_text
-        end

which is quite handy if you don't want to write the text part manually. I always do, but some people might not care.
If we can overwrite parts by calling message.html_part or message.text_part, then we could leave that code in there.
I think your tests are sane enough, apart from silencing the warnings with Kernel.silence_warnings, and specifying the charset instead.
I don't have too much time to invest in this project, so I'd like to add you as a collaborator and give you more freedom to work on it and fix it up. As long as the code is all tested and the current features keep working as expected (e.g. auto-generating text parts)... I'll give you permission to push new versions to rubygems too :)
Cheers

Thanks @ndbroadbent - I removed the auto-generated message text part partly because it was un-tested, and partly because it was standing between me and my pull request, but roger to all of the above points you raised. I'll overwork some of this stuff soon enough when I have some time to improve the tests.

Any word on this pull request? I am unable to attach a pdf to my html emails because of this issue -- is there a workaround?

Try my fork.
On 22 December 2011 02:48, David Kariuki <
<EMAIL_ADDRESS>
wrote:

Any word on this pull request? I am unable to attach a pdf to my html
emails because of this issue -- is there a workaround?

Reply to this email directly or view it on GitHub:
https://github.com/ndbroadbent/actionmailer_inline_css/pull/9#issuecomment-3242468

Hi, I'll try to find some time to merge this pull request, while writing tests for the auto-generated text part. Until then, please do try @leehambley's fork
Cheers

Have fixed to preserve / generate text parts, while preserving attachments.

@ndbroadbent Great, thanks!


long start time

Im very interested in this PyTorch lightning version since it has many additional capabilities. However, the runtime seems to be much longer than expected, especially before the epochs start.
Have you seen this behavior, and do you have any thoughts about why this is happening?

Sorry for the late reply, and thanks for your attention to this repo. Yes, the waiting time is long before the first epoch starts, and the reason lies in this line of code:
https://github.com/martinwhl/Informer-PyTorch-Lightning/blob/35fc041b58c6693f12723b42e3e381c137a2209e/tasks/forecast.py#L27
By calling self.save_hyperparameters(), the parameters of the __init__() function of a LightningModule is saved to a yaml file (lightning_logs/version_*/hparams.yaml). As the Informer model is also an argument of __init__() in our case, PyTorch Lightning will also save the weights of the model to the hyperparameters configuration file, which takes a long time. If you do not need to re-use the trained model, you can change this line of code to
    self.save_hyperparameters(ignore=['model'])

Hope this answers your question.

Thank you so much! Im still a bit new to PyTorch lightning

Update: this issue seems to be solved in Lightning 2.0.
	self.save_hyperparameters(ignore=['model'])


Move the process of exporting computing closure from the generator to the deducer

In the current implementation, Deducer deduces the positions of each FaaS instance within the code and records them into arch ref. Subsequently, it's generator's responsibility to export and compile each module's code.
After adopting the execution model of computing closures, deducer will analyze dependencies throughout the entire computing closure. This analysis process is similar to that of exporting code. Moving the process of exporting code to deducer can enhance its cohesion and simplify generator's implementation.

This issue has been resolved by the merge of PR #129. I am closing this issue now. If there are any further concerns, please feel free to reopen it or create a new issue. Thank you to everyone who contributed to this discussion!


Avoid creating timer each time SyncHostVersion is called, instead use…

… timer channel

Reason for Change:

Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests

Notes:

/azp run

/azp run

/azp run


Caddy based solution broken?

I used the prem_app since reading about it on the langchain blog with no major issues. I used to git pull from time to time and rebuild the docker container. After doing this today, I have realized that the app is not served any more on port 1420, but through caddy on port 8000. However, its crashing on my machine (Docker Desktop on Windows 10 with WSL container). Here is the crash from my browser:
[plugin:vite-plugin-eslint] /app/src/main.tsx
1:74  error  Delete ␍  prettier/prettier
2:27  error  Delete ␍  prettier/prettier
3:41  error  Delete ␍  prettier/prettier
4:1   error  Delete ␍  prettier/prettier
5:31  error  Delete ␍  prettier/prettier
6:25  error  Delete ␍  prettier/prettier
7:1   error  Delete ␍  prettier/prettier
8:38  error  Delete ␍  prettier/prettier
9:20  error  Delete ␍  prettier/prettier
10:15  error  Delete ␍  prettier/prettier
11:35  error  Delete ␍  prettier/prettier
12:16  error  Delete ␍  prettier/prettier
13:7   error  Delete ␍  prettier/prettier
14:5   error  Delete ␍  prettier/prettier
15:4   error  Delete ␍  prettier/prettier
16:1   error  Delete ␍  prettier/prettier
17:76  error  Delete ␍  prettier/prettier
18:21  error  Delete ␍  prettier/prettier
19:47  error  Delete ␍  prettier/prettier
20:14  error  Delete ␍  prettier/prettier
21:27  error  Delete ␍  prettier/prettier
22:23  error  Delete ␍  prettier/prettier
23:3   error  Delete ␍  prettier/prettier
✖ 23 problems (23 errors, 0 warnings)
23 errors and 0 warnings potentially fixable with the --fix option.
/app/src/main.tsx
at formatError (file:///app/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:43950:46)
at TransformContext.error (file:///app/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:43946:19)
at TransformContext.transform (file:///app/node_modules/vite-plugin-eslint/dist/index.mjs:1:1989)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Object.transform (file:///app/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:44240:30)
at async loadAndTransform (file:///app/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:54896:29)
at async viteTransformMiddleware (file:///app/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:64291:32

Adding "endOfLine": "lf" to .prettierrc.json and than running
npm install -g yarn
npx yarn add --dev prettier
npx yarn prettier
solved the problem.

My guess is that you have to reinstall all node modules. Adding a rule to prettierrc.json should not be necessary, I don't reproduce your error.

We changed the Docker setup. Feel free to reopen an issue if it's not working for you.

My issue persists in the current version, however the workaround described above still works.
My git config core.autocrlf is set to true.


Update medication_reminder_android.yaml

Revert to android event for android blueprint

oups I broke it, thanks for the PR


feat: support apt colon arch syntax

debian package files seem to make use of this shorthand in packages that depend on python:
Architecture: all
Depends: python3:any
This PR adds support for parsing this correctly, fixing the error whereby python3:any would be assumed to be the name of the whole package

sorry for the diff in bullseye.lock. I think my ide reformatted it. I'll fix that up.

Actually I'm not sure what caused that, it seems to be a whitespace-only change that is reproducible when I run bazel run @bullseye//:lock. I'm guessing it is environmental, if you have any tips as to what it could be, let me know.

Thanks for the pointer to that directory -- I added a simple case for python3:any and another couple of cases from the bullseye Packages file. A few package in the gcc cross-compile toolchain also seems to use this pattern.

Could you solve the conflicts?

PR is bumping into https://github.com/GoogleContainerTools/rules_distroless/issues/36, can you remove the new package?

i believe you need to regenerate the lockfile again.


How to pause subscription ?

Hi again,
is there a way to temporarily suspend a subscription, without canceling it? Kind of like what Stripe does. It is also true, however, that from Mollie's documentation, I find no trace of this possibility?

No, that's not supported.


Distinguish between literals and parameters in the otherwise equivalent paths

Feeling like beating the dead horse here, but would it be possible for the Swagger editor to accept
/search/{myncbi-id}/citations
and
/search/{myncbi-id}/{search-id}
as different paths?
The Swagger-UI seems to be fine with that.

Please open questions on specific tools on their respective repositories. This repo is for the spec itself.

Sorry, it is not clear from your comment, if the spec supports this feature. If it does not, it does not make sense to ask questions about it in other repositories. At the same time Swagger-UI supports it de-facto. Is there an explanation for this?

You asked about whether it's possible for swagger-editor to accept it. You didn't ask if it's acceptable by the spec. The two paths you described are considered different.

Thanks!


💡 [REQUEST] -🚀 Adding Article "Mutability vs Immutability in JavaScript – Explained with Code Examples" to JavaScript Resources 📚

[x] I am from GSSoC23.
[x] I would like to be assigned this task.

fill [x] to check the boxes.

Section
Description

Concise Description
Add article "Mutability vs Immutability in JavaScript – Explained with Code Examples" to JavaScript resources in the resource gallery.

Solution Proposed
I would like to write and contribute the article "Mutability vs Immutability in JavaScript – Explained with Code Examples" to the JavaScript resources in the resource gallery. The article will cover the concept of mutability and immutability in JavaScript and their significance in programming. It will provide clear explanations of both concepts and showcase practical code examples to illustrate their differences and use cases. The article will be structured in a beginner-friendly manner, making it easy for readers to grasp the concepts even if they are new to JavaScript. The code examples will be thoroughly tested to ensure accuracy and reliability.

Alternative Solutions
N/A

Additional Context
As a participant in GSSoC23, I am interested in contributing to this project and believe that adding this article to the resource gallery would be a valuable addition to the JavaScript learning materials. The topic of mutability and immutability is crucial for understanding JavaScript's behavior, especially when working with objects and arrays. The article will serve as a reference guide for developers seeking to understand the impact of mutability on their code and how to use immutability effectively. I am willing to adhere to the project's Code of Conduct and follow the Contributing Guidelines. I have checked the current issues and found no duplicates of this request. I have also read the readme of this repository to familiarize myself with the project's goals and guidelines.

Screenshots
N/A

Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct.

[x] I follow the Contributing Guidelines of this project.
[x] I have checked the current issues for duplicate problems.
[x] I have read the readme of this repository.

@Astrodevil ,please assign me this issue


Cleanup

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: jeffsee55:x: JackDevAUYou have signed the CLA already but the status is still pending? Let us recheck it.


Specifying that you need Helm v2.5.0 for installation

This is a follow-up to https://github.com/kubernetes-incubator/service-catalog/pull/1163#discussion_r135920291
Cc/ @MHBauer

LGTM

@arschles Thanks for following up!

@nilebox I've addressed your comments. If the changes are acceptable, can you merge (pending CI)?


[CIS 1.14] Ensure hardware MFA is enabled for the 'root' account

Virtual token is incorrectly seen as a hardware token.


RDK-42997 WiFi Manager - Replace System Commands

Reason for change:
WiFi Manager - Replace System Commands to wpa-supplicant functions(wpa_ctrl_request API)

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/4242/rdkcentral/rdkservices

Commit: f0f6f717f015f3d8752a03b6b3e554db90b4cd22

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/4242/rdkcentral/rdkservices

Commit: 81a9c1055d96010db64b51e2653c511e859d7b22

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/4242/rdkcentral/rdkservices

Commit: 9d6ae10b57437b6b99f243c02f96c88aa3800846

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/4242/rdkcentral/rdkservices

Commit: 0473d3761815c170b4db6c4d6ab8dc9721dec390

Report detail: gist


new commands

Export-SqlVulnerabilityAssessmentBaselineSet
Export-SqlVulnerabilityAssessmentScan
Get-SqlAssessmentItem
Get-SqlSensitivityClassification
Import-SqlVulnerabilityAssessmentBaselineSet
Invoke-SqlAssessment
Invoke-SqlVulnerabilityAssessmentScan
New-SqlVulnerabilityAssessmentBaseline
New-SqlVulnerabilityAssessmentBaselineSet
Remove-SqlSensitivityClassification
Set-SqlSensitivityClassification

Hi there
I don't see the relevant "Remove-DbaLinkedServer" for "Copy-DbaLinkedServer". I'm using the dbatools.io solution to keep instance level objects in-sync on AOAG clusters. Due to GDPR regulation the sys admin access for server agent accounts had to be removed across the board and I had to resort to the use of PS credentials instead (What a delight). Without the Remove-DbaLinkedServer command I will have to make use of native SQL statements which means I have to resort to impersonation rights. This comes with it's own set of headaches, something I tried to avoid in the first place.
Regards
Pelser
P.S. - Thanks a million for all the hard work and effort with dbatools.io. Best set of DBA tools ever!

Just going to leave this closed as the Vul and Assessment code in SMO is not being documented by Microsoft at this time.


Windows support

Added Windows support by adding platform checks for manifestBasePaths and the name of the manifest file.

Thanks!
If you have time, can you try the new Windows build?
https://github.com/sttz/expresso/releases/download/1.2.0/expresso-1.2.0-win64.zip

It's failing with "Timed out waiting for the result." However, for some reason my exe that was knowing fine yesterday is now also failing with the same error. Interestingly, using dotnet run -r win-x64 -f net6.0 on the source works correctly. Once I get the old exe working again, I'll check if the new one works.

It looks like it is genuinely timing out; ExpressVPN is being slow to respond on Windows for some reason. Multiplying ResponseTimeout and the default timeout for WaitForConnection by 10 (in ExpressVPNClient.cs, lines 145 and 240) fixes the issue. I think waiting 5 to 10 seconds to timeout is pretty reasonable, since it's treated as an unrecoverable error anyway.


Question / Feature

Am I missing something? (Probably) Or is there no way to set the words (title) on the button without blocking the timer?
If I leave Title and Title Format empty then it displays the Timer Name with a clock. This is great, but if I have buttons for multiple clients, there is no way to tell which button is for what client if the Timer Name (e.g. Meeting) is all the same. But since the Timer Name is linked to the Description in Clockify, if I tried to change it to something like an abbreviation of the Client Name (MOR Meeting) then in Clockify it is going to look really redundant with the client name in the description while it is already connected to a client (and in my case the client name in the project as well).
Could Timer Name and Description be separated so we could have the Timer Name on the button without overriding the clock but still designate what should be in the Description for that button press?
I can elaborate more if I'm not being clear.

Check the Advanced options in the readme: https://github.com/eXpl0it3r/streamdeck-clockify
You can fully customize what is shown on the button. 🙂

I tried that but then the timer on the button doesn't work.

Yes, this will customize the button it was overriding the same way the Title field would.

In the format you can write something like:
MOR
{timer}

{timer} will be replaced by the timer values

That's the piece that I was missing. Thank you!

Any suggestion that would've made it more clear?

tbh, I'm not certain. I don't even think I saw the timer property so that's a me problem (RTFS) but maybe an example of how they can be inserted with something else verses being used independently.


docs: Note required OS upgrade in upgrade notes.

Fixes:

Screenshots and screen captures:

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Tweaked to link to an anchor that CI thinks works (The actual link did work, sigh).

Merged, thanks @alexmv!

Backported to 9.x in #31238.


Balance - Infinity and Tipped/Spectral Arrows

Hiya! Was wondering whether it'd be possible to add a tweak to the Infinity enchantment that reduces the chance of tipped arrows being consumed? Arrows of Harming now stack with the actual arrow damage thanks to the source-dependent I-frames tweak, so I thought it'd be nice to further encourage making tipped arrows in general.
Feel free to close this if feature requests aren't being accepted at this time.

I think Infinity should work like unbreaking for every arrow (1/(1+level) chance of using an arrow ). This would nerf infinity (needed) and make arrows useful again. This makes the most sense (it's also how hypixel skyblock did it). I agree with the intention of this feature suggestion but i think it should apply to all arrows

something was probably changed in 1.21. i recall trying to implement this and it being a client/server syncronization nightmare


Testing?

There doesn't seem to be much testing going on. I've got a slave server dedicated to Jenkins. Also TDD would be cool. I heard it's popular with the kids.
Thoughts?

This project is open source (I say a truism here). Because it does not have a benevolence to create the tests?
These TDD Shiites only preach, but do little.


Implement GI Reflections (SDFGI, VoxelGI) for LightmapGI

This complete a part of https://github.com/godotengine/godot-proposals/issues/3012 (it doesn't address disabling VoxelGI reflections for SDFGI).
Depends on https://github.com/godotengine/godot/pull/86102 for Specular Occlusion.

(greatly exaggerated for showing the reflections, look in screenshots for the normal ones)
(scene from https://sketchfab.com/3d-models/japanese-street-at-night-fb1bdcd71a5544d699379d2d13dd1171)
This add support for reflections from GI such as SDFGI or VoxelGI onto lightmapped objects.
Benefits and constraints

It help level designers dealing with less reflection probes, especially in complex scenes (such as rounded walls, complex corridors that aren't straight, etc...)
Reflection probes can still be used and blends well with the GI Reflections and should be used for cube shaped interiors or when you need a mirror-like reflection which can be ruined by SDFGI/VoxelGI voxels look.
There is a cost of using LightmapGI + SDFGI, but it's less than SDFGI only as we only apply the reflection buffer (further optimizations could be possible).
VoxelGI + LightmapGI has a smaller cost than VoxelGI Only as we only trace for reflection.
Without specular occlusion it doesn't work well with simple shapes and no textures if you crank the roughness to 0 and metallic to 100.
Specular occlusion will help making the GI reflections look more right and occluded when it should be.

Screenshots and Comparisons
'Reflection' scene
Source: https://github.com/Calinou/godot-reflection

Lightmap 4.2
SDFGI
Lightmap + Specular Occlusion
Lightmap + SO + SDFGI
Lightmap + SO + VoxelGI

Cube scene

Lightmap 4.2
SDFGI
Lightmap + Specular Occlusion
Lightmap + SO + SDFGI
Lightmap + SO + VoxelGI

Japanese Street
Source: https://sketchfab.com/3d-models/japanese-street-at-night-fb1bdcd71a5544d699379d2d13dd1171

Lightmap 4.2
Lightmap + Specular Occlusion
Lightmap + SO + SDFGI
Lightmap + SO + VoxelGI

Simple scene:

The left part of the floor is a standard default material, the other part is a metallic with roughness set to 0.
The black cubes are material with roughness set to 0 and black color.
The grey cube is a 100% metallic white material.
The white cube is a 100% specular white material.

Lightmap Only
Lightmap + SDFGI

Caveats:

You may need to modify the values of SDFGI or VoxelGI as they may be darker when lightmaps are on. A good way to check if everything is right is to have a fully reflective surface and check if the GI reflections match the same brightness/color as your scene.

Open Questions:

[ ] Optimizations? It is possible to optimize SDFGI to only care about reflection data?
[ ] An option to disable this effect? Would there be an use case to only have GI reflections only on non-lightmapped objects?

¹ I posted some more screenshots (without specular occlusion) and benchmarks here https://github.com/godotengine/godot-proposals/issues/3012#issuecomment-1850197439.

Great work so far!
I've added this to the agenda for the next rendering meeting. This idea has popped up a few times, but I think it will require some discussion and a lot more work. Particularly we need to discuss the workflow issues here and how to optimize out the calculation of diffuse lighting from VoxelGI/SDFGI.

Testing this out on my project, SDFGI reflections are abnormally dark on lightmapped meshes.
No lightmap on sphere:

Lightmap on sphere:

This issue is also apparent in a newly created project:

you can also disable specular occlusion

Apparently, turning it off also darken reflections?

After playing with this PR for some time, I don't think doing the occlusion based on indirect lighting lightmap. There's the obvious issue with differences between static & dynamic lights, but also scenarios where this won't look accurate.
One of those scenarios would be a dimly lit room with window(s) to the outside:

The reflections here are not correct. Here is how it looks with only SDFGI:

Maybe we should bake a sort of "occlusion map" instead?

Apparently, turning it off also darken reflections?
I accidentally included an old commit of the specular occlusion in it which made disabling it buggy.
It should be fine now.

It should be fine now.

Well, about that... disabling specular occlusion now turn reflections black...

Would it be possible to have a simple scene that reproduce this? I'm not able to get black reflections :/

I managed to reproduce a slightly different behavior where everything except the sky is black: Lightmap.zip

It is fine on my side.
I'm not sure why it doesn't work for you, maybe it is related to the shader cache?

Weird. Clearing the shader cache doesn't solve it either.
Here's the system information anyway, so that it may help: Godot v4.3.dev (1bc749129) - Windows 10.0.22621 - Vulkan (Forward+) - dedicated AMD Radeon RX 6700 XT (Advanced Micro Devices, Inc.; 31.0.23013.1023) - AMD Ryzen 7 5700X 8-Core Processor (16 Threads)

It is fine on my side. I'm not sure why it doesn't work for you, maybe it is related to the shader cache?

I narrowed it down to something about AMD GPUs. I tested the MRP on my laptop which has Intel Xe graphics and the issure was not occuring there. I think this needs more testing on AMD GPUs like mine (RX 6700 XT) because it's a pretty breaking bug.
One silver lining is that it only appears when specular occlusion is disabled, I guess?


Issue 157: Fix D-Bus adapter tests in GitHub Actions

Initiates a private session bus and uses that for the integration tests.
Few reasons for this:

In GitHub Actions, Ubuntu 22.04.3 the session bus is there, but the
address is not available in DBUS_SESSION_BUS_ADDRESS. That is a bit
problematic.
One option could have been to create a private bus and set
os.environ['DBUS_SESSION_BUS_ADDRESS'] to that bus, but there might be
other strategies python dbus libraries other than jeepney use for
getting the session dbus address, so making also the DbusMethodCalls
to expect service in the private bus (not the default "SESSION" bus),
is a bit more robust.
Another option would have been to try to dig out the session bus
address from the running dbus-daemon process in the Ubuntu 22.04.03
instance, and set DBUS_SESSION_BUS_ADDRESS to that, but that would be
perhaps a bit more involved task. In addition, not all GitHub Actions
instances have the dbus-daemon running as session bus (for example,
the Ubuntu 20.04), so we would had to create a new bus anyway with
dbus-daemon.

Fixed: https://github.com/fohrloop/wakepy/actions/runs/7521645687


Fix chained npm scripts yarn

This PR adds a small fix to ensure that all npm scripts in template.json are converted to yarn correctly. Previously with scripts that had chained commands (i.e. npm run this && npm run that) only the first instance of npm/npm run would be replaced with yarn. This is to address #8795 (which has since been closed/locked as I forgot to keep it alive with another comment - sorry for any inconvenience!).

1st commit adds a global flag to the regex that handles the replacing to fix this issue
2nd commit splits the replace function out into a util and adds some tests, as I felt a bit cheeky making a 1 char PR :)

N.B. the tests in the second commit have been placed near the code in question, but I’m happy to move them to wherever suits. I could only get these tests to run by passing the path to jest specifically, so I get the feeling that they sit outside of the normal test setup of this repo.
To run tests from root dir I used:
npx jest ./packages/react-scripts/scripts/utils/__tests__/replaceNpmScriptsWithYarn.test.js

Result:

(reverting to the original code without the g flag breaks the second test as expected)

Just leaving a comment to ensure this doesn't go stale. No rush to check this.

Same as above

This is of course not high priority, but if it's not useful let me know and I'll close.


API Explorer: Improve nested IFormFile

Not working:
public class FileUploadModel
{
    public IFormFile File { get; set; }
}

[ApiExplorerSettings(IgnoreApi = false, GroupName = nameof(HelloController))]
[ApiController]
[Route("Hello")]
public class HelloController : Controller
{
    [HttpPut("Upload")]
    [RequestSizeLimit(100_000_000)]
    // 100MiB
    public string PostFile(FileUploadModel upload)
    {
        return upload.File.FileName;
    }
}

Output:
    "parameters": [
      {
        "name": "upload",
        "in": "body",
        "required": true,
        "schema": {
          "$ref": "#/definitions/FileUploadModel"
        },
        "x-nullable": false
      }
    ],

Working as expected:
[ApiExplorerSettings(IgnoreApi = false, GroupName = nameof(HelloController))]
[ApiController]
[Route("Hello")]
public class HelloController : Controller
{
    [HttpPut("Upload")]
    [RequestSizeLimit(100_000_000)]
    // 100MiB
    public string PostFile(IFormFile upload)
    {
        return upload.FileName;
    }
}

Output:
    "parameters": [
      {
        "type": "file",
        "name": "upload",
        "in": "formData",
        "required": true,
        "x-nullable": false
      }
    ],

I'd expect api explorer to handle a complex parameter as a collection of params and not a single complex param if a property is of type IFormFile...

@pranavkm what do you think?

Hi,
I did a repository too where you can see the problem:
https://github.com/ranouf/TestMultipleUpload
I think there it could exist bug on both side (server & client).
For server, I created an issue here: https://github.com/dotnet/core/issues/1967.
For client, here: https://github.com/RSuter/NSwag/issues/1633
Currently the client generated by nswag generates wrong value, I m not able to get the string values or IFormFile values. So I overwrited the method, now, all the values are sent to the server. I can see the string value, and IFormFile in the httpContext, but the files are not correctly binded to the dto.
Let me know for any updates, I m interested to get a working solution :)

Hi,
So finally there were no issue from .Net Core. It's more things we need to know when we send Data and Files to a .net Core API.
From client side, we need to:

send data as FormData (https://github.com/ranouf/TestMultipleUpload/blob/eab8ff287fff3bd464d9c02860dce83474c5a75c/client/src/app/services/api.services.extensions.ts#L52)
even if there is many files, we need to set the same name (no bracket needed)
it s the opposite with Array of object which need brackets.
here is an example:

name: Parent1
files: (binary)
files: (binary)
children[0].name: Child1
children[0].files: (binary)
children[0].files: (binary)
children[1].name: Child2
children[1].files: (binary)
children[1].files: (binary)
children[1].files: (binary)

from server side, what we need to know:

Action must use the [FromForm] attribute (https://github.com/ranouf/TestMultipleUpload/blob/eab8ff287fff3bd464d9c02860dce83474c5a75c/server/TestMultipleUpload.Api/Controllers/FamilyController.cs#L24)
Dto must use IFormFile or IFormFile[] (https://github.com/ranouf/TestMultipleUpload/blob/eab8ff287fff3bd464d9c02860dce83474c5a75c/server/TestMultipleUpload.Api/Controllers/Dtos/ParentDto.cs#L11)

@RSuter let me know if it helps you to improve NSwag or if you have any questions :)


Empty partitions being written through pyarrow engine

It looks like this was resolved for fastparquet in  merge #2020 reported in error #2016
Pyarrow writes to empty dataframes in empty parquet files and in turn looks like the dataframe columns that are read are null and hence floats which dont work .
can we apply the fix from the #2020 merge into the pyarrow to_parquet method?
reads the file wrong
`
ValueError                                Traceback (most recent call last)
 in ()
4 import pyarrow.parquet as pq
5
----> 6 pq.ParquetDataset('OccurrenceMatrix.parquet')
7 #dddf = dd.read_parquet(r'./OccurrenceMatrix\YearMonth=2013-01\0923ebd160fb4a4784a5560e6b924269.parquet ',engine = 'pyarrow')
8 #dddf.columns
~\Anaconda\envs\jobsanalysis\lib\site-packages\pyarrow\parquet.py in init(self, path_or_paths, filesystem, schema, metadata, split_row_groups, validate_schema)
743
744         if validate_schema:
--> 745             self.validate_schemas()
746
747     def validate_schemas(self):
~\Anaconda\envs\jobsanalysis\lib\site-packages\pyarrow\parquet.py in validate_schemas(self)
773                                  '{1!s}\n\nvs\n\n{2!s}'
774                                  .format(piece, file_schema,
--> 775                                          dataset_schema))
776
777     def read(self, columns=None, nthreads=1, use_pandas_metadata=False):
ValueError: Schema in OccurrenceMatrix.parquet\part.174.parquet was different.
Id: int64
CompanyId: int64
CompanyName: null
DateBegin: timestamp[us]
FunctionName: null
Title: null
isStaffing: null
vs
Id: int64
CompanyId: int64
CompanyName: string
DateBegin: timestamp[us]
FunctionName: string
Title: string
isStaffing: string
`

I was bitten by this too. Looking at the related code, it seems it delegates the actual work to pyarrow. https://github.com/apache/arrow/issues/2110 seems relatedalthough it was closed without a fix as a known limitation.

Closing as upstream.  Thanks @xhochy


Unable to freeze Keras layers in a Tensorflow workflow.

I'm trying to freeze Keras layers in a Tensorflow workflow. It seems that the flag trainable does not work in tf.contrib.keras. This is how I define the graph :
sess = tf.Session()
K.set_session(sess)
labels = tf.placeholder(tf.float32, shape=(None, 1))
user_id_input = tf.placeholder(tf.float32, shape=(None, 1))
item_id_input = tf.placeholder(tf.float32, shape=(None, 1))
max_user_id = all_ratings['user_id'].max()
max_item_id = all_ratings['item_id'].max()
embedding_size = 30
user_embedding = Embedding(output_dim=embedding_size, input_dim=max_user_id+1,                            input_length=1, name='user_embedding', trainable=all_trainable)(user_id_input)
item_embedding = Embedding(output_dim=embedding_size, input_dim=max_item_id+1,                            input_length=1, name='item_embedding', trainable=all_trainable)(item_id_input)
user_vecs = Flatten()(user_embedding)
item_vecs = Flatten()(item_embedding)
input_vecs = concatenate([user_vecs, item_vecs])
x = Dense(30, activation='relu')(input_vecs)
x1 = Dropout(0.5)(x)
x2 = Dense(30, activation='relu')(x1)
y = Dense(1, activation='sigmoid')(x2)
loss = tf.reduce_mean(binary_crossentropy(labels, y))
train_step = tf.train.AdamOptimizer(0.004).minimize(loss)
Then I just train the model :
with sess.as_default():
train_step.run(..)
Everything is working fine when the trainable flag is set to True. Then when I set it to False, it does not freeze the layers.
I also tried to minimize only over the variable that I want to train by using train_step_freeze = tf.train.AdamOptimizer(0.004).minimize(loss, var_list=[user_embedding]) , and I get :
('Trying to optimize unsupported type ', <tf.Tensor 'Placeholder_33:0' shape=(?, 1) dtype=float32>)
Is it possible to use Keras layers in Tensorflow and freeze them ?

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!


Possible bug in SimpleLocal

A student of mine is working on the SimpleLocal code. He mentioned to me the following:
"There is a bug in STAGEFLOW method in SimpleLocal.cpp. When the graph is being constructed at each stage, 4 edges are added between vertices instead of two (i.e., two edges are added from u to v and two edges are added from v to u)."
You might want to have a look at this.

That's because the maxflow code I referenced was initially designed for directed graphs. So I think of each undirected edge as two directed edges and add on forward edge and one backward edge for each directed edge. It might be possible to use only two edges, but I just find this is easier to understand and implement.

ok, so should we close this?

Yeah, I think so.

Meng, here the reply that I got
"But even for the case of directed edges, it is still wrong, because it adds two edges (one forward edge and one backward edge) each of capacity C for each directed edge in the graph. The backward edge (i.e., the one that does not exist in the input graph) should have the capacity of 0."
Any feedback on this?


Better report about connection problems

Trying to connect to non-existing host I get the following traceback:
Traceback (most recent call last):
  File "/usr/local/bin/controller", line 9, in <module>
    load_entry_point('job-router==2.7.0', 'console_scripts', 'controller')()
  File "/usr/local/lib/python3.4/site-packages/job_router/run_controller.py", line 44, in main
    loop=loop))
  File "/usr/local/lib/python3.4/asyncio/base_events.py", line 316, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.4/asyncio/futures.py", line 275, in result
    raise self._exception
  File "/usr/local/lib/python3.4/asyncio/tasks.py", line 238, in _step
    result = next(coro)
  File "/usr/local/lib/python3.4/site-packages/aioredis/pool.py", line 26, in create_pool
    yield from pool._fill_free(override_min=False)
  File "/usr/local/lib/python3.4/site-packages/aioredis/pool.py", line 154, in _fill_free
    conn = yield from self._create_new_connection()
  File "/usr/local/lib/python3.4/site-packages/aioredis/commands/__init__.py", line 139, in create_redis
    loop=loop)
  File "/usr/local/lib/python3.4/site-packages/aioredis/connection.py", line 53, in create_connection
    host, port, loop=loop)
  File "/usr/local/lib/python3.4/asyncio/streams.py", line 63, in open_connection
    lambda: protocol, host, port, **kwds)
  File "/usr/local/lib/python3.4/asyncio/base_events.py", line 581, in create_connection
    infos = f1.result()
  File "/usr/local/lib/python3.4/asyncio/futures.py", line 275, in result
    raise self._exception
  File "/usr/local/lib/python3.4/concurrent/futures/thread.py", line 54, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.4/socket.py", line 533, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

socket.gaierror: [Errno -2] Name or service not known is not very handy, adding host/port pair to error message (like https://github.com/KeepSafe/aiohttp/blob/master/aiohttp/connector.py#L295-L299) would be useful.

socket.gaierror: [Errno -2] Name or service not known is not very handy,

But it is still straight forward meaning there's a problem with target host.
Anyway, I will take a look at it.

DevOps guy has the report like above when tries to deploy code and has no clue what's wrong.
Showing failed address may point him on, say, bad config record and so on.

I've added debug log so it should be verbose enough to see what's the host/port / unix path is.
I didn't want to catch a single OSError cause there also may be some other errors (like AssertionError from create_connection) and catching wildcard errors just to log address seems to be a bad style for me.


doc/README: major enhancements explaning several aspects of the package

Coverage increased (+18.8%) to 96.488% when pulling cab26482b6e31618c961b3ff2e4d67dc1e22566d on bochaco:doc-enhancements into 363c7ddc003a259e4d4bb9c0a28be806a22e62fc on maidsafe:master.


python312Packages.pyexcel: 0.7.0 -> 0.7.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.pyexcel is: Single API for reading, manipulating and writing data in csv, ods, xls, xlsx and xlsm files
meta.homepage for python312Packages.pyexcel is: http://docs.pyexcel.org/
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.7.1 with grep in /nix/store/qpf523mc605yn0igj58dysbz987idgcb-python3.12-pyexcel-0.7.1
found 0.7.1 in filename of file in /nix/store/qpf523mc605yn0igj58dysbz987idgcb-python3.12-pyexcel-0.7.1

Rebuild report (if merged into master) (click to expand)

7 total rebuild path(s)

7 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.pyexcel
python311Packages.pyexcel-ods
python311Packages.pyexcel-xls
python312Packages.pyexcel
python312Packages.pyexcel-ods
python312Packages.pyexcel-xls

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/qpf523mc605yn0igj58dysbz987idgcb-python3.12-pyexcel-0.7.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.pyexcel https://github.com/r-ryantm/nixpkgs/archive/5eee2fa2b081e5c39a0b0af8ba969d63e748aa0c.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/5eee2fa2b081e5c39a0b0af8ba969d63e748aa0c#python312Packages.pyexcel

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/qpf523mc605yn0igj58dysbz987idgcb-python3.12-pyexcel-0.7.1
ls -la /nix/store/qpf523mc605yn0igj58dysbz987idgcb-python3.12-pyexcel-0.7.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 12 packages built:

python311Packages.pyexcel
python311Packages.pyexcel-ods
python311Packages.pyexcel-ods.dist
python311Packages.pyexcel-xls
python311Packages.pyexcel-xls.dist
python311Packages.pyexcel.dist
python312Packages.pyexcel
python312Packages.pyexcel-ods
python312Packages.pyexcel-ods.dist
python312Packages.pyexcel-xls
python312Packages.pyexcel-xls.dist
python312Packages.pyexcel.dist

Maintainer pings

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 361432

aarch64-darwin

:white_check_mark: 12 packages built:

python311Packages.pyexcel
python311Packages.pyexcel-ods
python311Packages.pyexcel-ods.dist
python311Packages.pyexcel-xls
python311Packages.pyexcel-xls.dist
python311Packages.pyexcel.dist
python312Packages.pyexcel
python312Packages.pyexcel-ods
python312Packages.pyexcel-ods.dist
python312Packages.pyexcel-xls
python312Packages.pyexcel-xls.dist
python312Packages.pyexcel.dist


cni should handler unmounted volume, when delete pod.

Bug fixes
cni should handler unmounted volume, when delete pod.

need run go mod tidy and update the go.sum and go.mod files.


Add conversations.members

@ygpark80 Thanks for raising this PR with a new table!
This table addition is interesting, as my first thought would have been to actually include this information in a members column in the slack_conversation table, as the amount of info returned from the conversation.members API is very light, only returning the user IDs for members.
However, this method is paginated, with Slack recommending no more than 200 per requests, though I'm not sure how often there are 50+, or even 30+ members, in a single conversation.
So in general, we usually do not include paginated APIs in hydrate functions, as this can make queries to the table slower or now a single column can encounter heavy throttling.
@johnsmyth Any thoughts on if this member data is better in a separate table or in a column in the slack_conversation table?

@cbruno10 my thoughts are the same as yours - if the number of members is less than 200 the majority of the time, then I would also prefer to include this in a column in the slack_conversation table, but I don't have any stats, so the junction table as implemented in this PR is probably safer.  I would be interested in what is 'typical', because the conversations in my environment don't even come close to 200 members:
 select
  ROUND(AVG(num_members), 2) AS mean,
  PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY num_members) AS median,
  mode() within group (order by num_members),
  MAX(num_members) AS max,
  count(num_members) filter (where num_members > 200) as count_over_200,
  count(num_members) filter (where num_members > 1000) as count_over_1000
from
  slack_conversation
+------+--------+------+-----+----------------+-----------------+
| mean | median | mode | max | count_over_200 | count_over_1000 |
+------+--------+------+-----+----------------+-----------------+
| 8.80 | 5      | 4    | 44  | 0              | 0               |
+------+--------+------+-----+----------------+-----------------+

Looking at the public Steampipe channel though, most channels have >900 members (and growing :) ).  I think most public slack channels will be large, and would cause me to lean toward a separate table, as implemented in this PR

@ygpark80 Thanks again for raising the PR!
When you get a chance, can you please have a look at my review comments, and if you have any questions, please let me know. Thanks!

Sorry for the late reply. I'll take a look at it!

I have applied all of your suggestions. In addition, I have change the column name from id to member_id. All of the queries in the doc works at least however not sure how I should approach with the version bump issue.

@ygpark80 Thanks for making the changes so quickly! I've added a few more that I missed the first time around, can you please have a look again? If you have any questions, please let me know, thanks!

I'm not sure if this is relevent to changes I made in this PR but do you have any suggestions or ideas on why the second query does not work?
> select * from slack_conversation_member where conversation_id in (select id from slack_conversation where is_general) order by member_id limit 20
+-----------------+-------------+-----------------------------+
| conversation_id | member_id   | _ctx                        |
+-----------------+-------------+-----------------------------+
(removed the content)
+-----------------+-------------+-----------------------------+
> select * from slack_conversation_member where conversation_id in (select id from slack_conversation where is_general) limit 20
Error: rpc error: code = Internal desc = 'List' call for table 'slack_conversation_member' is missing 1 required qual: column:'conversation_id' operator: =
 (SQLSTATE HV000)

@ygpark80 Which Steampipe CLI version are you using? We've made some recently FDW and query planning improvements in v0.16.x, with the latest version being v0.16.3. If you're not on the latest CLI version, can you please update and try the query you posted above without the order by again and see if it works?
FYI, I believe the error you're getting about the missing qual is due to the FDW query planning failing to populate the ListConfig key qual (conversation_id) correctly. Sometimes adding an order by in the query helps the query planner, like it does in this case.
Also, if the query without order by still fails in the latest CLI version, an alternative query is to use common table expressions (CTE):
with general_channel as (
  select
    id
  from
    slack_conversation
  where
    is_general
)
select
  *
from
  slack_conversation_member as m,
  general_channel as g
where
  m.conversation_id = g.id
limit 20

@ygpark80 Which Steampipe CLI version are you using? We've made some recently FDW and query planning improvements in v0.16.x, with the latest version being v0.16.3. If you're not on the latest CLI version, can you please update and try the query you posted above without the order by again and see if it works?
FYI, I believe the error you're getting about the missing qual is due to the FDW query planning failing to populate the ListConfig key qual (conversation_id) correctly. Sometimes adding an order by in the query helps the query planner, like it does in this case.
Also, if the query without order by still fails in the latest CLI version, an alternative query is to use common table expressions (CTE):
with general_channel as (
  select
    id
  from
    slack_conversation
  where
    is_general
)
select
  *
from
  slack_conversation_member as m,
  general_channel as g
where
  m.conversation_id = g.id
limit 20

Nope, doesn't work in v0.16.3 neighter but CTE version works. Let's finalize the PR!

@ygpark80 Thanks again for the PR and for the quick review updates!


Content update

new items added to equipment
new icons added

I see that you're still pushing commits to your branch, so I'm going to hold off on merging this until you say it's good to go ;)

alright, Ill let you know when its good 👍

You can go ahead and merge this now :)


Read C++ tensor to numpy array without copying

I just quickly googled it and it seems to me that it is possible to read a C++ vector to a numpy array without copying. Kai-Hsin do you think this is something we can/want to do, so that we can maximally use the Python functions?

This will be support in next iteration v0.9.1


feat(@angular/cli): add ability to use custom blueprint templates whe…

This type of feature was mentioned in Issue #3549
It allows a user of the cli to define their own blueprints to be used by the generate command. This is probably a little rough around the edges but I wanted to get it out there for feedback and see if anyone has suggestions how to make this nicer.
Currently this implementation would allow a developer to define the locations of their blueprints in the .angular-cli.json config file
{
  "$schema"<EMAIL_ADDRESS>  "project": {
    "name": "ng2-custom-blueprints"
  },
  "apps": [
    {
      "blueprints": {
        "component": "./blueprints/component"
      },
      "root": "src",
      "outDir": "dist"

      // ... more config

    }
  ]
}

With the above config the user could have a directory structure like this in their project
├── blueprints
│   └── component
│       └── __path__
│           ├── __name__.component.__styleext__
│           ├── __name__.component.html
│           ├── __name__.component.spec.ts
│           └── __name__.component.ts

The only blueprint that wouldn't be customizable here would be the module. I'm not sure on the implications of the cli being able to automatically register a component with a module if the blueprint were customized.
feedback / suggestions?

Heya, I can tell you put a lot of work and thought on making this PR, but I'm sorry to say we can't let it in... We're currently working on custom blueprint support and can't add an implementation now to change it a while later.
Thanks for taking the time to contribute and I'm sorry we can't get it in :/

No worries, thanks for looking.
Is there anywhere I can read about what you guys are planning for custom blueprint support? I'd be curious to read it.

There isn't anything public but we hope to have it around soon-ish (before 2.0).

any updates on custom blueprint???

@vnykSJ custom blueprints have been supported for a while now in the form os Schematics.

@filipesilva love the Schematics by the way. Definitely an awesome approach, much thanks to all the folks who worked on it.


Caching (probably supporting Vercel Data Cache first)

It would be great to cache repeated queries.  There are a bunch of ways we could look into doing this but I think the most useful one to implement first would be the Vercel Data Cache which shares the cache between all edge functions in that region(!).
We could support an extra argument to find() and countDocument() queries for the cache parameters, just like NextJS does for fetch(), e.g. find(url, { revalidate: 30 /* seconds */ }), or something.  Obviously no need to cache mutations like updateOne(), delete() however perhaps these could invalidate relevant cached items.  Needs more thought but exciting to think about, and would have great performance implications!
First discussed in https://github.com/gadicc/mongodb-rest-relay/issues/1#issuecomment-1703788764.

And actually in NextJS we might get this for free and all we need to do is pass the correct options to fetch()... so this might be a lot easier than I thought! I plan to look into this over the next week.


Hide the top bar in post template on mobile devices when the viewer continues to scroll down

Checklist

[x] I have read the contributing guidelines.
[x] There is no similar request on existing issues (including closed ones).
[x] I have read the project progress and know the current progress of the project.
[x] I was in the master branch of the latest code.

Is your feature request related to a problem? Please describe

No. I'd consider this as an enhancement when viewing blog content on horizontal small screens.
Describe the solution you'd like

Automatically hide the top bar when

content is displayed on a small screen
the user keeps scrolling down for a certain distance

And display the top bar back when the viewer start scrolling up.
Describe alternatives you've considered

Additional context

I was doing some note taking. The post contains many long bullet lines so it's more preferable to view then horizontally on mobile devices. The address bar for chrome will hide itself when I'm scrolling down, giving the content more space. I think if we can implement something similar with the top bar of the post page, it will give even more space for the content and would make reading easier.

It is a good idea to automatically hide the top bar on mobile devices, but I think this is only necessary for landscape orientation, not for portrait orientation, because now mobile phone screens have a large aspect ratio.

I agree, it should be very nice to have this feature in landscape.

有没有办法把这个功能关闭啊？我就是想要一直有top bar，本来这个top bar的设计我就觉得很好啊，很简洁也不占地方，为啥要隐藏？这样在手机上反而不方便到主页，还需要上滑一下调出top bar。
而且我看这个在电脑端也有bug，有时候会回到顶部了，top bar还自动消失了。
https://user-images.githubusercontent.com/89720279/159409472-928bb88d-2322-49b6-957f-b83d6136e8a0.mp4


Feature/translate translate function now in c++

Does the js implementation has tests?

@baslr yes.

Please fix the failing AQL tests.


Fatal Exception: java.util.ConcurrentModificationException

I saw a crash lately with the following stack trace. Any idea if this is related to your lib or the way I interact with it? I've been using this one before and nothing like this happened.
Fatal Exception: java.util.ConcurrentModificationException
       at java.util.ArrayList$Itr.next(ArrayList.java:860)
       at org.phoenixframework.PhxChannel.trigger(PhxChannel.kt:384)
       at org.phoenixframework.PhxSocket.triggerChannelError(PhxSocket.kt:381)
       at org.phoenixframework.PhxSocket.remove(PhxSocket.kt:354)
       at org.phoenixframework.PhxSocket.remove(PhxSocket.kt:437)
       at okhttp3.internal.ws.RealWebSocket.failWebSocket(RealWebSocket.java:570)
       at okhttp3.internal.ws.RealWebSocket$2.onFailure(RealWebSocket.java:220)
       at okhttp3.RealCall$AsyncCall.execute(RealCall.java:161)
       at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
       at java.lang.Thread.run(Thread.java:764)

@AdamGrzybkowski do you see any pattern in these? Is it during disconnect, are you removing channels manually, is there a network error, how many channels do you have open at once?
I'll try to dig into this, but if you could figure out if its consistently reproducible, then that would obviously be helpful.

@dsrees It happened only once for now. I do open only one channel. Not sure about other things right now.

hey, I'm getting something similar:
       at org.phoenixframework.PhxSocket.triggerChannelError(PhxSocket.kt:387)
       at org.phoenixframework.PhxSocket.onConnectionError(PhxSocket.kt:354)
       at org.phoenixframework.PhxSocket.onFailure(PhxSocket.kt:443)
       at okhttp3.internal.ws.RealWebSocket.failWebSocket(RealWebSocket.java:570)
       at okhttp3.internal.ws.RealWebSocket$2.onResponse(RealWebSocket.java:215)
       at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
       at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:762)```

I was wondering could it be a race condition with the channel removing itself from the socket and the socket itself getting a connection error?

Again I'm afraid I have no way to reproduce this

@eoinoconnell that's my theory as well. Thanks for your report, I'll try to see if I can get to this soon.

Hey, so that didn't resolve the issue for me, which makes sense to be fair as I was only connecting to one Chanel.
I did take another look at my own code and found that my bug was on my end. I was accidentally initialising the socket more than once so it was to do with a race condition with disconnecting the first while it was connecting to a new instance and closing the socket and Chanel .
Sorry for wasting your time, thanks for the library

@eoinoconnell 👍 not a problem! Glad your issue was resolved.

I hit this as well.  I'll try to pay attention and figure out what I was doing at the time.

I have same issue. When I send message every 100 ms
com.arstats.retranslator E/AndroidRuntime: FATAL EXCEPTION: Timer-5
Process: com.arstats.retranslator, PID: 12147
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.next(ArrayList.java:860)
at org.phoenixframework.PhxChannel.trigger(PhxChannel.kt:384)
at org.phoenixframework.PhxPush.trigger(PhxPush.kt:191)
at org.phoenixframework.PhxPush$startTimeout$$inlined$schedule$1.run(Timer.kt:149)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)

I have this code
private const val SEND_INTERVAL: Long = 100
socket?.let {
val chatroom = it.channel("receiver:general")
chatroom.join()
.receive("ok") {
                    while (isStart) {

                        val payload: HashMap<String, Any> = HashMap()
                                          ... init payload
                        chatroom.push("source", payload)

                        SystemClock.sleep(SEND_INTERVAL)
                    }
                }
                .receive("error") { }
    }

@dustinconrad @Helmt89 great! good find. I'll see if I can expose the issue as well and get a fix out for it.

Hi guise) Now after your fix, I have problem with heartbeat after 1 minuts - error: Transport: Heartbeat timeout. Attempt to re-establish connection

The default heartbeat timeout is 30s. Did you set it to 60s or is it failing after 2 heartbeats?

FYI, this is now available in the 0.1.4 release

Fail after second heardbeat. Now I disable try/catch logic with heardbeat. This decision work ~ 5 minuts, then I have fatal crash  with sochet.

Is the same code that you posted above the code that is failing for you? Also are you getting the same Fatal Exception: java.util.ConcurrentModificationException error?

E/BeaconsActivity: Socket Error null
java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at okio.Okio$1.write(Okio.java:79)
at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
at okio.RealBufferedSink.emit(RealBufferedSink.java:186)
at okhttp3.internal.ws.WebSocketWriter.writeMessageFrame(WebSocketWriter.java:212)
at okhttp3.internal.ws.WebSocketWriter$FrameSink.close(WebSocketWriter.java:253)
at okio.RealBufferedSink.close(RealBufferedSink.java:248)
at okhttp3.internal.ws.RealWebSocket.writeOneFrame(RealWebSocket.java:500)
at okhttp3.internal.ws.RealWebSocket$1.run(RealWebSocket.java:159)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)

This is a different exception than the one this issue was opened for.

agreed. @Helmt89 could you please open a new issue with as much information as you can provide regarding problem?


Fixed README headers

Thanks for this PR, cherry picked the first commit (ignoring the second two that have no effect). Will be in the next release (end of today most likely).

Still have problems...


Will this work on Alfred 5?

Yes, this works on the current version of Alfred 5. I have not tested on earlier versions, but it should work on those as well. This is a simple wrapper around the TOD CLI that simply passes the parameters and validates the response.


add support for iced-coffee-script

We treat .iced files the same way we treat .coffee files. Iced-coffee-script is just coffee-script with 2 additional keywords.
Please merge, I would like to have iced supported.

I didn't include the generated .js files in my commit. Hope that's right.

Thank you!

I didn't include the generated .js files in my commit. Hope that's right.

that's absolutely welcome ;-)
Would you mind to add a note in the readme?
And there is a little clean code test that fails.
  ✗ src/sloc.coffee
     ✗ #27: Line exceeds maximum allowed length. Length is 87, max is 80.

Impressive reaction time on your side. I already noticed the lint issue (fixed). And I forgot about the readme (fixed).
BTW: I noticed that the tests on travis run on ancient node versions (0.10 & 0.12).

I forgot to add a test... (wait 1sec)

Impressive reaction time on your side.

just by accident ;-)

BTW: I noticed that the tests on travis run on ancient node versions (0.10 & 0.12).

you're right: https://github.com/flosse/sloc/issues/63


Support for multiple accounts

I'm trying to use the Gmail client library to access multiple accounts, in other words I'm creating more than one GmailService object in the same application. My question is that is it safe? Does the lib make any assumption that only one GmailService object will be created? Does GmailService object modify any internal static field which can in turn make other GmailService objects invalid?

I've never tried this, but I believe it should work as expected.
As far as I can remember seeing, there are no static fields for anything except logging.
Please let us know if you discover this isn't the case.

Closing. Please re-open if this doesn't behave as expected.


dataset scitail

Hi
Don't have the preprocess_scitail.py?
Didn't check the scitail dataset?

I haven't implemented anything to preprocess the Scitail dataset. If the format is close enough to that of SNLI or MNLI, however, it should be fairly simple to adapt the preprocess_snli.py script to work on Scitail.


not a heavy list skipping perl parser

make this look better

This got removed when I added zero-size handling


How to get the paymasterUrl and bundlerUrl ?

this process is not clear for me, in the docs you say that these values are required but I don't understand how I can get both. I'm attentive to your response! Thanks in advance!
cc @0xGorilla

Hey @luislucena16 we added a short quick start guide to clarify this its currently in PR #69 and should be merged shortly

hey @excaliborr ohh I see it! this in dev branch I will use it and I will comment you! thank you!

maybe I can open a branch to improve the docs a bit!

Yes we are just waiting one one more reviewer to get it merged to main, then you should see it in the main readme

The docs were updated as the PR was merged so I am closing this issue now if you have any other questions feel free to open another one!

hey @excaliborr nice!! sure, I have opened another PR to add some docs!


how to read multiple channels raw file in python.

``# This is single channel raw file read code
import IMCtermite
import json
import os
import datetime
#import pdb
declare and initialize instance of "imctermite" by passing a raw-file
try :
imcraw = IMCtermite.imctermite(b"Measurement.raw")
except RuntimeError as e :
raise Exception("failed to load/parse raw-file: " + str(e))
#pdb.set_trace()
obtain list of channels as list of dictionaries (without data)
channels = imcraw.get_channels(False)
print(json.dumps(channels,indent=4, sort_keys=False))
print("number of channels: " + str(len(channels)))
#pdb.set_trace()
obtain all channels (including full data)
channelsdata = imcraw.get_channels(True)
everything that follows is an example that specifically makes use only of
the first (index = 0) channel ...
idx = 0
if len(channelsdata) > 0 :
# get first channel's data
chnydata = channelsdata[idx]['ydata']
chnxdata = channelsdata[idx]['xdata']
print("xdata: " + str(len(chnxdata)))
print("ydata: " + str(len(chnydata)))

# extract trigger-time
trigtim = datetime.datetime.fromisoformat(channels[idx]["trigger-time"])
print(trigtim)

# file output of data with absolute timestamp in 1st column
filname = os.path.join("./",channelsdata[idx]['name']+".csv")
print("writing output into " + filname)
with open(filname,'w') as fout :
    # include column header
    fout.write( str(channelsdata[idx]['xname']) + '[' + str(channelsdata[idx]['xunit']) + "]"
              + ","
              + str(channelsdata[idx]['yname']) + '[' + str(channelsdata[idx]['yunit']) + "]"
              + "\n" )
    # add data (introduce time shift according to trigger-time)
    for row in range(0,len(chnxdata)) :
        fout.write( str( (trigtim + datetime.timedelta(seconds=chnxdata[row])).isoformat() )
                  + ","
                  + str( chnydata[row])
                  + "\n" )

How to read multiple channel raw file in python?


Spike: Split up sdf-server

lib/axum-util really should be sdf-server-common. It started out as a more generic place to put axum related things that were defined in sdf-server, but needed by both sdf-server and the various sdf-server-v2-* crates. It ended up being very specific to sdf-server, and the sdf-server-v2-* crates, though.

Did not speed up compilation.


Add HTML validation check in Cypress tests

Prompted by https://github.com/citizensadvice/design-system/pull/2098 I thought I'd try adding an offline HTML validation check to all our component previews to see if it flagged up any issues. Uses cypress-html-validate to run the tests.
A decent few things here, but thankfully nothing major. I'll keep this as a draft and then extract some of the fixes out of here. Some are uncontroversial, others need some review.

Closing this as it'll need reconfiguring once https://github.com/citizensadvice/design-system/pull/2250 is in.


Add support for i18n with react-intl [IN PROGRESS]

This PR adds react-intl to translate the UI, I made a little experiment with one message translated to french.
Can you give me some feedback on this?
If it looks good to you, I can set a french translation up on the whole app and let the community translate other languages.
Issue #371

@yciabaud Nice!! This looks excellent. Please continue working on this PR. Maybe we can get this done in time for v1!
For menu items, we may need to use the FormatJS core libraries directly, since those aren't written in React. But I suggest saving that work for a future PR to avoid overcomplicating things at the moment.

Little update to fix inline comments (damn missing file!). OK when I have some time I will try to localize every message of the app.

We will have to check the menus for windows and mac, I tested only with linux.

Well I nearly localized everything except from some error messages and the window title. I am about to localize the titles but the navigation is broken since https://github.com/feross/webtorrent-desktop/pull/820/commits/b629c0dbb31fe847ad63115cf35d0320d4dd3298
Can you help figure what is going on?
I also have several warnings from standard coming from JSX templates, how to get rid of this?

Given the number of conflicts and stalled PR, I'm going to close this.


Fix iteration over users + simplify types

Issue https://github.com/giantswarm/roadmap/issues/1892 + also fix the issue with multiple users (the users: would be there for each user in the array)
Signed-off-by: Jiri Kremser<EMAIL_ADDRESS>

closing on behalf of https://github.com/giantswarm/cluster-vsphere/pull/23


[Runtime] 4.2 - Change MetadataLookup section vectors to use ConcurrentReadableArray.

Cherry-pick #16753 into 4.2.
This fixes a potential deadlock due to dyld calling Swift with a lock held and vice versa.
rdar://problem/40230581

@swift-ci please test


fix issue #637: visibitily attribute is deprecated in the new Metadata protobuffer files.

@davelab6 Could you please test this and tell me if it is good?

I'll merge it, as it fixes the previously reported broken code. Please open an issue if you think there are further code changes needed in this script.


left marracca is thought to be in the ride side screen of the game

I cannot get the left joycon to be recognized as positioned to my left the game rezognizes height of marracas correctly but for some reason the position on x axis it does not
I am using psvr 2 adapter with steam vr

Satanshiro-san!
If I understood correctly, only the left controller / maraca is suffering the issue. Is that correct? What is odd is that I would expect both maracas (left and right) to behave similarly...
Anyway, I thought about creating a calibration screen instead of using some of the currently internal constants, and that could also work as a debugging tool for such issues. Unfortunately, I don't have a lot of free time at the moment to release a new version, but I'll post here when I release it so you can get an alert.

I tried multiple times but unfortunately same bug.
I can navigate very well and intuitively in the menu but once I start a song the left maraca seems to think it’s only on the right side of the screen and doesn’t matter how much I move hand to the side it will still think it’s on the right side up and down motions seem to work. If you don’t have time I’d love to try and contribute is there a specific unreal version that I need?

Sorry for the late reply!
Is the issue happening only with this program?
If you want to give it a try, IIRC, I used Unreal Engine 5.1 for this release.

Yes I can use steamer games and Denice very well. Again the hand tracking works well here too in terms of holding the maracas and moving hands but in the game itself it does not register well, hopefully I’ll get the time to try and get to know the code thanks and have a nice day!


broken link

link at bottom on page , links to this page

Create an application gateway with an internal load balancer (ILB)
https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-ilb

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

ID: d68f16fb-a6ab-7303-1af6-8278ecd15026
Version Independent ID: 0136ab8d-331b-ddf0-a9e7-39f62246012f
Content: Use with Internal Load Balancer - Azure Application Gateway
Content Source: articles/application-gateway/application-gateway-ilb-arm.md
Service: application-gateway
GitHub Login: @vhorne
Microsoft Alias: victorh

Fixed via #96360
@jamesalroy Thanks for the feedback! I have removed the redundant link, and the doc should reflect the changes within 24 hours.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


SSR Rending (with apollo-link-state and w/o a graphQL back-end)

Intended outcome:

To fetch data on the server using apollo-link-state and no graphQL back-end.  Here is the guide I was attempting to follow:
https://github.com/apollographql/apollo-client/blob/master/docs/source/recipes/server-side-rendering.md
Actual outcome:

When trying to create a new ApolloClient on the server, the link option seems to be giving me problems.  I have read about 3 different methods and each one returns an error:

link: new SchemaLink({ schema }),: Schema must be an instance of GraphQLSchema
link: withClientState({ schema }),: TypeError: Cannot read property 'getGame' of undefined
link: createHttpLink({ ... }): Network error: Unexpected token N in JSON at position 0  (this is actually a 404)

I have checked and only have one version of graphql installed:
yarn list graphql*
├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>
How to reproduce the issue:

I was originally adding this to an existing app, using the following additions:

add Apollo Link State (working client side):
https://github.com/peter-mouland/react-lego/commit/58c920ed10d97e7c4e0a5c8e70f1580b3ce30e06
trying to get SSR w/ data fetching working:
https://github.com/peter-mouland/react-lego/commit/ee32909164d661aa0bdaf26e5feca1cc1fc5a96a

Here is a reduced test case (which includes a readme highlighting important files):
https://github.com/peter-mouland/react-lego/tree/apollo-ssr-error
Version

<EMAIL_ADDRESS>
Linked Issue within apollo-client
Sorry, I'm not sure which repo is best suited for this issue, so i've created 2. Feel free to close if this is best answered elsewhere!
https://github.com/apollographql/apollo-client/issues/2745

This sounds like it's an error with apollo-link-schema and not this package. Can you please just post the errors you're experiencing with apollo-link-state?

SSR is working fine for me and I don't receive any errors. Maybe this was fixed. But I get warnings when exceuting the following query in the browser:
graphql(gql`
  {
    userInfo {
      username
    }

    ui @client {
      navigationVisible
    }
  }
`),

Warning: Missing field ui in { "userInfo": { ...
The result looks fine, though. Because I've all my graphql queries in separate files  (one per React component) and would have to create for each client query a second file I'll stick with the warning message and hope this will be fixed in V1 :)

This should be working with current day versions of apollo-client, apollo-link-state and apollo-link (this has been reported to be working by others since this issue was opened). I'll close this for now, but if you're still encountering this issue, let us know. Thanks!


Anytime it gets to steam-deploy step it fails with unable to find image

Bug description
It runs /usr/bin/docker run --name aaf5bf14427a5284475bf02669bf9afc85d_b0d92c --label 446aaf --workdir /github/workspace...
Then it errors with:
Unable to find image '446aaf:5bf14427a5284475bf02669bf9afc85d' locally
docker: Error response from daemon: pull access denied for 446aaf, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
How to reproduce
Just run on latest build

Expected behavior
Deploy succeeds
Additional details
I tried standard script.

Are you running GitHub hosted runners or self-hosted?
Generally speaking this isn't a bug but a limitation by dockerhub. Basically they're requesting people to sign in to pull images over a certain rate.
Related question on StackOverflow: https://stackoverflow.com/questions/73297640/github-workflow-requested-access-to-the-resource-is-denied

Hey! Thank you for your fast reply. I'm using local runtime. I logged into docker but still see the same message. Can you give me the docker repo used for stream deploy so that I first confirm that it downloads correctly onto my machine?

All you should have to do is sign in your docker CLI. After that your rate limit should be much higher.

Hey, I logged into docker using CLI, then I added this action: docker-login and it succeeded but still I get the same error. How can we debug it?
      # - StandaloneLinux64 # Build a Linux 64-bit standalone.
      - StandaloneOSX
outputs:
  buildVersion: ${{ steps.build.outputs.buildVersion }}
steps:
  - uses: actions/checkout@v3
    with:
      fetch-depth: 0
      lfs: true
  - uses: actions/cache@v3
    with:
      path: Library
      key:
        Library-${{ matrix.targetPlatform }}-${{ hashFiles('Assets/**', 'Packages/**',
        'ProjectSettings/**') }}
      restore-keys: |
        Library-${{ matrix.targetPlatform }}-
        Library-
  - uses: game-ci/unity-builder@v2
    id: build
    env:
      UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
      UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
      UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
    with:
      targetPlatform: ${{ matrix.targetPlatform }}
      versioning: Semantic
  - uses: actions/upload-artifact@v3
    with:
      name: Build-${{ matrix.targetPlatform }}
      path: build/${{ matrix.targetPlatform }}

deployToSteam:
needs: [buildForWindowsAndOSX]
runs-on: self-hosted
steps:
- name: Login to docker
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Checkout Repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Download StandaloneWindows64 Artifact
uses: actions/download-artifact@v3
with:
name: Build-StandaloneWindows64
path: build/StandaloneWindows64
- name: Download StandaloneOSX Artifact
uses: actions/download-artifact@v3
with:
name: Build-StandaloneOSX
path: build/StandaloneOSX
- uses: game-ci/steam-deploy@v3
with:
username: ${{ secrets.STEAM_USERNAME }}
configVdf: ${{ secrets.STEAM_CONFIG_VDF}}
appId: ${{ secrets.STEAM_APP_ID }}
buildDescription: v${{ needs.buildForWindowsAndOSX.outputs.buildVersion }}
rootPath: build
depot1Path: StandaloneWindows64
depot2Path: StandaloneOSX
releaseBranch: usedcars
'''

I even tried adding Pull image command which successfully works but still get the same error on steam-deploy@v3
  deployToSteam:
    needs: [buildForWindowsAndOSX]
    runs-on: self-hosted
    steps:
      - name: Login to docker
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      - name: Pull Image
        run: docker pull steamcmd/steamcmd:latest
      - name: Checkout Repository
        uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - name: Download StandaloneWindows64 Artifact
        uses: actions/download-artifact@v3
        with:
          name: Build-StandaloneWindows64
          path: build/StandaloneWindows64
      - name: Download StandaloneOSX Artifact
        uses: actions/download-artifact@v3
        with:
          name: Build-StandaloneOSX
          path: build/StandaloneOSX
      - uses: game-ci/steam-deploy@v3
        with:
          username: ${{ secrets.STEAM_USERNAME }}
          configVdf: ${{ secrets.STEAM_CONFIG_VDF}}
          appId: ${{ secrets.STEAM_APP_ID }}
          buildDescription: v${{ needs.buildForWindowsAndOSX.outputs.buildVersion }}
          rootPath: build
          depot1Path: StandaloneWindows64
          depot2Path: StandaloneOSX
          releaseBranch: usedcars

Here's full log:
Run game-ci/steam-deploy@v3
  with:
    username: ***
    configVdf: ***

    appId: ***
    buildDescription: v0.0.16
    rootPath: build
    depot1Path: StandaloneWindows64
    depot2Path: StandaloneOSX
    releaseBranch: yyy
/usr/bin/docker run --name aaf208158ce94a844759d991b5c0819ae20_b9e76b --label 446aaf --workdir /github/workspace --rm -e "INPUT_USERNAME" -e "INPUT_CONFIGVDF" -e "INPUT_APPID" -e "INPUT_BUILDDESCRIPTION" -e "INPUT_ROOTPATH" -e "INPUT_DEPOT1PATH" -e "INPUT_DEPOT2PATH" -e "INPUT_RELEASEBRANCH" -e "INPUT_TOTP" -e "INPUT_FIRSTDEPOTIDOVERRIDE" -e "INPUT_DEPOT3PATH" -e "INPUT_DEPOT4PATH" -e "INPUT_DEPOT5PATH" -e "INPUT_DEPOT6PATH" -e "INPUT_DEPOT7PATH" -e "INPUT_DEPOT8PATH" -e "INPUT_DEPOT9PATH" -e "steam_username" -e "steam_password" -e "steam_totp" -e "configVdf" -e "ssfnFileName" -e "ssfnFileContents" -e "appId" -e "firstDepotIdOverride" -e "buildDescription" -e "rootPath" -e "depot1Path" -e "depot2Path" -e "depot3Path" -e "depot4Path" -e "depot5Path" -e "depot6Path" -e "depot7Path" -e "depot8Path" -e "depot9Path" -e "releaseBranch" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_REPOSITORY_OWNER_ID" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_REPOSITORY_ID" -e "GITHUB_ACTOR_ID" -e "GITHUB_ACTOR" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -e "GITHUB_REF_PROTECTED" -e "GITHUB_REF_TYPE" -e "GITHUB_WORKFLOW_REF" -e "GITHUB_WORKFLOW_SHA" -e "GITHUB_WORKSPACE" -e "GITHUB_ACTION" -e "GITHUB_EVENT_PATH" -e "GITHUB_ACTION_REPOSITORY" -e "GITHUB_ACTION_REF" -e "GITHUB_PATH" -e "GITHUB_ENV" -e "GITHUB_STEP_SUMMARY" -e "GITHUB_STATE" -e "GITHUB_OUTPUT" -e "RUNNER_OS" -e "RUNNER_ARCH" -e "RUNNER_NAME" -e "RUNNER_ENVIRONMENT" -e "RUNNER_TOOL_CACHE" -e "RUNNER_TEMP" -e "RUNNER_WORKSPACE" -e "ACTIONS_RUNTIME_URL" -e "ACTIONS_RUNTIME_TOKEN" -e "ACTIONS_CACHE_URL" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/media/cvedia/STORAGE/scripts/actions-runner/_work/_temp/_github_home":"/github/home" -v "/media/cvedia/STORAGE/scripts/actions-runner/_work/_temp/_github_workflow":"/github/workflow" -v "/media/cvedia/STORAGE/scripts/actions-runner/_work/_temp/_runner_file_commands":"/github/file_commands" -v "/media/cvedia/STORAGE/scripts/actions-runner/_work/xxx-xxx/xxx-xxx":"/github/workspace" 446aaf:208158ce94a844759d991b5c0819ae20
Unable to find image '446aaf:208158ce94a844759d991b5c0819ae20' locally
docker: Error response from daemon: pull access denied for 446aaf, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

I even tried removing the image from docker images and re-running action and it still fails (created a new image id).

If I write docker images, I can see the docker, it seems somehow the action doesn't have access to it.

All you should have to do is sign in your docker CLI. After that your rate limit should be much higher.

Can you help me debug somehow?

The only thing I could think of why it wouldn't work is if you're not using officially supported runners, or a runtime that uses Docker in Docker (DinD) and don't pass the logged in status somehow.
Just to check, @davidmfinol are you experiencing problems with the action as well or is it working as expected for you?

Working as expected for me.
I see a couple of options:
A) Use GitHub-hosted runners instead of self-hosted runners. Since you are already uploading the files to GitHub, I don't see any reason to avoid using GitHub-hosted runners for the steam-deploy. You can continue to use self-hosted runners for your builds.
But if you really want to keep everything on self-hosted runners, you could
B) Install the Steam CLI on your self-hosted runner. Then, fork and modify this action to change it from a Docker Action to a Composite Action. This action used to be a composite action, so you can actually refer to this to get an idea of how it would be done: https://github.com/game-ci/steam-deploy/commit/51329f06a150a8783f79c879e308513735c1afbe#diff-1243c5424efaaa19bd8e813c5e6f6da46316e63761421b3e5f5c8ced9a36e6b6

Ok ended up forking and reverting my fork to pre-docker. Now it works.

Thanks for letting us know what worked for you @galfaroth.
Would be happy to hear if other people are experiencing similar problems, or even better; found a solutions based on the latest version of the action.


twitter interactions - fix replying to itself and not reply to spammers

Relates to:
No specific issue or ticket.
Risks
Low. Updates are limited to Twitter interaction handling logic and spam detection. Potential risk of missing edge cases in spam identification.
Background
What does this PR do?
This PR improves the agent's behavior on Twitter by:

Preventing it from replying to its own tweets or mentions of itself.
Filtering out spam accounts and irrelevant interactions.
Ensuring replies are focused on meaningful and relevant conversations.

What kind of change is this?
Improvements: Refinements in interaction logic to enhance agent engagement quality and reduce inappropriate replies.

Documentation changes needed?
No changes required to existing documentation.

Testing
Where should a reviewer start?

Review the TwitterInteractionClient class changes, specifically:

handleTwitterInteractions
handleTweet
Spam detection logic (isSpam function).

Detailed testing steps

Deploy the agent with the updated code.
Use a test Twitter account and perform the following:

Post tweets from the agent account.
Mention the agent in tweets.
Post spam-like tweets or irrelevant mentions.
Post meaningful mentions or start direct conversations.

Verify that:

The agent does not reply to its own tweets or mentions.
Spam tweets are ignored.
Replies to meaningful mentions are appropriate and relevant.

Discord username
barry_drew

forget this PR sorry - made some wrong changes


Two or more commands in $usage

Thanks for this API. Sorry, my english isn't good. But!
Tell me please - how to make two or more "usage-key" in one CommandModule. I didn't find this in the documentation and in the demos.
Sample:
protected $usage = '/cat /tomcat /pussycat';

Thanks.

I have learned that the key depends on the name in the class definition.
class <UsageKey>Command extends UserCommand
protected $usage = '/UsageKey';

I did this, so:
file1: CatCommand.php
<?php
namespace Longman\TelegramBot\Commands\UserCommands;

use Longman\TelegramBot\Commands\UserCommand;
use Longman\TelegramBot\Request;
use Longman\TelegramBot\Entities\ReplyKeyboardMarkup;

/**
 * User "/cat" command
 */
class CatCommand extends UserCommand
{
    /**#@+
     * {@inheritdoc}
     */
    protected $name = 'cat';
    protected $description = 'Send Cat';
    protected $usage = '/cat';
... ... ...
<code>
?>

file2: TomcatCommand.php
<?php
namespace Longman\TelegramBot\Commands\UserCommands;

use Longman\TelegramBot\Commands\UserCommand;
use Longman\TelegramBot\Request;
use Longman\TelegramBot\Entities\ReplyKeyboardMarkup;

/**
 * User "/tomcat" command
 */

class TomcatCommand extends CatCommand
{
}
?>

And if you write '/cat' or 'tomcat', we get the same result.
Thanks.

There is also a wiki page
https://github.com/akalongman/php-telegram-bot/wiki/Create-your-own-commands
feel free to improve it!

Ops! Please sorry, I do not read the Wiki =((

But. There's a wiki does not say what to do to work with UTF-8 encoding. I know the solution. I write a new Issa or write here?

I wrote in the issue number #135

I'm closing!


Expand collapse edges

When there are multiple edges between the same pair of nodes, we end up with either not easily seen set of edges or end up with expensive calculations of these edges (e.g. Bezier curves). So, let's allow a similar functionality for edges in this extension. The user should be able to specify whether all edges between a pair of nodes are to be collapsed into a single meta edge or only edges of the same type to a corresponding meta edge.
We should update the demos to reflect this new feature.

Improvement suggestions with current partial implementation:

When an edge doesn't have any type information in the field expected, assume it of a default / unknown type
Get rid of redundancy in API
When a collapse is performed and a new meta edge is created, its class should be similarly named as 'cy-expand-collapse-collapsed-edge'.
When a collapse is performed and a new meta edge is created, this meta edge should have a field for direction of edges collapsed. If the input to the collapse function was:

a pair of nodes A and B: if all edges are from A to B, direction should be 'source-to-target'. if all edges are from B to A, it should be 'target-to-source'; otherwise, it should be 'bidirectional'.
a list of edges: assume the source and target of the first edge (from A to B) and do accordingly.
The demo should put an arrow head according to this field.

Let's do one demo with undo/redo and:

Make sure the demo is nicely styled, paying attention to upper-lower case, etc.
Use pale colors for edges
Use consistent and bright color for selected nodes and edges

@ugurdogrusoz point 11 cannot be handled in the extension level. I handled as much as possible in the demo level to keep it simple. But it is hard to know whether a function like 'collapseAll' would do any work or not because much processing is needed, grouping, counting edges etc.

I also encountered with missing edges after some undo-redo operations. Minimum steps I found to reproduce:

Select at least two edges where each edge is between different node pairs.
Click on "Collapse selected edges" and nothing happens.
Apply undo, nothing happens again.
Apply redo, edges disappear.

Suggestions for README:

In new api functions, we can use options instead of opts as parameter to be consistent with the already existing functions. api.collapseEdges(edges,opts) -> api.collapseEdges(edges, options)
In Elements Style section, in bullet 4, instead of "this edges", either "this edge" or "these edges" in two places.

@hasanbalci  Could you please check?

@nasimsaleh The scenario I described above seems to be fixed, but in a different scenario I encountered with missing edge again:

After clicking on "Expand selected edges", I apply undo and redo, and edge disapperar.

@nasimsaleh I was also testing with cytoscape.js v3.3.0 and all three expand functionalities give error in the console.

@hasanbalci  Could you check again now?

@nasimsaleh It seems that the bugs I mentioned are fixed now. Thanks!


Issue with New Site?

When you click the freecodecamp logo on the left it just leads you to lesson you are on. Is that intentional? Is there a way to get to the map page anymore?

@hollyhascode Yes that is intentional. The map is available at /map.
Happy Coding!


conformance: add conformance test for gateway addresses

What type of PR is this?

/kind test
/area conformance
What this PR does / why we need it:
add conformance tests for Addresses which are extended. the test covers single and multiple addresses.
Which issue(s) this PR fixes:
Fixes #2035
Does this PR introduce a user-facing change?:

No

I am not sure about this... I don't know that many implementation can support HostnameAddressType. It is extended, as is IPAddressType. I would expect most implementations actually support only one or the other?
Maybe we need it more granular with the Features? not sure, I have not dealt with this much

the HostnameAddressType is pretty rare, but for IPAddressType, it is supported by Envoy Gateway and Contour AFAIK. so maybe we can only foucs on IPAddressType for now.
cc @shaneutt

@shawnh2 I think what John is getting at is that we might need more specificity in the features: having a feature that's just GatewayWithAddresses might not be enough specificity to cover something like HostnameAddressType. Seems like for now at least, maybe we just have to go with a separate named feature for that.

@shawnh2 I think what John is getting at is that we might need more specificity in the features: having a feature that's just GatewayWithAddresses might not be enough specificity to cover something like HostnameAddressType. Seems like for now at least, maybe we just have to go with a separate named feature for that.

got it!
this PR mainly checks whether the Addresses in GatewaySpec have a corresponding entry in GatewayStatus.Addresses. so calling it GatewayWithAddresses  may be a little confusing, it would be nice to be more specific, like GatewayAddresses PopulatedInStatus etc.

@shawnh2 Heya, checking in :wave:
Everything going ok with this one? Have any questions, or need any assistance moving it forward?

As this one has been inactive for a while and needs some conflict resolution, I'm going to mark it as draft temporarily as this helps us to better organize our reviews. Please feel free to move it back to ready again once you've got some time to update it, and let us know if you're stuck or need help moving this forward!

Everything going ok with this one? Have any questions, or need any assistance moving it forward?

sorry for the late response, i will work on this issue as soon as i can.

Thanks @shawnh2: just a heads up that we consider this one a release-blocker for GA, so if you feel like you'll have any problem committing time to it please let us know so we can coordinate.


Restructure sites table for readability

Summary
This PR restructures the sites table in PreConfiguredSites.rst to, hopefully, make it more readable. Specifically:

Organization, system name, and compilers are separate columns; I find it much easier to find a specific site by name this way.
Platform are now separated by HPC and cloud. This makes it easy to point someone to the docs when they ask "what cloud platforms do we support?"
I renamed a few things, namely, "NAVY"->"U.S. Navy", "GNU"->"GCC", "AMD clang/flang"->"AOCC", U of Wisconsin, and Parallel Works.

Testing
Tested on personal machine (sphinx 1.7.6).
Applications affected
n/a
Systems affected
n/a
Dependencies
none
Issue(s) addressed
none
Checklist

[x] This PR addresses one issue/problem/enhancement, or has a very good reason for not doing so.
[ ] These changes have been tested on the affected systems and applications.
[ ] All dependency PRs/issues have been resolved and this PR can be merged.

Are those likely to have different paths at some point? If the other columns are all the same then I think it's fine to have them in one place.
I'll probably add "(Parallel Works)" to "RDHPCS Cloud" just to clarify since I've never actually heard it referred to as "RDHPCS Cloud" before today...

@climbfuji looks like the '^**' got added in https://github.com/JCSDA/spack-stack/commit/beeb5b39ece362930201d8f2d6502f27681427d6 but never had an actual footnote.

@climbfuji looks like the '^**' got added in beeb5b3 but never had an actual footnote.

Then we should probably just remove them, my bad.