#466: Proposed changes when ordering based on a dependency graph.

Fixes #466.

The 1st concern is about the CoreFeature which provides shapes but doesn't belong to the already ordered shell features (see #466 for more details). So, here i've re-used the ordering utility for shapes ordering. Then i've done some changes to retrieve quite the same shapes ordering time as before.

Changes are mainly based on the fact that we don't do a simple ordering with regular comparers but an ordering based on a dependency graph, this by using an ordering utility which need a function (here HasDependency) just to know if a node has a one direction and direct dependency on another node.

Note: HasDependency() can be renamed. For me it's quite correct because we order based on a dependency graph, knowing that a dependency can be implicit based on the extension type ...

Waiting for your feedback, happy christmas!
UPDATE1: In O1 there is a Shapes core module / feature which provides the related core shapes. So, maybe good to have such a feature which really belong to the already ordered shell features. Waiting for this i think it's better to re-use the ordering utility and in the way described above. And better, only once per tenant (not per theme) and on distinct features which is faster (one feature can provide many shapes).

@sebastienros @Jetski5822

I've rebased on master with the last change on TypeFeatureProvider. Now core shapes are naturally provided by the Orchard.Commons module (not the "core feature"), marvelous 👍.

So, i could greatly simplify shapes ordering without using (again) the ordering utility.

@sebastienros about your new ordering algorithm which fully use comparers, just began some tests. I've seen some things that need to be discussed but need more time, will post another comment.

Best.

@sebastienros @Jetski5822

I've rebased on master with the last change on TypeFeatureProvider. Now core shapes are naturally provided by the Orchard.Commons module (not the "core feature"), marvelous 👍.

So, i could greatly simplify shapes ordering without using (again) the ordering utility.

@sebastienros about your new ordering algorithm which fully use comparers, just began some tests. I've seen some things that need to be discussed but need more time, will post another comment.

Best.

@sebastienros

With your new algorithm the issue i've seen (which can break the dependency graph) is that the weight of an item depends on the number of times it is referenced as a dependency by other items.

So, i realized that this algorithm (closer to a regular ordering) needs for each item the full list of dependencies by using GetFeatureDependencies(). Notice that we don't need this with the current algorithm which, for each item, parses the graph itself and also check if an item has been used.

Note: Here i see a problem if we want to embed explicit dependencies in an ordering strategy because we need the full list of dependencies, so, the strategy itself would need to use the extension manager.

Then, by using the above, it seems to work (need more tests) but it is about 3 times longer. But you also said this is not a concern if (as we can now) we order features only once.

With the current implementation i see 2 concepts, dependency strategies and ordering strategies. Dependency strategies would be DirectExplicitDependency, ThemeDependency ... Here we only need one direction and 1st level dependencies without weights and having to order strategies calls.

Right now the only regular "ordering strategy" is PriorityOrdering. See BestPriorityPosition() in the utilities where a partial ordering is done by moving up items according to their priority but in respect of dependencies. Note: would be complicated to have both multiple dependency and ordering strategies.

So, the 1st solution is, with the current algorithm, only use (one direction and direct) dependency strategies (we could embed direct explicit dependencies in such a strategy). And at the end, when nobody wins, only use one partial ordering as currently implemented through features priorities.

The 2nd solution, based on your algorithm, is to only use ordering strategies (we could embed fetaures priorities in such a strategy) but knowing this is not the most effective (but done only once) and maybe a problem if we want to embed explicit dependencies (here the full list) in a strategy (see above).

Note: For baseTheme maybe good to keep it somewhere as a regular dependency. Then it is easier to check for base themes through the full chain when ordering shapes or enabling a theme.

Best.

Another way to order with this notion of strategy, is to order buckets of items, and each strategy orders a bucket by creating other buckets. And each strategy can have different ways or ordering. I will try to update what we did and send it to you.

@sebastienros
Ordering

First, anyway we need somewhere to parse for each feature the full list of dependencies. This is done by the current algorithm (1st solution) or could be done through a strategy (2nd solution). Notice that this strategy would need to use itself the extension manager.

I'm open to all solutions but meanwhile i did a 1st work (can be reverted) just to go further and show ideas on what can be done with the 1st solution according to what the current ordering utility do.

Note: quickly done, just for helping to see pros and cons between the 2 solutions.

The current utility linearizes the dependency ghraph and then re-order things by priorities. Notice that also for priorities a full comparer is not used, we just need > or the opposite <=. This because we just move up each item as we can and without breaking the dependency constraints.

So, here i've used dependency strategies and also priority strategies. I've embedded feature priorities in one of possible multiple priority strategies. Note: whatever the name, could be weight strategies.

2 little questions on Services

Beyond the ordering algorithm, can we inject in extension manager (which is a singleton at the app level) a strategy which has a socped lifetime (e.g currently ThemeExtensionDependencyStrategy) or even if it is a singleton but at the tenant level?

In AddExtensionManagerHost() the FeaturesProvider is registered as a singleton and we also have in AddExtensionManager()
  services.TryAddScoped<IFeaturesProvider, FeaturesProvider>();

We kept this line as it was previously used. But is it really useful?

Best.

We can't register a scoped in a singleton, or the scoped would get the lifetime of the singletong. It might work fine, but this would show a flaw in the design of the classes.

@sebastienros
So, it was quite ready as seen together, just done a little refactoring and updated some comments.
So, the algorithm is divided in 2 parts.

A linearization part which use IExtensionDependencyStrategy strategies. Strategies are called in any order and an element has a direct dependency on another if at least one stategy defines it so.

A post ordering part which doesn't break dependencies and use IExtensionPriorityStrategy strategies. Each strategy returns a priority for a given item, then we use the Sum as an order value.
For this part (only this one) we could use strategies as comparers between 2 items and with a calling order. But letting all strategies participate to an order value of a single item is simpler and more useful.
We can't have easily a simple post ordering by name, but, as an example, if different strategies provide priorities as multiples of different powers of 10, it is as you have subgroups ordered separately.

Best.

Just re-done some tests

New setup ok.

Unit tests ok.

Functional tests: Go to admin select SafeMode for the front end theme, ok.
Create an Article type with autoroute title and body, create, publish and view an item, ok.
Under debugger check the feature list ordered by dependencies, ok.
Modify a manifest priority and then check the new ordering, ok.
Define a base theme  and then check the new ordering, ok.

Best.

Sweet - so @jtkech you managed to refactor that stuff without changing any of the tests I wrote? wicked.

@jtkech @sebastienros Im wondering why we changed from Compare to HasDependency? I prefered Compare as it said which way the dependency went... does A have a dependency on B or vice versa or not at all....

Rebased on last master and conflicts resolved.

@sebastienros so, can you merge this one?


6/4/2019 Publish

Docs Build status updates of commit 3aceb2c:
:clock10: Full build: the average full build time is 222 min(s) 18 sec(s), this is based on the last 32 build(s) for this repository.

Docs Build status updates of commit 3aceb2c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-mapping/reference.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Refactor URL generation from models

Moved URL attributes logic into API layer
refs #9866

Moved URL related attribute calculation for posts, users, and tags into API layer

Ping me when this is ready to review/test, wanne merge asap 👍

@kirrg001 have taken WIP out. Going through changes again looking for any more improvements to be done :)

@gargol I'll merge this after the release. Want to look at it with fresh eyes tomorrow morning 👍


Fix raw string propertization.

