Rename tests folder and add to the new MRTK folder hierarchy

This change takes #5483 into account and adds the Tests folder to the MRTK folder hierarchy.
As with the previous change (#7479), the MixedRealityToolkit.Generated folder is not being changed.
Packaging has been updated to with the new folder location.
All tests were run prior to opening this PR. NuGet packaging scripts have been run and confirmed successful package building.
This change is part of #6985 and #5483
This change also fixes a missing unitypackage script update for the Tools folder

/azp run


Convert all options of IrrCompileConfig.h to CMake

This helps user configure the library easier and doesn't mess with the code.
PR submitting won't bring more problems because developer can use different build configurations.

This could be a thing we could do, I'll put it on our TODO list but not
for the 0.3 release.
Unless you manage to do it before us, in which case I'm happy to accept
a PR to cmake.
On 24/10/18 06:26, Manh Nguyen Tien wrote:

This helps user configure the library easier and doesn't mess with the code.
PR submitting won't bring more problems because developer can use
different build configurations.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/buildaworldnet/IrrlichtBAW/issues/155, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AGky8XopEXMXoTTcYCAtv3rJvL7ZPmnKks5un_oagaJpZM4X3Jva.

I'm actually +1 for this after my recent CMake experiences

those options would still have to remain #defines as the code that's using the library needs to know (at compile time) if the library was compiled with feature XYZ

I believe this can be done with https://cmake.org/cmake/help/v3.0/command/configure_file.html

well, yeah but then the entire set of includes has to be "installed" somewhere.

I've seen some popular libraries which install a configure header with in their include paths. These things are considered normal. I use CMake's configure_file feature and have single CMake-generated configure header used in build and installation too.

Closed #195 , discussion from https://github.com/buildaworldnet/IrrlichtBAW/issues/195#issuecomment-461221512 should move to here.

You guys could try building CEGUI since it is an great CMake legacy example in my opinion. So you would know how to improve IrrBAW's script. Users could use CMake GUI to enable/disable all or each examples instead of cd to example folders and build them manually.

Well a single solution for all examples would be good, except that not every IDE supports the concept of a "workspace" like CodeLite or Visual Studio

Ok we should probably use something like this
set_target_properties(mylib PROPERTIES PUBLIC_HEADER "some.h;another.h")
INSTALL(TARGETS mylib
        LIBRARY DESTINATION some/libpath
        PUBLIC_HEADER DESTINATION some/includepath
)

So user COULD install the stuff to system-wide directories and end up with /usr/local/lib/libIrr*.a and usr/local/include/irr/*
(I think cmake-gui default configure is /usr/local on Linux).
However what I really want to be able to do is:

Install my headers into ./someDirectory/Platform/BuildType/ (can be  ./someDirectory/Platform/BuildType/include)
Install my library into ./someDirectory/Platform/BuildType/ (I would rather not have it be  ./someDirectory/Platform/BuildType/lib)

Obviously:

someDirectoryis a directory of my choosing in the repository root
Platform is the OS, so Android/Linux/Windows
BuildType is the build config, so Debug/Release/ etc.

Essentially both set-ups have to work, usual Linux system-wide and my organised per-platform, per-build-type co-existing set-up.

Due to #196 we should have a config.h per-namespace (so 7 config files overall)
These per-namespace config files should include all external headers in their namespace.
There config files should all be included into include/irr/irrlicht.h, which itself is not configured
(Then irrlicht.h can be used as a pre-compiled header, or in a pre-compiled header for external projects)
Also for reference
https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/

Are there any options in IrrCompileConfig.h that should be deleted?

Btw. regarding my INSTALL paths rules ( https://github.com/buildaworldnet/IrrlichtBAW/issues/155#issuecomment-466954131 ) , I've came across something this
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
	set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/our/own/path" CACHE PATH "default install path" FORCE )
endif()

Are there any options in IrrCompileConfig.h that should be deleted?

hmm, well I wouldn't delete, I would just hide some of them:

Everything Up to line 154 (actually 172, those descriptor set maximums I wouldn't like to touch/expose until we get out shaders sorted out and xform feedback removed)
The stuff about X11, XRandr etc. as that will be replaced wholly by SDL2

to expose 100%
Compile with OPENGL, VULKAN, BURNINGS VIDEO
Lines 238-270

to actually delete:
NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_ = always true // because we will use SDL2 for rumble
_XBOX // that stuff was for the original xbox
actually everything to do with XBOX, DIRECT3D, DIRECTX and Solaris
_IRR_COMPILE_WITH_CONSOLE_DEVICE_ = always true // because we always want console device to be available
_IRR_OPENGL_USE_EXTPOINTER_ = always true // just define it on top of COpenGLExtensionHandler.h
_IRR_USE_NVIDIA_PERFHUD_ // that thing is dead
https://github.com/buildaworldnet/IrrlichtBAW/blob/master/include/IrrCompileConfig.h#L531
Whatever else you think it justified, just let me know

Plus lots of stuff is automatic and derived (from platform and build type).
#define __IRR_COMPILE_WITH_X86_SIMD_ should actually be defined automatically if the build is not for ARM.
When I say automaticall defined = conditionaly defined
But we should definitely add #define _IRR_DEBUG when the config is debug
P.S. Don't touch the NEW_MESHES define
P.P.S. We should probably change the version defined and the SDK string to match our versioning convention (we are at 0.3.0-beta).

@Crisspl a few wishes I have for the Linux CMake:

Add -Wno-error=ignored-attributes compiler option only when GGC is 6.1+ (or 6+)
Add CMAKE variable to enable -fsanitize=address (default is off)
Add CMAKE variable to enable -fsanitize=thread (default is off)

The above should be options to apply at the top level (to the tools, lib and examples)

We should disable installing for a number of the 3rdparty dependencies as well as set the correct defaults (like don't install shaderc, SPIR-V and don't build their tools and executables)

About the SIMD configure defines. We should replace
#define __IRR_COMPILE_WITH_X86_SIMD_

#ifdef __IRR_COMPILE_WITH_X86_SIMD_
#define __IRR_COMPILE_WITH_SSE3

#include <immintrin.h>

#ifdef __SSE3__
#define __IRR_COMPILE_WITH_SSE3
#endif

#ifdef __SSE4_1__
#define __IRR_COMPILE_WITH_SSE4_1
#endif

with (obviously _IRR_COMPILE_FOR_ARM  must be defined in an installed config header in the future)
#ifdef _IRR_COMPILE_FOR_ARM // name it better
    #define __IRR_COMPILE_WITH_ARM_SIMD_ // NEON
#else
    #define __IRR_COMPILE_WITH_X86_SIMD_ // SSE 4.2
    #include <immintrin.h>
#endif

You can take __IRR_COMPILE_WITH_X86_SIMD_ to replace and mean __IRR_COMPILE_WITH_SSE4_2,__IRR_COMPILE_WITH_SSE4_1 and __IRR_COMPILE_WITH_SSE3_0 at the same time.
The AVX stuff you can comment out and leave hanging around for the near future.

IRRLICHT_FAST_MATH should be renamed to __IRR_FAST_MATH and like _IRR_DEBUG (or __IRR_DEBUG_BUILD, whatever you choose) be defined and installed in the configured header (as the definitions of  inline functions depend on this)

We should also pick a convention for defines _IRR* or __IRR* and stick to it.
Maybe 1 underscore for an installed define in a configure header made by CMAKE and 2 underscores for a derived (from CMake options and 3rdparty defines and compiler defines) preprocessor token, such as __IRR_COMPILE_WITH_AVX.
Then this whole thing could be split into 2 orderly files:

Installed&Configured BuildConfigOptions.h with the CMake configured defines
Static and unchanging AutoConfig.h with the #ifdefs that derive other options

Conversation in #265 supercedes this


docs: fixed a config error in quick-start.mdx

Description

Related Issue

Types of changes

[x] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Checklist

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] I have updated the documentation.

Resolve merge conflicts


project specific setting

Hello, this plugin has worked great, and i think the most convenient way of using it is by letting it format automatically on save. However, there are times when this is very much not what i want,  if for instance I have edited someone else python script, that doesn't use black.
So it would be great to be able to set this on a per/project basis.
i.e. I set the setting "format_on_save" in python-black.sublime-settings to false. But in a project file i would like to be able to turn it on. Something similar to how LSP is setup:
{
"folders":
	[
             // ...
	],
	"settings":
	{
		"python-black":
		{
			"format_on_save": true
		},

               // OR

              "python-black_format_on_save": true

             // OR

            "python-black.format_on_save": true
	},
}

I tried looking at the LSP plugin source to see how they do it, but they have a quite intricate system for this. imo this should be handled automatically by sublime (merging the project settings, if the json is correct).
https://github.com/sublimelsp/LSP/blob/main/plugin/core/configurations.py
Anyways, thanks for a great plugin!

Thanks!


Update powershell.md

Updating information on how to allow OAuth Token to be used. (This seemed to have moved)

public interface HarvestableConnection

@kevbite Thank you for your contribution. @andyjlewis Can you review this?

In TFS 2017.3.1 the current text is correct and is talking about

Ah, see we're using VSTS, and the article says it's applicable to VSTS | TFS 2018 | TFS 2017 | TFS 2015 and also references.
As within VSTS, it's in the agent phase

Thank you for the pull request. We need to handle this change differently because it is different depending on TFS version or VSTS. I've got a backlog item tracking it.


Error HTTPSConnectionPool(host='api.bitfinex.com', port=443): Max retries exceeded with url: /v1/credits

Hi,
I get this error quite frequently. Using Bitfinex.
 Unhandled error, please open a Github issue so we can fix it!
2017-10-04 06:28:06 Error HTTPSConnectionPool(host='api.bitfinex.com', port=443): Max retries exceeded with url: /v1/credits (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x749dd970>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',)) Requesting https://api.bitfinex.com/v1/credits
Traceback (most recent call last):
  File "lendingbot.py", line 94, in <module>
    Lending.lend_all()
  File "/Desktop/bitfinex/modules/Lending.py", line 224, in lend_all
    total_lent = Data.get_total_lent()[0]
  File "/Desktop/bitfinex/modules/Data.py", line 44, in get_total_lent
    crypto_lent = api.return_active_loans()
  File "/Desktop/bitfinex/modules/Bitfinex.py", line 160, in return_active_loans
    bfx_resp = self._post('credits')
  File "/Desktop/bitfinex/modules/Bitfinex.py", line 116, in _post
    return self._request('post', payload['request'], signed_payload, verify)
  File "/Desktop/bitfinex/modules/ExchangeApi.py", line 29, in new_method
    return method(self, *arg, **kws)
  File "/Desktop/bitfinex/modules/Bitfinex.py", line 109, in _request
    raise ex

This is probably caused by temporary downtime in your DNS servers.

Ok, but I can't say I feel that in other services I use

Happens all the time in my set up too. It's definitely nothing we can fix in the code.

It would be nice if the code properly caught this exception rather than barfing out a stack trace each time.

OK, I'll remove the label and it can be looked at.

Can't we just get Polo ip and then use it? so we don't do too much DNS resolving?

Related: #617


Enforce consistent read/write operations for HA

Most write operations in the connector currently rely on first retrieving the current state of a metadata instance, updating that (in-memory), and then writing back the full metadata instance to XTDB.
For example, updateEntityProperties first retrieves the EntityDetail, changes its properties, then writes the full EntityDetail back.
XTDB uses its local indexes to retrieve information.

While this will work fine with synchronous indexing all in a single node, note that it will not be guaranteed to work across an HA configuration (where multiple local indexes exist). In these cases:

The local index where one write operation occurs may differ from the local index where another write operation occurs
Thus two quickly-occurring writes, even with synchronous indexing enabled, run the risk of clobbering each other (when they occur on different nodes of the cluster)
For example, if there were an updateEntityProperties on one node in parallel with an updateEntityStatus on another only one of these operations' information would ultimately be persisted
Perhaps even worse: neither operation would fail.

We could probably narrow the window of opportunity for such clobbering by awaiting consistency on every write operation (with some impact to all write operations' performance); however, even then it probably still isn't possible to guarantee consistency.
Probably need to circle back to the XTDB team to see how we might address this natively. Since most write operations in Egeria don't have the full object (i.e. its version or other key properties that could be used to implement optimistic locking), the only other option that comes to mind is to implement our own mechanism to handle distributed locking for the write operations.

Initial work on moving to the use of transaction functions is under way: will need to make some simplifications to at least some of the validations that are currently carried out as some rely heavily on the current state of in-memory information within the OMRSMetadataCollection itself (i.e. the known type definitions). Serialising all of this into the transaction log for every write operation would likely be very expensive, so is probably better avoided entirely...
Hope to still do as many of the simple validations as possible, and this appears to be feasible including throwing exceptions to have the transaction cancelled; however, those exceptions at the moment are only logged rather than being programmatically accessible -- still working on that last piece to fully validate the approach. (Otherwise Plan B is just to recognise that the transaction was cancelled and throw a more generic RepositoryErrorException suggesting that the logs must be reviewed to see the actual error: not ideal...)
See also the discussion on https://github.com/odpi/egeria/issues/5707

Should be resolved by #243 from an XT perspective; however, worth noting the potential conflict with Egeria core discussed in https://github.com/odpi/egeria/issues/5786 -- since access to the repository is ultimately through a LocalOMRSMetadataCollection the validations done at that level may still cause problems with the consistency of a distributed cluster's behaviour.


Webpack5 File caching cannot be used in production mode with custom compilers

Bug report
I have submitted this question in stackoverflow, but I haven't received any reply。
https://stackoverflow.com/questions/65556873/why-cant-my-webpack5-configuration-use-filesystem-cache-in-production-mode
What is the current behavior?
First, I use a custom compiler like "const compiler = webpack (config)"; compiler.run () ”。
Second, I have successfully upgraded to webpack 5 and have been able to compile successfully in production mode.
Third, I use the persistent caching mechanism of webpack5 in production mode, and configure it according to the following configuration, hoping to integrate it into our CI process.
Fourth, I found that the cache file could not be generated in my directory as expected. There was no difference in the build time between the first build and other builds. It seems that the cache was not successfully used.
Fifthly, I use the development mode, the same webpack configuration, and start the service through webpack dev server. I can generate the cache file as expected, and the other times of construction time is much less than the first time. It seems that the cache is successful.
 cache: {             name:"testCache",             type: 'filesystem',              cacheDirectory: path.resolve(paths.cachePath,'webpackcache'),   },
If the current behavior is a bug, please provide the steps to reproduce.
Because of the problem of office environment, I can't code to GitHub warehouse. All I can offer is a few configuration fragments
What is the expected behavior?
File caching can be used successfully in production mode.
Other relevant information:
webpack version:  5.11.0
Node.js version:  v10.15.3
Operating System:  window 10
Additional tools:

You need run compiler.run() and compiler.close(), example https://github.com/webpack/webpack/blob/master/lib/webpack.js#L125

You need run compiler.run() and compiler.close(), example https://github.com/webpack/webpack/blob/master/lib/webpack.js#L125

You need run compiler.run() and compiler.close() (here compiler starts to store cache), example https://github.com/webpack/webpack/blob/master/lib/webpack.js#L125

Wow, that's cool! It worked. My second build time was reduced by 80%! Thank you very much!

You need run compiler.run() and compiler.close() (here compiler starts to store cache), example https://github.com/webpack/webpack/blob/master/lib/webpack.js#L125

Wow, that's cool! It worked. My second build time was reduced by 80%! Thank you very much!

@alexander-akait I found this doc not very clear regarding when we should use close() or not: https://webpack.js.org/api/node/#webpack
It somehow let us think that close() is only useful for the watch mode, maybe it would be useful to add an example using run() ?

@slorber Yes, feel free to open an issue or send a PR


"Fetch test results" task skips the first file on the list.

https://github.com/zatosource/zato-build/blob/master/ansible/roles/test_quickstart/tasks/test_zato.yml#L70
The task omits completely the first item on the list it is supposed to fetch: check-lb-alive.html file.

If there's a left-over check-lb-alive.html from a previous test and its contents are identical with the contents of the file in a test box, then it's won't be overwritten by the fetched file.


Display dollar amount on Stacks tokens

This is my first attempt at using github for suggestions so i'll keep it short and simple. Currently it's near impossble to add my holdings to my portfolio simply because if i were to do that i'd have to through every single transaction, look at what time it was made then i have to see at what price was the token at that time and then add that to my portfolio and as you can imagine it would take ages. Now my suggestion is to simply add dollar amount displayed on each and every transaction where the dollar amount is displayed at the correct time when the transaction was made. I've given an example of arbiscan showing just that. I've also added the file from ALEXLAB dex where it clearly shows how its impossible to be used for anything useful with regards to calculations. Thank you for reading and i'm open for discussion on the matter.

Thanks for the suggestion. We'll look into it.

@andresgalante I would like to take up this issue.
Since I am new to this repository... Can you please guide me on how do I start tackling this issue? Thanks in advance..

@shamim-io Thank you for looking into this! If you check the postconditions section in a tx, you'll see the STX value displayed (in this example, it's 335 STX). We can display the dollar value beside it using the component StxPriceButton which has the capability of displaying the value now as well as on day of tx. You can find this component in many places e.g. homepage

@He1DAr @andresgalante I have raised a PR. Kindly review it and give feedback. Thanks again!!


Create Pokemon component

Current coverage is 100% (diff: 100%)

No coverage report found for master at 7aca11b.

Powered by Codecov. Last update 7aca11b...91dd2fe


Proposal: make Ambari server port and URL scheme configurable

I wanted to use your ansible playbook(s) to generate and apply a blueprint to an existing ambari installation. Unfortunately the URL scheme (http) and the ambari port (8080) are hardcoded in multiple roles/playbooks. At the moment my companys environment it's not possible to change either the port or scheme.
Rather than manipulating your playbook(s) (and maintaining a "fork" of them in the future) I'd like to submit a PR which makes the port and url scheme configurable. It's likely that there are other pepole around the world which could benefit from this.
If you agree, I'm happy to submit a PR with the changes - please let me know.
Regards, Thomas

Hey, sure, of course you can submit PRs!
About the schema and port there are some reasons why I didn't do it yet:

for the port, if there is a variable defining the port then the playbook should also take care of setting this port to ambari, preferably in the ambari-config role, based on the docs. Doesn't look too difficult, I just didn't have the chance / too low priority.

for the schema, that might be more complicated as I hadn't added SSL support yet, as it's a bigger change. But essentially, if the schema is to be made configurable, I would not make it a variable, but it should be dynamic based on a with SSL / without SSL setting once SSL support is done (I mean, it will either be http or https :P)


fix: silverback build missing files during generate

What I did
Added a check for requirements.txt and ape-config.yaml so silverback build doesn't fail if those files don't exist
fixes: #150
How I did it
Removed the lines pertaining to the requirements.txt and ape-config.yaml files and move them into a conditional within the build command.
How to verify it
python3 -m venv venv
pip install <this pr>
cd /to/a/silverback/directory/project
sivlerback build --generate

Check your dockerfile output in .silverback-images
mv requirements.txt req.txt

or if that file didn't exist

touch requirements.txt

silverback build --generate

Check your dockerfile output in .silverback-images and the requirements.txt lines should no longer be there.
Checklist

[ ] Passes all linting checks (pre-commit and CI jobs)
[ ] New test cases have been added and are passing
[ ] Documentation has been updated
[ ] PR title follows Conventional Commit standard (will be automatically included in the changelog)

btw is there a way to tee the output of the build command so we see it in the output while it's building?

btw is there a way to tee the output of the build command so we see it in the output while it's building?

That subprocess is supposed to do so with the stdout. I'll dig into this

@fubuloubu let me know how you'd like these changes to look. We're now getting a proper output (I was overwriting the PIPE to stderr from stdout before).

Actually @johnson2427, there is a utility function in ape that will hide your home directory path with $HOME, can you use that where it says Generated [....]/.silverback-images/Dockerfile.?


MRIQC IndexError - 'Cannot do a non-empty take from an empty axes'

Running MRIQC (singularity: nipreps/mriqc:22.0.6) and have an error that @effigies described as, "interface is not checking for empty masks before masking."  Out of on the ~15706 session data, this has occurred for 27 subjects. It appears as though this is an issue that has come up in older version, see issue #868. I cleared the working scratch folders and retried on a subject to no avail.
Curious how I may troubleshoot this error.
The MRIQC command:
singularity run --cleanenv \
-B ${data_dir}/bids_dir/sub-${subj_id}_ses-${ses_id}:/bids_dir \
-B ${data_dir}/processed/mriqc_v22_0_6/sub-${subj_id}_ses-${ses_id}:/output_dir \
-B ${data_dir}/work_dir/mriqc_v22_0_6/sub-${subj_id}_ses-${ses_id}:/wd \
${sif_img} \
/bids_dir /output_dir participant \
--ants-nthreads 8 \
--nprocs 12 \
--mem_gb 30 \
-vv \
--verbose-reports \
-w /wd \
-m bold T1w T2w

Error log:
[Node] Error on "mriqc_wf.anatMRIQC.ComputeIQMs.measures" (/wd/mriqc_wf/anatMRIQC/ComputeIQMs/_in_file_..bids_dir..sub-[redacted]..[redacted].ses-[redacted]..anat..sub-[redacted]_ses-[redacted]_T2w.nii.gz/measures)
230128-17:15:57,757 nipype.workflow ERROR:
	 Node measures.a1 failed to run on host cn1071.
230128-17:15:57,760 nipype.workflow ERROR:
	 Saving crash info to /output_dir/logs/crash-20230128-171557-mdemiden-measures.a1-8caeb971-97eb-4c30-80f8-8dede7fa7627.txt
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/mriqc/engine/plugin.py", line 60, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 524, in run
    result = self._run_interface(execute=True)
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 642, in _run_interface
    return self._run_command(execute)
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 750, in _run_command
    raise NodeExecutionError(
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node measures.

Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/nipype/interfaces/base/core.py", line 398, in run
    runtime = self._run_interface(runtime)
  File "/opt/conda/lib/python3.9/site-packages/mriqc/interfaces/anatomical.py", line 164, in _run_interface
    stats = summary_stats(inudata, pvmdata, airdata, erode=erode)
  File "/opt/conda/lib/python3.9/site-packages/mriqc/qc/anatomical.py", line 637, in summary_stats
    "p95": float(np.percentile(img[mask == 1], 95)),
  File "<__array_function__ internals>", line 180, in percentile
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 4134, in percentile
    return _quantile_unchecked(
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 4383, in _quantile_unchecked
    r, k = _ureduce(a,
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 3702, in _ureduce
    r = func(a, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 4552, in _quantile_ureduce_func
    result = _quantile(arr,
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 4658, in _quantile
    take(arr, indices=-1, axis=DATA_AXIS)
  File "<__array_function__ internals>", line 180, in take
  File "/opt/conda/lib/python3.9/site-packages/numpy/core/fromnumeric.py", line 190, in take
    return _wrapfunc(a, 'take', indices, axis=axis, out=out, mode=mode)
  File "/opt/conda/lib/python3.9/site-packages/numpy/core/fromnumeric.py", line 57, in _wrapfunc
    return bound(*args, **kwds)
IndexError: cannot do a non-empty take from an empty axes.

Crash log:
`Node: mriqc_wf.anatMRIQC.ComputeIQMs.measures
Working directory: /wd/mriqc_wf/anatMRIQC/ComputeIQMs/_in_file_..bids_dir..[redacted]..ses-[redacted]..ses-[redacted]..anat..[redacted]_ses-[redacted]_T2w.nii.gz/measures

Node inputs:

air_msk = <undefined>
artifact_msk = <undefined>
head_msk = <undefined>
human = True
in_bias = <undefined>
in_file = <undefined>
in_fwhm = <undefined>
in_noinu = <undefined>
in_pvms = <undefined>
in_segm = <undefined>
in_tpms = <undefined>
mni_tpms = <undefined>
rot_msk = <undefined>

Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/mriqc/engine/plugin.py", line 60, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 524, in run
    result = self._run_interface(execute=True)
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 642, in _run_interface
    return self._run_command(execute)
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 750, in _run_command
    raise NodeExecutionError(
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node measures.

Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/nipype/interfaces/base/core.py", line 398, in run
    runtime = self._run_interface(runtime)
  File "/opt/conda/lib/python3.9/site-packages/mriqc/interfaces/anatomical.py", line 164, in _run_interface
    stats = summary_stats(inudata, pvmdata, airdata, erode=erode)
  File "/opt/conda/lib/python3.9/site-packages/mriqc/qc/anatomical.py", line 637, in summary_stats
    "p95": float(np.percentile(img[mask == 1], 95)),
  File "<__array_function__ internals>", line 180, in percentile
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 4134, in percentile
    return _quantile_unchecked(
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 4383, in _quantile_unchecked
    r, k = _ureduce(a,
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 3702, in _ureduce
    r = func(a, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 4552, in _quantile_ureduce_func
    result = _quantile(arr,
  File "/opt/conda/lib/python3.9/site-packages/numpy/lib/function_base.py", line 4658, in _quantile
    take(arr, indices=-1, axis=DATA_AXIS)
  File "<__array_function__ internals>", line 180, in take
  File "/opt/conda/lib/python3.9/site-packages/numpy/core/fromnumeric.py", line 190, in take
    return _wrapfunc(a, 'take', indices, axis=axis, out=out, mode=mode)
  File "/opt/conda/lib/python3.9/site-packages/numpy/core/fromnumeric.py", line 57, in _wrapfunc
    return bound(*args, **kwds)
IndexError: cannot do a non-empty take from an empty axes.`

The issue here is that this function:
https://github.com/nipreps/mriqc/blob/1ffd4c8d1a20b44ebfea648a7b12bb32a425d4ec/mriqc/qc/anatomical.py#L560-L645
Needs to decide what to do if a label contains no voxels. Should it be dropped, or should the results all be None or nan, or is raising an exception appropriate? If raising an exception is appropriate, all interfaces that call it should check for that exception and decide how to handle this case, as interfaces should not raise exceptions for empty ROIs.

@effigies - Thanks for the follow up, Chris. Do you suggest that the issue is with the final values so updating to something such as?
if not img:
    output = {
        "mean": np.nan,
        "stdv": np.nan,
        "median": np.nan,
        "mad": np.nan,
        "p95": np.nan,
        "p05": np.nan,
        "k": np.nan,
        "n": np.nan,
    }
else:
    output = {
        "mean": float(img[mask == 1].mean()),
        "stdv": float(img[mask == 1].std()),
        "median": float(np.median(img[mask == 1])),
        "mad": float(mad(img[mask == 1])),
        "p95": float(np.percentile(img[mask == 1], 95)),
        "p05": float(np.percentile(img[mask == 1], 5)),
        "k": float(kurtosis(img[mask == 1])),
        "n": nvox,
    }

I had a very quick look through earlier, but looking at it again, it seems a solution is already there for one ROI, we just need to make it accessible to other ROIs:
https://github.com/nipreps/mriqc/blob/1ffd4c8d1a20b44ebfea648a7b12bb32a425d4ec/mriqc/qc/anatomical.py#L621-L632
Why not just:
-            if k == "bg":
-                output["bg"] = {
+            if k == "bg" or nvox == 0:
+                output[k] = {

@effigies That makes more sense! Incorrectly misread the no voxels as empty img 🤦♂


Duplicate, submitted URL not selected as canonical

Type: major
Describe the bug
Example Storefront has an SEO issue whereby product pages are reporting the wrong canonical URL.
To Reproduce
Steps to reproduce the behavior:

Open a product page.
Inspect the source.
Locate the canonical meta.
Observe canonical URL points at homepage.

Expected behavior
Each product should have its own canonical URL.
Screenshots

Additional context
Issue observed in 3.1.0. I suggest patching once confirmed and resolved with a 3.1.1 release.

This appears to be a duplicate of #426 which has been open since 2018. The other issue is marked as a minor issue but I disagree as the impact is SEO related and, as we can see below, causing pages to not get indexed by google.

Please consider updating the severity of the other issue and then closing as duplicate.

Found some additional info on the error message listed in the issue title:
https://support.google.com/webmasters/answer/7440203#indexed_not_submitted_in_sitemap

What I understand based on reading that text blob as that pages are being indexed by crawlers—in this case Google—but that the crawler will need to select its own canonical URL for proper indexing due to #426. I'm going to close this out as it no longer seems like a major (but a minor as in the duplicate) and, therefore, no additional action are being requested.


SOLIDPOD: Resolve all use_build_context_synchronously lint warnings

Rework all these to remove the build context issues in the code
   info • Don't use 'BuildContext's across async gaps • lib/src/screens/initial_setup/initial_setup_screen_body.dart:228:23 •
          use_build_context_synchronously
   info • Don't use 'BuildContext's across async gaps • lib/src/screens/initial_setup/widgets/res_create_form_submission.dart:257:11 •
          use_build_context_synchronously
   info • Don't use 'BuildContext's across async gaps • lib/src/solid/pod_service.dart:54:7 • use_build_context_synchronously

and
lib/src/solid/authenticate.dart:68:    // ignore: use_build_context_synchronously
lib/src/screens/initial_setup/widgets/res_create_form_submission.dart:149:          // ignore: use_build_context_synchronously
lib/src/screens/initial_setup/widgets/res_create_form_submission.dart:255:        // ignore: use_build_context_synchronously
lib/src/screens/initial_setup/initial_setup_screen_body.dart:226:                    // ignore: use_build_context_synchronously

fixed

Fixed or ignored?

merged , can be closed


[4.2] Bug 1757565: Add service/externalips with network.openshift.io group as escalating

This is used in admitting Services with external IPs that reach
outside the allowed IP range.

Apparently the feature got backported but the SDN team forgot to backport this fix also.

/close
4.2 is going to be EOL soon, better leave this


Null safety

Hi !
I like this package and was wondering if there's plans for supporting null safety. I can also start a PR if you'd like.
Thanks

Yes you can start, Let me know how I can help

Yes you can start, Let me know how I can help

The migration tool is gets this project most of the way there from ~120 to ~6 errors. However, there are design choices to be made which is easier to do in the migration tool itself:
https://dart.dev/null-safety/migration-guide

Oh! My apologies as well. Meant to do this but must've forgot I said this and got distracted with other packages. If anyone would like to take this over, please feel free to

I made a working PR if anyone needs an immediate workaround. But someone with more time should probably take a stab at it.


Undo/Redo does not select affected cells

When you undo/redo an action it should select that cell.
Probably anytime a value is set on a cell it should also select that cell.

setValue now selects the affected cell.


Orient 3.1.0 - protocol versions

pip install pyorient

import pyorient
client = pyorient.OrientDB("localhost", 2424)
client.db_exists( 'demodb', pyorient.STORAGE_TYPE_MEMORY )

The error - "PyOrientWrongProtocolVersionException: Protocol version 38 is not supported yet by this client."

This hopefully will be fixed in august/september. Stay tuned ;)

you can follow the instructions  from https://medium.com/@smelomedina05/establish-a-connection-between-orientdb-container-and-python-flask-3080b092196f and  after  the line in database_config.py
client = OrientDB(socket)
get the session_id
session_id = client.connect("root", "password")
it works for me

Is there any progress yet?

Is there any progress yet?

Works for me in 3.1.x branch - have you tried installing from the git repo?

Works for me in 3.1.x branch - have you tried installing from the git repo?

pyorident doesn't with 3.x version of the database, it only supports 2.x version, I just tested with orientdb 2.2 version and it works.

There are community attempts to patch this library to work with OrientDB 3.x, but there hasn't been much progress. If you comment out the version check, everything working with OrientDB 3.0, but using version 3.1+ will cause a decoding error.


fix(table-settings): Minor fixes according to UX

Summary

After discussion with UX Table settings needs some missing UI like typo., shadow to freezzed column etc

ADO Story
https://dev.azure.com/Kyndryl/Shidoka - Bridge Design System/_workitems/edit/1738028

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Statistics not reset on next model

Describe the bug
When downloading from multiple models, the statistics (count of downloaded files) don't reset when the model has nothing to download.
To Reproduce
Download from multiple models.
Model 1 has 2 videos -> count shows 2 videos 0 photos
Model 2 has nothing new -> count also shows 2 videos 0 photos
Model 3 has 3 photos -> count shows 0 videos 3 photos
...
Expected behavior
The count should get reset on every model like before
Screenshots/Logs
[final_log.final_log:42]  [wandldoelltorky][Action Download] (0 bytes) (0 downloads total [0 videos, 0     final_log.py:42
audios, 0 photos], 0 skipped, 0 failed))
[final_log.final_log:42]  []                                                                               final_log.py:42
[final_log.final_log:42]  [welcome.to.jezebels][Action Download] (16.88 MB) (2 downloads total [1 videos,  final_log.py:42
0 audios, 1 photos], 0 skipped, 0 failed))
[final_log.final_log:42]  []                                                                               final_log.py:42
[final_log.final_log:42]  [wetnesday][Action Download] (16.88 MB) (2 downloads total [1 videos, 0 audios,  final_log.py:42
1 photos], 0 skipped, 0 failed))
[final_log.final_log:42]  []                                                                               final_log.py:42
[final_log.final_log:42]  [xisabellaabrown][Action Download] (16.88 MB) (2 downloads total [1 videos, 0    final_log.py:42
audios, 1 photos], 0 skipped, 0 failed))
[final_log.final_log:43]                                                                                final_log.py:43
In this case only "welcome.to.jezebels" had 1 video & 1 photo
Config
ofscraper --config ./config --username ALL --posts all --action download
System Info

OS: Debian Linux 12.6
Browser none
Version 3.11.6
python-version installed with pipx

I'm having a hard time see this
can you show a full  log file?

This is still happening in 3.12.4. Redacted log here.  You can see that profile1 had just a single file to download. Then, on profile1 through profile6, there was nothing new to download, so it repeated the exact same values (counts and sizes) for those profiles until it came to profile7 which had something new to download. Then it repeats those same values again for profile8 through profile13. You can see it happening again at profile14 and again at profile16.
It's not that it can't display a zero value, though. If the first profile has zero new things to download, it will say that. It just won't put a zero after anything else. Here is an example from yesterday showing that:
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile1][Action Download] (0 bytes) (0 downloads total [0 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile2][Action Download] (0 bytes) (0 downloads total [0 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile3][Action Download] (0 bytes) (0 downloads total [0 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile4][Action Download] (0 bytes) (0 downloads total [0 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile5][Action Download] (0 bytes) (0 downloads total [0 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile6][Action Download] (3.99 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile7][Action Download] (3.99 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile8][Action Download] (3.99 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile9][Action Download] (3.99 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile10][Action Download] (402.25 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile11][Action Download] (402.25 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile12][Action Download] (402.25 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile13][Action Download] (402.25 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile14][Action Download] (456.75 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile15][Action Download] (36.22 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile16][Action Download] (36.22 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile17][Action Download] (36.22 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile18][Action Download] (36.22 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile19][Action Download] (1.93 MB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile20][Action Download] (1.93 MB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-08 06:08:17:[final_log.final_log:42]  [profile21][Action Download] (1.93 MB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))

Okay  I will take a look again

Having the same problem, says the stats are the same as the user you scrape the first time and then if you choose another user it will say the scrape was finished with the exact same amount of stats as the other user beforehand and just skip the content.

I saw commit bd8502b referring to this issue, so I pulled the 3.12.5 docker image and did another run a few minutes ago. Looks like it's still happening:
 2024-09-10 15:58:45:[final_log.final_log:29]  Final Results Logs
 2024-09-10 15:58:45:[final_log.final_log:42]  Normal Mode Results
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile1][Action Download] (0 bytes) (0 downloads total [0 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile2][Action Download] (0 bytes) (0 downloads total [0 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile3][Action Download] (0 bytes) (0 downloads total [0 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile4][Action Download] (0 bytes) (0 downloads total [0 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile5][Action Download] (259.63 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile6][Action Download] (259.63 KB) (1 downloads total [0 videos, 0 audios, 1 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile7][Action Download] (38.81 MB) (4 downloads total [2 videos, 0 audios, 2 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile8][Action Download] (291.23 KB) (2 downloads total [0 videos, 0 audios, 2 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile9][Action Download] (291.23 KB) (2 downloads total [0 videos, 0 audios, 2 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile10][Action Download] (291.23 KB) (2 downloads total [0 videos, 0 audios, 2 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile11][Action Download] (291.23 KB) (2 downloads total [0 videos, 0 audios, 2 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile12][Action Download] (291.23 KB) (2 downloads total [0 videos, 0 audios, 2 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile13][Action Download] (14.71 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile14][Action Download] (14.71 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile15][Action Download] (14.71 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile16][Action Download] (14.71 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile17][Action Download] (14.71 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile18][Action Download] (14.71 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile19][Action Download] (14.71 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile20][Action Download] (14.71 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))
 2024-09-10 15:58:45:[final_log.final_log:42]  [profile21][Action Download] (14.71 MB) (1 downloads total [1 videos, 0 audios, 0 photos], 0 skipped, 0 failed))

Can you try with 3.12.7

Yeah, I meant to post earlier. Looks like it's fixed in 3.12.7.


if there are no validation steps always return false to the validate step

@rgardler,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Add regex toggle for files to include/exclude in file search/replace

Currently the file search has two fields, files to include and files to exclude, which only allows you to include/exclude files through a glob pattern. The pattern you search for can be toggle between literal and regex.
I think it would be really nice if you can toggle the inclusion/exclusion filters between glob and regex as well. Often the files I want to search are much easier to quickly describe using a regex than a glob.

This would be a big refactor, as most file-matching logic within vscode uses globs. To keep things consistent, I'd like to keep things to only use globs.


"UNKNOWN" type hint is invalid

In the auto-generated EwsReplyBody class from Office 365 Exchange Web Service WSDL, the lang property is defined as UNKNOWN which is invalid. Here is and extract of the generated code :
    /**
     * The Message
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $Message;
    /**
     * The lang
     * Meta informations extracted from the WSDL
     * - ref: xml:lang
     * - use: optional
     * @var UNKNOWN
     */
    public $lang;
    /**
     * Constructor method for ReplyBody
     * @uses EwsReplyBody::setMessage()
     * @uses EwsReplyBody::setLang()
     * @param string $message
     * @param UNKNOWN $lang
     */
    public function __construct($message = null, UNKNOWN $lang = null)
    {
        $this
            ->setMessage($message)
            ->setLang($lang);
    }

As the property is wrongly declared as
<xs:attribute ref="xml:lang" use="optional" />

this property should be typed hint as a string

fixed in 2.6.0 and 1.11.0


Crash when tick to row folder no content image (Image = 0)

hey @chiunam
when i'm tick to folder no content image  in Ip6+ ios 8.0.2 => crash app
i'm debugging , discovered crash in method "- (void)setupViews" in CTAssetsPickerNoAssetsView
Please help me

@ishrek,
I don't have iOS 8.0. I have test in the simulator with iOS 8.1 and found no issue. Would you please provide more details?


Add Playlist name to the result

It contains the previous PR (because I already merge it to the master)
So if ever will merge it, merge the older (#7) before this.

Thank you @moshfeu


Have neon-cli wrap kubectl and Helm commands

We need a way to ensure that the user is using the correct kubectl and helm tool versions.  This can be a problem when multiple copies of one or more of these tools are installed on a workstation.  This can happen for example when Docker is also installed because that installs kubectl as well.  The problem is that users may execute an out-of-date version of the tool depending on how the PATH environment variable is configured.  This can result in non-obvious problems.
We will be installing the kubectl and helm tools in neonDESKTOP setup to our program files folder and it would be nice if there was a way to ensure that the correct versions of these tools will always be executed by the user.  One way to accomplish this would be to modify neon-cli to implement kubectl and helm commands by spawning the installed versions of these tools, just passing any arguments though.  For example:
neon --help
neon version
neon get pods
neon apply -f manifest.yaml
neon config set-context --current --namespace=default

The idea is that we'd let simply launch kubectl passing any arguments without modification.
For Helm support, we'd add a helm command that would spawn the installed helm.exe, passing any arguments through unchanged.  For example:
neon helm --help
neon helm install -f myvalues.yaml myredis ./redis

The problem is that neon-cli tool currently implements the other commands:
neon help               COMMAND
neon cluster prepare    [CLUSTER-DEF]
neon cluster remove     [LOGIN-PATH]
neon cluster setup      [CLUSTER-DEF]
neon cluster start      USER@CLUSTER[/NAMESPACE]
neon cluster stop       USER@CLUSTER[/NAMESPACE] [--turnoff]
neon cluster remove     USER@CLUSTER[/NAMESPACE]
neon cluster verify     [CLUSTER-DEF]
neon generate iso       SOURCE-FOLDER ISO-PATH
neon login              COMMAND
neon logout
neon password           COMMAND
neon run                -- COMMAND
neon vault              COMMAND
neon version            [-n] [--git] [--minimum=VERSION]

and we'll need to figure out what to do with these.  We could create another tool where these are hosted but that seems messy.  Other Kubernetes distributions merge their custom commands along with the kubectl commands into the same tool and this seems fairly clean.
We could put our custom commands under a sub-command like:
neon custom cluster prepare ...

but this seems clunky.  It would be nice if commands like neon cluster prepare ... could be executed without any extra junk commands.  One solution would be to ensure that our custom commands don't conflict with any kubectl commands and then we'd simply spawn kubectl when the top-level command doesn't match one of our custom commands.  This is somewhat fragile though because it could be possible that a future kubectl release adds a command that conflicts with one of ours.  This is probably a risk worth taking.
Here's are the tasks and issues to be resolved:

[x] Modify neon-cli to spawn the correct version of kubectl for non-custom commands.  This will need to work when:

[x] neon-cli has been installed via setup
[x] neon-cli is running in the debugger or neon developers need who want to run the client without a proper installation.  We can install helm and kubectl in the ~.neonkube\tools directory to handle this

[x] Command changes:

[x] The --help option should no longer be parsed by us, for kubectl and helm commands; it should be passed through to kubectl
[x] We could also append additional help at the root command for helm and our custom commands
[x] These custom commands will remain at the top-level:

[x] neon cluster ...
[x] neon login ...
[x] neon logout

[x] These commands will be relocated under the tool command:

[x] neon tool password
[x] neon tool help
[x] neon tool run
[x] neon tool vault
[x] neon tool version
[x] add neon tool command that prints help

[x] Implement the kubectl pass-thru command
[x] Implement the helm pass-thru command

[x] Modify neonDESKTOP setup
[x] Add a standalone neon-cli setup

This may also be a good time to change how cluster logins are modeled.  We currently add our cluster contexts to the standard ~/.kube/config file and then persist additional cluster metadata in the ~/.neonkube/logins folder.  This isn't ideal because it means that the global config may include cluster contexts for neonKUBE clusters as well as other clusters which may be somewhat messy and risky and also will require tools like neonDESKTOP and perhaps neon-cli to add additional code to filter out non-neonKUBE clusters.

[x] An alternative may be to save our contexts as separate files in ~/.neonkube/logins and then set the KUBECONFIG environment variable to the current context before spawning a kubectl or helm command.  The downside of doing this is that the standard kubectl config set-context ...  command wouldn't work.
One nice thing about this approach is that it would be easy to share logins.
JEFF UPDATE: It's going to be easier and cleaner to stay with our current approach where we have a central kubeconfig and multiple login files.

[x] Issue: do our login/logout/login rm commands still make sense?  Wouldn't it be nicer if the standard kubectl commands would just work?
JEFF UPDATE: We're still going to need these to ensure that our login files get deleted (see the next point)

[x] One of the reasons we needed the separate cluster login files is that it didn't seem like we could add this metadata to a standard kubeconfig context.  We should have another look at this because its been 2 years ago and we were Kubernetes noobies back then.
JEFF UPDATE: There still doesn't appear to be a way to persist arbitrary cluster metadata into ~/.kube/config

DONE


False crashes reported by the analysis server

The method PluginManager.recordPluginFailure is currently reporting a server "crash" when the URI for a plugin can't be resolved to a file path or when the file path points to something other than the root of a plugin package.
While both of these problems impact the user, neither one causes the server to crash, so they shouldn't be reported as such.
I suspect that the best course of action at this point is to just stop reporting these as crashes, silently ignoring them.

Fixed by https://dart-review.git.corp.google.com/c/sdk/+/357212.


Todo Beryllium: Implement the object OWD tab

Todo Beryllium: Implement the object OWD tab

Current application is showing the following:


the version of Node

I want to know the version of Node.js I am using. Currently, I am using version 20, but there are some errors.

Can you let me know which errors you are seeing and I can try and replicate that on my end :)
Thanks!


Nested function arguments support trailing member access/call

Fixes #869 by re-allowing trailing member/call in properly nested arguments (where it's no longer ambiguous whether the trailing applies to the argument or the function result).
A breaking change is that this parse changes:
f
  a
  .b

Previous transpilation:
f(
  a,
  $ => $.b)

New transpilation:
f(
  a
  .b)

I'm not totally sure which is more intuitive; this is a fundamental ambiguity we've had for a while. But perhaps a good analogy is this:
=>
  a
  .b

This returns a.b, not $ => $.b. This PR matches that behavior in arguments too.
An alternative would be to do different things depending on whether .b is indented the same or further than a. This would be harder to implement, though, and I guess inconsistent with our not-in-arguments behavior.

It may be worth bumping the minor version number for this PR, because the Civet code itself had an example where the change mattered:
    { ancestor, child } := findAncestor
      value
      .type is "Declaration"
      isFunction

I wrote this code, and intended to have three arguments. I don't mind adding a & here, but probably also good to signal to users that you might need to update your code...
    { ancestor, child } := findAncestor
      value
      &.type is "Declaration"
      isFunction

Would it be feasible to only do this if it's more indented? i.e.
f
  a
  .b
// vvv
f(a, $ => $.b)

f
  a
    .b
// vvv
f(a.b)

?

@bbrk24 That's exactly my "alternative" at the end of the original post. It did come to mind, in particular because the example in #869 was strictly intended. The downside is that this would be harder to implement, and inconsistent with our not-in-arguments behavior... But if we think it's worth doing, we can.


feat(plugins): adding server documentation for plugins

This pull request addresses documentation of plugin creation and installation and finalises necessary changes for plugin installation.

Could you please merge main into your branch to have the docs preview feature for this PR?


Don't write to platform spec to allow upgrades

Without this, upgrades to newer versions are not possible, as we used to encode even defaults in the platform specs, but defaults change in every new version (e.g. for instance the default Camel version).
I've moved the full platform config in a fullConfig field in the status, to allow it to be inspected and at the same time to allow the users to set their preference only on what matters for them.
A typical platform on Minikube now looks like:
apiVersion: camel.apache.org/v1alpha1
kind: IntegrationPlatform
metadata:
  creationTimestamp: "2019-12-09T13:56:32Z"
  generation: 1
  labels:
    app: camel-k
  name: camel-k
  namespace: default
  resourceVersion: "562760"
  selfLink: /apis/camel.apache.org/v1alpha1/namespaces/default/integrationplatforms/camel-k
  uid: b4b273c5-1a8b-11ea-8c9d-5cdf4ec533fd
spec:
  build:
    maven:
      settings: {}
    registry:
      address: <IP_ADDRESS>
      insecure: true
  resources: {}
status:
  fullConfig:
    build:
      baseImage: fabric8/s2i-java:3.0-java8
      buildStrategy: pod
      camelVersion: '>=3.0.0-RC3'
      kanikoBuildCache: true
      maven:
        localRepository: /tmp/artifacts/m2
        settings:
          configMapKeyRef:
            key: settings.xml
            name: camel-k-maven-settings
        timeout: 3m45s
      persistentVolumeClaim: camel-k
      publishStrategy: Kaniko
      registry:
        address: <IP_ADDRESS>
        insecure: true
      runtimeVersion: '>=1.0.7'
      timeout: 5m0s
    cluster: Kubernetes
    profile: Knative
  phase: Warming
  version: 1.0.0-M5-SNAPSHOT

Note that only the relevant information (registry address and kind) are present in spec, all other values are computed in the status.
The fullConfig is kept in sync by the platform controller.

Release Note
IntegrationPlatform specification does no longer contain default values in order to ease upgrades

@nicolaferraro, just thinking out loud, would using the kubectl.kubernetes.io/last-applied-configuration annotation or something equivalent be a way to transport user defined configuration, e.g., when creating the platform with the apply sub-command:
apiVersion: camel.apache.org/v1alpha1
kind: IntegrationPlatform
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"camel.apache.org/v1alpha1","kind":"IntegrationPlatform","metadata":{"annotations":{},"labels":{"app":"camel-k"},"name":"camel-k","namespace":"camel-k"}}

