[Bug] namespaceTemplate in config file ignored

chainsaw version Version
v0.2.0
Description
I'm trying to set up a namespaceTemplate to add a label
The ephemeral Namespaces created don't have the label
Steps to reproduce
---
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Configuration
metadata:
  name: default
spec:
  namespaceTemplate:
    metadata:
      labels:
        # Cleanup the ephemeral namespaces after 15 minutes
        # Useful if the chainsaw test is interrupted
        cleanup.kyverno.io/ttl: 15m

Expected behavior
I expected the template to take effect
Screenshots
No response
Logs
No response
Slack discussion
No response
Troubleshooting

[X] I have searched other issues in this repository and mine is not recorded.

It looks like:

The config template is processed here: https://github.com/kyverno/chainsaw/blob/main/pkg/runner/processors/tests.go#L88-L98
Stored in nspacer here: https://github.com/kyverno/chainsaw/blob/main/pkg/runner/processors/tests.go#L99
Passed to the individual TestProcessor here: https://github.com/kyverno/chainsaw/blob/main/pkg/runner/processors/tests.go#L146-L150
And then it's ignored and overwritten here: https://github.com/kyverno/chainsaw/blob/main/pkg/runner/processors/test.go#L143-L154

Oh - no, the config file namespaceTemplate is only ever used if the namespace name is explicitly defined here: https://github.com/kyverno/chainsaw/blob/main/pkg/runner/processors/tests.go#L84-L98

Thanks for reporting @mikebryant !
Shall we use the template in the config everywhere when it is defined ?
If defined in both config and test the the template defined in test takes precedence ?

Sure :)


⚠ SolarOscp has degraded performance

In 913a20c, SolarOscp ($SOLAROSCP_URL) experienced degraded performance:

HTTP code: 200
Response time: 251 ms

Resolved: SolarOscp performance has improved in 239e532 after 10 minutes.


PullRequest Resource e2e tests

I thought there was an issue for this already, but I couldn't find one. If there is another, feel free to close this as a duplicate. :smiley:
We should add e2e tests for the pull request resource. This should test:

GitHub, GitLab providers (incl custom domains)
Should be able to work with the real providers if desired.
Should have a local, non-authenticated mode as an approximation for local presubmit testing.

/assign wlynch

/area testing
/kind feature

Moving to the beta milestone.  We may well introduce this in an RC instead.


Invoke style sheet compiler from template compiler

The style sheet compiler and template compiler are currently implemented as separate transformers that run during the same phase with no ability to communicate. We should instead consider invoking the style sheet compiler from the template compiler to perform a number of optimizations.
Compile-time improvements
Generate fewer files
Issue
For every .css input file, the style sheet compiler unconditionally outputs both

a .css.dart file in case ViewEncapsulation.None or ViewEncapsulation.Native is used, and
a .css.shim.dart file in case ViewEncapsulation.Emulated is used.

Based on the viewEncapsulation value specified in each @Component annotation, the template compiler chooses which output to import styles from.
This means the style sheet compiler does about twice the amount of work needed, and half of the generated files are entirely unused.
Solution
The template compiler invokes the style sheet compiler, indicating whether the output should be shimmed or not depending on the value of viewEncapsulation for each component.
Detect ViewEncapsulation.Emulated features used with ViewEncapsulation.None
Issue
Use of ViewEncapsulation.Emulated features in style sheets for a component with ViewEncapsulation.None will fail silently, as the browser will drop the invalid styles.
Solutions

Process the file to detect unsupported features and log a warning. This solution is perhaps not ideal since there's otherwise no reason to read files using ViewEncapsulation.None.
Create a lint rule for the Angular analyzer plugin to warn users.

Run-time improvements :fire:
Generate less code; make fewer DOM calls
Issue
The template compiler generates DOM calls for each component using ViewEncapsulation.Emulated to scope every element in its view with a component-specific class (_ngcontent-<app-id>-<component-id>), including a unique class for the host element (_nghost-<app-id>-<component-id>). This is done regardless of whether the component has any styles that need to be scoped to the host or view elements.
Solution
The style sheet compiler knows whether any rules in a style sheet match

the host element (has a :host selector), or
any view elements (has a selector before an ::ng-deep that's not a :host selector).

The template compiler can use this information to conditionally generate the aforementioned DOM calls, only if they're necessary.

Prototyping showed the run-time improvements were negligible, and the build-time regressed.


Issue with texture wrapping

Image is being wrapped when correct size is given.
when imgWidth = 320 and imgHeight = 240
CNFGBlitImage(current_image, (screenx/2) - (imgWidth/2), (screeny/2) - (imgHeight/2), imgWidth, imgHeight, 4);
I added a comp input to CNFGBlitImage for RGB and RGBA.
I am new to opengl, so I'm a bit lost as to what is causing this.
example screenshot of issue.

Please don't post duplicates, at least add a link: https://github.com/cnlohr/rawdrawandroid/issues/49

No promise, but I might have a look at this if there were a repo which I could easily compile and reproduce that issue.

sorry, about the dupe I wasn't sure if I posted to the correct one.

I've never posted a git repo before. The image input is coming from a ESP32 with a SPI arduCAM hooked up to it then using wifi to transmit the image data over a socket, using a buffer to hold the image data on the androids end. I know I'm getting a good image out of the data I'm reading off the socket. tested with writing the image data to a file.  I will look into making a repo for it, so this will be a first for me and not complete yet. please give me a bit of time to get this setup. Thank you.

Is it reproducible on Linux only without special hardware?

You should be able to feed it a jpeg image by reading said image from storage to the image buffer. stbi should check it then convert it to a bmp. you will need a android phone for this to work though, unless you can just by pass that and build for linux. thinking I need to make a fork of rawdrawandroid as I used a git clone to work off of. I was checking up on how to do a repo last night, went through the steps of creating a new repo. got to the point of doing the commit and it said, "fatal: remote origin already exists." so I assume this is due to it being a clone off another repo? so now I'm checking on how to go about doing a fork for rawdrawandroid.

dreua, I've added you to the repo. I have it set as private as of now till I have a fully functional release ready. if any others would like access I would be more than willing to add them as well and would welcome the input.
I haven't commented out any of the net code yet so you can run it stand alone yet. give me a bit and I will have that done for you, along with build for linux in makefile. Thank you for your time.

this was a non-radraw issue, closing.


ResizeObserver is activated in Chrome 64

https://www.chromestatus.com/feature/5705346022637568

Thanks!


Add layer normalization

This PR adds a new link, LayerNormalization from "Layer Normalization." by Jimmy Lei Ba, Jamie Ryan Kiros and Geoffrey E. Hinton on https://arxiv.org/abs/1607.06450.
The paper says Layer Normalization is successful specially for internal layers in RNN including LSTM and GRU. Such RNN units with incorporated Layer Normalization (like this) are not included in this PR. After this PR is merged, I will begin to make them.

Thank you for the PR. I have added some comments.

Regarding the performance, the current implementation does not look very efficient. However, the code is also straightforward and readable, which is nice. I think this is fine for now, but as a future todo item, I suspect performance could be significantly improved with some optimization. After it is merged, if this layer turns out to be a performance bottleneck, consider submitting another PR to further optimize performance.

OK, I got it! I will time this layer's processing when incorporating it into RNN and consider if it should be optimized.
Thank you for many reviews!

LGTM!

Is it better to add a parameter size in init  and do not use add_uninitialized_param?
When we use trainer, if add_uninitialized_param is used, it's not convenient to copy the model (as the test_model) before trainer.run

I am not sure I understand the copy issue completely. Are you saying that in some cases the user might still want to be able to manually specify the size in init? If so, maybe we could consider to add an optional parameter size with default value None.
However, it is also possible to first force the model to initialize itself by supplying inputs (could be junk data) of the desired size and calling the model to trigger a forward data pass which would then initialize all of the parameters. Or make a model that supports both train and test modes?

The 'copy issue' I mentioned before is in this example:
train_ptb.py
Because the model use dropout, so we can't make the model support both train and test modes, and it copies a eval_model in train_ptb.py#L207 , but copy doesn't know about any uninitialized_params. If we add a LayerNormalization to this model,  when it comes to eval procedure, it will crash.
Feed the model with inputs to force it initialize should work, but it seems not that elegant

Thanks for the explanation. I understand the issue with copying now. I think it is probably fine to have size be an optional parameter of __init__(). Please feel free to submit a PR for this if you are in a hurry. Otherwise, Chainer is planned to have a more uniform API for the parameter shape placeholder feature in v2.

@bkvogel Thanks! I submit a PR pull#1981, please review it.
And thanks for your great job @soskek  : )

I also understand the issue. Thanks for your notice and improvement!


When you click tabs on another windows, the tabs will shift and it will not do the right thing

So when you click another firefox window while you have tabs, as you click it active pinned tab will move the pinned tab to the newly focused window.
This will cause all tabs to shift on the horizontal axis.
So if you click on a tab on that window, maybe expecting to switch to that tab, or to close that tab. It will do something else.
Maybe open an adjacent tab or close your tab or maybe nothing.
This is because the width of the pinned area changes.
What is important is that the tabs don't shift when refocusing windows.
My preferred fix would be that pinned that remain simultaneously present on all windows at all times, just like firefox should already allow in the first place !
Barring that, it could be calculating the current horizontal offset of the tab, calculate how much they shit when moving the pinned tabs over and then shifting them again  into the right position by changing the horizontal position toward the left. This is not going to work if the title bar is not full enough that they can be moved. This will also not work if the tab are already moved all the way to the left.
This also conflicts with the current action which is to resetting the tab horizontal position to the currently focused tab.

Close, because this is not achievable.
In addition, even if the browser allows this, I will not implement it because it takes time.
If you can achieve it, you are welcome to create a PR.


⚠ Bofrost.si has degraded performance

In 1a030dd, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 200
Response time: 2628 ms

Resolved: Bofrost.si performance has improved in eb2b0ab after 6 minutes.


Cache with compressed content

Instead of List<CacheObject<T>>, use List<CacheObject<String>>, where the content is a compressed JSON version of the cache contents.
Do Jackson serialization and deserialization on-demand.

