Bring your own identity management provider with App Center Auth

App Center Auth in early preview enables developers to connect to their Azure AD B2C tenant. However, we fully expect our developers to use other popular identity and access management providers such as Auth0, Firebase Authentication, and Ping Identity. To broaden our reach and support for Auth and Data, we will add the feature for developers to bring their own identity management providers with support for our MBaaS services. Developers will be able to connect their own identity management providers and use the JSON Web Token returned to identify the signed in user (via account_id).
Leave a comment below on the identity access and management providers you are using, and any additional experiences that you may need!
Here are some sample designs:

For Auth0:

For Firebase:

Landing page:

Do you guys have an estimation when this feature will be available?
We need to use Auth0
Thanks

Hey @Behrad-iz! We have the work queued up for Bring your own Identity with Auth0 in the next couple of months, and is next on the priority list. I'd love to hear more about your use case, would you be keen on chatting some time this or next week? Email me at amchew [at] microsoft [dot] com if so!

Hi @behrad-iz, thanks again for chatting today! The work for Bring your own Identity with Auth0 and Firebase Authentication has just been picked up by our engineering team today, and will keep you updated on the progress! For the rest of the folks, we're looking for beta testers to give feedback, so feel free to comment here if you'd like to help us shape our product.

Thanks a lot @galfonso777 for the feedback! Will connect with you via email.

The company I'm working with is using Amazon Cognito User Pools for B2C user authentication for their new project.

Hi @StarbuckSapien, thanks for commenting :) Would you be free next week for a call for me to understand more about your scenarios? My email is amchew [at] microsoft [dot] com, email me if you're keen!

Hey @gaurap, thanks for reaching out! The experience is easy when you connect your Firebase project to Auth, you just have to input the project id and we'll collect all the information from Firebase. You won't have to input client_id or client_secret.
Here's a sneak peek of how it looks like:

Once the user has signed in to the app, and the identity is stored in the Firebase tenant, and you'll get back an account_id in App Center that you can uniquely identify that user.

Our client has dropped the idea of using AppCenter Data because he has his own IdentityServer implemented and there is no way to use it as a identity provider for AppCenter Auth right now. At least not without having to maintain to users database (his own and Azure B2C)
Any plans on supporting any OpenID provider? What would be the difference for Auth since he exposes all the .well-known urls?

Our client has dropped the idea of using AppCenter Data because he has his own IdentityServer implemented and there is no way to use it as a identity provider for AppCenter Auth right now. At least not without having to maintain to users database (his own and Azure B2C)
Any plans on supporting any OpenID provider? What would be the difference for Auth since he exposes all the .well-known urls?

Any plans on supporting any OpenID provider? What would be the difference for Auth since my client’s IS exposes all the .well-known urls?

Can anyone comment on this questions please?

I can second @akamud 's request, because our company has developed its own IDP. We could build a solution as a Federated IDP with Azure AD B2C, but I think eliminating the additional layer would be preferred so we do not generate two different user databases.

I can second @akamud 's request, because our company has developed its own IDP. We could build a solution as a Federated IDP with Azure AD B2C, but I think eliminating the additional layer would be preferred so we do not generate two different user databases.

That is exactly what we are trying to avoid.

Hi @amchew, can you please provide any information about our requests?

Would be nice with support for Sign in with Apple.

Thank you so much for your feedback. Unfortunately, this work won't be completed. We announced this week in a blog post that we’re retiring the Auth and Data services later this year and recommending customers transition to Azure Active Directory B2C and Azure Cosmos DB instead. Let me know if you have any additional questions about this transition and i'll make sure to get them answered! Closing this issue.


[Don't Merge, Example] :alembic: Example with pie chart where its a reusable component

This is super messy code but - on the right hand menu if you input the following as "data":

Poverty
Poverty Children
Food Insecurity 2018
Food Insecurity 2018 Children
Census

You can see the pie chart update for each dataset. It's using example mock data - this data would in theory be stored in a Redux store. The one that I didn't tackle is WIC data - I think that we might need to talk to the backend team about how they send that data to us. Right now we have to write a custom function to show total enrollment broken down by age, maybe we should just get that in the data directly.

This idea looks great to me! @maharit108 and @MangeFre and @KhalfaniW make sure you check this out!


data-library: search by source

current design has it like a dropdown, but they work as a free text; do we have a closed set of sources? should we have a searchbox for this?
/cc @ethervoid @iriberri @carlostallon

We don't have a closed set of sources (it's limited, but we can add new ones each day).
A searchbox would be useful for finding the data if you know about data in general and you are like a geek of Open Data portals, but a searchbox wouldn't be useful for discovering data if you don't know what you are doing.
A complete dropdown with all the sources would be too much, so my ideas are:
a) A hybrid: dropdown with a couple suggestions of the most common sources (US Census, Natural Earth...) + a searchbox
b) Just a searchbox. For discovering, we have other filters like categories (admin. regions, cultural, historic...).

there can be a generic solution that also solves this https://github.com/CartoDB/cartodb/issues/5831
so, I'd go for "a) A hybrid: dropdown with a couple suggestions of the most common sources"
assigning to tallon, then

Just to "support" your ideas, here's the list of sources we have atm and their "count":

source
count

Disruptive Geo
3

NOAA's NCDC
1

NYSDOT
1

NHGIS
11

MassGIS
1

Chicago Open Data
2

SF Open Data Portal
1

DataSF
4

Humanitarian Response
1

Pakistan Data Portal
1

US Census Data
1

Madrid Datos Abiertos
1

LA Bureau of Engineering
2

Portland Open Data
1

NYC Open Data
1

Valencia Datos Abiertos
2

Nixta's Null Island
1

CartoBCN
3

U.S. Geological Survey
1

