text:
cant compile and install

I cloned the package and ran python setup.py install, but no success. Please help me to install this package
`
Following is the log generated,
python-fcl(master)$ python setup.py install
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/fcl
copying fcl/init.py -> build/lib.linux-x86_64-2.7/fcl
copying fcl/collision_data.py -> build/lib.linux-x86_64-2.7/fcl
copying fcl/transform.py -> build/lib.linux-x86_64-2.7/fcl
copying fcl/interval.py -> build/lib.linux-x86_64-2.7/fcl
running build_ext
cythoning fcl/fcl.pyx to fcl/fcl.cpp
Error compiling Cython file:
...
elif geom.getNodeType() == defs.GEOM_CYLINDER:
obj = Cylinder(0, 0)
memcpy(obj.thisptr, geom, sizeof(defs.Cylinder))
return obj
elif geom.getNodeType() == defs.GEOM_TRIANGLE:
obj = TriangleP(np.zeros(3), np.zeros(3), np.zeros(3))
^
fcl/fcl.pyx:403:26: cimported module has no attribute 'zeros'
Error compiling Cython file:
...
elif geom.getNodeType() == defs.GEOM_CYLINDER:
obj = Cylinder(0, 0)
memcpy(obj.thisptr, geom, sizeof(defs.Cylinder))
return obj
elif geom.getNodeType() == defs.GEOM_TRIANGLE:
obj = TriangleP(np.zeros(3), np.zeros(3), np.zeros(3))
^
fcl/fcl.pyx:403:39: cimported module has no attribute 'zeros'
Error compiling Cython file:
...
elif geom.getNodeType() == defs.GEOM_CYLINDER:
obj = Cylinder(0, 0)
memcpy(obj.thisptr, geom, sizeof(defs.Cylinder))
return obj
elif geom.getNodeType() == defs.GEOM_TRIANGLE:
obj = TriangleP(np.zeros(3), np.zeros(3), np.zeros(3))
^
fcl/fcl.pyx:403:52: cimported module has no attribute 'zeros'
Error compiling Cython file:
...
elif geom.getNodeType() == defs.GEOM_TRIANGLE:
obj = TriangleP(np.zeros(3), np.zeros(3), np.zeros(3))
memcpy(obj.thisptr, geom, sizeof(defs.TriangleP))
return obj
elif geom.getNodeType() == defs.GEOM_HALFSPACE:
obj = Halfspace(np.zeros(3), 0)
^
fcl/fcl.pyx:407:26: cimported module has no attribute 'zeros'
Error compiling Cython file:
...
elif geom.getNodeType() == defs.GEOM_HALFSPACE:
obj = Halfspace(np.zeros(3), 0)
memcpy(obj.thisptr, geom, sizeof(defs.Halfspace))
return obj
elif geom.getNodeType() == defs.GEOM_PLANE:
obj = Plane(np.zeros(3), 0)
^
fcl/fcl.pyx:411:22: cimported module has no attribute 'zeros'
building 'fcl.fcl' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/fcl
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include -I/usr/local/include -I/home/mahe/catkin_ws/devel/include -I/opt/ros/indigo/include -I/usr/include/python2.7 -c fcl/fcl.cpp -o build/temp.linux-x86_64-2.7/fcl/fcl.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
fcl/fcl.cpp:1:2: error: #error Do not use this file, it is the result of a failed Cython compilation.
#error Do not use this file, it is the result of a failed Cython compilation.
^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
mahe@mahe-HP-350-G2:~/masterThesis/python-fcl(master)$ python setup.py
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: no commands supplied

perhaps the numpy includes arent found?

Hi, the current numpy seems to need to set the include directory in cython.
I updated the repository, so please try the build again and update the version of fcl to 0.5.

It didnt work, i googled and found that import numpy as np is also required along with cimport numpy as numpy.. But still I couldnt proceed and build successfully.
I have attached the log file.
python-fcl_build_log.txt

As I looked it up, Cython's version seems not to be good.
Please try re-compiling with Cython 0.25.

Still no success.
I have upgraded cython to 0.27, no success. Also I have uninstalled cython and built cython 0.25 from source and installed. Still didnt work.
I have uploaded the new build log file. I think there is no difference.
python-fcl_build_log_v1.txt

I prepared .travis.yml, so please refer to this.
I have confirmed that it can compile on travis CI, so please try to set the library versions as written in this file.

I had to install octomap 1.8.0 to build fcl(0.5.0) and then this is what I get,
$ sudo python setup.py install
running install
running build
running build_py
running build_ext
building 'fcl.fcl' extension
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include -I/usr/local/include -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c fcl/fcl.cpp -o build/temp.linux-x86_64-2.7/fcl/fcl.o -std=c++11
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1761:0,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
from fcl/fcl.cpp:475:
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^
c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/fcl/fcl.o -L/usr/local/lib -lfcl -o build/lib.linux-x86_64-2.7/fcl/fcl.so
running install_lib
copying build/lib.linux-x86_64-2.7/fcl/fcl.so -> /usr/local/lib/python2.7/dist-packages/fcl
running install_egg_info
Removing /usr/local/lib/python2.7/dist-packages/fcl-0.1.egg-info
Writing /usr/local/lib/python2.7/dist-packages/fcl-0.1.egg-info
$ python example/example.py
Traceback (most recent call last):
File "example/example.py", line 1, in
from fcl import fcl, transform
ImportError: cannot import name fcl

Also, when I ran example.py second time I got this
$ python example.py
Traceback (most recent call last):
File "example.py", line 1, in
from fcl import fcl, transform
ImportError: libfcl.so.7: cannot open shared object file: No such file or directory

Please launch the following commands.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
cd example
python example.py

we've had terrific experience using conda. I've made conda files that make installing python-fcl trivial through conda. the cool thing is you install binaries & side-step building the binaries yourself. conda-forge is the way to go here;

Thank you, jf.
It looks very good!
I don't have much time to care for this repository, so I really appreciate contributors like you.

authors: jf--- k-maheshkumar neka-nat

repo: neka-nat/python-fcl


text:
Don't prompt invalid tracker configuration on the first run

just don't :/

It does prompt XD

source: gharchive/issue

authors: nekomeowww shinohara-rin

repo: nekomeowww/sobani

license: MIT

license_type: permissive

license_source: github-api


text:
suggestion: Implementation into SolarEdge CORE integration?

Hi, In my opinion, this is a great addon for the core integration of SolarEdge (https://github.com/home-assistant/core/tree/dev/homeassistant/components/solaredge)
Since it is using the same library and requires the same API information, it should be possible to merge both integrations - so every user of the core integration would benefit from this feature :)

Fully agree with it but unfortunately I don't have the time for it.

authors: ChristophCaina nelbs

repo: nelbs/solaredge-forecast


text:
Expired mosaics are visible on offline transaction page

WTR:

Go to Offline transaction page
Click on Mosaic selector

Result: The list of expired mosaics are visible

Hmm. @AnthonyLaw  In my opinion only symbol.xym should be visible here because we know divisibility for it. For other mosaics we are unable to fetch divisibility and it could be very missleading for user.

Based on feedback from Jeff:

we should assume that the offline transaction view is used on computers that are always offline so make no sense to present here other mosaic information fetched automatically
we want to add the possibility for the user to send other mosaics. So we should provide a simple form that allow provide all required information to send tx like (mosaic id, divisibility, and so on) for mosaic. After adding mosaic it will be possible to choose it on selectbox.

authors: NikolaiB cryptoBeliever

repo: nemgrouplimited/symbol-desktop-wallet


text:
The selection dialog for the fees for aggregate transactions is not completely displayed.

Fixed.


text:
NameService: minor improvements, part 1

Refactor code a bit and make it closer to https://datatracker.ietf.org/doc/html/rfc1034.

Just to give some background, we have an NNS contract in (https://github.com/nspcc-dev/neofs-contract/), it was originally based on C# one, but it diverged over time as we solved some problems related to NeoFS CDN and dApp needs. This contract is used in NeoFS and it also powers dApp examples shown on Aug 30, so it's tested and known to work. We think changes made there are very much relevant for real-life applications and standard public NNS contract will benefit from them.

@shargon, @superboyiii, @erikzhang? This part is rather trivial, but we have more invasive things in the queue, so maybe we can deal with this one first and then discuss other things.

source: gharchive/pull-request

authors: AnnaShaleva roman-khimov

repo: neo-project/non-native-contracts


text:
Gql Errors

Adds GQL compliant errors as per the ADR.

 [dotnet] Implement GQL Errors as per ADR

license_source: bigquery


text:
fix ruby 2.4 Fixnum deprecations

Fixes #289
This pull introduces/changes:

Substitutes Integer for Fixnum
Retains Ruby <=2.3 compatibility

Pings:
@cheerfulstoic
@subvertallchris

Coverage remained the same at 92.298% when pulling 15ca01f0658bfee3858660efa0323617c5637177 on jboler:fix-ruby-2.4-fixnum-deprecations into b492670f06e79c3b7722aba042246d8e7c505061 on neo4jrb:master.

Coverage remained the same at 92.298% when pulling 15ca01f0658bfee3858660efa0323617c5637177 on jboler:fix-ruby-2.4-fixnum-deprecations into b492670f06e79c3b7722aba042246d8e7c505061 on neo4jrb:master.

Coverage increased (+0.02%) to 92.314% when pulling 271dc00e54be4b9a4e02bf91499af4eab60c3507 on jboler:fix-ruby-2.4-fixnum-deprecations into b492670f06e79c3b7722aba042246d8e7c505061 on neo4jrb:master.

Coverage increased (+0.02%) to 92.314% when pulling 271dc00e54be4b9a4e02bf91499af4eab60c3507 on jboler:fix-ruby-2.4-fixnum-deprecations into b492670f06e79c3b7722aba042246d8e7c505061 on neo4jrb:master.

Coverage increased (+0.02%) to 92.314% when pulling 271dc00e54be4b9a4e02bf91499af4eab60c3507 on jboler:fix-ruby-2.4-fixnum-deprecations into b492670f06e79c3b7722aba042246d8e7c505061 on neo4jrb:master.

Awesome thanks!  Released as 7.0.7

authors: cheerfulstoic coveralls jboler

license: mit


text:
TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded

I found out that busy build machines running conversion experience puppeteer error:
TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded
It originates from this line:
await this[_page].goto(fileUrl(tempFile.path));
As this is this uses browser just for rendering, not networking, it seems appropriate fix would be to configure page timeouts (as only page objects allow that):
    if (!this[_browser]) {
      this[_browser] = await puppeteer.launch(this[_options].puppeteer);
      this[_page] = await this[_browser].newPage();
    }

->
    if (!this[_browser]) {
      this[_browser] = await puppeteer.launch(this[_options].puppeteer);
      this[_page] = await this[_browser].newPage();
      this[_page].setDefaultTimeout(0); // Disabled timeout
    }

@lietusme Thanks for raising this issue. Is this solution not already achievable by simply using the puppeteer options (e.g. {timeout:0})?
I'm a bit reluctant to disable the timeout all together as I'm not sure that this would be desirable for all implementations. I can imagine most systems wouldn't want to wait more than that default maximum of 30 seconds.

I could not find a way to globally set timeout for puppeteer and only timeout settings seem to be available on page objects only.
I'm not sure how to pass/access puppeteer from converter using this as well:
const { createConverter } = require('convert-svg-to-png');
await this.converter.convertFile(sourcePath, options);

Any hints?

Ah sorry, I didn't see the distinction between browser instance startup timeout and page navigation timeout. You're right that this isn't currently supported via puppeteer options, however, I'm still a bit curious as to why it should ever timeout after 30 seconds. Are the SVGs you're rendering containing remotely hosted resources (e.g. images, fonts)?
If we were to disable the page navigation timeout, I think it would need to be done on a opt-in basis as I feel like this is implementation detail for puppeteer itself which I'd like to keep out as much as possible.
What I might consider is splitting the existing puppeteer options to be passed down as follows:

puppeteerLaunch - options passed to puppeteer.launch (i.e. https://github.com/puppeteer/puppeteer/blob/v1.10.0/docs/api.md#puppeteerlaunchoptions)
puppeteerPageGoto - options passed to page.goto (i.e. https://github.com/puppeteer/puppeteer/blob/v1.10.0/docs/api.md#pagegotourl-options)
puppeteer - an alias for puppeteerLaunch for backwards compatibility

This should be able to offer greater control for those like yourself that need it and then you could simply do the following:
const { createConverter } = require('convert-svg-to-png');
await this.converter.convertFile(sourcePath, { puppeteerPageGoto: { timeout: 0 }});

Yes, customization would work as well for my case:
{ puppeteerPageGoto: { timeout: 0 }}
Regarding SVG that times out - no external resources, so not sure what causes it. It is reproduced on remote build machines (MacOS) used by multiple teams so that may be just be result of their slowness or random lags.

authors: lietusme neocotic

repo: neocotic/convert-svg


text:
运行run_win 报错

运行报错：
E:\Tools\dota2_dragon_chess_ai_autoplay\app>jdk-21.0.3\bin\java --add-opens=java.base\java.nio=ALL-UNNAMED --add-opens=java.base\java.util=ALL-UNNAMED -cp dota2chessai.jar neoe.textfrog.Main run1.tfg
Error occurred during initialization of boot layer
java.lang.RuntimeException: Unable to parse --add-opens /: java.base\java.nio

打包打错了， 先把 '--add-opens=java.base\java.nio=ALL-UNNAMED --add-opens=java.base\java.util=ALL-UNNAMED'
\ 替换 成 /
'--add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED'
一会儿重发一个包

请再试一下 release v1.1.1

authors: ErPurE neoedmund


text:
Question: Make single Schema Class and other things

Hi,
am currently in search of right JSONApi library to use. I was reading your implementation and I found it using few classes (Model, Schema and Encoder -- did I miss anything else). Now looking at schema it needs ID and Attributes. Now I use Laravel's Eloquent models for data in non-Laravel homegrown framework that am trying to add JSONAPI ability. Now I have questions:

Is there a way I can tell the library about how to fetch attributes and id apart from current way (I'm thinking of making schema class that gets Model in its c'tor and returns the attributes and id but wanted to know if there is easier way)

Does the library provide a class for taking data from JSONAPI request and create an Object of that class from data?

Tanks for the library and time.

Hi,
The library is framework agnostic and do not rely on any specific Model classes (do not require). You can view Schema as an adapter for models you use (Eloquent, Doctrine, plain classes or else). As you can see in wiki you can use any ORM you like.

I'm thinking of making schema class that gets Model in its c'tor and returns the attributes and id but wanted to know if there is easier way)

I think the way it works now is easier. You create Schemes each of them can 'transform' your models to format which Encoder understands. The library would reuse Schema instances (they do not store  any data from models) which is way more efficient than creating 1 schema for every 1 model.

Does the library provide a class for taking data from JSONAPI request and create an Object of that class from data?

The library do not provide parser for JSON API documents. The reason is that IMHO it cannot be developed in generic and efficient way. For example

should it parse meta and links? For CRUD it's not necessary but for 'generic' parser it should be done
how to deal with polymorphic data? For typical usage it's not needed though for 'generic' solution it should be done. And even if added it would be very opinionated.

I feel I have answered the question and I don't have any feedback from you. I'm closing the question. If you have any further questions please don't hesitate to ask.

Thank you a lot. For sure you ave answered them with details. Sorry for the feedback, I got caught with some other thing. However one thing is still not clear in your answer:

I think the way it works now is easier. You create Schemes each of them can 'transform' your models to format which Encoder understands. The library would reuse Schema instances (they do not store any data from models) which is way more efficient than creating 1 schema for every 1 model.

If my model have uniform interface they implement that provides all information schema needs, shouldn't I have a single schema that deals with it all? Something like
interface IModel
{
	public function getAttributes();
	public function getId();
}

Then I will have just a single Schema with something like
class AuthorSchema extends SchemaProvider
{
    protected $resourceType = 'people';

    public function getId($model)
    {
        /** @var Author $author */
        return $author->getId();
    }

    public function getAttributes($author)
    {
        /** @var Author $author */
       return $author->getAttributes();
    }
}

Then with every model I just Plugin the same Schema. What's your opinion on that?

Sure you can do that and have one Schema for all models. Though $resourceType must have different values and there are usually requirements that differ from schema to schema. They 'might'/'might not' have links/meta/paging info/relationships/etc so in general case it's better to support.
If you feel you can have 1 schema for all I would recommend something like
abstract class BaseSchema  extends SchemaProvider
{
 ...
}

class AuthorSchema extends BaseSchema
{
    protected $resourceType = 'people';
}

I see your point. I have not looked deep, but my impression was the support for all those (links/meta/paging info/relationships/etc) is similar to what I have read in getId() and getAttributes(). Is that so?
As of resourceType, why is it hard-corded instead of flexible function like getId() is? IMHO it kill flexibility of Schema that is already there in other functions.

As you can see they are protected and cannot be used outside of the class. They are not used directly in the class as well (only via getters). You can override the following methods and be good (default implemnetation below)
    /**
     * @inheritdoc
     */
    public function getResourceType()
    {
        return $this->resourceType;
    }

    /**
     * @inheritdoc
     */
    public function getSelfSubUrl($resource = null)
    {
        return $resource === null ? $this->selfSubUrl : $this->selfSubUrl . '/' . $this->getId($resource);
    }

the reason is that defining 1 property is easier than 2 methods.

overriding them is better method. I didn't knew that method exists. Let me work with information I have. I will be coming back for questions in issues (unless there is other specific place).
I appreciate your time and help. Thank you!

This library is built on interfaces. It means you can replace any part of the lib with your interface implementation. You don't like default SchemaProvider? No probs. You can implement SchemaProviderInterface they way you like and it will work absolutely fine.

Is it possible to pass instance of schema instead of string of the class name? I tried that and got
Catchable fatal error: Argument 1 passed to Neomerx\JsonApi\Schema\SchemaProvider::__construct() must be an instance of Neomerx\JsonApi\Contracts\Schema\SchemaFactoryInterface, none given
I ask that because I want to configure some internal properties of my schema before sending it to encoder.

@mtangoo you can pass Closure. Have a look at sample in wiki

authors: mtangoo neomerx

repo: neomerx/json-api


text:
pgserver: add more metrics for better observability

Problem
This PR includes doc changes to the current metrics as well as adding new metrics. With the new set of metrics, we can quantitatively analyze the read amp., write amp. and space amp. in the system, when used together with https://github.com/neondatabase/neonbench
close https://github.com/neondatabase/neon/issues/4312
ref https://github.com/neondatabase/neon/issues/4347
compaction metrics TBD, a novel idea is to print L0 file number and number of layers in the system, and we can do this in the future when we start working on compaction.
Summary of changes

Add READ_NUM_FS_LAYERS for computing read amp.
Add MATERIALIZED_PAGE_CACHE_HIT_UPON_REQUEST.
Add GET_RECONSTRUCT_DATA_TIME. GET_RECONSTRUCT_DATA_TIME + RECONSTRUCT_TIME + WAIT_LSN_TIME should be approximately total time of reads.
Add 5.0 and 10.0 to STORAGE_IO_TIME_BUCKETS given some fsync runs slow (i.e., > 1s) in some cases.
Some WAL_REDO metrics are only used when Postgres is involved in the redo process.

Example metrics:

The Grafana generator will automatically generate histogram visualization for a metrics. i.e., we can easily observe the p50/p90/p99/avg storage latency in the new benchmark dashboard.

Read amplification. With the help of newly-added metrics.

Space amplification.

Write amplification.
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

I plan to merge this today and any final comments to this PR are welcomed. Thanks for reviews!

repo: neondatabase/neon


text:
First Pass on Syntax and Grammar Edits

First Pass on Syntax and Grammar Edits

Wonderful, thank you!
/approve
/lgtm

repo: nephio-project/docs


text:
Is the hyper parameters need to fine tune?

I just get the LB with 0.805, is the yaml file did not provide the best hyper parameters?

That is correct. We want to keep the publicly available code below the bronze medal.
But feel free to tweak/improve the solution.

authors: HuangZhanPeng jakubczakon

repo: neptune-ml/open-solution-ship-detection


text:
Compressing gaussian splats

Thanks largely to MCMC's improved densification strategy, a simple post-training compression scheme is enough to top the 3D Gaussian Splatting Compression Methods leaderboard.
This PR implements quantization, sorting, and spherical harmonic coefficients K-means clustering for compression.
Relevant links:
https://github.com/fraunhoferhhi/Self-Organizing-Gaussians
https://aras-p.info/blog/2023/09/27/Making-Gaussian-Splats-more-smaller/
Results
Evaluated on MipNeRF360 dataset.

Method
PSNR
SSIM
LPIPS
Size (MB)

mcmc (0.5M) w/ compression
28.24
0.852
0.175
8.89

mcmc (1M) w/ compression
28.65
0.864
0.154
16.5

mcmc (2M) w/ compression
29.02
0.872
0.138
31.2

Method
PSNR
SSIM
LPIPS
Size (MB)

mcmc (1M) w/ quant and kmeans
28.65
0.864
0.154
16.5

mcmc (1M) w/ quant only
29.02
0.870
0.146
31.6

mcmc (1M) w/o compression
29.18
0.874
0.142
236

Note: Using K-means centroids and labels to initialize a codebook sets the high score for a given file size, at the cost of another training run. This is not implemented in the PR.
Data format
This PR quantizes means to 16 bits, opacities, quats, scales, sh0 to 8 bits, and shN to 6 bit. Sorting these fields with PLAS and saving them as PNGs saves a few MBs and generates nice visuals.
means are quantized in log space.
shN coefficients are clustered with K-means into 2**16 clusters and their centroids and labels are saved to a compressed npz file.
Bonsai scene's quantized and sorted sh0 png.

This is freaking awesome! At a quick glance, is it missing the handling of the extra features stored in the splats, for example, if the splats have a "feature" field or something else, how should these be compressed?

Without metrics, it would be hard to know how much quantization is acceptable. I can add logic that saves any additional field as an npz file with full precision.

Oh yes that makes sense. Also should the "meta" be stored together with the compressed data instead of returning it from the function?

All the metadata is stored as a single meta.json in the compression directory by the compress_splats function.

Ah right I missed that! Cool!

Is there a abbrev. name for this approach? I'm thinking whats the best way to organize the code. If there is some other compression algo coming out in the future, we would have to do a refactor on the naming.
Also it seems like this compression approach does not need any predefined content (e.g., a network), which is nice. But what if a future one uses some kind of network, or any other predefined content? You must know more than me on this front.
Ideally we don't have to refactor the code once another compression method is PR'd. So maybe it makes sense to make it into a class as well? Like the Strategy?

There isn't a name but the sorting is from Self Organizing Gaussians and the K-means idea is from the blog series. That makes sense. I could refactor this into a class to leave room for a different compression strategy.

Why is MCMC better than default method in terms of k-means based compression? @jefequien

Both methods lose about ~0.5 PSNR after quantization and k-means. MCMC just gives a higher starting point than the default settings.

@jefequien  I'm having this error while trying this PR, do you have any idea?
python M:\gsplat-compress\examples\simple_trainer.py --data_dir ./ --result_dir ./res --data_factor 1 --compression_strategy png

File "C:\Users\admin\miniconda3\envs\gscompress\lib\site-packages\gsplat\compression\sort.py", line 5, in <module>
    def sort_splats(splats: dict[str, Tensor], verbose: bool = True) -> dict[str, Tensor]:
TypeError: 'type' object is not subscriptable

I already install gsplat of this PR with python 3.8 following similar to this guide https://github.com/nerfstudio-project/gsplat/pull/208#issuecomment-2273996152

I think all dict needs to be Dict imported from typing.
I'll take over this PR and do some cleanup in the coming days

@Ben-Mack Right. I personally use python 3.10 so as a temporary fix, you can try upgrading your python version.

I think all dict needs to be Dict imported from typing.

As an FYI from __future__ import annotations at the top of files will also let you use dict[K, V], tuple[T], etc!

Did some cleanup and put up a doc page for it:

Great to see Self-Organizing-Gaussians beeing used!

FYI: I was messing around with the code with Claude, and it seems to inadvertently have caught and fixed a bug related to the compression in simple_trainer.py:

It seems correct to me at a glance, but as I am not read in into the code I don't want to open an issue/PR for an accidental Claude change that I haven't looked into, so I figured I'd just put it here instead so you can judge it yourself.

Hello, sorry for late party. I have used this method in gsplat==1.3.0. But I get the compression format is PNG instead of PLY.
I must decompress it, so I can convert it to PLY. But, unfortunatelly, the size of PLY is remain same.
The question is, any tutorial for getting compressed PLY with this method?

FYI: I was messing around with the code with Claude, and it seems to inadvertently have caught and fixed a bug related to the compression in simple_trainer.py:

It seems correct to me at a glance, but as I am not read in into the code I don't want to open an issue/PR for an accidental Claude change that I haven't looked into, I figured I'd just put it here instead so you can judge it yourself.

Yeah, I got this error too. It should be
compress_dir = f"{self.cfg.result_dir}/compression/rank{world_rank}"

It does not error somehow in my setup with 1 GPU, but if it has more >1 GPU, it caused error

Hi @jefequien, are there anyway to load Checkpoint from Nerfstudio and run just the compression step, instead of training from ground up in gsplat?

@Ben-Mack Assuming Nerfstudio uses the same .pt file as gsplat, it should be simple. Just use simple_trainer.py with --ckpt
https://github.com/nerfstudio-project/gsplat/blob/cc2fb4c5690fe9e70a086214001fafa0c9f06a4c/examples/benchmarks/compression/mcmc.sh#L39

authors: Ben-Mack Florian-Barthel SharkWipf brentyi ichsan2895 jb-ye jefequien liruilong940607

repo: nerfstudio-project/gsplat


text:
Strategy for keywordizing keys and values?

Hi! What's the strategy for keywordizing keys and values?
If I invoke with eg
lein cljs-lambda invoke myFn '{"foo":"bar"}',,
it arrives in my deflambda as {:foo :bar}.
This seems a bit too magical to me, as I might want {"foo" "bar"}, {:foo "bar"} or maybe even {"foo" :bar}. It probably should be up to the implementer.

You shouldn't get {:foo :bar}, rather {:foo "bar"} - see https://github.com/nervous-systems/cljs-lambda/blob/master/cljs-lambda/src/cljs_lambda/util.cljs#L25
Are you sure the value is a keyword?
In any case, you can avoid all of this behaviour by using cljs-lambda.util/async-lambda-fn directly:
(def ^:export my-fn
  (async-lambda-fn
    (fn [event ctx]
      ...)
    {:parse-input? false}))

In the above, event is a vanilla Javascript object, not a cljs map.

@moea You're right, the value is a string, sorry, my mistake.
Great tip regarding the async function, thanks for the pointer.
And thanks for a cool project :-)

authors: grav moea

repo: nervous-systems/cljs-lambda

license: unlicense


text:
Feature: Colored output of trace()

It would be useful to have option to set color of trace() output to make a different informations more distinguishable in console.

I'll add color parameter trace(output, color)

added color parameter trace text [color=15]
for i=0,15 do trace("hello",i)end
function TIC()end

done in .24

authors: Crutiatix nesbox


text:
Research data: institutions

Assess options to enrich OpenAlex data with institutional / geographical information from GRID

This will involve fuzzy matching OpenAlex institutions with e.g. GRID institutions

Note: OpenAlex institutions contain a GRID identifier, e.g. https://explore.openalex.org/institutions/I4200000001

authors: Jack-Vines Juan-Mateos


text:
Show methods realisation for choosen chain

It will be much more useful to have popup window, wich shows code that was used in given method.
For example strings doesn't have 'Reverse' method, but we can implement it by hands.
And for user who want to use our method it will be much easier to see how we made this function.
C# doesn't have built-in tools to get functions code as string, so we should make our methods as string, and then compile them on start of the program.

@Mikhail158 I'm not quite sure where specifically you think a popup should appear. Care to elaborate?

@nesteruk It should be like second Window. I can help, but only if you will help me to understand your code structure.

Any chance you could draw a picture of what you'd like to achieve? No need
to use a prototyping tool, a simple sketch will do. Or just ping me on
skype (dmitri.nesteruk) and we can take it from there.
On 25 December 2016 at 23:17, Michael Ermishin notifications@github.com
wrote:

@nesteruk https://github.com/nesteruk It should be like second Window.
I can help, but only if you will help me to understand your code structure.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nesteruk/CallSharp/issues/8#issuecomment-269135988,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAcoNs2fqfZ9m87durNMw03RGSQfmu04ks5rLs9ngaJpZM4LVdH5
.

--
Dmitri Nesteruk
dmitrinesteruk@gmail.com
skype: dmitri.nesteruk

repo: nesteruk/CallSharp


text:
Wikimedia Netbox reports

The reports we (at Wikimedia) made to keep our data consistent are available on https://gerrit.wikimedia.org/g/operations/software/netbox-reports, with a mirror on https://github.com/wikimedia/operations-software-netbox-reports
I don't think they would be of any value as-it, as they are tailored for our needs, but might be worth a link from your repo to ours. At least to get ideas and inspiration.
See our README for a quick description.
Fyi, all our Netbox related work is tracked on https://phabricator.wikimedia.org/tag/netbox/

I would accept a PR to add an "other repo examples" section to the readme for these links. Otherwise, there is nothing actionable in this issue.

authors: XioNoX lampwins

repo: netbox-community/reports


text:
Missing AWX task files

The setup-netbox-objects playbook has include_tasks that are not included in the repo:
setup-netbox-objects.yml:    include_tasks: "ansible-tasks/netbox/netbox-object-defaults.yml"
setup-netbox-objects.yml:    include_tasks: "ansible-tasks/netbox/netbox-vm-object-defaults.yml"
setup-netbox-objects.yml:    include_tasks: "ansible-tasks/netbox/netbox-vm-cluster-objects.yml"
setup-netbox-objects.yml:    include_tasks: "ansible-tasks/proxmox/discover-vms.yml"
setup-netbox-objects.yml:    include_tasks: "ansible-tasks/netbox/prefix-ip-checker.yml"

Also looking for these tasks

repo: netboxlabs/netbox-proxmox-automation


text:
[visualizer] Added base classes to improve reusability

This is to make the views of visualizer reusable. In order to integrate it with openwisp-network-topology. The issue of which can be looked at https://github.com/openwisp/openwisp-network-topology/issues/6

Coverage decreased (-0.4%) to 99.632% when pulling a2500954aef1d30fce8708ccc1c06293f053fc1c on rohithasrk:visualizer-base into c9f52ba713940f922333b8083b1bfb9459f2f0c9 on netjson:master.

Coverage remained the same at 100.0% when pulling 5939f06cfd569b1124e40de78c835ed027c1111c on rohithasrk:visualizer-base into c9f52ba713940f922333b8083b1bfb9459f2f0c9 on netjson:master.

authors: coveralls rohithasrk

repo: netjson/django-netjsongraph


text:
Use .app for the site's name suggestion message.

- Summary
Updates the default domain for the site's name suggestion message during the creation process.

Thanks for the PR @afuh

authors: RaeesBhatti afuh

repo: netlify/cli


text:
[FEATURE REQUEST]: Support for GET, GET (All) and GET filtered operations on resources

Summary
In current automation workflows it is common to run some pre-checks based on intended list of Nitro resources to configure, in order to exit an automation workflow early rather than running it all the way. For instance, checking if a Vserver is already configured, or retrieving the operational status of a vserver to report back to the user whether it is up or down based on provided configuration.
We currently do this using the citrix.adc by running nitro_request queries for "show" commands:

GET a single instance of a resource matching all parameters
Run a GET query with filter to retrieve list of resources matching all provided parameters. Here we have to come around a limitation of Nitro, where the filter query returns matches on ANY of the parameters and not ALL of them. I am interested on matches on ALL parameters I give to the filter query

As an idea, would be nice to extend the current modules to provide the ability to retrieve the operational status of the resources instead of just looking at config. This could be supported by additional state flags "shown" and "shown_filtered"
Issue Type
Feature Idea
Component Name
ALL
Describe alternatives you've considered
Looking at observability exporter and telemetry data to check on existing objects.
Additional Information

@sumanth-lingappa related to this issue, a probably more appropiate option to implement the GET, GET-ALL and filter operations would be through a lookup plugin:
This is an example use case:
{# Configure backup vserver address #}
{%     if vserver_item.failover_virtual_ip is defined %}
{%         do vserver_data.attributes.update({'backupvserver': vserver_item.failover_virtual_ip}) %}
{%     endif %}

In my abstracted data, I have the option to input an IP address corresponding to a VIP to be used as failover Vserver. As part of the config generation, I would need to lookup the Vserver name based on the VIP address value, since NITRO expects a Vserver string value for “backupvserver” instead of an IP address.
So ideally I would refactor the above Jinja snippet into the following:
{# Configure backup vserver address #}
{%     if vserver_item.failover_virtual_ip is defined %}
{%         do vserver_data.attributes.update({'backupvserver': query('netscaler.adc.resource_lookup',
                                                                      filter='ipv46=' ~ vserver_item.failover_virtual_ip,
                                                                      resource_type='lbvserver',
                                                                      match_mode='all' ) | first | map(attribute='name')}) %}
{%     endif %}

“query” or “q” in Ansible guarantees a list as return type
“first” would get the first match, assuming in our case that there can only be 1 valid match
“map” filter selects the right attribute to populate as string value

This lookup plugin “netscaler.adc.resource_lookup” would be a wrapper for the NITRO Get (one), Get (all)  or “filter” search, where the filter params are provided as a string of comma separated key value pairs, and the resource_type indicates the api endpoint to query for the filter search.
Note the “match_mode” parameter for the filter search, which could have possible values “any” or “all”, to match on any of the provided filter params, or to match on all of them. Currently NITRO only supports a match on any approach, however, match on all is very useful and could be easily implemented in Python by doing extra filtering on the returned resources.
This would be super useful. The Terraform equivalent would be a data source resource that could be queried to get live config data to process.

Similar request as in #296 ? 🤔

Similar request as in #296 ? 🤔

Similar, however lookup plugins fit better IMO, since they're callable from Ninja and you might need to query for data while rendering a template

I guess I found many lookup plugin implementations at https://docs.ansible.com/ansible/latest/collections/index_lookup.html

Netbox has a good lookup query plugin:
https://docs.ansible.com/ansible/latest/collections/netbox/netbox/nb_lookup_lookup.html

authors: gusmb sumanth-lingappa


text:
The 4.1.68 milestone still contains open/unreleased issues

4.1.68 has been released and listed on the website etc, but while the related milestone has been closed it still contains many open/unreleased issues.

Fixed... thanks!

authors: gemmellr normanmaurer

repo: netty/netty


text:
Strange error when using OpenSSL with Netty and mutual SSL

Hello,
I have service with hundreds of mobile users and all works fine during long term run, but sometimes I see in logs
Reason : javax.net.ssl.SSLHandshakeException: error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure

Do you aware of what that could be?  The all info I have - users connected through 3g. So maybe slow connection could be an issue?
Netty 4.0.28.Final.

@doom369 this most likely means that the user either send bad data or dropped the connection during handshake.

@normanmaurer is the following exception also when the user has sent bad data or dropped the connection
 SSL_read failed: primingReadResult: -1; OpenSSL error: 'error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error'

there seems to be a bug reported : https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/861137
Tried using only "RC4-SHA" as the cipher as suggested in the posts in the above link but have not been able to rectify this

authors: doom369 jknair normanmaurer


text:
All worker threads waiting for addBefore task to finish

Netty 4.1.0.CR6
JDK 1.8.0_20
Linux 2.6.32-431.el6.x86_64
The EventLoopGroup size is 2.
In our code we try to add a Idle
channel.pipeline().addBefore(ChannelHandlerConstant.MQTT_DECODER_HANDLER_NAME,
						ChannelHandlerConstant.KEEP_ALIVE_TIMER_HANDLER_NAME, idleStateHandler);

And, since upgraded to CR6, quickly all the threads are locked like this:
"mqtt-netty-worker-3-2" #37 prio=5 os_prio=0 tid=0x00007fb085424800 nid=0x14fa in Object.wait() [0x00007fb0517b7000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:255)
    - locked <0x00000000e6dd0a98> (a io.netty.util.concurrent.PromiseTask)
    at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:33)
    at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:32)
    at io.netty.channel.DefaultChannelPipeline.waitForFuture(DefaultChannelPipeline.java:783)
    at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:300)
    at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:248)

"mqtt-netty-worker-3-1" #36 prio=5 os_prio=0 tid=0x00007fb085422800 nid=0x14f9 in Object.wait() [0x00007fb0518b8000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:255)
    - locked <0x00000000e6dd0d38> (a io.netty.util.concurrent.PromiseTask)
    at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:33)
    at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:32)
    at io.netty.channel.DefaultChannelPipeline.waitForFuture(DefaultChannelPipeline.java:783)
    at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:300)
    at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:248)
(...)

It doesn't reproduce in the previous netty version we used (4.1.0.Beta8).

@flozano can you show me the code where you add the handler ?

Sure, here it is:
	public void setIdleTimeSeconds(int idleTimeSeconds) {
		if (idleTimeSeconds > 0) {
			IdleStateHandler idleStateHandler = new IdleStateHandler(idleTimeSeconds, 0, 0);

			try {
				channel.pipeline().remove(ChannelHandlerConstant.KEEP_ALIVE_TIMER_HANDLER_NAME);
			} catch (NoSuchElementException e) {
				// Should happen
			}

			try {
				channel.pipeline().addBefore(ChannelHandlerConstant.MQTT_DECODER_HANDLER_NAME,
						ChannelHandlerConstant.KEEP_ALIVE_TIMER_HANDLER_NAME, idleStateHandler);
				LOGGER.debug("Added IdleStateHandler (channel={}, idleTimeSeconds={})", this, idleTimeSeconds);
			} catch (NoSuchElementException e) {
				// Should not happen
				LOGGER.error("Could not add IdleStateHandler: {} (channel={})", e.getMessage(), channel);
			}
		}
	}

@flozano quick question. Is this done from the EventLoop thread or not ?

also was the "ChannelHandlerConstant.MQTT_DECODER_HANDLER_NAME" added with a custom ChannelHandlerInvoker or EventExecutorGroup.

@flozano also when you say these are locked are these never recover ?

Yes, the full stack-trace shows setIdle as invoked in threads mqtt-netty-worker-3-1 and mqtt-netty-worker-3-2., which are the NioEventLoopGroup threads:
return new NioEventLoopGroup(0, new DefaultThreadFactory("mqtt-netty-worker"));

the `` was added in the ChannelInitializer as:
p.addLast(MQTT_DECODER_HANDLER_NAME, new MqttDecoder(brokerSettings.getMaxPayloadSize()));

so nothing special there either.

@flozano also when you say these are locked are these never recover ?

Yeah, no recovery in sight, the server gets fully locked.

This is full stack-trace of one of the locked threads:
"mqtt-netty-worker-3-2" #37 prio=5 os_prio=0 tid=0x00007fb085424800 nid=0x14fa in Object.wait() [0x00007fb0517b7000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:255)
    - locked <0x00000000e6dd0a98> (a io.netty.util.concurrent.PromiseTask)
    at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:33)
    at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:32)
    at io.netty.channel.DefaultChannelPipeline.waitForFuture(DefaultChannelPipeline.java:783)
    at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:300)
    at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:248)
    at com.my.server.common.ClientChannel.setIdleTimeSeconds(ClientChannel.java:355)
    at com.my.server.impl.MQTTProtocolProcessorImpl.lambda$processConnect$182(MQTTProtocolProcessorImpl.java:219)
    at com.my.server.impl.MQTTProtocolProcessorImpl$$Lambda$48/395923385.accept(Unknown Source)
    at java.util.concurrent.CompletableFuture.doWhenComplete(CompletableFuture.java:2048)
    at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2563)
    at com.my.server.impl.MQTTProtocolProcessorImpl.processConnect(MQTTProtocolProcessorImpl.java:196)
    at com.my.server.impl.MQTTProtocolProcessorImpl.lambda$onMessage$172(MQTTProtocolProcessorImpl.java:72)
    at com.my.server.impl.MQTTProtocolProcessorImpl$$Lambda$46/1016023276.run(Unknown Source)
    at com.my.server.executor.impl.QueueOnChannelTaskExecutorImpl$InternalChannelTask.run(QueueOnChannelTaskExecutorImpl.java:103)
    at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38)
    at io.netty.util.concurrent.PromiseTask.run(PromiseTask.java:73)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:339)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:373)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
    at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
    at java.lang.Thread.run(Thread.java:745)

@flozano I tried to reproduce here but no luck with a unit test. Any way I can reproduce this easily ?

We haven't isolated the issue yet I'm afraid, we can try

I found that the issue occurs as of version 4.1.0.CR3, in version 4.1.0.CR2 it is working fine.

@flozano from the stack trace may it be possible that while the thread is an EventLoop thread it may be possible that the addBefore(...) call is done in an EventLoop that not belongs to the Channel and so it's pipeline ?

We have only one eventLoop instance in the server for the worker threads, so I think is not possible that the Channel belongs to another one.

@johnou this is strange as the posted stack can only happen when the pipeline operation is executed from outside the EventLoop that belongs to it. And from what @flozano said you have 2 threads.

I think I can reproduce it here...

@flozano can you try to alter the code to:
public void setIdleTimeSeconds(int idleTimeSeconds) {
        channel.eventLoop().execute(() -> {
            if (idleTimeSeconds > 0) {
                IdleStateHandler idleStateHandler = new IdleStateHandler(idleTimeSeconds, 0, 0);

                try {
                    channel.pipeline().remove(ChannelHandlerConstant.KEEP_ALIVE_TIMER_HANDLER_NAME);
                } catch (NoSuchElementException e) {
                    // Should happen
                }

                try {
                    channel.pipeline().addBefore(ChannelHandlerConstant.MQTT_DECODER_HANDLER_NAME,
                            ChannelHandlerConstant.KEEP_ALIVE_TIMER_HANDLER_NAME, idleStateHandler);
                    LOGGER.debug("Added IdleStateHandler (channel={}, idleTimeSeconds={})", this, idleTimeSeconds);
                } catch (NoSuchElementException e) {
                    // Should not happen
                    LOGGER.error("Could not add IdleStateHandler: {} (channel={})", e.getMessage(), channel);
                }
            }
        });
    }

@normanmaurer with that modification the issue does not reproduce

@jorcasso ok that is what I expected... So let me think of a good way to fix it. On a related not writing concurrent code is hard :(

cool, thanks. With this condition, is it safe to use CR6 if we only modify the pipeline by submitting stuff to channel.eventLoop().execute(?

Yep

Am 08.04.2016 um 18:33 schrieb Francisco A. Lozano notifications@github.com:
cool, thanks. With this condition, is it safe to use CR6 if we only modify the pipeline by submitting stuff to channel.eventLoop().execute(?
—
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub

Fixed by https://github.com/netty/netty/pull/5110

@normanmaurer Is this issue only present in 4.1.0 CR6 release or in 4.0.36 as well? We are facing a similar scenario with 4.0.36.

@neeraj20gupta in 4.0.36 as well. Will release 4.0.37.Final this week.

cool, thanks.

@normanmaurer
However in my case the threads do recover back. While running benchmarks on the server we observed that for most duration EventLoopGroup worker threads are in wait state.
Please see the attached snapshot from visual VM. Netty Worker threads

I am not sure that if this is the desired behavior?
Netty version 4.0.36

"HandshakeBatchTimer0" prio=10 tid=0x00007f8350329000 nid=0x6d41 in Object.wait() [0x00007f833ce33000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:503)
at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:255)
- locked <0x0000000605e8dec0> (a io.netty.util.concurrent.PromiseTask)
at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:33)
at io.netty.util.concurrent.AbstractFuture.get(AbstractFuture.java:32)
at io.netty.channel.DefaultChannelPipeline.waitForFuture(DefaultChannelPipeline.java:667)
at io.netty.channel.DefaultChannelPipeline.replace(DefaultChannelPipeline.java:558)
at io.netty.channel.DefaultChannelPipeline.replace(DefaultChannelPipeline.java:509)
at com.suning.pushservice.ps.device.HandshakeHandler.batchHandler(HandshakeHandler.java:175)
at com.suning.pushservice.ps.device.AbstractBatchHandler$InternalHandler.processInterval(AbstractBatchHandler.java:200)
at com.suning.pushservice.ps.device.AbstractBatchHandler$InternalHandler.access$400(AbstractBatchHandler.java:128)
at com.suning.pushservice.ps.device.AbstractBatchHandler$InternalHandler$1.run(AbstractBatchHandler.java:151)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
I am not sure that if this is the same issue
Netty version 4.0.36

authors: flozano jorcasso neeraj20gupta normanmaurer piweiwen


text:
set localaddress on DnsNameResolver

Expected behavior
my computer has two ethernet cards, so what's the right way to specify an ethernet card when i do dns query ?
Actual behavior
no localAddress(......) method  found on DnsNameResolverBuilder
Steps to reproduce
Minimal yet complete reproducer code (or URL to code)
Netty version
4.1.30
JVM version (e.g. java -version)
jdk8
OS version (e.g. uname -a)
win7

@swoky there is currently no way... but I suspect we could allow this.

authors: normanmaurer swoky


text:
Fix explicitly little-endian accessors in SwappedByteBuf

Motivation:
Some buffers implement ByteBuf#order(order) by wrapping themselves in a SwappedByteBuf.
The SwappedByteBuf is then responsible for swapping the byte order on accesses.
The explicitly little-endian accessor methods, however, should not be swapped to big-endian, but instead remain explicitly little-endian.
Modification:
The SwappedByteBuf was passing through calls to e.g. writeIntLE, to the big-endian equivalent, e.g. writeInt.
This has been changed so that these calls delegate to their explicitly little-endian counterpart.
Result:
This makes all buffers that make use of SwappedByteBuf for their endian-ness configuration, consistent with all the buffers that use other implementation strategies.
In the end, all buffers now behave exactly the same, when using their explicitly little-endian accessor methods.
This addresses the problem that @franz1981 noticed here: https://github.com/netty/netty/issues/10731#issuecomment-716315268

@chrisvest there are some test failures. please check

@normanmaurer Tests fixed and builds pass.

Thanks a lot @chrisvest

authors: chrisvest normanmaurer


text:
Introduce BrotliDecoder

Motivation:
Netty lacks client side support for decompressing Brotli compressed response bodies.
Modification:

Introduce optional dependency to brotli4j by @hyperxpro. It will be up to the user to provide the brotli4j libraries for the target platform in the classpath. brotli4j is currently available for Linux, OSX and Windows, all for x86 only.
Introduce BrotliDecoder in codec module
Plug it onto HttpContentDecompressor for HTTP/1 and DelegatingDecompressorFrameListener for HTTP/2
Add test in HttpContentDecoderTest

Result:
Netty now supports decompressing Brotli compressed response bodies.

cc @hyperxpro

cc @hyperxpro

@normanmaurer @hyperxpro The PR fails randomly on Linux (first build failed on Java 8, second one failed on Java 11 while Java 8 was successful) with the following error:

2021-01-25T22:09:01.2229566Z 22:09:01.212 [main] DEBUG i.n.handler.codec.compression.Brotli - Failed to load brotli4j; Brotli support will be unavailable.
2021-01-25T22:09:01.2232104Z java.lang.UnsatisfiedLinkError: /tmp/com_aayushatharva_brotli4j_1234063592518/libbrotli.so: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/com_aayushatharva_brotli4j_1234063592518/libbrotli.so)

Do you guys have any idea? Is it an issue with GH Actions where hosts are inconsistent? It there any way to compile the native lib differntly?

@normanmaurer @hyperxpro The PR fails randomly on Linux (first build failed on Java 8, second one failed on Java 11 while Java 8 was successful) with the following error:

2021-01-25T22:09:01.2229566Z 22:09:01.212 [main] DEBUG i.n.handler.codec.compression.Brotli - Failed to load brotli4j; Brotli support will be unavailable.
2021-01-25T22:09:01.2232104Z java.lang.UnsatisfiedLinkError: /tmp/com_aayushatharva_brotli4j_1234063592518/libbrotli.so: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/com_aayushatharva_brotli4j_1234063592518/libbrotli.so)

Do you guys have any idea? Is it an issue with GH Actions where hosts are inconsistent? It there any way to compile the native lib differntly?

Looks like a dependency error. @normanmaurer Help :D

Looks like a dependency error. @normanmaurer Help :D

@slandelle @hyperxpro we use Centos 6 on our CI setup to ensure the maximum compatibility. Your native artefacts were compiled on something which has GLIBC_2.29 which is a lot newer to what cantos 6 offers. For maximum compatibility you should ensure you compile it on a system with a very old GLIBC version.

@slandelle @hyperxpro we use Centos 6 on our CI setup to ensure the maximum compatibility. Your native artefacts were compiled on something which has GLIBC_2.29 which is a lot newer to what cantos 6 offers. For maximum compatibility you should ensure you compile it on a system with a very old GLIBC version.

I used GitHub Actions for building the native library.

I used GitHub Actions for building the native library.

@hyperxpro yeah this explains it as they use ubuntu 18 (as minimum). You will need to use something like docker to compile with centos6. Thats what we do

@hyperxpro yeah this explains it as they use ubuntu 18 (as minimum). You will need to use something like docker to compile with centos6. Thats what we do

Just a comment: there is no chance to get a JNI-free pure Java impl?

Just a comment: there is no chance to get a JNI-free pure Java impl?

Just a comment: there is no chance to get a JNI-free pure Java impl?

Nope, not yet.

Just a comment: there is no chance to get a JNI-free pure Java impl?

Nope, not yet.

Just a comment: there is no chance to get a JNI-free pure Java impl?

The java implementation has been lagging behind for a very long time. Last release was in May 2017.

Just a comment: there is no chance to get a JNI-free pure Java impl?

The java implementation has been lagging behind for a very long time. Last release was in May 2017.

@slandelle

The java implementation has been lagging behind for a very long time. Last release was in May 2017.

Recently I see the good trend to get some JNI code turned into Java one, even while accessing native resources and I like it, for many reasons.
I'm looking on https://github.com/google/brotli/tree/master/java/org/brotli if is pure-Java or not...

@slandelle

The java implementation has been lagging behind for a very long time. Last release was in May 2017.

Recently I see the good trend to get some JNI code turned into Java one, even while accessing native resources and I like it, for many reasons.
I'm looking on https://github.com/google/brotli/tree/master/java/org/brotli if is pure-Java or not...

@franz1981 franz1981
Assuming similar levels of performance and maintenance, I agree I'd rather have a pure Java implementation than a JNI one.
Sadly, so far:

the Brotli team hasn't been actively maintaining the pure Java implementation, on contrary to the C one.
I've never seen a benchmark comparing the performance of the Java based implementation. I would expect le latter to be implemented mostly for the sake of the client side on Android, where performance is not really an issue (low throughput per client instance).

@franz1981 franz1981
Assuming similar levels of performance and maintenance, I agree I'd rather have a pure Java implementation than a JNI one.
Sadly, so far:

the Brotli team hasn't been actively maintaining the pure Java implementation, on contrary to the C one.
I've never seen a benchmark comparing the performance of the Java based implementation. I would expect le latter to be implemented mostly for the sake of the client side on Android, where performance is not really an issue (low throughput per client instance).

@normanmaurer I've just addressed your comments, thanks!
@hyperxpro The ball is now in your court :) Please chime in once you've fixed the glibc issue (sorry, I can't help with that).

@normanmaurer I've just addressed your comments, thanks!
@hyperxpro The ball is now in your court :) Please chime in once you've fixed the glibc issue (sorry, I can't help with that).

@normanmaurer CentOS 6 has officially reached EOL. You sure we need to compile Linux binary on CentOS 6?

@normanmaurer CentOS 6 has officially reached EOL. You sure we need to compile Linux binary on CentOS 6?

@hyperxpro while it is EOL I still think it is a good idea for max compatibility

@hyperxpro while it is EOL I still think it is a good idea for max compatibility

@hyperxpro while it is EOL I still think it is a good idea for max compatibility

After some digging, I second @normanmaurer here: the glibc version on the latest Amazon Linux 2 is 2.26, so we definitely require 2.29.

@hyperxpro while it is EOL I still think it is a good idea for max compatibility

After some digging, I second @normanmaurer here: the glibc version on the latest Amazon Linux 2 is 2.26, so we definitely require 2.29.

What's the GLIBC version I need to compile this with?

What's the GLIBC version I need to compile this with?

@chrisvest
WDYM? This is a new and optional feature.

@chrisvest
WDYM? This is a new and optional feature.

What's the GLIBC version I need to compile this with?

From distrowatch, CentOS 6 has glibc 2.12 while CentOS 7 has glibc 2.17.

What's the GLIBC version I need to compile this with?

From distrowatch, CentOS 6 has glibc 2.12 while CentOS 7 has glibc 2.17.

Yes just use cents 6 which uses glib 2.12... OpenJDK compiles against and old GLIBC for the same reasons as well.

Yes just use cents 6 which uses glib 2.12... OpenJDK compiles against and old GLIBC for the same reasons as well.

@normanmaurer Would you mind helping me build? My docker experience is almost null.
:-|

@normanmaurer Would you mind helping me build? My docker experience is almost null.
:-|

@hyperxpro sorry I am super busy atm so I can't help a lot here. But basically this should give you some idea:
https://github.com/netty/netty/blob/4.1/docker/Dockerfile.centos6
https://github.com/netty/netty/blob/4.1/docker/docker-compose.yaml
https://github.com/netty/netty/blob/4.1/docker/docker-compose.centos-6.18.yaml

@hyperxpro sorry I am super busy atm so I can't help a lot here. But basically this should give you some idea:
https://github.com/netty/netty/blob/4.1/docker/Dockerfile.centos6
https://github.com/netty/netty/blob/4.1/docker/docker-compose.yaml
https://github.com/netty/netty/blob/4.1/docker/docker-compose.centos-6.18.yaml

I give up Docker. WSL 2 is making me cry. @slandelle Can you help in building the binary of Linux?

I give up Docker. WSL 2 is making me cry. @slandelle Can you help in building the binary of Linux?

@slandelle Go ahead with this. I don't have plans to downgrade the GLIBC version. Brotli4jLoader#isAvailable call should be enough.

@hyperxpro I'll try to have someone at Gatling take a look next week at the Docker/GH Action configuration.
As is:

this PR can't be merged as it doesn't pass Netty's CI
brotli4j doesn't work on current major distributions, including Amazon Linux 2. From my (Gatling) PoV, that's a major blocker.

I agree with your point. I also saw some issues with RHEL 8.X.

Some update on this: we (at Gatling) can't manage to compile the original Brotli code on CentOS6. We plan on contributing fixes to brotli4j so that Linux binaries work on widespread modern distributions (eg current Amazon Linux) and keep on integrating on our side.
As for contributing upstream to Netty, until Netty revisits its CentOS compatibility requirement, the only solution I see is to disable Brotli related tests on linux-x86_64.
Thoughts?

@slandelle Agree with your points. Also, please do the PR for Brotli4j.

@hyperxpro Yeah, we're working on this. We're still working on the CentOS docker image as it's still quite large.

Just updated PR with brotli4j 1.4.0, which is compatible with CentOS 6.

@slandelle Do you have plans for Brotli Encoder or I should add it to my list?

Do you have plans for Brotli Encoder or I should add it to my list?

@hyperxpro no, no plans, sorry. In Gatling, we're mainly focused on the client side, so it's very unlikely we'll ever work on the encoder ourselves. And we're still working on trying to make the binary work on CentOS6.

Do you have plans for Brotli Encoder or I should add it to my list?

@hyperxpro no, no plans, sorry. In Gatling, we're mainly focused on the client side, so it's very unlikely we'll ever work on the encoder ourselves. And we're still working on trying to make the binary work on CentOS6.

Alright. I will do PR for the encoder after we're done fixing the binary issue and merger of this PR.

Error:  COMPILATION ERROR :
[INFO] -------------------------------------------------------------
Error:  /home/runner/work/netty/netty/codec-http/src/test/java/io/netty/handler/codec/http/HttpContentDecoderTest.java:[225,33] error: unreported exception Throwable; must be caught or declared to be thrown
[INFO] 1 error
[INFO] -------------------------------------------------------------

ByteBuf leak ;/ @slandelle

@normanmaurer Please hold reviews for now. I'm investigating a test failure I'm having a hard time reproducing locally. I have to stay the test suite is very weird, with  static AbstractDecoderTest#compressedBytesLarge actually loaded from ctor. This seems to be some JUnit hack, but this hack crashes with NPE when trying to run one single test, eg mvn -Dtest=io.netty.handler.codec.compression.BrotliDecoderTest test.

authors: franz1981 hyperxpro normanmaurer slandelle


text:
Fix issue if encoding is enabled but not used

Motivation:
Fixes an IllegalReferenceCountException
Modification:
Retained the buffers so the encoder works correctly.
Result:
Fixes #11357

I thought something else was wrong in https://github.com/netty/netty/pull/11093 but managed to convince myself that it was fine. Turns out that there are similar problems for HTTP/1.0 and requests that don't set an accept-encoding.

Fixed, no idea how that happened.


text:
Prefer JDK ThreadLocalRandom implementation over ours.

Motivation:
We have our own ThreadLocalRandom implementation to support older JDKs . That said we should prefer the JDK provided when running on JDK >= 7
Modification:
Using ThreadLocalRandom implementation of the JDK when possible.
Result:
Make use of JDK implementations when possible.

Cherry-picked into 4.0 (da94a908ad5b045ef5ae6d2bb8b1fcade654bf00)

authors: Scottmitch normanmaurer


text:
icmp-responder-nse-1 fails with UnexpectedAdmissionError

Expected Behavior
icmp-responder-nse-1 restarts on UnexpectedAdmissionError
Current Behavior
icmp-responder-nse-1 pod fails with UnexpectedAdmissionError
Failure Information (for bugs)
  Warning  FailedScheduling          26s   default-scheduler     0/2 nodes are available: 1 node(s) didn't match node selector, 2 Insufficient networkservicemesh.io/socket.
  Normal   Scheduled                 20s   default-scheduler     Successfully assigned default/icmp-responder-nse-1 to kube-master
  Warning  UnexpectedAdmissionError  20s   kubelet, kube-master  Update plugin resources failed due to rpc error: code = Unavailable desc = transport is closing, which is unexpected.

Steps to Reproduce

Break nsmdp Allocate function with return or os.Exit
Start nsmgr
Start icmp-responder-nse-1

Context

Kubernetes Version: v1.14.1

Issue in kubernetes tracker: https://github.com/kubernetes/kubernetes/issues/70010

repo: networkservicemesh/networkservicemesh


text:
Add caching lifetime

This commit adds a lifetime for cached files so they will be automatically updated when they exceed a certain age. This will be useful when there are online files we'd like to access and cache, but update occasionaly.
It also bumps the version, as I'd like to use this in ExplainaBoard web.

Ah, good point! It'd probably be good to get that in addition to letting the user specify.

repo: neulab/ExplainaBoard


text:
Internal dev README (potentially user-facing README)

A simple guide to using the new sparsezoo.
I would like this document to end up as a part of our user-facing docs. Let's discuss what properties this would need to have to be as useful as possible for our users.

@dbogunowicz what's the plan with this doc? still want to merge or no?

@corey-nm absolutely. It ended up in limbo, waiting for reviews. Let me ping the rest of the team to decide how to complete this PR.

Revisited the PR, fused my write-up with the repositories README.md, added some missing features to the documentation, and tested all the pathways.

@markurtz for sure

authors: corey-nm dbogunowicz

repo: neuralmagic/sparsezoo


text:
command to exit with code > 0

Many programs use external editors, eg, git commit will use $EDITOR to edit the commit message.  If the editor exits with non-zero exit code, this error aborts the commit operation.
While in this particular case, not saving the file is an alternative workflow (though not equivalent), in general, a "quit with some exit code > 0" command would be very helpful, especially given the terminal-centric nature of flow.

The command you are looking for is force_terminate. That will force flow to terminal (even with unsaved changes) with exit code 99.

Sorry for the noise.. I had seen the command, but messed up during my checking the exit code.

authors: ilohmar neurocyte

repo: neurocyte/flow


text:
Replace pylint call in .ci.sh with a more useful linting check

We have pylint running on every CI job:
https://github.com/neuropoly/spinalcordtoolbox/blob/6172cd22feeb0f64ac1bd68bce3f89f7109e68b8/.ci.sh#L26-L28
but there never seems to be any output from it. e.g. there's https://travis-ci.com/github/neuropoly/spinalcordtoolbox/jobs/466281661#L3994

Collecting pylint
Downloading pylint-2.6.0-py3-none-any.whl (325 kB)

but I've never seen code fail the linting step. Is this actually doing anything?

@joshuacwnewton prompted this.

pylint does indeed run. But, the presence of --errors-only hides a number of message types, hence the empty output. Removing --errors-only shows a ton of warnings that have silently gone unnoticed. (pylint-log.txt)
Checking for these warnings/style tips is the main point of pylint! Without them, I don't think this pylint call is very useful to us. In fact, I'm not sure this call is even worth keeping if kept as-is, unless we improve it in some way.
(Historical context: The call was added in 2018 as part of https://github.com/neuropoly/spinalcordtoolbox/commit/cbcbc83b596b89ec505470c97eb7edfb5ddb578e.)

Because of the sheer number of warnings, it would be quite a large undertaking to eliminate them all, so I don't think we can rely on simply calling pylint as a required check. Instead, I think it would be more useful to try to lint PR diffs. (That is, focus on preventing new issues introduced by the changes in PRs.)
Some ideas:

Manually run flake8 --diff, comparing master to the PR commit, which is what scikit-learn does.
Use one of the available GitHub Actions for running various linters on PRs (e.g. python-lint, flake8-your-pr, Lintly-flake8)

We should definitely get it out of .ci.sh; or at least make it an optional section.
flake8 --diff is an interesting idea! I take it that means it would only catch newly introduced problems? That could be good. But it also means that if someone gets something past it we'll forget about the issue until someone runs pylint or flake8 manually again.

But it also means that if someone gets something past it we'll forget about the issue until someone runs pylint or flake8 manually again.

True. But, at the same time, it would mean our warnings would go from, say, ~70,000 to 70,001... we're sort of past the point of addressing each and every issue. I'm thinking of this more as a "stem the bleeding" measure than tackling this head-on. :sweat_smile:

:sweat_smile:

And of course, our pylint doesn't even work with SCT_INSTALL_TYPE=package: https://github.com/neuropoly/spinalcordtoolbox/runs/1629734147?check_suite_focus=true#step:5:1817 (tangential to #3140)

Duplicate of  #1538  ?

Duplicate of  #1538  ?

Good catch. I mentioned the new info from here in that issue. Closing this one. :slightly_smiling_face:

Good catch. I mentioned the new info from here in that issue. Closing this one. :slightly_smiling_face:

authors: joshuacwnewton kousu

repo: neuropoly/spinalcordtoolbox


text:
Update Installation section in docs for MacOS Big Sur, add section for FSLeyes

Description
This pull request does the following:

Add a section for installing FSLeyes in docs
Add a section for installing FSLeyes on MacOS Big Sur (not officially supported by FSLeyes so we needed a workaround)
Add a new section called FSLeyes Integration, which describes how to use the SCT plugin in FSLeyes

Linked issues
https://github.com/neuropoly/spinalcordtoolbox/issues/3223
Related issues
https://github.com/pauldmccarthy/fsleyes/issues/70

Also, if anyone has anything to add, let me know! I haven't added the section for Linux users, although I'm guessing it's the same as the Windows subsystem one?

Checked on Big Sur, the documentation is correct.


text:
pip install skips noisers

Hi,
Thanks for the work.
Any idea why pip install neuspell doesn't install noising methods also?

Followup: is it possible to add them to it, thanks.

Hi,
You can try using git clone instead of pip to install the neuspell, then you can import noising module.
I used Repo module from gitPython to install it, so far so good.

I'm having the same issue with neuspell installed through pip. Is anyone following up with the problem?

@shivashankarrs I have a workaround for the missing noising package through pip install.
After install neuspell through pip, navigate to its directory. For me (using macOS 11.5.2) it looks like this:
/Users/XXXXXX/miniconda3/envs/py37/lib/python3.7/site-packages/neuspell
Then manually copy the /noising folder of the repository under /neuspell.
I also noticed the files under /neuspell are not up to date. So you may have to replace them with those downloaded from GitHub.
Hope this helps

repo: neuspell/neuspell


text:
XRDP-0.9.7 queries

Hi,
On RHEL6 we could see xrdp-0.6.1 only available in epel repository.
Can anyone please let us know does that means this latest version cannot compatible for RHEL6.

It's up to EPEL team.

authors: Abinayasandhiya metalefty

repo: neutrinolabs/xrdp


text:
Unable to add Logging Feature to MicroAgent

Description
After following the guide to include the logging feature here: https://docs.newrelic.com/docs/browser/new-relic-browser/browser-apis/log/ - I am unable to send log events to NewRelic. The code executes but no events are sent from the browser.
If I switch from initialising a MicroAgent to an Agent instance, everything works as expected.
As the project I am working on is part of a micro-front-end architecture I am keen to use the API driven approach of the MicroAgent. Are there any other steps required for activating the feature?
Steps to Reproduce
Initialise a MicroAgent with the optional Logging feature (as per the post above).
I have repro'd this outside of the MFE architecture of the project I am working on with a simple React + Vite project.
Example Setup Code:
import { MicroAgent } from "@newrelic/browser-agent/loaders/micro-agent";
import { Logging } from "@newrelic/browser-agent/features/logging";

const newRelicAgent = new MicroAgent({
    init: {
        distributed_tracing: { enabled: true },
        privacy: { cookies_enabled: true },
        ajax: { deny_list: ["bam.nr-data.net"] },
    },
    info: {
        beacon: "bam.nr-data.net",
        errorBeacon: "bam.nr-data.net",
        licenseKey: "...",
        applicationID: "...",
        sa: 1,
    },
    loader_config: {
        accountID: "...",
        trustKey: "...",
        agentID: "...",
        licenseKey: "...",
        applicationID: "...",
    },
    features: [Logging],
});

Example Usage:
newRelicAgent.log("Performance-Event", { level: "INFO", customAttributes: { duration: 1234 }});

Expected Behavior
Log events are sent from the browser and are visible in the New Relic UI.
Relevant Logs / Console output
Nothing is written to the console.
Your Environment

Browser
Tested with Chrome, Firefox, Safari

OS
MacOS Sonoma (v14.6.1)

Browser Agent
v1.265.1

Thanks for sharing this @matt-calderwood-ep .  We have work on our backlog to add the logging APIs to the microagent loader, but this work has yet to be done.  I will bring this up with our PM and see if we can prioritize that.

Quick update on this from our PM.  We will be adding this functionality to the MicroAgent loader within the next sprint.  Thanks for bringing this forward

Awesome, thank you @metal-messiah
Really appreciate the fast response and quick turnaround on this.

Hey @metal-messiah, do you have an ETA about the Logging feature for Micro Agent? I work alongside @matt-calderwood-ep @EducationPerfect. We have a micro-frontend architecture and rely a lot on NR micro-agents for our mfes. That logging feature will be very helpful for our teams 🙌 Cheers!

repo: newrelic/newrelic-browser-agent


text:
Node 20.14.0 version not taking "-r" option in startup scripts.

Description
Node 20.14.0 version not taking "-r" option in startup scripts.
NODE_OPTIONS='-r @newrelic/next' next dev
Throwing  error as below:
pnpm/nodejs/20.14.0/bin/node: --r= is not allowed in NODE_OPTIONS
Expected Behavior
we expect to run with node options -r.
Steps to Reproduce
Try starting the app as below
"scripts": {
"dev": "NODE_OPTIONS='-r @newrelic/next' next dev",
"build": " NODE_OPTIONS='-r @newrelic/next next build",
"start": "NODE_OPTIONS='-r @newrelic/next next start",
Throwing  error as below:
pnpm/nodejs/20.14.0/bin/node: --r= is not allowed in NODE_OPTIONS

this is how you inject the instrumentation though. I'll take a look

@suryaaemops i think your issue is that you may have two hyphens -.  Looking at that error
pnpm/nodejs/20.14.0/bin/node: --r= is not allowed in NODE_OPTIONS

it shows --r but should be -r

repo: newrelic/newrelic-node-nextjs


text:
Error Group Callback API

Overview

WIP

Codecov Report

Merging #785 (f860804) into main (fbb851e) will decrease coverage by 6.58%.
The diff coverage is 69.36%.

@@            Coverage Diff             @@
##             main     #785      +/-   ##
==========================================
- Coverage   63.93%   57.36%   -6.58%
==========================================
  Files         264      264
  Lines       26129    26199      +70
  Branches     4460     4481      +21
==========================================
- Hits        16706    15028    -1678
- Misses       8271     9858    +1587
- Partials     1152     1313     +161

Impacted Files
Coverage Δ

newrelic/core/attribute.py
71.31% <ø> (-24.60%)
:arrow_down:

newrelic/core/error_node.py
100.00% <ø> (ø)

newrelic/api/settings.py
52.38% <28.57%> (-47.62%)
:arrow_down:

newrelic/core/stats_engine.py
67.92% <39.13%> (-11.65%)
:arrow_down:

newrelic/api/time_trace.py
63.55% <52.00%> (-21.52%)
:arrow_down:

newrelic/core/transaction_node.py
81.81% <84.11%> (-14.71%)
:arrow_down:

newrelic/agent.py
99.60% <100.00%> (+<0.01%)
:arrow_up:

newrelic/api/transaction.py
70.27% <100.00%> (-11.03%)
:arrow_down:

newrelic/core/config.py
84.82% <100.00%> (-6.84%)
:arrow_down:

... and 71 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

authors: TimPansino codecov-commenter

repo: newrelic/newrelic-python-agent


text:
Problem with "timeRangeToNrql"

Description
The Problem is "If I timeRangeToNrql functionality in my nerdlet, the UI is not getting rendering.
The below is showing in Visual Studio Code at import statement
Could not find a declaration file for module '@newrelic/nr1-community'. 'c:/SRE/test/testing/node_modules/@newrelic/nr1-community/dist/index.js' implicitly has an 'any' type.
Try npm i --save-dev @types/newrelic__nr1-community if it exists or add a new declaration (.d.ts) file containing declare module '@newrelic/nr1-community';
We are tyring to make use of "timeRangeToNrql" from "@newrelic/nr1-community" package in order to access default Datetimepicker provided by nerdpack. It was working until around 10/30/2023 10 AM EST. From chrome console we observed below error
Uncaught (in promise) ReferenceError: regeneratorRuntime is not defined
    at index.es.js:24:2303
    at index.es.js:24:3275
    at Module.<anonymous> (index.es.js:32:985)
    at ./node_modules/@newrelic/nr1-community/dist/index.es.js (vendors~feee8365-58d5-4e00-8de9-32ea9721a57f--home~latest.js:52549:30)
    at __webpack_require__ (bootstrap:82:1)
    at ./nerdlets/home/index.js (bootstrap:261:1)
    at __webpack_require__ (bootstrap:82:1)
    at Object.__factory (bootstrap:257:1)
    at z (3rd-app-fdec6153.js:1:3122530)
    at 3rd-app-fdec6153.js:1:2073654

If I comment below import
import { timeRangeToNrql } from '@newrelic/nr1-community'
then UI is getting rendered.
below is the sample code
import React from 'react';

import {
  LineChart,
  PlatformStateContext,
} from 'nr1'

import { timeRangeToNrql } from '@newrelic/nr1-community'

export default class HomeNerdlet extends React.Component {
  render() {
    let query = `from NrAiIncident SELECT count(*) where event = 'close' and tags.label.appname is not null facet dayOfMonthOf(timestamp), tags.label.appname`

    return (
      <>
        <PlatformStateContext.Consumer>
          {
            (PlatformState) =>  {
              const since = timeRangeToNrql(PlatformState)
              return (
                <LineChart
                  accountIds={[2327062]}
                  query={
                    query +
                    ' ' +
                    since +
                    'TIMESERIES AUTO'
                  }
                  fullWidth
                />
              )
            }
          }
        </PlatformStateContext.Consumer>
      </>
    )
  }
}

Steps to Reproduce
Expected Behaviour
Relevant Logs / Console output
Your Environment

NR1 CLI version used: @datanerd/nr1/2.83.5 win32-x64 node-v16.11.1
Browser name and version: Chrome Version 119.0.6045.105 (Official Build) (64-bit)
Operating System and version: Windows 11

Additional context

For now, resolved the issue by changing to import to below
import { timeRangeToNrql } from '@newrelic/nr-labs-components'


text:
Automated agent bundling for containerized applications

For containerized environments, and for language agents that require modifications to source code- customers typically "bundle" agents in within their application. This usually entails making changes to Dockerfiles in addition to modifying source code and dependencies for certain languages.
Requirement Overview : Provide capabilities to interrogate and modify a Dockerfile in order to bundle agents in with a containerized application through the new relic CLI. This tooling will need to be accompanied by CI platform specific guidance or an integration (if possible) to expose the NR license key in a secure manner.

Acceptance Criteria:

Aha! Link: https://newrelic.aha.io/features/VIRTUOSO-12

dupe of #28

repo: newrelic/open-install-library


text:
Added contrib scripts for image preview

See #480

Coverage remained the same at 39.873% when pulling e9d3d8a161dc1770e8b1e22f48883d999e1b5a8a on Sermak-GIT:image-preview into 86097d60a143dd87e700586b2609a679ba7082dc on newsboat:master.

Coverage remained the same at 39.873% when pulling e9d3d8a161dc1770e8b1e22f48883d999e1b5a8a on Sermak-GIT:image-preview into 86097d60a143dd87e700586b2609a679ba7082dc on newsboat:master.

Coverage remained the same at 39.873% when pulling e9d3d8a161dc1770e8b1e22f48883d999e1b5a8a on Sermak-GIT:image-preview into 86097d60a143dd87e700586b2609a679ba7082dc on newsboat:master.

Cool; thank you very much, @Sermak-GIT!

authors: Minoru Sermak-GIT coveralls

repo: newsboat/newsboat


text:
No license detected in a docker scans of docker://redis:buster

I created a project and scanned docker://redis:buster  with a docker pipeline.
No license was detected at all using the tip of the main branch

Let's take a data example of an installed_packages in https://github.com/nexB/scancode.io/blob/main/scanpipe/pipes/docker.py#L182
{'api_data_url': None,
 'bug_tracking_url': None,
 'code_view_url': None,
 'copyright': None,
 'declared_license': None,
 'source_packages': ['pkg:deb/zlib'],
 'subpath': None,
 'type': 'deb',
 'vcs_url': None,
 'version': '1:1.2.11.dfsg-1'
 'description': 'compression library - runtime\n'
                ' zlib is a library implementing the deflate compression '
                'method found\n'
                ' in gzip and PKZIP.  This package includes the shared '
                'library.',
 'homepage_url': 'http://zlib.net/',
 'keywords': ['libs'],
 'license_expression': None,
 'name': 'zlib1g',
 'namespace': None,
 'notice_text': None,
 'package_uid': 'pkg:deb/zlib1g@1:1.2.11.dfsg-1?architecture=amd64&uuid=fec22812-0d35-49e2-a0d9-7c9d381138a2',
 'primary_language': None,
 'purl': 'pkg:deb/zlib1g@1:1.2.11.dfsg-1?architecture=amd64',
 'qualifiers': {'architecture': 'amd64'},
 'resources': [{'for_packages': ['pkg:deb/zlib1g@1:1.2.11.dfsg-1?architecture=amd64&uuid=fec22812-0d35-49e2-a0d9-7c9d381138a2',
                                 'pkg:deb/zlib1g@1:1.2.11.dfsg-1?architecture=amd64&uuid=fec22812-0d35-49e2-a0d9-7c9d381138a2'],
                'package_data': [{'api_data_url': None,
                                  'bug_tracking_url': None,
                                  'code_view_url': None,
                                  'copyright': '1995-2013 Jean-loup Gailly and '
                                               'Mark Adler\n'
                                               '1998 by Andreas R. Kleinert\n'
                                               '1998-2010 Gilles Vollant\n'
                                               '2007-2008 Even Rouault\n'
                                               '2009-2010 Mathias Svensson\n'
                                               '2000-2017 Mark Brown',
                                  'datasource_id': 'debian_copyright_in_package',
                                  'declared_license': ['Zlib',
                                                       'Zlib',
                                                       'Zlib',
                                                       'Zlib',
                                                       'Zlib'],
                                  'dependencies': [],
                                  'description': None,
                                  'download_url': None,
                                  'extra_data': {},
                                  'file_references': [],
                                  'homepage_url': None,
                                  'keywords': [],
                                  'license_expression': 'zlib AND zlib AND '
                                                        'zlib AND zlib',
                                  'md5': None,
                                  'name': 'zlib1g',
                                  'namespace': None,
                                  'notice_text': None,
                                  'parties': [],
                                  'primary_language': None,
                                  'purl': 'pkg:deb/zlib1g',
                                  'qualifiers': {},
                                  'release_date': None,
                                  'repository_download_url': None,
                                  'repository_homepage_url': None,
                                  'sha1': None,
                                  'sha256': None,
                                  'sha512': None,
                                  'size': None,
                                  'source_packages': [],
                                  'subpath': None,
                                  'type': 'deb',
                                  'vcs_url': None,
                                  'version': None}],
                'path': '476baebdfbf7a68c50e979971fcd47d799d1b194bcf1f03c1c979e9262bcd364/usr/share/doc/zlib1g/copyright',
                'scan_errors': [],
                'type': 'file'},
 }

copyright, declared_license, and license_expression are empty at the package level so during package creation in https://github.com/nexB/scancode.io/blob/main/scanpipe/pipes/docker.py#L186 nothing is set for those fields.

The resources.package_data contains scan values but those are never used in the current code, as the package is not created from those, and the codebase resource is never updated with those neither when assigned to the package instance https://github.com/nexB/scancode.io/blob/main/scanpipe/pipes/docker.py#L219

For some reason entries are duplicated in for_packages.

Thanks for the inputs
I tracked the issue of 1. to a bug in SCTK... working on a fix!
For 2., resources.package_data are no longer used correctly but the data should still be processed correctly. I will submit a fix

is anot SCTK bug

See https://github.com/nexB/scancode-toolkit/pull/3036 for the fixes on the SCTK side

authors: pombredanne tdruez


text:
Also parse text and HTML OpenSSL feeds

OpenSSL publishes an XML feed that we parse but this is not updated
https://www.openssl.org/news/vulnerabilities.html
and https://www.openssl.org/news/secadv/ should be alternative good sources.

OpenSSL also provides an updated JSON feed https://www.openssl.org/news/secjson

Structured data are gone: XML data is gone, secadv/ index is gone and secjson/ index is gone.

The security data comes from a private repository per https://github.com/openssl/web/blob/d3ec13fa40e74fad789462dee4323faa2c6d2991/Makefile#L526 but seems no longer published.

OpenSSL also has now "premium releases" that are built as explained there https://github.com/openssl/tools/blob/291a580209449f6aebf34e433f3b5f9afbd44c2b/HOWTO-publish-a-release.md

I filed https://github.com/openssl/web/issues/483 upstream as this is problematic.
At the moment the ways to solve this issue would be:

Scrape the HTML page to get the list of known vulnerabilities OpenSSL ids and CVEs
Fetch the corresponding JSON for each CVE as is https://www.openssl.org/news/secjson/CVE-2002-0659.json
Alternatively parse the unstructured text as in https://www.openssl.org/news/secadv/20240115.txt

(note that the date used by OpenSSL as a vulnerability ID is different from the CVE id)

Just some status:

OpenSSL website is reorged and this is a bit of a mess at the new https://openssl-library.org/ because of missing redirects

https://openssl.org/news/secjson/CVE-2002-0659.json does not redirect at https://openssl-library.org/news/secjson/CVE-2002-0659.json ... there is no directory listing

The text advisories cannot be listed anymore (no directory listing) but redirect https://github.com/openssl/web/issues/493

See other woes at https://github.com/openssl/web/issues/483#issuecomment-2080436149

https://www.cve.org/CVERecord?id=CVE-2024-5535 and https://cveawg.mitre.org/api/cve/CVE-2024-5535 (JSON)  seem to be mostly but not exactly the same  as the HTML advisories at https://openssl-library.org/news/vulnerabilities/index.html

JSON advisories seem gone from the new web site

With all this, scraping the web page is likely the way out.

authors: keshav-space pombredanne

repo: nexB/vulnerablecode


text:
Additional - 페이징, Replication

[추가] 페이징, Replication에 대한 PR입니다.

초기 구성시, detach 모드로 실행하지 않아 첨부된 이미지와 값이 다른 수 있다는 점 참고 부탁드립니다 🙏
지금은 다시 구성해서 반영해두었어요~

repo: next-step/infra-subway-performance


text:
Add a separate fetch_thread method for client and guild objects

Link
https://github.com/Rapptz/discord.py/issues/7399

Not needed imo

authors: TAG-Epic veni-vidi-code

repo: nextcord/nextcord


text:
Prepare deployment to PyPI

Can you please prepare a deployment of this library to PyPI? Don't push it yet please, but I think we need to create a setup.py etc., correct?

Yes it's correct.

Completed in https://github.com/nexto/django-model-audit-history/pull/7.

repo: nexto/django-model-audit-history


text:
🛑 /getMusicInfo - Get music info by URL or ID is down

In 3c24648, /getMusicInfo - Get music info by URL or ID (https://tiktok.nextpost.tech/getMusicInfo?query=7129970471625362182&cache_timeout=0&license_key=$API_KEY) was down:

HTTP code: 400
Response time: 8395 ms

Resolved: /getMusicInfo - Get music info by URL or ID is back up in d8986e9 after 5 minutes.

repo: nextpost-tech/tiktok-status


text:
[BUG] - DropdownTrigger not working with Badge + Button

NextUI Version
2.3.6
Describe the bug
First: I realy love to use NextUI! Thanks for that!
I think i found a bug in the dropdown.
<Dropdown backdrop="blur">
      <DropdownTrigger>
        <Badge content={list.length} color="default" showOutline={false}>
             <Button>
                <FaStar></FaStar>
             </Button>
        </Badge>
      </DropdownTrigger>
      <DropdownMenu>
          ...
      </DropdownMenu>
    </Dropdown>

The Button is not working in the DropdownTrigger when the Badge is in-between.
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
.
Expected behavior
The Dropdown should open but its not working when Button is in Badge
Screenshots or Videos
No response
Operating System Version
Windows
Browser
Chrome

I think, the dropdown trigger is sets only inactive elment(such button, a)
https://github.com/nextui-org/nextui/blob/5194a02d8293b21014280cd98b0d4478dd45c7b0/packages/components/dropdown/src/dropdown-trigger.tsx#L11
dropdown-trigger.tsx

@dubdia, it takes badge as its trigger

authors: KumJungMin alphaxek dubdia

repo: nextui-org/nextui