Using Jackson is complicated, since the type of the cache objects need to be propagated to CacheObject.
Instead, #22 implements this using compression of the serialized form.

Fixed by #22


pypi tar.gz package uninstallable due to the lack of LICENSE file

pypi tar.gz package is uninstallable, the error is No such file or directory: 'LICENSE'. The file is, indeed, missing from the archive.
The wheel installs fine though.

Will fix. Thanks.

Um, how did you try to install? pip install https://github.com/nir0s/backtrace/archive/master.tar.gz works for me.

This one has LICENSE. I tried to install via a self-written nix expression, which should've worked analogously to pip install backtrace, which has a chance of installing https://files.pythonhosted.org/packages/93/8b/7ed32a8946a44ef198486c785c5da31705f4e05fca543c67e0d9cb162b06/backtrace-0.2.1.tar.gz, which has none.

Yeah, I am noticing this too


Once player count gets over certain limit, cannot fetch list of all players

I use this to delete my junk players I add during development, but I now have over 1200 players that I want to delete.  PFAdmin throws an unknown error trying to get the list of all players.

I think this is an API limit, but I will look into it.


VM IP static configuration

Hello, I've opened a similar issue in the terraform ovirt provider which is using this client.
It seems no more possibile to configure the VM main NIC using the initialization parameter nic_configuration as before with the terraform provider.
 initialization {
          dns_search  = "example.com"
          dns_servers = "<IP_ADDRESS>"
          host_name   = "temp01.example.com"
          timezone    = "Africa/Nairobi"

          nic_configuration {
              address    = "<IP_ADDRESS>"
              boot_proto = "static"
              gateway    = "<IP_ADDRESS>"
              label      = "eth0"
              netmask    = "<IP_ADDRESS>"
              on_boot    = true
            }
        }

It seems that this is due to the fact that in the current ovirt-client version  (v2.1.0) the Initialization contains a Cloud-init custom script and/or the initialization hostname, and nothing more:
// Initialization defines to the virtual machine’s initialization configuration.
type Initialization interface {
	CustomScript() string
	HostName() string
}

So the question is how to replicate the previous behavior. The Ansible module still lets the user specify the initial nic_configuration, but I cannot find a way to replicate this in the current version.
Thanks

Hi @joppino, you are right - this feature is currently missing in the go-ovirt-client and we would need to add it here in order to enable this in the oVirt terraform provider.
The Initialization interface should be the right place to extend. I'll have a look at it.

Hi!
@engelmi I would like to add all Initialization arguments to go-ovirt-client. I think, that all of them can be very useful.
I found, that you already work on NicConfiguration parameter https://github.com/oVirt/go-ovirt-client/commit/cf304dbb00d72f3345e6e674ee9b88299d8c6375.
After merge your feature, i would like to create PR for other params (and pr for terraform provider). What do you think ?
Also i think, that all of Initialization parameters are optional.
What do you think if save customScript and hostname in constructor for backward compatibility:
func NewInitialization(customScript, hostname string) BuildableInitialization {..}

And all other parameters should be configured via builder:

initialization := NewInitialization("custom-script", "hostname").WithSomeParam("some-param");

Hi @dyens, I created an issue for this (#250) - feel free to assign it to you. I have limited capacity, but I'll make sure to review your contribution and answer questions if some arise.

@joppino This has been implemented in #249. I'll create a new release soon. Closing this issue.

@engelmi TestVMCreationWithInit in live tests mode does not pass. This PR should fix: https://github.com/oVirt/go-ovirt-client/pull/251


[port] 3 ➡ 4

Intended to supercede #84.
I combined a few of the commits to more closely align with how they landed on bitbucket.  This should be the last time that doing a forward port will be complicated by that!

Same tests are failing for me locally, I'm looking at them right now.

@osrf-jenkins retest this please

@osrf-jenkins retest this please


Convert extraneous print statement to logger.debug call.

Hello. Just noticed this print() statement here that probably should be a logger call.

Yes it should... that's a silly mistake on my part... thanks for the fix, I'll push out a new release straight away.

The new release is online, sorry for the silly mistake. Guess I was a bit tired when I was committing that code....


Title: Liquid fill button effect

Is your feature request related to a problem? Please describe.
Hey I made Liquid fill button effect Project Which Is Very Good!
Describe the solution you'd like.
This Project is very Helpfull,
I Make This Project With the help of HTML, CSS & JavaScript,
Describe alternatives you've considered.
The CSS & JavaScript Code are Available in very well mannered! & Easy to understand!
Add any other context or screenshots about the feature request here.
No response

Not good enough


change code style to match new style guide

BREAKING CHANGE: use airbnb style guide

The Airbnb style opted and several changes were made to files to accommodate the change.

very nice


Created new node Change Ethos

The new node better reflects cases where a formerly benign maintainer starts to behave unethical, cf. #46 .

@henrikplate I would  to attach the new vector not in all places, but only as sibling of the nodes below the parents AV-302 - Contribute as Maintainer,
AV-402 - Tamper Build Job as Maintainer,
AV-504 - Distribute as Package Maintainer.


AndroidX

I am getting the following when running canISayByeByeJetifier.
Scanning com.getbase:floatingactionbutton:1.10.1
 Absoulute path: /Users/xiwei/.gradle/caches/modules-2/files-2.1/com.getbase/floatingactionbutton/1.10.1/606b307b5073e6228dd7c4ea6b2755dc00d558a5/floatingactionbutton-1.10.1.aar
 Graphs to this dependency:
 +---com.getbase:floatingactionbutton:1.10.1
 Issues found:
 * pom -> com.android.support:support-annotations:27.0.0

Would you consider update to AndroidX?
Thanks!

Looking for the fix too. Unfortunately, it seams the library is abandoned, last commit was on early 2020.
The solution probably would be to fork it and manually migrate from Android Support Library to AndroidX, make your own from scratch or follow this guide: https://developer.android.com/guide/topics/ui/floating-action-button


fix wss4jVersion

wss4jVersion=2.5.0-SNAPSHOT does not exists in maven repo, so I try to upgrade that to 3.0.0 (or use 2.4.1 if 3.0.0 not compat)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Update simple-react-example.jsx

Added the property you are setting: textColor
https://tradingview.github.io/lightweight-charts/docs/api/interfaces/LayoutOptions#textcolor
Type of PR:
PR checklist:

[ ] Addresses an existing issue: fixes #
[ ] Includes tests
[ ] Documentation update

Overview of change:
Is there anything you'd like reviewers to focus on?

@1gn0r4nd Thank you for your pull request, however there isn't a need to add the property name in this case because the example is making use of a JS syntax feature called Property Value Shorthand which was introduced with ES2015 (ES6).
Here is some further information:
https://javascript.info/object#property-value-shorthand


upgrade to 0.17

Hello feldman!
Must first say that I love your work.
Im wondering if there will be a 0.17 port of this related to the community-elm/elm-test?

this is the output I get when I try to run elm-test under Elm 0.17 is:
 $ elm-test ConsoleRunner.elm
Success! Compiled 1 module.
Successfully generated /var/folders/_0/c4p0nhh561v1375f10b5mltw0000gn/T/elm_test_11654-23433-hh4ln3.zbny11nhfr.js
Successfully compiled ConsoleRunner.elm
Running tests...
  26 suites run, containing 55 tests
  All tests passed

: ""

[stdin]:10843
    if (typeof Elm === "undefined") { throw "elm-io config error: Elm is not defined. Make sure you call elm-io with a real Elm output file"}
                                      ^
elm-io config error: Elm is not defined. Make sure you call elm-io with a real Elm output file

It looks to me like elm wraps the test in a function, which then isn't available to the suffix that elm-test adds from elm-io-ports. I think they need to be added within the function.

Yep! It's underway, but probably won't be done for another couple of weeks. 😄

It's done! 🎉


How to get coordinates of clicked point/location?

In Mapsui control (WPF) MouseUp event (or similar mouse click handling event), I want to be able to get exact (as accurate as possible) long/lat of the clicked point.
Mapsui.Geometries.Point lonLat = Mapsui.Projection.SphericalMercator.ToLonLat(this.MyMapControl.Viewport.Center.X, this.MyMapControl.Viewport.Center.Y);
I have this and it works for center of current view, but how about clicked point?

Look at the map info sample.

Thank you Paul!


docs: add badges

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


nixos/nextcloud: add occ internal option

Motivation for this change
This option exposes the prefconfigured nextcloud-occ
program. nextcloud-occ can then be used in other systemd services or
added in environment.systemPackages.
The nextcloud test shows how it can be add in
environment.systemPackages.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@Ma27 I would like to backport it to 20.03 but I'm not sure our backporting policies would allow this... I'm however sure it would not break anything and wouldn't change derivation hashes since this is a "pending" option.
WDYT?

I would like to backport it to 20.03 but I'm not sure our backporting policies would allow this... I'm however sure it would not break anything and wouldn't change derivation hashes since this is a "pending" option

Well, it's  fairly useful addition (and probably even a "bugfix" since it wasn't possible to simply use nextcloud-occ for administrative tasks before) and I don't see how this would break something, so I'm fine with this.

hmm, OTOH it's still fine to make it available in e.g. a systemd service.

Thanks! Ported to stable as 6a99d5d6485bf29f948bef0127b1a2904e1d7589.

Cool, thanks @Ma27 !


Performance Issues

Hello,
first, thank you very much for sharing your work here!
I have some serious performance problems on tablets where there are e.g. 20 columns and 10 rows.
Is this normal? Do other users also have this issue?
Is there something I can do about, or is it  a principal problem with the large number of RecyclerViews?
Thanks!

There are some performance problems in low-end devices, but 20 columns and 10 rows in my nexus5 is also have a good performance.What kind of mobile phone do you use to test?

Thanks for your answer!
I don't have the problem on smartphones! On smartphones the performance is relatively ok.
The problem is on tablets, where much more cells are visible at the same time. I use a Galaxy Note 10.1 2014 for testing.
In the meantime I have solved the issues. It works now much more fluent on smartphones AND tablets.
In initWidget() I added the following settings for each RecyclerView:
    .setDrawingCacheEnabled(true);
    .setItemViewCacheSize(itemViewCacheSize);
    .setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);