Yeah, I've thought to the last-applied-config as well, but semantically in Kube it serves to a different purpose. Having it as an annotation also make it difficult to understand the content when you inspect it.
It's also difficult, in case one changes with k edit integrationplatform some fields in the spec, when you get to reconcile it, to tell if a value in spec was set by the user or by our initialization code.
I think we've done a similar thing to this PR also in Integration (e.g. you see many fields, like dependencies in both status and spec). Instead of having a fullConfig field, which seems odd, I was thinking to move the fields one level up. So that we have e.g. spec->build->baseImage and status->build->baseImage which seems close to what we've already done in integration and feels more natural.

I think we've done a similar thing to this PR also in Integration (e.g. you see many fields, like dependencies in both status and spec). Instead of having a fullConfig field, which seems odd, I was thinking to move the fields one level up. So that we have e.g. spec->build->baseImage and status->build->baseImage which seems close to what we've already done in integration and feels more natural.

Totally agree with this.

Looks much nicer now:
apiVersion: camel.apache.org/v1alpha1
kind: IntegrationPlatform
metadata:
  creationTimestamp: "2019-12-10T10:24:47Z"
  generation: 1
  labels:
    app: camel-k
  name: camel-k
  namespace: default
  resourceVersion: "655195"
  selfLink: /apis/camel.apache.org/v1alpha1/namespaces/default/integrationplatforms/camel-k
  uid: 4a4e7727-1b37-11ea-8c9d-5cdf4ec533fd