First, str-start points to quote, so we should look back for r#.
Second, we should put "|" property only if it's a beginning of a string.
Fixes #270

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @nikomatsakis (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Ah, nevermind. I didn't understand it correctly.


Changes to Process file in System workflow

Signed-off by: Divya Madala<EMAIL_ADDRESS>Description
process.py has empty logs in stdout stderr as we tried to read the file when the file pointer in at EOF so attempted to bring the file pointer to start of the file before reading.
Issues Resolved
Fixed the stdout and stderr properties which were returning Null instead of having the output from subprocess command.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #3016 (919ed55) into main (b5f15cf) will decrease coverage by 0.29%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #3016      +/-   ##
==========================================
- Coverage   93.17%   92.88%   -0.30%
==========================================
  Files         167      167
  Lines        4602     4608       +6
==========================================
- Hits         4288     4280       -8
- Misses        314      328      +14

Impacted Files
Coverage Δ

src/system/process.py
94.11% <100.00%> (+0.56%)
:arrow_up:

src/system/temporary_directory.py
64.44% <0.00%> (-28.89%)
:arrow_down:

src/system/os.py
94.73% <0.00%> (-5.27%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Could you please add more details about the motivation for this change in the PR description? @Divyaasm

Hi @Divyaasm add some comment on @dblock concerns.
Thanks.

@Divyaasm Now I am confused to what the actual problem you're trying to solve is. When are these logs empty? I think you might want to reproduce the issue in a test, then we can see what the best way to fix it is?

Hi @dblock, I tried to add some print statements for testing in the start() function and tried to show the data in stdout in different cases by creating an object to the Process class and passing an "ls" command to the subprocess.I have added images for reference to depict the issue.

Output:

@Divyaasm Makes sense. Next, write a unit test that reproduces the failure that you have in those screenshots.

@Divyaasm Makes sense. Next, write a unit test that reproduces the failure that you have in those screenshots.
I think what's missing is waiting for the process to finish, no? Once it's finished you have all the data in stdout/stderr.

Yes @dblock, giving some wait time redirects the data into stdout/stderr. I will further add additional test-cases for the changed code. Thanks

@Divyaasm Makes sense. Next, write a unit test that reproduces the failure that you have in those screenshots.
I think what's missing is waiting for the process to finish, no? Once it's finished you have all the data in stdout/stderr.

Yes @dblock, giving some wait time redirects the data into stdout/stderr. I will further add additional test-cases for the changed code. Thanks

In your use case, does the process finish by the time you need the stdout output? If so, would using a more reliable way to wait for the process to do so, instead of waiting some number of seconds, work?

@Divyaasm Makes sense. Next, write a unit test that reproduces the failure that you have in those screenshots.
I think what's missing is waiting for the process to finish, no? Once it's finished you have all the data in stdout/stderr.

Yes @dblock, giving some wait time redirects the data into stdout/stderr. I will further add additional test-cases for the changed code. Thanks

In your use case, does the process finish by the time you need the stdout output? If so, would using a more reliable way to wait for the process to do so, instead of waiting some number of seconds, work?

We can do that by using wait() function or passing timeout value to subprocess command, but ultimately they lead to waiting for a number seconds to let the process complete.

self.__stdout_data__ = self.stdout.read() wouldn't work as self.stdout is basically reference to a file. To read the content of self.stdout can you please replace the current code here with below and try?
self.__stdout_data__ = open(self.stdout.name, 'r').read()
self.stdout.close()
self.stdout = None

Do the same for stderr as well.
There should be no need to add sleep or wait.
@Divyaasm @dblock @peterzhuamazon

self.__stdout_data__ = self.stdout.read() wouldn't work as self.stdout is basically reference to a file. To read the content of self.stdout can you please replace the current code here with below and try?
self.__stdout_data__ = open(self.stdout.name, 'r').read()
self.stdout.close()
self.stdout = None

Do the same for stderr as well.
There should be no need to add sleep or wait. @Divyaasm @dblock @peterzhuamazon

Thank you, @rishabh6788 , you nailed it!!
I tested the integ-test local cluster log empty issue with the recommendation you mentioned above and it worked!
@Divyaasm can further confirm from her end, but I think your recommendation fixed https://github.com/opensearch-project/opensearch-build/issues/2464
I will cancel my PR https://github.com/opensearch-project/opensearch-build/pull/3034. Thanks!!

Hi @peterzhuamazon,
Could you please take a look why a windows testcase failed due to the changes made in the file. I see ubuntu and mac-os successfully ran all the testcases.

I see the test cluster logs are now generated. And to access the data in stdout and stderr from user side at any instance of time using time.sleep() on the user end fetches the values from stdout_data and stderr_data

@dblock @peterzhuamazon There is an issue with reading tempfile.NamedTemporaryFile in windows https://bugs.python.org/issue14243. The work around is to set delete=False while calling tempfile.NamedTemporaryFile() method and take care of the deletion manually.
I have added the changes in our process.py file to fix the empty cluster logs file issue, please review and provide your comments.
I have ignored testing for file's existence before removing as in our we are actually creating temp files at the start of the process and are also testing their existence condition as well. Let me know if you have any better way to handle deletion.
@Divyaasm @jordarlu

@dblock @peterzhuamazon There is an issue with reading tempfile.NamedTemporaryFile in windows https://bugs.python.org/issue14243. The work around is to set delete=False while calling tempfile.NamedTemporaryFile() method and take care of the deletion manually. I have added the changes in our process.py file to fix the empty cluster logs file issue, please review and provide your comments. I have ignored testing for file's existence before removing as in our we are actually creating temp files at the start of the process and are also testing their existence condition as well. Let me know if you have any better way to handle deletion. @Divyaasm @jordarlu

Thanks @rishabh6788 seems like a better approach than my original deleting 3 times on Windows method.
Probably we are utilize the same for this: https://github.com/opensearch-project/opensearch-build/blob/main/src/system/temporary_directory.py#L39

@dblock are you okay with the proposed update?


Add port option to kinesis config

Hi there,
I've been using kinesalite as a mock server to test the application I am writing. Even though I could have config kinesalite to set the port to to the default one, I think that having an option to explicitly set the port is a good idea, as the dynamodb request module is already doing.
Also, I didn't see any particular test I could verify this new changes. Maybe it wouldn't be a bad idea to refactor the request modules (now the dynamodb module and the kinesis module are almost 100% the same) and some test to it. I might be able to help if needed.
Thanks!

Will refactor afterward, thanks!

Thank you! :)


fix(DIST-351): Add box shadow to side panel popup

When a white typeform is embedded in a white page the box shadow separates the form:

[BOT] Preview available: https://embed.typeform.com/d33c53b78e34a87dd7a4eaabe937860dd2e8c955/embed.js

[BOT] Preview available: https://embed.typeform.com/25bb8071d3d9835c5827e3a10e73ad27f63eeee7/embed.js

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


code --install-extension not working with roaming profiles

I'm using command line to install extensions to automate setup but it does not work on roaming profile where the profile has UNC path like \\server-name\home\my-username\

Does this issue occur when all extensions are disabled?: Yes/No
Yes

VS Code Version: 1.86.2
OS Version: Windows 10

Steps to Reproduce:

Windows must be setup with roaming profile where user profile is on a UNC path like below (not mounted as a drive):
\\server-name\home\my-username\
So with the example server above, my %appdata% roaming location would be:
\\server-name\home\my-username\AppData\Roaming\
Open CMD
Run command below to install an offline extension:
code --install-extension extension-name.vsix
Prompt will show UNC host 'server-name' access is not allowed

@sandy081 I suggest you follow along what I do here in the CLI:
https://github.com/sheetalkamat/vscode/blob/5b070e443b91e5b0b286fd675f42e72ba8090463/src/vs/code/node/cli.ts#L126-L134
Specifically, if you do an operation such as install an extension via CLI, put the target folder as allowed UNC source.

This is not that the extension is on a UNC path. The user profile itself is on a UNC path.

We already enlist the user-data-path as automatically allowed:
https://github.com/microsoft/vscode/blob/069f4d91f377c207f4857e93c0965358985e9ca3/src/main.js#L58-L64
But we are not doing so for the extension path at all and also not in other environments such as running from CLI. I think its good to enlist these paths as well to support more scenarios.

This bug has been fixed in the latest release of VS Code Insiders!
@leomoon, you can help us out by commenting /verified if things are now working as expected.
If things still don't seem right, please ensure you're on version cc1f5e3acfad98ed519befc1ebfd199777d135f4 of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!


Cannot create a swarm

Hi,
[root@centos-minion ~]# docker run --rm swarm create
time="2015-04-09T08:43:28Z" level=fatal msg="Post https://discovery-stage.hub.docker.com/v1/clusters: dial tcp <IP_ADDRESS>:443: i/o timeout"
Any idea what could be the problem?

Maybe you can't connect the Docker Hub token discovery service. You can try other Discovery backend, such as etcd,zookeeper or local file.
http://docs.docker.com/swarm/discovery/

ping @vieux ?

I'm having a similar issue:
docker run --rm swarm create
time="2015-04-16T00:23:21Z" level=fatal msg="Post https://discovery-stage.hub.docker.com/v1/clusters: dial tcp: lookup discovery-stage.hub.docker.com: no such host"
wget https://discovery-stage.hub.docker.com/v1/clusters
--2015-04-16 10:24:41--  https://discovery-stage.hub.docker.com/v1/clusters
Resolving intproxy81.prod.srv.westpac.com.au... <IP_ADDRESS>
Connecting to intproxy81.prod.srv.westpac.com.au|<IP_ADDRESS>|:81... connected.
Proxy request sent, awaiting response... 404 Not Found
2015-04-16 10:24:42 ERROR 404: Not Found.
Any ideas?
Cheers,

Also when I try with a local file:
docker run --rm swarm manage -H tcp://XX.XX.XX.XX:2375 file:///tmp/my_cluster
time="2015-04-16T00:39:43Z" level=fatal msg="open /tmp/my_cluster: no such file or directory"
$ cat /tmp/my_cluster
XX.XX.XX.XX:2375
yy.yy.yy.yy:2375
What am I doing wrong?  To be visible inside container you need to mount volume?
Br, Rip
From: ext pireslaert<EMAIL_ADDRESS>Sent: Thursday, April 16, 2015 8:44 AM
To: docker/swarm
Cc: Yan, Xiaoping (Nokia - CN/Hangzhou)
Subject: Re: [swarm] Cannot create a swarm (#607)
Also when I try with a local file:
docker run --rm swarm manage -H tcp://XX.XX.XX.XX:2375 file:///tmp/my_cluster<file:///\tmp\my_cluster>
time="2015-04-16T00:39:43Z" level=fatal msg="open /tmp/my_cluster: no such file or directory"
$ cat /tmp/my_cluster
XX.XX.XX.XX:2375
yy.yy.yy.yy:2375
What am I doing wrong? I got the lastest swarm image and running docker:
docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef
Cheers
—
Reply to this email directly or view it on GitHubhttps://github.com/docker/swarm/issues/607#issuecomment-93607325.

@pireslaert Indeed, as noted by @YanXiaoping, because you run the manager on a container, you need to mount the host directory as a data volume with:
docker run --rm -v /tmp:/tmp swarm manage -H tcp://XX.XX.XX.XX:2375 file:///tmp/my_cluster

For your issue with the token discovery service, this seems to be a proxy issue.. can you check if the discovery is reachable outside of this setup?

Hi, indeed! @YanXiaoping was right i had to pass as a volume the documentation needs updating: http://docs.docker.com/swarm/discovery/#using-a-static-file-describing-the-cluster
I do  get another error though:
time="2015-04-16T01:53:43Z" level=fatal msg="listen tcp XX.XX.XX.XX:2375: bind: cannot assign requested address"
But as for the discoveryservice I get a 404 anywhere I tried (outside the setup, outside work network) (https://discovery-stage.hub.docker.com/v1/clusters)
Cheers,

I'm trying to run swarm on the simplest way:
docker run --rm swarm manage -H tcp://XX.XX.XX.XX:2375 nodes://XX.XX.XX.XX:2375,YY.YY.YY.YY:2375
time="2015-04-16T06:39:22Z" level=info msg="Listening for HTTP" addr="XX.XX.XX.XX:2375" proto=tcp
time="2015-04-16T06:39:22Z" level=fatal msg="listen tcp XX.XX.XX.XX:2375: bind: cannot assign requested address"
both nodes are listing on the ports and can run commands remotely:
docker -H tcp://XX.XX.XX.XX:2375 info
Containers: 15
Images: 332
Storage Driver: devicemapper
Pool Name: docker-253:2-522364-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file:
Metadata file:
Data Space Used: 13.1 GB
Data Space Total: 107.4 GB
Metadata Space Used: 19.22 MB
Metadata Space Total: 2.147 GB
Udev Sync Supported: false
Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Kernel Version: 2.6.32-504.8.1.el6.x86_64
Operating System:
CPUs: 16
Total Memory: 29.37 GiB
Name: XX.XX.XX.XX
ID: XX.XX.XX.XX
Debug mode (server): true
Debug mode (client): false
Fds: 16
Goroutines: 17
EventsListeners: 0
Init Path: /opt/fxsw/docker/software/docker
docker -H tcp://YY.YY.YY.YY:2375 info
Containers: 1
Images: 94
Storage Driver: devicemapper
Pool Name: docker-253:2-261247-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 1.142 GB
Data Space Total: 107.4 GB
Metadata Space Used: 3.457 MB
Metadata Space Total: 2.147 GB
Udev Sync Supported: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Kernel Version: 2.6.32-504.8.1.el6.x86_64
Operating System:
CPUs: 16
Total Memory: 29.37 GiB
Name: YY.YY.YY.YY
ID: YY.YY.YY.YY
Debug mode (server): true
Debug mode (client): false
Fds: 14
Goroutines: 16
EventsListeners: 0
Init Path: /opt/fxsw/docker/software/docker
Docker Root Dir: /var/lib/docker
Any idea of what am missing?
Cheers,

@abronan its strange that I'm getting this error:
level=fatal msg="Post https://discovery-stage.hub.docker.com/v1/clusters: dial tcp: lookup discovery-stage.hub.docker.com: no such host"
I am using a proxy and can pull images from the hub, but not the discovery service?

I got the swarm manage working with local files as a discovery service, the problem was that my nodes were not listening on tcp 2375 ports and the container of the swarm manager:
docker run -p 2376:2375 --rm swarm manage -H tcp://X.X.X.X:2375 nodes://X.X.X.X:2375,Y.Y.Y.Y:2375
But I still can't connect to the discovery service though, not the end of the world as i can work with other discovery services.
Thanks for the help @YanXiaoping @abronan
Cheers,

@abronan @pireslaert , any idea why I get this error:
docker run -p 2376:2375 --rm swarm manage -H tcp://X.X.X.X:2375 nodes://X.X.X.X:4243,Y.Y.Y.Y:4243
time="2015-04-17T09:33:42Z" level=info msg="Listening for HTTP" addr="X.X.X.X:2375" proto=tcp
time="2015-04-17T09:33:42Z" level=fatal msg="listen tcp X.X.X.X:2375: bind: cannot assign requested address"
[root@centos-minion ~]# ps aux| grep docker
root      5939  0.9  2.1 1103792 41348 ?       Ssl  Apr01 222:33 /usr/bin/docker -d --selinux-enabled -H tcp://<IP_ADDRESS>:4243 -H unix:///var/run/docker.sock
Also, why we use --rm here? shouldn't we keep the swarm mnager running?

@YanXiaoping you are running the manager in a container, when you use -H tcp://X.X.X.X:2375 I'm guessing you are using an IP from the machine, which is not available inside the container, what you should do it bind to <IP_ADDRESS> inside the container and specify your address when you bind in docker. IT would look like :+1:
docker run -p 2376:X.X.X.X:2375 --rm swarm manage -H tcp://<IP_ADDRESS>:2375 nodes://X.X.X.X:4243,Y.Y.Y.Y:4243

Regarding the --rm it is to remove the container when it exits. Usually you want to start the manager in background so, use -d
docker run -p 2376:X.X.X.X:2375 -d swarm manage -H tcp://<IP_ADDRESS>:2375 nodes://X.X.X.X:4243,Y.Y.Y.Y:4243

Thank you @vieux, it works
There is one syntax error in this command:
docker run -p 2376:X.X.X.X:2375 -d swarm manage -H tcp://<IP_ADDRESS>:2375 nodes://X.X.X.X:4243,Y.Y.Y.Y:4243
It should be:
docker run -p X.X.X.X:2376:2375 -d swarm manage -H tcp://<IP_ADDRESS>:2375 nodes://X.X.X.X:4243,Y.Y.Y.Y:4243

Although this issue is closed, just want to mention the workaround I followed which solved the issue. I created my own wrapper swarm image with http proxies defined.
FROM swarm
MAINTAINER Name
ENV http_proxy http://www-proxy.us.oracle.com:80
ENV https_proxy http://www-proxy.us.oracle.com:80
I then worked with the "wrapper" swarm image instead of the swarm image itself

Hi,
Thanks for this information.
Br, Rip
From: ext Vinay Prabhakar<EMAIL_ADDRESS>Sent: Monday, July 06, 2015 3:55 PM
To: docker/swarm
Cc: Yan, Xiaoping (Nokia - CN/Hangzhou)
Subject: Re: [swarm] Cannot create a swarm (#607)
Although this issue is closed, just want to mention the workaround I followed which solved the issue. I created my own wrapper swarm image with http proxies defined.
FROM swarm
MAINTAINER Name
ENV http_proxy http://www-proxy.us.oracle.com:80
ENV https_proxy http://www-proxy.us.oracle.com:80
I then worked with the "wrapper" swarm image instead of the swarm image itself
—
Reply to this email directly or view it on GitHubhttps://github.com/docker/swarm/issues/607#issuecomment-118762452.

Hi, I had the same problem, but found out why.
I had added a "--dns=<IP_ADDRESS>" to my startup of the docker daemon. This is the dns we use where I work, but at home its <IP_ADDRESS>, and then swarm will not run a create command. I corrected the dns, restartet the docker daemon, and then it worked. On Fedora 22 its in this file : /etc/sysconfig/docker


Flutter Web: stack trace is not minified

Platform:

[x]  Flutter Web

IDE:

[x]  VSCode

split-debug-info and obfuscate (Flutter Android or iOS) or CanvasKit (Flutter Web):

[x]  Enabled

Platform installed with:

[x] pub.dev

The version of the SDK (See pubspec.lock):
Sentry: 6.20.1
sentry_dart_plugin: 1.0.0-beta.2

I have the following issue:
StackTrace is not minified well, I can't see context of code related to the exception.
This is how we init SDK, release and dist is automatically bound.

But StackTrace is minified as seen in this screenshot.

We use sentry_dart_plugin with param upload_source_maps: true. What's wrong ?

Can you double check the last item of this section?
Have you built your app using the --source-maps param?
The release and dist should match, can you link me to an sentry.io event?

@marandaneto yes I built with that command

@marandaneto
https://wio-bank-pjsc.sentry.io/share/issue/f7905d4e2cfa4b5fac5d0734fd9aea1c/

@yerkejs for some reason this event does not have release nor dist, can you enable debug: true and check out the logs?
Check the [LoadReleaseIntegration](https://github.com/getsentry/sentry-dart/blob/main/flutter/lib/src/integrations/load_release_integration.dart) integration.
The release and dist of the event itself should match the one from the uploaded source maps.
I do see uploaded source maps, but the events don't have a release and dist.

@marandaneto the release and dist are present

@yerkejs thanks, we'll check this out.
Does it happen for every error or just a few of them? What's your Flutter/Dart version?

To most of them, Flutter: 3.0.5

We are not able to apply source context as sourceContents is missing from your map file, and uploaded source files doesnt match the values from sources array in the very sam sourcemap file. I have 0 knowledge about Flutter tooling, but this is the main cause.

@yerkejs can you try out locally, using the latest Flutter or providing a minimal reproducible example? we run our sample locally and sentry symbolicate everything correctly.

We are not able to apply source context as sourceContents is missing from your map file, and uploaded source files doesnt match the values from sources array in the very sam sourcemap file. I have 0 knowledge about Flutter tooling, but this is the main cause.

Thanks @kamilogorek
I can take it from here.

@marandaneto how sourceContents can be missing if we use sentry's plugin for uploading

@yerkejs that's why we need more info, maybe the source maps are corrupted or something.


Usage with redux-freeze

We love the look of this grid and are keen to use it to display data from our Redux state, so the contents of the grid change as the state updates.
The issue is... We use redux-freeze to prevent state mutation. Since the elements of our data array are not extensible, we have to add _key ourselves to prevent this error:

getData.js:68 Uncaught TypeError: Cannot add property_key, object is not extensible
     at getData.js:68
     at Array.forEach (<anonymous>)
     at setKeysInData (getData.js:67)
     at setData (datasource.js:45)
     at handleActions.js:31
     at combination (combineReducers.js:133)
     at reducers (index.js:55)
     at computeNextEntry (<anonymous>:2:27469)
     at recomputeStates (<anonymous>:2:27769)
     at <anonymous>:2:31382

I'm fine with that, but then if I try to sort by clicking a column header, I get:

GridActions.js:195 Uncaught TypeError: Cannot add property sortDirection, object is not extensible
    at GridActions.js:195
    at Array.map (<anonymous>)
    at setSortDirection (GridActions.js:188)
    at handleSort (Column.js:207)
    at FixedHeader.handleColumnClick (Column.js:257)
    at HTMLUnknownElement.boundFunc (ReactErrorUtils.js:63)
    at Object.ReactErrorUtils.invokeGuardedCallback (ReactErrorUtils.js:69)
    at executeDispatch (EventPluginUtils.js:83)
    at Object.executeDispatchesInOrder (EventPluginUtils.js:106)
    at executeDispatchesAndRelease (EventPluginHub.js:41)

Presumably the disallowed state mutation here is within the grid's own state. I can only get it to work by taking the redux-freeze middleware out of the store. Any ideas how I could keep the store frozen? Would I need a second store dedicated to the grid?

Yeah, grid assumes that data is either a native JS object, or an immutable object. It doesn't know how to retrieve data from a redux-freeze object. PR's welcome!
The only place we would need to handle the retrieval of data inside the redux-freeze object should be in the stateGetter util.

Cool - if we work on this I will certainly send a PR. Cheers!


[WFLY-14540] Upgrade MyFaces to 2.3.8  [CVE-2021-26296]

https://issues.redhat.com/browse/WFLY-14540

@fjuma Please review.


tuxedo-drivers: init at 4.3.0

Description of changes
The currently-offered tuxedo-keyboard driver has been deprecated for a long time - see here.
The new driver is called tuxedo-drivers and is located here; also has a GitHub read-only mirror here.
Closes #291669
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I do not have a tuxedo laptop. Maybe someone with a tuxedo laptop should test the builds?

I am not sure how we should go on with the hardware/tuxedo-keyboard module. Either we deprecate it and introduce a new hardware/tuxedo-hardware, or we rename it.

@blitz ?

did some thinking and I think its best if we just rename the old module and do some adjustments to properly also integrate the tuxedo control center or something?

did some thinking and I think its best if we just rename the old module and do some adjustments to properly also integrate the tuxedo control center or something?

Maybe. :shrug: But I suppose a more avid nix on tuxedo user should provide their points. As I mentioned at https://github.com/NixOS/nixpkgs/issues/291669#issuecomment-1975414659 I rarely use mine anymore, so I'm also a bit out of the loop regarding their releases and changes.

So, together with the 6.6.17-xanmod1 kernel on a Pules 15 Gen 1, using the tuxedo-drivers package from this PR instead of tuxedo-keyboard works flawlessly, afaict (i.e. hardware works, tuxedo control center works, no errors in dmesg).

So, together with the 6.6.17-xanmod1 kernel on a Pulse 15 Gen 1, using the tuxedo-drivers package from this PR instead of tuxedo-keyboard works flawlessly, afaict (i.e. hardware works, tuxedo control center works, no errors in dmesg).

:+1: nice. As no-one else took a stance, I think its best if we keep the old nix module and just introduce a new one? If no-one opposes that, I will do that for now.

So do I understand this correctly and TCC is not required anymore, if you use these drivers?

So do I understand this correctly and TCC is not required anymore, if you use these drivers?

Not sure, but I think it makes TCC optional.

Had to remove the deprecation notice, as I forgot thats not how to deprecate things in nixpkgs :sweat_smile:
should be good to go now..

I guess its ready to merge?

Hi, I'd like to see this gets merged.
How can I help (with very limited Nix knowledge)?
In the meantime, I was able to build tuxedo-drivers with a package from this PR up to v4.4.1.
Then, builds failed with v4.4.2 and v4.4.3.
Looking at the upstream's commit history, they started to pass $(MAKEFLAGS) in several places in Makefile.
The error I'm getting is:
error: builder for '/nix/store/ydsmq173pmsd18shv3njs8mwx3rfsr71-tuxedo-drivers-6.8.9-4.4.2.drv' failed with exit code 2;
       last 10 log lines:
       > Running phase: patchPhase
       > Running phase: updateAutotoolsGnuConfigScriptsPhase
       > Running phase: configurePhase
       > no configure script, doing nothing
       > Running phase: buildPhase
       > build flags: SHELL=/nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash O=\$\(buildRoot\) CC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc HOSTCC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc HOSTLD=/nix/store/2vkh4388dshscjx942dqvgsl24hnkkq9-binutils-wrapper-2.41/bin/ld ARCH=x86_64 KERNELRELEASE=6.8.9 KDIR=/nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build INSTALL_MOD_PATH=/nix/store/zkb618qlyzlyjxrk5pw837xdfxjw3scs-tuxedo-drivers-6.8.9-4.4.2
       > make -C /nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build M=/build/source  -- INSTALL_MOD_PATH=/nix/store/zkb618qlyzlyjxrk5pw837xdfxjw3scs-tuxedo-drivers-6.8.9-4.4.2 KDIR=/nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build KERNELRELEASE=6.8.9 ARCH=x86_64 HOSTLD=/nix/store/2vkh4388dshscjx942dqvgsl24hnkkq9-binutils-wrapper-2.41/bin/ld HOSTCC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc CC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc O=$$(buildRoot) SHELL=/nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash modules
       > /nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash: -c: line 1: syntax error near unexpected token `('
       > /nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash: -c: line 1: `make -C /nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build M=/build/source  -- INSTALL_MOD_PATH=/nix/store/zkb618qlyzlyjxrk5pw837xdfxjw3scs-tuxedo-drivers-6.8.9-4.4.2 KDIR=/nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build KERNELRELEASE=6.8.9 ARCH=x86_64 HOSTLD=/nix/store/2vkh4388dshscjx942dqvgsl24hnkkq9-binutils-wrapper-2.41/bin/ld HOSTCC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc CC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc O=$$(buildRoot) SHELL=/nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash modules'
       > make: *** [Makefile:29: all] Error 2
       For full logs, run 'nix log /nix/store/ydsmq173pmsd18shv3njs8mwx3rfsr71-tuxedo-drivers-6.8.9-4.4.2.drv'.
error: 1 dependencies of derivation '/nix/store/4ndmh3p95advjmcnklqnyihhm4w09jad-linux-6.8.9-modules.drv' failed to build
error: 1 dependencies of derivation '/nix/store/xglvy4scbrpi194p8vw61s4sjr1jl6by-nixos-system-mylaptop-24.05.20240509.f1010e0.drv' failed to build

Output of nix log (snip):
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/ydsmq173pmsd18shv3njs8mwx3rfsr71-tuxedo-drivers-6.8.9-4.4.2.drv^*'
@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
unpacking source archive /nix/store/df1ih6y7cwh9b20msi3x9h0s12n63h3a-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
Running phase: buildPhase
build flags: SHELL=/nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash O=\$\(buildRoot\) CC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc HOSTCC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc HOSTLD=/nix/store/2vkh4388dshscjx942dqvgsl24hnkkq9-binutils-wrapper-2.41/bin/ld ARCH=x86_64 KERNELRELEASE=6.8.9 KDIR=/nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build INSTALL_MOD_PATH=/nix/store/zkb618qlyzlyjxrk5pw837xdfxjw3scs-tuxedo-drivers-6.8.9-4.4.2
make -C /nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build M=/build/source  -- INSTALL_MOD_PATH=/nix/store/zkb618qlyzlyjxrk5pw837xdfxjw3scs-tuxedo-drivers-6.8.9-4.4.2 KDIR=/nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build KERNELRELEASE=6.8.9 ARCH=x86_64 HOSTLD=/nix/store/2vkh4388dshscjx942dqvgsl24hnkkq9-binutils-wrapper-2.41/bin/ld HOSTCC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc CC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc O=$$(buildRoot) SHELL=/nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash modules
/nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash: -c: line 1: syntax error near unexpected token `('
/nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash: -c: line 1: `make -C /nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build M=/build/source  -- INSTALL_MOD_PATH=/nix/store/zkb618qlyzlyjxrk5pw837xdfxjw3scs-tuxedo-drivers-6.8.9-4.4.2 KDIR=/nix/store/l88l8sfks132lqp8q3zdmm864q3hbv9k-linux-6.8.9-dev/lib/modules/6.8.9/build KERNELRELEASE=6.8.9 ARCH=x86_64 HOSTLD=/nix/store/2vkh4388dshscjx942dqvgsl24hnkkq9-binutils-wrapper-2.41/bin/ld HOSTCC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc CC=/nix/store/8mjb3ziimfi3rki71q4s0916xkm4cm5p-gcc-wrapper-13.2.0/bin/cc O=$$(buildRoot) SHELL=/nix/store/h3bhzvz9ipglcybbcvkxvm4vg9lwvqg4-bash-5.2p26/bin/bash modules'
make: *** [Makefile:29: all] Error 2

On a flake-based NixOS with nixpkgs.url in the inputs set to "github:nixos/nixpkgs/nixos-unstable".

the PR was ready to be merged at some point but because of unknown reasons nothing happened. now it needs to be rebased to be merged.

@CutestNekoAqua do you still plan to get this over the finish line?
I think you can pick the tuxedo-rs change from https://github.com/NixOS/nixpkgs/pull/316708 but we probably should settle on either this pr or https://github.com/NixOS/nixpkgs/pull/316708 to not duplicate work

@CutestNekoAqua do you still plan to get this over the finish line? I think you can pick the tuxedo-rs change from #316708 but we probably should settle on either this pr or #316708 to not duplicate work

i can update it today if wanted.

Awesome work. Can I still help with testing this. I got a Tuxedo Pulse Gen3 Laptop:
@britter : This might worth trying.

@CutestNekoAqua : Thanks so much!

Awesome work. Can I still help with testing this. I got a Tuxedo Pulse Gen3 Laptop:
@britter : This might worth trying.

I can either update it before or you test it before i update it!
Whatever fits you best :)
I am just constantly waiting on someone saying something 😅

I would love to test this as well, I have an Apex 15 laptop. Can anyone please share how to install it if it's not yet merged?

Awesome work. Can I still help with testing this. I got a Tuxedo Pulse Gen3 Laptop:
@britter : This might worth trying.

I can either update it before or you test it before i update it! Whatever fits you best :) I am just constantly waiting on someone saying something 😅

please just go ahead and just update it, we want to test the final / newest version usually :)

I copied default.nix and loaded the modules. Worked perfectly. Thank you.

while at it, you could add this to patch, to make it compile on 6.10 kernels (until upstream releases version with those changes) :
fix-dot-owner.patch

this should be ready, again.

@Artturin since you merged the tuxedo-rs module, perhaps you can merge this?
(Sorry for the tag if it's inappropriate)

Unfortunately the build currently fails for me due to O=$$(buildRoot) winding up in the make flags somehow. Can somebody else reproduce this?

ah, I think this is upstream commit bdcebd30983c3f7b2d15e8e26441d33bc5777dfe, which started passing through the MAKEFLAGS

You can fix that with the following:
-  makeFlags = kernel.makeFlags ++ [
-    "KERNELRELEASE=${kernel.modDirVersion}"
-    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-    "INSTALL_MOD_PATH=$(out)"
-  ];
+  makeFlags = lib.filter
+    (flag: lib.head (lib.strings.splitString "=" flag) != "O")
+    (kernel.makeFlags ++ [
+      "KERNELRELEASE=${kernel.modDirVersion}"
+      "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+      "INSTALL_MOD_PATH=${placeholder "out"}"
+    ]);

@CutestNekoAqua : How is this PR best tested with a flake.nix? Can I load this PR as input with:
    # Test tuxedo-drivers on this PR: https://github.com/NixOS/nixpkgs/pull/293017
    tuxedo.url = "github:CutestNekoAqua/nixpkgs?ref=76427d3992c7a2a3293485d8322b98730afd20db";

and then I am abit stuck...

@CutestNekoAqua : I found out:
in flake.nix add
tuxedo.url = "github:CutestNekoAqua/nixpkgs?ref=76427d3992c7a2a3293485d8322b98730afd20db"
in configuration.nix

disabledModules = [
    "hardware/tuxedo-keyboard.nix"
  ];
import = [
"${inputs.tuxedo}/nixos/modules/hardware/tuxedo-drivers.nix"
...
];

I also tried to package this today, only now I am seeing this thread...
I ended up with a working package using:
{ lib, stdenv, fetchFromGitLab, linuxHeaders, pkgs, kernel, pahole }:

stdenv.mkDerivation (finalAttrs: {
  pname = "tuxedo-drivers-${kernel.version}";
  version = "4.6.2";

  src = fetchFromGitLab {
    owner = "tuxedocomputers";
    repo = "development/packages/tuxedo-drivers";
    rev = "v${finalAttrs.version}";
    hash = "sha256-HS/KGhgFW0vO2SSFYSdseQBhAZC70eAx9JvRgR6e6qs=";
  };

  buildInputs = [
    pahole
    linuxHeaders
  ];

  buildFlags = [ "all" ];

  makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];

  installPhase = ''
    runHook preInstall

    mkdir -p "$out/lib/modules/${kernel.modDirVersion}"

    for module in clevo_acpi.ko clevo_wmi.ko \
        ite_8291/ite_8291.ko ite_8291_lb/ite_8291_lb.ko \
        ite_8297/ite_8297.ko ite_829x/ite_829x.ko \
        tuxedo_compatibility_check/tuxedo_compatibility_check.ko \
        tuxedo_io/tuxedo_io.ko \
        tuxedo_keyboard.ko \
        tuxedo_nb02_nvidia_power_ctrl/tuxedo_nb02_nvidia_power_ctrl.ko \
        tuxedo_nb04/tuxedo_nb04_kbd_backlight.ko \
        tuxedo_nb04/tuxedo_nb04_keyboard.ko \
        tuxedo_nb04/tuxedo_nb04_power_profiles.ko \
        tuxedo_nb04/tuxedo_nb04_sensors.ko \
        tuxedo_nb04/tuxedo_nb04_wmi_ab.ko \
        tuxedo_nb04/tuxedo_nb04_wmi_bs.ko \
        tuxedo_nb05/tuxedo_nb05_ec.ko \
        tuxedo_nb05/tuxedo_nb05_fan_control.ko \
        tuxedo_nb05/tuxedo_nb05_kbd_backlight.ko \
        tuxedo_nb05/tuxedo_nb05_keyboard.ko \
        tuxedo_nb05/tuxedo_nb05_power_profiles.ko \
        tuxedo_nb05/tuxedo_nb05_sensors.ko \
        uniwill_wmi.ko; \
      do
        mv src/$module $out/lib/modules/${kernel.modDirVersion}
    done

    runHook postInstall
  '';

meta = with lib; {
    description = "tuxedo-drivers kernel module";
    homepage = "https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers";
    license = licenses.gpl3Plus;
    maintainers = with maintainers; [ dasj19 ];
};

Maybe we should merge our efforts and have this merged in the nixpkgs.
I have a Tuxedo Book XA15 to test on.

  disabledModules = [
    "hardware/tuxedo-keyboard.nix"
    "services/hardware/tuxedo-rs.nix"
  ];

  imports = [
    # Testing PR 293017
    "${inputs.tuxedo}/nixos/modules/hardware/tuxedo-drivers.nix"
    "${inputs.tuxedo}/nixos/modules/services/hardware/tuxedo-rs.nix"
...

and then somewhere I do:
hardware.tuxedo-drivers.enable = true;
  hardware.tuxedo-rs = {
    enable = true;
    tailor-gui.enable = true;
  };

@CutestNekoAqua : I still have problems using this, how do you enable this modification over NixOS?
      at /nix/store/ch5lqh5klkjnf7iiik2hvnvx3qy3bgbw-source/nixos/modules/hardware/tuxedo-drivers.nix:7:20:
┃
┃             6|   cfg = config.hardware.tuxedo-drivers;
┃             7|   tuxedo-drivers = config.boot.kernelPackages.tuxedo-drivers;
┃              |                    ^
┃             8| in

How do I make this config.boot.kernelPackages.tuxedo-drivers also available?

  boot.kernelPackages = pkgs.linuxKernel.packages.linux_X_X.extend (final: prev: {
    tuxedo-drivers = inputs.tuxedo.legacyPackages.x86_64-linux.linuxKernel.packages.linux_X_X.tuxedo-drivers;
    # OR `callPackage` it to download less packages
    tuxedo-drivers = prev.callPackage (inputs.tuxedo + "/pkgs/os-specific/linux/tuxedo-keyboard/default.nix") { };
  });

I also tried to package this today, only now I am seeing this thread...
I ended up with a working package using:
{ lib, stdenv, fetchFromGitLab, linuxHeaders, pkgs, kernel, pahole }:

stdenv.mkDerivation (finalAttrs: {
  pname = "tuxedo-drivers-${kernel.version}";
  version = "4.6.2";

  src = fetchFromGitLab {
    owner = "tuxedocomputers";
    repo = "development/packages/tuxedo-drivers";
    rev = "v${finalAttrs.version}";
    hash = "sha256-HS/KGhgFW0vO2SSFYSdseQBhAZC70eAx9JvRgR6e6qs=";
  };

  buildInputs = [
    pahole
    linuxHeaders
  ];

  buildFlags = [ "all" ];

  makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ];

  installPhase = ''
    runHook preInstall

    mkdir -p "$out/lib/modules/${kernel.modDirVersion}"

    for module in clevo_acpi.ko clevo_wmi.ko \
        ite_8291/ite_8291.ko ite_8291_lb/ite_8291_lb.ko \
        ite_8297/ite_8297.ko ite_829x/ite_829x.ko \
        tuxedo_compatibility_check/tuxedo_compatibility_check.ko \
        tuxedo_io/tuxedo_io.ko \
        tuxedo_keyboard.ko \
        tuxedo_nb02_nvidia_power_ctrl/tuxedo_nb02_nvidia_power_ctrl.ko \
        tuxedo_nb04/tuxedo_nb04_kbd_backlight.ko \
        tuxedo_nb04/tuxedo_nb04_keyboard.ko \
        tuxedo_nb04/tuxedo_nb04_power_profiles.ko \
        tuxedo_nb04/tuxedo_nb04_sensors.ko \
        tuxedo_nb04/tuxedo_nb04_wmi_ab.ko \
        tuxedo_nb04/tuxedo_nb04_wmi_bs.ko \
        tuxedo_nb05/tuxedo_nb05_ec.ko \
        tuxedo_nb05/tuxedo_nb05_fan_control.ko \
        tuxedo_nb05/tuxedo_nb05_kbd_backlight.ko \
        tuxedo_nb05/tuxedo_nb05_keyboard.ko \
        tuxedo_nb05/tuxedo_nb05_power_profiles.ko \
        tuxedo_nb05/tuxedo_nb05_sensors.ko \
        uniwill_wmi.ko; \
      do
        mv src/$module $out/lib/modules/${kernel.modDirVersion}
    done

    runHook postInstall
  '';

meta = with lib; {
    description = "tuxedo-drivers kernel module";
    homepage = "https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers";
    license = licenses.gpl3Plus;
    maintainers = with maintainers; [ dasj19 ];
};

Maybe we should merge our efforts and have this merged in the nixpkgs.
I have a Tuxedo Book XA15 to test on.

Imo this way is way to complicated. My way works fine :)

You can fix that with the following:
-  makeFlags = kernel.makeFlags ++ [
-    "KERNELRELEASE=${kernel.modDirVersion}"
-    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-    "INSTALL_MOD_PATH=$(out)"
-  ];
+  makeFlags = lib.filter
+    (flag: lib.head (lib.strings.splitString "=" flag) != "O")
+    (kernel.makeFlags ++ [
+      "KERNELRELEASE=${kernel.modDirVersion}"
+      "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+      "INSTALL_MOD_PATH=${placeholder "out"}"
+    ]);

Will fix

@CutestNekoAqua I cloned your fork, switched to the tuxedo-drivers-init then merged in the latest upstream/master (Fixing conflicts)
Afterwards I applied the change proposed by @xaverdh  and only then the build succeeded. I'll keep my system on this branch to see if I uncover any bugs.
Regarding the keyboard backlight: Gnome does support brightness level and on/off, but not change of color. Tailor does not support setting the backlight at all. The Fn hotkeys for on/off also work, together with the brightness adjustment, I don't know if there is a hotkey for changing the color. Maybe the only way to do it with this setup is using kernel params: https://nixos.wiki/wiki/TUXEDO_Devices

Seams to work. But have not tested custom settings.

You can fix that with the following:
-  makeFlags = kernel.makeFlags ++ [
-    "KERNELRELEASE=${kernel.modDirVersion}"
-    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-    "INSTALL_MOD_PATH=$(out)"
-  ];
+  makeFlags = lib.filter
+    (flag: lib.head (lib.strings.splitString "=" flag) != "O")
+    (kernel.makeFlags ++ [
+      "KERNELRELEASE=${kernel.modDirVersion}"
+      "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+      "INSTALL_MOD_PATH=${placeholder "out"}"
+    ]);

Will fix

Im also running into this issue.

anything new? I'd like to switch to this to use the latest kernel as 6.9 is EOL.

same goes here @SebRut, waiting

updated version is here

thank you for your work on this @CutestNekoAqua
https://github.com/NixOS/nixpkgs/pull/336633 got merged, which also contained some of your work here!


Using maftools to visualize germline variants

Hi,
This isn't so much an issue as it is a general question. I would like to visualize and analyze germline variants using maftools, however I am concerned that it may not be the right tool for that. I couldn't find a pubmed article referencing the use of maftools to do this and the maftools pub does not mention germline variants. Is my concern valid? If so, do you know of any tools that would be comparable to maftools but could be used for germline mutations?
Thanks!

Hey I had the same query (see #751 ) and got it to work.
Hope that's helpful!

Thanks for the help!


SDWebImage source

Please check and merge with my request.

In order to avoid unnecessary code, you should create subspec for this. That way only people who need SDWebImage support would install it. Take a look at the Alamofire subspec in the Podspec file for example.

Hi @NikKovV! Thanks for your PR, a support for SDWebImage will surely be appreciated by many. @kafejo is right -- we need this as a subspec, similarly as we have it for AFNetworking and AlamofireImage. I'll test your implementation, make it a subspec and then merge it. Thanks again!


Tweepy crashing during large runs on laptop.

Ive gotten the same error about 6 times now after running the code for a long time. Im constantly able to get to large amount of requests (Was able to pull down 45000 followers before it crashed).  It will just always crash the same way.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen
chunked=chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/connectionpool.py", line 387, in _make_request
six.raise_from(e, None)
File "", line 2, in raise_from
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/connectionpool.py", line 383, in _make_request
httplib_response = conn.getresponse()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1331, in getresponse
response.begin()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 297, in begin
version, status, reason = self._read_status()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 258, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1002, in recv_into
return self.read(nbytes, buffer)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 865, in read
return self._sslobj.read(len, buffer)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 625, in read
v = self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 54] Connection reset by peer
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/adapters.py", line 440, in send
timeout=timeout
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/connectionpool.py", line 639, in urlopen
_stacktrace=sys.exc_info()[2])
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/util/retry.py", line 357, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/packages/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/connectionpool.py", line 601, in urlopen
chunked=chunked)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/connectionpool.py", line 387, in _make_request
six.raise_from(e, None)
File "", line 2, in raise_from
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/urllib3/connectionpool.py", line 383, in _make_request
httplib_response = conn.getresponse()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1331, in getresponse
response.begin()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 297, in begin
version, status, reason = self._read_status()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 258, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1002, in recv_into
return self.read(nbytes, buffer)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 865, in read
return self._sslobj.read(len, buffer)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 625, in read
v = self._sslobj.read(len, buffer)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tweepy-3.6.0-py3.6.egg/tweepy/binder.py", line 190, in execute
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/adapters.py", line 490, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/zacharyrothberg/PycharmProjects/twitterbotffs/MainBot.py", line 30, in
for user in starter.pages():
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tweepy-3.6.0-py3.6.egg/tweepy/cursor.py", line 49, in next
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tweepy-3.6.0-py3.6.egg/tweepy/cursor.py", line 75, in next
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tweepy-3.6.0-py3.6.egg/tweepy/binder.py", line 250, in _call
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tweepy-3.6.0-py3.6.egg/tweepy/binder.py", line 192, in execute
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/six.py", line 692, in reraise
raise value.with_traceback(tb)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tweepy-3.6.0-py3.6.egg/tweepy/binder.py", line 190, in execute
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/adapters.py", line 490, in send
raise ConnectionError(err, request=request)
tweepy.error.TweepError: Failed to send request: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))

Possibly a firewall issue?

Nope i switched libraries for twitter api and it stopped happening. I believe it has something to do with how many times you hit the twitter server without resting long enough that twitter eventually just resets your connection.

Closing this in favor of #1606


Issue template for design tickets

Is your feature request related to a problem? Please describe.
As a Designer I want to quickly and consistently create issues in the project.
Describe the solution you'd like
Create an issue template for design tickets.
Describe alternatives you've considered
N/A
Additional context
N/A

Related to https://github.com/digitalfabrik/lunes-app/issues/984

Do we actually need separate design templates for integreat, as we decided to do everything in one ticket?


7 new courses added

🛠 Fixes issue -- #128
📇 Changes proposed -- add 7 new courses

Hai @SK-ILLish-GIT thank you for contributing to OSWH. Can you please share the screenshots (ctrl + shift + v in vs code) of what changes you made so that it will be helpful for us before merging your pull request.

here you go..please check


fix(context): do not modify stack array directly when attach and detach

As mentioned in open-telemetry/opentelemetry-ruby/pull/1598

As identified in https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/772, Rails copies all thread-local variables in ActionController::Live. Our use of an array to back the Context stack results in two threads sharing the same stack. Context.clear only clears the array, but continues to share it (in fact, its effect is visible to both threads), so there is no way to cleanly separate the thread's Context stacks using the public API.

This PR will replace the stack.push and stack.pop with Thread.current assignment

Hi @tientt-holistics, thank you for your contribution! It looks like there's a few failures related to Rubocop in the CI: https://github.com/open-telemetry/opentelemetry-ruby/actions/runs/11834674510/job/33062312585?pr=1760#step:6:267
Could you take a look?

Hi @kaylareopelle, I just fixed the rubocop warning. But I don't know how to trigger the workflow again. Could you mind help me do that? Thank you

Hi @tientt-holistics, thanks for the fix! Since this is your first PR in this repository, a maintainer or an approve will need to approve your CI runs. I just kicked them off again. If you're ever stuck waiting after a commit, post a comment and someone should be able to approve the runs soon after.

I have added some details to an issue for reviewers: https://github.com/open-telemetry/opentelemetry-ruby/issues/1766
My concern here is that switching to using Immutable Arrays results in additional object allocations per attach and detach. I am not sure how much of an impact that will be, I suppose Depth of the Tree(N*2)?

This approach requires additional allocations, as @arielvalentin noted. I implemented an alternative with a linked list back in February: https://github.com/open-telemetry/opentelemetry-ruby/pull/1597. I rejected that due to performance concerns, however when I repeat the benchmarks with this PR, the immutable array approach is consistently worse:
bogsanyi@MacBook-Pro-2 benchmarks % bundle exec ruby --yjit otel_context.rb
Allocations -------------------------------------
linked list with_value
                           4/0  alloc/ret        0/0  strings/ret
    array with_value       4/1  alloc/ret        0/0  strings/ret
immutable array with_value
                           7/1  alloc/ret        0/0  strings/ret
Warming up --------------------------------------
linked list with_value
                       294.073k i/100ms
    array with_value   339.589k i/100ms
immutable array with_value
                       280.528k i/100ms
Calculating -------------------------------------
linked list with_value
                          3.964M (± 1.0%) i/s -     19.997M
    array with_value      4.800M (± 0.9%) i/s -     24.111M
immutable array with_value
                          3.780M (± 0.9%) i/s -     19.076M

Comparison:
    array with_value:  4800498.2 i/s
linked list with_value:  3963968.1 i/s - 1.21x slower
immutable array with_value:  3780407.9 i/s - 1.27x slower

Allocations -------------------------------------
linked list with_values
                           3/0  alloc/ret        0/0  strings/ret
   array with_values       2/0  alloc/ret        0/0  strings/ret
immutable array with_values
                           5/1  alloc/ret        0/0  strings/ret
Warming up --------------------------------------
linked list with_values
                       315.094k i/100ms
   array with_values   366.713k i/100ms
immutable array with_values
                       301.321k i/100ms
Calculating -------------------------------------
linked list with_values
                          4.308M (± 0.8%) i/s -     21.741M
   array with_values      5.403M (± 4.1%) i/s -     27.137M
immutable array with_values
                          4.063M (± 2.7%) i/s -     20.490M

Comparison:
   array with_values:  5402826.2 i/s
linked list with_values:  4308029.2 i/s - 1.25x slower
immutable array with_values:  4063300.0 i/s - 1.33x slower

Allocations -------------------------------------
linked list with_value recursive
                          30/0  alloc/ret        0/0  strings/ret
array with_value recursive
                          20/0  alloc/ret        0/0  strings/ret
immutable array with_value recursive
                          50/1  alloc/ret        0/0  strings/ret
Warming up --------------------------------------
linked list with_value recursive
                        36.262k i/100ms
array with_value recursive
                        44.950k i/100ms
immutable array with_value recursive
                        31.701k i/100ms
Calculating -------------------------------------
linked list with_value recursive
                        379.819k (± 5.3%) i/s -      1.922M
array with_value recursive
                        475.577k (± 0.7%) i/s -      2.382M
immutable array with_value recursive
                        330.950k (± 1.2%) i/s -      1.680M

Comparison:
array with_value recursive:   475576.7 i/s
linked list with_value recursive:   379819.5 i/s - 1.25x slower
immutable array with_value recursive:   330949.6 i/s - 1.44x slower

Another option, if we're willing to take a dependency on concurrent-ruby is Concurrent::FiberLocalVar. A mutable array version of Context using FiberLocalVar yields the highest performance of a thread/fiber-safe implementation:
Comparison:
array with_value recursive:   499772.9 i/s
fiber local var with_value recursive:   463638.7 i/s - 1.08x slower
fiber attribute with_value recursive:   415219.4 i/s - 1.20x slower
linked list with_value recursive:   389115.4 i/s - 1.28x slower
immutable array with_value recursive:   344883.7 i/s - 1.45x slower

Another option, if we're willing to take a dependency on concurrent-ruby is Concurrent::FiberLocalVar.

@arielvalentin pointed out that this uses fiber-local variables in its implementation, so it suffers from the same problem of other gems breaking encapsulation and copying the contents of the Fiber local entries.


No compatible binary build for package zenorocha:clipboard when trying to upgrade to Meteor 1.3.3

Hey there :)
Just wanted to share that after trying to update a Meteor project to version 1.3.3 (was Meteor <IP_ADDRESS>) by using:
meteor update