In my case I could also add:
    .setHasFixedSize(true);

Then there were to many calls to the onScrollListeners. To reduce that I added the following lines:
For the horizontal listener (to avoid vertical handling):
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy)
    {
        if (dy == 0 || Math.abs(dx) > Math.abs(dy))
        {
            return;
        }

...
and at the end of the method:
        for (int i = 0; i < mRecyclerView.getChildCount(); i++)
        {
            //Correct old Y-Positions of previously invisible recycler views while scrolling them in sight
            //from left or right side. Only correct first and last column because this is sufficient and
            //leads to a smoother scrolling
            if ((i == 0 || i == mRecyclerView.getChildCount() - 1) && mRecyclerView.getChildAt(i) instanceof RecyclerView)
            {
                RecyclerView recyclerView1 = (RecyclerView) mRecyclerView.getChildAt(i);
                fastScrollVertical(amountAxisY, recyclerView1);
            }
        }

for the vertical listener (to avoid horizontal handling):
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy)
    {
        if (dy == 0 || Math.abs(dx) > Math.abs(dy))
        {
            return;
        }

Hope that helps!
Thanks again for sharing your work!!
I'll send you an eMail with some off-topic questions concerning my app!
Thanks!

性能确实有问题，   20行20列  还好   一但大几十行和列  就卡得不行，  检测内存看到快满了。  是不是单元格一直新建，没有替换。 导致我有多少行列就创相应的单元格呢？
@zhouchaoyuan

@dysen2014
性能问题在数据大的时候不可避免，这里View肯定是复用的，但是data并没有复用，假如说 50 * 50 的数据，那么就需要有2500个对象（每个单元格需要一个data，这个暂时认为data是一个object），对于这么大的数据内存占用肯定就很大了，这种情况就好比一个listView有2500条数据，这样肯定会遇到性能瓶颈。
对于上面Appilog说的给ExcelPanel里面的每个RecyclerView使用下面的代码
    .setDrawingCacheEnabled(true);     .setItemViewCacheSize(itemViewCacheSize);     .setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);
这个时候就可能导致大量的view缓存，内存立马就会爆炸，出现ANR

@dysen2014
I'm very glad to hear that  you have solved the issues mentioned above using the settings below:
    .setDrawingCacheEnabled(true);
    .setItemViewCacheSize(itemViewCacheSize);
    .setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);

So I try the codes like you do, but I found memory is increasing rapidly.
Monitors show the datas below：

And here is the datas before configing:

I guess that this may have a good performance when the data in some scale. But there are may have some issues(e.g. ARN or crash) when you reach the threshold.

这里的  data 能不能用recyclerview 来做？ 数据item用recyclerview替换textview？
Sent from Windows Mail
From<EMAIL_ADDRESS>Sent: Friday, July 7, 2017 5:57 PM
To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS>@dysen2014https://github.com/dysen2014
I'm very glad to hear that you have solved the issues mentioned above using the settings below:
.setDrawingCacheEnabled(true);
.setItemViewCacheSize(itemViewCacheSize);
.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_HIGH);

So I try the codes like you do, but I found memory is increasing rapidly.
Monitors show the datas below：
[image]https://user-images.githubusercontent.com/7615900/27953091-21be35ca-633d-11e7-9049-198dee4327ab.png
And here is the datas before configing:
[image]https://user-images.githubusercontent.com/7615900/27952633-951409a2-633b-11e7-93fa-e37877fd8c28.png
I guess that this may have a good performance when the data in some scale. But there are may have some issues(e.g. ARN or crash) when you reach the threshold.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/zhouchaoyuan/excelPanel/issues/22#issuecomment-313640166, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMKvxYtQcenj6nuhJon2cNNxGQvKltz8ks5sLgEMgaJpZM4OD8EZ.


Sticky topbar title is missing

… after upgrade of the theme.

See PR for bringing it back.

I don't understand. You provide a screenshot for documentation, not training. Training supports a sticky navbar. This issue is in the training repo.

FTR, if we maintain a customization, I want to make sure that the stack supports it already. It appears that both the Sphinx Book Theme (example: https://sphinx-book-theme.readthedocs.io/en/latest/contributing/setup.html) and PyData Theme supports a sticky navbar (example: https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html) with slightly different implementations. I think we should endeavor to copy what the Sphinx Book Theme does, because it is the immediate parent to our theme. Documentation has not been upgraded to the latest versions of themes.

Training title and chapter title in sticky topbar shows the reader where he/she is. This is really helpful in a documentation of several trainings with many chapters.
I updated the screenshot in the issue description and the issue title. Should be clear now what I mean.

Thanks for the clarification. I agree that would be a good enhancement.


Decouple certain services from the render loop.

QuitarHero at 7/19/2019 8:30:59 PM +00:00

So when moving around in-game, markers want to stay in their assigned spot, but move around a little bit when you move.
Would it be feasible to have the markers stay perfectly still, or is this unavoidable with how markers are implemented in the world?
https://gfycat.com/astonishingbitterhare

https://gfycat.com/astonishingbitterhare
REF: https://discordapp.com/channels/531175899588984842/534490472224391169/601873644339068948

Pulled from our discussion on the issue:
Freesnöw

@QuitarHero  What is your current FPS in game?

QuitarHero

i think the top right of the video is accurate but let me confirm
yeah it is; I'm getting around ~120 - 130 in that specific area

Freesnöw

Okay cool.  That's probably why.  Right now release builds are locked to a max of 60 FPS and the Gw2MumbleService is still tied to the application's render loop.  That means that, despite it being possible for us to get updates 120-130 times per second, we are only catching 60 of them per second.

Current services that I have in mind for this are Gw2MumbleService and ArcDpsService.

The options listed above are no longer my preferred route to tackle this issue and have been tackled in #368 which provides multiple ways of resolving this issue including the option to sync with the game's framerate which uses draw suppression instead of decoupling the services.


Fixes for Rust 1.81.0

What
Fixes for Rust 1.81:

Update semver-checks to 0.35.0.

Don't use the extern function for invoking a contract function when executing tests.

Why

Semver checks is failing to run on the new version of Rust and needs updating.

Rust 1.81.0 changed the behavior of panics on extern "C" functions, such that panics cannot be caught by std::panic::catch_unwind.
Contracts expose their functions as an extern function that defaults to extern "C". The test environment catches panics inside contract functions and resurfaces them as errors by using catch_unwind.
The solution used was to make it so that the test environment never calls through the extern function, and instead calls through a non-extern function that does the same work. This seems like the sanest way to take away any dependence / relationship between the test environment and the Rust C-ABI so that any future changes to the C-ABI don't affect the test environment.
An alternative solution would be to mark the contract function as extern "C-unwind" so that it retained unwind functionality, but that would continue to bind the SDK test environment to behaviour changes in extern fns.
In the solution in this change the Abi qualifier "C" has been added. When the Abi qualifier is not specified it defaults to "C", but for the sake of being explicit and removing any doubt from a reader it is now specified. The Rust reference confirms that "C" is the default:

https://doc.rust-lang.org/reference/items/functions.html#extern-function-qualifier.

More details on this change to Rust 1.81.0 can be found at:

https://blog.rust-lang.org/2024/09/05/Rust-1.81.0.html#abort-on-uncaught-panics-in-extern-c-functions
https://github.com/rust-lang/rust/issues/74990

Close #1332

Oh great, thanks for the fix! I started getting these in my CI and was not sure if I needed to do something. Looks like I just need to wait for a new release 🙌

Planning a new release shortly!

Shortly as in hours, not days.

Awesome, thanks 🚀


RPCClient: add support for unix socket server

I made these changes for myself. But it'd be nice to publish them.
All tests are passing, here are benchmark differences:
$ PYTHONPATH=$(pwd) python3 benchmarks/benchmark_aiorpc_inet.py
call: 8994 qps
$ PYTHONPATH=$(pwd) python3 benchmarks/benchmark_aiorpc_unix.py
call: 10298 qps

I see commit cd7aeab was included in this PR...
Now update Readme section about performance -- it changed.


Easily add a new rules with snapshot

CLI with no version
$ solidarity snapshot cli detox
Would you like to add the binary `detox` to your Solidarity file? (Y/n) True
Update complete

CLI with a version
$ solidarity snapshot cli node
Would you like to add the binary `node` to your Solidarity file? (Y/n) True
Would you like to enforce a version requirement? (Y/n) True
Your system currently has version 8.6.0
Semver requirement for `node` binary : ^8.6.0
Update complete

ENV var
$ solidarity snapshot env PATH
Would you like to add the environment requirement `PATH` to you Solidarity file? (Y/n) True
Update complete

File/Dir also.
$ solidarity snapshot file ./nachos
Would you like to add the file requirement `./nachos` to you Solidarity file? (Y/n) True
Update complete

@GantMan, I'm going to pick this up if nobody has started on this yet. I will put a PR early once I have a working implementation.

Sounds good.  Should someone just say solidarity snapshot cli and then it asks them questions regarding the CLI rule?  Or do you like the specifics I have above?
Thinking "what's the optimal user experience" and then coding to that standard.

I'm okay with the original spec for the enhancement. Its one less step for the user.
That being said I think there is a potentially one missing step regarding a prompt for Making the new requirement or adding to an existing one.
So in the case of cli rule it would go as follows:
``

I'm okay with the original spec for the enhancement. Its one less step for the user.
That being said I think there is a potentially one missing step regarding a prompt for Making the new requirement or adding to an existing one.
So in the case of cli rule it would go as follows:
$ solidarity snapshot cli node Would you like to add the binarynode` to your Solidarity file? (Y/n) True
Would you like to enforce a version requirement? (Y/n) True
Your system currently has version 8.6.0
Semver requirement for node binary : ^8.6.0
Would you like to add your new rule to an existing requirement or create a new one?(Y/n) True
What whould you like to name your new requirement? Node
Update complete
`

If the user chooses to add to an existing requirement then we list the existing requirements.

looks great

The PR w/ this functionality has been merged into master. I'm going to start another PR for the documentation.


CMD-Q does not quit the app

I've searched around and it seems like many projects based on NW.JS will not quit using CMD-Q on the mac. I've tried a few workarounds I've found, but nothing seems to work. What are others doing?

Which version of NW.js are you using? I just tested using 0.14.1 and it seems to close the application fine when hitting CMD-Q.

I tried 13.0 beta7, and 14.1 and it didn't work in either. I am wrapping a game, maybe something in the game engine is blocking the command. I'll do some investigating, you can close this

Alright, hope you figure it out!


Improvement: Be able to add cert/key on settings providing the filename instead the string

Right now cert/key info must be added as a string on the settings file.
Let's add support to manage files stored in an specific certs folder.

We also would appreciate this improvement.
Right now you have to read the file content manually and put in the properties


Segfault when adding more than one parameter to a custom DSP

Hi it's me again :grimacing:
Simplest way I've found to reproduce this: Take this example/test: https://github.com/lebedec/libfmod/blob/main/libfmod/tests/examples/core.rs
Make a new DspParameterDesc just like volume_desc.
Add it to the list of parameters: paramdesc: vec![volume_desc, other_desc].
Run and it causes a segfault.
I've tried multiple ways to set it up with the underlying FMOD_DSP_DESCRIPTION and FMOD_DSP_PARAMETER_DESC but I couldn't get anything to work... If you have any tips to troubleshoot such an issue that would already be much appreciated!

Oh.. It looks like incorrect handling of an array of structs. There is a terrible implementation of vec_as_mut_ptr! used for this =)
Workaround should be something like this:
let paramdesc: Box<[FMOD_DSP_PARAMETER_DESC]> = [volume_desc.into(), other_desc.into()];
let paramdesc: *mut [FMOD_DSP_PARAMETER_DESC] = Box::into_raw(paramdesc);