spec:
  build:
    maven:
      settings: {}
    registry:
      address: <IP_ADDRESS>
      insecure: true
  resources: {}
status:
  build:
    baseImage: fabric8/s2i-java:3.0-java8
    buildStrategy: pod
    camelVersion: '>=3.0.0-RC3'
    kanikoBuildCache: true
    maven:
      localRepository: /tmp/artifacts/m2
      settings:
        configMapKeyRef:
          key: settings.xml
          name: camel-k-maven-settings
      timeout: 3m45s
    persistentVolumeClaim: camel-k
    publishStrategy: Kaniko
    registry:
      address: <IP_ADDRESS>
      insecure: true
    runtimeVersion: '>=1.0.7'
    timeout: 5m0s
  cluster: Kubernetes
  phase: Warming
  profile: Knative
  version: 1.0.0-M5-SNAPSHOT

LGTM!


[Impeller][regression] image.toByteData fails to convert raster image to PNG.

Steps to reproduce
Run full sample code below.
Basically, when trying to take a widget screenshot with usual snippet, the image.toByteData fails. Issue occurs on iOS Impeller. No issue on iOS skia and on android. It is a regression coz we use this code inside our app and it has always worked since lately.
   final boundary = screenshotKey.currentContext?.findRenderObject() as RenderRepaintBoundary;
   var image = await boundary.toImage(pixelRatio: 3);
   var byteData = await image.toByteData(format: ImageByteFormat.png);