the command fails and shows to the following error:
=> Errors while upgrading packages:

While checking for<EMAIL_ADDRESS>error: No compatible binary build found for this package. Contact the package author and ask them to publish it for your platform.

Also tried with a fresh meteor project and got the same error.
I'm on OSX 10.11.5 (El Capitan) using Node 0.10.45.
Not sure if this is the best place to post this so I apologize if that's the case.
Thanks for the help and awesome work with clipboard.js!

Hey @humberaquino, I'm not a Meteor user and have no idea on how to fix this. Any ideas?

Closing since it's duplicated from #262

Thanks @zenorocha ! The following commands let me complete the meteor update.
meteor remove zenorocha:clipboard
meteor update
meteor npm install clipboard --save

Ref: http://guide.meteor.com/atmosphere-vs-npm.html
Well check how clipboard works with this install method for my app and come back to you 👍

Are there any updates? I still get the same error "error: No compatible binary build found for this package." for both Meteor 1.3.2 and 1.3.4

@ktian have you seen the comment above?

@zenorocha
so I have to do this? meteor npm install clipboard --save
Still prefer the default meteor package way to add this...

This is issue not related to Clipboard.js: https://guide.meteor.com/atmosphere-vs-npm.html

Any way you can provide atmosphere support?

I don't use Meteor, so feel free to send a pull request.