let dspdesc = ffi::FMOD_DSP_DESCRIPTION {
	paramdesc: paramdesc,
	...
}

After calling Box::into_raw, the FMOD is responsible for the memory of DPS parameters previously managed by Rust.
This is a critical bug. I will work on it when I have time.

fixed in 2.222.4

Thank you for the quick resolution!! That into_boxed_slice() is really useful...
It shouldn't be long now for me to complete my plugin :)


Update HtmlReader.php

fix merge colspan and rowspan

Could you provide some more info about your fix. Perhaps examples of what first didn't work and is fixed with this.


Updated @cher-ami/utils to v1.4.0

@theoplawinski can you replace all mergeStrings by the new cls utils in existing components and template files?


[BUG] Some packages still needing setup.py fail to build in 74.0.0

setuptools version
74.0.0
Python version
3.9.18
OS
Ubuntu 22.04.4 x86-64
Additional environment information
The package to install has binary libraries that are already compiled.
pip==24.2, wheel==0.44.0, CPython 3.9.18 compiled with shared libraries option
It worked fine with setuptools<74.
The command is running in a Docker image.
Description
While building a legacy Python package using the command python setup.py install, the process crashed with the following error:
TypeError: object of type 'PosixPath' has no len()

Expected behavior
The package build and install should be successfully completed.
How to Reproduce
This is the setup.py of the packages (with the package name changed). Please note that it is generated by SWIG from a C++ library.
# Builds the extensions with separate SWIG run-time support
# (see http://www.swig.org/Doc1.3/Modules.html) so as to
# share datatypes among different extensions.

import platform, os, sys
from pathlib import Path, PurePath
from setuptools import setup, Extension
from setuptools.command.build_ext import build_ext

if '--help' in str(sys.argv):
    print("""
WARNING! It is no longer supported, neither by The Software nor by Python itself, to run setup.py directly.
Please use `python -m build` and `python -m pip .` for building and installing the Python wrapper instead.
Not specifying any of the options below is not guaranteed to work!

The Software specific options (always as first argument):
  return_software_version

Example:
  python setup.py return_software_version
will print something like:
  2.49.0
""")
    sys.exit()

if "THE_SOFTWARE_SOURCE_DIR" in os.environ:
    the_software_dir = Path(os.environ['THE_SOFTWARE_SOURCE_DIR'])
elif "THE_SOFTWARE_DIR" in os.environ:
    the_software_dir = Path(os.environ['THE_SOFTWARE_DIR'])
else:
    print("Either 'THE_SOFTWARE_DIR' or 'THE_SOFTWARE_SOURCE_DIR' must be set!")
    sys.exit(-1)

systemPlatform = platform.system()
if systemPlatform != "Linux" and systemPlatform != "Windows":
    print("Could not determine system platform")
    sys.exit(-1)

if "BUILDDIR_DN" in os.environ:
    builddir_dn = Path(os.environ['BUILDDIR_DN'])
else:
    builddir_dn = the_software_dir / r"LanguageBindings/Python/Output"
    if systemPlatform == "Linux":
        os.system("export BUILDDIR_DN={}".format(builddir_dn))
    elif systemPlatform == "Windows":
        os.system("set BUILDDIR_DN={}".format(builddir_dn))
version_file = the_software_dir / r"DriverBase/Include/softwareVersionInfo.h"

class SoftwareVersion(object):
    def __init__(self):
        class BuildNr(str):
            def returnNr(self, key): # key is a str like 'THE_SOFTWARE_MAJOR_VERSION'
                offset = self.find(key)
                if offset == -1:
                    return '?'
                offset += len(key)
                while not self[offset].isdigit():
                    offset += 1
                nr = self[offset]
                while True:
                    offset += 1
                    if not self[offset].isdigit():
                        return nr
                    nr += self[offset]

        version_all_h = open(version_file)
        version = BuildNr(version_all_h.read())
        version_all_h.close()
        self.v_major = version.returnNr('#define THE_SOFTWARE_MAJOR_VERSION ')
        self.v_minor = version.returnNr('#define THE_SOFTWARE_MINOR_VERSION ')
        self.v_point = version.returnNr('#define THE_SOFTWARE_RELEASE_VERSION ')
        self.v_build = version.returnNr('#define THE_SOFTWARE_BUILD_VERSION ')

    def full(self):
        return self.v_major + '.' + self.v_minor + '.' + self.v_point + '.' + self.v_build

software_version = SoftwareVersion()

if len(sys.argv) > 1:
    if sys.argv[1] == 'return_software_version':
        print('%s.%s.%s' % (software_version.v_major,
                            software_version.v_minor,
                            software_version.v_point))
        sys.exit()

if systemPlatform == "Linux":
    if( platform.architecture()[0] == "32bit" ):
        bits = 32
    elif( platform.architecture()[0] == "64bit" ):
        bits = 64
    else:
        print("Error! Could not determine the systems CPU architecture!")
        sys.exit(-1)
    machine = platform.machine()
elif systemPlatform == "Windows":
    bits = 64 if os.environ["PROCESSOR_ARCHITECTURE"] == "AMD64" else 32

macros = []
defines = os.getenv('DEFINES')
if defines is not None:
    for dfn in defines.split():
        macros += [(dfn[2:],'1')]

class dirlist(list):
    """You can define multiple directories in one environment variable"""
    def addDir(self, d):
        if type(d) is list:
            for a in d:
                self.addDir(Path(a)) # recurse
        else:
            d = Path(d)
            if os.pathsep in str(d): # turn 'bar;foo' into ['bar', 'foo']
                self.addDir(str(d).split(os.pathsep)) # recurse
            else:
                d = Path(str(d).replace('\ ', ' '))
                if d.is_dir():
                    self.append(d)
    def getList(self):
        return list(self)

inc_dirs = dirlist()
lib_dirs = dirlist()

# inc_dirs     : additional include directories
# lib_dirs     : additional library directories
# macros       : defined while building the extension

link_args = []
compile_args = []
# for debugging the Python extension library with Visual Studio on Windows set the variable in the next line to 'True'!
generateDebugInfo = False

installation_path = os.getenv('BUILD_FROM_INSTALLATION') # None if not set
if installation_path == '0': # '0' is explicit for 'not from installation'
    installation_path = None #  (like not specifying BUILD_FROM_INSTALLATION at all)
python_ver = '.'.join(str(x) for x in sys.version_info[:2])
if systemPlatform == "Linux":
    if "THE_SOFTWARE_SOURCE_DIR" in os.environ:
        if ("THE_SOFTWARE_BUILD_DIR" in os.environ):
            lib_dirs.addDir(Path(os.environ["THE_SOFTWARE_BUILD_DIR"]) / Path('lib'))
        else:
            print()
            print("ERROR: THE_SOFTWARE_SOURCE_DIR will be used but THE_SOFTWARE_BUILD_DIR is not set! The build directory thus cannot be found!")
            sys.exit(-1)
    else:
        if ((machine == "armv7l") or (machine == "armv7")):
            target_lib_sub_dir = Path('lib/armhf')
        elif (machine == "i686" or machine == "x86_64") :
            target_lib_sub_dir = Path('lib/x86_64')
        elif ( machine == "aarch64") :
            target_lib_sub_dir = Path('lib/arm64')
        else:
            print()
            print("ERROR: Platform unsupported!")
            sys.exit(-1)
        lib_dirs.addDir(the_software_dir / target_lib_sub_dir)
    compile_args = ['-Wno-unknown-pragmas', '-Wno-misleading-indentation', '-DCOMPILE_PYTHON']
    if ((machine == "armv7l") or (machine == "armv7")):
        compile_args += ['-O0']
        link_args = ['-O0']
