Accurate text bounds determination is slow

Currently we're using a 'render-to-canvas-and-inspect' method that recursively determines text bounds down to the desired sub-pixel level. This is slow, but seems to be the only accurate method. Accuracy is needed for Canvas rendering of text, since we need to know the bounds for dirty region repainting (inaccurate bounds could lead to visual artifacts). There are a few options:

Improve efficiency of the accurate bounds determination. We're scanning more pixels than necessary, and haven't looked at profiling information that could help tune the parameters involved. For example, we are also stretching the text in the non-measured direction to ensure that small pieces (like the dot on an 'i') do not get missed, but making this direction map to fewer pixels could cause a significant speedup.
Use a combination of the faster DOM or SVG inspection methods to determine text bounds. These are inaccurate for a variety of edge cases including italics, combining characters, etc. Generally they always give the same height for the same font, regardless of the text content. To compensate, we would need to do one of the following:

Repaint entire canvases if they contain Text nodes, instead of repainting just the dirty regions. This could negatively impact performance, since the entire canvas would need to be cleared (even if it just contains a small text node).
Force non-canvas rendering for Text nodes (that would currently mean SVG). SVG text seems to be sharper on Chrome at least, so this may be a good option. It may help to have SVG be the default renderer so we don't slice up graphics-text-graphics into separate layers.

Deferring, memory/startup-time/font handling implications are big, and accurate bounds aren't needed as often as originally anticipated.

Today I saw https://github.com/devongovett/fontkit which purports to load font files, render as glyphs, provide accurate bounds, etc.
Shipping desired fonts is one path to getting reproducible playbacks across platforms.

Shipping fonts sounds like a nightmare for i18n.

Today I saw https://github.com/devongovett/fontkit which purports to load font files, render as glyphs, provide accurate bounds, etc.

Looks nice, like a more fleshed-out version of the Scenery harfbuzz branch that is capable of loading fonts, rendering and doing exact metrics. Much less hacky.

Shipping fonts sounds like a nightmare for i18n.

Yup, that's really the reason I haven't further investigated this.

Shipping fonts sounds like a nightmare for i18n.

Yup, that's really the reason I haven't further investigated this.

Yes, I agree that "nightmare" is the appropriate word here.  But on the other hand, Noto sans supports 581 languages.  On the other hand, it weighs 449KB.

Pushed an improvement for 'accurate' bounds for Text above, browser notes show it being compatible. I'm kicking off testing with http://localhost/scenery/tests/sandbox.html?script=const flags %3D {
  approximateSVGBounds%3A false%2C
  approximateDOMBounds%3A false%2C
  accurateCanvasBoundsFallback%3A false%2C
  approximateImprovedDOMBounds%3A false%2C
  accurateCanvasBounds%3A true%2C
  approximateHybridBounds%3A true
}%3B

const unicodeTestStrings %3D [ "A"%2C "b"%2C "m"%2C "x"%2C 'Q'%2C "A\n\\n"%2C "A\r\n\\r\\n"%2C "A\t\\t"%2C "\u222b"%2C "\ufdfa"%2C "\u00a7"%2C "\u00C1"%2C "\u00FF"%2C "\u03A9"%2C "\u0906"%2C "\u79C1"%2C "\u9054"%2C "A\u030a\u0352\u0333\u0325\u0353\u035a\u035e\u035e"%2C "0\u0489"%2C "\u2588" ]%3B
const styles %3D [ { fontSize%3A 60 }%2C { fontSize%3A 60%2C fontFamily%3A 'serif' }%2C { fontSize%3A 60%2C fontFamily%3A 'monospace' }%2C { fontSize%3A 60%2C fontFamily%3A 'cursive' }%2C { fontSize%3A 60%2C fontFamily%3A 'fantasy' }%2C { fontSize%3A 60%2C fontFamily%3A 'Georgia%2C serif' }%2C { fontSize%3A 60%2C fontFamily%3A '"Palatino Linotype"%2C "Book Antiqua"%2C Palatino%2C serif' }%2C { fontSize%3A 60%2C fontFamily%3A '"Times New Roman"%2C Times%2C serif' }%2C { fontSize%3A 60%2C fontFamily%3A 'Arial%2C Helvetica%2C sans-serif' }%2C { fontSize%3A 60%2C fontFamily%3A '"Arial Black"%2C Gadget%2C sans-serif' }%2C { fontSize%3A 60%2C fontFamily%3A '"Comic Sans MS"%2C cursive%2C sans-serif' }%2C { fontSize%3A 60%2C fontFamily%3A 'Impact%2C Charcoal%2C sans-serif' }%2C { fontSize%3A 60%2C fontFamily%3A '"Lucida Sans Unicode"%2C "Lucida Grande"%2C sans-serif' }%2C { fontSize%3A 60%2C fontFamily%3A 'Tahoma%2C Geneva%2C sans-serif' }%2C { fontSize%3A 60%2C fontFamily%3A '"Trebuchet MS"%2C Helvetica%2C sans-serif' }%2C { fontSize%3A 60%2C fontFamily%3A 'Verdana%2C Geneva%2C sans-serif' }%2C { fontSize%3A 60%2C fontFamily%3A '"Courier New"%2C Courier%2C monospace' }%2C { fontSize%3A 60%2C fontFamily%3A '"Lucida Console"%2C Monaco%2C monospace' }%2C { fontSize%3A 60%2C fontWeight%3A '900' }%2C { fontSize%3A 60%2C fontWeight%3A '900' }%2C { fontSize%3A 60%2C fontStretch%3A 'ultra-condensed' }%2C { fontSize%3A 60%2C fontStretch%3A 'ultra-expanded' }%2C { fontSize%3A 60%2C fontStyle%3A 'italic' }%2C { fontSize%3A 60%2C fontStyle%3A 'oblique' }%2C { fontSize%3A 60%2C fontFamily%3A 'serif'%2C textAlign%3A 'end' }%2C { fontSize%3A 60%2C direction%3A 'rtl' }%2C { fontSize%3A 60%2C direction%3A 'rtl' } ]%3B