Expected results
No error.
Actual results
[ERROR:flutter/lib/ui/painting/image_encoding.cc(215)] Could not convert raster image to PNG.
Code sample
Code sample
import 'dart:typed_data';
import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  @override
  void initState() {
  super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      showPerformanceOverlay: true,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),

    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key}) : super(key: key);
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> with TickerProviderStateMixin {
  final screenshotKey = GlobalKey();

  Future<Uint8List> takeScreenshot({
    int width = 350,
    int height = 350
  }) async {
    // Wait a bit so the tree is mounted
    await Future.delayed(const Duration(milliseconds: 20), () {});
    final boundary = screenshotKey.currentContext?.findRenderObject() as RenderRepaintBoundary;
    var image = await boundary.toImage(pixelRatio: 3);
    print('DBUG: image.toByteData fails on iOS');
    var byteData = await image.toByteData(format: ImageByteFormat.png);
    print('DBUG: This log is never printed on iOS');
    Uint8List pngBytes = byteData!.buffer.asUint8List();
    return pngBytes;
  }

  @override
  Widget build(BuildContext context) {
    takeScreenshot();
    return MaterialApp(
      title: 'Impeller Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Impeller Demo'),
        ),
        body: Center(
            child: RepaintBoundary(
              key: screenshotKey,
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  Expanded(
                      child: Container(
                          color: Colors.black45
                    )
                 ),
              ],
            ),
          ),
        )
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel master, 3.22.0-42.0.pre.6, on macOS 14.2.1 23C71 darwin-arm64, locale en-IT)
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)