elif systemPlatform == "Windows":
    compile_args = ['/GR','/bigobj', '/EHsc', '/DCOMPILE_PYTHON']
    if generateDebugInfo:
        compile_args += ['/Zi']
        link_args += ['/DEBUG']
    if "THE_SOFTWARE_SOURCE_DIR" in os.environ:
        if bits == 32:
            if ("THE_SOFTWARE_BUILD_X86_DIR" in os.environ) and ("THE_SOFTWARE_BUILD_CONFIGURATION" in os.environ):
                build_lib_dir = Path(os.environ["THE_SOFTWARE_BUILD_X86_DIR"]) / r"lib\win\win32" / os.environ["THE_SOFTWARE_BUILD_CONFIGURATION"]
            else:
                print()
                print("ERROR: THE_SOFTWARE_SOURCE_DIR will be used but THE_SOFTWARE_BUILD_X86_DIR is not set! The build directory thus cannot be found!")
                sys.exit(-1)
        else:
            if ("THE_SOFTWARE_BUILD_X64_DIR" in os.environ) and ("THE_SOFTWARE_BUILD_CONFIGURATION" in os.environ):
                build_lib_dir = Path(os.environ["THE_SOFTWARE_BUILD_X64_DIR"]) / r"lib\win\x64" / os.environ["THE_SOFTWARE_BUILD_CONFIGURATION"]
            else:
                print()
                print("ERROR: THE_SOFTWARE_SOURCE_DIR will be used but THE_SOFTWARE_BUILD_X64_DIR is not set! The build directory thus cannot be found!")
                sys.exit(-1)
        lib_dirs.addDir(build_lib_dir)
        link_args.append('/PDB:{}'.format(build_lib_dir / 'lib_the_software.pdb'))
    else:
        if bits == 32:
            target_lib_sub_dir = Path('lib')
        else:
            target_lib_sub_dir = Path(r'lib\win\x64')
        lib_dirs.addDir(the_software_dir / target_lib_sub_dir)

inc_dirs.addDir(the_software_dir)
inc_dirs.addDir(the_software_dir / 'theSofware_CPP')
if systemPlatform == "Windows":
    inc_dirs.addDir(the_software_dir / 'softwareComponent' / 'Include')

build_options = {'build_base' : builddir_dn}
bdist_options = {'bdist_base' : builddir_dn, 'dist_dir' : builddir_dn}

# Create an 'Extension' object that describes how to build the Python extension.
def createExtension():
    libs = ['softwareTool']

    incl_dirs = inc_dirs.getList()
    libr_dirs = lib_dirs.getList()

    global installation_path
    if installation_path is not None:
        installation_path = Path(installation_path)
        incl_dirs.insert(0, installation_path)
        incl_dirs.insert(0, installation_path / 'softwareComponent' / 'Include')
        incl_dirs.insert(0, installation_path / 'theSofware_CPP')
        libr_dirs.insert(0, installation_path / 'lib')
    else:
        incl_dirs.insert(0, the_software_dir)
    sources_fpns = [Path(builddir_dn) / 'software_wrap.cpp']
    return Extension('lib_the_software',
        sources       = list(map(str, sources_fpns)),
        include_dirs  = list(map(str, incl_dirs)),
        library_dirs  = list(map(str, libr_dirs)),
        define_macros = macros,
        libraries     = libs,
        extra_compile_args = compile_args,
        extra_link_args = link_args)

class build_ext_posix(build_ext):
    # on Linux, once the lib has been built, dump a map, then strip the lib
    def build_extensions(self):
        self.check_extensions_list(self.extensions)
        for ext in self.extensions:
            self.build_extension(ext)
            libName = str(Path(self.build_lib) / 'theSofware' / ext.name)

def getPlatform():
    platformList = []
    if systemPlatform == "Linux":
        platformList.insert(0, os.system('ldconfig -p | grep softwareTool | cut -d \> -f 2 | grep -o "/lib/.*/" | cut -d/ -f 3'))
    elif systemPlatform == "Windows":
        platformList.insert(0, os.environ["PROCESSOR_ARCHITECTURE"])
    return platformList

setup(
    name = "TheSoftware", # remove this once we require setuptools 61.0.0 or above
    version     = software_version.full(),
    platforms   = getPlatform(),
    description = 'The Software Python {} interface'.format(python_ver),
    ext_package = 'theSofware', # all modules are in 'theSofware'
    ext_modules = [createExtension()],
    package_dir = {'theSofware' : 'Output'},
    packages    = ['theSofware', 'theSofware.Common'],
    cmdclass    = {'build_ext' : build_ext_posix if os.name == 'posix' else build_ext},
    options     = {'build' : build_options, 'bdist' : bdist_options}
)