[US Census Data] (https://www.census.gov/geo/maps-data/data/tiger-data.html)
1

Natural Earth Data
21

National Atlas
2

Data.gov
1

US Census
16

Berlin Open Data
2

GeoNetwork
2

Ayuntamiento de Madrid
1

LA City Data
1

IEM Data
2

United Nations TJK
2

NYC Open Data
3

City of Chicago
2

GDELT API
1

NRS
1

NYC Planning
6

MAGRAMA
3

NOAA's SPC
1

The Newberry Library
8

UCLA Dept. of Political Science
1

City of Melbourne
3

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


FEATURE: PCI-4455 Fix unit test suite for custom/folsom

Ran 3732 tests in 723.907s
OK (SKIP=23)

Test FAILed.
Refer to this link for build results: https://ci.intgdc.com/job/openstack-nova-unittests/38/

ok to test

ok to test

Test FAILed.
Refer to this link for build results: https://ci.intgdc.com/job/openstack-nova-folsom-unittests/10/

Job was reconfigured to manual invocation due to security concerns described in https://jira.intgdc.com/browse/PCI-4454
See
https://ci.intgdc.com/pview/job/openstack-nova-folsom-unittests/18/
This PR can be merged

I'm still not comfortable with the "except KeyError". I believe the primary problem is that in patch "1005-use-local-LVM-volume-instead-of-iSCSI-device-on-same.patch" there were two topics mixed up together. 1) use direct LVM device 2) use volume by EC2 id if found. There is no reason to preserve that EC2 code. And my guess is that it might be also the reason for KeyErrors.
I believe this is the original patch.
https://git.intgdc.com/?p=packages/openstack-nova.git;a=blob;f=1005-use-local-LVM-volume-instead-of-iSCSI-device-on-same.patch;h=e7a81477e40473166a4992d4d2b5488e61f63aa6;hb=refs/heads/stable/essex
It could be adapted to use uuid instead of ec2, which will remove the only external call that could cause that KeyError.
Now the question is, whether this approach would be more or less disruptive than ignoring KeyError exceptions ?

:+1:
After short discussion with Tomas, I agreed to accept it even with "except KeyError" statement. It is caused by lookup into connection_info['data']['volume_id'], which is working in real use cases, but failing in some tests.


Dev testing - Initial Tests PR

This is the initial PR for tests on this package.
  Should hopefully be done by this weekend.
Going through what I've got so far, I know we're already missing some APIs for working with forms.  That we can add in other PR's and add the tests for them there.
These tests will be able to be run independently of Laravel thanks to the Orchestra/Testbench package.

Thanks for the PR.
@jhoopes can you please solve new line issue in those files which do not have 1 extra line.
Reviewing PR.

@jhoopes waiting for your response... This PR need to be merge ASAP

Hi @Modelizer my apologies.  I was on a trip out of the country and was unable to work on this or have access to email.  I'll work on finishing up a few things, and then also respond to your comments.
Thanks,

This PR should be good to go, I'll make another PR later this week with additional tests and additional API functionality with tests for those too.


Fix small error in video_player example

Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.
VideoPlayerValue does not have an initialized property. The correct property is isInitialized
List which issues are fixed by this PR. You must list at least one issue.
N/A (Documentation)
Pre-launch Checklist

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
[ ] I signed the CLA.
[ ] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@googlebot I signed it!

Thanks for the contribution, but this is already being fixed in https://github.com/flutter/plugins/pull/3713, so I'm going to close this in favor of continuing with that PR.


Spanish translation

PR for the spanish translation

Thanks @natastro for pages 5 and 6

It's great to see this live! Thanks @natastro and @lauramorinigo!!
https://privacy.samsunginter.net/es/#introducción


Adding Custom Info

Best,
I'm trying to get a custom info message to work, but I can't get it to work. I'd like to have the load average in the column as well.
The wiki page describing how to ad custom information is not very clear and I searched online. But I haven't found a solution.
Thanks in advance.
Regards, Mat

Open another bug report with more information (things you have tried, config file, verbose log, etc).


Can not disable/enable Project Network Isolation from UI for EKS clusters

SURE-6638
Issue description:
Project Network Isolation can be selected at cluster creation, once set cannot be changed through UI.
Edit config where you can tick/untick the box and click save but changes do not stick.
Same for imported clusters.
Business impact:
Users needs to disable that as its impacting their webhooks mainly Hierarchical Namespace Controller (HNC) when we add the namespace to a project a network policy is created and webhook misbehave
Repro steps:
Provision EKS cluster, choosing PNI enabled (or not)
Go back to edit the config once cluster is up and disable (or enable) PNI, then save
*Go back to see chance has not taken hold.
Workaround:
If you want to workaround this problem, you can do it from the rancherserver CLI,
kubectl edit cluster.management.cattle.io/<cluster-id>
and in the spec section set enableNetworkPolicy to true/false and save it. The 'hn' network policies for PNI were then added/deleted respectively...
Moreover I am interested in support scope of this operation because there is nothing mentioned in the EKS reference documentation about this... https://ranchermanager.docs.rancher.com/v2.7/reference-guides/cluster-configuration/rancher-server-configuration/eks-cluster-configuration
Actual behaviour:
PNI setting cannot be changed once set.
Expected behaviour:
Expect ability to change setting through UI.

@kkaempf @mjura as Neil mentioned this was done intentionally to address https://github.com/rancher/dashboard/issues/4454. I see that there's workarounds but the workarounds seem to go around the rancher backend. Do either of you know if there's been a change to the backend? Do you know who I could talk to about it?

ping @kkaempf @mjura - could you help Cody out (see above), so we can action this issue. Thanks.

This should be unblocked now. @codyrancher can you look this over based on the most recent comment?

@mjura I've put together a PR to address your comment https://github.com/rancher/ui/pull/5119.
I reread the original SURE-6638 issue and it sounds like EKS and possibly GKE were also affected. The UI doesn't disable the checkbox for those other providers. By any chance was the issue for EKS and GKE that even if the user unchecked Project Network Isolation the enableNetworkPolicy  configuration wasn't changed?

@codyrancher thank you Cody, it looks great, so we are good

Issue #11199 blocks testing.

@IsaSih you should be unblocked now. moving to To Test

Tried to edit the cluster after creating EKS cluster, but blocked by https://github.com/rancher/dashboard/issues/11438

Reopening issue, because after creating the EKS cluster with Project Isolation selected via UI, when I edit the config via UI, this parameter is unselected
https://github.com/user-attachments/assets/03df3778-e73d-4efc-aa53-024362bdead1

Test report
Successfully validated on rancher v2.9-637346f76ea2bb71a82ea6e00a2779f61610a2a4-head with dashboard master ddd2dee
EKS 1.29 provisioned with the PNI flag enabled.

After provisioning I could disable the flag via Edit Config and on a new attempt to Edit Config I could see the flag remained disabled:

Also I could re-enable the flag state afterwards.
Closing as done.


FoodType selection icons cropped on round-390x390

Venu for example.

@arquicanedo I tweaked the size down to make it fit but I'm not sure it's not an issue with the simulator. The LARGE icons seem to fit though in the sim, so we'll just have to see if someone complains about it once released.

Sounds good. Closing for now and wait for any complaints.


Creating a new sponge world from existing world files creates a new world with the old name

I can explain what is going on, but i think it is more clear if i explain it by an example

Put an old minecraft server world in the 'world' folder which was called 'foo' previously and in level.dat
Use WorldCreationSettings.builder() to create a new world. Specify the name of the world directory you just put in the 'world' folder, for this example we pick 'bar'
Build a WorldProperties instance and load it in
The server creates a new 'foo' directory and creates a new world, with the settings from the 'bar' level.dat

What's actually going on here is that the server reads the existing level.dat file, and it finds the 'foo' name in the level.dat. It throws away the name specified in the WorldCreationSettingsBuilder.
Temporary workaround is loading a preexisting world from a directory named the same as the world name in level.dat

I did some research, the fix is easy. When calling Server.createWorldProperties, the server loads the worldinfo (https://github.com/SpongePowered/SpongeCommon/blob/master/src/main/java/org/spongepowered/common/mixin/core/server/MixinMinecraftServer.java#L736). If it does not exist it just creates one with the specified name, if a level.dat already exist, it uses that name instead of the specified one.
Before the worldInfo is returned at line 740, its name should be set to the worldName collected on line 715.


Nested tables add rows to outer table and not inner table

Possible Solution
When finding the anchor, sort the tables by the number of tables in ascending order. This way the most inner table will be checked first.
example code change is to change
"for table in part.findall('.//{%(w)s}tbl' % NAMESPACES):"
to
"for table in sorted(part.findall('.//{%(w)s}tbl' % NAMESPACES), key=len):"
Environment

Python version: 3.6.9
docx-mailmerge version: 0.5.0

Hi @th1234 I've the same problems and I newbie in python. Did you find a solution to merge nested tables?


Replace deprecated type/function

Changes
/kind cleanup
ArrayOrString type and NewArrayOrString function have been deprecated in Pipeline.
This commit replaces ArrayOrString with ParamValue and replace NewArrayOrString with NewStructuredValues.

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)

Release Notes
NONE

/lgtm


Add to Settings "Max privacy lock time limit"

Please add "Max privacy lock time limit" to Privacy settings  https://zpl.io/2ExnZKM

"Max privacy lock time limit" page https://zpl.io/bLZOjBm

Checked


[karma] Upgrade Ingress definition as extensions/v1beta1 Ingress is deprecated

When activating the ingress with the karma chart, the following warning is displayed.
Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
Could it be possible to update the Ingress manifest to use the networking.k8s.io/v1 definition?
I was unable to deploy in on OpenShift 4.7 I had to create one manually and turned Ingress off.

Openshift 4.7 uses kubernetes 1.20 which still support this ingress version, so it is unlikely it is the root cause. However, PRs accepted!


Playwright: checkOption method does not work when I use a label name.

What are you trying to achieve?
Trying to click on a checkbox using a label name.
What do you get instead?
It is not working on Playwright but works with Puppeteer.

Provide console output if related. Use --verbose mode for more details.
[api] retrying click action
[api]   waiting for element to be visible, enabled and not moving
[api]   element is visible, enabled and does not move
[api]   scrolling into view if needed
[api]   done scrolling
[api]   checking that element receives pointer events at (618.5,609.06)
[api]   element does not receive pointer events
[api] retrying click action
[api]   waiting for element to be visible, enabled and not moving

# paste output here

Provide test source code if related

// paste test

Details

CodeceptJS version: ^2.6.10
NodeJS Version: 6.7.0
Operating System: OSX
puppeteer || webdriverio || protractor || testcafe version (if related)
Configuration file:

 Playwright: {
    show: process.env.SHOW || false,
    waitForNavigation: 'networkidle0',
    waitForAction: 500,
    chrome: { args: chromiumArgs },
  },

The default locater has too many restrictions, you could try making your own one, for example:
function xpath (pattern, index = 1) {         let indexStr =[${index}]        if (index <= 0) {             indexStr =[last()-${Math.abs(index)}]        }         return(//[contains(text(),'${pattern}')] | //[@*[contains(normalize-space(),'${pattern}')]])${indexStr}    }
it will find all element with specified text


Support IntelliJ Platform Dependency extension syntax

The upcoming IntelliJ Platfrom Gradle plugin has a new syntax for defining IDE related dependencies that sortDependencies does not like.  ./gradlew checkSortDependencies oddly enough passes but the sortDependencies task will fail when running into this syntax.
dependencies {
    intellijPlatform {
        instrumentationTools()
        androidStudio(libs.versions.androidStudio)
    }
}

Reproducer: https://github.com/WhosNickDoglio/ide-plugin-sort-dependency-issue


建议调整左侧小箭头的大小

.CodeMirror-foldgutter-folded:after
.CodeMirror-foldgutter-open:after
用em单位将左侧伸缩箭头字号设置大一些，现在字号有点小，不好点击。

Google translator:

It is recommended to adjust the size of the small arrow on the left
.CodeMirror-foldgutter-folded: after
.CodeMirror-foldgutter-open: after
Em units will be used to set the left side of the arrow size larger, and now font size is a bit small, bad click.


BUG: Allow read_sql_table to read from views

Solves #10750
Follow-up from #10771
'read_sql_table'  will now allow reading from views.
Added also a note in whatsnew and a unit test to check the behaviour.

Thanks!


[WFLY-17737] Drop transformer registrations and tests for the XTS ext…

…ension
https://issues.redhat.com/browse/WFLY-17737

Thanks @jmfinelli


Default Portainer icon is unresponsive.

Environment
Docker
Version
0.3.0
Describe the problem
The default portainer icon is unresponsive. The icon is cut off at the top.
Additional info
No response
Please tick the boxes

[X] You've read the docs
[X] You've checked for duplicate issues
[X] You've tried to debug yourself

Could you show a screenshot?

Could you show a screenshot?

https://mariushosting.synology.me/sharing/AdaWCL9TB

Hmmm. That's weird. I guess we should add a max height! I'll look into it right now.

Fixed in https://github.com/ajnart/homarr/commit/24b433da9a990e29aa301e97d9371fd7c8d8878b
Will be merged into master with the next release. You can use it right now by switching the :latest tag to :dev in your docker container.


[pruner] disable active rocksdb iterator for normal flow

it'd still be the case for indirect objects, but we have this feature disabled for now
For indirect objects we need a sync version of mutex table

@andll: actually I can rewrite the loop itself to avoid it for indirect objects as well. I'll do that in separate PR, meanwhile feel free to accept this one to immediately disable open iterators cross await points

Just to clarify - yes we do need to change the loop of the pruner so that it does not possibly hold iterator across await points. I am planning to make a change that will prohibit doing so during compile time (and current code throws compile error, because it might hold iterator across await point, since compiler does not know indirect objects is always empty)

oh yeah, you're right, I'll close this one. Will change the loop in a different PR


Berry Growth balancing

Suggestion: Lower the time needed to grow berries if it is currently at its default. The time taken to grow berries is ridiculous at its default and un-needed as we cannot sell the berries we grow. Even to to other players, they are sold for very little amounts.
The default berry growth rate is 1-2 real days for the berries that have any use, breaching 60 hours for the rarer ones which is a lil crazy considering you can get only up to 9 berries per yield.
I understand that, with the introduction of Lures, they're a bit more valuable, but it feels worthless to wait days for just berries.

Nevermind that, seems a few of my berries were glitched and frozen in the seedling phase, making me think the server used the defaults. based on the growths of the other ones I think we already have a faster rate?

Closing this since it seems to be a glitch.


There is no reason why it shouldn't. I can investigate this.

no rush. i just wanted to point out such a bug exist. actually, such a bug exists in quite a few algorithm implementations. you aren't alone.

Ok thanks -- I've put it on the todo list for this week.

@icoming where is this graph now? Perhaps it was converted incorrectly. I've tried this with an undirected graph and it did work

run this on awesomer.
flash-graph/test-algs/test_algs matrix/conf/run_test-IM.txt /mnt/nfs/zhengda/graph-data/facebook.adj /mnt/nfs/zhengda/graph-data/facebook.index kcore

ok -- will do

commented out abort


Does Vanilla Conv1x1 layer has guarantee on invertible?

I am reading and reimplementing your great codebase, Didrick. This repo is such a nice work on Normalizing Flow generative experiments!
In vanilla implementation of bijection transform conv1x1, I find that the conv1x1 kernel (weight) is not strictly invertible with guarantee, which may also lead the torch.slogdet() function to diverse(use of svd for non-invertible kernel matrix) and result in Error. Same problem also arise from Glow paper but author does not give refinement method for non-invertible kernel. My question is: have you any refinements of conv1x1 kernel, just like refinements planar flow and sylvester flow gives to force transform to be invertible all the time. I think the use of LU or Householder tricks for kernel will retrict the power of Conv1x1 transform and thus not applausive.
Codes for Conv1x1 layer is copied below:
class Conv1x1(Bijection):

	def __init__(self, num_channels, orthogonal_init=True, slogdet_cpu=True):
		super(Conv1x1, self).__init__()

		self.num_channels = num_channels
		self.slogdet_cpu = slogdet_cpu
		self.weight = nn.Parameter(torch.Tensor(num_channels,num_channels))
		self.reset_parameters(orthogonal_init)

	def reset_parameters(self, orthogonal_init):

		self.orthogonal_init = orthogonal_init

		if self.orthogonal_init:
			nn.init.orthogonal_(self.weight)
		else:
			bound = 1.0/ np.sqrt(self.num_channels)
			nn.init.uniform_(self.weight, -bound, bound)

	def _conv(self,weight, v):
		_,channel, *features = v.shape
		n_feature_dims = len(features)

		fill = (1,)*n_feature_dims
		weight = weight.view(channel, channel, *fill)

		if n_feature_dims == 1:
			return F.conv1d(v,weight)
		elif n_feature_dims == 2:
			return F.conv2d(v,weight)
		elif n_feature_dims == 3:
			return F.conv3d(v,weight)
		else:
			raise ValueError(f'Got {n_feature_dims}d tensor, expected 1d, 2d, or 3d')

	def _logdet(self, x_shape):
		b,c,*dims = x_shape
		if self.slogdet_cpu:
			_, ldj_per_pixel = torch.slogdet(self.weight.to('cpu'))
		else:
			_,ldj_per_pixel = torch.slogdet(self.weight)
		ldj = ldj_per_pixel * reduce(mul, dims)
		return ldj.expand([b]).to(self.weight.device)

	def forward(self,x):
		z = self._conv(self.weight,x)
		ldj = self._logdet(x.shape)

		return z,ldj

	def inverse(self,z):
		weight_inv = torch.inverse(self.weight)
		x = self._conv(weight_inv, z)
		return x

Great Thanks Didrik!

Hi again,
In theory, the layer might become non-invertible, but it will be very unlikely to happen (won't really happen in practice).
If you get an error I would suspect that this is due to NANs appearing somewhere else which tends to crash the slogdet function.
One possibility is of course parameterize the matrix differently to ensure that it is truly impossible for it to become non-invertible.
Hope that helps, and thanks for your question!


Add Slice support for azure-spring-data-cosmos

Add Slice support for queries that do not require page count. Avoids running the count query, which can be expensive.
Resolves #20950

@chenrujun @saragluna - would be good to get your feedback on this PR as well. Please take a look.

/azp run - java - cosmos - tests

/azp run java - cosmos - tests

/azp run java - cosmos - tests

@johnmannix - the Spring live integration tests passed, will merge this PR once other folks approve it, thanks again for your contribution .

Hi, @lzc-1997-abel , please help to review this PR. 🙏

LGTM


[Feature Request] Evard's Black Tentacles

This is one of my players favorite spell. Would be nice to see this implemented one day, since the spell has some technicalities that I am unable to set-up using automations (i.e. how to apply the spell effects to a creature when it enters its area of effect after the spell has been cast).
There is also a free jb2a animation available for set-up if needed.

This is one of my players favorite spell. Would be nice to see this implemented one day, since the spell has some technicalities that I am unable to set-up using automations (i.e. how to apply the spell effects to a creature when it enters its area of effect after the spell has been cast).
There is also a free jb2a animation available for set-up if needed.

FYI, this spell is in my module Gambits Premades, labeled as Black Tentacles

This item is included in the module Gambit's Premades. It may be considered to be done by Chris's Premades at a later date.
Please make this feature request if needed on the CPR discord server. We are no longer accepting regular feature requests off the github.


Delete bitpie-wallet.md

We should delete this as Bitpie doesn't support ROSE now (Announcement - https://medium.com/bitpie/announcement-on-suspension-of-support-for-algo-and-rose-fc35cb322617)

Superseeded by #483 .


Find Files by Keywords and Retrieve Information

Objective:
Develop a Python script that can search for files containing specific keywords in a specified directory and provide certain information about those files.
Features:

Search for files in a specified directory.
Filter files based on specific keywords.
Retrieve and display relevant information about the matched files.

Example Usage:
# Example usage of the file finder script
import file_finder

# Specify the directory and keywords
directory_path = "/path/to/directory"
keywords = ["keyword1", "keyword2", "keyword3"]

# Find files and retrieve information
file_finder.find_files_by_keywords(directory_path, keywords)

Difficulty: Beginner/Intermediate
Tags: Python, File Handling, Scripting
Additional Information:

Consider using the os module for file operations and content search.
Provide options for case-insensitive search and handling subdirectories.

Contribution Guidelines
The updated guidelines can be found here.
Note:

folder_name: file_finder
script_name: file_finder

Hello @bhargavnova =, I have a fair bit of experience in python and am very confident about solving this. Can you please assign this issue to me?

Sure @lavanderhoney :)
Happy Coding!

I have a question @bhargavnova. What information should be returned for a matched file? Like should it return at what index the word is found or how many keywords are found in that file?


Cannot run Program under Windows

A Plugin Exeption was raised after hitting the Run button:
Cannot run program "/bin/bash" (in directory "...my project directory..."): \dev\null (The system cannot find the specified path.)
My System:
Windows 7
PyCharm Professional 2018.1
Python 3.6 (Anaconda)

Unfortunately, this is a known limitation. Also mypy daemon itself doesn't work on Windows yet. Windows support is definitely planned, but it is hard to give any estimates.

Would be nice if this could be solved. One problem is that MypyRunner.java has hardcoded /bin/bash  and /dev/null paths which do not exist under Windows. The mypy daemon issue is here: https://github.com/python/mypy/issues/5019

another pycharm on windows user looking forward to this enhancement.

Please add Windows support as we are looking forward for static-typing checking in Pycharm IDE in Windows OS.


I'd like to change the trasperency of "This Month" and "Appointments" so that it is completely opaque

I'd like to change the trasperency of "This Month" and "Appointments" so that it is completely opaque, instead of semi-transparent:

In .local/bin/statusbar/sb-clock, to suspend the xcompmgr process and resume it later, replace
	1) notify-send "This Month" "$(cal --color=always | sed "s/..7m//;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -d3)" ;;

with
        1) notify-send "This Month" "$(cal --color=always | sed "s/..7m//;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -d3)" && killall xcompmgr && sleep 5 && (xcompmgr & ) ;;

. Or, to remove the xcompmgr package, try pacman -R xcompmgr.

Replacing the code in  .local/bin/statusbar/sb-clock as suggested above didn't work, but updating .config/x11/xprofile to remove xcompmgr &  resolved the issue. Thanks for pointing me in the right direction @Lin2Jing4


Add support for true-type fonts

Replace current proprietary font rendering with SDL2_ttf or a similar library.

Implemented in 494b5a49f8cdf6b377aac07cccf3cd4370e9997b


PublishPipelineArtifact Upload fails, error message very unspecific

I was directed here from this page: https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/publish-pipeline-artifact, hope this is the corect community for this question, otherwise please indicate, where to address this question.
I run a pipeline on a self hosted linux agent and the publish pipeline artifact step fails. I enabled the debug option, but still I cannot figure out the reason.
It says that one or more errors occured, How do I find out which ones?
This agent runs on debian linux (Version I have to find out). The same pipeline worked on a ubuntu hosted agent.
I also checked the log of the agent, but cannot find any error indication.
This is the printout I get:
2020-02-17T14:56:43.1399813Z ==============================================================================
2020-02-17T14:56:43.1399905Z Task         : Publish Pipeline Artifacts
2020-02-17T14:56:43.1399940Z Description  : Publish (upload) a file or directory as a named artifact for the current run
2020-02-17T14:56:43.1399975Z Version      : 1.2.2
2020-02-17T14:56:43.1400026Z Author       : Microsoft Corporation
2020-02-17T14:56:43.1400061Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/publish-pipeline-artifact
2020-02-17T14:56:43.1400095Z ==============================================================================
2020-02-17T14:56:43.5591369Z Artifact name input: demo-image-complete
2020-02-17T14:56:43.5744669Z Uploading pipeline artifact from /< path to artifact cut>/dummyartifact for build #6646
2020-02-17T14:56:47.8642101Z ##[debug]Dedup parallelism: 192
2020-02-17T14:58:27.8868579Z ##[error]One or more errors occurred. (A task was canceled.)
2020-02-17T14:58:27.8878690Z ##[debug]Processed: ##vso[task.logissue type=error;]One or more errors occurred. (A task was canceled.)
2020-02-17T14:58:27.8879432Z ##[debug]Processed: ##vso[task.complete result=Failed;]
2020-02-17T14:58:27.8979006Z ##[debug]   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at Microsoft.VisualStudio.Services.BlobStore.Common.Telemetry.BlobStoreApplicationInsightsTelemetrySender..ctor(IAppTraceSource tracer, Uri baseAddress)
at Agent.Plugins.PipelineArtifact.DedupManifestArtifactClientFactory.CreateDedupManifestClient(AgentTaskPluginExecutionContext context, VssConnection connection, CancellationToken cancellationToken, BlobStoreClientTelemetry& telemetry)
at Agent.Plugins.PipelineArtifact.PipelineArtifactServer.UploadAsync(AgentTaskPluginExecutionContext context, Guid projectId, Int32 pipelineId, String name, String source, CancellationToken cancellationToken)
at Agent.Plugins.PipelineArtifact.PublishPipelineArtifactTaskV1.ProcessCommandInternalAsync(AgentTaskPluginExecutionContext context, CancellationToken token)
at Agent.PluginHost.Program.Main(String[] args)
2020-02-17T14:58:27.9051720Z ##[section]Finishing: PublishPipelineArtifact

I finally found something in the agent log:
[2020-02-18 12:35:05Z INFO JobDispatcher] Successfully renew job request 10840, job is valid till 18/02/2020 12:45:05
[2020-02-18 12:36:05Z INFO JobDispatcher] Successfully renew job request 10840, job is valid till 18/02/2020 12:46:05
[2020-02-18 12:37:05Z INFO JobDispatcher] Successfully renew job request 10840, job is valid till 18/02/2020 12:47:05
[2020-02-18 12:38:05Z INFO JobDispatcher] Successfully renew job request 10840, job is valid till 18/02/2020 12:48:05
[2020-02-18 12:39:05Z INFO JobDispatcher] Successfully renew job request 10840, job is valid till 18/02/2020 12:49:05
[2020-02-18 12:39:35Z INFO ProcessInvokerWrapper] STDOUT/STDERR stream read finished.
[2020-02-18 12:39:35Z INFO ProcessInvokerWrapper] STDOUT/STDERR stream read finished.
[2020-02-18 12:39:35Z INFO ProcessInvokerWrapper] Exited process 9447 with exit code 102
[2020-02-18 12:39:35Z INFO ProcessInvokerWrapper] Finished process 9447 with exit code 102, and elapsed time 00:05:30.4293881.
[2020-02-18 12:39:35Z INFO JobDispatcher] Worker finished for job 60dfd29e-1890-5ba0-75a9-043684c54d27. Code: 102
[2020-02-18 12:39:35Z INFO JobDispatcher] finish job request for job 60dfd29e-1890-5ba0-75a9-043684c54d27 with result: Failed
[2020-02-18 12:39:35Z INFO Terminal] WRITE LINE: 2020-02-18 12:39:35Z: Job Init and sync repositories completed with result: Failed
Is there a list of exit codes around? In the Worker log I cannot find anything about failed processes.

@jtpetty You were probably looking at a related issue
https://github.com/microsoft/azure-pipelines-agent/issues/2750


List stream items can be removed with .remove()

Codecov Report

Merging #77 into master will increase coverage by 0.15%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #77      +/-   ##
==========================================
+ Coverage   90.31%   90.46%   +0.15%
==========================================
  Files          32       32
  Lines        1290     1300      +10
==========================================
+ Hits         1165     1176      +11
+ Misses        125      124       -1

Impacted Files
Coverage Δ

types/stream.js
97.87% <100%> (+0.57%)
:arrow_up:

types/list.js
78.33% <0%> (+1.66%)
:arrow_up:

Continue to review full report at Codecov.

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


Workload not paid on devnet

I deployed a weblet on devnet (now for a day) but balance on account remains at the same amount.
devnet, contractID 2922.
Amount calculated is 0.116291 TFT/hour for this workload, which seems correct. But the balance on the wallet remains the same.
In the graphql interface, new lines are generated, so that's OK.  Since a transfer every hour emits a lot of events, we changed this to lock the amount billed every hour, and only perform the transfer every 24 bills (i.e. every day) for the total locked amount. If you check, you will see your balance has decreased in the meantime.


Setup devcontainer

This PR allows us to use devcontainer in VSCode, so you don't need to set up OMNeT++ anymore.
https://code.visualstudio.com/docs/devcontainers/containers
steps on local

install and run docker host. you can confirm it by $ docker ps
open quisp with vscode
perform the task "Dev Containers: Rebuild and Reopen in Container"

steps on Codespaces

open the QuISP repository and switch to this branch
create codespace

wait

go to the ports config menu (it's right next to the terminal tab). From there, temporarily port forward the PORT 6080. Then the Codespace will kindly generate the access url, forwarding to the port we set. Click that and you're good to go.

oepn OMNeT++ IDE by $ omnetpp on the integrated terminal
go to the VNC tab and send vscode for password. then you can see the IDE
set /workspaces/quisp for launch and following steps on the wiki

limitations

No bash's git-completion.
Building quisp on OMNeT++ IDE will crash the IDE. Build QuISP with GNU Make

Security Considerations
the codespaces port forwarding is secure, if you want to access to the generated URL, GitHub requires you to authenticate through GitHub. see also https://docs.github.com/ja/codespaces/codespaces-reference/security-in-github-codespaces

This change is

we should add distclean into tasks.json

I reckon we have to mention the fact that some SELinux setup will break the devcontainer.
Currently I'm looking for the ideal SELinux config to work with the devcontainer (since disabling SELinux is usually a bad idea), but I assume for now the su -c "setenforce 0 workaround would be just fine for testing.

To use noVNC, build the Codespace, and go to the ports config menu (it's right next to the terminal tab). From there, temporarily port forward the PORT 6080. Then the Codespace will kindly generate the access url, forwarding to the port we set. Click that and you're good to go.

@Naphann @res6idue @sierpinskiii
I just cleaned up the PR description. I think it's ready for merge.
could you review it and approve?


Dataloader fails when num-workers > 1 for criteo datasets

Hello there,
When I use num-workers > 1, I get the following error with the Criteo terabyte dataset. Including a full stack trace.
The command line I use is:
python3 dlrm_s_pytorch.py --arch-sparse-feature-size=64 --arch-mlp-bot="13-512-256-64" --arch-mlp-top="512-512-256-1" --max-ind-range=100000000 --data-generation=dataset --data-set=terabyte --raw-data-file=/ssd/ssd1/keshav/dlrm/data/terabyte/day --processed-data-file=/ssd/ssd1/keshav/dlrm/data/terabyte/terabyte_processed.npz --loss-function=bce --round-targets=True --learning-rate=0.1 --mini-batch-size=4096 --print-freq=1024 --print-time --test-mini-batch-size=2048 --test-num-workers=16 --test-freq=8192 --memory-map --data-sub-sample-rate=0.875 --use-gpu --num-workers=2
The error is:
Traceback (most recent call last):
File "dlrm_s_pytorch.py", line 1869, in
run()
File "dlrm_s_pytorch.py", line 1508, in run
for j, inputBatch in enumerate(train_ld):
File "/home/keshavba/.local/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 435, in next
data = self._next_data()
File "/home/keshavba/.local/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1065, in _next_data
return self._process_data(data)
File "/home/keshavba/.local/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1111, in _process_data
data.reraise()
File "/home/keshavba/.local/lib/python3.8/site-packages/torch/_utils.py", line 428, in reraise
raise self.exc_type(msg)
AttributeError: Caught AttributeError in DataLoader worker process 1.
Original Traceback (most recent call last):
File "/home/keshavba/.local/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 198, in _worker_loop
data = fetcher.fetch(index)
File "/home/keshavba/.local/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/keshavba/.local/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/keshavba/research/projects/Dlrm/dlrm/dlrm_data_pytorch.py", line 288, in getitem
i = index - self.day_boundary
AttributeError: 'CriteoDataset' object has no attribute 'day_boundary'

You can not mix --num-workers and --test-num-workers with --memory-map flag. You can only use the former two or the latter.


Investigate/spike how to create/host new native plugin documentation

Reopen/create new issue when we actually start this.


get 401 (Unauthorized)  when push

Describe the bug
I fellow the quickstart page run Docker containers on Windows 10 and Windows Server 2019.It works well on Win 10,but got " 401 (Unauthorized) " on Windows  Server 2019.
To Reproduce
Steps to reproduce the behavior:

Do the same steps as quickstart  page "Run BaGet on Docker" said on Windows  Server 2019.
run "nuget setapikey MyKey -Source http://MyIp/v3/index.json "
run "nuget push -Source http://MyIp/v3/index.json MyPackage.nupkg"
See error

Expected behavior
I think some permission configurations are needed ,because it works well on Windows 10,

well,it works now.
What I did?
run "chmod a+rwx /var/baget" on container and set everyone RW on my host_mnt directory.I don't know which  action make it works. but it works.


Version on nightly builds

Description of the problem or steps to reproduce
If I download a nightly build, and do micro -version I get:
Version: 0.0.0-unknown
Commit hash: Unknown
Compiled on Unknown

It would be cool if it would mention the version (like micro-2.0.0-rc1.dev.19-freebsd32) and perhaps even the last git commit of the build.
Specifications

You can use micro -version to get the commit hash.

That doesn't seem to work here (Ubuntu 18.04.3 with MATE terminal, latest nightly)

Thanks, there was a problem with the auto-builder. Fixed now!


Add CMake project

can I create a pull request and add to this project CMakeLists.txt?

Given that there are Premake-generated projects for each platform and architecture that is supported, we do not need Cmake.  Some of the original reasoning is available in this blog post:
https://www.frogtoss.com/labs/premake-for-package-maintainers.html
Adding Cmake in addition to Premake would increase the maintenance overhead and I already do not have a lot of free time.  I am not likely at all to accept a Premake pull request as a result of all these reasons.

@irov I think a battle-tested CMakeLists.txt would be very much appreciated by the community even if not upstreamed into the main project :))

There is an unofficial cmake file in vcpkg you can work with.  https://github.com/microsoft/vcpkg/tree/master/ports/nativefiledialog

There is an unofficial cmake file in vcpkg you can work with.  https://github.com/microsoft/vcpkg/tree/master/ports/nativefiledialog


[stable/elasticsearch] Tag roles for master and data

This follows role conventions seen in other Helm charts and allows graphing to break out activity stats per role
Signed-off-by: Ben Klang<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] DCO signed
[ ] Chart Version bumped
[ ] Variables are documented in the README.md