@darshankawar I can't say. It might have been passed a few months since last time we checked that code, coz it belong to just one screen of our app. But we know for sure that we tested it on master and was working time ago.
Is there any other code to achieve the same result that we can use as a temporary workaround?

Thanks for the update, but I can't seem to replicate the reported error you mentioned, so I am not clear as what exactly is the workaround you are looking for. I also see blank screen upon running the code. Can you provide us a screenshot of what it rendered on screen when the code worked as compared to latest behavior ?

@darshankawar this is the log you should see when no bug.
print('DBUG: This log is never printed on iOS');
The first print is just to explain what is the line that causes the bug.
So basically we have 2 logs, one before and one after
var byteData = await image.toByteData(format: ImageByteFormat.png);
If second log is not printed, it means that image.toByteData fails.
Here is a new sample  code which uses only one log, if log doesn't print it means image.toByteData fails.
It works on iOS Skia and android, it fails on iOS Impeller.
import 'dart:typed_data';
import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  @override
  void initState() {
  super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      showPerformanceOverlay: true,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),

    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key}) : super(key: key);
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> with TickerProviderStateMixin {
  final screenshotKey = GlobalKey();

  Future<Uint8List> takeScreenshot({
    int width = 350,
    int height = 350
  }) async {
    // Wait a bit so the tree is mounted
    await Future.delayed(const Duration(milliseconds: 20), () {});
    final boundary = screenshotKey.currentContext?.findRenderObject() as RenderRepaintBoundary;
    var image = await boundary.toImage(pixelRatio: 3);
    // NOTE: image.toByteData fails on iOS Impeller and works on iOS skia and android.
    var byteData = await image.toByteData(format: ImageByteFormat.png);
    print('DBUG: This log is never printed on iOS');
    Uint8List pngBytes = byteData!.buffer.asUint8List();
    return pngBytes;
  }

  @override
  Widget build(BuildContext context) {
    takeScreenshot();
    return MaterialApp(
      title: 'Impeller Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Impeller Demo'),
        ),
        body: Center(
            child: RepaintBoundary(
              key: screenshotKey,
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  Expanded(
                      child: Container(
                          color: Colors.black45
                    )
                 ),
              ],
            ),
          ),
        )
      ),
    );
  }
}