const getTextDemo %3D ( string%2C textOptions%2C scale %3D 1 ) %3D> {
  const text %3D new Text( string%2C textOptions )%3B

  return new Node( {
    scale%3A scale%2C
    children%3A [
      ...( flags.approximateSVGBounds %3F [ Rectangle.bounds( TextBounds.approximateSVGBounds( text._font%2C text.renderedText )%2C { fill%3A 'rgba(0%2C0%2C255%2C0.3)' } )%20%5D%20%3A%20%5B%5D%20)%2C%0A%20%20%20%20%20%20...(%20flags.approximateDOMBounds%20%3F%20%5B%20Rectangle.bounds(%20TextBounds.approximateDOMBounds(%20text._font%2C%20text.getDOMTextNode()%20)%2C%20%7B%20fill%3A%20%27rgba(255%2C0%2C255%2C0.3)%27%20%7D%20)%20%5D%20%3A%20%5B%5D%20)%2C%0A%20%20%20%20%20%20...(%20flags.accurateCanvasBoundsFallback%20%3F%20%5B%20Rectangle.bounds(%20TextBounds.accurateCanvasBoundsFallback(%20text%20)%2C%20%7B%20fill%3A%20%27rgba(255%2C255%2C0%2C0.3)%27%20%7D%20)%20%5D%20%3A%20%5B%5D%20)%2C%0A%20%20%20%20%20%20...(%20flags.approximateImprovedDOMBounds%20%3F%20%5B%20Rectangle.bounds(%20TextBounds.approximateImprovedDOMBounds(%20text._font%2C%20text.getDOMTextNode()%20)%2C%20%7B%20fill%3A%20%27rgba(0%2C255%2C0%2C0.3)%27%20%7D%20)%20%5D%20%3A%20%5B%5D%20)%2C%0A%20%20%20%20%20%20...(%20flags.approximateHybridBounds%20%3F%20%5B%20Rectangle.bounds(%20TextBounds.approximateHybridBounds(%20text._font%2C%20text.renderedText%20)%2C%20%7B%20fill%3A%20%27rgba(0%2C0%2C255%2C0.3)%27%20%7D%20)%20%5D%20%3A%20%5B%5D%20)%2C%0A%20%20%20%20%20%20...(%20flags.accurateCanvasBounds%20%3F%20%5B%20Rectangle.bounds(%20TextBounds.accurateCanvasBounds(%20text%20)%2C%20%7B%20fill%3A%20%27rgba(255%2C0%2C0%2C0.3)%27%20%7D%20)%20%5D%20%3A%20%5B%5D%20)%2C%0A%20%20%20%20%20%20text%0A%20%20%20%20%5D%0A%20%20%7D%20)%3B%0A%7D%3B%0A%0A%2F%2F%20Allow%20scrolling%0Aif%20(%20display._input%20)%20%7B%0A%20%20display.detachEvents()%3B%0A%7D%0A%0Ascene.addChild(%20new%20VBox(%20%7B%0A%20%20spacing%3A%2010%2C%0A%20%20align%3A%20%27left%27%2C%0A%20%20children%3A%20styles.map(%20style%20%3D%3E%20new%20HBox(%20%7B%0A%20%20%20%20spacing%3A%203%2C%0A%20%20%20%20children%3A%20unicodeTestStrings.map(%20string%20%3D%3E%20getTextDemo(%20string%2C%20style%2C%201%20)%20)%2C%0A%20%20%20%20align%3A%20%27origin%27%0A%20%20%7D%20)%20)%0A%7D%20)%20)%3B%0A.
I believe it's more accurate than the alternative on everything (although Safari is a bit less-than-ideal on crazy non-realistic things).

Chrome (red is new method, blue is current default bounds)

Firefox

Windows 10 Chrome (one accent goes slightly out but it is quite accurate).

Windows 10 Edge

@zepumph do you mind reviewing, and seeing if the boundsMethod: 'accurate' works for your use case?

Wonderful! I'll note over in https://github.com/phetsims/friction/issues/330. Could you please note why it isn't worth turning this on by default? Is this potentially fast enough to be our default bounds operation for TextBounds?

Usually for layout purposes, we'll care more about the consistent typical ascender/descender box (so that the baseline of the text is at the same place). We'd need to change a lot of layout code if that became the default (lots of align: 'origin') just to align text properly. Additionally, we usually care about centering vertically the "common" part of the text, and not having the baseline jump around.
There's a slight argument for adjusting the horizontal dimensions of the text to use this method, although some code might depend on x=0 being the left of the default text bounds.
@zepumph thoughts?

I am seeing some broken unit tests on CT that may be related to this issue:
scenery : top-level-unit-tests : unbuilt
https://bayes.colorado.edu/continuous-testing/ct-snapshots/1675257245304/scenery/scenery-tests.html
389 out of 390 tests passed. 1 failed.
Trail: Consistent and precise bounds range on Text failed:
[x:(-4,10),y:(-11,3)]
at Object.<anonymous> (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1675257245304/chipper/dist/js/scenery/js/util/TrailTests.js:411:10)

Trail: Consistent and precise bounds range on Text failed:
precision: undefined
at Object.<anonymous> (https://bayes.colorado.edu/continuous-testing/ct-snapshots/1675257245304/chipper/dist/js/scenery/js/util/TrailTests.js:413:10)

id: Bayes Puppeteer
Snapshot from 2/1/2023, 8:14:05 AM

https://github.com/phetsims/scenery/issues/1527 indicates the above was fixed.

There's a slight argument for adjusting the horizontal dimensions of the text to use this method, although some code might depend on x=0 being the left of the default text bounds.

I'd say this is worth a side issue that can do some pixel comparison testing ONLY if you think so. Feel free to close.

I think I'd like to keep as-is. Closing!


Threads_connected is 121 when maximumPoolSize is 10 and getting too many connection issue?

In my springboot 2.X i have configured maximumPoolSize is 10 but always getting error while connecting to database and Threads_connected is showing 121 in Mysql. Please help how it comes Threads_connected is 121 when maximumPoolSize is just 10

I have solved this issue by following link.
https://stackoverflow.com/questions/27396725/hikaricp-connection-pool-immediately-creates-100-connections/27399148#27399148


Build error from source

I encountered an error while building from source.some system infomation as follows:
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution: Ubuntu 16.04(x64)
TensorFlow installed from (source or binary): source
TensorFlow version (use command below): 1.7.0
Python version: 3.5
Bazel version (if compiling from source): 0.10
GCC/Compiler version (if compiling from source): 4.8
CUDA/cuDNN version: 9.0/7.1
GPU model and memory: Tesla K80
Exact command to reproduce: bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

Source code / logs
WARNING: /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/protobuf_archive/WORKSPACE:1: Workspace name in /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/protobuf_archive/WORKSPACE (@com_google_protobuf) does not match the name given in the repository's definition (@protobuf_archive); this will cause a build error in future versions
WARNING: /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/grpc/WORKSPACE:1: Workspace name in /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/grpc/WORKSPACE (@com_github_grpc_grpc) does not match the name given in the repository's definition (@grpc); this will cause a build error in future versions
WARNING: /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/grpc/BUILD:1943:1: in srcs attribute of cc_library rule @grpc//:grpc_nanopb: please do not import '@grpc//third_party/nanopb:pb_common.c' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'grpc_generate_one_off_targets', the error might have been caused by the macro implementation in /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/grpc/bazel/grpc_build_system.bzl:172:12
WARNING: /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/grpc/BUILD:1943:1: in srcs attribute of cc_library rule @grpc//:grpc_nanopb: please do not import '@grpc//third_party/nanopb:pb_decode.c' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'grpc_generate_one_off_targets', the error might have been caused by the macro implementation in /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/grpc/bazel/grpc_build_system.bzl:172:12
WARNING: /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/grpc/BUILD:1943:1: in srcs attribute of cc_library rule @grpc//:grpc_nanopb: please do not import '@grpc//third_party/nanopb:pb_encode.c' directly. You should either move the file to this package or depend on an appropriate rule there. Since this rule was created by the macro 'grpc_generate_one_off_targets', the error might have been caused by the macro implementation in /home/zhangzw/.cache/bazel/_bazel_root/0b0b28318d2a7ef283e46c49f1b108b6/external/grpc/bazel/grpc_build_system.bzl:172:12
WARNING: /home/zhangzw/tensorflow-1.8.0-rc0/tensorflow/contrib/learn/BUILD:17:1: in py_library rule //tensorflow/contrib/learn:learn: target '//tensorflow/contrib/learn:learn' depends on deprecated target '//tensorflow/contrib/session_bundle:exporter': No longer supported. Switch to SavedModel immediately.
WARNING: /home/zhangzw/tensorflow-1.8.0-rc0/tensorflow/contrib/learn/BUILD:17:1: in py_library rule //tensorflow/contrib/learn:learn: target '//tensorflow/contrib/learn:learn' depends on deprecated target '//tensorflow/contrib/session_bundle:gc': No longer supported. Switch to SavedModel immediately.
...
collect2: error: ld returned 1 exit status
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 288.567s, Critical Path: 58.33s
FAILED: Build did NOT complete successfully

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 15 days with no activity and the awaiting response label was assigned. Is this still an issue?

We are closing this issue for now due to lack of activity. Please comment if this is still an issue for you. Thanks!


Any chance of using a fix argument

npm audit fix and npm audit fix --force are what npm offers to fix these problems without waiting for a new release with new deps over npm. While I know npx npm-global-audit --auditor npm lets us use npm for the global audit, I don't see how to pass a fix argument in to npm. Is it possible with your script?
Thanks for your work on this, an audit is better than nothing, but a fix is best of all (and if the fix breaks things, we can roll back).
Update: I was led to this repo from this QA. In the answers there is a solution where you make a package.json and lockfile and run audit fix yourself. This didn't really do anything but wreck the usual npm-check -ug with a million little global packages to update, which I'm not going to try, so maybe fixing this isn't a good idea after all. Anyway, leaving this open for your thoughts on actually fixing global deps issues yourself. Thanks!

@spicemix Thanks for the issue, and for using my module. Being able to pass --fix to the audit call wouldn't be too hard to add, but I do not know when I can get to it. I am happy to review and potentially merge in a PR if you want to take a stab at adding this. The basic idea would be simply accepting an additional flag in the Oclif command, then threading that down to the child process call for an audit as appropriate. Cheers!

@spicemix I gave this a bit more of a think now that it's not the middle of the night, and I realized that while such a command (npm audit fix --force) could be issued by this utility, it would only be issued against the node_modules contained in the temporary directory project created to simulate the globally installed node_modules. Running fix in there would not have any impact at all on your globally installed modules, and in fact, I feel that introducing this would cause confusion to users who assume

oh, running npx npm-global-audit -a npm --fix is going to solve my reported audit issues for my global packages

when in reality, it won't do anything to them, at least, not using the tools provided to us by the npm cli. If you really wanted to "fix" the global modules following an audit, you would have to go into the global install files and mess about with the files yourself, simulating what npm can do for local packages....there are so many things that could go wrong there, and that's complexity that I don't wish to add to this utility.
Unfortunately, this request isn't something that can be easily added to this tool, and I'm skeptical that it can be done at all (reliably and without side effects) without the implementation actually being a part of the npm cli in the first place - at which point this utility would no longer be needed.
I've closed the issue for this reason - thank you for writing up the issue, but this is not something that will, or even can, be added to npm-global-audit. Cheers!


Update the mission of the group to updated content

New Mission Text

“Extending the ecosystem of Python Communities to Black and Colo(u)red Communities around the world.“

Places where this will need to be updated:

[ ] The README of this repo.
[ ] The About page of the website
[ ] The Banner of the homepage (I believe this may change with a redesign)

@kjaymiller please assign this issue to me. For clarity
I don't see a mission statement in the README file of this repo, I'll just go ahead to creating one with a heading MISSION STATEMENT with text “Extending the ecosystem ...“ underneath
Also, did a text search in the about page for the text “extending the … “ and no search comes up, I’ll also be adding the heading MISSION STATEMENT in the about page - Please confirm and approve this
As for the banner in the homepage there’s no need to redesign the banner, the file edit can be done from the en.yml file. Please confirm if I can begin with these implementations

go ahead

Hello @kjaymiller, it seems this issue would have been more appropriate for the https://github.com/BlackPythonDevs/blackpythondevs.github.io repo. Nonetheless, I've made a PR https://github.com/BlackPythonDevs/blackpythondevs.github.io/pull/383

It needs to updated in all the places... there should have been another issue made for the website but this works.


Added a fix for #626

I've added a fairly generic script that allows to include any text file to any other text file, either on top or on the bottom, based on the arguments passed during the execution (just in case a similar need arie in the future for another use case).
I've also updated the Dockerfile to execute the script at the end (before the entrypoint). Since the intention was to modify /etc/passwd and /etc/shadow files, I had to change the USER to root temporarily. After the files are updated, I changed the user back to playground.
The security notice I copied as is from #626.
The updates are done from /tmp folder and at the end the script is removed. However, I decided to leave the security notice itself in the playground folder: /playground/security_notice.txt so that as soon as someone enumerates the content of the current directory, they will see the file.

I've force-pushed changes. A brief list:

Reworded commit message. Stating that a commit fixes an issue is useful but not sufficient. Ideally the git log can describe the changes in a standalone fashion, linking out for further background information.
Moved the Dockerfile steps earlier to avoid switching users
Reduced the number of Dockerfile steps to reduce the number of intermediate layers
Preserved the permissions of the original file when we add the notice at the top.
Used mktemp to generate a unique filename instead of hardcoding it.
Quoted variables like "${foo}". This is mostly a pedantic thing to help handle cases like values with spaces.
Added an automated test

I'll soon rebase this on some upcoming maintenance changes and then let CI take a crack at it.


Problems with nested requirements

Issue type
I'm submitting a (check one):
[ x] Bug report
[x ] Feature request
[ ] Regression (something that used to work, but stopped working in a newer version)
[ ] Support request
[ ] Documentation issue or request
Prerequisites
Before posting, make sure you do the following (check all):
[x ] Confirm you are using the latest versions of all necessary packages (or if not, explain why not)
Current behavior
When you have parent property, that isn't required, but has self required properties, it gives an error. I don't know how to solve this. https://json-editor.github.io/json-editor/ fro example, has optional objects as initially non listed and addable. So when you add the object, it's properties are required, but can also skip the whole object, as it is optional.

Sorry for the late answer, can you make a repository or give the JSON schema to reproduce this issue?

https://gist.githubusercontent.com/trsh/b710a2ed982c4064c06c4d0fae7cd5e4/raw/a5fedce98aa2647e2e40b621eb5ddaada2631352/json
The default behavior should be that I do not get any errors about 'y', as I can skip whole 'x' object (unless I chose to USE it), as IT is not required.
Ideally not required objects/whatever should be Hidden by default, and addable visa some checkbox.
If you check https://json-editor.github.io/json-editor/ -> Location -> Properties, u will see the idea.

@hamzahamidi ?

@hamzahamidi I think ppl just haven't tough about this scenario?

Any update on this issue ?


Clear button not clearing input text

Table is being reset when the 'clear' button is hit, but the input field itself is not being cleared.

fixed by bad8fc606e9e912fa41ccfa17d67c0d8a36a213b. this error was caused by setting an ID to the clear button so it could display: none; on mobile screens. now the mobile CSS uses class name instead


x:label element accepts non-text nodes

<x:label> accepts non-text nodes. But its reason is not known. The commit 148a65fcef7489fccfa29c3340ff812022798436 where x:label was introduced does not tell the reason.
Considering the commit replaces some xsl:value-of with xsl:sequence, it might have possibly wanted to report
<x:label xmlns="http://www.w3.org/1999/xhtml">This is a label</x:label>

as

This is a label

in the result HTML. But it didn't happen, because mode="s:html-report" in format-xspec-report.xsl does not handle s:label.

x:label is not popular. I would say it's neglected. I haven't seen anyone (except me 😀) using it. The fact that x:label had been buggy for a long time (#308, #438) supports it.
Labels are used at compile time for resolving x:like. So in general its structure should be simple.

Considering those points, I think we should replace this schema line
https://github.com/xspec/xspec/blob/349d614dea0eaf27c9c204315ac6f44242882283/src/schemas/xspec.rnc#L98
with
	element label { text }

to simplify it, until someone comes up with a cool idea to play with structured labels.
(Another question is why label in the schema lacks common-attributes. But I ignore it for now.)
@galtm
What do you think?

@AirQuick
As another data point, my group doesn't use x:label, either. I don't see x:label mentioned in the two "getting started" wiki pages or the two "writing scenarios" wiki pages (each topic has one page covering Schematron and one covering XQuery/XSLT). Maybe that's why x:label is not popular.
I think it is fine to stop supporting structured labels and make the schema change you mentioned.
Just in case you change your mind and want to reduce the scope of the incompatibility, an alternative to the RelaxNG change could be to add a Schematron error for child elements in x:label elements that are used for resolving x:like. (However, if the XSpec document uses x:import, Schematron won't know which x:label elements are used for resolving x:like across files, right? In that case, the restriction on the content of x:label would go unenforced and would need to be documented some way other than Schematron.)

Thanks @galtm for the valuable input.
Schematron did not come to my mind. Thanks for reminding me of it.
Though Schematron would generally be a good solution, I think we can be bold to ignore compatibility in this particular case of x:label. I opened #820.

we can be bold to ignore compatibility in this particular case

Sure, no problem.


Provide better diagnostics when an assembly reference fails to load

There are a number of reasons that the MetadataFileReferenceCache might fail to load metadata from a file path. These need to be guarded against, and logged on failure. Otherwise, it can be difficult to diagnose when a project fails to get all of it's references.
Here's an example repro of when this might happen:

Have Windows on Linux (WSL) setup.
On Windows desktop, run dotnet new console to create a new project.
In WSL, run dotnet restore and dotnet run.
On Windows desktop, launch VS Code and load project.

The project will be filled with squiggles due to assembly references not being loaded at design-time because they're locked by the Unix subsystem.

Yeah, another example of the same thing is sharing a folder between mac OS and a Windows VM. I keep running into it all the time.

Yeah, we need to figure out why it's happening. Maybe it can be fixed. However, even if it can't, we shouldn't barf. :smile:


Test our build with JDK 12 and fix any issues with it

Task Description
We need to test our builds against JDK 12. If any issues are discovered, we need to list them and address them.
Tasks

[ ] Attempt building with JDK 12.
[ ] Report any build issues.
[ ] Investigate and fix all build issues.

Acceptance Test

[ ] Building the code and running mvn spring-boot:run in the strongbox-web-core still starts up the application correctly.
[ ] Building the code and running the strongbox-distribution from a zip or tar.gz still works.
[ ] The tests in the strongbox-web-integration-tests still run properly.

Help

Our chat
Points of contact:

@carlspring
@sbespalov
@fuss86

can I try this one

Hi!
It would probably be better to start off with #1109 and then work your way through #1110, #1111 and then do #1112 .

hello, could ı work on this issue ?

This project is on hold.


Update README.md

add a brew tap step to the mac install instructions

Ah, but the brew tap step is no longer necessary because micro is an official formula in homebrew now :).

Ah, strange; I thought I'd tried installing from there and got an error. I'll double check.
These instructions should probably be updated then: https://github.com/zyedidia/micro/wiki/Installing-Micro#homebrew

(did just confirm locally that I can install from vanilla brew)


[SPARK-49003][SQL] Ilicmarkodb/fix string hash

What changes were proposed in this pull request?
Changed hash function to be collation aware. This change is just for interpreted code path. Codegen hashing was already collation aware.
Why are the changes needed?
We were getting the wrong hash for collated strings because our hash function only used the binary representation of the string. It didn't take collation into account.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Added tests to HashExpressionsSuite.scala
Was this patch authored or co-authored using generative AI tooling?
No

please update the PR title

@cloud-fan  can you please take a look?

@mihailom-db can you please review change for your test?

@ilicmarkodb can you do a rebase to trigger the CI?

thanks, merging to master!


do not parse cmake.preferredGenerators, instead just hand it over to cmake via -G option

I just tried to set an invalid value in my user settings:
"cmake.preferredGenerators": [ "xxxVisual Studio 14 2015"]
and did a "CMake: Configure" step.
I wanted to see if the plugin is agnostic to the contents of that variable
and just properly passes it to cmake (in case that the cmake developers
add new generators).
This led to the strange effect that

VSCode showed me an error message that that generator is unknown
but anyway launched a cmake "configure" step
which fell back to using Visual Studio 14 2015 (because it probably found that installed on my machine)

That's different from what I expected the tool to do:

it should not try to analyze that string on its own. Why should it?
instead, it should just pass that to cmake and let that one deal with it
if cmake finds the generator to be invalid, it should terminate with error message

Part of the reason to parse it is because of the "Preferred" idea. If one generator is unavailable, try the next one in the list. I tried to determine the availability myself, but it seems I can't quite get it right (See #1). If I delegate to CMake to try each generator, it would be more reliable, but it could significantly slow down the ability to configure the first time in the case that one or more generators in preferredGenerators is unavailable.
For example, the default first generator is Ninja because if a user has it installed, they definitely want to use it; but for users that don't have it installed, they will fall back to using the Makefile generator for their platform, and most users never even need to know that the "preferred generators" setting is even a thing.

That's right. But by hardcoding the generator check, you tie your plugin to only work with certain cmake versions, and not with others. For example, the generator "Visual Studio 10" recently has been changed to become "Visual Studio 10 2010", and the destination platform suffices (32bit vs 64bit build) only recently were added. Thus, if you rely on some generator name syntax, you lose compatibility of your plugin.
My expectation is that it should work with as much cmake versions as possible.
Your idea of trying out various generators is a good one IMHO,
I just suggest that this should be done without parsing the preferredGenerators list.
I currently still cannot see why that parsing should be necessary. Can't you just pass
the generators to cmake in the preferred order?

I agree. Preferred feature is not needed at all. What generally developers want is just to set generator per project basis. So a cmake.Generator field for the project settings with valid generators is the only thing needed. Which should be passed directly with -G to cmake

Important thing first: That's a really useful VS Code extension you've written there. Thanks a lot for that!
However, I'd also like to join and argue against the current parsing approach, although I understand the rationale behind. Unfortunately, this restricts the vast range of possible cmake generator configurations far too much.
Best example is in fact the Visual Studio generators, to which the extension currently defaults on Windows. However, the full configuration not only requires the -G option to be given, but also the -T for the toolset (to be able to switch to Clang/C2) and the -A for the platform (to cross-compile e.g. for ARM).
For myself, it's also not possible to switch to Unix Makefiles using Cygwin or MSYS2 on Windows since the Unix Makefile generator is not accepted. See also #40.
Thus, I'd suggest to keep the current possibility of trying to figure out a default with the preferredGenerators, but also to add a cmakeConfigureArguments and cmakeBuildArguments or similar. If the preferredGenerators are empty, then the extension shouldn't figure out anything, not provide a -G xxx at all, and simply leave that to the user through the additional flags, or even completely leave it to CMake.

Ah! I didn't even consider the -T argument.
I'll probably go the route of allowing the user specify their generator explicitly, and falling back to the current logic if it is unspecified. I'll also add options specifically for the toolchain and platform, and something generic like cmakeConfigureArguments and cmakeBuildArguments.
Does that sound good to everyone?

I'm gonna push it a little bit further if I may.
How about OS specific settings?
Integrated terminal does it this way:
"terminal.integrated.shell.linux": "/bin/bash",

    // The command line arguments to use when on the Linux terminal.
    "terminal.integrated.shellArgs.linux": [],

    // The path of the shell that the terminal uses on OS X.
    "terminal.integrated.shell.osx": "/bin/bash",

    // The command line arguments to use when on the OS X terminal.
    "terminal.integrated.shellArgs.osx": [],

That would completely let the user customize cmake generators and toolchains for every OS in a single settings file.

As a first step, that's probably too much. A future way after the simple additional arguments could be then to enable build-configuration-configurations ;-) Something like all the settings that you would pass to cmake, the shell to use, debugger settings, build type, etc. and then choose from those similarly as choosing between Debug and Release. But that's certainly way more effort to implement in a really user-friendly way.
I'd be happy with those additional arguments for now.

Thanks for all the suggestions!
I have a pretty common use case where I want to be able to flip back and forth between a few sets of configuration settings, so that may be something coming soon.
I'll take a look at this some more later when I get some time.

+1 for the ability to pass any flags, but that would also mean we'd need custom build command.
If you generate Visual Studio solution, you then probably want to run msbuild.exe on it and not make

@grisevg: The build command is handled already for Visual Studio solutions. For this extension, it uses cmake --build <build-dir>, and CMake will automatically find the best way to run the build, either by invoking ninja, make, msbuild, etc. based on the project generator.
CMake also lets you pass options to the underlying build tool using the -- option. I'll probably tweak it so that a user can specify what those options will be.

@vector-of-bool oh sweet, didn't know about that! No reason then not to support any generator passed as string, right? Or even better, just allow any custom flags.

The 0.5.4 release should address most of the concerns mentioned in this thread. Any feedback/comments/complaints/questions are welcome. If this particular issue is solved for everyone, I'll close it.
I've opened up this issue to track build variants, as discussed above.

Now support forcing generator based on platform. Should fix most concerns. I'll close this unless anyone else would like to bring up more concerns

Great news: next cmake version will support explicitly asking for capabilities, including what generators are supported. I feel that the upcoming vscode and cmake updates will really open up the door to some great opportunities regarding what can be done with this extension. Stay tuned...

I couldn't make cmake to believe it was in a mingw environement. When I run cmake from MSYS2 shell (command line of mingw-w64) it works OK but when vscode-cmake-tools runs it, it can't see gcc, libs, include etc... Which is of course not the fault of vscode-cmake-tools but is there something that can be done to overcome this?

It's possible it is an environment issue. Have you tried running vscode using the msys2 shell?

@tapir: it certainly is a environment issue. the MSYS2 shell sets up the path correctly for the MSYS2 provided CMake to be able to find your compilers.
@vector-of-bool, that's actually a nice work around, works quite well. However, some of the decision logic with the generator still is weird. Sometimes it doesn't get emitted as command line argument. I'll try to figure out what's happening there...
For all other readers a quick tip as a starting point: To be able to use CMake Tools mostly seamlessly with MSYS2/MinGW64 or Cygwin64 on Windows: Launch your MSYS2 or Cygwin shell (e.g. bash), and start Visual Studio Code from in there by simply typing:
$ /c/Program\ Files\ \(x86\)/Microsoft\ VS\ Code/bin/code

Defining a shell command alias might simplify things there a bit.
Then it'll then naturally find the MSYS2 or Cygwin provided CMake and compilers.
Still, setting the generator to "Unix Makefiles" or "Ninja" might be necessary either by setting the CMake Tools setting in your projects .vscode/settings.json the "cmake.generator" = "Unix Makefiles" or "cmake.configureArgs": ["-G", "Unix Makefiles"] along with the usual CMAKE_CXX_COMPILER arguments for the compiler to choose.
Otherwise MSYS2 CMake appears to default to the Visual Studio build system.


How to add ignore Files on save

Sorry if this seems basic but i am trying to add ignore files on save and doing the following
"csscomb.ignoreFilesOnSave": ['sass/_fonts.scss']
But getting the error "Expected comma or closing bracket"
Any idea what i am doing wrong, could do with an example on the readme, happy to write that up once I have got it working.

Calculation of the path begins from the root directory for currect workspace. Also we use Glob patterns.
If you have following structure:

sass/

_fonts.scss

it should works fine.
If you have following structure:

styles/

sass/

_fonts.scss

Should work: **/sass/_fonts.scss

Yes they are in:

sass/

_fonts.scss

But when i type it in vscode I get a red line under it here a screen shot.
Thats what i have but it not working and still changing the file.

I get a red line under it here a screen shot.

You use double or single quotes?

FIXED IT,
Thank you,
Was using single as it says on the example ['variables.less', 'mixins/**/*']
On the readme file, could do with that being updated (I will do that if you want)
But changing it to double fixed the issue.

I will be glad to see PR :)


enable size limit action

Got error from size limit action:

2020-12-07T13:56:42.2042845Z Error creating comment. This can happen for PR's originating from a fork without write permissions.

Got error from size limit action:

2020-12-07T13:56:42.2042845Z Error creating comment. This can happen for PR's originating from a fork without write permissions.

It would render this action useless If it can't comment on pull requests from fork.

Closed as it can't be applied to forked pull request.


Das_Geek: Watch diebestentest.com

Das_Geek requests the watch of the watch_keyword diebestentest\.com. See the MS search here and the Stack Exchange search here.

diebestentest\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Added Arrow.


Adds -expose option to setundef pass

Option -expose converts undriven wires to inputs when used with -undriven in setundef pass.
Example usage: setundef -undriven -expose [selection]
This is useful when there are undriven wires hanging in a module, and we want to expose them as input ports of the module.

@cliffordwolf Thanks for the review. Please take a look at the updates.


Adding patches to the 1.2.1 manifest

Signed-off-by: Peter Nied<EMAIL_ADDRESS>Description
Adds the patch property to the 1.2.1 manifest so 1.2.0 versions of components are usable in the build process.
Issues Resolved

Resolves https://github.com/opensearch-project/opensearch-build/issues/1295

Check List

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1296 (cb890e9) into main (ef2e2f0) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #1296   +/-   ##
=========================================
  Coverage     93.87%   93.87%
  Complexity       11       11
=========================================
  Files           134      134
  Lines          2956     2956
  Branches          8        8
=========================================
  Hits           2775     2775
  Misses          173      173
  Partials          8        8

Continue to review full report at Codecov.

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


Frontdoor default query string cache default

The Default query string section states Ignore query strings is the default. (Ignore query strings: Default mode).
The behavior of the Portal UI when I flip cache to enabled sets the default configuration to Cache every unique URL.
I'm not sure which one is correct, but they don't seem to match.

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

ID: 2973ab88-1258-8a80-1344-07a9e0063951
Version Independent ID: c0cff4d9-d7fd-7b25-52da-9cbe5dda3ba8
Content: Azure Front Door - caching
Content Source: articles/frontdoor/front-door-caching.md
Service: frontdoor
GitHub Login: @duongau
Microsoft Alias: duau

@pmarone Thanks for the feedback! I have removed the incorrect default description, and the docs should show that change within 24 hours.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


removed testing deps

emergency PR to remove some testing dependencies that accidentally leaked into the toplevel project dependencies in #110

vbump


Drop telepathy dependencies from GNOME.

In gnome-contacts we've already had to disable it because it doesn't build. Also see https://gitlab.gnome.org/GNOME/gnome-build-meta/-/merge_requests/24, which mentions it's runtime optional in gnome-shell.
I really wonder how that would work in NixOS, though.

cc @NixOS/gnome

I believe this is the code https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/master/js/ui/components/telepathyClient.js#L6. I guess if we just do an impure thing in the telepathy module :grin:

I've tried to address this in https://github.com/NixOS/nixpkgs/pull/98316#issuecomment-703216363. I haven't tested it, but I assumed using sessionPath for the above would be fine for now.

We fixed this


[Feature Request] Stream support for playlists

What new feature would you like to see?
!stream is a pretty great feature as it e.g. instantly plays 1hr+ long videos without even taking up disk space.
It would be really nice if this feature was compatible with playlists. Currently using it on a playlist (tested with Youtube playlists) will simply return "this is not a stream".
Which of these categories fit your request?
Existing command update
Just checking...

[X] I have confirmed that my feature has not already been requested.
[X] I have confirmed that my feature has not already been implemented in the review branch.

I wouldn't hold your horses on this one, I think it will be quite a bit of work.


Kafka & Kinesis stream ingest parsing in parallel

Description
Introduce parallel parsing to the stream ingestion service. This is slightly different as it allows each "indexing" task to run parse and transform stages across multiple threads and feed them into a single appenderator.
This allows to increase throughput of each task, which has a number of benefits: It allows us to reduce overall task counts for a given number of Kafka partitions, allows for a better response of each task to short periods of peaks and dips in traffic by more effectively sharing resources across partitions.
This is similar, but different, to https://github.com/apache/druid/issues/7900:

In 7900, the Indexer creates a number of threads and each threaded task operates as independent within the process rather than a forked process, but operates as it did before in terms of per-task throughput characteristics.
In this PR, each task can operate parsing across multiple threads so the tasks themselves can handle more messages in a single task.

Configurable:

Introduce a new parameter parsingThreadCount which can be set on the kafka tuning config, which configures how many threads will be used to parse and apply transforms to records loaded from streaming datasource.
If set, the parameter creates a new parserThreadPool which will be used for parse & transform operations.
If no value (null), or 1 is used, the existing in-thread behavior occurs (nb: the time of the parse&transform is moved conceptually earlier in the processing).
If -1, or 0 or some other negative value is provided, then automatic selection of number of processors is used based on Runtime.getRuntime().availableProcessors().
If a value 1 or more is used, then that will be the size of the thread pool.

To support this:

Introduce a new ParseResult which, combined with Pair and List can capture the full parse results with any possible errors, including tracking whether the result is thrown away, so that all meters are updated correctly.
Introduce a CachingInputRow that can be used to perform the transformation of the contents of a row on the parallel threads.
Ensure TransformSpec::toTransformer is performed only once and reused (since the input is immutable and a Transformer is expensive to create).
Update kafka-supervisor-reference.md with new parameter parsingThreadCount
Extend KafkaIndexTest to test with varying combinations of parsingThreadCount

Discussion

I opted to focus only on the parse & load stage. In order to avoid changing the metric counters etc, during parse stage this collects all possible parse results. Later, immediately prior to append, the metrics will be updated for the row. This ensures all of the existing statistics behavior and error handling is performed exactly as today. It's not clear to me how important the meter data is, and if it is not deemed important we could simplify the result handling and processing.
In our cluster, the "serial" part of work, split between getRecords and Appenderator.add() takes about 50pc of the task effort, so Amdah's law limits this to a ~1.6x speedup for 4 threads. Since we allocate multiple threads to a task anyway (for GC, queries, etc), being able to use these 4 extra threads provides "free" extra throughput. Further work here on the appenderator would allow significant increases in the boost here.

Future work

It would be interesting to combine this with #7900 ; in theory it should be possible to share even the parse thread pool across multiple tasks so that resources are automatically available.
The appenderator is currently marked as single-caller-only so does not support parallel add() calls, this enforces a natural Amdah's Law limit to the scalability. I will have future PRs that should reduce the cost of the appenderator add call. In an ideal world, it would be possible to create a concurrent appenderator which would mean the entire task could parse across many threads.

Key changed/added classes in this PR

extensions-core/kafka-indexing-service/* to handle the new tuning parameter
extensions-core/kinesis-indexing-service/* to handle the new tuning parameter
core/../CachingInputRow introduced to allow complete pre-instantiation of a row
StreamChunkParser returns a ParseResult which embeds the parsing output as well as the status (such as thrown_away)
SeekableStreamIndexTaskRunner (and related) to accept the new parameter, and a new function mapRowBlocks that performs the logic of transforming input record blocks to a parsed block of records ready for appending.
TransformSpec is modified to allow it to instantiate a Transformer only once.

This PR has:

[x] been self-reviewed.

[x] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[x] added documentation for new or modified features or behaviors.
[x] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[x] added integration tests.
[x] been tested in a test Druid cluster.

looks like i'll need check those LGTMs

Do you have a performance report that shows how this change improves the throughput by setting different values of thread count under same incoming message rate?

about 36% time spend on parsing.

Do you have a performance report that shows how this change improves the throughput by setting different values of thread count under same incoming message rate?

Yes. This patch has a penalty when configured to use parsingThreadCount=1 but, for 2 or higher, throughput is improved!

parsingThreadCount
ingested rows / 4mins
speedup

1
52515
84%

2
64926
104%

3
74105
119%

4
80810
130%

5
86054
138%

6
89136
143%

7
94213
151%

8
95680
153%

pre-patch
62372
100%

This change moves the performance impact mostly to (1) kafka ingestion flow and (2) to index row generation
focused only on the task-runner thread:
before:

after:, notice the purple parseWithInputFormat is moved to this thread

So, this makes the next bottleneck be the remainder of that loop, and any future improvements to index generator will scale up with N threads.


Dubbo线上压测方案

This would be better to post in blog section

I also think it's better published as a blog.


allow transactions to null target (contract creation)

See #66

lgtm on a quick review, will wait for @bhakiyakalimuthu to merge


Entity "Id" always Included into the query sort clause

Hi,
I try to use 2.9.3 and I have generated Entity code based on sql server view. I have initialized sorting by some date column and I have disabled sorting on Id column. ListRequest object contains only one correct parameter for sorting but Sereneity somehow appends Id as secon parameter to sort cluase. On my profiler there is appended T0.[Id].
FROM [dbo].[vw_Contractors] T0
ORDER BY T0.[pub_date] DESC, T0.[Id];

How to resolve that?

ListHandler always add ID field to sort. Override ApplyKeyOrder and don't call base.

@volkanceylan much better now thanx 👍


Update deps

Coverage remained the same at 100.0% when pulling 271e5e1d9520964f11adbeb72ff9b9d5e37e54ae on havenchyk:master into 224c6a7fb735e25d77e2db6ad3f12981b7ffa093 on zemirco:master.

Coverage remained the same at 100.0% when pulling b76dfd152a73865ac6652224674d9169f54f638e on havenchyk:master into 224c6a7fb735e25d77e2db6ad3f12981b7ffa093 on zemirco:master.

Thanks @havenchyk!


Reducing outliers in BERTopic

Hi, this is a great package and it has improved topic modelling I've been doing with BERTopic. Thanks!
However, I am encountering a problem when updating the topics to reduce the size of the outlier topic. The vectorizer doesn't have the required structure to use this useful functionality of the BERTopic package. A code snippet is below:
from bertopic import BERTopic
from keyphrase_vectorizers import KeyphraseCountVectorizer

docs = ... # load the documents

vectorizer = KeyphraseCountVectorizer(spacy_exclude=['parser', 'ner'])

topic_model = BERTopic(vectorizer_model=vectorizer)
topics, probs = topic_model.fit_transform(docs)

new_topics = topic_model.reduce_outliers(docs, topics)
topic_model.update_topics(docs, topics=new_topics)

This gives:  AttributeError: 'KeyphraseCountVectorizer' object has no attribute 'build_tokenizer'
I understand that your package does alternative tokenization, so I guess using the default scikit-learn tokenizer from their vectorizer classes would not preserve the results of your package.
It would be great if you could provide a fix or suggest a workaround for this?

Added build_tokenizer function with the v0.0.12 release.


Question - menu shadow

Is it possible to change the shadow color of the DropdownButton2 menu?

Yes. Use dropdownDecoration parameter. for example:
dropdownDecoration: BoxDecoration(
  boxShadow: [
    BoxShadow(
      offset: const Offset(0, 6),
      blurRadius: 5,
      color: Colors.red.withOpacity(0.3),
    ),
  ],
),

Oh, no. BoxDecoration doesn't work on dropdown menu (only dropdown button) - shadow is still black

Thancks a lot - work :)
Found some strange thng - buttonDecoration -> BoxShadow work if buttonElevation greater then 4. Maybe it will be interesting for you.

Good Catch! this happens because buttonDecoration uses buttonElevation as its boxShadow.
Instead, it should use buttonElevation only if the buttonDecoration doesn't have any boxShadows. I'll update it.

Update to latest version. Now you don't have to use buttonElevation parameter if you're going to pass boxShadow for the buttonDecoration.


Update person duplicate handling

Fixes #16
The previous implementation of isSamePerson checks only the equality of the name field. However, in reality, it is highly likely that there are multiple people with the same name.
Hence, the current implementation of isSamePerson includes the equality of both the name and email fields.

Would be great to change the equality check to be case insensitive for name and email.


https://tv.dir.bg/

https://tv.dir.bg/programata.php?t=0
https://tv.dir.bg/programata.php?t=1

The guide from tv.dir.bg is already available here:
https://iptv-org.github.io/epg/guides/bg/tv.dir.bg.epg.xml


1.39 release notes

I would wait also for images and operator releases to add maybe some more issues there ;)

@radtriste thanks, new JIRAs added


bug when renaming the lst file from im2rec.py in Windows

When computing im2rec.py in Windows you get the following error:
os.rename(fname+'.tmp', fname)
WindowsError: [Error 183] Cannot create a file when that file already exists

Doesn't happen in Linux

@piiswrong Why is this guy a float instead of an int??
line += '%f\t' % j
In the lst file I get a big number of 0s like: 1.00000000000

@piiswrong why you haven't merge?

This part has changed. You can try rebase to master
On Wed, Oct 19, 2016 at 12:32 AM, Miguel González-Fierro <
<EMAIL_ADDRESS>wrote:

@piiswrong https://github.com/piiswrong why you haven't merge?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dmlc/mxnet/pull/3307#issuecomment-254734955, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAiudH_rb7I3PcFpwIHuOHxXBckuI1NBks5q1cengaJpZM4J9oTB
.

Hi @piiswrong I checked again and the bug is still in master branch. You can not compute im2rec.py in windows with the current code you have. The fix I made solves the issue


Use --user flag when installing picopt

I ran into could not create '/Library/Python/2.7/site-packages/coverage': Permission denied when installing picopt.  Adding the --user flag fixed it for me.

great suggestion. could you add it as a second option, rather than replacing what's there originally? e.g. "if this doesn't work, trying adding the --user flag"?

closing because this repo is not maintained


Adds for autoScroll for crawling the multi pages?

I just worked for our platform pages with origin code and that couldn't provide me full information on pages.
Therefore, i added autoScroll code in main.ts for this and it worked perfectly.
(I think it is better than increasing the numbers of waitForSelectorTimeout.)
async function autoScroll(page: Page) {
  await page.evaluate(async () => {
    await new Promise<void>((resolve, reject) => {
      var totalHeight = 0;
      var distance = 100;
      var timer = setInterval(() => {
        var scrollHeight = document.body.scrollHeight;
        window.scrollBy(0, distance);
        totalHeight += distance;

        if (totalHeight >= scrollHeight) {
          clearInterval(timer);
          resolve();
        }
      }, 100);
    });
  });
}

if (process.env.NO_CRAWL !== "true") {
  const crawler = new PlaywrightCrawler({
    async requestHandler({ request, page, enqueueLinks, log, pushData }) {
      try {
        if (config.cookie) {
          const cookie = {
            name: config.cookie.name,
            value: config.cookie.value,
            url: request.loadedUrl,
          };
          await page.context().addCookies([cookie]);
        }

        const title = await page.title();
        log.info(`Crawling ${request.loadedUrl}...`);

        await page.waitForSelector(config.selector, {
          timeout: config.waitForSelectorTimeout,
        });

        await autoScroll(page);

        const html = await getPageHtml(page);
        await pushData({ title, url: request.loadedUrl, html });

        if (config.onVisitPage) {
          await config.onVisitPage({ page, pushData });
        }

        await enqueueLinks({
          globs: [config.match],
        });
      } catch (error) {
        log.error(`Error crawling ${request.loadedUrl}: ${error}`);
      }
    },
    maxRequestsPerCrawl: config.maxPagesToCrawl,
    // headless: false,
  });

  await crawler.run([config.url]);
}

If you think this is good enough for crawling, hope this will be helpful for other users.
Thank you for your work btw!
I really appreciate for that!
Thank you.

Thank your code. How can I add this code to repo? Can you share completed code?

Thanks.
---Original---
From: "SUN YOUNG @.>
Date: Sat, Dec 16, 2023 18:10 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [BuilderIO/gpt-crawler] Adds for autoScroll for crawling themulti pages? (Issue #30)
Just go to main.ts and copy and add above code! And run it!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>


Cannot install package python: Could not fetch URL https://pypi.org/simple/pip/

Xmake Version
v2.8.5
Operating System Version and Architecture
Zorin OS 16 x86_64
Describe Bug
The error occurs during installing required packages when configuring.  The specific python version that used is 3.11.3.  Attempting to install results in this error
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
Most likely a broken package
Expected Behavior
The project should configure and install the python package with no errors.
Project Configuration
Here is an xmake.lua that results in an error:
add_requires("python")

target("test")
	add_deps("python")

Additional Information and Error Logs
logs/install.txt:
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
ERROR: Could not find a version that satisfies the requirement pip (from versions: none)
ERROR: No matching distribution found for pip
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
WARNING: There was an error checking the latest version of pip.

please run xmake f -vD -c and provide full logs.

https://mega.nz/file/qfxEWJbB#liexs7-beDcnjAMhW_FA7yVsBS_kHRnHMGxrdPmLEVs Heres the entire output of xmake f -vD -c

ssl module not found.
checking for openssl/ssl.h in /home/eryk/.xmake/packages/o/openssl/1.1.1-w/6c51ab6278e2479b883dffafac69fdaf... yes
checking whether compiling and linking against OpenSSL works... yes
checking for --with-openssl-rpath...
checking whether OpenSSL provides required ssl module APIs... no
checking whether OpenSSL provides required hashlib module APIs... no

The following modules found by detect_modules() in setup.py have not
been built, they are *disabled* by configure:
_sqlite3

Could not build the ssl module!
Python requires a OpenSSL 1.1.1 or newer
Custom linker flags may require --with-openssl-rpath=auto

running build_scripts

Any idea? @xq114

Any updates on this issue?

I can't reproduce the problem and I don't have a Zorin OS environment.

Try this patch, it should work. https://github.com/xmake-io/xmake-repo/pull/4869


Kafkastack deployment templates for K8s

@kostyaplis oh there's fonflicts, you can resolve that first :)

Resolved


Remove redundant assignments

Summary of changes
Unnecessary variables were removed

Please submit contributions for distutils to pypa/distutils. Thanks.


Cleanup logs & errors in reconciler-manager

Make managed object and sync object log messages more consistent
Use ObjectKeys/NamespacedNames where possible to avoid making
assumptions about which namespace to use, and make it easier to
log the namespace & name together.
Seperate auth secret and ca cert secret upserts to make the code
easier to read, and have distinct error messages, that explain
what the secret is for, since the user needs to supply it.

/lgtm

Huh. That's a new one I've never seen before...
TestIgnoreKptfiles failed setup with:
Warning  FailedScheduling  46s (x6 over 5m38s)  default-scheduler  0/1 nodes are available: 1 node(s) had taint {node.kubernetes.io/unreachable: }, that the pod didn't tolerate.

Any idea why the kind node didn't become available?

Huh. That's a new one I've never seen before...
TestIgnoreKptfiles failed setup with:
Warning  FailedScheduling  46s (x6 over 5m38s)  default-scheduler  0/1 nodes are available: 1 node(s) had taint {node.kubernetes.io/unreachable: }, that the pod didn't tolerate.

Any idea why the kind node didn't become available?

I recently added the extra logging to figure out the git-server flake. I've noticed this on a few test flakes but haven't dug into it yet to find the root cause.

/retest

Hmm.  The ns-reconciler-bookinfo reconciler pod is crash looping in the TestSwitchFromGitToOci test.
The reconciler-manager log seems to indicate that there were 22 reconciler Deployment changes triggering re-reconciliation, one of which was skipped because the ResourceVersion was already reconciled (a change I made a week or two ago). I've since found a better way to skip those using a controller-manager settings, but this PR seems like the wrong place to fix it.
The reconciler logs failed to print:
kubectl logs pod ns-reconciler-bookinfo-6cfc9bff98-wn5gc -n config-management-system -c otel-agent`: exit status 1
        Error from server (NotFound): pods "pod" not found

That looks like a typo in the log printer. It should probably be pod/ns-reconciler-bookinfo-6cfc9bff98-wn5gc or just drop the pod, since that's the default log resource type.

Pod log fix: https://github.com/GoogleContainerTools/kpt-config-sync/pull/32

/retest
    new.go:350: ERROR: waiting for git-server Deployment to become available: failed predicate for deployment/test-git-server in namespace config-management-system-test: got 0 available replicas, want 1

/retest
Same 0/1 nodes available problem

/retest
Same 0/1 nodes available problem

I haven't verified it, but I expect this change will fix the problem: https://github.com/GoogleContainerTools/kpt-config-sync/pull/33

          Warning  DNSConfigForming  55s (x26 over 6m1s)    kubelet            Search Line limits were exceeded, some search paths have been omitted, the applied search line is: config-management-system.svc.cluster.local svc.cluster.local cluster.local test-pods.svc.cluster.local us-central1-b.c.oss-prow-build-kpt-config-sync.internal c.oss-prow-build-kpt-config-sync.internal

That's usually a coredns issue. Seems like maybe related to kind not being ready. I'll rebase.

rebased on https://github.com/GoogleContainerTools/kpt-config-sync/pull/33, we'll see how it goes

/retest

/lgtm


ko does not respect GO111MODULE=on and GOFLAGS=-mod=vendor

ko, when run from within the GOPATH, uses GOPATH mode for resolving images even when environment variables instruct otherwise.
ko version 0.5.1

One caveat here: I have 2 machines with this setup and they're behaving differently :( One seems to do fine with the module type ko:// references to vendor. The other does not. I'll have to take a look and see if ko has debugging tips anywhere, I'd love to figure out this mystery :)

Thoughts on changing to using https://golang.org/pkg/go/build/ from exec to see if that helps resolve inconsistencies?

In slack I got a "sure, why not?"  I'll do it myself :P

No luck, but please consider it assigned.

This /may/ have been due to a bug in our setup, but we're investigating a bit more now that we got our internal repo into a good state. That should help us understand a bit better why this is occurring (and play around with fixes :)

OK, here's my attempt at repro.
 GO111MODULE=on GOFLAGS="-mod=vendor" should always output the changed text
b. GO111MODULE=auto GOFLAGS="-mod=vendor" should output the changed text iff in the module path, otherwise the original text.
i.  In the module root
ii. Outside module root
c. GO111MODULE=off should output the original text.
d. GO111MODULE=on should fail outside a module.
Results:
a. GO111MODULE="on" GOFLAGS="-mod=vendor" ko publish github.com/go-training/helloworld
docker run result
Hello World TEST!!
b.
i.
Hello World TEST!!
ii.
Hello World!!
c.
Hello World!!
d.
go: cannot find main module; see 'go help modules'
So: WAI :+1: Most likely the issues I was seeing were related to our own infra around ko and not ko itself.
Any objections to me adding something similar as an integration test?

Fixed by https://github.com/google/ko/pull/179


Added (ODIA) local langugae of Odisha, India

This is the part of https://github.com/AndrGab/medirepoWeb/issues/33 which is transferred later on to https://github.com/AndrGab/medirepoWeb/issues/76
Please review and merge accordingly.
And it would be great if you could add a hacktoberfest-accepted label.

great job


SAMZA-1730: Adding state  valiations in StreamProcessor before any lifecycle operation and group coordination.

@shanthoosh Minor: Please create a SAMZA ticket for this and move the details there. Lengthy descriptions aren't appropriate for commit messages. Thanks!

@prateekm
I created a ticket before creating the PR. Forgot to link to PR. Thanks for pointing it out. Fixed.

@vjagadish1989
Can you please take a look at this PR. This has been linger around here for a while.

merged and submitted thanks!


Enhance Remove-Item to work with OneDrive

PR Summary
Before the fix only enumeration (Get-ChildItem) worked on OneDrive.
Now Remove-Item correctly removes folders and files on OneDrive too.

Enhance IsReparsePointLikeSymlink() method so that exclude non named surrogates from reparse points. As result PowerShell recurse into such reparse points which is a OneDrive entities.
Use updated IsReparsePointLikeSymlink() method in RemoveDirectoryInfoItem() and NameString() methods
Add new tests and a test hook to emulate old PowerShell behavior and test new PowerShell behavior on OneDrive.
Add small perf improvement in Dir() and IsReparsePointLikeSymlink() methods to exclude extra p/invoke in most scenarios.

PR Context
Replace #14860
Related #9246
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[ ] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

We need reviews from some other contributors here. I'm hoping some of the reviewers I've added can provide a review, since I know less about filesystem interactions.

/azp list


Add Quicktime:CreateDate (re-submission of PR #373)

Coverage remained the same at 91.071% when pulling ef328f3b055994d2ab976b3e48b916afe7136a73 on auenkind:master into 8e95b96e111ef1e892716a17aecfc9095fb52a90 on jmathai:master.


Doom Upgrade Issue - Symbol's function definition is void: straight--process-buffer

I attempted to upgrade Doom Emacs, but ran into an error message I hadn't seen before.
Steps to reproduce:
doom upgrade
Expected
The process would complete without fail
Actual
I would receive the error message below.
> Preparing to upgrade Doom Emacs and its packages...
✓ Doom is already up-to-date!
Doom is up-to-date!
> Synchronizing your config with Doom Emacs...
  > Regenerating envvars file at "~/.emacs.d/.local/env"
    ✓ Successfully generated "~/.emacs.d/.local/env"
  > Installing packages...
    - No packages need to be installed
  > (Re)building packages...
    - No packages need rebuilding
  > Updating recipe repos...
    x There was an unexpected error
      Message: Symbol's function definition is void
      Data: (void-function . straight--process-buffer)
      Backtrace:
        (straight--process-buffer)
        (let* ((buffer (straight--process-buffer)) (start (save-current-buffer (se
        (let ((alist (let* ((buffer (stra")) (ref (straight-vc-get-commit typcurre
        (let* ((--cl-rest-- (append (list :recipe recipe) recipe)) (recipe (car (c
        (while --dolist-tail-- (setq recipe (car --dolist-tail--)) (let* ((--cl-re
        (let ((--dolist-tail-- recipes) recipe) (while --dolist-tail-- (setq recip
        (let* ((recipes (delq nil (mapcar (doom-rpartial #'gethash straight--repo-
        (let ((doom-output-indent (+ doom-output-indent-increment doom-output-inde
        (if doom--cli-updated-recipes nil (straight--make-build-cache-available) (
    ! Extended backtrace logged to ~/.emacs.d/.local/doom.error.log

System information:
https://pastebin.com/42HCKJE9

Duplicate of #4950.


parsing query params (e.g. booleans)

I'm using version 2.5.2.
I've wanted to ask (because I didn't find that at the documentation pages) If there is an options to parse the accepted query params to another type which is not string.
for example:
http://myapp.com/foo?bar=true

I want the this.props.location.query to be like:
{
  "bar": true
}

(boolean type, not a string)

You can do this with your own query string parser: https://github.com/ReactTraining/react-router/blob/master/upgrade-guides/v2.0.0.md#custom-query-string-parsing


[FEATURE REQUEST] Regular Payment Transaction Scheduling

What feature are you suggesting?
A way to add upcoming payments to the transaction log for future dates.  The payments should split the outstanding balance across a series of dates.
Is your feature request related to a problem?
In order to use the General Licence Manager as a payment plan initiator and tracker, this is needed.
Are there any workarounds?  Are there any alternative solutions that would work?
Create individual transactions at the time of the processing.
Are there any other helpful details?
The solution must be able to export to a third party accounting system for processing, and possibly import the results from that accounting system.

Done.


Can create a new note

When click the Packages -> New Note -> Create New Note, there is nothing happen.

Sorry for the late (!) reply. Is this problem still occurring to you? If so, would you mind try starting Atom in debug mode (command line, atom -d), try creating a new note and then copy & paste what showed up in the debug panel to this thread? Thx!

Thanks, it's not happening now. I will open debug mode if it happen again.

That's good to hear! I'll close this issue for now. Feel free to reopen it if this problem reoccurs.


Make hazelcast_client::shutdown async

Make hazelcast_client::shutdown return future so that it can work in async manner as the rest of the API.

Linux test PASSed.

Linux test PASSed.

Windows test PASSed.

Windows test PASSed.

Linux test PASSed.

Linux test PASSed.

Linux test PASSed.

Linux test PASSed.

Windows test PASSed.

Windows test PASSed.

Windows test PASSed.

Windows test PASSed.


Error: all CUDA-capable devices are busy or unavailable

I'm running digits on HPC cluster and have 2/2 GPU's (identical) for a particular node. When using 1st GPU from the available I get fallowing error:
Check failed: error == cudaSuccess (46 vs. 0)  all CUDA-capable devices are busy or unavailable

This error doesn't show when using the 2nd GPU only. Could this be related to digits process running on GPU #0? It's kinda waste to be able 1/2 GPU's for now.
Outputs from nvidia-smi, ps aux and device query:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26                 Driver Version: 375.26                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+|
|   0  Tesla K40m          On   | 0000:04:00.0     Off |                    0 |
| N/A   35C    P0    63W / 235W |     74MiB / 11439MiB |      0%   E. Process |
+-------------------------------+----------------------+----------------------+
|   1  Tesla K40m          On   | 0000:82:00.0     Off |                    0 |
| N/A   27C    P8    21W / 235W |      2MiB / 11439MiB |      0%   E. Process |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|===========================================|
|    0    121184    C   python2                                         72MiB |
+-----------------------------------------------------------------------------+
from ps aux:
eduardss 121184  0.1  0.1 169769620 191484 ?    Sl   01:21   0:26 python2 -m digits

./device_query.py
Device #0:

CUDA attributes:
name                         Tesla K40m
totalGlobalMem<PHONE_NUMBER>8
clockRate                    745000
major                        3
minor                        5
NVML attributes:
Total memory                 11439 MB
Used memory                  74 MB
Memory utilization           0%
GPU utilization              0%
Temperature                  34 C

Device #1:

CUDA attributes:
name                         Tesla K40m
totalGlobalMem<PHONE_NUMBER>8
clockRate                    745000
major                        3
minor                        5
NVML attributes:
Total memory                 11439 MB
Used memory                  72 MB
Memory utilization           0%
GPU utilization              0%
Temperature                  27 C

Using 'nvidia-smi -a' I found this setting:
Compute Mode                    : Exclusive_Process
Which probably is the culprit if I understand its function correctly. Given that this is HPC environment it sounds reasonable, but is there anyway to get around it? Maybe not have digits process on GPU?


update to 5.2.0

redis-py 5.2.0
Destination channel: main
Links

PKG-5313
https://github.com/redis/redis-py/tree/v5.2.0

Not setting pyopenssl in run_constrained because constraint is too strict.

I'm tempted to suggest that we at least ut a lower bound on pyopenssl. What do you think about that?

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_c1xf5r0w7x/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:57: license_file_overspecified: Using license_file and license_url is overspecified.
clone/recipe/meta.yaml:57: documentation_overspecified: Using doc_url and doc_source_url is overspecified
===== Final Report: =====
0 Errors and 2 Warnings were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_33ggmzfi1n/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:57: license_file_overspecified: Using license_file and license_url is overspecified.
clone/recipe/meta.yaml:57: documentation_overspecified: Using doc_url and doc_source_url is overspecified
===== Final Report: =====
0 Errors and 2 Warnings were found


[Portainer] The addon does not start - s6-mkdir: warning: unable to mkdir /var/run/s6/container_environment: Invalid argument

Description
s6-mkdir: warning: unable to mkdir /var/run/s6/container_environment: Invalid argument
The addon does not start, the sequence of actions is:

Normal installation of the addon with default settings
After installation, the addon does not start immediately
Turning off SElinux and AppArmor does not help
All users have rights to the directory
Restarting the addon via the web or via ssh did not give a positive result

#setenforce 0
#service apparmor stop

# ls -lF /var | grep run
lrwxrwxrwx 1 root root 9 May 26 23:51 lock -> /run/lock/
lrwxrwxrwx 1 root root 4 May 26 23:51 run -> /run/
# ls -lF /var/run/s6
total 0
drwxrwxrwx 2 root root 40 Jun 5 22:39 container_environment/
# ha addons restart db21ed7f_portainer
Command completed successfully.
#ha addons logs db21ed7f_portainer
s6-mkdir: warning: unable to mkdir /var/run/s6/container_environment: Invalid argument
#docker ps -a
8aa599004292 ghcr.io/alexbelgium/porttainer-amd64:2.20.1 "/init" About a minute ago Exited (1) About a minute ago addon_db21ed7f_porttainer
# docker logs 8aa599004292
s6-mkdir: warning: unable to mkdir /var/run/s6/container_environment: Invalid argument
PLEASE, HELP!
Reproduction steps
The addon does not start, the sequence of actions is:
1. Normal installation of the addon with default settings
2. After installation, the addon does not start immediately
3. Turning off SElinux and AppArmor does not help
4. All users have rights to the directory
5. Restarting the addon via the web or via ssh did not give a positive result

Addon Logs
#setenforce 0
#service apparmor stop

# ls -lF /var | grep run
lrwxrwxrwx 1 root root 9 May 26 23:51 lock -> /run/lock/
lrwxrwxrwx 1 root root 4 May 26 23:51 run -> /run/

# ls -lF /var/run/s6
total 0
drwxrwxrwx 2 root root 40 Jun 5 22:39 container_environment/

# ha addons restart db21ed7f_portainer
Command completed successfully.

#ha addons logs db21ed7f_portainer
s6-mkdir: warning: unable to mkdir /var/run/s6/container_environment: Invalid argument

#docker ps -a
8aa599004292 ghcr.io/alexbelgium/porttainer-amd64:2.20.1 "/init" About a minute ago Exited (1) About a minute ago addon_db21ed7f_porttainer

# docker logs 8aa599004292
s6-mkdir: warning: unable to mkdir /var/run/s6/container_environment: Invalid argument

Architecture
amd64
OS
No response

Hi, what is your system? Can you please post the addon log? Just un-installed and installed it from scratch and it works out of the box

BTW did you disable the "protected mode".for this addon? It only runs with priviledged mode

Debian 12.5
Tried reinstalling several times - didn't help
The entire addon log consists of this one phrase, which is constantly repeated:
s6-mkdir: warning: unable to mkdir /var/run/s6/container_environment: Invalid argument
When installing Portainer not as an add-on, but as a standalone, Portainer starts and works correctly

Protected mode is also disabled

So it's not HAos but HA supervised then? I'll check what could happen. This is strange : as i'm using an official HA base image I would not expect an interference with its init scripts. It does not seem linked to the addon per se as it does not even come to the place of execution of my scripts

So, this /etc/s6/init/init-stage1 is likely the culprit.
I guess you would need to unset DO_NOT_KEEP_ENV to avoid executing the mkdir script ?
init-stage1.txt

please tell me how to do this?  How to rebuild the addon somehow?  or add something to the addon settings in HA?

the issue is that I can't replicate... do you have portainer? it would allow you to add dynamically the environment variable directly in the addon
But from your comment I realize that indeed as the code works on HAos and not on your supervised installation, an action on the debian system itself could likely be the needed solution... sorry just thinking aloud there


Update getting-started.md

Fixing the custom pipeline example (custom pipeline missing from the clean parameters)

Thank you @sleeper !


Initial 2.10 support

This is blocked on https://github.com/dart-lang/dart-pad/issues/1616

@devoncarew I suspect I'm going to need your support in debugging these failures before the next Flutter stable release.

@devoncarew I suspect I'm going to need your support in debugging these failures before the next Flutter stable release.

Sure; feel free to set up a VC.

TBR @johnpryan


Jupyter Notebook as a Node component

Hi,
Can i add Jupyter Notebook as a native node component with react-flow-chart? If any one have tried or had tried to add some external native component, pls share the experience along with sample code.
Thanks
-Vivek

I'm not quite sure what you mean but you should be able to embed anything you want by using a custom node components.
https://github.com/MrBlenny/react-flow-chart/blob/master/stories/CustomNodeInner.tsx


Support for ReferenceField

There seems to be a problem when trying to use a  in combination with EmbeddedArrayInput.
I just can't get it to work - the reference field is not calling the endpoint, and therefore not displaying any data.
Are there any known tricks for this?

Can you please provide a complete example using https://codesandbox.io/

closed due inactivity. please feel free to re-open this when you prepare the example.

ReferenceInput not working with ArrayInput.
How to do something like the following?
        <ArrayInput source="post">
          <SimpleFormIterator>
            <ReferenceInput source="commentedOn" reference="user">
              <AutocompleteInput optionText="username" />
            </ReferenceInput>
          </SimpleFormIterator>
        </ArrayInput>

@nitoygo Actually it should work, please provide an example using https://codesandbox.io/
BTW, check this issue, it might help https://github.com/MhdSyrwan/aor-embedded-array/issues/5
Also, please provide a sample of the data you're using.


RSpec tests: Convert should to expect using transpec

Since the should syntax in RSpec is deprecated, convert to the new expect syntax.

Fixes #140


F632 suggestion leads to false positive when comparing False == 0

List of keywords you searched for before creating this issue. Write them down here so that others can find this issue more easily and help provide feedback.

F632
False positive F632
False is 0
False == 0

A minimal code snippet that reproduces the bug.

https://replit.com/@GalexyN/JuvenilePiercingSeahorse?v=1
The repl might be overkill but essentially i have use case where im using JMESPath to search for values in a dictionary. The end result is that I will need to do something if there isnt a match. A match is determined by if the JMESPath query returns a truthy value or the value is int 0. In my code I wanted to do value is 0. False is 0 would return False, which is what I want, however the ruff rule F632 suggests that I change it to value == 0. This would return True. My CI will not pass the lint check because of this, so I opted for doing type(value) is int and value == 0. This would equate to False. I also can't use isinstance(value, int) and value == 0 because bool is a subclass of int so that would also result in True.

The command you invoked

I just ran the repl

The current Ruff settings (any relevant sections from your pyproject.toml)

[tool.poetry]
name = "python-template"
version = "0.1.0"
description = ""
authors = ["Your Name<EMAIL_ADDRESS>
[tool.poetry.dependencies]
python = ">=3.10.0,<3.12"
ruff = "^0.5.5"
jmespath = "^1.0.1"

[tool.pyright]
# https://github.com/microsoft/pyright/blob/main/docs/configuration.md
useLibraryCodeForTypes = true
exclude = [".cache"]

[tool.ruff]
# https://beta.ruff.rs/docs/configuration/
select = ['E', 'W', 'F', 'I', 'B', 'C4', 'ARG', 'SIM']
ignore = ['W291', 'W292', 'W293']

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

The current Ruff version (ruff --version).

<EMAIL_ADDRESS>

Hey @GalexyN! The Ruff lint F632 is to help you avoid using identity checks with numeric literals like 0. Using an identity check like x is 0 might give you the right answer sometimes, but it isn't guaranteed to do so. That's because the is operator checks for an exact identity match -- it doesn't just check for equality, it checks that exactly the same object at the same memory address is on both sides of the is operator. For example:
>>> x = 2_000
>>> y = 2_000
>>> x == y
True
>>> x is y
False

For some small numbers, like 0, you can sometimes get the right result using an identity check, because Python interns small numbers (it reuses the same object from the same address in memory, as an optimisation). However, you shouldn't count on it: this is just an optimisation rather than a guarantee that Python makes, so your code could break at any time. It's for this reason that Python will actually emit a warning if you try to do an identity check with a numeric literal:
Python 3.12.4 (main, Jun 12 2024, 09:54:41) [Clang 15.0.0 (clang-15<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> False is 0
<stdin>-0:1: SyntaxWarning: "is" with 'int' literal. Did you mean "=="?
False

So I would say that this is not a false positive here. If you want to ensure that something is exactly 0 (and not False, or any other object that could have a falsey boolean value), I think this would be the most secure way of doing it -- which is one of the options you suggested above:
if type(x) is int and x == 0:
    ...

I can see that the autofix is not doing what you'd like in this case, since the autofix would make this change to your code:
- if x is 0:
+ if x == 0:
      ...

When you'd prefer it to make this change:
- if x is 0:
+ if type(x) is int and x == 0:
      ...

However, I think the majority of users who are falling into this trap would prefer the existing autofix: I think that that's more likely to be what they "meant". In general, most code doesn't care if a bool is passed when an int is expected, and some code in fact relies on bool being a subclass of int.


Need example for Update a referral by Id

The documentation for this feature is limited in that it asks for a parameter called "Used for if match header from the client" that is required.  No idea what this is, how it's used, what the value should be, etc.
Any help?

The if-match header is used for concurrency control. You need to specify the referral version that you want to update in this field. This makes sure that the change you want to introduce is based on the latest version of the referral. (See here: https://docs.microsoft.com/en-us/partner/develop/headers)
The version is expressed in the referral's eTag value. This is one of the properties which are returned if you get the referral using the "Get referral by id" step.

So much for the theory, but I did not get this to work either. The latest eTag value of the referral that I wish to update does not match:
{
  "error": {
    "code": "preconditionFailed",
    "message": "A precondition provided in the request (such as an if-match header) does not match the resource's current state.",
    "target": "ETag",
    "innerError": {
      "code": "99918",
      "message": "One of the specified pre-condition is not met. Etag value did not Match",
      "details": null
    }
  }
}

I have not seen a working example so far, so that might be a bug.


Add shortcuts for other kinds of entities

r? @WaffleLapkin

@SpriteOvO Mention, Hashtag, Cashtag, BotCommand, Email and PhoneNumber are automatically assigned, so they don't need shortcuts, or why they were not included?
TextMention might be missing, if you have the user object it might still be useful, right?


Explain how to get help for the test harness

TIL that the default test harness has a non-trivial number of options. Guess it's better to share this knowledge.

r? @wycats
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+ 82eb06a7e6cd03e9fb1855a5b6e37d88e8e0ef5c
Thanks!

:hourglass: Testing commit 82eb06a with merge 761ea2d...

:sunny: Test successful - cargo-cross-linux, cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64


[Bug] BD emotes sometimes don't replace text

Describe the Bug
Sometimes when typing emote names, they won't be replaced by the images; this happens for all emotes in BD, both sent and received. I've found the only way to fix this to Ctrl+R and reload Discord.
To Reproduce
Not sure how to reproduce
Expected Behavior
Emote text should be replaced by the image itself
Screenshots
Self-explanatory
Discord Version
Stable 0.0.036
Additional Context
None

I haven't been able to recreate this


import cv fails

When using the Load Video node and MPEG format the import cv fails with an exception.
The cause is that opencv-python is missing, this should be installed in the ComfyUI venv. I.e. having a requirments.txt would be a good idea - and possibly lazy install if/when needed.
I have fixed this in the code base by modifying the approach from ComfyUI-Manager. If you want me to contribute please let me know how. Otherwise, I could paste the code here and you can incorporate it if you wish.
Thanks for a great addition to ComfyUI!

Thanks for pointing this out. I have other nodes that require cv2 already so I missed it.


Don't cache query type

Found this when updating the xUnit packages. Previously, the tests ran slow enough that the cached data timed out and so the later tests weren't affected by it. But with the update they all ran together in <10min, which meant that we used the same table info cached for the first test ran (which happened to be AddProductIncorrectCasing.
The issue is this - when we cached the table info we were also caching the query type. But the query type is based off of the incoming object for an output request, which means that since we were caching the info only at the table level (the cache key is connection string + table name) that we'd reuse that query type for ALL queries after that first one within that 10min span. For most cases this probably isn't an issue - we generally prefer to do a merge anyways and only fall back to insert in special circumstances.
But it's a valid scenario that there might be two separate functions which operate differently on the same table - in which case they could easily run into problems where the first one to run causes the other one to start using the wrong query type (like we had here).
In the case that I found this showed up as this error :
[3435] [2024-01-17T02:34:50.108Z] System.Private.CoreLib: Exception while executing function: Functions.AddProductsArray. Microsoft.Azure.WebJobs.Host: Error while handling parameter _binder after function returned:. Microsoft.Azure.WebJobs.Extensions.Sql: Unexpected error upserting rows. Core Microsoft SqlClient Data Provider: Violation of PRIMARY KEY constraint 'PK__Products__B40CC6CDD4C38CC3'. Cannot insert duplicate key in object 'dbo.Products'. The duplicate key value is (2).
Which was because it was trying to do an INSERT instead of a MERGE (where it would have updated the row instead of trying to insert a new one)
This is a follow up to https://github.com/Azure/azure-functions-sql-extension/pull/628 where we did something similar

The failures are due to CG issues being fixed in another PR. I won't merge this in until that's in and the runs here are green, but in the meantime the tests are passing in the build so feel free to review the changes since there shouldn't be anything else needed.


grafana plugins: the data of BOOL dataType cannot be displayed properly

BOOLEAN dataType，which stored in iotdb，the value is true or false;
when run a query sql in the grafana, the boolean data cannot be displayed in the panel;
i suggested to change the boolean value, false -> 0, and true -> 1

@CloudWise-Lukemiao  PTAL

BOOLEAN dataType，which stored in iotdb，the value is true or false;
when run a query sql in the grafana, the boolean data cannot be displayed in the panel;
i suggested to change the boolean value, false -> 0, and true -> 1

That's a good suggestion. I'll show the boolean type data supported by the grafana plugin optimization, that is, true - >1 and false - >0

Fixed in latest master branch.


chore: bump podman-desktop api to 1.13

Subtasks of https://github.com/containers/podman-desktop-extension-minikube/issues/149

Closing in favour of https://github.com/containers/podman-desktop-extension-minikube/pull/153#pullrequestreview-2363158397


Feature/round

Mostly resolves #23. I didn't handle rounding to integers since llvm.lround doesn't support vectors.

If we have to_int_unchecked, then we should offer to_int that does the checking, even if we can't offer that universally (or ever) as a single instruction.

I agree, can we make that a separate issue and handle that in a separate PR though?  It depends on comparison operations we don't have yet

Hm, I didn't think my fix through, I forgot that it's probably rounding the integer out of range.  How do I obtain the min/max integers that can be represented as the float of the same size?

Might just need magical constants, there only two sizes involved here, 32-bit and 64-bit

This error is odd, and only occurs on riscv64gc:
Intrinsic has incorrect return type!
i64 (i64)* @llvm.ceil.v2f32
in function _ZN9core_simd5round5f32x247_$LT$impl$u20$core_simd..vectors_f32..f32x2$GT$4ceil17hb0d59b075a4324ebE
LLVM ERROR: Broken function found, compilation aborted!

I feel like I should ping @programmerjake on this one for some reason.

That's a good idea. It only happens with vector types so I'm guessing it's a rustc SIMD FFI bug, I have a minimized example I can use to submit an issue if it is in fact a rustc bug.

AFAICT it is a rustc bug where all the FFI type lowering machinery is invoked on intrinsics where it shouldn't be.

Since the bug is only riscv64gc (I couldn't figure out how to test risc32gc, since cross doesn't seem to support it), should we just disable it in CI pending this bug?  We could cfg-out but I believe this is going to effect nearly every addition going forward.

If this affects almost everything going forward for riscv64gc then, isn't dropping the test effectively tantamount to dropping our support for that architecture? We can put that on the table as an option, but I want to be sure we're all aware of what we're putting on the table.

Well, we could polyfill everything, but I have a feeling that may actually be more work than fixing the rustc bug.  I'm not proposing dropping support indefinitely, but temporarily disabling it in CI until we can reenable it or otherwise decide to polyfill.

And of course open a matching issue in stdsimd that makes it clear that issue is outstanding.

Alright. This seems inevitable but it's not like it's tier 1 and this is fixable.

Agreed, definitely inevitable.  I'm hoping the fix in rustc isn't a big deal.  Also, opened a corresponding stdsimd issue https://github.com/rust-lang/stdsimd/issues/35.

Looks good.
The docs should maybe say "whole number" rather than "integer" because these don't convert to an integer type, but that's a small nit that could be fixed later on.

I've usually heard whole numbers to mean the natural numbers (nonnegative integers?) so I think integer is more accurate.  But I also just copy-pasted the doc from std 😄