📦 Fork migration

[x] CI Setup
[x] Split into files
[x] Add Cargo support

[x] Add support for glob patterns

[x] Add NX support (this is not an alternative to nx-console)
[ ] Update the readme/changelog
[ ] Mention Folke where needed, license my additions as MIT
[x] Remove ultra-runner dependency? (most of what we use should be convertible with nx/devkit)
[ ] Make a proper icon, the one I quickly sketched is ugly
[ ] Roadmap (Selection sets (#4) , Cargo eager (look for non-workspaces cargo crates),...)

Thanks for picking up this package and maintaining it. I think the icon you quickly sketched is cute.


[tensor] Update tensor apply

Update tensor apply to use std::transform than a simple loop
Signed-off-by: Parichay Kapoor<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #484. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.


How to click on an element in Multi Window?

How to click on an element in Multi Window?
For example:
I want to click on an element in another BrowserWindow which provide a ImgViewer and inspect it's action.

@flypie2 If there's another window open and you want to click on an element inside of it you need to first focus Spectron/Webdriver to that window like described here: https://github.com/electron/spectron#clientwindowbyindexindex

@ericyahhh  Thanks!


Multiple ThumbnailStoryboard

Related Problem:
I can't programmatically set the thumbnails if I have multiple sprite images. This only works if I have an endpoint returning a vtt file. But I would like to be able to programmatically add thumbnails based on multiple sprite files.
Describe:
It should be allowed to set thumbnails to an array of ThumbnailStoryboard objects. So that every ThumbnailStoryboard object could point to a different sprite image.

You can use the JSON format as shown in the docs:
[
  { "startTime": 0, "endTime": 5, "url": "/media/thumbnail-1.jpg" },
  { "startTime": 5, "endTime": 10, "url": "/media/thumbnail-2.jpg" }
]

Or with coordinates like a VTT:
[
  { "startTime": 0, "endTime": 5, "url": "/media/thumbnail-1.jpg#xywh=0,0,284,160" },
  { "startTime": 5, "endTime": 10, "url": "/media/thumbnail-1.jpgxywh=284,0,284,160" }
  // ...
  { "startTime": 100, "endTime": 105, "url": "/media/thumbnail-2.jpgxywh=0,0,284,160" }
]

@Curetix thank you!


Add verifying if fdopen returns NULL

There were no verification if fdopen returns NULL because it failed and then the FILE pointer was passed to fgets even though it could be NULL.
Fixes #19542

I have sent the CLA by email.

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

Squashed and merged to master, 3.1, and 3.0 branches. Thank you for your contribution.


start ckptmgr in heron_executor if topology is stateful

This PR updates the heron_executor to start ckptmgr if the topology is stateful enabled.
It also updates the schedulers to generate the new heron_executor cmd.
Each scheduler is updated in a separate commit. For LocalScheduler, Mesos Scheduler, Slurm Scheduler and YarnScheduler, they share the util method in SchedulerUtils to generate the correct command. So they don't need special updates.
All unit test passed and local scheduler is tested.

Verified with internal AuroraScheduler starting ckptmgr if the topology is stateful.


Break down views

At long last

well that plan failed...refer to https://github.com/Splitwirez/Spore-Mod-Manager/tree/consolidate-mi-bdv2


Link against true Debug node.lib when --debug is requested

My understanding is that:

On windows all libraries and executables must all be compiled in debug mode to work correctly - you can't mix some Debug and Release binaries.
There appear to be just two pre-built node.lib versions available for download for each release at http://nodejs.org/dist/, one for each architecture. I presume these two node.lib are Release builds
In copyNodeLib the Release node.lib is copied either to a final directory for linking and the same version is used no matter if the C++ addon is being compiled in Debug or Release
And lastly therefore that this seems like a potential problem, right?

Perhaps it is not a problem in reality because most developers on windows that would pass --debug to node-gyp are also going to pass --nodedir=/path/to/lib and this will resolve to their local (likely truly Debug build) node.lib (https://github.com/joyent/node/pull/2685/files)?
Can anyone shed some light on whether my concerns are valid or whether this has the potential to lead to C++ addons built with --debug to actually be linked to Release runtimes based on a Release node.lib passed to the linker?

Linking a Debug build against the release node.lib seems to be working for me (Win8.1, VS 2013)... I made a symlink in ~/.node-gyp/4.2.0/ from Debug -> Release and can debug the resulting build/Debug/foo.node module. This is actually 99% of what I need out of a debug build, it's a shame it doesn't work this way out of the box.

closing due to staleness, probably something that someone needs to come up with a pull request for anyway


Bind to instance

Fixes https://github.com/NancyFx/Nancy/issues/1383
This PR depends on https://github.com/NancyFx/Nancy/issues/1431 being merged

Guess this needs to be re-sent once #38 is in?


WIP: Automated spellcheck via GitHub Actions (and addressing all surfaced issues)

Describe this PR

Adds automated spell-checking via a GitHub Action
Addresses all the issues that cSpell surfaces

(Background: I've recently done this for NUnit, Marten, Playwright, Uno Platform, etc. and figured you might also find it beneficial. No worries about rejecting it if you're not interested since I didn't raise an issue first.)
Changes

Adds automated spell-checking via a GitHub Action
Addresses all the issues that cSpell surfaces

What issue does this fix?

Any open spell-check issues hopefully. 😄 But honestly in a brief glance I didn't see any that applied.
Any other relevant information

cSpell found 176 errors to address (these are usually 98% existing words that need to be added or things that back-ticks solve. I'll work to address those next.

Alright, this is ready for review I think. I'll do a quick self review to point out information.

@janpio no worries -- this PR isn't about being "correct". Any change that a maintainer is comfortable with codifying is fine to me. All the ones you pulled out seemed reasonable and I'll make the appropriate changes to revert them and add them to the dictionary. 👍

@janpio for your consideration -- I'd love to get this merged soon given that conflicts are starting to creep in. I've addressed all your comments (which were totally reasonable) and I think this is ready for review / merge.

Would love to, but I am on the coding side here - @tanberry and @keerlu are actually on the docs side and can take a look.

Hi hi @SeanKilleen wow, let me take a closer look, but I'll first say Thank you very much. ;-)

Yeah for sure this tool caught a lot of typos.. I think I recognize one of mine, errrrr....
A couple of questions, @SeanKilleen . In the cSpell.json file, the list of words starting at line 5.. are these words the tool is looking for, are these "approved spelling" words, what exactly?
I agree with the vast majority of the changes, though not these ones:

"car sharing" needs a hyphen
"e-commerce" no longer needs a hyphen

I'd like to get our WebDev lead to take a look and make sure she agrees about adding the two new files, and the process. We have a pretty complex set of tools already, so I want to check with her and make sure this isn't overloading tings. But it sure seems to work well, so thank you again and we will get back to you soon.

@tanberry FYI the requested changes were made. As far as I can tell this one's out of my hands for now, but feel free to ping me with any questions or updates you'd like.


Updates to PowerShell Scripts

This article should have the PowerShell scripts updated since the AzureRM and AzureRM.SQL Modules have been deprecated (for Az.Sql Module), and they don't work in Azure Pipelines (on my testing with the ubuntu-latest image) anyway.
The fix is to change the following calls:
New-AzureRmSqlServerFirewallRule -> New-AzSqlServerFirewallRule
Remove-AzureRmSqlServerFirewallRule -> Remove-AzSqlServerFirewallRule
I didn't test this since I was only trying to poke a whole in my SQL firewall for my build (using ARM), but I also believe you'll need to also change the follow:
Get-AzureSqlDatabaseServerFirewallRule -> Get-AzSqlServerFirewallRule
Thank you,
Erik

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

ID: cd85890a-ccba-8697-b406-b662aabeb27f
Version Independent ID: a1d371df-c0a0-1cd6-37f8-4b60913a2e97
Content: Deploy to Azure SQL Database - Azure Pipelines
Content Source: docs/pipelines/targets/azure-sqldb.md
Product: devops
Technology: devops-cicd-targets
GitHub Login: @azooinmyluggage
Microsoft Alias: atulmal

@erikporter Thanks for your input. We're looking into the issue.

@juliakm Thanks!

I'm working on an update. For reference, this is the depreciated code reference doc and this is the current one. Looks like Get-AzureSqlDatabaseServerFirewallRule in the same doc has already been updated.


Change misleading error message

Support reference number
SUPPORT-3170
Description
Use product importer with following CSV file in which the name.en is just a '.'
base_update.txt
Expected Behavior
IMPEX should tell in the error message that "name.en" is not valid.
Current Behavior
IMPEX tells in the error message that a slug could not be generated.

[ '[row undefined:slug] Can't generate valid slug out of ''!' ]

Context
A partner was trying to import products, but could not find the root cause of the problem due to misleading error message.

@stmeissner is the client trying to import .txt file or .csv file? We fixed a similar issue on staging environment, could you please check if you get the correct error there?

@stmeissner the API accept the "." as a valid string, I suggest we take away the error to allow update, what do you think ?
see here in the docs here

@Babanila sorry for the delay, I would have agreed anyways 👍
thanks for the fix.


[smoke] If AOMP_PARALLEL_SMOKE requested, skip prerequisites

- Allows parallel builds to be reused, skips recompiling
- Only set AOMP_NO_PREREQ=1 if it isn't already set (even if set
  to an empty string, reason for using conditioanl +x vs. :- init)

Seems like anyone using AOMP_PARALLEL_SMOKE would also want to reuse builds (not the default behavior) so also set AOMP_NO_PREREQ=1 if not already set.  Allows developers to just set AOMP_PARALLEL_SMOKE


Ros2 reenable tests

This is work in progress.
Opening this for visibility as @wjwwood may have been working on this before the release.
Not sure if the test should be move to a different package for both cleaner separation and work around the ament index issues (of pluginlib not finding itself in the index at test time)

Not sure if the test should be move to a different package for both cleaner separation and work around the ament index issues (of pluginlib not finding itself in the index at test time)

This is why I basically avoided doing this at the time. I was waiting on pluginlib to be in a subfolder so I could make a test_pluginlib that worked through the normal ament_index channels.

This is why I basically avoided doing this at the time. I was waiting on pluginlib to be in a subfolder so I could make a test_pluginlib that worked through the normal ament_index channels.

:+1: Then I'll bring this closer to melodic-devel that already has the subfolder and will reenable the tests after that. thanks for the feedback

Replaced by #130


Do not rely on string conversion of anonymous namespace

The conversion to a string of the name of an anonymous namespace can differ between compilers so do not rely on it. Instead give the namespace a name that can then be used in strings to check the desired functionality in the test.

@qukhan Thanks for the review. I have updated as requested.


linuxPackages_5_13.system76-power: 1.1.16 -> 1.1.17

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/system76-power/versions.
meta.description for linuxPackages_5_13.system76-power is: "System76 Power Management"
meta.homepage for linuxPackages_5_13.system76-power is: "https://github.com/pop-os/system76-power"
meta.changelog for linuxPackages_5_13.system76-power is: ""
Updates performed

Rust version update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/43asy0bz0fj591yxav1bdi14ylj95y1w-system76-power-1.1.17/bin/system76-power passed the binary check.

1 of 1 passed binary check by having a zero exit code.

1 of 1 passed binary check by having the new version present in output.

found 1.1.17 with grep in /nix/store/43asy0bz0fj591yxav1bdi14ylj95y1w-system76-power-1.1.17

found 1.1.17 in filename of file in /nix/store/43asy0bz0fj591yxav1bdi14ylj95y1w-system76-power-1.1.17

directory tree listing: https://gist.github.com/1febc50970e385fb6ac4d3f1a3d14962

du listing: https://gist.github.com/4d9ec3720573ada0e7e538e349d2fa39

Rebuild report (if merged into master) (click to expand)

44 total rebuild path(s)

22 package rebuild(s)

22 x86_64-linux rebuild(s)
22 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
linuxPackages-libre.system76-power
linuxPackages.system76-power
linuxPackages_4_14.system76-power
linuxPackages_4_14_hardened.system76-power
linuxPackages_4_19.system76-power
linuxPackages_4_19_hardened.system76-power
linuxPackages_4_4.system76-power
linuxPackages_4_9.system76-power
linuxPackages_5_10.system76-power
linuxPackages_5_10_hardened.system76-power
linuxPackages_5_13.system76-power
linuxPackages_5_4.system76-power
linuxPackages_5_4_hardened.system76-power
linuxPackages_hardened.system76-power
linuxPackages_hardkernel_4_14.system76-power
linuxPackages_hardkernel_latest.system76-power
linuxPackages_latest-libre.system76-power
linuxPackages_latest.system76-power
linuxPackages_lqx.system76-power
linuxPackages_testing_bcachefs.system76-power
linuxPackages_xanmod.system76-power
linuxPackages_zen.system76-power

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/43asy0bz0fj591yxav1bdi14ylj95y1w-system76-power-1.1.17 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A linuxPackages_5_13.system76-power https://github.com/r-ryantm/nixpkgs/archive/eef7318c71826943602e276dc1fe1908ece7c7a4.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/43asy0bz0fj591yxav1bdi14ylj95y1w-system76-power-1.1.17
ls -la /nix/store/43asy0bz0fj591yxav1bdi14ylj95y1w-system76-power-1.1.17/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

linuxPackages.system76-power (linuxPackages-libre.system76-power ,linuxPackages_4_14.system76-power ,linuxPackages_4_14_hardened.system76-power ,linuxPackages_4_19.system76-power ,linuxPackages_4_19_hardened.system76-power ,linuxPackages_4_4.system76-power ,linuxPackages_4_9.system76-power ,linuxPackages_5_10_hardened.system76-power ,linuxPackages_5_13.system76-power ,linuxPackages_5_4.system76-power ,linuxPackages_5_4_hardened.system76-power ,linuxPackages_hardened.system76-power ,linuxPackages_hardkernel_4_14.system76-power ,linuxPackages_latest-libre.system76-power ,linuxPackages_lqx.system76-power ,linuxPackages_testing_bcachefs.system76-power ,linuxPackages_xanmod.system76-power ,linuxPackages_zen.system76-power)

Maintainer pings
cc @jwoudenberg for testing.

This looks like a great and pretty straight-forward change! I'm on holiday for the next two weeks and away from my Nixos box, so can't review at the moment. If someone needs this urgently please feel free to review in my stead, otherwise I'll get to it when I'm back!


⚠ Spryr has degraded performance

In 7071738, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 7796 ms

Resolved: Spryr performance has improved in 41630f7 after 11 minutes.


Ensure all dependencies are tracked

As a project developer, I want all currently untracked dependencies captured with spans, so that all sub-operations within the larger project operations are collected by Azure Monitor

Mentioned in #231


Move docs for On Premise Authorization to Website from manifests/docs

/area docs
/priority p2
Example Authorization scrips and RBAC rules are now maintained in manifests/docs and they need to be moved to website before 0.7 release.
Related Issues:
kubeflow/manifests#195

@krishnadurai Please could you link to the specific docs that need moving to the website? I've found the following:

Kubeflow Authentication and Authorization Prototype
Using Examples to enable RBAC
Kustomize Best Practices

One thing to bear in mind: The docs for Kubeflow maintainers should remain in the GitHub repo, whereas docs for Kubeflow users should be on the website.

In the [page about deploying Kubeflow on a K8s cluster](https://www.kubeflow.org/docs/started/k8s/overview/], we currently offer two options:

Kubeflow Deployment with kfctl_k8s_istio
Multi-user, auth-enabled Kubeflow with kfctl_existing_arrikto

Are we now adding a third option for on-prem authorization with RBAC?

@sarahmaddox
These docs will be removed or modified for 0.7 and be replaced with a website doc.

Kubeflow Authentication and Authorization Prototype
Using Examples to enable RBAC

I'll raise a PR for it.

Are we now adding a third option for on-prem authorization with RBAC?

The Kubernetes RBAC configuration enabling will be a separate document as any on-prem installation with Dex should be able to use this configuration. This can be a separate section on recommending using Dex to authenticate and authorize Kubernetes requests based on the above two documents.

Excellent, thanks @krishnadurai
/assign @krishnadurai

@krishnadurai What's the status of this issue?

@sarahmaddox I had been waiting for the fix kubeflow/kubeflow#4517 to go in. Since now its in, I need to make some minor modifications to our manifests to support OIDC plugin for kubernetes.
I'll be able to move and publish these documents thereafter. Expect this to be done within 1.0.

Thanks @krishnadurai


Fix layout issue in the mini cart on the header

BUGS:

Fix mini cart layout issue on expanded mode in the header **issue #4139 **

@praem90
compiled files are missing.


[Test E2E] Enabled WithDevMode() only if environment variable E2E_DEV_MODE is set

What does this PR do?
Enabled WithDevMode() only if environment variable E2E_DEV_MODE is set
This would avoid confusion when running locally and having the same behavior than CI by default
Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided. Except if the qa/skip-qa label, with required either qa/done or qa/no-code-change labels, are applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge


vcat of NullableCategoricalArrays failed with nulls (refs to 0)

Didn't have a test for this before.

Could be useful to add tests for uncovered cases like:

CategoricalArray with #undef values
arrays with only null/undef values
empty array(s) with no levels
empty array(s) with levels
matrices

Any chance you could update the PR? I won't tag a new release until this regression is fixed.

CategoricalArray or NullableCategoricalArray with #undef doesn't work, but it's not related to this PR. I tested with: CategoricalArray(Array{String}(1)) and NullableCategoricalArray(Array{String}(1),[true])
Matrices are covered in 13_arraycommon.jl#L38
The other tests you suggested are covered by the added commits.

Thanks. I just noticed you forgot to remove the old vcat function, though.

Current coverage is 83.33% (diff: 100%)

Merging #28 into master will increase coverage by 0.09%

@@             master        #28   diff @@
==========================================
  Files             8          8
  Lines           358        360     +2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            298        300     +2
  Misses           60         60
  Partials          0          0

Powered by Codecov. Last update b6a0659...946049f

Thanks!