Output
$ python setup.py install
x86_64
x86_64
x86_64
running install
/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` and ``easy_install``.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://github.com/pypa/setuptools/issues/917 for details.
        ********************************************************************************

!!
  self.initialize_options()
running bdist_egg
running egg_info
creating ThePackage.egg-info
writing ThePackage.egg-info/PKG-INFO
writing dependency_links to ThePackage.egg-info/dependency_links.txt
writing top-level names to ThePackage.egg-info/top_level.txt
writing manifest file 'ThePackage.egg-info/SOURCES.txt'
reading manifest file 'ThePackage.egg-info/SOURCES.txt'
Traceback (most recent call last):
  File "/opt/ThePackage/LanguageBindings/Python/setup.py", line 240, in <module>
    setup(
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/__init__.py", line 117, in setup
    return distutils.core.setup(**attrs)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 184, in setup
    return run_commands(dist)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
    dist.run_commands()
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/dist.py", line 950, in run_command
    super().run_command(command)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/command/install.py", line 97, in run
    self.do_egg_install()
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/command/install.py", line 149, in do_egg_install
    self.run_command('bdist_egg')
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
    self.distribution.run_command(command)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/dist.py", line 950, in run_command
    super().run_command(command)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/command/bdist_egg.py", line 159, in run
    self.run_command("egg_info")
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
    self.distribution.run_command(command)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/dist.py", line 950, in run_command
    super().run_command(command)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 311, in run
    self.find_sources()
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 319, in find_sources
    mm.run()
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 545, in run
    self.prune_file_list()
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/command/sdist.py", line 161, in prune_file_list
    super().prune_file_list()
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py", line 394, in prune_file_list
    self.filelist.exclude_pattern(None, prefix=build.build_base)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/filelist.py", line 249, in exclude_pattern
    pattern_re = translate_pattern(pattern, anchor, prefix, is_regex)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/filelist.py", line 357, in translate_pattern
    prefix_re = glob_to_re(prefix)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/site-packages/setuptools/_distutils/filelist.py", line 318, in glob_to_re
    pattern_re = fnmatch.translate(pattern)
  File "/home/user/.pyenv/versions/3.9.18/lib/python3.9/fnmatch.py", line 89, in translate
    i, n = 0, len(pat)
TypeError: object of type 'PosixPath' has no len()

Hi @Mindstan, does the package install correctly if you use pip install --use-pep517 .?
setup.py is supported as a configuration file but no longer as a CLI tool.

I can't share there the content of the setup.py.

Please note that without a reproducer, we cannot investigate or help you much. The good side is that to create a minimal reproducer, you don't need to disclose any proprietary information. It would be ideal if you can create some simplified toy example that triggers the same error, without disclosing the original source code.
Please have a look at the excellent guide from stack overflow on this topic: https://stackoverflow.com/help/minimal-reproducible-example.
If you are not able to provide a reproducer, maybe then the best thing is to contact the support from your supplier about this problem.

@abravalheri A guess, but it looks like https://github.com/pypa/setuptools/pull/4603 may have incidentally broken support for a pathlib.Path build.build_base by falling back to setuptools._distutils.command.sdist.sdist.prune_file_list, which uses self.filelist.exclude_pattern(None, prefix=build.build_base) instead of self.filelist.prune(build.build_base)

Idk about OP's usecase, but here's a minimal reproducer that fails with teh same error on v74 but passes on v73.0.1
from pathlib import Path

from setuptools import setup
from setuptools.command.build import build

class MyBuild(build):
    def initialize_options(self) -> None:
        super().initialize_options()
        self.build_base = Path.cwd()
        return

setup(cmdclass={"build": MyBuild})

python setup.py sdist

Thank you @Avasam, that makes sense...
The thing is, I don't think that support for build.build_base of type pathlib.Path was intentional, or documented... Until very recently all parameters and arguments passed to setuptools representing paths were mean to be strings.
distutils started driving adoption/support for Path objects in https://github.com/pypa/distutils/pull/272, but that does not include build_base.
The changelog only mention "for Pathlike objects in data files and extensions".
So that is probably another case of Hyrum's law.
We might have a look on this, but meanwhile users are can revert to strings to avoid problems.
@Mindstan, it is still important for you to provide a minimal reproducer of the original problem before we keep investigating to avoid relying on conjectures.

does the package install correctly if you use pip install --use-pep517 .?

I got the same error, with pip cli wrapping it.
I updated the initial post with the content of setup.py, I don't have time today to clean up to shrink the content to only the problematic code.

@abravalheri A guess, but it looks like #4603 may have incidentally broken support for a build.build_base of type pathlib.Path by falling back to setuptools._distutils.command.sdist.sdist.prune_file_list, which uses self.filelist.exclude_pattern(None, prefix=build.build_base) instead of self.filelist.prune(build.build_base)

Nice analysis. I concur.

I don't think that support for build.build_base of type pathlib.Path was intentional, or documented... Until very recently all parameters and arguments passed to setuptools representing paths were meant to be strings.

Yes, indeed, but it still seems worthwhile to restore incidental support where it was present but lost.

I'm happy to handle this one, because I'd like to see the approach in distutils.

I confirm I have no longer the issue with 74.1.2. Thanks!


Update README.md

The goals of this pull request :

Integrate Ani's suggestions for this doc that she wrote into a documentation repo PR.

Clarify the text by simplifying some sentence structures.

Add helpful info - Add some implementation details about the server-side SDK API key, usage of the user key, and the creation of the .split file, and a link to help the engineer get started with creating feature flags in Split.

@lenasano I don't seem to have ability to add reviewers to this PR, but I can @ mention @sarrubia.  Not sure what Ani's git handle is, so I haven't @ mentioned her.  Perhaps Sebastian can do that.


Cleanup the build instructions a bit.

There is no reason to mention Windows here; this is a Linux
development page.  Also move the advice on the clean environment
before the build step.
Signed-off-by: Chris Lalancette<EMAIL_ADDRESS>@cottsay FYI, this will conflict with #1279.

@Mergifyio backport foxy dashing


chore(ci): restrict workflow permissions

Description

References

Review Checklist

[x] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 31.15%. Comparing base (f76e9eb) to head (6e21b1a).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #77   +/-   ##
=======================================
  Coverage   31.15%   31.15%
=======================================
  Files         122      122
  Lines        6083     6083
  Branches      785      785
=======================================
  Hits         1895     1895
  Misses       4030     4030
  Partials      158      158

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


Retire usage of old chain explorer

NX_CHAIN_EXPLORER_URL=https://explorer.vega.trading/.netlify/functions/chain-explorer-api
This API is used in one place. It's not actually required any more now that we have the block explorer API, but is still in use.
Tasks

[ ] Remove usage of this API in txs-per-block component
[ ] Remove env vars from all configs
[ ] Remove flag variable

Follow up tasks

[ ] Back port fix to mainnet
[ ] Re-archive github.com/vegaprotocol/explorer
[ ] Remove associated netlify app

Hey @edd
As part of this issue would you be able to advise on the changes required to the vega capsule front end config.

Unblocked - stagnet3 has the signatures field, so I can proceed


monit always failed at 8080 port check

Describe the bug
When you run with the html config. monit will run conf/html/monit/check_nginx script to check upstream proxy port. Since the proxy is local to the container but monit run the check with NGINX_SERVER_NAME address. There is possibility that it will be failed.
To Reproduce

Confirm the conf/html/monit/check_nginx
You will see the command if failed port 8080 for 3 cycles then exec "/usr/bin/env bash -c '/usr/sbin/nginx -s stop'" (line 36)

Expected behavior
remove this line as it is supposed that 8080 port will always be locally opened. Therefore, not necessary to check this port.
Screenshots
The monit web interface show 8080 port check will always be failed.

I think this was an errant addition as I do not have it locally. I will remove.

If you can confirm this fixes your issue I will close. Thanks

conf/html/monit/check_nginx does have that check but conf/php/monit/check_nginx doesn't
Therefore the issue only happened when we running in html config
I remove that line and the issue is fixed.


RFC: API Gateway Resource Policy

Resources:
https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy
Amazon API Gateway resource policies are JSON policy documents that you attach to an API to control whether a specified principal (typically an IAM user or role) can invoke the API. You can use API Gateway resource policies to allow your API to be securely invoked by:

users from a specified AWS account

specified source IP address ranges or CIDR blocks

specified virtual private clouds (VPCs) or VPC endpoints (in any account)

Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      ...
      Auth:
        ResourcePolicy:
          # IAM-based policies
          IAMAllowlist: [
          '123456789012:role/myRole',
          '${AWS::AccountId}:user/myUser',
          '123456789012:root',
          '123456789012:*'
          ],
          IAMDenylist: [],

          # IP-based policies
          IpAllowlist: ['<IP_ADDRESS>'],
          IpDenylist: [],

          # VPC-based policies
          SourceVpcAllowlist: ['vpc-ab1234cd'],
          SourceVpcDenylist: []

          # Custom statements. These must be actual Resource Policy Statements.
          CustomStatements: [{
            Action: 'execute-api:Invoke', # Optional; Default: execute-api:Invoke
            Resource: ['execute-api:/*/*/*'], # Optional; constructed based on Stagename, Path, and Method.
            ... # Additional properties get passed through to the resulting statement
          }]

  MyFn:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        GetRoot:
          Type: Api
          Properties:
            Auth:
              ResourcePolicy:
                ... # Same as above; the Statement Resource will be created differently when defined here (i.e. it will use the Method and Path)

When Auth.ResourcePolicy is set on an API Event, the Path and Method of the Event will be used to construct the Resource. When Auth.ResourcePolicy is set on an API resource, the Path and Method parts of Resource will be *; that is, the policy will apply to the entire API. For the Stage part of Resource, we can inject the StageName, however, we do need to consider how we will make it work when we implement multi-stage support.
Note that Event ResourcePolicy and API Resource ResourcePolicy are combined to create the final ResourcePolicy.

Just stumbled on this problem as well. Had to use x-amazon-apigateway-policy extension to get my API Gateway resource policies work.

Anyone update on this one? Trying to grant access to a API Gateway using a IP whitelist is overly difficult right now.

Hi team, what's the status of this? Is it still RFC?
I personally think that resource policies should follow the format given by API Gateway to minimise confusion (but instead of chucking it under a Swagger spec, we can chuck it in directly as part of Serverless::Api's property).
The only issue right now with me not using the "insert x-amazon-apigateway-policy" route is that I'm hesitating to lock our API down with a Swagger spec, because our spec might change wildly between tomorrow and next week due to some business requirements.
That being said though, I could see the value of creating new fields in order to simplify resource policies; I reckon it's a tad bit simpler (?) than using AWS's resource policy which provides a lot of options, though it may confuse people since defining resource policies in API GW and SAM is different (one uses AWS resource policies and the other uses custom-defined fields in SAM).
PS: This is my first time contributing to discussions here. Let me know if this kind of discussion is inappropriate for these kinds of threads/issues!

Hi team, any update on this one? Is it still RFC? Keen on having resource policies as part of SAM templates.

As a first pass for this feature, we should just do the Auth.ResourcePolicy.CustomStatements implementation. The [IAM|Ip|SourceVpc][Allow|Deny]List features are syntactic sugar. This would be a good first issue.

Check if ResourcePolicy property exists on Authlike we do here for checking Authorizers https://github.com/awslabs/serverless-application-model/blob/cbd4d9ad40a71b838f1e72b3b960689f30890bf9/samtranslator/model/api/api_generator.py#L242. If it exists, call swagger_editor.add_resource_policy(resource_policy)
Add add_resource_policy method here https://github.com/awslabs/serverless-application-model/blob/cbd4d9ad40a71b838f1e72b3b960689f30890bf9/samtranslator/swagger/swagger.py#L289. This should check if CustomStatements exists on resource_policy and that it is an Array (bonus points for allowing both an Array of Dict or a single Dict (use case where you just want to define a single Statement)). After that validation, add the statements to self._doc["x-amazon-apigateway-policy"].Statement and set Version: "2012-10-17"

Is there a workaround if this feature is not available? I want to use serverless to publish a Lambda/API-Gateway pair that can only be called some specific security groups in my VPC.

@markstos The current workaround is to hand-manage the swagger definition of the serverless API.

Also want to reiterate @brettstack's https://github.com/awslabs/serverless-application-model/issues/514#issuecomment-468780531 that a first-pass fix of this issue is actually a pretty simple targeted fix. If someone from the community wants to step up and take it, that would be terrific!

@jlhood I'll take a look at this.  At this point, I invested time in the serverless approach, so I can either spend some time on the fix I need, or spend time backing out of the serverless approach.

@markstos Thank you!

Getting setup just to contribute to this project is enough of a pain that I think I'll just give up on converting the server I had in mind to the serverless model. Here's a snapshot of what I experienced:
make install asks me to remove the .pyenv directory:
$ make install
[*] Install pyenv using https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer...

WARNING: Can not proceed with installation. Kindly remove '.pyenv' from /home/mark first.

So I remove the directory and try again:
 $ make install
Makefile:13: *** "make sure pyenv is accessible in your path, (usually by adding to PATH variable in bash_profile, zshrc, or other locations based on your platform) See: https://github.com/pyenv/pyenv#installation for the installation insructions.".  Stop.

pyenv has been installed in ~/.pyenv/bin, which is where it is recommended to be installed:
https://github.com/pyenv/pyenv#installation
So: Catch-22!  Whether I try to install pyenv manually (into ~/.pyenv/bin or with make install, it fails either way.
Meanwhile, Ubuntu provides a package which installs a binary that sounds like it would the same, but isn't: pyvenv.
I'm a deadline to update a Ubuntu 14.04 server to 18.04 before the April 17th, EOL date, so it's unlikely I'll come back to this.

@markstos I'm sorry you had a bad experience trying to get setup to contribute to SAM. Did you follow the instructions in the Development Guide? That has detailed instructions on how to get setup. You shouldn't need to run make install.

Yeah I agree with @markstos, I tried my hands on setting up my local SAM dev environment, but pyenv couldn't run on Windows (and the maintainer has explicitly refused to support Windows). I could technically run it on VBox, but I can't be bothered setting up my dev environment in another machine again.
Seems like I'll have to pass on developing this one for now, even though I'm heavily interested in contributing to SAM. No hard feelings though, maybe I'll eventually pick it up when I get a Mac (or when work starts paying me to contribute).

I have been using SAM for a couple of months and it's been great. I think this feature will be very useful in the development process of serverless applications.
Is there anyone currently working in the implementation of this? I would like to help :)

@pablosjv By all means, we'd love for you to contribute! @brettstack summarized the 1st pass changes needed to support this feature in this comment: https://github.com/awslabs/serverless-application-model/issues/514#issuecomment-468780531
Follow the development guide to get setup and we look forward to reviewing your PR! 😊

Thank you much for the excellent framework and tooling!
My team has a project where we are implementing a private REST API.  We recently considered the benefits and drawbacks available via swagger/openapi import definition model and the definition of our API directly using the AWS::Serverless::Function definition and having SAM render the API gateway via the implicit logic.  We decided to go the AWS::Serverless::Function definition route.
To workaround this issue, we added CI/CD logic to render a resource policy and using an API Gateway create_deployment call.
Since last week (I believe May 9th 2019), in us-west-1, when running new test environment deployments, I found that the workaround of applying a resource policy after deployment is not viable there, because CloudFormation enforces that a resource policy must have a resource policy configured to complete deployment.  I don't see the same behavior in us-east-1 or us-east-2.
As an example, if I use the SAM CLI and init a new SAM project, and add these 2 lines to the default template.yaml Globals section:
  Api:
    EndpointConfiguration: PRIVATE

when I run a deployment of that default template (altered to configure a private API) to us-west-1 the create stack reaches a rollback complete with the initial error event being:
Private REST API doesn't have a resource policy attached to it (Service: AmazonApiGateway; Status Code: 400; Error Code: BadRequestException; Request ID: xxxxxxxxxxxxxxxxxxxxxxxxxx)

@BaconAndEggs Thank you for reporting this issue! I created a new issue out of your comment, please post in #925 if you see any additional errors. We will see if  we can find out any more information about this issue.

I would have tried to do that like this: https://serverless.com/framework/docs/providers/aws/events/apigateway#resource-policy
But unforunately that doesn't work :/

Does the x-amazon-apigateway-policy extension still work @spezam, @bigunyak? I can't find any reference to it in Amazon's documentation, and when I try to use it, I get an Internal Error from the transform.

Closing this issue as v1.15.0 is released


SPFX Web part Calling Web Service not working in mobile (iOS/Android)

What type of issue is this?
other
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Target SharePoint environment
SharePoint Online
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[X] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[X] 💥 Safari
[X] mobile (iOS/iPadOS)
[X] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version
SPFx version
Node.js version
etc

Issue description
Hi Everyone,
Please help me on the issue below:
We have SPFX component which calls Web service which has been hosted in On-Prem server. This web service is called from SPFX component via Azure App Proxy.
Now the web part works perfectly fine, when we access in Desktop/Laptop.
But in mobile, it is not returning values.
Following are the troubleshooting I have done.

Tried accessing the web service URL directly from mobile browser, which gives values on the screen. But only in SP Online site it is not working.
Checked the logs in on-premise server (where web service hosted) , when I try accessing the web part from mobile browser. There is no log being written.
Wrote logs inside SPFX component to get the result, which gives HTTP Status code 0
Changed "Access-Control-Allow-Origin" and "Access-Control-Allow-Headers"  to * in web config file for the web service. Still no luck.

Please find the block below from SPFX code which calls web service:
private loadO365Sites(): Promise {
var wsUrl = "Azure App Proxy Web service URL";
var self = this;
let result: any[] = [];
jquery.support.cors = true;
return jquery.ajax({
url: wsUrl,
...getRequestHeader,
success: (resultData) => {
//Binding data inside web part
},
error: (error) => {
}
});
}
const getRequestHeader = {
type: 'GET',
contentType: "text/plain",
dataType: 'json',
crossDomain: true,
xhrFields: {
withCredentials: true
},
}
Kindly let me know what am I missing. Why it is not working in mobile.

@AJIXuMuK  Thanks for the response. Right now liaising with Network Team for trace right now. Will keep this thread updated.

@AJIXuMuK  Got response from Network team that they do not have authority to track the trace which is outgoing from public IP. So reaching my internal Public Cloud team to analyze further on this. Will keep this thread updated.

@AJIXuMuK  I'm being chasing teams endlessly for getting network trace. Can you help me to which team we have to request for Network traffic logs from SharePoint online site?  Seems like Network team and Public cloud team cant get this information. Do I need to raise MS ticket for this ?
Basically I need to check the outgoing traffic from https://contoso.com (Example URL)  to https://contosowebservice.msappproxy.net, when I'm hitting in iPad device.

@AnAverageDevMan - there is nothing to do with Microsoft.
You're sending request from a mobile app to your custom hosted web service.
You need to collect trace of this requests to see what you're sending, what are requests, etc.

Finally got an update for this. But still issue not fixed.
I can see in IIS logs that 401 is being returned each time when I try to access the webservice from mobile.
And then, I have enabled Anonymous Authentication instead of Windows Authentication, for my web service in IIS.
Now, I can see SPFX component is loaded with values in iPad/Mobile device.
But enabling Anonymous authentication is blocking some other critical functionality of our application.
We are looking towards why 401 is being returned when the web service is accessed from mobile, when we enable Windows Authentication.
@AJIXuMuK  Could you highlight any flashpoint which I can check to rectify the issue.


"THE FINALS" crashes hyprland

Hyprland Version
 System/Version info
Hyprland, built from branch main at commit 4ad739ec63c9a11f0537a884ae2a4c56d6bab10b  (HookSystem: improve callback safety).
Date: Sun Apr 21 05:16:42 2024
Tag: v0.39.1-17-g4ad739ec, commits: 4477

flags: (if any)

System Information:
System name: Linux
Node name: pine
Release: 6.8.5-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Thu, 11 Apr 2024 01:47:33 +0000

GPU information:
09:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] [1002:73bf] (rev c1) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

Bug or Regression?
Bug
Description
Launching "THE FINALS" will crash hyprland, see attached logs. The EAC popup will load but "THE FINALS" will crash when the actual game launches after the EAC popup.
How to reproduce
Launch THE FINALS on Steam.
Crash reports, logs, images, videos
Direct output from the hyprland command:
tid(27622) burning pthread_key_t == 0 so we never use it
[2024-04-21 09:54:59] Startup - updater built Mar  6 2024 20:27:25
[2024-04-21 09:54:59] Startup - Steam Client launched with: '/home/nick/.local/share/Steam/ubuntu12_32/steam'
minidumps folder is set to /tmp/dumps
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2024-04-21 09:54:59] Loading cached metrics from disk (/home/nick/.local/share/Steam/package/steam_client_metrics.bin)
[2024-04-21 09:54:59] Using the following download hosts for Public, Realm steamglobal
[2024-04-21 09:54:59] 1. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 1000, source = 'update_hosts_cached.vdf'
[2024-04-21 09:54:59] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'update_hosts_cached.vdf'
[2024-04-21 09:54:59] 3. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2024-04-21 09:54:59] Checking for update on startup
[2024-04-21 09:54:59] Checking for available updates...
[2024-04-21 09:54:59] Downloading manifest: https://client-update.akamai.steamstatic.com/steam_client_ubuntu12
[2024-04-21 09:54:59] Manifest download: send request
[2024-04-21 09:54:59] Manifest download: waiting for download to finish
[2024-04-21 09:54:59] Manifest download: finished
[2024-04-21 09:54:59] Download skipped: /steam_client_ubuntu12 version<PHONE_NUMBER>, installed version<PHONE_NUMBER>, existing pending version 0
[2024-04-21 09:54:59] Nothing to do
[2024-04-21 09:54:59] Verifying installation...
[2024-04-21 09:54:59] Performing checksum verification of executable files
[2024-04-21 09:55:00] Verification complete
UpdateUI: skip show logo
Steam logging initialized: directory: /home/nick/.local/share/Steam/logs

XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xe3d36dc0
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xe3d35500
bus_name=com.steampowered.PressureVessel.LaunchAlongsideSteam
tid(30672) burning pthread_key_t == 0 so we never use it
minidumps folder is set to /tmp/dumps
[GFX1-]: CompositorBridgeChild receives IPC close with reason=AbnormalShutdown

A crash log has also been attached, note that a crash log is not always generated.
hyprlandCrashReport27304.txt

It's not a hyprland issue, the game itself is causing your gpu driver to die.


Use Host from Request instead of Request.URL

Request.URL contains the value sent in the HTTP request and not in the Host header.
This fixes #992

Please rebase.

rebased


sys/shell: Fix the Tasks table header row

This commit removes the "flg" label from the Tasks table header, after the column itself was removed in commit 64e8e16 ("Remove not used oti_flags from struct os_task_info").

This commit removes the "flg" label from the Tasks table header, after the column itself was removed in commit 64e8e16 ("Remove not used oti_flags from struct os_task_info").

ID is incorrect in commit (short version) and in PR description

Aw, the classic case of a text copy not going through - fixed in both places.


README Suggestion

At the end of the document there is a line for a sample Dockerfile
Shouldn't this line
FROM denismakogon/ffmpeg-alpine:4.0-runtime as build-stage
be
FROM denismakogon/ffmpeg-alpine:4.0-buildstage as build-stage
?

Oh, yeah, a huge typo! Please submit the PR, I'll update it right away.

Amazing work on this!  WIll do.

thanks.


[Feature] Checkbox component

Description
CheckboxGroup: Multiple values can be managed through the checkbox component.
Checkbox: Values can be managed through checkbox.

Checkbox
CheckboxGroup
CheckAll

Related Issues
Resolve #202
Tests
I added the following tests:
Test file path: main/__tests__/Checkbox.test.tsx
Story: stories/dooboo-ui/Checkbox.stories.tsx
simple snap test of only Checkbox
Checklist
Before you create this PR confirms that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] Run yarn test or yarn test -u if you need to update snapshot.
[x] Run yarn lint
[x] I am willing to follow-up on review comments in a timely manner.

The minor lint issues will be solved later after I add more lint rules.
LGTM!


[#8263] kafka message tagging and filtering by tag(s)

To resolve #8263.
This feature is disabled by default, depends on header feature.
Related config:

pinpoint.kafka.producer.tags=
pinpoint.kafka.consumer.filter.tags

Filter consumer records as the following strategy:

If a message have one or more tags, and on the consumer side
1.1. if no tag filtering, include the message.
1.2. if tag filtering enabled, but no common tag(s), exclude/filter out the message.
1.3. if tag filtering enabled and have common tag(s), include the message.
If a message have no tags, and on the consumer side
2.1. if no tag filtering, include the message.
2.2. if tag filtering enabled, exclude/filter out the message.

@yjqg6666
I am going to check this PR.
Thanks :)

/it kafka-it

@koo-taejin I will add new plugin-it(s) and update plugin-it for this feature. There wouldn't be much changes thereafter.

/it kafka-it

@emeroad @koo-taejin

Error:  COMPILATION ERROR :
[INFO] -------------------------------------------------------------
Error:  /home/runner/work/pinpoint/pinpoint/thrift/src/main/java/com/navercorp/pinpoint/thrift/dto/TDeadlock.java:[10,17] error: package javax.annotation does not exist
Error:  /home/runner/work/pinpoint/pinpoint/thrift/src/main/java/com/navercorp/pinpoint/thrift/dto/command/TThreadDump.java:[10,17] error: package javax.annotation does not exist
Error:  /home/runner/work/pinpoint/pinpoint/thrift/src/main/java/com/navercorp/pinpoint/thrift/dto/command/TMonitorInfo.java:[10,17] error: package javax.annotation does not exist
Error:  /home/runner/work/pinpoint/pinpoint/thrift/src/main/java/com/navercorp/pinpoint/thrift/dto/flink/TFResponseTime.java:[10,17] error: package javax.annotation does not exist
Error:  /home/runner/work/pinpoint/pinpoint/thrift/src/main/java/com/navercorp/pinpoint/thrift/dto/TResult.java:[10,17] error: package javax.annotation does not exist
Error:  /home/runner/work/pinpoint/pinpoint/thrift/src/main/java/com/navercorp/pinpoint/thrift/dto/command/TActiveThreadDump.java:[10,17] error: package javax.annotation does not exist

package javax.annotation does not exist


backend throws initialize': undefined method []' for nil:NilClass  when used

I'd really like to try this backend, but I always get the following error:
$ RUBYLIB=/opt/puppet-upstream/hiera_consul/lib hiera foo
WARN: 2015-03-12 14:26:42 +0100: Not using Hiera::Puppet_logger. It does not report itself to be suitable.
/opt/puppet-upstream/hiera_consul/lib/hiera/backend/consul_backend.rb:11:in `initialize': undefined method `[]' for nil:NilClass (NoMethodError)
	from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:205:in `new'
	from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:205:in `block in lookup'
	from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:203:in `each'
	from /usr/lib/ruby/vendor_ruby/hiera/backend.rb:203:in `lookup'
	from /usr/lib/ruby/vendor_ruby/hiera.rb:60:in `lookup'
	from /usr/bin/hiera:225:in `<main>'