Thanks for the details. I tried the same using latest stable 3.22.1 with and without Impeller and I get following for both:
3.22.1 : impeller : flutter: DBUG: This log is never printed on iOS

3.22.1 : skia : 2024-05-24 11:14:20.795744+0530 Runner[2620:67385] flutter: DBUG: This log is never printed on iOS

If I understand your description correctly, since the log is printing, indicating the image.toByteData is working ?

Yes. So we are correct saying this is a regression.  I can't say when Impeller stopped to work on this.

did you find any way to resolve this  i want to take screenshot of image in png format
DrawableRoot svgDrawableRoot =
await svg.fromSvgString(feed.svgContent!, 'key');
// Parse the SVG file as XML
XmlDocument document = XmlDocument.parse(feed.svgContent!);
    // Getting size of SVG
    final svgElement = document.findElements('svg').first;
    final svgWidth = double.parse(svgElement.getAttribute('width')!);
    final svgHeight = double.parse(svgElement.getAttribute('height')!);
    // toPicture() and toImage() don't seem to be pixel ratio aware, so we calculate the actual sizes here
    double devicePixelRatio = MediaQuery.of(Get.context!).devicePixelRatio;

    double width = svgHeight * devicePixelRatio;
    double height = svgWidth * devicePixelRatio;

    // Convert to ui.Picture
    final picture = svgDrawableRoot.toPicture(size: Size(width, height));

    // Convert to ui.Image. toImage() takes width and height as parameters
    // you need to find the best size to suit your needs and take into account the screen DPI
    final image = await picture.toImage(width.toInt(), height.toInt());
    ByteData? bytes = await image.toByteData(format: ImageByteFormat.png);
    this is my code if you guys have any idea plz suggest it is not working on ios getting error

    ###  **Could not convert raster image to PNG.**

@karanSman nope, but it is a regression. It works on stable 3.22.1, issue occurs on master only.
@darshankawar can we have someone look at it? We cannot use latest stable at moment. A fix might not require much time.

it is causing issues to svg also my svgs are not rendered completely some elements are not visible,..
previously it was working..

@darshankawar I confirm we have no issue on channel stable. Just tried. It is a regression on channel master, Impeller iOS only.

@delfme Thanks for the update and your patience while we try to figure this out.
On latest master with and without Impeller, I get below which seems to be same log:
master : impeller : 2024-05-27 11:20:39.843232+0530 Runner[4197:48600] flutter: DBUG: This log is never printed on iOS Impeller master channel, which means image.toByteData failure

master : w/o impeller :

2024-05-27 11:21:33.986829+0530 Runner[4456:50583] flutter: DBUG: This log is never printed on iOS Impeller master channel, which means image.toByteData failure

