K3S Kubernetes Cluster: TypeError [ERR_INVALID_ARG_TYPE]: The "options.port" property must be one of type number or string. Received null

I'm running 6+ NodeJS programs, each with a combination of requesters, responders, publishers and subscribers. These programs are running on a k3s kubernetes cluster. I use redis for service discovery.
To make this work, I need to Expose ports when building the docker images. At the moment I expose ports 8000-9999 but with all programs running, I get:
TypeError [ERR_INVALID_ARG_TYPE]: The "options.port" property must be one of type number or string. Received null
at new NodeError (node:internal/errors:329:5)
at lookupAndConnect (node:net:989:13)
at Socket.connect (node:net:968:5)
at ReqSocket.Socket.connect (/usr/src/app/node_modules/@dashersw/axon/lib/sockets/sock.js:297:8)
at Requester.onAdded (/usr/src/app/node_modules/cote/src/components/requester.js:94:19)
at Discovery. (/usr/src/app/node_modules/cote/src/components/component.js:32:18)
at Discovery.emit (node:events:381:22)
at Network.Discover.self.evaluateHello (/usr/src/app/node_modules/@dashersw/node-discover/lib/discover.js:176:9)
at Network.emit (node:events:369:20)
at /usr/src/app/node_modules/@dashersw/node-discover/lib/network.js:72:22 {
code: 'ERR_INVALID_ARG_TYPE'
}
This can happen to any pod in the cluster, so I guess it's related to port usage. Is it possible to assign specific ports to a requester, responder, etc, or is it possible to use redis for the communication, and not only for the discover?

The null value seems to come from axon:sock client. I also have this outside the cluster, so it's not related to k3s. Could this be redis related?
axon:sock server accept <IP_ADDRESS>:54157 +515ms
axon:sock server add socket 0 +1ms
Requester User Configurations > service.online Responder to User Config Requests#00e80f63-a90d-4e8b-bd64-deb9f0e1e588
axon:sock client connect attempt <IP_ADDRESS>:null +1s
node:net:989
throw new ERR_INVALID_ARG_TYPE('options.port',
^

I made some progress with debugging. The NodeJS programs that have this issue, both have this Requester that is causing the error:
const
cote = require('cote')({ redis: { host: 'redis' } });
const configRequester = new cote.Requester({ name: 'Requester User Configurations', key: 'user.processor' });
The NodeJS that has the responder for this has the following:
const
cote = require('cote')({ redis: { host: 'redis' } });
const configPublisher = new cote.Publisher({ name: 'Publisher to user configuration changes', key: 'user.publisher' });
const configResponder=new cote.Responder({ name: 'Responder to User Config Requests', key: 'user.processor' });
If I remove the Publisher, and only keep the Responder, then the issue is gone. What's wrong with the definition of the Publisher?

We experienced similar issues when we upgraded to Kubernetes v1.20.2 (provider: Digital Ocean) using cote v1.0.2.
We "fixed" it  by setting port manually because we detected that cote wasn't able to find a free port to use and was trying to set it to 65535.
Sample code:
const responder = new cote.Responder({   name: "TEST1",   key: "TEST1",   port: 8000, });
We couldnt find any other solution.

We experienced similar issues when we upgraded to Kubernetes v1.20.2 (provider: Digital Ocean) using cote v1.0.2. We use cote with REDIS. We "fixed" it by setting port manually because we detected that cote wasn't able to find a free port to use and was trying to set it to 65535.
Sample code: const responder = new cote.Responder({ name: "TEST1", key: "TEST1", port: 8000, });
We couldn't find any other solution. I hope it helps.
We are facing now random timeout issues after upgrading to Kubernetes v1.20.9. ...

Thank you! This really helps.


Zoom out and dragging boxes

Dragging is very "slow" or not aligned with the mouse pointer if you zoom out. I think there is a zoom scaling issue with the drag.

This is done.


ANE packaging support

While GradleFx supports building standard AIR and mobile packages, it doesn't support ANE packages yet.
Most of the required adt arguments are already supported in https://github.com/GradleFx/GradleFx/blob/master/src/main/groovy/org/gradlefx/tasks/mobile/BaseAirMobilePackage.groovy but we're missing the '-swc' argument.
This new feature request was created because of the following support thread, which also contains a workaround with all the required adt options: http://support.gradlefx.org/discussions/questions/3577-how-can-i-build-and-create-ane-package-with-gradlefx

While you're in there adding support for the '-swc' flag, maybe you could also add support for the '-tsa' flag (with accompanying value)? :)

@wenslayer created a separate ticket for that ;)
Btw: I'm not yet diving in there, just creating the tickets so I (or someone else) don't forget ;)

Gotcha, thanks!

Hi SlevinBE, I'm voting for this feature!
I currently need to create a Windows-extendedDesktop-app using a self-created ane (to communicate via bluetooth). Can you or anyone else imagine a work-around like using special "additionalCompilerOptions" or better "air.fileOptions"? Or is the only option to add a post-processing adt call (question 3577)?

currently the only option is to add a post-processing adt call.


Fixed issues nr 852: couldnt see dragable element in Chrome 50. release

Chrome 51, does not reproduced.
Also, this fix will not work with a dynamic list.


Remove limit for sockets per connection to fix "Premature close" error + prepare patch release

Fixes databricks/databricks-sql-nodejs#208

maxSockets: Infinity is basically a default value since some very early Node version, I just made it more explicit. In combination with socket timeout, I think Node can deal with it. In the worst case, user will get some error when system limit reached. Also, later we're going to make Agent customizable and allow user to tweak those settings


Add k-means clustering process for neighborhood matrices

What is the purpose of this PR?
Addresses and closes #245. The next step in our downstream analysis is to provide a framework which allows users to run k-means clustering on a created neighborhood matrix.
How did you implement your changes
We provide a function in spatial_analysis to drive the clustering process and a function in visualize to allow the user to pick a good k to use for k-means clustering.
Remaining issues
Currently, we're only considering one clustering method, and one cluster scoring metric (silhouette score). There's a potential to discuss other clustering algorithms/metrics if we feel they would be more indicative.
A possibility is to allow for different algorithms and metrics to be specified.

So another thing I addressed in this PR (in line with one of Noah's earlier code review comments) was to move all the data generating functions in spatial_analysis_test and spatial_analysis_utils_test into test_utils. I think it will be better for them to live there and not clog up the testing modules.
It's fairly clunky right now, but as we develop a more robust and synthetic testing suite, I think we will gradually be able to condense.

One more thing: I've held off on adding this process to the Deepcell_Postprocessing notebook for now. I think we should wait until we get a working heatmap visualization process up and running because this is next step after the cluster generation outlined in #139. Of course, feel free to suggest otherwise.


Loading the plugin and css from CDN doesn't seem to work?

Is there a reason loading this plugin and CSS from a CDN wouldn't work?  I've tried using the demo code below but replacing the plugin and css with jsdelivr versions but no chromecast option ever appears in the player:

   <meta charset=utf-8 />
   <title>silvermine-videojs-chromecast Demo</title>
   <link<EMAIL_ADDRESS>rel="stylesheet">

Demo of silvermine-videojs-chromecast

   <video id="video_1" class="video-js vjs-default-skin" controls preload="auto">
      <source src="http://www.caminandes.com/download/03_caminandes_llamigos_1080p.mp4" type="video/mp4">
   </video>

Your demo works for me in macOS 13.0 Chrome (107), at least:

Please note that there has to be Chromecast devices available for casting on the same network as the device in order for the Chromecast button to show up in the toolbar. If there are no available Chromecast device targets, then the button will not be shown.
If you are able to reproduce this issue after ensuring that there are available cast targets, please provide what OS version and browser version you are using.

Thanks for the reply.  There's definitely Chromecast devices available - if I tap the cast button on Android I can select my Nvidia Shield.  I tested right clicking on the video in Edge on Windows 11 and discovered a "Cast to Device" option in the context menu which, when clicked, brings up the options for devices to cast to.  However I really want to get the cast button in the controls working.   I have a Mac as well so decided to install Chrome and test like you and similar issue - no cast button although I have the cast menu button in the Chrome options menu and have the option to cast the tab.
I'm doing all this testing on http not https could that be the isssue????

Ran my code on a HTTPS connection last night and it worked.  I had even tested with running the plug locally on my server - njot just thought the CDN but ultimately this plugin needs HTTPS - might be worth adding to the docs.


Visual Studio new projects has not looked like any of the screengrabs for many years now.

Visual Studio new projects has not looked like any of the screengrabs for many years now. The options shown are not given.

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

ID: 5852b021-94d2-1a19-17f3-7dc54d4cb409
Version Independent ID: 031f5cb8-db62-4a2d-9ea4-939eb0fd0ade
Content: Write a Windows desktop app based on the WinUSB template - Windows drivers
Content Source: windows-driver-docs-pr/usbcon/how-to-write-a-windows-desktop-app-that-communicates-with-a-usb-device.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @duncanmacmichael
Microsoft Alias: dumacmic

Hi @studleylee, thanks for pointing this out. I recently updated the driver-focused USB template topics for Visual Studio 2019, but hadn't gotten to this one yet. I've updated this page for VS 2019 now, so please take a look and let me know if you see any issues. Thanks for helping to improve the docs!


Fix dropdown section in v1 upgrade guide documentation

Proposed changes
This PR fixes issue #6116 which is a simple change to this line in the Dropdown section:

Call plugin on .dropdown-content instead of .dropdown-button

As the issue points out, it should be .dropdown-trigger and not .dropdown-content.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to change).

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

P.S. Your docs say to open a PR against master, but earlier in the docs, it says to branch off the main development branch, which I assumed is v1-dev. I did just that, so that is why I'm asking to merge back into your v1-dev.
I'll gladly change it to the master branch if that's what you guys really want. Let me know if I should also make this a bit more clear in your contributing file! :)

We are still using v1-dev for now. Eventually we will migrate the branch names back to master but for now PRs should be opened against v1-dev.
Thanks for the PR!


DoesForEach should evaluate compile time

What You Are Seeing?
It looks like the "DoesForEach" of Task is pre-compiled, and isn't doing the "GetFiles" during runtime.
What is Expected?
The "GetFiles" inside the ForEach should be evaluated at runtime and not during compile time. Because I want to ForEach over files which aren't available (yet) during compile time.
What version of Cake are you using?
0.26.1
Are you running on a 32 or 64 bit system?
64-bits
What environment are you running on?  Windows? Linux? Mac?
Windows
Are you running on a CI Server?  If so, which one?
Doesn't matter.
How Did You Get This To Happen? (Steps to Reproduce)
Example:
I have 3 tasks:

Clean "/artifacts".
DotNetCorePack; which creates and saves multiple *.nupkg-files into /artifacts/pack  (with a unique timebased version).
DotNetCoreNuGetPush which uses the .DoesForEach(GetFiles("./artifacts/pack/*.nupkg"), (nugetFile) =>

On the first (local) run; the directory doesn't exists; and the "DotNetCoreNuGetPush" tasks finishes without doing anything (thus: /artifacts was empty during compile-time).
On the second (local) run; the directory does exists during compile time (with the 'old' artifacts). My first tasks cleans the directory; and the second task creates new nupkg-files; (with a new unique timebased version).
Then; the third task does the ForEach but fails because it can find the old nupkg-file!
Output Log
First run:
========================================
Pack
========================================
Successfully created package '<snip>\artifacts\pack\<snip>-201804061416.nupkg'.

========================================
Push-NuGet-Packages
========================================
<empty>
----------------------------------------
Teardown
----------------------------------------

Second run:
========================================
Pack
========================================
Successfully created package '<snip>\artifacts\pack\<snip>-201804061418.nupkg'.

========================================
Push-NuGet-Packages
========================================
error: File does not exist (<snip>/artifacts/pack/<snip>-201804061416.nupkg).
An error occurred when executing task 'Push-NuGet-Packages'.

----------------------------------------
Teardown
----------------------------------------
Error: One or more errors occurred.
        .NET Core CLI: Process returned an error (exit code 1).

@devlead Unfortunately, even lambda version is not truly lazy:
var list = new List<string>();
Task("Default")
    .Does(() => {
        list.Add("test");
    })
    .DoesForEach(list, item => {
        Information("From DoesForEach: {0}", item);
    })
    .DoesForEach(() => list, item => {
        Information("From lazy DoesForEach: {0}", item);
    })
    .Does(() => {
        foreach (var item in list)
        {
            ForEach(item);
        }

        void ForEach(string item)
        {
            Information("From Does with foreach: {0}", item);
        }
    });

RunTarget("Default");

Note that information output will be printed only from last Does() using Cake.CoreCLR 0.28.1 on win-x64.
At first i`ve encountered this behavior trying to use Globber like this:
Task("Default")
    .Does(() => {
        // Create some directories with files
    })
    .DoesForEach(() => Context.GetDirectories("pattern"), item => {
       // More work
    })

Thats happening because lambda actually gets evaluated before first "Does" completes. Its not blocking, because you can write foreach manually, but this indeed confusing and not very straightforward to use.


need a join page

for now as a quick fix, can we have the join button link to the join-us section of the home page where the 3 methods to join are?
In the long run we will need a join page so that the link http://pythonnigeria.org/joinus/ can be avaliable. we can send to anyone who wishes to join the community.
the avenues to join will be available with explanation of what the different avenues to join is about and the rules we adhere to.
we currently have them at the bottom of the home page.

So what we need on a Joinus link would be, a link to join us on Slack, another link to be signed up to the mailing list automatically, and what would be the third one? to register on the site with email address

@b33sama,
Please take note of this and help us implement it. Thanks.
iChux™
https://ng.linkedin.com/in/ichux
http://stackoverflow.com/story/nwaomachux
http://stackoverflow.com/users/2787992/ichux
Behind every no entry sign, there is a door.
On 27 November 2016 at 12:08, Aisha Bello<EMAIL_ADDRESS>wrote:

So what we need on a Joinus link would be, a link to join us on Slack,
another link to be signed up to the mailing list automatically, and what
would be the third one? to register on the site with email address
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pyung/pyung.github.io/issues/7#issuecomment-263116006,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEbLLJjiHNUUY9RvDtMMTsoDiqK_Lhe4ks5rCWS_gaJpZM4K9Hoe
.

Would something like this be a good idea?

Yes this is OK.

@shan

Please use an "AND" instead of the "OR".
Thanks.


Restore epel and epel-debuginfo into the default list for Stream

Description
Restore epel and epel-debuginfo into the default list for Stream
Issues Resolved

n/a

Check List

[x] A summary of changes made is included in the CHANGELOG under ## Unreleased
[x] New functionality includes testing.
[x] New functionality has been documented in the README if applicable.

Released as: 4.2.1


TypeError: 'type' object is not iterable

I want to count number of persons detected in a video stream at each frame. Then detected persons in each frame should addup into a total count of persons in the video.
This is the code I am using:
import cv2
import sys
faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
video_capture = cv2.VideoCapture(0)
while True:
#Capture frame-by-frame
ret, frame = video_capture.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

faces = faceCascade.detectMultiScale(
	gray,
	scaleFactor=1.1,
	minNeighbors=5,
	minSize=(30, 30),
)

#Draw a rectangle around the faces
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
print "FOUND", len(faces), "face"
length = sum(len(faces) for s in str)
#Display the resulting frame
cv2.imshow('Video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
		break

video_capture.release()
cv2.destroyAllWindows()
Result:
afshan@afshan-VirtualBox:~/face_detection$ python facecount.py
FOUND 1 face
Traceback (most recent call last):
File "facecount.py", line 25, in
length = sum(len(faces) for s in str)
TypeError: 'type' object is not iterable

Solved
Tried an alternative method. Save terminal output to a text file and sum the count of detection using this code:
total = 0
with open('out.txt', 'r') as inp, open('output.txt', 'w') as outp:
for line in inp:
try:
num = float(line)
total += num
outp.write(line)
except ValueError:
print('{} is not a number!'.format(line))
print('Total of all numbers: {}'.format(total))

I don't think you created the issue for the correct repository.. This is an Office 365 API python package, but I'm glad you solved your problem.


misc: Make Client#owner always return a user

Description of the PR
This PR makes Client#owner always be a user, since partials are now a thing in discord.js.
Changes Proposed in this Pull Request (List new items in CHANGELOG.MD)

Semver Classification

[ ] This PR only includes documentation or non-code changes.
[ ] This PR fixes a bug and does not change the (intended) framework interface.
[x] ? This PR adds methods or properties to the framework interface.
[ ] This PR removes or renames methods or properties in the framework interface.

This is a bad idea because teams are a thing now


Add / Remove Nodes in FreehandRoi Tool

Prerequisites

[x] Latest
[x] Are you reporting to the correct repository?
[x] No related issues, one of them got me no answers.

Description
I would like to know, if there is a possibility to add or remove nodes after the tool has been closed. I am thinking of it as getting the coords from the mouse, and on click, check the tool state and if there is an existing node, remove it (causes error) and re-render the state, and if there is no node, then add it and as well re-render the state.
Expected behavior:
When adding or removing nodes from a rendered tool, be able to add or remove this information from the tool state's object and re-render the tool state to update the view with/without the selected nodes.
Actual behavior:
After removing or adding a node from the tool state's object, changing the lines coordinates and re-rendering, after a click or movement the tool crashes stating Undefined is not an object.
As usual, thanks in advance.

Do you have an example implementation that is causing this issue? I too would have guessed that removing a point from a FreehandRoi annotation and triggering a re-render would do the trick:
https://github.com/cornerstonejs/cornerstoneTools/blob/master/src/tools/annotation/FreehandRoiTool.js#L107-L109

@dannyrb thanks for your response. What I am doing is:

@dannyrb thanks for your response. What I am currently doing as an example on my project is:
Every time I mark a point with the Freehand tool, I am saving the state of the tool in React's state. At any moment, I can press 'cmd + z' and the last node will get deleted from the state, with the following code:
undoPoint = () => { 	var markings = cornerstoneTools.getToolState(this.element, 'FreehandRoi'); 	var data = markings.data[0]; 	if(data.handles.points.length === 1) { 		return false; 	} else { 		data.handles.points.pop(); 		let latestPoint = data.handles.points.length - 1; 		data.handles.points[latestPoint].lines = []; 		cornerstoneTools.clearToolState(this.element, 'FreehandRoi'); 		cornerstoneTools.addToolState(this.element, 'FreehandRoi', data); 		cornerstone.updateImage(this.element); 	} }
I am removing the last available node's lines array as the last node should not have lines, AFAIK. This all works correctly, but after continuing with the marking, the next point I mark makes my application crash and output the following error:
cornerstoneTools.js:32070 Uncaught TypeError: Cannot read property 'lines' of undefined     at FreehandRoiTool._addPoint (cornerstoneTools.js:32070)     at FreehandRoiTool._drawingMouseDownCallback (cornerstoneTools.js:31756)     at triggerEvent (cornerstoneTools.js:48197)     at HTMLDivElement.mouseDown (cornerstoneTools.js:8356) _addPoint @ cornerstoneTools.js:32070 _drawingMouseDownCallback @ cornerstoneTools.js:31756 triggerEvent @ cornerstoneTools.js:48197 mouseDown @ cornerstoneTools.js:8356 cornerstoneTools.js:32070 Uncaught TypeError: Cannot read property 'lines' of undefined     at FreehandRoiTool._addPoint (cornerstoneTools.js:32070)     at FreehandRoiTool._addPointPencilMode (cornerstoneTools.js:32106)     at FreehandRoiTool._drawingDrag (cornerstoneTools.js:31685)     at FreehandRoiTool._drawingMouseDragCallback (cornerstoneTools.js:31656)     at triggerEvent (cornerstoneTools.js:48197)     at HTMLDocument.onMouseMove (cornerstoneTools.js:8398)
When comparing two objects, the first being an object being generated as I mark lesions, and the second object being the object output after the undo function, they seem exactly the same. I don't really know if internally there is a points or lines counter on the cornerstoneTools' object or something that is making this error appear after removing a node from the array.
I am putting here a small vide as an example of the things I described above.
I hope this can make my issue clearer. Thanks again.

@dannyrb Hi again Danny, I know these are difficult times, but I just want to know if there is anything you could help me with, regarding the issue I am having.
Thank you again.

My best guess is that you're not cleaning up event listeners. The state may "look" identical, but any references in event listeners were cleared.
We recently created a PR that establishes a library level way to "cancel" an in-progress placement. It drops any handles / annotations currently being moved, and clears related listeners.
For "complete" measurements, this is good enough. For multi-step tools like freehand that can have an "incomplete" state, you have to manually delete them after a cancel as their is (currently) no way to resume editing to achieve a "complete" state.
To achieve what you want, you almost have to build this kind of functionality into the tool (or a forked 3rd party tool), or establish a library level pattern to support it.

Thank you for your answer. So, to do what I want to do (undo markings) would be pretty hard I understand?
On a related matter, the way I am trying to do this, you think it would work once the tool has a completed state? I mean, to add or remove nodes once the tool has finished its marking?
Thank you.

I try not to classify problems as easy/hard. I see two approaches:

Enhance the tool
Enhance the library

If we define expectations, then we could create a feature branch where we PR failing tests that assert those expectations, then eventually PR the implementation that causes those tests to pass.
A bit more rigor than usual for this repository, but it would help make sure an implementer is working toward something we would be okay merging.

It "should" work if you have complete annotations and no straggling interactions/listeners. If you encounter issues, it would be because of a bug.

undoPoint = () => {
	var markings = cornerstoneTools.getToolState(this.element, 'FreehandRoi');
	var data = markings.data[0];
	if(data.handles.points.length === 1) {
		return false;
	} else {
		data.handles.points.pop();
		let latestPoint = data.handles.points.length - 1;
		data.handles.points[latestPoint].lines = [];
               const tool = cornerstoneTools.store.state.tools.find(it=>it.name==="FreehandRoi")
               if (tool) {
                  tool._configuration.currentHandle = _configuration.currentHandle-1;
              }
	}
}

Hi @pzehle, thanks for opening this issue and providing a detailed explanation of the behavior you're seeing. It was helpful to detect some concerns in our prototypes too.
@dannyrb mentioned that there may be issues with event listeners not being properly cleaned up. They also mentioned a PR that provides a way to "cancel" an in-progress placement and clears any related listeners. This might be a useful approach to consider.
As far as I know, adding or removing nodes after the tool has finished its marking should be possible as long as there are no incomplete annotations or straggling interactions/listeners. If you encounter any issues, it might be due to a bug. I also noticed that you mentioned using the clearToolState function to remove all states from the state manager corresponding to the name and element of the tool. This is indeed one way to solve similar issues.
Let me know if the following helps or if you have any further questions:
https://stackoverflow.com/a/73204850/2371987

@FMCalisto thanks for the comment. What are the odds? I left my project about 3 years ago, and I just started working on it a couple of days ago, then you comment on an issue 3 years old. I'm shocked.
Anyway, thanks for the explanation, now that I will be working on it again maybe if I come up with a solution I will comment it here. I tried to use the new Cornerstone3D library, but completely failed to use it with React, so I will be used the good ol' tested implementation. Thanks!


added hw2.0 support + updated player behaviour

changed according your advice, I also changed player to not go to higher level when tap file is aborted. Please review the code and let me know ;-)

ok done, hopefully it's OK now... what about player section ? is it ok for you or it was intension to go up in directory when aborting playback. Maybe my part is also not perfect and might be optimised ;-)

My suggestion is revert to master (undo your changes) and then only re-apply the pull-up code. Then the merge will be clean (it's quite messy now with lots of commits and would be better with a single commit with the 2 files changed).
Thanks!


Initial commit for hcloud-fip-controller chart

This is the initial commit for the hcloud-fip-controller chart. See README for install instructions.

Thanks for the great work there :) Looks good


allow retrieving proxy image using blob

This PR adds option in runtime to proxy image by retrieving blob. This is driven by security consideration where the proxy endpoint needs to be called via post call, passing csrf token in header.

@hedgerwang : Thanks for the review. I've updated per your excellent callouts - 1. check for unmount and 2. addressed change in src. Please kindly re-review. Thanks!


Search/replace "tags attribute"

should be repotags attribute

also
https://github.com/bazel-contrib/rules_oci/blob/main/docs/tarball.md
should have example and fix
" repotags	List of tags to apply to the loaded image" - it's not  just list of tags

Also tarball.md
"Label to an oci_image target"  - say "typically"

https://github.com/bazel-contrib/rules_oci/blob/main/docs/image.md
oci_image_rule needs to point down to wraper macro

Document the ordering on oci_image#tar (it is respected) and also say how to use dive to figure out which layers have which files/sizes

undocument cosign rules?

Maybe rename structure_test - oci_structure_test or oci_test ?


Allow setting spec.strategy.type=Recreate

When using a volume backed by block storage it is not possible to use
the same volume on different nodes at the same time:
Multi-Attach error for volume ... Volume is already used by pod(s) ...
(cf. e.g. https://stackoverflow.com/q/46887118)
Thus it would be nice if the Helm chart would allow me to set
spec.strategy.type=Recreate, to prevent multiple pods from running
at the same time (on different nodes):
https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/deployment-v1/#DeploymentSpec
Closes: https://github.com/pmint93/helm-charts/issues/28

LGTM


Category "OTHER" is not calculated using the selected agg function

When a category widget displays data aggregated by any functio, the OTHER category still sums the values of the not displayed categories.
Graphically (aggregating by AVG(my_column)):

The expected result should be that the OTHER value should be calculated using the very same aggregating function the widget is using.
In the example above, OTHER should display the average value of the categories not shown in the TOP5, instead of summing? counting? the leftovers

Server response:

This supersedes https://github.com/CartoDB/cartodb/issues/11590.

Acceptance

Create an empty dataset
Add this query to make the base of data for the test:WITH data as (
    select generate_series(1,3) as val, 'other_a' as cat, ST_SetSRID(ST_MakePoint(0,0),4326) as the_geom, ST_Transform(ST_SetSRID(ST_MakePoint(0,0),4326),3857) as the_geom_webmercator
    UNION ALL
    select generate_series(4,6) as val, 'other_b' as cat, ST_SetSRID(ST_MakePoint(0,0),4326) as the_geom, ST_Transform(ST_SetSRID(ST_MakePoint(0,0),4326),3857) as the_geom_webmercator
    UNION ALL
    select generate_series(7,9) as val, 'other_c' as cat, ST_SetSRID(ST_MakePoint(0,0),4326) as the_geom, ST_Transform(ST_SetSRID(ST_MakePoint(0,0),4326),3857) as the_geom_webmercator
    UNION ALL
    select generate_series(10,12) as val, md5(generate_series(0,4)::text) as cat, ST_SetSRID(ST_MakePoint(0,0),4326) as the_geom, ST_Transform(ST_SetSRID(ST_MakePoint(0,0),4326),3857) as the_geom_webmercator
)
SELECT row_number() OVER (ORDER BY val asc) as cartodb_id, val, cat, the_geom, the_geom_webmercator FROM data

Create a map using the Create Map button in the table view
Create a new category widget using the cat column and:

[ ] Check COUNT operation returns 9
[ ] Check SUM operation returns 45
[ ] Check AVG operation returns 5
[ ] Check MAX operation returns 9
[ ] Check MIN operation returns 1

Everything looks OK. :shipit:.

Thank you very much :)

😢  I just realised that I totally forgot about overviews implementation, which has the same problem.
cc @jgoizueta I start to feel we need to rethink the approach we use for overviews, as this is not the first time we miss to fix something in both places.
OTOH, I would not stop releasing the fix, but I would open another one for the overviews instance of the problem.

:O :(
Totally my bad, I looked into it when I was learning about it but I totally forgot to change it :_(
Opening a new issue to fix the overviews part.

Using the issue for the overviews part too


Not verified for Foundry v11 yet

I have not encountered any issues with this module on Foundry v11 yet, but Foundry reports that it is last verified for v10.288 and thus shows up with a yellow warning indicator on the Add-on Modules screen in Foundry

Yeah, it is not working anymore :(

Yeah, it is not working anymore :(

Right click the compendium and unlock, then check the migration status and run the migration and it will work. I don't plan on updating this any time soon, but potentially this fall I'll return to do a major revamp of the module if I have time.


[Feature] Ability to edit template docker-compose.yml and nginx.conf

Current problem :
When users wish to use edit server configuration, they must edit the generated file.
The generated file will reset when they reload docker container because the app will copy from bundled template.
Solution :
Copy the app bundle template file to a local template file and let users edit templates for each proxy configuration.

在开发了吗


Night mode: Settings

Summary:
In night mode:

Dark blue text hard to read in settings
Blue toggle switches are hard to see in settings

Screen-shots:

I am working on this

@sp2710 Apologies for doing so, but I think I've accidentally fixed the toggle buttons working on #2095. Can you just focus on the titles for this one?

Actually maybe not. Ignore this for now.

Closed in #2098


[Feature]: Setup - Remove update from RHEL

Suggestion Description
Setup does an update to sync with rocm. Need to disable for RHEL.
Operating System
RHEL
GPU
ALL
ROCm Component
rocAL

PR #208 address this issue


Add Carthage support

See #122 for discussion.

/cc @kylejm

This issue is now at https://github.com/card-io/card.io-iOS-source/issues/32.


Respect the LIBSASS_EXT build flag when falling back to git

This PR updates the build script to respect the LIBSASS_EXT build flag when falling back to git. Originally suggested in https://github.com/sass/node-sass/pull/876#issuecomment-94730030
@saper does this suit your usecase?

These failures are expected due to https://github.com/sass/node-sass/pull/879. Nothing to see here :simple_smile:

@saper I think this is legit given the use case for LIBSASS_EXT. Any objections?

Yeah but to be fully kosher you need to take care of the command line option as well.

I've had a look around and I can't a relevant cli flag. Am I missing something?

On Wed, 29 Apr 2015, Michael Mifsud wrote:

I've had a look around and I can't a relevant cli flag. Am I missing something?

They are buried in
https://github.com/sass/node-sass/blob/master/scripts/build.js#L130-L131
Nice CLI option handling after 3.0.0 :)

Yeah I see that, but it looks like it's actually pulling the value out of env when building the cli flags. is that not the case?

I guess it's possible if
options.args = ['--libsass_ext', ''/path/to/libsass']

On Wed, 29 Apr 2015, Michael Mifsud wrote:

Yeah I see that, but it looks like it's actually pulling the value out of env when building the cli flags. is that not the case?

I should have bean clearer:
If you 'node script/install.js --libsass_ext=auto', installGitDependencies will not notice.
We could move installGitDependencies a bit down after constructing args first.

Yeah cool/ Updated to handle the cli flag.


missing pre-tokenizer type

I sometimes see this warning. Is it something to be worried about?

Is this perhaps related to the need for all .guff files needing to be remade after the Llama.cpp project ran into a bug with Llama 3?
In this case the model crashed, but I suspect that has more to do with me not properly unloading the previous model (Mistral 7) before switching to this one (Phi 2).

It seems like the problem comes from llama.cpp, can you try loading the model with llama.cpp native?

It runs with llama.cpp.

full log
./main -m ./meditron.gguf -p "Building a website can be done in 10 simple steps:\nStep 1:" -n 400 -e
Log start
main: build = 2901 (3b3963c5)
main: built with Apple clang version 15.0.0 (clang-15<IP_ADDRESS>) for arm64-apple-darwin23.4.0
main: seed  =<PHONE_NUMBER>
llama_model_loader: loaded meta data with 20 key-value pairs and 325 tensors from ./meditron.gguf (version GGUF V3 (latest))
llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv   0:                       general.architecture str              = phi2
llama_model_loader: - kv   1:                               general.name str              = Phi2
llama_model_loader: - kv   2:                        phi2.context_length u32              = 2048
llama_model_loader: - kv   3:                      phi2.embedding_length u32              = 2560
llama_model_loader: - kv   4:                   phi2.feed_forward_length u32              = 10240
llama_model_loader: - kv   5:                           phi2.block_count u32              = 32
llama_model_loader: - kv   6:                  phi2.attention.head_count u32              = 32
llama_model_loader: - kv   7:               phi2.attention.head_count_kv u32              = 32
llama_model_loader: - kv   8:          phi2.attention.layer_norm_epsilon f32              = 0.000010
llama_model_loader: - kv   9:                  phi2.rope.dimension_count u32              = 32
llama_model_loader: - kv  10:                          general.file_type u32              = 15
llama_model_loader: - kv  11:               tokenizer.ggml.add_bos_token bool             = false
llama_model_loader: - kv  12:                       tokenizer.ggml.model str              = gpt2
llama_model_loader: - kv  13:                      tokenizer.ggml.tokens arr[str,51200]   = ["!", "\"", "#", "$", "%", "&", "'", ...
llama_model_loader: - kv  14:                  tokenizer.ggml.token_type arr[i32,51200]   = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
llama_model_loader: - kv  15:                      tokenizer.ggml.merges arr[str,50000]   = ["Ġ t", "Ġ a", "h e", "i n", "r e",...
llama_model_loader: - kv  16:                tokenizer.ggml.bos_token_id u32              = 50256
llama_model_loader: - kv  17:                tokenizer.ggml.eos_token_id u32              = 50256
llama_model_loader: - kv  18:            tokenizer.ggml.unknown_token_id u32              = 50256
llama_model_loader: - kv  19:               general.quantization_version u32              = 2
llama_model_loader: - type  f32:  195 tensors
llama_model_loader: - type q4_K:   81 tensors
llama_model_loader: - type q5_K:   32 tensors
llama_model_loader: - type q6_K:   17 tensors
llm_load_vocab: missing pre-tokenizer type, using: 'default'
llm_load_vocab:
llm_load_vocab: ************************************
llm_load_vocab: GENERATION QUALITY WILL BE DEGRADED!
llm_load_vocab: CONSIDER REGENERATING THE MODEL
llm_load_vocab: ************************************
llm_load_vocab:
llm_load_vocab: mismatch in special tokens definition ( 910/51200 vs 944/51200 ).
llm_load_print_meta: format           = GGUF V3 (latest)
llm_load_print_meta: arch             = phi2
llm_load_print_meta: vocab type       = BPE
llm_load_print_meta: n_vocab          = 51200
llm_load_print_meta: n_merges         = 50000
llm_load_print_meta: n_ctx_train      = 2048
llm_load_print_meta: n_embd           = 2560
llm_load_print_meta: n_head           = 32
llm_load_print_meta: n_head_kv        = 32
llm_load_print_meta: n_layer          = 32
llm_load_print_meta: n_rot            = 32
llm_load_print_meta: n_embd_head_k    = 80
llm_load_print_meta: n_embd_head_v    = 80
llm_load_print_meta: n_gqa            = 1
llm_load_print_meta: n_embd_k_gqa     = 2560
llm_load_print_meta: n_embd_v_gqa     = 2560
llm_load_print_meta: f_norm_eps       = 1.0e-05
llm_load_print_meta: f_norm_rms_eps   = 0.0e+00
llm_load_print_meta: f_clamp_kqv      = 0.0e+00
llm_load_print_meta: f_max_alibi_bias = 0.0e+00
llm_load_print_meta: f_logit_scale    = 0.0e+00
llm_load_print_meta: n_ff             = 10240
llm_load_print_meta: n_expert         = 0
llm_load_print_meta: n_expert_used    = 0
llm_load_print_meta: causal attn      = 1
llm_load_print_meta: pooling type     = 0
llm_load_print_meta: rope type        = 2
llm_load_print_meta: rope scaling     = linear
llm_load_print_meta: freq_base_train  = 10000.0
llm_load_print_meta: freq_scale_train = 1
llm_load_print_meta: n_yarn_orig_ctx  = 2048
llm_load_print_meta: rope_finetuned   = unknown
llm_load_print_meta: ssm_d_conv       = 0
llm_load_print_meta: ssm_d_inner      = 0
llm_load_print_meta: ssm_d_state      = 0
llm_load_print_meta: ssm_dt_rank      = 0
llm_load_print_meta: model type       = 3B
llm_load_print_meta: model ftype      = Q4_K - Medium
llm_load_print_meta: model params     = 2.78 B
llm_load_print_meta: model size       = 1.66 GiB (5.14 BPW)
llm_load_print_meta: general.name     = Phi2
llm_load_print_meta: BOS token        = 50256 '<|endoftext|>'
llm_load_print_meta: EOS token        = 50256 '<|endoftext|>'
llm_load_print_meta: UNK token        = 50256 '<|endoftext|>'
llm_load_print_meta: LF token         = 128 'Ä'
llm_load_tensors: ggml ctx size =    0.32 MiB
ggml_backend_metal_log_allocated_size: allocated buffer, size =  1634.33 MiB, ( 1634.39 / 10922.67)
llm_load_tensors: offloading 32 repeating layers to GPU
llm_load_tensors: offloading non-repeating layers to GPU
llm_load_tensors: offloaded 33/33 layers to GPU
llm_load_tensors:      Metal buffer size =  1634.32 MiB
llm_load_tensors:        CPU buffer size =    70.31 MiB
................................................................................
llama_new_context_with_model: n_ctx      = 512
llama_new_context_with_model: n_batch    = 512
llama_new_context_with_model: n_ubatch   = 512
llama_new_context_with_model: flash_attn = 0
llama_new_context_with_model: freq_base  = 10000.0
llama_new_context_with_model: freq_scale = 1
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M1 Pro
ggml_metal_init: picking default device: Apple M1 Pro
ggml_metal_init: default.metallib not found, loading from source
ggml_metal_init: GGML_METAL_PATH_RESOURCES = nil
ggml_metal_init: loading '/Users/teefrapsidasie/Downloads/llama_cpp_test/llama.cpp/ggml-metal.metal'
ggml_metal_init: GPU name:   Apple M1 Pro
ggml_metal_init: GPU family: MTLGPUFamilyApple7  (1007)
ggml_metal_init: GPU family: MTLGPUFamilyCommon3 (3003)
ggml_metal_init: GPU family: MTLGPUFamilyMetal3  (5001)
ggml_metal_init: simdgroup reduction support   = true
ggml_metal_init: simdgroup matrix mul. support = true
ggml_metal_init: hasUnifiedMemory              = true
ggml_metal_init: recommendedMaxWorkingSetSize  = 11453.25 MB
llama_kv_cache_init:      Metal KV buffer size =   160.00 MiB
llama_new_context_with_model: KV self size  =  160.00 MiB, K (f16):   80.00 MiB, V (f16):   80.00 MiB
llama_new_context_with_model:        CPU  output buffer size =     0.20 MiB
llama_new_context_with_model:      Metal compute buffer size =   105.00 MiB
llama_new_context_with_model:        CPU compute buffer size =     6.01 MiB
llama_new_context_with_model: graph nodes  = 1225
llama_new_context_with_model: graph splits = 2
system_info: n_threads = 6 / 8 | AVX = 0 | AVX_VNNI = 0 | AVX2 = 0 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 0 | NEON = 1 | ARM_FMA = 1 | F16C = 0 | FP16_VA = 1 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 0 | SSSE3 = 0 | VSX = 0 | MATMUL_INT8 = 0 | LLAMAFILE = 1 |
sampling:
repeat_last_n = 64, repeat_penalty = 1.000, frequency_penalty = 0.000, presence_penalty = 0.000
top_k = 40, tfs_z = 1.000, top_p = 0.950, min_p = 0.050, typical_p = 1.000, temp = 0.800
mirostat = 0, mirostat_lr = 0.100, mirostat_ent = 5.000
sampling order:
CFG -> Penalties -> top_k -> tfs_z -> typical_p -> top_p -> min_p -> temperature
generate: n_ctx = 512, n_batch = 2048, n_predict = 400, n_keep = 0
Building a website can be done in 10 simple steps:
Step 1: Choose a site builder
There are many different websites that can be used as a site builder to create a website. Most of these websites can be used for free. Some of these websites include Weebly, Wix, and Weebly.
Step 2: Create your domain name
The domain name of your website will be the name that everyone can type into their browser to visit your website. You may choose to use your personal name or business name as the domain name of your website.
Step 3: Create your homepage
The homepage of your website will be the first page that visitors see when they visit your website. On your homepage you will want to include a welcome message, your name, and your website's name.
Step 4: Add your content
You will need to add your content to your website. This can include text, images, and videos. You can add your content to your website by creating different pages for each topic.
Step 5: Add your social media links
You will want to add your social media links to your website. This will allow visitors to easily share your website on social media.
Step 6: Add your contact information
You will want to add your contact information to your website. This can include your email address and phone number.
Step 7: Add your website's logo
You will want to add your website's logo to your website. This will help visitors to identify your website.
Step 8: Add your website's menu
You will want to add your website's menu to your website. This will allow visitors to navigate through your website.
Step 9: Test your website
You will want to test your website to make sure that everything is working correctly. You can test your website by visiting it on different browsers.
Step 10: Publish your website
You will want to publish your website so that it is available on the internet. You can publish your website by creating an account on the website that you
llama_print_timings:        load time =    7502.60 ms
llama_print_timings:      sample time =      11.12 ms /   400 runs   (    0.03 ms per token, 35964.75 tokens per second)
llama_print_timings: prompt eval time =     125.61 ms /    17 tokens (    7.39 ms per token,   135.34 tokens per second)
llama_print_timings:        eval time =    9550.21 ms /   399 runs   (   23.94 ms per token,    41.78 tokens per second)
llama_print_timings:       total time =    9760.36 ms /   416 tokens
ggml_metal_free: deallocating
Log end

I believe that the problem comes from the model itself or llama.cpp. That shouldn't be a problem from wllama.
In anyway, I'll update to latest upstream source code today to see if it's fixed.

I continued testing, and it's happening with all the .gguf models now.
When I uncomment model_settings['cache_type_k'] = 'q4_0'; everything works again.

I was wondering if it had to do with the .gguf models not being quantized in Q4 themselves.
With cache_type_k set to q4_0 the minuscule qwen does load.
https://huggingface.co/Qwen/Qwen1.5-0.5B-Chat-GGUF/resolve/main/qwen1_5-0_5b-chat-q4_0.gguf
Hmm, NeuralReyna, which is chunked, also loads. It's also natively Q4.

Did another test. Chunked a Q4 version of Phi 3 128K (2.18Gb) into 9 chunks, and it loads an runs OK with the Q4 cache type enabled.

Yeah I heard a while a go on llama.cpp that cache type Q4 does not play very nice with phi models. Since quantize cache is not a stable thing on llama.cpp, we may expect it to fail on some models.

Well, here it's the opposite :-D The Phi models do work.

Since quantize cache is an experimental thing on llama.cpp, we may expect it to fail on some models.

Aha! I didn't know that. Thank you.
I'm going to test a bit more, and see if the issue can be solved by chunking those Q5 models. If not, then I'll create a setting to simply not use cache_type_k on those deviants.
I'll also try to confirm if it has to do with models being quantized to Q3 / Q5 instead of Q4.

Tested Rocket 3B Q4 quant, but that also crashed. So it doesn't seem related to models being Q4 themselves.

I can only conclude that, as you say, for some models it just randomly doesn't work.
I'll create a variable in my code that enables or disables cache_type_k as needed.


Research # of thresholds exceeded data to decide if it is useful/valid to visualize this on the map

We are going to consider this in a few ways:

How do categories look, in terms of correlation within and between?
How does each indicator look, in terms of correlation between any two and among the whole dataset?
How do different measures of counting up thresholds prioritize / deprioritize certain areas? Are rural areas still represented effectively?

In addition, we might want to consider how the "next" group would be included. How would these correlations shift under other thresholds? How does jaccard similarity change over different cuts of the data.
CEQ's intern Gianna has started to look a little bit at correlation between individual indicators. I am interested in continuing this work.

Note from @emma-nechamkin - if you are in the 99th percentile for all categories of our environmental indicators, but 64th percentile for low income, you WONT be a DAC... but if you're in 90th percentile for just one and 65th percentile for low income, you WILL be a DAC. I think we can look into this a bit more when we analyze how many thresholds a tract exceeds.

A few high-level notes here

Categories tracks some, but not all, metrics of disadvantage. We should discuss in a meeting.

Categories are not super correlated (for 1, 0) but certain indicators ARE (e.g., income and housing burden are quite correlated). --> might want to look at PCA / LDA

Another question that we had pertained to "just below the threshold" tracts. I think (preliminarily) that this issue is overblown in our collective imagination.
There are always going to be tracts that fall just outside of whatever boundary we set, by nature of setting any boundary. With that in mind, we can look at the number of tracts that fall between 80th and 90th percentile for our indicators, the number of tracts that fall between 80th and 90th percentile for our indicators and are low income, and the number of tracts that fall between 80th and 90th percentile for our indicators AND are low income AND are not already identified by the tool (narwhal). TL;DR --  most of these boundary tracts are already included.
With that in mind, we can look at a few distributions, which adds a wrinkle / complication here. The "would be" inclusions "exceed threshold count" is shifted ever so slightly to the right. However, at least preliminarily, I'm not sure how big of an impact this has.
These distributions will be in a research notebook posted soon.

The number of thresholds for score narwhal exceeded
The number of thresholds (80th+, no income or narwhal) exceeded
The number of thresholds for 80th+ that would be eligible by income and are not included in narwhal


Don't install OpenSSL on appveyor

Also don't need config on OSX as we're using SecureTransport there.

FYI, presumably relevant build fails on Appveyor.

We use OpenSSL as a client for server tests

Aha, nevermind!


[BUG] OpenShift tests are not workin minishift that gets spinned up as part of Makefile

Describe the bug
The integration tests that we have for DeploymentConfigs that are to be run on the OpenShift/MiniShift clusters are not working because of ImagePullBackOff issue.
To Reproduce
Steps to reproduce the behavior:

Start minishift cluster using make start-minishift vm-driver="virtualbox"
run make openshift-test
Test fails

Expected behavior
Test should succeed.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

:rocket:

:rock:


Continuing support of alternative dynamical cores

I was looking at the Superdyn grid comp for unrelate reasons just now and stumbled upon the logic shown below.     I believe that the use of ADV later in the logic invalidates the older dynamical cores here.    Should we eliminate Aries and FV (non-cubed) as part of the default build?   Possibly remove them from the repo?
https://github.com/GEOS-ESM/GEOSgcm_GridComp/blob/9ab6f4e18386d0e7802711f9dd70849080b61f78/GEOSagcm_GridComp/GEOSsuperdyn_GridComp/GEOS_SuperdynGridComp.F90#L144-L165

OK - I see now what I misunderstood yesterday.    The switch is for connecting internal dynamical core fields, not for the tracers.   I was projecting a different issue  as I read the code.


docs: describe Vector2 in inputs.md

Figured I'll make a separate PR as this is independent from controlled inputs docs.

I'm going to merge this, although Vectors can also accept Number settings such as min and max. But the way these settings are passed could change so I'm going to leave that aside for the moment! Thanks!


Plugin fails with SSL Certificate Error on macOs

I have installed the plugin using the Lazy plugin manager for nvim. I also set my OpenAI API key.
However, when executing :AI the following error occurs:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)>
19:35:00 msg_show   AI Error invoking 'python_execute_file' on channel 14 (python3-script-host):
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 1348, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1282, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1328, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1277, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1037, in _send_output
    self.send(msg)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 975, in send
    self.connect()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py", line 1454, in connect
    self.sock = self._context.wrap_socket(self.sock,
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 517, in wrap_socket
    return self.sslsocket_class._create(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 1075, in _create
    self.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py", line 1346, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/johannes/.local/share/nvim/lazy/vim-ai/py/complete.py", line 65, in <module>
    handle_completion_error(error)
  File "/Users/johannes/.local/share/nvim/lazy/vim-ai/py/utils.py", line 259, in handle_completion_error
    raise error
  File "/Users/johannes/.local/share/nvim/lazy/vim-ai/py/complete.py", line 62, in <module>
    render_text_chunks(text_chunks, is_selection)
  File "/Users/johannes/.local/share/nvim/lazy/vim-ai/py/utils.py", line 93, in render_text_chunks
    for text in chunks:
  File "/Users/johannes/.local/share/nvim/lazy/vim-ai/py/utils.py", line 221, in openai_request
    with urllib.request.urlopen(req, timeout=request_timeout) as response:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 519, in open
    response = self._open(req, data)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 536, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 496, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 1391, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 1351, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)>

My system:

macOS
Python 3.12.2
Neovim 0.9.5

My system is up to date and I use the OpenAI servers regularly.

I would try to investigate on ssl issues related to python/urllib.
For instance this one could help: https://stackoverflow.com/a/53310545

That worked, thanks.


go.mod: update various dependencies

See individual commits for details

Hmmm... something's failing;
ok  	github.com/Microsoft/hcsshim/test/internal	0.058s
648go test -gcflags=all=-d=checkptr -c ./containerd-shim-runhcs-v1/ -tags functional
649go: downloading github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39
650go: downloading github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8
651go: downloading github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f
652go: downloading github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874
653go: downloading github.com/blang/semver v3.1.0+incompatible
654go: downloading github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce
655go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
656go: downloading github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f
657go test -gcflags=all=-d=checkptr -c ./cri-containerd/ -tags functional
658go: downloading k8s.io/cri-api v0.17.3
659go: downloading github.com/opencontainers/image-spec v1.0.0
660go: finding module for package github.com/opencontainers/selinux/go-selinux/label
661go: finding module for package github.com/opencontainers/runc/libcontainer/user
662go: downloading golang.org/x/net v0.0.0-20200707034311-ab3426394381
663go: downloading github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe
664go: downloading github.com/gogo/googleapis v1.2.0
665go: downloading github.com/opencontainers/runc v0.1.1
666go: downloading github.com/opencontainers/selinux v1.8.0
667go: finding module for package github.com/google/uuid
668go: downloading github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c
669go: downloading github.com/google/uuid v1.2.0
670go: downloading golang.org/x/text v0.3.2
671go: found github.com/opencontainers/selinux/go-selinux/label in github.com/opencontainers/selinux v1.8.0
672go: found github.com/opencontainers/runc/libcontainer/user in github.com/opencontainers/runc v0.1.1
673go: found github.com/google/uuid in github.com/google/uuid v1.2.0
674# github.com/containerd/containerd/api/services/introspection/v1
675c:\gopath\pkg\mod\github.com\containerd\containerd@v1.4.3\api\services\introspection\v1\introspection.pb.go:440:26: m.InitErr.MarshalToSizedBuffer undefined (type *rpc.Status has no field or method MarshalToSizedBuffer)
676Command exited with code 2

Wondering if this is because of the override in the test sub-module to use ../ 🤔

@thaJeztah I assume this: https://github.com/microsoft/hcsshim/pull/942 is to fix the CI issue you're mentioning?

@dcantah I'm not sure it fixes the issue, but at least looked like something that wasn't correct currently.
I was planning to update both modules separately (the "test" module is a separate module, so I didn't want to modify both in the same PR), but when trying to update the hcsshim "main module" dependency there, I ran into issues because the go-winio dependency has some windows-only packages, and apparently go mod doesn't deal with that when not on Windows 😣

I opened https://github.com/microsoft/go-winio/pull/193 to (hopefully) fix the go modules problem I described.

Looks like between containerd v1.3.2 and v1.4.x there was a change that added code to use MarshalToSizedBuffer on googleapi's rpc proto struct, which doesn't exist. I'm not sure why this change was made.

Obsoleted by https://github.com/microsoft/hcsshim/pull/946, which also updated these dependencies


writeToBuffer increases RSS size till OOMKilled

I am trying to perform certain operations on a multi-page tiff image using the sharp package. Except for trim, flip and rotate, all needed operations are successfully performed by sharp.
For flip, sharp flips the whole image and its order too. For trim and rotate, it simply throws an error. This is a known issue, https://github.com/lovell/sharp/issues/1580.
Using the vips.Image.arrayjoin function, I was able to get the desired output, but overtime it increases my rss memory size drastically, eventually killing the process. The heap is not increasing as the GC works promptly. The memory jump happens at the writeToBuffer function call.
Is there any different way of getting the same results, without the rss size jump?
Attaching the code and the input image. Thank you.

Code to create the image (handle-multi-image.mjs)
import { readFileSync } from "node:fs";
import Vips from "wasm-vips";
import sharp from "sharp";

function log(msg) {
    const obj = {};

    for (const [key, value] of Object.entries(process.memoryUsage())) {
        obj[key] = Math.round(value / (1024 * 1024))
    }

    console.log(msg, "\n" + JSON.stringify(obj, null, 4) + "\n");
}

async function createMultiPageImage(buffer, op, ...params) {
    const buffers = [];
    const { pages: pageCount } = await sharp(buffer, { pages: -1 }).metadata();

    for (let i = 0; i < pageCount; i++) {
        buffers.push(sharp(buffer, { pages: 1, page: i })[op](...params).toBuffer());
    }

    const results = await Promise.allSettled(buffers);
    const pages = [];

    for (const { status, value, reason } of results) {
        if (status === "fulfilled") {
            pages.push(value);
        } else {
            throw reason;
        }
    }

    const vips = await Vips();
    vips.concurrency(1);
    vips.Cache.max(0);

    const vipsPages = pages.map((page) => vips.Image.newFromBuffer(page, "", { access: vips.Access.sequential }));
    const vipsImage = vips.Image.arrayjoin(vipsPages, { across: 1 });

    const { height, format } = await sharp(pages[0]).metadata(); // height changes can occur

    const vipsBuffer = vipsImage.writeToBuffer("." + format, { page_height: height }).buffer;

    vipsPages.map((vipsPage) => vipsPage.delete());
    vipsImage.delete();
    vips.shutdown();

    return Buffer.from(vipsBuffer);
}

let buffer = readFileSync("./multi_page_images/multipage.tiff");

buffer = await sharp(buffer, { pages: -1 }).flop().toBuffer();
log("flop");

buffer = await sharp(buffer, { pages: -1 }).negate().toBuffer();
log("negate");

buffer = await createMultiPageImage(buffer, "flip");
log("flip");

buffer = await createMultiPageImage(buffer, "rotate", 30);
log("rotate");

buffer = await createMultiPageImage(buffer, "trim");
log("trim");

process.exit();

Output
flop
{
    "rss": 62,
    "heapTotal": 12,
    "heapUsed": 7,
    "external": 1,
    "arrayBuffers": 0
}

negate
{
    "rss": 65,
    "heapTotal": 12,
    "heapUsed": 7,
    "external": 1,
    "arrayBuffers": 0
}

flip
{
    "rss": 314,
    "heapTotal": 32,
    "heapUsed": 17,
    "external": 8,
    "arrayBuffers": 7
}

rotate
{
    "rss": 447,
    "heapTotal": 36,
    "heapUsed": 25,
    "external": 18,
    "arrayBuffers": 17
}

trim
{
    "rss": 500,
    "heapTotal": 58,
    "heapUsed": 21,
    "external": 24,
    "arrayBuffers": 24
}

Image file multipage.tiff

It looks like you initialize wasm-vips on every createMultiPageImage() call. I would initialize wasm-vips only once and reuse its instance. For example:

Details
--- a/handle-multi-image.mjs
+++ b/handle-multi-image.mjs
@@ -12,6 +12,10 @@ function log(msg) {
   console.log(msg, "\n" + JSON.stringify(obj, null, 4) + "\n");
 }

+const vips = await Vips();
+vips.concurrency(1);
+vips.Cache.max(0);
+
 async function createMultiPageImage(buffer, op, ...params) {
   const buffers = [];
   const { pages: pageCount } = await sharp(buffer, { pages: -1 }).metadata();
@@ -31,10 +35,6 @@ async function createMultiPageImage(buffer, op, ...params) {
     }
   }

-  const vips = await Vips();
-  vips.concurrency(1);
-  vips.Cache.max(0);
-
   const vipsPages = pages.map((page) => vips.Image.newFromBuffer(page, "", { access: vips.Access.sequential }));
   const vipsImage = vips.Image.arrayjoin(vipsPages, { across: 1 });

@@ -44,7 +44,6 @@ async function createMultiPageImage(buffer, op, ...params) {

   vipsPages.map((vipsPage) => vipsPage.delete());
   vipsImage.delete();
-  vips.shutdown();

   return Buffer.from(vipsBuffer);
 }

With that, I see:
flop
{
    "rss": 123,
    "heapTotal": 31,
    "heapUsed": 13,
    "external": 7,
    "arrayBuffers": 5
}

negate
{
    "rss": 125,
    "heapTotal": 31,
    "heapUsed": 13,
    "external": 7,
    "arrayBuffers": 5
}

flip
{
    "rss": 242,
    "heapTotal": 31,
    "heapUsed": 14,
    "external": 9,
    "arrayBuffers": 7
}

rotate
{
    "rss": 263,
    "heapTotal": 31,
    "heapUsed": 14,
    "external": 14,
    "arrayBuffers": 11
}

trim
{
    "rss": 275,
    "heapTotal": 31,
    "heapUsed": 14,
    "external": 19,
    "arrayBuffers": 16
}

Which is probably reasonable for image processing in WebAssembly.

This definitely looks promising. Currently busy with work, but will definitely check this out and revert back. Thank you for checking the issue. 🙏🏾

Just implemented the above logic and working flawlessly. Apart from the initial memory jump, all other subsequent vips calls are within constraint. Thank you @kleisauke for the fix and also for the amazing package. 🙇🏾♂


[RFE] Allow to customize DNS search domains in /etc/resolv.conf in CRC VMs

This is a request for enhancement to add domains to the CRC VM.
CRC version   // Applicable to other versions as well
$ crc version
crc version: 1.8.0+0a318dc
OpenShift version: 4.3.8 (embedded in binary)

Currently adding the domain is possible by editing the /etc/resolv.conf in the CRC VM but it is not persistent. Adding domain suffix will help the pods  running on CRC to access short names.
If implemented, this will add the domain to the pods(running on crc) /etc/resolv.conf as well.
Adding extra domain in search field automatically is requested here.
Thanks.

Would this kind of changes be doable and acceptable on a production openshift cluster? Maybe through the Machine Config Operator? Have they considered handling this through an intermediate DNS server which would add the suffixes itself?

Yes, in OCP 4 this is possible : https://access.redhat.com/solutions/4518671
But will that work for crc? Didn't check the intermediate DNS approach.


Step inconsistency

Under the header "Verify Firewall Permissions to Key Vault", we have a list of steps numbered 1 to 4 indicating how to configure App Gateway to use firewalls and virtual networks. These steps are followed by a picture illustrating steps a through d. I would urge you to redo the step numbering in the picture to use the same 1, 2, 3, and 4 for clear consistency between the instructions and the image.

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

ID: 4c416d5e-5bfd-c641-e9bb-324dcb921acc
Version Independent ID: 8739a044-d471-c432-3ed1-503539408ae8
Content: TLS termination with Azure Key Vault certificates
Content Source: articles/application-gateway/key-vault-certs.md
Service: application-gateway
GitHub Login: @vhorne
Microsoft Alias: victorh

@WhitWaldo , thank you for your feedback. We have assigned this to the content owner/author for updating the doc accordingly.
@vhorne , could you please update the step numbering in the picture to use the same 1, 2, 3, and 4 as in the doc?

Replaced screenshot
#please-close


HELP

How to add more than 1 game?
And how to make sure that the role is never removed?

The second question I decided

How to add more than 1 game?

sorry. 2 questions
How to add more than 1 game? And how to make sure that the role is never removed?

well, as-is.. 1 game, 1 role attached to that game.
To answer your first question - that functionality doesn't exist, as it wasn't designed for multiple. You'd have to store the roleID along with the game name and iterate through a bunch of them. But honestly, I don't have a desire, nor the time, to pick up this repo, as it was only after someone else asked me if I could make it available that I even took the time to extract this functionality out of another bot that was tied to a particular server.
About the second question, I guess you should just be able to remove the call to remove a player from the role if they stop playing it, so.. line 31 of rolebot.js.

thx


Closes #503 [What is Clueless]

Screenshot

Issue Ticket Number
Fixes #503

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[x] I have followed the contributing guidelines of this project as mentioned in CONTRIBUTING.md
[x] I have checked to ensure there aren't other open Pull Requests for the same update/change?
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes needed to the documentation

@Debajyoti14 Take a look

Work on the font sizing
Make responsive for mobile

@bbsdevloper


Timezone not properly validated

Timezone as defined in https://github.com/NABSA/gbfs/blob/v2.3/gbfs.md#field-types
states:
Timezone - TZ timezone from the https://www.iana.org/time-zones. Timezone names never contain the space character but MAY contain an underscore. Refer to https://en.wikipedia.org/wiki/List_of_tz_zones for a list of valid values. Example: Asia/Tokyo, America/Los_Angeles or Africa/Cairo.

The schema in system_information.json seems to not make any requirements of the field:
"timezone": {
    "description": "The time zone where the system is located.",
    "type": "string"
},

This does not seem to comply to the gbfs standard

Examples of invalid time zones:

https://gbfs.hopr.city/api/gbfs/20/system_information
https://gbfs.spin.pm/api/gbfs/v1/atlanta/system_information

So it's more common than I hoped.

@PierrickP this has been updated on the Json Schema 😊

#82 :tada:


Image - no such file or directory found

This issue has been moved from a ticket on Developer Community.

[severity:It bothers me. A fix would be nice]
In my python project, in the source code, I have included an image and a wav file and it gives me error that says "no such file or directory found. The image and wav file is located in the repos folder. I even tried to give it full path in the quotation marks. Where should these files be stored and do you include it in the project?

Original Comments
Feedback Bot on 6/1/2021, 06:25 PM:
We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

Original Solutions
(no solutions)

Thanks for the feedback. We're not 100% sure what the scenario is that your trying to achieve. It sounds as though you've added a wav file and an image to the python project, but when you run your python code, it cannot find those two files. If that's the case, then the problem is likely in your code. You need to make sure that either the current directory that python is running in contains those files. or you need to specify the full path to those files in your script.


Make sdk async by default

Since we're supporting both python2 and python3, our async options are very limited. I think we have to either use gevent, use threading, or maybe we can use something from the twisted stack?
Personally, I'd really like to just drop support for python2 (it is the way the ecosystem is moving anyway), and use either the 3.4 syntax of @asyncio.coroutine and yield from or 3.5+ of async def and await. It would give us much more semantic code. Maybe the right answer is just a community-maintained async fork for python 3.4+.
Issue created to separate out discussion from #126.

Absolutely not. Async will make the REPL experience significantly worse, python3 async API has been constantly changing, python2 has no async equivalent to the python3 in the stdlib (you'd have to use gevent or something) - finally again, this is totally unnecessary - I use the sdk at the moment to run synchronous tests / REPL and there is no cause for extra complexity.
If you are building something that needs extra complexity, you should wrap the sdk in whatever async / threading paradigm that you need.

You're right. I hadn't fully considered the implications of making it async. It would make usage of the sdk more difficult for >50% of use-cases. As an aside, I believe that python3's async api hasn't changed since 3.5, and it's considered stable in 3.6, but that's beside the point.
The reason I opened this issue is that it would be nice to include a lot of the architecture needed for building an event-driven app in one place. One of the more obvious examples would be queuing requests as I believe is done in the JS sdk. Maybe there just needs to be another package wrapping this one providing that async architecture; I don't know.
At the very least, to support async use-cases, we need to get rid of the while loop inside of _send or make it explicit in the documentation that the _send method must be overridden to support async.

At the very least, to support async use-cases, we need to get rid of the while loop inside of _send or make it explicit in the documentation that the _send method must be overridden to support async.

I tend to agree that we shouldn't be defining re-try paradigms in the sdk (https://github.com/matrix-org/matrix-python-sdk/pull/62#discussion_r114080971); especially if you are hitting api-request limits than probably blocking with sleep isn't what you want anyways.
As for patching _send I think you may have to do that anyways so that you can use a e.g. aiohttp or another library which provides http methods that you can yield_from.


Issue/137 add entry point index js

All examples have been tested using the new entry point and now some are importing cm-chessboard files from index.js. Closes https://github.com/shaack/cm-chessboard/issues/137

Also by the way the package.json file could be updated as shown in chesslablab/cmblab in order to define the primary entry point of the library.
...

  "module": "./src/index.js",
  "browser": "./src/index.js",

...

However, if doing so I'm not too sure about how this would be backward-compatible with previous versions.
import {
  Chessboard,
  BORDER_TYPE,
  FEN
} from 'shaack/cm-chessboard'

I understand that this is your style of doing imports, but I prefer importing from the original files. Maybe because I am from Java and want to keep it simple. For importing the classes from node_modules or somewhere else, I use importmap. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap

See https://github.com/shaack/cm-chessboard/issues/137#issuecomment-1986870864

Sorry, I only add things which must be maintained, if it is useful for my projects, mainly https://chessmail.de
But anyway thank you for the thoughts on optimizing cm-chessboard. 👍


Add support for .srt subtitle captions for courses

I am not sure if this counts as an "issue" but I would love to see native support for .srt files in the caption section for each lesson!
Thank you!

I'm not familiar with .srt files, which is why I omitted them from the captions. but PocketBase does support .srt files. you can add it yourself. go to the Admin UI -> lessons collection -> click the gear icon -> click the gear icon for the captions field -> Under "Allowed mime types," you can add .srt to enable support for .srt files.


Undefined variable: b:syntastic_changedtick with after vim patch 7.4.2299 applied

Getting the following error when saving a file after building vim with 7.4.2299 patch or later included:
Error detected while processing function <SNR>130_BufWritePostHook[4]..<SNR>130_UpdateErrors:
line   46:
E121: Undefined variable: b:syntastic_changedtick
E15: Invalid expression: [a:buf, b:syntastic_changedtick]

This appears to only happen when saving .rst (ReSturcturedText files) that contain errors (or something that would cause the location window to open/be used)
I'm using the latest syntastic code from github (updated as of today).
vim builds 7.4.2298 and prior do not exhibit this issue.

This looks like a messed up upgrade.  Please run :scriptnames and make sure you have a single installation of syntastic.  Run this in Vim:
:redir >scripts
:scriptnames
:redir END

Then in a terminal:
awk '{print $2}' scripts | sort | uniq -d

I don't get any output from the awk command you asked for.
There doesn't appear to be any duplicate scripts in the "scripts" list.

Have tried fully removing and reinstalling the plugin, and still see the same behaviour.

Well, the problem doesn't seem to be in syntastic.  b:syntastic_changedtick is referenced only here, on line 46 of s:UpdateErrors(), and it's set by the function syntastic#util#setChangedtick() called immediately above.  On the other hand, I've been using most of the recent versions of Vim, and I haven't run into this problem.  I can't reproduce it with 7.4.2305, and I can't think of any relevant change applied recently (recent patches have been minor cleanups in preparation of the release of Vim 8 anyway).  This leaves your installation. shrug Perhaps look at the file scripts produced above and see if anything stands to attention?

Confirmed that "its me". I removed all plugins except syntastic and the issue no longer occurs. Will research my other plugins and see who is misbehaving. Thanks for your time.

Found the the conflicting plugin: ferret

I took a look at ferret.  I didn't get to the root of the problem, but I'm surprised you didn't have problems earlier running it along with syntastic.  Ferret messes with loclist windows even when you configure it to use quickfix lists.  It's pretty well written, but it certainly isn't prepared for this scenario, and neither is syntastic.  I added a note to the manual that they aren't compatible to each other (commit 72d4874).  I'll (hopefully) take a closer look at what's going on in the next few days.

I comitted a fix that cancels the effects of 7.4.2299.  Syntastic no longer complains about the undefined variable, but the other problems with ferret taking over syntastic's loclists remain.  Commit fd54b6b.

Thanks for the fix and investigation!


Improve error paths and testing for transpose and cross_tab

This task is automatically imported from the old Task Issue Board and it was originally created by James Dunkerley.
Original issue is here.

Current crosstab and transpose do not have all the error checking and support they should have.
Review the doc comment for the public API methods and improve.
Additionally, review the all_same_column logic and the doc string attached. Should also have tests written for this.

We have a decent test suite now and have the habit of adding tests whenever a bug is discovered so closing this.


Can't make multiple face detection

Hello Vlad,
I hope you are well, i can't get multiple face result, it always return wit 1 faceresult from the images below, i have tried it with your demo application as well, maybe it is about options, it would be great if i can get help.
Best wishes.
Image1;

Image2;

I use human.detect
const result: vladHuman.Result = await human.detect(tensor) as vladHuman.Result;
To get tensor i use;
async function getHumanTensor(source: 'path' | 'url', path: string): Promise<undefined | any> {

    let data: Buffer;

    switch (source) {
        case 'path':
            data = fs.readFileSync(path);
            break;
        case 'url':
            //const fetch = require("node-fetch");
            const res = await fetch(path);
            data = await res.buffer();
            break;
    }

    const decoded = human.tf.node.decodeImage(data);
    const casted = decoded.toFloat();
    let tensor = casted;
    //let tensor = casted.expandDims(0);

    tensor = human.tf.tidy(() => {

        let res;
        //RGBA imaj varsa RGB ye dönüştürüyoruz
        if (tensor.shape[2] !== 3) {
            const channels = human.tf.split(tensor, 4, 2); // split rgba to channels
            const rgb = human.tf.stack([channels[0], channels[1], channels[2]], 2); // stack channels back to rgb and ignore alpha
            res = human.tf.reshape(rgb, [1, decoded.shape[0], decoded.shape[1], 3]); // move extra dim from the end of tensor and use it as batch number instead
        } else {
            res = casted.expandDims(0); // only add batch number
        }
        return res;

    });

    return tensor;
}

Options;
        const serverConfig = {
            backend: 'HumanGL',
            modelBasePath: options.modelBasePath,
            debug: true,
            videoOptimized: false,
            async: false,
            face: {
                enabled: true,
                detector: {
                    enabled: true,
                    rotation: true,
                    maxDetected: 5,
                },
                mesh: { enabled: true },
                iris: { enabled: false },
                description: { enabled: false },
                emotion: { enabled: false },
            },
            hand: {
                enabled: true,
            },
            // body: { modelPath: 'efficientpose.json', enabled: true },
            // body: { modelPath: 'blazepose.json', enabled: true },
            body: { enabled: true },
            object: { enabled: true },
        };

first photo is just a washout, there are no faces there at all, don't even want to try to detect that.
second photo is just really blurry when you look at it (even the girl in the foreground is blurry, not just background).
using a bit of sharpening and it does detect multiple people.
and if you're running in browser, you can use built-in filters in human to do that. but if you're running in node, then you have to take care of the photo quality before running detection.

Thank you.

Hey @vladmandic
I feel that no, it is indeed detecting only single faces.
The following image is from main-demo

I get similar result when I use the library,
PFA my human config:
  const humanConfig = {
    modelBasePath: '/model/',
    backend: 'wasm',
    filter: { enabled: false, equalization: false, flip: false },
    face: {
      enabled: true,
      detector: {
        rotation: false,
        skipFrames: 30,
        return: true
      },
      mesh: {enabled: false},
      attention: {enabled: true},
      iris: {enabled: false},
      description: {enabled: false},
      emotion: {
        enabled: false,
        skipFrames: 30,
      }
    },
    body: { enabled: false },
    hand: { enabled: false },
    gesture: { enabled: false },
    object: { enabled: false },
    segmentation: { enabled: false },
    debug: DEBUG,
  };


Encoded message getting truncated when passed back to cli

Not sure how to reproduce, but this happens reliably for me when creating a cluster, due to permissions error on my account regarding EC2 AMI's. This is how the error and encoded message is reported back:
~ tdyar$ cfncluster create sge3
Beginning cluster creation for cluster: sge3
Creating stack named: cfncluster-sge3
Status: cfncluster-sge3 - ROLLBACK_IN_PROGRESS
Cluster creation failed.  Failed events:
  - AWS::IAM::Policy CfnClusterPolicies Resource creation cancelled
  - AWS::EC2::Instance MasterServer API: ec2:RunInstances You are not authorized to perform this operation.
About the truncated error message, I wasn't able to reproduce that behaviour even setting the "ec2:RunInstances" to "Deny": the error message I got wasn't truncated. Are you using the latest cfncluster version?

@tom-dyar This is known issue for CF. I just have a chat with AWS Support. They don't have ETA for now.

@tom-dyar
I am trying to create an EMR stack using a cloudformation stack, in the stack events I got a similar encoded-message which is also truncated, and when I am trying to decode it using aws-cli its leads to message not valid error. however, I checked the cloudtrails and there also I do not see the full message in the JSON body :
{     "eventVersion": "1.05",     "userIdentity": {         "type": "AssumedRole",         "principalId"<EMAIL_ADDRESS>        "arn"<EMAIL_ADDRESS>        "accountId": "435864154281",         "sessionContext": {             "sessionIssuer": {                 "type": "Role",                 "principalId": "AROAIG2STB6XQVUU6EQVW",                 "arn": "arn:aws:iam::435864154281:role/HiProdFedidpSynapseEmrDeveloper",                 "accountId": "435864154281",                 "userName": "HiProdFedidpSynapseEmrDeveloper"             },             "webIdFederationData": {},             "attributes": {                 "mfaAuthenticated": "false",                 "creationDate": "2020-10-21T04:09:42Z"             }         },         "invokedBy": "cloudformation.amazonaws.com"     },     "eventTime": "2020-10-21T04:10:24Z",     "eventSource": "ec2.amazonaws.com",     "eventName": "CreateFleet",     "awsRegion": "us-west-2",     "sourceIPAddress": "cloudformation.amazonaws.com",     "userAgent": "cloudformation.amazonaws.com",     "errorCode": "Client.UnauthorizedOperation",     "errorMessage": "You are not authorized to perform this operation. Encoded authorization failure message: 71yyWWrahXh_YKwpIBSCczkbuFqVpi40x5rWBVsW3NtgKcIx8ByqaNdHoTVFeEtilil-SqNq7eG2-SnuBvA5NI07AXO_TyKPweg2vmHyXTPDXldJutGxZ80_WRWnlJLf9v9Ftudn0ddJoXWEmCLNMmvHPvIouKxO3taaSaULhvdV-3VPHLwTBCWOi41hZeL_WaAImSpIy4hrgY5l0pU7fG-5-zlpImfFmm8t-4w2wQtzE_cDzKaDXd5OKlGSe_qUl8xCHuD66r2kRstX-17pQlfhLIhwNZVBGgmiSsnGa7lK_UoAJv2Mt1qznl-eFqUc1GIUrk3cxhFcvTUEPrmVnCbJ2qi4uyBSnJQhjJ5GUKLp62CLLneGMis7HXYVw8b3TJwvFWQ1ejGLBSIk4KwzP731CZ8XzttiuBhcOiiuUm3M5Q0aZ_EhNq10MYzZ7Qwgpm_0s_USqgBSlq9c_V2xO-qtN9mijguDCHRcaIxmPauREKRLIJnlyTDAyPugDG6Y98o9VlWLdo8qFVJYfKxf4DEUYBzbaAD3dckRMsd3Glx97Sc6gYlGU5zbpcgzBCFc1u46OdDmYwP29d7BZx_upRhzgFKVJfE-UKAIGihZoI5ugcI5oQDUaImPnWbYP0wBDhJiWdtmC-uKquQJs4-WA9o_cNOp9PhrlV0J79akT_xVG_kzdwc38eQUR5jXXlXRDzy8ZtrFPSCu9CeCcnJChrhm2uI4yGit4ns0O1BGp-VJ0oWr0CscKgyTfgWUDzeQLDKoNF3B7aVhz99RJSs6HO0aRMbJP_RSL8yNqzaxMg09wNW3GC7x_DzhbRVLqKA3qaHX6ozD9eMJUrwVvIvK_gC6AUE8pRsBRuG2V7aPmdCp_KjXjMw0I1_DVwi-blSVH6tKbpprvhH0JsawKYTUZ2WmlOOwn9r9PYxP...",     "requestParameters": {         "CreateFleetRequest": {             "TargetCapacitySpecification": {                 "DefaultTargetCapacityType": "spot",                 "TotalTargetCapacity": 200             },             "SpotOptions": {                 "AllocationStrategy": "lowestPrice",                 "InstancePoolsToUseCount": 2             },             "LaunchTemplateConfigs": {                 "LaunchTemplateSpecification": {                     "Version": 1,                     "LaunchTemplateId": "lt-0e8c754449b27161c"                 },                 "Overrides": {                     "WeightedCapacity": 1,                     "tag": 1,                     "SubnetId": "subnet-06671d5cf9dbaa2c2",                     "InstanceType": "r3.xlarge"                 },                 "tag": 1             },             "ClientToken": "e224e6f7-9496-4052-a198-57bb01384699",             "TagSpecification": {                 "ResourceType": "instance",                 "tag": 1,                 "Tag": [                     {                         "Value": "Synapse",                         "tag": 1,                         "Key": "OperationsTeam"                     },                     {                         "Value": "root",                         "tag": 2,                         "Key": "Owner"                     },                     {                         "Value": "Synapse",                         "tag": 3,                         "Key": "DevelopmentTeam"                     },                     {                         "Value": "Registries",                         "tag": 4,                         "Key": "WorkType"                     },                     {                         "Value": 600,                         "tag": 5,                         "Key": "TotalMapTasksPreviousJob"                     },                     {                         "Value": "SynapseEmrValidation",                         "tag": 6,                         "Key": "Product"                     },                     {                         "Value": "G",                         "tag": 7,                         "Key": "AvailabilityZone"                     },                     {                         "Value": "subnet-06671d5cf9dbaa2c2",                         "tag": 8,                         "Key": "SubnetId"                     },                     {                         "Value": "synapse-15280",                         "tag": 9,                         "Key": "Jira"                     },                     {                         "Value": "SynapseEmrValidation",                         "tag": 10,                         "Key": "Name"                     },                     {                         "Value":<PHONE_NUMBER>0958,                         "tag": 11,                         "Key": "Version"                     },                     {                         "Value": "Production",                         "tag": 12,                         "Key": "Environment"                     },                     {                         "Value": "app",                         "tag": 13,                         "Key": "Client"                     },                     {                         "Value": "synapse-emr-user-root",                         "tag": 14,                         "Key": "aws:cloudformation:stack-name"                     },                     {                         "Value": "arn:aws:cloudformation:us-west-2:435864154281:stack/synapse-emr-user-root/4f719830-1353-11eb-a8aa-02d0bd2cd418",                         "tag": 15,                         "Key": "aws:cloudformation:stack-id"                     },                     {                         "Value": "SynapseEMRClusterEC2Configuration",                         "tag": 16,                         "Key": "aws:cloudformation:logical-id"                     }                 ]             }         }     },     "responseElements": null,     "requestID": "c52c582a-be6c-45a9-ba5a-d9ad51e25e76",     "eventID": "ad337057-2359-4440-bb08-7aa59f5185b1",     "eventType": "AwsApiCall",     "recipientAccountId": "435864154281"
Can you please tell me how did you see your full encoded message in cloudtrail.

I'm also having this issue, I can't believe this hasn't been fixed after 2 years.

Hi @da-edra,
can you please open a new ticket so we can help you in solving the issue you are experiencing?
Thanks

Why is this closed?  this is still an error, CloudFormation is creating messages that are impossible to decode

Hi, this is closed because it is related to an EMR Cluster issue, not a cluster with AWS ParallelCluster. Please refer to the available support options offered with EMR service.
Unfortunately AWS ParallelCluster doesn't have anything to do with AWS EMR and there isn't much we can do to help you with this.

Good afternoon, I'm facing the same problem, the message in CloudTrail appears incomplete, does anyone know how to retrieve the complete encoded message?

@lukeseawalker Good afternoon, I'm facing the same problem, the message in CloudTrail appears incomplete, does anyone know how to retrieve the complete encoded message?

Hello all,
the errorMessage message field of CloudTrail has a maximum size of 1 KB, see CloudTrail doc.
If you are experiencing a problem with ParallelCluster please create a separate ticket so that we can provide you support on the specific problem you are having and please add all the informations asked by the template issue.
For the case of
ec2:RunInstances You are not authorized to perform this operation.

it can be due to the fact that the HeadNode role doesn't have the appropriate permission to execute the RunInstances API to launch a compute node. This may happen for example when you are using a custom AMI with associated encrypted snapshot that requires additional policies, as describe in doc here.
Thank you.


adding a className breaks JSX compile

for some reason if I use <Dropzone .../> without a className, everything works fine, but adding my own <Dropzone className="dropzone" ... /> breaks JSX compile because of
Error: Invariant Violation: The `style` prop expects a mapping from style properties to values, not a string.

You'll have to use something like this:
...
var className = "dropzone",
    style = DropzoneStyle;

if (this.props.className) {
  className = this.props.className;
  style = false;
}

return (<div ... className={className} style={style} ...>
  ...
</div>);

Currently you can style it by passing a style prop.

I'm sure, but if I want to rely on CSS because of automation (LESS compiled CSS, for instance), that is not a solution =)

That's right. Will keep this open and fix it sometime.

I filed a PR with some tweaks that I found critically missing over on https://github.com/paramaggarwal/react-dropzone/pull/10, which also fixes this issue

Thanks! Merged your PR, published as v1.0.1 (https://github.com/paramaggarwal/react-dropzone/releases/tag/v1.0.1)


Remove panic in Parser::next

Hey,
I noticed this panic while passing invalid GraphQL queries to juniper.
I've moved it to the ParseError::UnexpectedEndOfFile error instead of panicking.

Neat! This was a case I thought was unreachable :) Do you have an example of a query that panics the current implementation?

The queries I tried were "mutation" and "query".
I've just created a fuzz target for cargo-fuzz and found some other interesting ones:

""
"\t"
"{..."
"))))"
"$ \""

Nice finds, thanks a lot.


[Feature] Is MMdet3d compatible with OpenPCDet?

What's the feature?
Hi, I would like to know whether the pretrained models (e.g., pretrained backbone(voxelnet)) trained in OpenPCDet can be load to a model in mmdet3d? Thanks!
Any other context?
No response

I think you may need to convert models trained on OpenPCDet to mmdet3d format to ensure the model can be loaded correctly. tools/model_converters/regnet2mmdet.py shows an example.


REDAXO AddOn

We are proud to announce that cookie consent has been released today as a REDAXO CMS AddOn.
https://github.com/FriendsOfREDAXO/cookie_consent
THX for the Script and THX to the developers.

Eh, spam?

No, not spam @No5251  We only wanted to Inform the creators of this super and loved script, that we've made a free AddOn for the CMS REDAXO.


[Error Analysis] Heatmap layout tuning

Please refer to the figma file to see the detailed pixel.
[Normal]

[Fullscreen]

closing as github issues are external only