Ah pointed out on #puppet that may be because the backend is not configured in the hiera.yaml yet, I'd expect another error (or none when not configured) for that. I'll check that.

Yep, when configured, the error disappear, but may there be a better way to throw those errors to be meaningful?

Hi Stefan,
You're absolutely right, I'll add a small fix for this.
Thanks!

Just released this, thanks again!


Create .travis.yml

stream-registry PR
Added a basic .travis.yml so that builds can be monitored at https://travis-ci.org/homeaway
Added

added .travis.yml for monitoring the build

PR Checklist Forms
(to be filled out by PR submitter)

[x] This template filled (above this section)
[ ] CHANGELOG.md updated
[ ] Reviewer assigned
[ ] PR assigned (presumably to submitter)
[ ] Labels added (enhancement, bug, documentation)
[ ] Milestone selected
[ ] All files reviewed before sending to reviewers
[x] Any annotations for reviewers have been added
(with preference of annotating directly in code comments)
[ ] PR builds successfully

PR build fails. The objective of this ticket is to reflect that the master build is breaking.

Looks like Rene have a detailed PR on this. closing this.

Duplicate of #39


Doesn't work with web servers

Is this because it doesn't check calls inside the stdlib?

What do you mean by 'web servers'? The net/http package? This tool checks all the calls inside program. By default it focuses only main package. Check the options in README. Or show code you are trying to analyze.