/ok-to-test

/lgtm


Lock destination layers while delta is being processed

During fingerpinting of the source image the destination layers are not
exepmt from being released (e.g. when balena image rm <iid>) is run
simultaneously.
Similarly when processing the destination layers to generate deltas we
only hold one reference at a time, leaving the subsequent layers
vulnerable to the same issues.
Change-type: patch
Signed-off-by: Robert Günzler<EMAIL_ADDRESS>

@balena-ci rebase

@balena-ci rebase

@robertgzr, what's the current status of this PR? Are you working on it? As far as code review goes, it looks right to me, but when I run the new tests, I get a failure:
=== RUN   TestDeltaCreateDestinationLock
--- FAIL: TestDeltaCreateDestinationLock (216.57s)
    delta_test.go:108: assertion failed: expression is false: len(deleted) == 0

Which probably means my review is missing something...

I think I will have to revise the test case completely... those layers we lock will actually be delted when we release our lease to them. The image can be removed independently of that


Add timeline to the report

This PR adds support for log line timestamps to create a chronological view of the anomalies found across multiple files. This can be useful for distributed systems where the earliest anomalies are likely to be most important compared to the last ones which are often emitted by the failure logs collections.

[x] timestamp parser
[x] timeline render in the web view
[x] documentation/changelog