I ran this on Channel master, 3.23.0-8.0.pre.8

@darshankawar I tested again today and bug is still there on master 3.23.0-9.0.pre.3
Flutter (Channel master, 3.23.0-9.0.pre.3)
flutter: DBUG: image.toByteData fails on iOS
[ERROR:flutter/lib/ui/painting/image_encoding.cc(215)] Could not convert raster image to PNG.

Tested on iphone 13 pro  iOS 17.4.1

[ERROR:flutter/lib/ui/painting/image_encoding.cc(215)] Could not convert raster image to PNG.

I do not get this error upon running in iOS 15.3 simulator with latest master. I get below:
2024-05-29 12:00:58.457589+0530 Runner[6010:51491] flutter: DBUG: This log is never printed on iOS Impeller master channel, which means image.toByteData failure
Based on the report, I'll keep the issue open for team's input / tracking.

Tested on iphone 13 pro iOS 17.4.1 on real device. Dont know if it works on emulator or older ios versions.

I still got this on Flutter 3.23.0-12.0.pre on iOS 14 Pro real device (17.4.1)

@gaaclarke we seem to be missing encoding logic for the BGRX format. I thought you wired that up in Skia?

@gaaclarke we seem to be missing encoding logic for the BGRX format. I thought you wired that up in Skia?

I did, it happened as part of https://github.com/flutter/flutter/issues/145933.  The Skia CL is at https://skia-review.googlesource.com/c/skia/+/836617.  The integration test that was blocked by that CL is at https://github.com/flutter/flutter/pull/126715/files
We'll have to run it through the debugger but it might be running through a different skia path than the one we tested.

in src/encode/SkPngEncoderImpl.cpp, it looks like the format returns nullptr from the encoder?

Ahh yea, PNG being a different flow rings a bell.  With BGR10_XR I had to come back and do PNG support in a different PR too: https://github.com/google/skia/commit/b9d709e63e7fcd837f694299c9fd05ed5f747f58

The fix is coming, in the meantime the workaround is to remove wide gamut from the image before encoding it to a PNG.  It's outlined here: https://github.com/flutter/flutter/issues/133942#issuecomment-1708894579

Great, I encountered this problem a few days ago, waiting for a fix

I encountered this issue too, today

https://github.com/flutter/flutter/issues/149946 What is causing this error？

RenderRepaintBoundary? boundary = globalKey.currentContext?.findRenderObject() as RenderRepaintBoundary;
ui.Image image = await boundary.toImage(pixelRatio: 2);
ByteData? byteData = await image.toByteData(format: ui.ImageByteFormat.png);
The generated image still has issues.

Flutter (Channel master, 3.23.0-13.0.pre.189, on macOS 14.4 23E214 darwin-arm64 (Rosetta), locale zh-Hans-CN)
• Flutter version 3.23.0-13.0.pre.189 on channel master at /Users/zhangliucheng/Documents/software/flutter-stable-arm64
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 14df7be3f9 (15 hours ago), 2024-06-11 11:14:54 -0400
• Engine revision 1cdbebee19
• Dart version 3.5.0 (build 3.5.0-236.0.dev)
• DevTools version 2.36.0
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn


Improve CI

you should add a dependabot/renovatebot to your GitHub actions
golangci-lint should be part of the test to ensure the context quality of code.

I can help you of course

Hi
dependabot - yes I should have been adding it. If you can add it quickly that is cool too, will appreciate it. I got little busy today with the #24
Step 0) golanglint-ci - oops. I added that from my previous project which had a lot of lint errors, so instead of failing I started counting the progress. Actually there are no errors on this repo - so I should update the following to fail on errors.
ASIS
      - name: Lint Errors
        uses: kevincobain2000/action-coveritup@v2
        with:
          type: go-lint-errors
          command: golangci-lint run ./... | grep  -c "\^"

TOBE
      - name: Lint Errors
        run: golangci-lint run ./...

https://github.com/kevincobain2000/gol/blob/22fa4a95cf84557767a236691e634b3fc4e9c2c3/.github/workflows/coveritup.yml#L65
Step 1) And finally update the README to remove the badges and graphs.

golanglint-ci fix is here: https://github.com/kevincobain2000/gol/pull/24/commits/6e9e34dbaa4b5eb0d7ee8e392bcc6673a96bee51

I will add a dependabot not then.
I can also help by adding more linters to golangci-lint


Spotter: categories are not displayed according to their priorities

Classes has priority 10, Packages has priority 20.

Works now (preview is still broken)


Get Ordinal Suffix of Number

JS Code Snippet to get the ordinal suffix of a given number (int or string).
Returns the provided value wtih concatenated ordinal.
I made it as small as I thought I could to make it easier to read and simply use includes to find pattern matches.

@Kyokou Thanks for catching that! It evaded my attention.


If building the worker fails, show the error message to the user

If building the worker fails, show the error message to the user

This has been added as of d607436


Add scoping to docs.

Just to clarify the usage scope of 'AreaWeighted'.
Existing notes are a bit wrong, it looks like they were copied from Linear/Nearest, which work in a different way and are not specific to X/Y dimensions.

i agree, thanks @pp-mo


Delete Unused Attachments with Note work wrong

When I delete a note with a image that also in other note, it would delete image, it is a bug. my obsidian is 1.5.8.

Fixed in https://github.com/dy-sh/obsidian-consistent-attachments-and-links/releases/tag/2.0.0


feat: add consumption api

needs https://github.com/pyenphase/pyenphase/pull/16

[ ] D7.3.130 (91f206) <IP_ADDRESS> (89 nem plus) - not part of this PR

Codecov Report
Patch coverage has no change and project coverage change: -0.02% :warning:

Comparison is base (ce022aa) 0.39% compared to head (46c462f) 0.37%.
Report is 1 commits behind head on main.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff            @@
##            main     #17      +/-   ##
========================================
- Coverage   0.39%   0.37%   -0.02%
========================================
  Files         13      13
  Lines        506     529      +23
  Branches     111     119       +8
========================================
  Hits           2       2
- Misses       504     527      +23

Files Changed
Coverage Δ

src/pyenphase/envoy.py
0.00% <0.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I'll start working on the ha integration migration tomorrow and do any followup changes if the data fluxes in any way


Streaming audio not working