I don't see an option to enable stepping into the stdlib, just the nostdlib option. Yes i was taking about net/http. This shows the call to listen and serve but not calls out to handlers.

I think I understand now. This is probably related to #4 where the issue was similar.
Basically, only the calls from and to the focused package (main by default) are shown. That means that it will only display calls that are directly called from your focused package to the net/http and ones that are directly from net/http to your focused package. You could use empty string for the -focus flag to show ALL the calls of the program. However this will generate huge output if you don't use -limit or -ignore.
I could help more if you provided some code examples.

So the entry point is main.go which calls a function to setup the routes in another file (same package).
After that it calls listen and serve. The routes call into another package called views which calls into another package and so on.
Does specifying a directory (recursively) work?

Could you show the command with the arguments you used to generate the output?
Since you provided no example code. I made small example to show that the calls from net/http to  handlers are shown.
Code:
package main

import (
	"fmt"
	"net/http"
)

func main() {
	setupRoutes()
	http.ListenAndServe(":4321", nil)
}

func setupRoutes() {
	http.HandleFunc("/", index)
}

func index(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "index")
}

Command:
go-callvis playground/callvis | dot -Tpng -o callvis.png

Output:

That code works. However when I took the index method out of the main file and moved it into it's own directory it didn't. Even though I explicitly imported it:
go-callvis . ./api/ | dot -Tpng -o callvis.png

api/main.go
package api
import (
    "fmt"
    "net/http"
)
func Index(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "index")
}

main.go
package main

import (
	"github.com/zacps/test/api"
	"net/http"
)

func main() {
	setupRoutes()
	http.ListenAndServe(":4321", nil)
}

func setupRoutes() {
	http.HandleFunc("/", api.Index)
}

Not sure what's going on here...

I've played around with different code structure and various flag options.
I will try to summarize my findings.
Let's start with the command you used: go-callvis . ./api/ | ...
Maybe it doesn't throw error and probably should, but only one
argument is supported currently (which has to be a main package).
Other arguments after the first one are ignored, because important
is the main package where the program starts, and the code analysis
can figure out all other calls from there.
The -focus flag is by default set to main since all the programs
have it and keeping focus empty by default would generate gigantic output.
Single package
In my example I posted before,
it's pretty straightforward since only single package is used.
Output contains all the calls that:

either have both caller and callee function inside the focused package,

main.main() --> main.setupRoutes()

or have only caller function inside the focused package,

main.main() --> http.ListenAndServe()
main.setupRoutes() --> http.HandleFunc()
main.index() --> fmt.Fprintf()

or have only callee function inside the focused package.

http.(HandlerFunc).ServeHTTP() - - > main.index()

Multiple packages
If the program consists of multiple packages like in your case, you can choose another package for -focus or use empty focus
with relevant -limit and -ignore flags to constraint the size of output.
Code
main.go
package main

import (
	"playground/callvis/api"
	"net/http"
)

func main() {
	api.SetupRoutes()
	http.ListenAndServe(":4321", nil)
}

api/api.go
package api

import (
    "fmt"
    "net/http"
)

func Index(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "index")
}

func SetupRoutes() {
	http.HandleFunc("/", Index)
}

Output variants

Focusing package main
Output doesn't show call to http.HandleFunc() and fmt.Fprintf(), because neither caller nor callee are inside focused package.

`go-callvis -focus main -group pkg playground/callvis | ...`

Focusing package api
Output doesn't show call to http.ListenAndServe(), because neither caller nor callee are inside focused package.
However it still shows api.SetupRoutes() call since it is inside api package.

`go-callvis -focus api -group pkg playground/callvis | ...`

No focusing
By using -limit we can define import path prefix and packages without this prefix will be ignored.
Same way the -ignore flag defines import path for ignoring packages.
Both can contain multiple prefix paths.

`go-callvis -focus="" -limit playground/callvis -group pkg playground/callvis | ...`

Including net/http
We can add net/http package to the -limit to include it's callgraph. This generates huge output, because it contains internal calls inside std packages.

go-callvis -focus="" -limit "net/http,playground/callvis" -group pkg playground/callvis | ...

Conclusion
To me it seems there is missing a way to show output similar to the last one without the internal calls of the std package.
I think the behaviour of -nostd should be changed so it only omits internal calls inside and between std packages. Or some new flag added with default true since I assume that not many users are interested in internal calls inside std package.
I will look into this further to find the most optimal solution.


feat(is-demo-instantsearch.js): Add SFFV

Adds search for facet values in the instantsearch.js flavoured instantsearch-demo. Very few changes, thanks to instantsearch.js. However I always like an exterior eye @seafoox @pixelastic @kokliKo
The live version is here.

Nice job! Really improves usability.
A few remarks:

I would add a bit of padding around the "No results" and maybe change it to "No matching brands" or something more in context.
Seems like I cannot search for ™, I gives no results while I expect to have Insignia™. I know it's an edge case but surprising.
I still tried to navigate with the keyboard :)

Thanks for the review @pixelastic I will provide some love to the no results :)

@bobylito can you confirm that you made a pass polishing the UI?

As we are polishing it, could look even better with

a bit more bottom margin on the input
default font size on the "No result" message

And also to replace "No results" by “No matching brand” to make it consistent with the other implementations


schema: Allow FieldSerializer to be called on AllOff/Dict/Object members

This issue is split out from #182, but the problem is the same. For schema.AllOff, if one or more of the members implement as a FieldSerialzier, it should be called in a sensible manner.
Let's discuss a littlebit what the most common use-case for schema.AllOf is before we jump to a soultion. In my mind, the most obvious use-case for AllOf is to validate both a common and a variable set of fields, e.g. something like this:
Validator: &schema.AllOf{
  &schema.Object{Schema: &commonSchema},
  &schema.AnyOf{
      &schema.Object{Schema: &schemaA},
      &schema.Object{Schema: &schemaB},
  },
}

where commonSchema defines a set of common fields that apply to all items, while schemaA and schemaB describes e.g. a schema for what's valid when say a field "type" is equal either "A" or "B":
var (
  schema.A = schema.Schema{
    Fields: {
      "type": {Validator: &schema.String{Allowed: []string{"A"}}},
      ...
    },
  }
  schema.A = schema.Schema{
    Fields: {
      "type": {Validator: &schema.String{Allowed: []string{"A"}}},
      ...
    },
  }
)

That means, presumably, that for FieldSerializer selection on AllOf to be useful:

We also want nested types like Array, Dict, Object to implement FieldSerializer to call serialisation on any sub-field that might implement it (separate issues), and, very important, ignores any fields it doesn't know about.
We want to call all FieldSerializers that are found in schema, passing in the output of the previous FieldSerializer as input to the next.

PS! It would be the user's responsibility to make sure that fields do not overlap between the different all-off members. E.g. if specifying a &schema.AllOf{&schema.Dict{...}, &schema.Object{...}}, and both the dict and object has members that implements FieldSerializers, it's the user's responsibility to add add a KeysValidatorthat prevents the dict entry from serializing fields that should be serilized by the objec. The same would of-course already be true for Validation, so it should not be unreasonable to assume this.


Resoving Conflicts in repo

It would be fantastic to implement a way to manage conflicts in the repo. Now,  when I am using a vault on two computers sometimes I need to resolve each conflict manually by the console.
The solution could be done by adding the possibility lu launch an external tool to do this.

Why do you need the console? Because you want to find the conflict files? Because if you resolve the conflicts. A commit with the plugin should work then.


Pr/129

Branch encompasses all of 4.6.0 just submitted to app store!

Merging due to submission to app store of 4.6.0 that includes this branch :)