This PR is still missing a better timeline rendering in the UI to link to the full logfile, otherwise I think the logic is pretty good.


Duckscript for loop with multi-line env variable

Features Description
I want to do for loop with multi-line env variable like below:
[env]
ARRAY0 = [
"a",
"b",
]

ARRAY1 = '''
a
b
'''

Describe the solution you'd like
I tried several variation, and found the combination of array and replace works fine.
Is this expected? If there is more sophisticated way, I want to know it.
[env]
ARRAY0 = [
"a",
"b",
]

ARRAY1 = '''
a
b
'''

# don't work
[tasks.array0-0]
script_runner = "@duckscript"
script = [
'''
for i in ${ARRAY0}
  echo ${i}
end
'''
]

# don't work
[tasks.array0-1]
script_runner = "@duckscript"
script = [
'''
array0 = array %{ARRAY0}
for i in ${array0}
  echo ${i}
end
release array0
'''
]

# work fine
[tasks.array0-2]
script_runner = "@duckscript"
script = [
'''
array0 = replace ${ARRAY0} ; " "
array0 = array %{array0}
for i in ${array0}
  echo ${i}
end
release array0
'''
]

# don't work
[tasks.array1-0]
script_runner = "@duckscript"
script = [
'''
for i in ${ARRAY1}
  echo ${i}
end
'''
]

# don't work
[tasks.array1-1]
script_runner = "@duckscript"
script = [
'''
array1 = array %{ARRAY1}
for i in ${array1}
  echo ${i}
end
release array1
'''
]