loading a stream audio doesn't works, the function to load a stream fails to return any value
public static SoundEffectInstance InitializeStream(string path, bool loopedSound, AudioType type){
return streams[name].sfx;    <- this always returns null
Tested with ogg, xnb and wav.

Huh, that's weird.  Sound streaming appeared to work every time I streamed it.  I'll look into it.
Thanks for reporting this!

Thanks for looking into it, I took your demo project and added streamedSound as below:
SoundEffectInstance streamedSound;
		protected override void Update(GameTime gameTime)
		{
			if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
				Exit();
			kb = Keyboard.GetState();
			if(kb.IsKeyDown(Keys.P) && !oldKb.IsKeyDown(Keys.P)){
				if(sfx is null)
					sfx = MonoSoundManager.GetEffect("Content/MunchMunch-resaved2.wav");
                if ( streamedSound is null )
                    streamedSound = MonoSoundManager.GetStreamedSound( "Content/MunchMunch-resaved2.wav" , true );
                streamedSound.Play();

sfx works fine but streamedSound is always null, I am not sure if I am missing to initialize something else.

The bug was due to me initializing StreamPackage.sfx too late.
This appears to be fixed in the newer implementation of MonoSound.Tests.


append the 'csrf_token' token to calculator app

append the 'csrf_token' token to calculator app simple

Thanks!
Would you be so kind to sign the CLA about this?
https://docs.google.com/forms/d/1DVn3B5_fntw0QByIOq8TsAUnz32noAy-wYS7hq6le5M/viewform

Thanks!
i have signed the CLA. Do i sign successfully?

Yes perfect, thanks again for the patch!


Integrate Multiple FB APP_IDS in SINGLE REACT NATIVE PROJECT

Hey Team,
Do you know if we can add multiple FB app_id from two different FB accounts, one for login with Facebook and a second for running the FB ads campaigns?

I don't know, but I doubt it. Test and report results


How to submit model results to T-Eval?

Hi, thanks for your attention! We will release a detailed submission instruction soon. You may follow that~

@magicsongyang Hi, we have updated a detailed instruction to run T-Eval and how to submit results to our leaderboard. (https://github.com/open-compass/T-Eval?tab=readme-ov-file#-submit-your-results)

OK, thanks.


Towers

Added a 'flash tower' that does damage to all enemies within its range. Modified engine to allocate flash tower image when created (whale).

I'm going to make some tests for this tower before merging it in.

Ok I added test files for the Flash Tower and Quick Enemy, so I'm going to merge this branch into master.


[AUTOMATIC BUMP] Updates purchases-hybrid-common to 13.0.0

This is an automatic bump.
Updates purchases-hybrid-common to 13.0.0

This major shouldn't bring any changes relevant to kmp so closing


Cannot access UDP service via ClsuterIP from the host

Expected Behavior
udp should work.
Current Behavior
Cannot access UDP service via ClsuterIP from the host.
Failing to query kube-dns from Pods with hostNetwork: true.
See https://github.com/kubernetes/kubernetes/issues/112614
Steps to Reproduce (for bugs)
pod.yaml
apiVersion: v1
kind: Pod
metadata:
  labels:
    run: dns-test
  name: dns-test
  namespace: default
spec:
  containers:
  - args:
    - /bin/sh
    - -c
    - sleep 1000
    image: debian:bullseye
    imagePullPolicy: IfNotPresent
    name: dns-test
  dnsPolicy: ClusterFirstWithHostNet
  hostNetwork: true

In pod:
# nslookup kubernetes.default.svc.cluster.local
;; connection timed out; no servers could be reached

If not hostNetwork: true it works fine.
Also, if I change server to pod ip in nslookup it works fine.
Your Environment

Calico version : v3.18.1
Orchestrator version (e.g. kubernetes, mesos, rkt):

Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:28:09Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.12", GitCommit:"4bf2e32bb2b9fdeea19ff7cdc1fb51fb295ec407", GitTreeState:"clean", BuildDate:"2021-10-27T17:07:18Z", GoVersion:"go1.15.15", Compiler:"gc", Platform:"linux/amd64"}

Operating System and version: Ubuntu 20.04 LTS
Link to your project (optional):

More informations
it works if Pods on the same node, but not between different nodes.
(node-1):
08:46:08.041819 IP <IP_ADDRESS>.50941 > <IP_ADDRESS>.53: 65345+ A? kubernetes.default.svc.cluster.local.default.svc.cluster.local. (80)

(node-1) # ip addr | grep <IP_ADDRESS>
    inet <IP_ADDRESS>/32 scope global vxlan.calico

# coredns-74ff55c5b-47qpr                           1/1     Running   0          6m34s   <IP_ADDRESS>   <none>      node-2     <none>

No packets are captured in vxlan.calico on node-2.
...
node-2: ICMP works but UDP doesn't.
09:10:55.189157 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo request, id 2, seq 2, length 64
09:10:55.189386 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo reply, id 2, seq 2, length 64
```

If not hostNetwork: true it works fine.

The packet path for pod<->pod in VXLAN mode is slightly different than node<->pod.
For node to pod traffic, I would expect routing to send the pod via the Calico VXLAN device and that the kernel would choose the source address assigned to the Calico VXLAN device - the selection of the address is important since it will be used on the receiving node to route traffic back using the VXLAN tunnel rather than unencap'd.
From what I can gather, this appears to be working as expected for you - the ICMP cross-host traffic seems to be working fine.
It appears that you are seeing the encap'd packet leave the host, but that it's not arriving on the remote host - might there be some firewall rule update required in your network to allow that traffic?

@caseydavenport There are no firewall settings.
In iptables there are only rules generated by kubernetds.

Where is your cluster running? On-prem? Public cloud?

On-prem with kubeadm

@jclab-joseph have you been able to resolve this issue? I also just ran into the exact same problem.

Can reopen if more info provided


Verify linux device plug-in is providing the resource manager with equivalent data

In order to verify that #491 is not a result of  regression in the output of the Linux device plug-in fed into the resource manager, verify linux device plug-in is providing the resource manager with equivalent data to that of before the reactive architecture changes.

merged into #458


Testimonials

I believe this should be plural; "Testimonials"

I updated it. I also swapped "Team" and "Testimonials" to match the order they appear on the website.


How to custom style the "drop area" on sorting ?

Hi
I'm currently using sortable feature from dnd-kit.
For now (by default) , when I drag it , it'll just shift the other div to right or left.
https://user-images.githubusercontent.com/4522467/199133920-c618549a-3a45-4f54-a575-aa571d04a8b2.mp4
What if I want to add a style to that "drop area".
So on top of this shifting movement, on that original place I want to style it like give grey rectacngle background for example.
Or even better the "clone" but with opacity of currently dragged element.
Thanks

I found it. by updating the style to
opacity: isDragging ? 0.5 : 1,

we can get 'isDragging' from
const {
        attributes,
        listeners,
        setNodeRef,
        transform,
        transition,
        isDragging,
        // eslint-disable-next-line react-hooks/rules-of-hooks
    } = useSortable({
        id: props.id,
    })


Roll Plugins from cb381ced070d to 72634e0c404c (1 revision)

https://github.com/flutter/plugins/compare/cb381ced070d...72634e0c404c
2022-01-06<EMAIL_ADDRESS>[plugin_platform_interface] Add a new method verify that prevents use of const Object() as token. (flutter/plugins#4640)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Build version gives error, src class is fine

Hi, my idea is to build hight order geosuggest component, that can be used as decorator for any other component that accept user input (and has onChange method) like input...
My problem is, when I do import module from npm, I'll end up with error when running and my SearchAddress component is not rendered.
warning.js?8a56:45 Warning: o(...): React component classes must extend React.Component.
Uncaught Invariant Violation: o.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.

But when I use raw source is working just fine.
Geosuggest decorator - hight order component (decorated itself by react-google-maps-loader) and accepts any "Searchable" component like input, textarea...
import debounce from 'lodash/debounce';
import React, { Component, PropTypes } from 'react';
import googleMapsLoader from 'react-google-maps-loader';

const geosuggest = (Searchable) => {
  class Geosuggest extends Component {
    constructor(props) {
      super(props);
      this.search = debounce(this._search, props.wait);
      this.state = {
        searchStr: ''
      };
    }

    componentDidMount() {
      const { googleMaps } = this.props;
      console.log(googleMaps);
    }

    handleChange(searchStr = '') {
      this.setState({ searchStr });
      if (searchStr.length >= this.props.minChars) {
        this.search(searchStr);
      }
    }

    _search(searchStr) {
      // TODO: do search and return results
      this.props.onResult(searchStr);
    }

    render() {
      return (

          <Searchable
            value={this.state.searchStr}
            onChange={this.handleChange.bind(this)}
          />

      );
    }
  }

  Geosuggest.defaultProps = {
    wait: 200,
    minChars: 3,
  };

  Geosuggest.propTypes = {
    wait: PropTypes.number,
    minChars: PropTypes.number,
    googleMaps: PropTypes.object,
    onResult: PropTypes.func.isRequired
  };

  return googleMapsLoader({ libraries: ['places'] })(Geosuggest);
};

export default geosuggest;

This is class that is decorated by geosuggest component (adding geosuggest capability)
class SearchAddress extends Component {
  handleResult(result) {
    console.log(result);
  }

  render() {
    const { searchString, handleSearch, onFocus, onBlur, intl } = this.props;
    const Geosuggest = geosuggest(SearchBar);
    return (

        <Geosuggest
          wait={500}
          minChars={3}
          onResult={this.handleResult.bind(this)}
        />

    );
  }
}

Hi @mauron85 , sorry for the delay. I just published a 2.0.0 version. Could you check if that solve your problem ?

I can't reproduce.


Set license agreement

Put an actual license agreement: see https://performance.services.fedcloud.eu/submit/result
To do so, just update licence txt file and rebuild.

Update policy privacy with links to the used resources (for example google analytics)


check if deviantart has a search api

yes it does, https://www.deviantart.com/developers/
actually is able to search for specific user drawings i guess


Subscriptions: Email suggestion suggests users that are already subscribed to the stream

Ideal behaviour should be that the email suggestions should exclude the users already subscribed to the stream.
For example: If you search for<EMAIL_ADDRESS>in announce stream, it suggests Tim's email though he is already added.

Suggestion: I think we should also provide a search box to search already subscribed users in the stream.

@zulipbot claim

@timabbott @showell any thoughts on this one?

This sounds good. I've witnessed this issue for some time already, but thought another issue was open for this. Did a quick search and apparently not. Good luck on this!

At one point I think it was an intentional decision not to exclude existing users from the typeahead, since it could confuse users into thinking they were not part of the realm, and you can't always see the existing users in a large stream.  I'd rather exclude, though, so my vote is +1 on following this issue's suggestion.

@showell I guess this is the reason why a search bar for streams would be helpful.

One big-picture thing here to be aware of is that our UI for adding subscribers to a new stream is different than the UI to add subscribers to an existing stream.  I believe there's a ticket somewhere suggesting we consolidate the approaches somehow.

Hello @aakash-cr7, you claimed this issue to work on it, but this issue and any referenced pull requests haven't been updated for a week. Are you still working on this issue?
If so, please update this issue by leaving a comment on this issue to let me know that you're still working on it. Otherwise, I'll automatically remove you from this issue in 3 days.
If you've decided to work on something else, simply comment @zulipbot abandon so that someone else can claim it and continue from where you left off.
Thank you for your valuable contributions to Zulip!

Still working on this one.

@zulipbot claim


Dead link in readme

The link in the readme returns error 404.
http://blog.agoragames.com/2011/01/01/creating-high-score-tables-leaderboards-using-redis/

#6

#6


parquet_derive: invalid examples/documentation

Describe the bug
There are references to SerializedFileWriter::close_row_group() in the following files, which is a method that doesn't seem to exist, rendering the examples un-compileable:

https://github.com/apache/arrow-rs/blob/11450ae8ddf902b57cb42491a3d824d9550a05ea/parquet_derive/README.md?plain=1#L76
https://github.com/apache/arrow-rs/blob/11450ae8ddf902b57cb42491a3d824d9550a05ea/parquet_derive/src/lib.rs#L72

label_issue.py automatically added labels {'parquet-derive'} from #5823


[WIP] Manager user logic.

Signed-off-by: yxxhero<EMAIL_ADDRESS>
Description
Manager user logic.

Related Issue
link: https://github.com/dragonflyoss/Dragonfly2/issues/376

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[x] Code compiles correctly.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

Merging #419 (bbb5414) into main (fce806a) will increase coverage by 0.13%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #419      +/-   ##
==========================================
+ Coverage   38.42%   38.55%   +0.13%
==========================================
  Files          80       80
  Lines        6204     6209       +5
==========================================
+ Hits         2384     2394      +10
+ Misses       3481     3477       -4
+ Partials      339      338       -1

Flag
Coverage Δ

unittests
38.55% <0.00%> (+0.13%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/util/digestutils/digest.go
45.16% <0.00%> (-8.69%)
:arrow_down:

client/daemon/peer/peertask_base.go
33.49% <0.00%> (+0.72%)
:arrow_up:

client/daemon/peer/peertask_stream.go
58.11% <0.00%> (+1.88%)
:arrow_up:

client/daemon/peer/peertask_stream_callback.go
65.00% <0.00%> (+2.50%)
:arrow_up:

@gaius-qi ping