# work fine
[tasks.array1-2]
script_runner = "@duckscript"
script = [
'''
array1 = replace ${ARRAY1} \n " "
array1 = array %{array1}
for i in ${array1}
  echo ${i}
end
release array1
'''
]

This is a great question.
so a list env var is a cargo-make thing, as in reality env vars are key/value and cargo make enables you to do key/list.
however as you probably saw, the way i do it, is i concat all values using the ';' char.
so key=[a,b,c] becomes key=a;b;c
duckscript, has no idea of multi value env vars, so it just sees a;b;c
so using the spread won't work as spread works on spaces (see docs: https://github.com/sagiegurari/duckscript#tutorial-commands-using-variables-spread-binding)
so i think the simplest solution is using split (https://github.com/sagiegurari/duckscript/blob/master/docs/sdk.md#std__string__Split)
array = split ${ARRAY0}
for i in ${array} ;
  echo ${i}
end
release ${array}

as for arrays defined as multi line string such as:
ARRAY1 = '''
a
b
'''

you can use the split again, but this time using the \n char.
so:
array = split ${ARRAY} \n

@dalance i think this answers your question. if you need anything more feel free to open a new issue or reopen this one.

@sagiegurari I'll use split instead of replace and array. Thank you!


Trouble with running tests in terminal

I trying to run my tests in terminal, but i see that:
"C:/RailsInstaller/Ruby2.2.0/bin/rake: No such file or directory - which phantomjs".
Also i trying install phantomjs gem and install cURL and simple phantomjs and both methods did not work.
I have windows 10, Rails 5.0.3, ruby 2.2.6

After installing phantomjs is it on your path? From the same terminal does phantomjs start its prompt?

I add the Path and now i have new trouble.
" Running "phantomjs" "" "C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/gems/jasmine-rails-0.12.6/lib/jasmine_rails/../assets/javascripts/jasmine-runner.js" "file://C:/Users/nikit/R ubymineProjects/SecondProj/tmp/jasmine/runner.html?spec="
Running: file://C:/Users/nikit/RubymineProjects/SecondProj/tmp/jasmine/runner.html?spec="
and my RubyMine have freezes and i need to restart it

I'm sorry, but this isn't enough information for me to help you with. Please post an example project that's exhibiting the issue and I'll re-open and investigate.

https://github.com/UMSF-K13-3-Sahan/testProject.git
my project

@searls https://github.com/UMSF-K13-3-Sahan/testProject.git   my proj

I'm sorry, I don't think I can help you. I pulled the project down and ran:
$ bundle
$ bundle exec rake spec:javascript
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/2.3.0/json/version.rb:4: warning: already initialized constant JSON::VERSION
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:4: warning: previous definition of VERSION was here
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/2.3.0/json/version.rb:5: warning: already initialized constant JSON::VERSION_ARRAY
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:5: warning: previous definition of VERSION_ARRAY was here
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/2.3.0/json/version.rb:6: warning: already initialized constant JSON::VERSION_MAJOR
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:6: warning: previous definition of VERSION_MAJOR was here
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/2.3.0/json/version.rb:7: warning: already initialized constant JSON::VERSION_MINOR
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:7: warning: previous definition of VERSION_MINOR was here
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/2.3.0/json/version.rb:8: warning: already initialized constant JSON::VERSION_BUILD
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/version.rb:8: warning: previous definition of VERSION_BUILD was here
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/2.3.0/json/common.rb:100: warning: already initialized constant JSON::NaN
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/common.rb:100: warning: previous definition of NaN was here
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/2.3.0/json/common.rb:102: warning: already initialized constant JSON::Infinity
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/common.rb:102: warning: previous definition of Infinity was here
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/2.3.0/json/common.rb:104: warning: already initialized constant JSON::MinusInfinity
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/common.rb:104: warning: previous definition of MinusInfinity was here
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/2.3.0/json/common.rb:129: warning: already initialized constant JSON::UnparserError
/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/json-2.1.0/lib/json/common.rb:129: warning: previous definition of UnparserError was here
DEPRECATION WARNING: alias_method_chain is deprecated. Please, use Module#prepend instead. From module, you can access the original method using super. (called from load at /Users/justin/.rbenv/versions/2.3.3/bin/rake:22)
DEPRECATION WARNING: alias_method_chain is deprecated. Please, use Module#prepend instead. From module, you can access the original method using super. (called from load at /Users/justin/.rbenv/versions/2.3.3/bin/rake:22)
DEPRECATION WARNING: Using positional arguments in integration tests has been deprecated,
in favor of keyword arguments, and will be removed in Rails 5.1.

Deprecated style:
get "/profile", { id: 1 }, { "X-Extra-Header" => "123" }

New keyword style:
get "/profile", params: { id: 1 }, headers: { "X-Extra-Header" => "123" }
 (called from load at /Users/justin/.rbenv/versions/2.3.3/bin/rake:22)
Running `"phantomjs" "--web-security=no" "/Users/justin/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/jasmine-rails-0.12.6/lib/jasmine_rails/../assets/javascripts/jasmine-runner.js" "file:///Users/justin/code/UMSF-K13-3-Sahan/testProject/tmp/jasmine/runner.html?spec="`
Running: file:///Users/justin/code/UMSF-K13-3-Sahan/testProject/tmp/jasmine/runner.html?spec=
Starting...

^C^C^Crake aborted!
Interrupt:
/Users/justin/.rbenv/versions/2.3.3/bin/bundle:22:in `load'
/Users/justin/.rbenv/versions/2.3.3/bin/bundle:22:in `<main>'
Tasks: TOP => spec:javascript
(See full trace by running task with --trace)
/Users/justin/.rbenv/versions/2.3.3/bin/bundle: Interrupt

The build started fine, but there's something in your tests or application that pegged all 8 of my CPUs such that macOS locked up entirely. I won't be able to help you further with this for free on the Internet, but my experience suggests you have some sort of halting problem in your JavaScript (or in the portions of the backend stack that get invoked necessarily when you run the app)


Global state synchronizer and Trie accumulator tests

This PR:

Adds tests for the Trie accumulator component
Adds a small optimization to the global state synchronizer to start fetching new tries if parallel fetch slots become available due to a trie accumulator error
Adds tests for the Global State Synchronizer component

Fixes: https://github.com/casper-network/casper-node/issues/3547

bors r+


[BUG] MANIFEST.in fails to conusme "dotted" directories

setuptools version
setuptools==58.1.0
Python version
Python 3.8
OS
Ubuntu 20.10
Additional environment information
No response
Description
Assume the following package structure, where : denotes a directory
- setup.py
- setup.cfg
- MANIFEST.in
- src:
  - foo:
    - foo1.yaml
    - foo2.yaml
  - bar:
    - bar1.yaml
    - bar2.yaml
  - zha.baz:
    - zhab.yaml

Next assume MANIFEST.in contains the following:
recursive-include src *.*

Then run python setup.py bdist_wheel && unzip -l *.whl
Expected behavior
The unzip output will show foo, bar, and baz.zha. All yaml files will be present.
Actual behavior
The unzip output will only shows foo and bar et al; baz.zha and its files are missing.
How to Reproduce
As above.
Output
python setup.py bdist_wheel && unzip -l dist/*.whl

Code of Conduct

[X] I agree to follow the PSF Code of Conduct

Simple Dockerfile to reproduce:
FROM python:3.8-slim
RUN apt-get update
RUN apt-get install -y git tree unzip
RUN git config --global user.email<EMAIL_ADDRESS>RUN git config --global user.name "Your Name"
RUN pip install --upgrade pip setuptools wheel
RUN pip install pyscaffold
RUN putup my-package
WORKDIR my-package
RUN mkdir src/foo
RUN touch src/foo/foo1.yaml
RUN mkdir src/bar
RUN touch src/bar/bar1.yaml
RUN mkdir src/zha.baz
RUN touch src/zha.baz/zhab.yaml
RUN echo "recursive-include src *.yaml" >> MANIFEST.in
RUN tree
RUN python setup.py bdist_wheel
RUN unzip -l dist/*.whl

I think this might actually be related to  pypa/setuptools#1461.
My guess for what is happening is that the weird part is not zha.baz not being included but foo and bar being... This could be explained by [options] packages = find_namespace: in setup.cfg.
A way of testing this guess is:
sed -i 's/find_namespace:/find:/g' setup.cfg
rm -rf dist build src/*.egg-info
git add . && git commit -m "Disable PEP 420-aware packing"
python setup.py bdist_wheel
unzip -l dist/*.whl

Then we not see any data file/folder
When reversing the process:
sed -i 's/find:/find_namespace:/g' setup.cfg
rm -rf dist build src/*.egg-info
git add . && git commit -m "Re-enable PEP 420-aware packing"
python setup.py bdist_wheel
unzip -l dist/*.whl

Then we see both foo and bar directories in the wheel (but not zha.baz because of this name is not a valid module name for Python)

Please notice that if you move the files to a folder inside my_package, things seem to work:
$ mkdir -p src/my_package/data
$ mv src/{foo,bar,zha.baz} src/my_package/data
$ git add . && git commit -m "Move files inside package dir"
$ rm -rf dist build src/*.egg-info && python setup.py bdist_wheel
$ unzip -l dist/*.whl
unzip -l dist/*.whl
Archive:  dist/my_package-0.0.post1.dev9+ge46c313.d20211002-py3-none-any.whl
  Length      Date    Time    Name
---------  ---------- -----   ----
      581  2021-10-02 09:28   my_package/__init__.py
     4247  2021-10-02 09:28   my_package/skeleton.py
        0  2021-10-02 09:29   my_package/data/bar/bar1.yaml
        0  2021-10-02 09:29   my_package/data/foo/foo1.yaml
        0  2021-10-02 09:29   my_package/data/zha.baz/zhab.yaml
       93  2021-10-02 10:53   my_package-0.0.post1.dev9+ge46c313.d20211002.dist-info/AUTHORS.rst
     1086  2021-10-02 10:53   my_package-0.0.post1.dev9+ge46c313.d20211002.dist-info/LICENSE.txt
     2428  2021-10-02 10:53   my_package-0.0.post1.dev9+ge46c313.d20211002.dist-info/METADATA
       92  2021-10-02 10:53   my_package-0.0.post1.dev9+ge46c313.d20211002.dist-info/WHEEL
       11  2021-10-02 10:53   my_package-0.0.post1.dev9+ge46c313.d20211002.dist-info/top_level.txt
     1076  2021-10-02 10:53   my_package-0.0.post1.dev9+ge46c313.d20211002.dist-info/RECORD
---------                     -------
     9614                     11 files

Also notice that according to the latest documentation, data files outside of the package directory are no longer supported.


Intercom update async request

What does this PR do?
This PR allows to Intercom auto-messages being triggered without the need of a page refresh/reload.
Any background context you want to provide?
We want to create an auto-message when a user posts a question. However, the questions are created with AJAX request and, before this PR, the auto-message only appears after a page refresh.

👍


SampleGen: Java LRO calling form LongRunningFlattendAsync needs enhancement

We need to generate code to extract the response object from the Operation so that we can continue to do stuff with output handling.

Not needed until we have a use  case.


zos: fix fs event not fired if the watched file is moved/removed/recreated

This PR resolves a bug on z/OS where fs events are not fired when a watched file is moved/removed/recreated. One example of this bug occurring is by editing a file with vim with the backupcopy=no or backupcopy=auto setting.
The following changes are made to resolve this bug:

Register _RFIM_UNLINK as UV_RENAME.
An undocumented __rfim_event 156 will occur when the watched file is moved or removed, or an editor (e.g. vim) renames then creates the file. This is event technically should not happen based on documentations, but we'll also register it as UV_RENAME for now since it is functionally equivalent.
On z/OS a file is implicitly unregistered when the change notification is sent, and only one notification is sent per registration. So we also need to re-register interest in a file after each change notification we receive.

CI: https://ci.nodejs.org/job/libuv-test-commit/2237/

landed as patch series
07c4cacb585acdf78b17e78d24723dadb9bc9a0e
571f8981921c307ff4995520c5f4171dcce34668
6d9275e41222b8cdb2b032d6e220be0d18549c8b


Release @google-cloud/translate v3.0.1

This pull request was generated using releasetool.

Release is at https://github.com/googleapis/nodejs-translate/releases/tag/v3.0.1

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


#1961 HSQLDB dont use parenthes in Union.

Fixes #1961
HsqldbSuteTest and HsqldbLiteralsSuiteTest are OK.

Looks good

Looks good to me as well.
I'll merge it.

@robertcsakany thanks for the contribution!


Can't set clipboard contents on Ubuntu 15.10

The following code seems to get the clipboard contents just fine, but it doesn't actually set it correctly. set_contents returns successfully; it just doesn't set anything.
extern crate clipboard;
use clipboard::*;

fn main() {
    let mut ctx = ClipboardContext::new().unwrap();
    match ctx.get_contents() {
        Ok(clip) => println!("{}", clip),
        Err(err) => println!("Error getting clip: {:?}", err),
    }
    match ctx.set_contents("A string set from rust".to_string()) {
        Ok(_) => println!("Set new string."),
        Err(err) => println!("Error setting string: {:?}", err),
    }
}

The output is just:
This is the correct content of my clipboard before running
Set new string.

But afterwards my clipboard is empty. How would I go about figuring out what's wrong?

Oh, I just read through the source and realized that the server doesn't outlive the process. Maybe that should be added to the readme to make sure people see it?


use of the TONEX software

Hello, thanks for this useful project!
Is it possible to use the TONEX software on a PC while connected to the ESP32S3-Zero?
Thanks

Hi. Unfortunately no. The USB standard does not allow multiple hosts to connect to one device at the same time.


Lunatic Games Studio

Project Abstract
Lunatic Games Studio is the first play for lifestyle blockchain gaming edition. Through Web3, we are developing a revolutionary product that aims to impact our users' daily lives.
We are building a browser-based web3 game where users will need to stake $SLNT tokens to play.
Designed with unreal Engine 5 and in-house resources, the Lunatic Game Studio framework provides the players with a greek history with countless spells, societies abilities and environment.
Our sole mission is to ‘Add Value’ to our players lives!
 We are going to build our own in-game interactive marketplace. We will be building Interactive NFTs infrastructure so that they can serve in our in-game interactive NFTs.
Grant level Level 1: Up to $10,000, 2 approvals Level 2: Up to $30,000, 3 approvals Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)
Application Checklist
[x] The application template has been copied and aptly renamed (project_name.md).
[x] I have read the application guidelines.
[x] A BTC address for the payment of the milestones is provided inside the application.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: avirajkhare00:x: mahajanridhimaYou have signed the CLA already but the status is still pending? Let us recheck it.

We are building this on top of the Substrate ecosystem. We did not specify anywhere that we are going to use Solidity.

Hey, @takahser, it's true that our GitHub org has a few experimental repos on top of solidity, but we need to work from the ground up. We are not going to use those codes to build it.

@mahajanridhima @avirajkhare00 I was assuming you're using solidity because you intend to build on top of EIP-721 and ERC-721. Can you elaborate on that maybe?

EIP-721 is a token standard. It's not depended on any language, right?
Correct me if I am wrong

EIP(Ethereum Improvement Proposal)-721 comes in the category of ERC
https://eips.ethereum.org/EIPS/eip-721
Also, lot of open source code around implementation of ERC-721 in substrate.

Hey @takahser, any update on this?

Hey @takahser It's been 4 days. Can you please tell us the next steps?

@avirajkhare00 please let me know once you're happy with the state of your grant application, so I can take a look again.

Hey @takahser
Since clubbing it with a Game didn't make sense, I have created a new grant application.
Please take a look at here: https://github.com/w3f/Grants-Program/pull/1192
You may close this PR
Thanks


3.0.1 patch release

Note: migrated from original JIRA: https://issues.apache.org/jira/browse/ARROW-11948
Spreadsheet where I am tracking the fixes that get merged to maint-3.0.x

https://docs.google.com/spreadsheets/d/111k0PGEVzxg1k7Q_d_1kV7E24VRB3DVJP1MnQImVrCc/edit?usp=sharing

Closing as not applicable.


Miscellaneous Minor Clang Module Loading Refactorings

Convert a call into an assertion in the DWARF importer. DWARF modules never have additional dependencies requiring a module load, so the set of imported modules is always going to be the module itself.
Always make the top-level module visible. This is a natural consequence of the way the Clang Importer currently works by re-entering itself when loading submodules.

@swift-ci test

@swift-ci test source compatibility

⛵


fix(pages): move dns-prefetch and preconnect settings to head element

:tada: This PR is included in version 2.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Print version number on startup

Log the version number and build information when the operator starts.

Implemented in #161


Introduce a new property "findBugsVersion" and use it consistently.

This property contains the version of the FindBugs tool and the
FindBugs JSR 305 jar.

Codecov Report

Merging #454 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #454   +/-   ##
=========================================
  Coverage     90.22%   90.22%
  Complexity      586      586
=========================================
  Files           104      104
  Lines          2127     2127
  Branches        206      206
=========================================
  Hits           1919     1919
  Misses          156      156
  Partials         52       52

Continue to review full report at Codecov.

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


Compatibility: make ROW FORMAT syntax backward-compatible for at least one version

#10561

Done by @st1page.


mat-select's ARIA hidden attribute is confusing the screen reader from perceiving the control on the page.

Screenshot

Expected Behavior
Please remove the aria-hidden attribute from the markup so that the user using the screen reader can perceive the control and use it effectively.
Actual Behavior
Currently, the control includes ARIA hidden attribute which keeps the user using the screen reader from perceiving the control on the page.
Environment

Angular: 7
CDK/Material: 7
Browser(s): Chrome/IE
-Screen Reader: JAWS 2019
Operating System: Windows

I was curious why the aria-hidden attribute was added and discovered this issue, so I dug around a bit and found this PR: https://github.com/angular/components/pull/5181
Reading through the comments there, the addition of the aria-hidden attribute was an attempt to fix an issue where screen readers would treat the trigger as one of the options in the list and read out an incorrect number for the number of list items (e.g., 1 of 6 selected when there's only 5 items in the list).
This comment (https://github.com/angular/components/pull/5181#issuecomment-311161525) says that

Setting the aria-hidden="true" all the time still works on the screen readers that I could get my hands on (VoiceOver and NVDA), because we have an aria-label on the select already

but JAWS was not tested for that change, and it's not actually true that there's always an aria-label. In the image you provided, you used aria-labelledby. You can see here (https://github.com/angular/components/blob/master/src/material/select/select.ts#L1102-L1106) that when aria-labelledby is set, the aria-label attribute is not added. I don't have access to JAWS so I can't test this for you, but if you're able to add an aria-label attribute

Duplicate of #11083


cruft update is causing git invalid object errors

I use cruft to clone/update a cookiecutter template within a particular directory of a repo
I update with cruft update --allow-untracked-files --checkout=master and it works but then when I make a commit, I get
error: invalid object 100644 c926282f214accf72320bbcf2927f16a9b02a385 for 'cicd/.gitlab-ci-common.yml' and in this case, this is a reference to a file that is within the repo where my template is based but OUTSIDE of the template directory. I think cruft is incorrectly causing git to track files that are not to do with the template when --directory is passed.
I am currently having to git reset --hard each time after i cruft update.

I will try to construct a minimum reprocucible example but it might not be super easy.
I would think the first port of call would be to look at the part of the code that is updating git during an init/update and see where --directory is not correctly influencing the behaviour.
The fundamental issue here is this: my git repo is complaining about invalid objects that relate to files that are not in, and have never been in, my local git repo. They are merely in the template OUTSIDE of --directory.

If I git add an individual file (e.g. git add foo), I don't run into this issue but if I use git add . or git add -all, I do. Hopefully this helps to localise the issue. Clearly there are some "hidden objects" or something that git is adding - that it shouldn't - and this must be caused by the way cruft is updating the git database.
ac@penguin:~/Projects/medialabgroup/apollo/test2$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   .editorconfig
        new file:   .gitignore
        new file:   .gitlab-ci.yml
        new file:   .pre-commit-config.yaml
        new file:   CHANGELOG.md
        new file:   CONTRIBUTING.md
        new file:   Dockerfile
        new file:   Dockerfile.dev
        new file:   Dockerfile.dev.dockerignore
        new file:   Dockerfile.dockerignore
        new file:   MANIFEST.in
        new file:   Makefile
        new file:   README.md
        new file:   VERSION
        new file:   docs/source/conf.py
        new file:   docs/source/index.md
        new file:   extras/build-requirements.txt
        new file:   extras/commit-requirements.txt
        new file:   extras/dev-requirements.txt
        new file:   extras/docs-requirements.txt
        new file:   extras/format-requirements.txt
        new file:   extras/lint-requirements.txt
        new file:   extras/test-requirements.txt
        new file:   prospector.yaml
        new file:   pyproject.toml
        new file:   requirements.txt
        new file:   setup.cfg
        new file:   setup.py
        new file:   tests/functional/test_functional.py
        new file:   tests/unit/test_unit.py

ac@penguin:~/Projects/medialabgroup/apollo/test2$ git commit -am "Another commit"
make format..............................................................gPassed
make freeze..............................................................Passed
make init-update.........................................................Passed
make lint................................................................Passed
Check Yaml...............................................................Passed
Fix End of Files.........................................................Passed
Trim Trailing Whitespace.................................................Passed
error: invalid object 100644 d50c2b557a744919a3e14d2e2cf78392d97ad653 for 'cicd/.gitlab-ci-common.yml'


Preliminary fix for assemble-turnstile-data.yml workflow

I just tested the RACK Build Virtual Machine Workflow.  It failed while trying to assemble the Turnstile ingestion package:
    - name: Assemble Turnstile ingestion package
      run: |
        RACK/Turnstile-Example/Assemble-TurnstileData.sh

ERROR: -g load_local_model('/home/runner/work/RACK/RACK/RACK/Turnstile-Example/../GE-Ontology'): directory_files/2: file `'/home/runner/work/RACK/RACK/RACK/Turnstile-Example/../GE-Ontology'' does not exist
Error: Process completed with exit code 2.

Someone moved the GE-Ontology directory into the overlays directory a while ago, but did not update the Turnstile instructions.  This pull request fixes the location of the GE-Ontology directory in Turnstile-Example/Assemble-TurnstileData.sh, but I need someone else to update the Turnstile instructions.  RACK has changed the method used to ingest ingestion packages; the new method now uses the rack-ui interface instead of shell scripts or the rack CLI.  Some of the shell scripts mentioned in the instructions don't exist anymore.  If we still need to assemble the Turnstile ingestion package and tell users how to ingest it, will someone please modify this pull request to update these README files with the correct instructions too?
overlays/GE-Ontology/README.md
4:GE-Ontology/
46:21 rack model import ../GE-Ontology/OwlModels/import.yaml
50:Line 21 uses the [CLI](../cli) to import the owl model specified in import.yaml. In this case, it lists GE.owl. Line 23 imports the ingestion nodegroups based on the GE-Ontology overlay. Note that the owl and the nodegroups have to be copied out of RACK-in-a-Box by running [setup-owl.sh](../cli/setup-owl.sh). Note also that the name of the ingestion nodegroup directory is taken from the uri of the ontology overlay file: `arcos.projectName`.

Turnstile-Example/README.md
11:The Turnstile overlay is created in a file called [GE.sadl](../GE-Ontology/ontology/GE.sadl). For the ARCOS program, overlays are created by individual performers and are named after the prime. For example, the turnstile ontology is created by the GE-Galois team. The overlay file is located in a directory called [GE-Ontology](../GE-Ontology/) (where GE is the prime). The structure and content of the directory is as follows:
13:GE-Ontology/
33:Let's take a look at the [GE.sadl](../GE-Ontology/ontology/GE.sadl) file.
56:Now let's look at the [setup-GE.sh](../GE-Ontology/setup-GE.sh) script.
62:Line 24 uses the [CLI](../cli) to import the owl model specified in import.yaml. In this case, it lists GE.owl. Line 25 uses the imports the ingestion nodegroups based on the GE-Ontology overlay. Note the name of the ingestion nodegroup directory is taken from the uri of the ontology overlay file: `arcos.projectName`.

Turnstile-Example/Turnstile-IngestionPackage/Objectives/README.md
3:- Created nodegroups to relate ACTIVITYs from the GE-Ontology overlay to OBJECTIVEs from the [DO-178C ontology](https://github.com/ge-high-assurance/RACK/blob/TurnstileUpdate/RACK-Ontology/ontology/DO-178C/DO-178C.sadl).
8:The following table summarizes the identified OBJECTIVEs `satisfiedBy` the ACTIVITYs. (Note: the listed ACTIVITYs are part of the GE-Ontology overlay.)

Turnstile-Example/Turnstile-IngestionPackage/README.md
27:The script [setup-turnstile.sh](../../cli/setup-turnstile.sh) loads the [GE ontology overlay](../../GE-Ontology/ontology/GE.sadl).

assist/bin/README.md
59:  ingest_data -O GE-Ontology/OwlModels http://rack001/turnstiledata Turnstile-Example/Turnstile-IngestionPackage
138:         -O ../../../GE-Ontology \
169:         -O ../../../GE-Ontology \
249:load_local_model('./GE-Ontology/OwlModels').

I'm fixing up the README now

@tuxji I pulled out the mention of setup-turnstile.sh. I believe everything that used to do is now contained in the Assemble script and is covered by the manifest import command.


ecto APM in DD

@InoMurko why did you close it?
On  the weekends, I was debugging spandex_ecto on childchain. I found that with default instructions from README it doesn't work, because current_tract_id is always nil. I found a workaround. I'll update my pr today


Replace python2-specific function with cython syntax.

This adds python 3 support.

Thanks for this and sorry for the delay. However I've merged in https://github.com/kti/python-netfilterqueue/pull/12 instead, which was a more thorough Python 3 fix.


Xander/examples move

Changes

Moves component variant examples from website folder to top-level directory, allowing them to be easily imported and used in other projects besides the docs website.
Testing

N/A
Docs

N/A

LGTM


Mouse fixes

Simplifies window refocus behaviour on desktop, blocks mouse source on PlayStation platform, enables direct mouse checking (via first player touchpad) on PlayStation when config is toggled on.

Looks good! Thank you (and @nkrapivin) for tightening this up


Windows: env var $FORTUNE_FILE not found by default

I installed the program via pip and downloaded your fortune cookies.
Now I can easily run fortune path/to/file and even fortune $FORTUNE_FILE as displayed on the screenshot. However, a good simple fortune fails to find the variable.
This is how I set the variable on my  $PROFILE, if it helps:
$FORTUNE_FILE = Get-ChildItem -Path "$env:HOMEPATH\dotfiles\docs\fortunes" | Get-Random | Select-Object -ExpandProperty FullName

It's great as it is, but maybe could you describe how to properly set up the environment variable on Windows? Thanks!!

Alright, thank you sir.


Bug related to subsets partition

Hello,
In class subsetParameters and function breakIntoSubsets, subsets are defined like g[m:-1:numSubsets,:,:].
However, for the last subset, the last element will be dropped in python, which makes an inconsistent subset.
For example,
x = range(16)
print(list(x[3:-1:4]))

gives [3, 7, 11].

You are absolutely correct, thanks for pointing this out!
I found and fixed this issue in the breakIntoSubsets function and the subsetParameters class.  If you want early access to these changes, you can pull from the champley_dev branch.  Otherwise this'll get merged into the main branch for the next release.


Resolve() on WIFI networks has varying results.

We are using Zeroconf to do service discovery of printer / scanner type devices.   I find that on LAN networks, the results returned by Resolve() are very consistent, and usually return within a few seconds of issuing the Resolve().   However, on WIFI networks, especially on Android/iOS, I am finding quite a bit of variance in what is found.   Sometimes I get a few devices, sometimes none, sometime lots.   And, it doesn't seem to matter what i set the discoveryTime value at.   If it doesn't find them in the first few seconds, longer discoveryTimes have no relevance.  As such, I find that I've had to implement a "continuous discovery" mechanism by which I just submit Resolve() requests every few seconds, and then aggregate the results and throw out duplicates.   I don't think this is how it should work, but perhaps this is what was intended?
Thanks
Jeremy

I've been experiencing the same issue. If I use Wireshark to observe the network after calling Resolve() I can see an mDNS response packet go out but the mobile devices seem to miss it quite frequently--I've put it down to poor multicast implementations. A possibly hacky solution would be for Zeroconf to send out a handful of lookups with each call to Resolve(), with the probability of missing all the response packets being very low.

I'm not really sure what the best fix is here if the issue is in the mobile devices themselves. As you mentioned @jeremycookhp, you could always call it multiple times and aggregate the results. If you use the IObservable version, Rx makes it really easy to combine many different invocations and return distinct results.
Probably using .Switch().Distinct()...

Hey Oren,
We consistently observe that regardless of the scan time specified, nothing really gets reported after about 3 seconds.   It would seem that a useful optimization to Zeroconf would be to have it internally run smaller duration Resolve() calls over the specified scan period.    Just a thought…
Jeremy
From: Oren Novotny<EMAIL_ADDRESS>Sent: Saturday, May 28, 2016 8:16 AM
To: onovotny/Zeroconf<EMAIL_ADDRESS>Cc: Cook, Jeremy L (Fort Collins<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [onovotny/Zeroconf] Resolve() on WIFI networks has varying results. (#47)
I'm not really sure what the best fix is here if the issue is in the mobile devices themselves. As you mentioned @jeremycookhphttps://github.com/jeremycookhp, you could always call it multiple times and aggregate the results. If you use the IObservable version, Rx makes it really easy to combine many different invocations and return distinct results.
Probably using .Switch().Distinct()...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/onovotny/Zeroconf/issues/47#issuecomment-222310771, or mute the threadhttps://github.com/notifications/unsubscribe/AQppaMZv2jkGFr9ZatRrgrFVmCHsA4Fnks5qGE48gaJpZM4IirBC.

Theoretically, most Zeroconf devices should be responding quicker than that -- it's not super clear to me that you need a long response time anyway. Are you finding that you get different results when you are constantly rescanning?

Yes, we get different results almost every time over a WIFI network.  Sometimes, no results at all.    Over LAN, it seems to be much more consistent.
Jeremy
From: Oren Novotny<EMAIL_ADDRESS>Sent: Friday, June 3, 2016 1:31 PM
To: onovotny/Zeroconf<EMAIL_ADDRESS>Cc: Cook, Jeremy L (Fort Collins<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [onovotny/Zeroconf] Resolve() on WIFI networks has varying results. (#47)
Theoretically, most Zeroconf devices should be responding quicker than that -- it's not super clear to me that you need a long response time anyway. Are you finding that you get different results when you are constantly rescanning?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/onovotny/Zeroconf/issues/47#issuecomment-223672487, or mute the threadhttps://github.com/notifications/unsubscribe/AQppaNzNg17rkxtAUjGgLYgk-zuYo8akks5qIIELgaJpZM4IirBC.

Maybe what's needed is a helper class that does this external to the core logic. The core logic does what it does, so there doesn't seem to be a good reason to commingle things.
I could imagine an IObservable<IZeroconfHost> UnreliableNetworkHelper.AggresivelyScanForThings() method that uses the existing methods but calls that repeatedly and dedups the results.

Yes, that seems like a logical place to do this.   I am guessing that other folks would take advantage of this as well, and it would alleviate clients having to do their own mechanisms to continuously refresh and aggregate the results.
Jeremy
From: Oren Novotny<EMAIL_ADDRESS>Sent: Friday, June 3, 2016 2:15 PM
To: onovotny/Zeroconf<EMAIL_ADDRESS>Cc: Cook, Jeremy L (Fort Collins<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [onovotny/Zeroconf] Resolve() on WIFI networks has varying results. (#47)
Maybe what's needed is a helper class that does this external to the core logic. The core logic does what it does, so there doesn't seem to be a good reason to commingle things.
I could imagine an IObservable UnreliableNetworkHelper.AggresivelyScanForThings() method that uses the existing methods but calls that repeatedly and dedups the results.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/onovotny/Zeroconf/issues/47#issuecomment-223682797, or mute the threadhttps://github.com/notifications/unsubscribe/AQppaED0v3pP8AOVFsZHIT85vsjeBZ8rks5qIIstgaJpZM4IirBC.

Here's what I'm thinking --
It'll return an IObservable<IZeroconfHost> when you call Foobar.CreateScanner()...
Then, when you call the Subscribe() method on the IObservable, it'll begin the scan. It'll only return distinct IZeroconfHost instances. When the subscription is Disposed, scanning will stop.
Open questions: How much configuration should that Create(..) method take? Does it need both Resolve and Browse or just one of them? Should it effectively mirror all of the parameters except the scan time or can it be simplified?
Thoughts?

Looks sound to me.   We are only using Resolve() since we know the service types in advance we want to scan for.   So I’d start with just that.   As far as other configuration, the only thing that it might need would be the retry loop time.  My investigation shows that everything is usually discovered in the first 3-4 seconds and nothing after that.  But you might consider offering that as an optional parameter that defaults to 4 seconds.   The other parameters can be mirrored.  FWIW, we only specify the service types, and the discovery time, and leave all the rest at defaults.
Thanks
Jeremy
From: Oren Novotny<EMAIL_ADDRESS>Sent: Friday, June 3, 2016 2:33 PM
To: onovotny/Zeroconf<EMAIL_ADDRESS>Cc: Cook, Jeremy L (Fort Collins<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [onovotny/Zeroconf] Resolve() on WIFI networks has varying results. (#47)
Here's what I'm thinking --
It'll return an IObservable when you call Foobar.CreateScanner()...
Then, when you call the Subscribe() method on the IObservable, it'll begin the scan. It'll only return distinct IZeroconfHost instances. When the subscription is Disposed, scanning will stop.
Open questions: How much configuration should that Create(..) method take? Does it need both Resolve and Browse or just one of them? Should it effectively mirror all of the parameters except the scan time or can it be simplified?
Thoughts?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/onovotny/Zeroconf/issues/47#issuecomment-223687386, or mute the threadhttps://github.com/notifications/unsubscribe/AQppaGJVYWUzw507O7OFcnNNZqdglEGtks5qII-RgaJpZM4IirBC.

It's building now, but look for 2.7.1 on the MyGet CI feed shortly. There's *Continuous methods on the ZeroconfResolver that will do this now.
I'm a bit hesitant to put it in permanently though because it's really just two Rx operators. That said, it may be common enough to leave this one scenario as baked in.

Thanks Oren, will test this out next week!
Jeremy
From: Oren Novotny<EMAIL_ADDRESS>Sent: Friday, June 3, 2016 7:12 PM
To: onovotny/Zeroconf<EMAIL_ADDRESS>Cc: Cook, Jeremy L (Fort Collins<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [onovotny/Zeroconf] Resolve() on WIFI networks has varying results. (#47)
It's building now, but look for 2.7.1 on the MyGet CI feed shortly. There's *Continuous methods on the ZeroconfResolver that will do this now.
I'm a bit hesitant to put it in permanently though because it's really just two Rx operators. That said, it may be common enough to leave this one scenario as baked in.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/onovotny/Zeroconf/issues/47#issuecomment-223727352, or mute the threadhttps://github.com/notifications/unsubscribe/AQppaC7jWxXSr5_eTfaLzTve2Gjlcxs0ks5qIND2gaJpZM4IirBC.

Hi Oren,
I tested today and this new mechanism seems to be working well.   We would use this if you chose to include it.
Thanks for your time on this.
Jeremy
From: Oren Novotny<EMAIL_ADDRESS>Sent: Friday, June 3, 2016 7:12 PM
To: onovotny/Zeroconf<EMAIL_ADDRESS>Cc: Cook, Jeremy L (Fort Collins<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [onovotny/Zeroconf] Resolve() on WIFI networks has varying results. (#47)
It's building now, but look for 2.7.1 on the MyGet CI feed shortly. There's *Continuous methods on the ZeroconfResolver that will do this now.
I'm a bit hesitant to put it in permanently though because it's really just two Rx operators. That said, it may be common enough to leave this one scenario as baked in.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/onovotny/Zeroconf/issues/47#issuecomment-223727352, or mute the threadhttps://github.com/notifications/unsubscribe/AQppaC7jWxXSr5_eTfaLzTve2Gjlcxs0ks5qIND2gaJpZM4IirBC.

That code is in the released bits on NuGet. I'll keep it around, but it just goes to show how Rx makes things easy :)


ADA IO errors

When I start synth with the following command: synth just-compile /usr/local/etc/synth/LiveSystem-build.conf, synth compiles fine for a few ports but at one point I get a continuous flood of ADA IO errors. At the moment these errors start occurring, synth just falls dead. The synth process keeps running but no more ports are building. Any ideas? Config files are shown in picture.

Log file:
00_last_results.log
My system specs are quite "strong" for a home server, 64GB ECC ram, 4 core 8 thread skylake xeon etc.
My swap space is however only 5GB (swap file). How could I go about and monitor if the swapspace gets full? Does synth gradually start using swap, or at one point it will hit swap for a large amount?

Not enough information.
Things like: Did you run out of swap space?
Do you have a "weak" machine, but have an aggressive configuration (e.g. many slaves + jobs per slave).
It would help to describe the machine and the configuration.
chances are you either ran out of memory or disk space.

Updated my first post with some information. Dont think its disk space related as I have about 400GB left on my nvme SSD.

My system specs are quite "strong" for a home server, 64GB ECC ram, 4 core 8 thread skylake xeon etc.
My swap space is however only 5GB (swap file). How could I go about and monitor if the swapspace gets full? Does synth gradually start using swap, or at one point it will hit swap for a large amount?

If you uses curses mode, the swap usage is displayed in realtime at the top of the screen.
If you use the text mode, you'll have to use swapinfo manually to check it.
5G is pretty much nothing.  The rule of thumb is use 4 x ram, so you'd be looking at a swap page of 64x4 = 256G.  I'd say you'd need at least 100G of swap (and may have to back off the builders/jobs).  Ideally you'd use a separate ssd for swap, but using a swapfile would be okay.
My guess is you're running out of swap really quick on something like llvm or gcc or chromium

any news on this?
You really don't have an aggressive configuration.  4 builders and 2 jobs per builder should be a piece of cake for your machine.  And you shouldn't be dipping into swap unless you are building something like llvm or chromium.  If it happens again, note which ports are being built.

I tried rebuilding my build-list yesterday, no luck in trying to reproduce the error.
Like you just said, it didn't even touch swap yesterday.
However, it might be port related, I saw that devel/ninja was building when the error occured (shown in log file). When I let it rebuild my list yesterday, devel/ninja wasnt sucked in to be build by synth. Maybe it is a specific error with a port (devel/ninja). Strange that it didn't get sucked in again tho (only thing I did was update ports tree and add a few more default_version options in LiveSystem-make.conf, which shouldn't impact dependencies in a direct way (I think)).

Yea ... no more ADA IO errors ... Strange...
I have a few ports not building tho, could you help me troubleshoot some of them?
net___samba46.log
sysutils___uefi-edk2-bhyve.log
sysutils___uefi-edk2-bhyve-csm.log
databases___py-MySQLdb.log
devel___libvirt.log
I used the following entries in LiveSystem-make.conf:
DEFAULT_VERSIONS+=mysql=10.2m
DEFAULT_VERSIONS+=php=7.1
DEFAULT_VERSIONS+=python=3.6
DEFAULT_VERSIONS+=samba=4.6
DISABLE_LICENSES=yes
OPTIONS_UNSET+=X11
My host
As I read in the enormous thread at forums.freebsd.net, synth doesnt suck in anything from the hosts make.conf (this is still accurate right?).
I feel like there is an issue with python. My goal is to build every port against the most recent distribution of software. Like php71 instead of php56, python3.6 instead of python2.7 etc ...
This should be possible using ports no? I also have a few ports not building because of USE_PACKAGE_DEPENDS_ONLY. Does synth set this automatically? I have no such entry in make.conf, altought when checking logs, it is clear that it is set to yes.

Does synth set this automatically?
yes.  It means "stop if this package doesn't exist".

I looked at the first log and see couldn't find a python27 package.  So the hard-change to python3.6 is probably what caused it.
the whole py27/py36 thing is hacked in ports and poudriere brought in another hack to deal with it.  I'm not going to bring in that hack because it goes away when flavors are incorporated (which removes the original hackage)
I guess you have to either:

go back to python27 (remove the DEFAULT VERSION of python 3.6)
build these particular ports either manually or via poudriere

libvirt is a different problem:
mv util/virkeycode-linux.7-t2 util/virkeycode-linux.7
Can't open util/virkeycode-linux.pod: No such file or directory at /usr/local/bin/pod2man line 70.
not sure what's causing that.

Yea most ports had an issue trying to compile against python 3.6, I removed the "DEFAULT_VERSIONS+=python=3.6" line and everything builds fine except one. py-MySQLdb doesnt want to build in synth. Same error as before as seen in attached logfile:
databases___py-MySQLdb.log
I have found this open issue: https://github.com/farcepest/MySQLdb1/issues/132
Do you think I'm dealing with the same problem?
I find it strange that the py-MySQLdb port compiles fine on my host system, while compiling in synth it fails to compile. I find this strange as I have the same version of MariaDB installed (10.2.9; as package on host system, and 10.2.9 build from ports in synth). I even have the exact same make.conf entries as in LiveSystem-make.conf

try adding "MAKE_JOBS_UNSAFE=yes" to the databases/py-MySQLdb/Makefile file and try again

Alright, that port doesn't matter to me anyway, I have disabled python-poller in librenms port. I really love synth tho. <3 Awesome program. Just one more question which I couldn't find anywhere.
What is the proper way to launch synth in background? Using cron?
When I issue: synth just-build /usr/local/etc/LiveSystem-build.conf & to launch in background I get quite a lot of echos on my screen of my ssh session.

hmmm, I thought that was a FAQ entry but it's not.
generally you have 2 profiles: one with ncurses and one without. (use this one for cron)
You set the profile for cron, something like "/usr/bin/env SYNTHPROFILE=cron /usr/local/bin/synth ... > /dev/null" or something like that.

Atleast one usefull thing that came out of this thread for you; an undescribed FAQ :)
Thanks for the help!


RESTIC_REPOSITORY

As explained in https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html#, the env RESTIC_REPOSITORY can replace $DESTINATION assembly.

Done


Pull Requests can be merged without review

I'd like to change this setting, but I don't have the appropriate access!
This is mainly here so that I don't forget!

Reviews are now required to merge to master


Error message on CLOSEALL (-force)

I used the CLOSEALL option in the GUI and get this message:
[lncli] flag provided but not defined: -force

As far as I see it in BBcloseAllChannels.sh:7 it should be command="lncli --chain=${network} closeallchannels --force" , right?!

In line BBcloseAllChannels.sh:7 it is at the moment:
command="lncli --chain=${network} --force closeallchannels"
I will change it to - hope that works better - have to testing.
command="lncli --chain=${network} closeallchannels --force"

Yes, that's what I did and it works.