[nri-metadata-injection] only 1 cert is needed? but 2 certs are generated?

Bug description
multiple certificates are generated, including a root ca, and a certificate based on that CA, however, the root certificate is what is injected into the webhook, not the webhook certificate. Additionally, I think that the "job" that appears to "patch" the webhook is superfluous. Though, maybe it still exists for backwards compatibility?
Version of Helm and Kubernetes
n/a
Which chart?
nri-metadata-injection
master branch
What happened?
n/a
What you expected to happen?
n/a
How to reproduce it?
n/a
Anything else we need to know?
Surprise us!

Hello, yes there are two certificates, one is used in the deployment the ca certificate is used in the MutatingWebhookConfiguration to validate the requests.
Why is that superfluous?  It is needed to patch the ca, is there a better option from your point of view?
The approach is based on this opensource repo https://github.com/jet/kube-webhook-certgen

@paologallinaharbur do you know the specifics of why the deployment requires a cert as well?
I'm just looking at other apps I have, such as the AWS Load Balancer Controller, and Datadog. They all have a mutating and/or validating webhook, and all use cert manager, and additionally, it looks like the all require just 1 cert, which makes the deployment simpler.

The deployment uses the cert to sign all requests, on the other hand the ca is used to validate that certificate.
    caBundle: "Ci0tLS0tQk...<`caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate>...tLS0K"

https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/
The caBundle can be left empty in case the deployment uses a "TLS certificate to be verified using system trust roots" and therefore that extra one is not needed. Since in this case a different CaRoot is used both are needed.

Closing it for now, let me know if you have further doubts or a better architecture to propose :)

AFAIK it is already done: https://github.com/newrelic/k8s-metadata-injection/blob/main/charts/nri-metadata-injection/templates/admission-webhooks/mutatingWebhookConfiguration.yaml#L5-L9
Closing.


Better exploration-based achievements

Some suggestions:
I don't need no sunlight

Discover 10 new locations at midnight.

Morning walk

Discover 10 new locations in the morning.

Child of the night

Discover 5 new locations during the nighttime (the dark PartOfDay values).

Child of light

Discover 5 new locations during the daytime.

Insomniac

Discover 10 new locations in the night.

Remember: at midnight, dawn, noon, dusk. But in the night, morning, afternoon, evening.

I would like to work on this issue.

No, nothing in particular. Feel free to add other achievements if you come up with any and to not implement all of these if you find an issue.

Hmm, looking it over this seems pretty difficult. The ExplorationStatisticsEntry doesn't keep track of the partOfDay when the location is found. If I add a PartOfDay field to ExplorationStatisticsEntry I would be adding/editing code in a lot of places to store the new 'PartOfDay' field...
Should I continue on like this? or is there a different solution I am missing?

@bernardosulzbach Hmm, looking it over this seems pretty difficult.

I think you will be OK.

Should I continue on like this? or is there a different solution I am missing?

It would probably be better to store a org.mafagafogigante.dungeon.date.Date. We can derive part of day from dates, and it allows for more achievements to be written using date-based rules in the future. I am unsure about the amount of work, but I don't think it is too difficult.

@bernardosulzbach Hmm, looking it over this seems pretty difficult.

I think you will be OK.

Should I continue on like this? or is there a different solution I am missing?

It would probably be better to store a org.mafagafogigante.dungeon.date.Date. We can derive part of day from dates, and it allows for more achievements to be written using date-based rules in the future. I am unsure about the amount of work, but I don't think it is too difficult.

OK, Ill try that. Thanks.


Fix Update

Added: EmoteColor to players to get Client-Side emote color of the player. (Issue #358)
Note:	To set emote colors for players, the players use emote speech at once.
If the player change his emote color, he need to use emote ": message" to sphere override his default emote color.
Also, make sure Player has no EmoteColorOverride on himself to make sure emote color change for player.
Fixed: Stoned, paralyzed, sleep characters continue attacking. (Issue #409)
Fixed: Can't attack again after the characters stoned. (Issue #432)
Possible Fix: COLOR variable change the color of human if the human is shop keeper (vendor). (Issue #397)
Fixed: Unreferenced variables for new GMPage system to avoid possible issues.
Fixed: Archery bug occurs when the attacker is stoned. (Issue #432)
Fixed: Paralyze causes the attacking issue. (Issue #342)

Because of the conflict script, seems like I made a ";" mistake while cleaning unnecessary lines, and I can't fix it anymore...

Include invul flag too?

Yes, when the target is goes invul (which players shouldn't be invul) it cancels the target, so after invul/stone you can still continue attack with dclicking the target. I haven't make it to wait for attack like invis/hidden because stone and invis is unexpected behaviour for players.


set minimium idle count on datasource correctly

Closes #2459 on 5.0x
set minimium idle count on datasource correctly

whoops, i will fix, having git problems


AttributeError: 'NoneType' object has no attribute 'post'

Attempting to run and immediately hit with this error.
Seems like:
csrf = transport.session.post("https://duneanalytics.com/api/auth/csrf").json()['csrf'] is returning a NoneType object.

also getting this error

me too

urls changed.
Try https://dune.xyz, instead of https://duneanalytics.com

I changed the url to https://dune.xyz still getting the error. Any idea?

I changed the url to https://dune.xyz still getting the error. Any idea?

Even after changing the urls, the issue persists:
/usr/local/lib/python3.7/dist-packages/dune_analytics/init.py in authenticate(self, username, password)
17         transport = self.client.transport
18
---> 19         csrf = transport.session.post("https://dune.xyz/api/auth/csrf").json()['csrf']
20         r_auth = transport.session.post("https://dune.xyz/api/auth", data={
21             "csrf": csrf,
AttributeError: 'NoneType' object has no attribute 'post'

having the same problem. anyone knows how to fix this?

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
LittleAirCC, @urugang, @sistemd, @keeganmccallum, @kirkdurgwillyk, @jjranalli, @Los-had, @skvorn, @huyhduong1401, @TenviLi, @gballet, @touhonoob, @Patrik-Stas, @doctor-pi, @RohanKapurDEV, @shochmuth, @spartucus, @dmarzzz, @0xOsiris, @hexiaoyuan


Feature Request: Upgrading rancher should display the status of the upgrade

Rancher Version: 0.63.1
Steps to Reproduce:

stop rancher/server.
docker pull rancher/server:latest
start rancher/server

Results:
Rancher web UI is down (returns 502)
Expected:
Rancher shows what is going on behind the scenes: downloading something? running db upgrades? something failed?

Closing due to inactivity, please reopen if you think this is still relevant to current releases & important.


Experimental feature: Implicit remoting batching perf improvement

PR Summary
Implicit remoting is a feature in PowerShell where commands intended to be run on remote machines via Invoke-Command, are wrapped in proxy script commands.  That way the remote command can be run by simply typing it on the command line, and the proxy script takes care of invoking it on the remote target.
The Import-PSSession cmdlet creates proxy command scripts for commands or module commands to be run on remote targets.
This is very convenient, but there can be performance problems with proxy commands.  If the output of one proxy command is piped to another proxy command, then the data makes an unnecessary round trip to the client and back to the target machine.  For example:
# Perf issue.  All data from Get-ProcessProxy is returned to the client and then immediately sent back to remote machine for the Select-ObjectProxy cmdlet.
PS > Get-ProcessProxy | Select-ObjectProxy -Property Name,Id

If there is a lot of data involved, or the data is complex (such as a Process object), then the round tripping of data can take up a significant amount of time.
This experimental feature examines a command typed in the shell, and if all the commands are implicit remoting proxy commands that form a simple pipeline, then the commands are batched together and invoked as a single remote pipeline.
Example:
# Create remote session and import TestIMod module
$s = nsn -host remoteMachine
icm $s { ipmo 'C:\Users\user\Documents\WindowsPowerShell\Modules\TestIMod\TestIMod.psd1' }
Import-PSSession $s -mod testimod

$maxProcs = 1000
$filter = 'pwsh','powershell*','wmi*'

# Without batching, this pipeline takes approximately 12 seconds to run
Measure-Command { Get-AllProcesses -MaxCount $maxProcs | Select-Custom $filter | Group-Stuff $filter }
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 12
Milliseconds      : 463

# But with the batching experimental feature enabled, it takes approximately 0.20 seconds
Measure-Command { Get-AllProcesses -MaxCount $maxProcs | Select-Custom $filter | Group-Stuff $filter }
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 209

As seen above, with the batching experimental feature enabled, all three implicit remoting proxy commands, Get-AllProcesses, Select-Custom, Group-Stuff, run in the remote session and the only data returned to the client is the result from the pipeline.  This greatly decreases the amount of data sent back and forth between client and remote session, and also greatly reduces the amount of object serialization and de-serialization.
To enable this feature, create this file as experimental.json
            {
                "ExperimentalFeatures": [
		  "PSImplicitRemotingBatching"
                ]
            }

Then start PowerShell with: pwsh -settingsfile ./experimental.json
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[x] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

@PaulHigin Can we add some tests here as well?

Since this is a perf improvement for special command lines, I don't see a good way to add reliable tests.

Actually, offline we decided that adding a test hook to test the TryRunAsImplicitBatch() method should be sufficient to test the code path.  I'll work on adding that.

Does this avoid the intermediate serialization step entirely?  If so, then it’s more than a perf improvement, it also enables things that are currently problematic.  In many cases a dead serialized property bag isn’t valid pipeline input, but a live object is.  So Get | Set scenarios that didn’t work with implicit remoting might start to work.

@iSazonov  Yes, batching will work for any remote target that supports implicit remoting.

@mattpwhit, Whoops missed this comment.  Yes, batching the pipeline means "live" objects are passed and implicit commands that didn't work with de-serialized objects will likely work as batched.

@adityapatwardhan  Can you update your review?

@adityapatwardhan  Can you please merge these approved changes?  We have users who would like to try out the experimental feature.

@adityapatwardhan   Thanks!

It will be nice to share config file where the feature is turned on.

@iSazonov I created new issue to improve experimental features experience https://github.com/PowerShell/PowerShell/issues/8155

@SteveL-MSFT Thanks!
I meant that attaching a sample file to the PR will help users.

@iSazonov added example to the PR description

Something is wrong here.
PS C:\temp\PowerShell-6.2.0-preview.859-win-x64> Get-ExperimentalFeature
Name                                Enabled Source                              Description

PSImplicitRemotingBatching             True PSEngine                            Batch implicit remoting proxy comman...
PS C:\temp\PowerShell-6.2.0-preview.859-win-x64> Import-PSSession $s -CommandName get-Process -Prefix r -verbose -AllowClobber
ModuleType Version    Name                                ExportedCommands

Script     1.0        tmp_a4ox23yj.min                    Get-rProcess
PS C:\temp\PowerShell-6.2.0-preview.859-win-x64> get-RProcess |where Name -like *ss
PS C:\temp\PowerShell-6.2.0-preview.859-win-x64> $test = get-RProcess
PS C:\temp\PowerShell-6.2.0-preview.859-win-x64> $test |where Name -like *ss
NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName

 25     1.90       1.86       7.20     752   0 csrss
 32    11.32       5.30      72.31     868   1 csrss
 85    19.81      24.61     935.81     104   0 lsass
  3     0.57       0.62       0.27     416   0 smss

PS C:\temp\PowerShell-6.2.0-preview.859-win-x64>

You need to enable the feature via the powershell.config.json file.
PS > Get-ExperimentalFeature

Name                                Enabled Source                              Description
----                                ------- ------                              -----------
PSImplicitRemotingBatching             True PSEngine                            Batch implicit remoting proxy comman...

I am not sure about applying a prefix to the proxy command, it seems like that should be Ok.  But the other two involving assignment and piping from a variable fail the "simple pipeline" checker used to determine if batching is allowed.
I am adding a verbose output that reports the checker errors so it is easier to determine if the command line is batched or not, and make it easier to address these scenarios.

Whoops, left out the powershell.config.json example:
{
    "Microsoft.PowerShell:ExecutionPolicy":"RemoteSigned",
    "ExperimentalFeatures": [
      "PSImplicitRemotingBatching"
    ]
}

Sorry that the formatting got screwed up but if you look at my post, the very first command confirms that the feature is enabled.

@jpsnover I reformatted your comment by wrapping in:
    ```powershell
    <powershell stuff here>
    ```

Looks like get-RProcess |where Name -like *ss failed to return anything.  I just build master which has @PaulHigin's commit and works for me:
PS /Users/steve/repos/PowerShell> Get-rProcess | where { $_ -like "*pwsh*" }

 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
     50    49.86      81.03      22.25    3728   0 pwsh
     64    49.59      96.34       2.48   10152   2 pwsh
     63    47.06      92.74       2.36   14056   2 pwsh

Turning on verbose output helps to see what is going on:
$VerbosePreference = "Continue"
Get-rProcess | where Name -like *ss
VERBOSE: Implicit remoting command pipeline has been batched for execution on remote target.

This was batched successfully, however, Get-rProcess proxy command is not on the target machine.  I forgot to merge error stream so this error is not showing.  It is easy to fix the error stream merge, but I have to think about how to convert Get-rProcess proxy wrapper command to the name of the actual wrapped command.
$test = Get-RProcess
$test | where Name -like *ss

Neither of these are pipelines that round trip data and don't need to be batched.
However,
Import-PSSession $s -CommandName Get-Process -AllowClobber
$VerbosePreference = "Continue"

Get-Process | where Name -like *ss
VERBOSE: Implicit remoting command pipeline has been batched for execution on remote target.

$test = Get-Process | where Name -like *ss
VERBOSE: Command is not a simple pipeline and cannot be batched.

100 | Get-Process | where Name -like *ss
VERBOSE: Command pipeline not supported for implicit remoting batching. : PipelineStartingWithExpressionNotSupported

The last two lines are not being batched because they do not pass the simple pipeline check.  They are more complex and require parsing the AST and re-building complex commands, but I think they should be supported.


Publish to email

It's possibly trivial, but it would be very useful if this had the ability to publish to an email address, for emailing draft documents.
I'd imagine the best way would be to have it done as a proxy, like ssh, and just not run a public proxy for it so that there's no open relay issues.

If I had the ability to publish to email-say, open doc in a new gmail email inside of chrome, I would be using this almost every day for my publishing.

Closing as too old.


Add Filters to URL and Browser History support (Closes #64)

Now the application works with URLs like /?levels=1,5,9 or /?levels=1, setting the filters accordingly. It also adds these URLs to the browser history once the user clicks the filters.

This is sweeet @joaolucasl, thank you!  😁


feat: query user by userId

see: https://github.com/casdoor/casdoor-go-sdk/issues/25

/cc @hsluoyz


Assertion errors catched in next test when mocha timeout is applicated

Hi guys,
I'm having troubles with assertions in mocha, which are thrown after mocha timeout and are catched in next running tests.
Example code:
file testA.js
var assert = require('assert');

module.exports = {
	'Test A': {
		before: function (done) {
			done();
		},
		'Test step': function (done) {
			this.timeout(5000);
			setTimeout(function (err) {
				assert(false, 'My assertion error!');
				done();
			}, 10000);

		},
		'Test step 2': function (done) {
			done();
		},
		after: function (done) {
			done();
		}
	}
};

file testB.js
module.exports = {
	'Test B': {
		before: function (done) {
			done();
		},
		'Test step': function (done) {
			this.timeout(25000);
			setTimeout(function (err) {
				done();
			}, 20000);
		},
		'Test step 2': function (done) {
			done();
		},
		after: function (done) {
			done();
		}
	}
};

If I run mocha -u exports . I get:
 Test A
    1) Test step
    ✓ Test step 2

  Test B
    2) Test step
    ✓ Test step 2

  2 passing (10s)
  2 failing

  1) Test A Test step:
     Error: timeout of 5000ms exceeded. Ensure the done() callback is being called in this test.

  2) Test B Test step:

      Uncaught AssertionError: My assertion error!
      + expected - actual

      -false
      +true

      at null._onTimeout (TestA.js:15:5)

Problem here is a fact, that assertion error is in testA and I don't want to have it in testB.
Do you have any suggestion how to solve this?
Using:
mocha 2.4.5 with node LTS v4.4.1

Really nothing?

Sorry @mpetrak, known bug: https://github.com/mochajs/mocha/issues/2137#issuecomment-199100394.
You can try using Promises or passing the error through the done callback.

Thank you @dasilvacontin

No worries. We could do a better job on the timeout exceeded error message and explain that this scenario can happen.

Unrelated to retries, but it's a common enough issue. I believe boneskull is looking into alternatives to domains to hopefully make this a bit easier. If you find it difficult troubleshooting a particular error though, here's a workaround for a more accurate error message:
'Test step': function (done) {
    this.timeout(5000);
    setTimeout(function (err) {
        try {
            assert(false, 'My assertion error!');
        } catch (e) {
            done(e);
        }
        done();
    }, 10000);
},


Use annotations in floating interdomain examples

Description

Change examples to use webhook+annotations instead of patching bare nsc-kernel.
I also renamed floating_interdomain into multicluster and renamed examples related to this suite.
Issue link

https://github.com/networkservicemesh/deployments-k8s/issues/7673
How Has This Been Tested?

[ ] Added unit testing to cover
[x] Tested manually
[x] Tested by integration testing
[ ] Have not tested

Types of changes

[ ] Bug fix
[ ] New functionallity
[ ] Documentation
[x] Refactoring
[ ] CI

Could you also rebase the branch?

@denis-tingaikin done.
I renamed namespaces, updated use-case folder names, and renamed floating_interdomain folder into multicluster, as we discussed.

@d-uzlov Nice! Seems like we need one more rebase

@denis-tingaikin, done


[fix] [client] Fix producer/consumer stop to reconnect or Pub/Sub due to IO thread race-condition

Motivation
Issue 1: see the test testUnstableNetWorkWhenCreatingProducer
The producer fails to start if the network is unstable.

time
socket closed
start producer

1

get a pooled connection from the pool

2

before registering the producer to the connection

3
socket closed

4
reconnect all producers, which is empty now

5

register the producer to a closed connection

6

failed to send Command.newProducer to brokers

7

users receive an error io.netty.channel.StacklessClosedChannelException: null

Issue 2: see the test: testSendAfterCreateProducerAsync

Start a producer/consumer async
Call a sync method in the callback method of method createAsync, such as producer.send, and consumer.receive.
The IO thread encounters a deadlock

Modifications

fix the issues above

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: x

You call the sync method in the async callback thread, this is an incorrect way. I don't suggest that you switch the thread to complete the callback.

@nodece please provide the exact code location that you are referring to. Thanks!

It looks the CompletableFuture.supplyAsync(() -> clientCnx, clientCnx.ctx().executor()); can fix this issue, but I don’t understand this fix way.

Indeed, it would be more consistent to use thenComposeAsync to switch the executor for all code branches instead of just a single branch.

You call the sync method in the async callback thread, this is an incorrect way. I don't suggest that you switch the thread to complete the callback.

@nodece please provide the exact code location that you are referring to. Thanks!

        client.newProducer().topic("test").createAsync().thenApply(producer -> {
            producer.send("hello-1".getBytes(StandardCharsets.UTF_8)); // incorrect, which will block the pulsar client thread.
            producer.sendAsync("hello-1".getBytes(StandardCharsets.UTF_8)); // correct
        });

User should not call a sync method in the callback of the async method.

+1


Troubleshooting needs to mention php-mbstring

This is not installed by default with a standard PHP environment (at least on Ubuntu).
So do call this out as potential issue.

Can you open a PR for this?
There really isn't any such thing as a standard PHP environment. If you could take a swag at listing the extensions you are aware of in a PR, that would be helpful. :)


Module or jsnext:main in package.json

Since this is a Typescript app, can you distribute es5 code (es5 target) with es2015 modules in addition to the commonjs modules you distribute?
Set the moduleResolution to node as well to make everything work well.
jsnext:main and module are the fields that point to the entrypoint for the es5 code with es2015 modules. Angular uses module and it seems most bundlers look for module, then jsnext:main, then main in that order.
Happy to help with the process if needed.
Thanks,
Dan

Open to pull requests :-)

Sorry, no time to help. I submitted this same issue to about 20 popular Angular 2 plugins.
I'll make some docs to make it easy.  Right now your lib is not tree shakable and ships commonjs code instead of ES2015 code. Not the end of the world but not optimal either.
Thanks,
Dan

@nraboy I will take a look on that for you when I have a time and open a PR. This will let the lib organized and better to use with a single endpoint with all the es2015 compiled.

@nraboy  I think @stalniy already did that on hist fork, am I right?

Frankly speaking I haven't done this just because we are still on Angular rc.4 . In this week I plan to upgrade Angular and will probably do some stuff on this library as well


Add --hook-parallelism flag

Add --hook-parallelism flag to helm deployment hooks but not the testing hook
What this PR does / why we need it:
Adds hook parallelism with a default of 1 as a flag for applicable commands. Does not add parallelism for test hooks as that seems to be the reason why this discussion was closed but I think there is still value having deployment hooks work in parallel
Special notes for your reviewer:
Based off of https://github.com/helm/helm/pull/8946 by abaehremc and https://github.com/helm/helm/pull/7792 by akhilles
If applicable:

[ ] this PR contains documentation
[x] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

Signed-off-by: Jeff van Dam<EMAIL_ADDRESS>

The changes here are significant. It might be worth resurrecting the HIP.
For example, an alternative proposal would be to run hooks with equivalent weight in parallel. Point being that design discussion can happen before implementation.

Any progress on this?

Would be awesome to see this implemented.

The changes here are significant. It might be worth resurrecting the HIP.
For example, an alternative proposal would be to run hooks with equivalent weight in parallel. Point being that design discussion can happen before implementation.

HIP created to try progress this issue: https://github.com/helm/community/pull/349
Referenced existing HIP is closed and was more focused on test hooks so I though it better to create a new one


Publish to npm the latest code version

Could you please publish the latest code version v1.0.2 to NPM (https://www.npmjs.com/package/leaflet-fullscreen). As I see, there are several important changes in the code repository. We have some bugs which will be fixed with code updating on npm.
Reason: the last published version is dated 2 years ago (v1.0.2)
Thanks!

+1

+1


Sending stickers

How to send stickers

you should implement it in your frontend, if you are using the project wppconnect-frontend you will soon get this option

Please see this in documentation.
Link one https://wppconnect-team.github.io/wppconnect/classes/Whatsapp.html#sendImageAsSticker
link two https://wppconnect-team.github.io/wppconnect/classes/Whatsapp.html#sendImageAsStickerGif


[Eslint] detect react version

[x] I have followed (at least) the PR section of the contributing guide.

@eps1lon yarn lint fails for me without this change.
Fragments are only supported starting from React v16.2. Please disable the react/jsx-fragments rule in ESLint settings or upgrade your version of React.
Took advice from here

https://github.com/mui-org/material-ui/pull/20124 added entry in .eslintrc.js
https://github.com/mui-org/material-ui/blob/35cdef7fae679c39d9ae73ee708554214e60bc9b/.eslintrc.js#L67

Try yarn install before yarn lint. We didn't use react < 16.3 for months. You probably had a very old version checked out when running yarn install

I checked node_modules and I had react/react-dom version 16.13.0.
yarn install did work though.
Bizarre

Might also be an issue with node_modules/.cache or .eslintcache.


added table comment to Table Info in SQLDatabase

Description
In this PR, I've enhanced the get_single_table_info method in the SQLDatabase class. Now, apart from returning table's column and foreign key information, it also fetches and includes the table's comment if it exists. The comment is retrieved using the get_table_comment method from the _inspector object and appended to the output string. This additional information will provide more context about the table when this method is used.
Fixes #11075
Version Bump?
Did I bump the version in the pyproject.toml file of the package I am updating? (Except for the llama-index-core package)

[ ] Yes
[x] No

Type of Change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Added new unit/integration tests
[ ] Added new notebook (that tests end-to-end)
[ ] I stared at the code and made sure it makes sense

Suggested Checklist:

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added Google Colab support for the newly added notebooks.
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] I ran make format; make lint to appease the lint gods

@sumanmichael could you help fix the unit tests

If a SQL dialect did not support table comments, a NotImplementedError would be raised. Ref
Handled with a try-except


Migration plan wizard: source/target provider fields. RFE?

In the Migration Plan wizard, General screen, I was wondering whether we should rethink the names of the source provider and target provider fields in the future.
If I, as a user, were to select a "source provider", I would expect to see VMware or RHV. I would expect the "target provider" to be OCPv.
Would a term like "source data center" / "target data center" make more sense? "Provider" does not seem to be the right term in this context.

We use "provider" pretty universally to refer to the environment being migrated from/to. We'd have to examine some text in other places as well. cc @vconzola

@apinnick Not sure I understand. The list contents for Source provider and Target provider are the names of the VMware and OCPv providers from the Providers page. As Mike mentioned, if we changed it here we'd have to rename the Providers page and other places "providers" is used in the UI.

"Provider" is also the term used by CloudForms for these same resources, which is why we called them that in IMS.

"Provider" is also the term used by CloudForms for these same resources, which is why we called them that in IMS. @apinnick I would call what you're expecting to be a "Provider" a "Provider Type".

OK, that makes sense. I'll close this issue.


Cannot import new component

When i create a new component with the 'ng generate component' command,  the import is added to app.module.ts but when I use the component selector in the application the page renders a white screen with no error.

@base64, if that component is shared then add in shared module/folder and declare in src/app/shared/shared.module.ts module, and then use it where ever do you want to.


PNG logos generated via website appear to be fuzzy

Using this command:
curl https://nf-co.re/logo/nanodemux?w=600 --output nfcore-nanodemux_logo.png
Generates the image below:

I have now! So its probably something to do with the scaling then.

I guess 600 pixel is too small, 800 seems to be a good starting point, but all our logos have different width, wouldn't it be better to have a sensible fixated height instead ?

Yes it’s definitely the scaling. I assumed that the 600px was a good width for the readme that isn’t full width.. It’s not just the width though I think, I think that the process of scaling the image that is making it look crappy.


options.go seems needlessly complex

Why does it have all these functions that only fill out individual fields of the TraceOptions struct?  Passing in a struct for initialization could work but then means that users can then dynamically modify the internals and then you need unnecessary locks, which perhaps isn't what we'd want.
You can find more about them at https://dave.cheney.net/2014/10/17/functional-options-for-friendly-apis
and for an example that might be closer to you at Google, here is a bunch of Google API client options https://godoc.org/google.golang.org/api/option
and in gRPC please see https://godoc.org/google.golang.org/grpc#DialOption and search for the prefix func With
/cc @basvanbeek @zombiezen

People needing to use structs / explicit parameters for config options can do so like this:
options := ocsql.TraceOptions{RowsClose: true}
driverName, err := ocsql.Register("driver", ocsql.WithOptions(options))

should not require any locking. If you pass a pointer to it then there could be some problem.

In deed, so sorry if am preaching to the choir but your last sentence captured the essence of my caution about locking which is that if you are passing a struct with many fields, it is useful to pass it by reference i.e. as a pointer, in order to save on memory wastage from copying -- in most cases such as even this, as you can see there are many fields in the struct.

Anyway, thanks for explaining. The post by Dave Cheney got me thinking, and I'll probably try using this idea.

Anytime, we are quite excited to see your work and see your project using ocsql and OpenCensus as well. It is a pleasure to collaborate with y'all! Great to hear you liked the reference post.


Minor Java source code changes for better lisibility

Thank you for the extra effort, but I am afraid I can not merge this pull request since the majority of changes is in conflict with Java code conventions and your changes would be discarded if someone reformatted the code.


Trigger release pipeline from build - Variabile Input

Try to trigger a Release pipeline from yaml build pipeline I have to pass parameter through VariableImput json param but I Don't understand how to pass json, es. { 'version' : 'x.y.z' }

Extension: Trigger Azure DevOps Pipeline
Version: 2.0.6

passing VariableInput: '{''version'' : ''x.y.z''}'
It's returns:
The release name -$$REV1$$ [refs/heads/*] contains invalid character(s). Characters which are not allowed include '"', '/', ':', '', '', '|', '?', '@', and ''.
Trying with different pattern it returns:
##[error]Supplied json for the variables is not in the correct format!
How can I resolve the issue?

The release variable should be in the format: {'name' : 'test', 'newValue' : 'test'}

@garcia117 Could you please share your example of pipeline how you are using this passed variable in parameter of pipeline that is being triggered ?
I have same requirement as I need to pass  'isRelease' parameter to my main build pipeline and values could be 'PRERELEASE, PATCH, MINOR or MAJOR'


[Dynamic Links] Deeplink always null because FirebaseApp.configure() is are never call?

Describe the bug
I follow the installation and configuration instructions for the Flutterfire plugin from https://firebaseopensource.com/projects/firebaseextended/flutterfire/packages/firebase_dynamic_links/readme.md/. But, deeplink is null.
final Uri deepLink = data?.link; /* here link is always null */

If you add a call, then a deeplink will be received.
FirebaseApp.configure() /* for Swift. For ObjectiveC call [FIRApp configure]; */

That instruction does not describe any additional steps, such as these, for example https://firebase.google.com/docs/dynamic-links/ios/receive (steps 4, 5). But at the same time, the plugin automatically performs steps 6, 7.
It may be to add Firebase initialization to the Flutterfire plugin, or add the need to call initialization to get a deeplink in the Flutterfire documentation?

Appears from the readme that there's two parts two parts to handling the link. onLink for when app is in background, so I would think getInitialLink() would be for when the app was not running in background. So if your app was opened when running in background then dynamiclink.link would have the link and data.link would be null.

To receive a dynamic link, call the getInitialLink() method from FirebaseDynamicLinks which gets the link that opened the app (or null if it was not opened via a dynamic link) and configure listeners for link callbacks when the application is active or in background calling onLink.

No, the application is installed and launched for the first time.

Hi @achubutkin
can you please provide your flutter doctor -v
and your flutter run --verbose?
Thank you

Hi @iapicca yes, of course (FirebaseApp.configure() added in AppDelegate.swift)
output.log
flutter doctor -v
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15 19A583, locale en-KZ)
    • Flutter version 1.12.13+hotfix.5 at /Users/default/downloads/flutter
    • Framework revision 27321ebbad (3 weeks ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/setup/#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, set ANDROID_HOME to that location.
      You may also want to add it to your PATH environment variable.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3, Build version 11C29
    • CocoaPods version 1.8.4

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/setup/#android-setup for detailed instructions).

[!] VS Code (version 1.41.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (1 available)
    • iPhone X • 96C1CBFD-70F2-4697-921E-19FDE0F62B9D • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-4 (simulator)

! Doctor found issues in 3 categories.

flutter run --verbose
Please, see attachment file

Hi, I am facing the same issue, adding this FirebaseApp.configure()  in AppDelegate is not working  for me. @achubutkin can you help me to resolve this issue? I will be very thankful to you

This should no longer be an issue in the latest FF, Firebase Core is automatically initialized on native sdks before you call initialize in Dart.
Updated documentation: https://firebase.flutter.dev/docs/installation/ios


[WIP] print debugging git #25

Turns out this wasn't a problem here. Fixed by ONSdigital/sdg-data#32


Make the additional text for Max privacy transactions as it's done for regular

Make the additional text for Max privacy transactions as it's done for regular

There is no any additional text for max privacy transactions:

Let's add the same text as for regular transaction: The transaction is usually expected to complete in a few minutes.

Checked on build 5.2.9709.3260


[Suggestion] Guarantees for Compatibility Level during upgrades

I cannot find words around a guarantee on application behavior when upgrading from one server to another while retaining compatibility level.
Query plan protection only gives a guarantee on in-engine behavior, and not on the expected client behavior.
Scenario:
Assuming we have DB1 living on Server1(2008) on compat 100 and DMA comes back clear, we move DB1 to Server2(2017).
Questions
What guarantee can I give my clients that applications connecting in to Server2 will behave the same way? No only from a performance perspective.
"Well that's great, but will my app break?"
This is the primary question I am getting from clients, and I cannot give any supporting statements that gives them enough confidence to jump into upgrades while remaining supported.
And what support do we have from Microsoft if the applications exhibit breaking behavior in the scenario above?

@SQLAdrian Thank you for your inquiry. The following ALTER DATABASE article does a reasonable job of explaining what customers can expect from the Compatibility Level settings.  If there is an advanced scenario that is not precisely described in the article, then testing of the scenario on the upgrade version might be advisable.

https://docs.microsoft.com/sql/t-sql/statements/alter-database-transact-sql-compatibility-level

Thank you for submitting this Issue. We hope to hear from you again.
I am now Closing this Issue. The @ notification mechanism continues to work even after an item is Closed, in case further communication is needed.


Rewrite vibwa.f90 in Python (sequentially)

I rewrote most of the Fortran code (~90%), but I still don't know if what I created works, because the code is difficult to run without rewriting the whole thing due to the global state and full modifiability of all values entering the function. Code is currently stored in "scratchpad" space waiting for dedicated repo to be configured.

I have finished rewriting vibwa.f90 in Python and acheved results, as far as I know, matching output of vibwa.f90. Core is far from readable but is good enough to be used for some mocking to proceed with GUI work. Performance of couse didn't increase, we will work on that in next phase.


Assert on completions when REPL env is unknown

Sometimes when I reopen my VS, and the REPL is recreated, it will say Environment: <unknown>.
If I type:
import <space>

I get this assert:
---------------------------
Assertion Failed: Abort=Quit, Retry=Debug, Ignore=Continue
---------------------------
Failed to get project entry for buffer Python:"import "

   at Microsoft.PythonTools.Intellisense.CompletionAnalysis.GetAnalysisEntry() in C:\Projects\huguesv\PTVS\Python\Product\PythonTools\PythonTools\Intellisense\CompletionAnalysis.cs:line 112

   at Microsoft.PythonTools.Intellisense.CompletionAnalysis.GetModules(String[] package, Boolean modulesOnly) in C:\Projects\huguesv\PTVS\Python\Product\PythonTools\PythonTools\Intellisense\CompletionAnalysis.cs:line 123

   at Microsoft.PythonTools.Intellisense.ImportCompletionAnalysis.GetCompletions(IGlyphService glyphService) in C:\Projects\huguesv\PTVS\Python\Product\PythonTools\PythonTools\Intellisense\ImportCompletionAnalysis.cs:line 98

   at Microsoft.PythonTools.Intellisense.CompletionSource.AugmentCompletionSession(ICompletionSession session, IList`1 completionSets) in C:\Projects\huguesv\PTVS\Python\Product\PythonTools\PythonTools\Intellisense\CompletionSource.cs:line 68

   at Microsoft.VisualStudio.Language.Intellisense.Implementation.CompletionSes......

<truncated>
---------------------------
Abort   Retry   Ignore
---------------------------

Yeah, this sucks, but it should be "okay" to ignore the assertion. When this happens in release builds the assertion won't be shown and you'll just get no completions (or possibly code snippets, depending on which combination of bugs you have).
The bug that I'm most interested in here is that we shouldn't restore a REPL without knowing which environment is attached. Figuring out what made that happen would be useful

I think the "unknown REPL" issue has already been fixed, but now I'm fixing the assertion too (since it affects the debug repl)


Implement test_unary_plus for Str

Added test for unary positive to the String class.

The CI failure appears to be part of a bigger problem - I've addressed that independently.

Thanks! . . .
Yay! Me is an open source contributor now! :dancer: :dancer:


Add Silicon Labs implementation of ZLL clusters

Adding the following clusters: zll-identify-server,  zll-level-control-server,  zll-on-off-server, zll-scenes-client, zll-scenes-server.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Sergei seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Could somebody please merge this PR? I don't seem to be authorized to do that.

Could somebody please merge this PR? I don't seem to be authorized to do that.


feat: -detailed-exitcode with run-all commands

Description
Fixes #1470.
For the case where a run-all is done with -detailed-exitcode flag, Terragrunt uses the following logic to return the appropriate exit code:

If any unit throws a 1, throw a 1.
If any unit throws a 2, but nothing throws a 1, throw a 2.
If nothing throws a non-zero, throw a 0.

TODOs
Read the Gruntwork contribution guidelines.

[ ] Update the docs.
[ ] Run the relevant tests successfully, including pre-commit checks.
[ ] Ensure any 3rd party code adheres with our license policy or delete this line if its not applicable.
[ ] Include release notes. If this PR is backward incompatible, include a migration guide.

Release Notes (draft)

Added / Removed / Updated [X].
Migration Guide

Failed on pre-commit on fmt for terraform files
Terraform fmt............................................................Failed
- hook id: terraform-fmt
- exit code: 3

LGTM.
I think we need to have some documentation for indicating how this works. In a follow-up PR, could we add some notes to the run-all docs indicating that when using the -detailed-exitcode, Terragrunt will use information aggregated from all the runs to determine the final exit code, and how?

Sure, thanks. Could you please indicate where exactly in the documents this should be mentioned? Here?

Failed on pre-commit on fmt for terraform files
Terraform fmt............................................................Failed
- hook id: terraform-fmt
- exit code: 3

Fixed

Sure, thanks. Could you please indicate where exactly in the documents this should be mentioned? Here?

Ya. I'll write it up, though. Don't worry about it.
I'm seeing that this can also be worded better:

[WARNING] Using run-all with plan is currently broken for certain use cases...


fix docs for 2.067

@MartinNowak  please add this doc fix to the release.
sumOfLog2s is new function.

Looks good. But why are the comments in // not included in the docs?

I think this information is redundant for user.

Really? I think it's relevant, it explains why they should use this function instead of adding the logs themselves.

fixed

rebased


Where is bbox coordinates

I want to find the coordinates of where the object was found on the webcam.
I want to know the distance from the camera to the object through the depth camera.
But, I couldn't find where to find the coordinates or how to fix it.

You can print the results here for coordinates of objects
https://github.com/open-mmlab/mmdetection/blob/e02aa233c479ab55b97736e929236c4bc128806e/demo/webcam_demo.py#L35


vulnerabilities found in oraclelinux:7-slim and oracle db image

The oraclelinux:7-slim base image (pulled today 06/06/2022) is scanning and showing 45 vulnerabilities in a harbor scan (all show as fixable). Once the 19.3.0 db is built from this base, that image is scanning and showing 92 vulnerabilities in a harbor scan (all show fixable as well).
All the vulnerabilities show the are fixable via ksplice updates.  I saw in another post these images do not use ksplice, so not sure how to proceed.
Are all of these false positives?  or is there a way to fix these?  Just doing a yum update  during the image build does not pull down newer versions and results in the same 92 vulnerabilities listed.
All are related to various glibc, and openssl libraries.

oraclelinux images are rebuild each time Security Erratas are published. There might be a day or two delay from the build process, but this is closely monitored.
I checked the images this morning and they are up-to-date.
If you find 45 vulnerabilities in a fresh image, these are definitely false positives.
Most of the time, it is because scanners are checking against tool version, and in Enterprise Distributions, security fixes are backported to the original version to ensure stability and consistency during the lifecycle of the distribution.
You can verify that a package contains security fixes with rpm -q --changelog <package name>

the image was pulled today so it was as fresh as could be.
the 45 vulnerabilities was from a harbor scan, but our anchore scan of the same image only shows 5.  So it seems anchore is better at dealing with the false positives.

This is a good way to check for any available security updates:
$ docker run --pull always --rm -it oraclelinux:7-slim yum --security updateinfo
7-slim: Pulling from library/oraclelinux
Digest: sha256:01146bd74c06a6bdbd55e9da959de40941476b32c9c04e9fd3fbb34ee16674f4
Status: Image is up to date for oraclelinux:7-slim
Loaded plugins: ovl
ol7_latest                                                                                | 3.6 kB  00:00:00
(1/3): ol7_latest/x86_64/group_gz                                                                                | 136 kB  00:00:00
(2/3): ol7_latest/x86_64/updateinfo                                                                                | 3.4 MB  00:00:00
(3/3): ol7_latest/x86_64/primary_db                                                                                |  40 MB  00:00:00
updateinfo summary done

Which shows there are no available security updates for the image.
The Docker official library FAQ explains why CVE scanners report false positives: https://github.com/docker-library/faq#why-does-my-security-scanner-show-that-an-image-has-cves


feat: Added register-account command to cli

This PR adds the PXE's register-account command to the cli.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Benchmark results
Metrics with a significant change:

circuit_simulation_time_in_ms (base-rollup): 851 (-18%)
node_history_sync_time_in_ms (5): 11,666 (-16%)
node_history_sync_time_in_ms (10): 22,233 (-17%)
note_history_successful_decrypting_time_in_ms (5): 2,450 (-20%)
note_history_successful_decrypting_time_in_ms (10): 4,949 (-21%)
l2_block_building_time_in_ms (8): 8,897 (-21%)
l2_block_building_time_in_ms (32): 35,523 (-21%)
l2_block_building_time_in_ms (128): 156,518 (-22%)
l2_block_rollup_simulation_time_in_ms (8): 6,579 (-21%)
l2_block_rollup_simulation_time_in_ms (32): 26,262 (-22%)
l2_block_rollup_simulation_time_in_ms (128): 104,716 (-21%)
l2_block_public_tx_process_time_in_ms (8): 2,281 (-18%)
l2_block_public_tx_process_time_in_ms (32): 9,135 (-18%)
l2_block_public_tx_process_time_in_ms (128): 51,349 (-24%)
l2_block_processing_time_in_ms (8): 1,006 (-20%)
l2_block_processing_time_in_ms (32): 3,842 (-19%)
l2_block_processing_time_in_ms (128): 15,176 (-20%)
note_successful_decrypting_time_in_ms (8): 327 (-18%)
note_successful_decrypting_time_in_ms (32): 1,003 (-22%)
note_successful_decrypting_time_in_ms (128): 3,873 (-25%)
note_trial_decrypting_time_in_ms (8): 30.0 (+650%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit fd1a1a86 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
223,008
868,220
3,449,360

l1_rollup_execution_gas
842,095
3,595,328
22,204,729

l2_block_processing_time_in_ms
:warning: 1,006 (-20%)
:warning: 3,842 (-19%)
:warning: 15,176 (-20%)

note_successful_decrypting_time_in_ms
:warning: 327 (-18%)
:warning: 1,003 (-22%)
:warning: 3,873 (-25%)

note_trial_decrypting_time_in_ms
:warning: 30.0 (+650%)
108 (-3%)
137 (-6%)

l2_block_building_time_in_ms
:warning: 8,897 (-21%)
:warning: 35,523 (-21%)
:warning: 156,518 (-22%)

l2_block_rollup_simulation_time_in_ms
:warning: 6,579 (-21%)
:warning: 26,262 (-22%)
:warning: 104,716 (-21%)

l2_block_public_tx_process_time_in_ms
:warning: 2,281 (-18%)
:warning: 9,135 (-18%)
:warning: 51,349 (-24%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
:warning: 11,666 (-16%)
:warning: 22,233 (-17%)

note_history_successful_decrypting_time_in_ms
:warning: 2,450 (-20%)
:warning: 4,949 (-21%)

note_history_trial_decrypting_time_in_ms
122 (-5%)
148 (-9%)

node_database_size_in_bytes
1,627,886
1,095,660

pxe_database_size_in_bytes
27,188
54,187

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
47.5 (-18%)
61,697
18,841

private-kernel-ordering
23.7 (-17%)
24,233
8,089

base-rollup
:warning: 851 (-18%)
639,797
811

root-rollup
37.7 (-20%)
4,072
1,097

private-kernel-inner
43.0 (-18%)
81,504
18,841

public-kernel-private-input
47.5 (-21%)
41,455
18,841

public-kernel-non-first-iteration
30.7 (-20%)
41,497
18,841

merge-rollup
0.833 (-24%)
2,592
873

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
8,723
27,508


Enabling Date only Dialog

Hey, @miljance
What is the use case for a date-only dialog? There's already a date-picker by default.

@miljance I've reopened it for you :)

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

Reopening to merge.

Availability update: We will publish a fix for this issue in the next update for release 19.


Add files via upload

@jahholden Pull request merged. Thank you!
FTR: Domain ownership proof is at https://www.gcpsk12.org/GwinnettOnline/logins


Long SSML synthesis best practice

For some reason I cannot identify my SpeechSynthesizer stops after synthesizing for a few min. I am looking for a way to save the already synhtesized audio up to that point or in intervals so I can start over from wheere it stopped and not from the beginning

@yulin-li Could you please comment on this issue?

I think we have two potential ways for this. First is try to split your text into short sentences and synthesize them one by one. So you will know which sentence failed and retry that one instead of retrying the whole input.
The another way is to use word boundary event to get the alignment between words and audio, so you will know the failed audio ended at which word, then you can try with the left text

thanks for the suggestions but really do not address my problem. None of these event provide actual audio bytes to save. My goal is :

I am looking for a way to save the already synhtesized audio up to that point

I only see creating a parallel synthesizer to recognize the playing audio, but really does not look efficient

hmm, yes, the real time has a limitation of 10-min for a single turn. You need to split the text to multi turns, (see our sample code.
Meanwhile, you can also use our long audio api for long-form text synthesizing. https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/long-audio-api


home-assistant & wyoming container's docs

[WIP]

Let's go @dusty-nv 🙌

:rocket: :rocket: :rocket:
thanks @ms1design! , I will push the docs immediately and then rebuild the effected container images

OK!  Images are rebuilt, docs pushed live to master, and added Smart Home category to the root README!  Woohoo!  I hope you don't mind that I added your attribution to the pages :)
your doc design look great btw, appreciate that :+1:


Update Utils.java to remove 1002 from exceptions list

Since this is a catch-all, we shouldn't retry...

@Paultagoras I think we can close the PR


Cosmic try - cuboid

Because the long history of commits on develop branch, I have created separate PR in order to discuss my small edit to
Krzysztof cosmic generator. I have added an option to generate vertex in cuboid instead of cylinder. It produces slightly different results that must be compared with the data.

I would like to review this PR after others are merged, right now it shows changes in many files, that are not specific only to this PR.

Found 7 violations:
Reporter: cppcheck-raporter
Rule: unusedFunction
Severity: INFO
File: /var/jenkins_home/workspace/j-pet-geant-4-PRs-root-6/CADMesh/examples/basic/basic.cc L51
The function 'Construct' is never used.

Reporter: cppcheck-raporter
Rule: redundantAssignment
Severity: INFO
File: /var/jenkins_home/workspace/j-pet-geant-4-PRs-root-6/CADMesh/examples/external/external.cc L99
Variable 'cone_mesh' is reassigned a value before the old one has been used if variable is no semaphore variable.. Variable 'cone_mesh' is reassigned a value before the old one has been used. Make sure that this variable is not used like a semaphore in a threading environment before simplifying this code.

Reporter: cppcheck-raporter
Rule: redundantAssignment
Severity: INFO
File: /var/jenkins_home/workspace/j-pet-geant-4-PRs-root-6/CADMesh/examples/external/external.cc L93
Variable 'cone_mesh' is reassigned a value before the old one has been used if variable is no semaphore variable.. Variable 'cone_mesh' is reassigned a value before the old one has been used. Make sure that this variable is not used like a semaphore in a threading environment before simplifying this code.

Reporter: cppcheck-raporter
Rule: unusedFunction
Severity: INFO
File: /var/jenkins_home/workspace/j-pet-geant-4-PRs-root-6/CADMesh/src/BuiltInReader.cc L81
The function 'BuiltIn' is never used.

Reporter: cppcheck-raporter
Rule: noExplicitConstructor
Severity: INFO
File: /var/jenkins_home/workspace/j-pet-geant-4-PRs-root-6/CADMesh/tests/Simulator.hh L29
Class 'DetectorConstruction' has a constructor with 1 argument that is not explicit. Such constructors should in general be explicit for type safety reasons. Using the explicit keyword in the constructor means some mistakes when using the class can be avoided.

Reporter: cppcheck-raporter
Rule: unmatchedSuppression
Severity: INFO
File: /var/jenkins_home/workspace/j-pet-geant-4-PRs-root-6/Core/DetectorConstruction.cpp L65
Unmatched suppression: unusedFunction

Reporter: cppcheck-raporter
Rule: variableScope
Severity: INFO
File: /var/jenkins_home/workspace/j-pet-geant-4-PRs-root-6/Objects/Framework/JPetGeantDecayTree.cpp L60
The scope of the variable 'currentNodeID' can be reduced. Warning: Be careful when fixing this message, especially when there are inner loops. Here is an example where cppcheck will write that the scope for 'i' can be reduced:\012void f(int x)\012{\012    int i = 0;\012    if (x) {\012        // it's safe to move 'int i = 0;' here\012        for (int n = 0; n < 10; ++n) {\012            // it is possible but not safe to move 'int i = 0;' here\012            do_something(&i);\012        }\012    }\012}\012When you see this message it is always safe to reduce the variable scope 1 level.


Expose echarts theme options in theme plugins

It should be possible to:

Override the default echarts theme in Evidence (colors, gridlines etc.) see here: https://echarts.apache.org/en/theme-builder.html
Distribute that theme to other users as part of the themes plugin system
Override some subset of theme options in your own project if you've installed an external theme. E.g. override the colours to match your branding.

Closing in favor of https://github.com/evidence-dev/evidence/issues/2499


Container in RECONNECTING state after one day of working

Hi
I added my azure vm to rancher via add custom host. It is added and working correctly one day and then on next day it  displays always RECONNECTING status, only way to reactivate it  is to recreate docker/agent container (add again as a custom host), it was happen already twice.
Same time host machine with both rancher/server and rancher/agent always work correctly.

This might be duplicate of https://github.com/rancher/rancher/issues/2196#issuecomment-149975548.
It seems there might be an issue with Azure. @cusspvz mentioned that there were some networking issues on Azure and was going to do some tests among a mix of cloud providers to see if it's an Azure issue.

Hello @baio ,
You might wanna check my comment regarding how I solved this.
Hope it helps.

Hi @cusspvz  , I've tried your container and at first it was looking like this helped but after 3 days, same problem, on mine 2 other azure VM's same problem again. Looks like rancher yet is very unstable on azure

@baio it isn't happening only with Azure, @cloudnautique is also experiencing with GCE and I've already replicated on AWS. Apart from this issue, Rancher seems stable enough for production.
If you're interested on seeing this solved, I suggest you to subscribe and follow up issue #2196.

As this seems to be a duplicated, you can also close it. :)

sure, thanks for help


Add tobira db console convenience command

This gives you a psql prompt for the configured database.
It replaces the tobira process so that signals, streams, etc. are
handled correctly, and so that we don't have to care about errors.
Note that this is a Unix-only feature. Note also that this is like
calling process::exit in that it does not run any destructors.
The internal execvp call guarantees that all memory is freed
correctly at least, though.

Actually I forgot to change the hard coded DB URL, gimme a sec. :sweat_smile:


ks-installer will overwrite configmap kubesphere-config once ks-installer restart

Recently, I restarted my cluster and found that config map kubesphere-config was overwritten by ks-installer. So that devops.devopsServiceAddress configured by migrate job would disappear.

/milestone v3.2

We already change devopsServiceAddress to endpoint. It works well with kubespheredev/ks-installer:nightly-20210924.
So, I guess we can close this issue. Right? @JohnNiang

Right.
/close


Not actually an issue just a question. How to obtain the request ip address?

Thank you for making Swifter available for everyone. I apologize I don't mean to use you as a support agent, but I was wondering, is there any way to obtain the request ip address?
I wanted to ask one more thing, in my case I need a small web server to send and receive plain text and not to share files or webpages. Is swifter ideal for this scenario? I'm sorry I'm not very versed in this matter.

Ok I made it, I added a remoteAddress parameter to HttpRequest struct, I'm not sure if thats something you want in your code.
On a side note, can this be threaded?

@jigzat hey man,
the updates are always welcome ! please make a pull request or paste the code here :)
Best

Done, I'm not sure how good it was.

hi man, any chance to push the change ?

Hi, I thought I had push it already. Let me check, I'm a github noob.
Enviado desde mi iPhone

El 9/06/2015, a las 2:52 a.m., Damian Kołakowski<EMAIL_ADDRESS>escribió:
hi man, any chance to push the change ?
—
Reply to this email directly or view it on GitHub.

I moved your code to Socket class and merged it to the mater branch. Once again, thanks for the pull request :)
https://github.com/glock45/swifter/commit/a18e5ee33fadd115f574bb32977a34a9411ae52d
Best

Sorry for the delay I have been very busy this week.

El 15/06/2015, a las 1:02 p.m., Damian Kołakowski<EMAIL_ADDRESS>escribió:
I moved your code to Socket class and merged it to the mater branch. Once again, thanks for the pull request :)
a18e5ee https://github.com/glock45/swifter/commit/a18e5ee33fadd115f574bb32977a34a9411ae52d
Best
—
Reply to this email directly or view it on GitHub https://github.com/glock45/swifter/issues/21#issuecomment-112155745.

no problem :)

I have some trouble with this. The "address" reported looks like an IPv6 address e.g. ::101a:400:8060:0
And it changes every few minutes despite no change to my connection.
But when I use ifconfig to check my network settings, that address does not appear.
I am running the server and calling it from my dev computer - does this change anything?
Is there a way to tweak this so as to get the IPv4 address?
Even better, can I get the Bonjour name of the caller?

Is there a way to tweak this so as to get the IPv4 address?

Really late, but I hit the same issue. Starting the server forceIPv4 gets around it:
server.start(8080, forceIPv4: true)


Evaluate voltage sensor source resistance

(from Lee)

Good to check.  The STM32 ADC sampling cap is 5pF, given worst case 3.3V swing and 500hz sampling, the average current draw is 8.25nA, which against a 6.7kohm thevenin source resistance is 55uV, and the instantaneous charge drop against the 0.22uF cap is 75uV, for a total worst case error of 130uV.  The LSB for a the 12bit ADC referenced at 3.3V is 806uV.  The worst case error is less than 1/2 LSB.  We should be good.

Switched R_hi to 35.7k to change to 3.3V scaling.  This changes the thevenin resistance to 7.8k, which represents an increase of 6uV to 64uV, still well below 1/2 LSB when combined with the sampling charge balance.

confirmed


Workaround to avoid replacing element collections

Relates to #19162

The workaround takes the following approach:
If the collection already exists, don't replace it but update just the contents of the existing collection by clearing it first and then putting the new elements in it.
The problematic thing about this workaround: It probably needs to be applied in other places as well. As you mentioned that the updating of clients might fix most of the tests, it might still be a valid approach to see if there are other problems that we miss to see, and that we should report to the Hibernate project rather sooner than later.


ci: determine cache locations from 'go env'

Prerequisite checklist

[x] Read the contribution guidelines regarding submitting new changes to the project;
[x] Tested your changes against relevant architectures and platforms;
[x] Ran make fmt on your commit series before opening this PR;
[x] Updated relevant documentation.

Description of changes
Instead of guessing where the Go caches are, we can ask go env directly, and avoid future breakages if the paths change.
I stole that idea from the setup-go action.

Needs fix from #450.


Release v1.1.0

Description of the change

Benefits

Add support for $persistence.emptyDir.medium

Possible drawbacks

Applicable issues

fixes #

Additional information

Checklist

[x] Chart version bumped in Chart.yaml according to semver.

This looks good 👍
I want to also add the tpl thing we discussed yesterday to this version. I'll see if I can squeeze that in somewhere 🙂


Applying sub-folds over a list of results

I have a conceptual problem with how to “recursively fold” over data.
I have a primitive folding function
newtype Event = Event {unEvent :: (Sum Int)}
  deriving stock (Show, Eq, Ord)
  deriving (Num) via (Int)

foldIntoSections :: Fold Event [[Event]]

which splits events into a list of lists of events (a list of sections).
Now I want to look at every one of these sections and fold over each, arriving at a result, like
data Sub = Sub {subSum :: Sum Int}
  deriving stock (Show)

-- | Fold a section into a sub
foldSub :: Fold Event Sub
foldSub = Sub <$> lmap (.unEvent) Fold.mconcat

and this trivially does what I expect:
> Fold.fold foldSub [Event 2, Event 4, Event 1, Event 0, Event 1]
Sub {subSum = Sum {getSum = 8}}

But the problem arises when I try to combine the two into “first section, then fold over each section, then combine the result”
-- | split into section, then fold each section
foldResult :: Fold Event Result
foldResult =
  foldIntoSections
    &>> Fold.handles traverse (Fold.handles traverse foldSub)
    &>> Fold.foldMap (.subSum) (\s -> s.getSum & Result)

> Fold.fold foldResult [Event 2, Event 4, Event 1, Event 0, Event 1]
Result {finalInt = 77}

Which looks to me like the events are traversed >n² times.
What is happening here, and is there a way to do what I want to do, or do I have to run the folds separately?

I put the full repro code into this gist here: https://gist.github.com/Profpatsch/0ef4b72aa6891ad5132ff8f54a6a63fd

I tried using Fold.nest as well, but that will just always use the List monad instance, meaning it results in a cross-product of the nested lists.

Funnily enough, I only noticed this rather late, because all my other sub-folds used a monoid instance for which a <> b <> a == a <> b held.

I solved it with a nested fold outerFold $ fmap (fold innerFold) nestedEvents in the end. So I’m not sure there should be any new utilities, apart from maybe documenting that Fold.nest and Fold.handles traverse can be dangerous for this use-case.

So feel free to close, it was a stumbling block for me but maybe just me thinking too complicated.


Confusing error message from volume.create when datastore is not writ…

Handled both scenarios as outlined below:

datastore is not writable
permission denied to create dockvols directory in datastore.

This is extension to #677 and is part of fix for #568.
osfs-mkdir -n returns different error codes when it is not able to create the dockvols directory in /vmfs/volumes/. It returns error codes 13 and 30 for scenarios 1 and 2 described above. These error codes are used to give a proper errorMsg to the user.

@pdhamdhere : Can you please review it.


Misleading documentation in uaac user update

The help of uaac user update:
$ uaac user update -h

  user update [name]               Update a user account with specified options
                                   --given_name <name>
                                   --family_name <name>
                                   --emails <addresses>
                                   --phones <phone_numbers>
                                   --origin <identity provider origin, defaults to UAA>
                                   --del_attrs <attr_names>, list of attributes to delete

But the  --origin  option refers to which user to update if there are multiple users with different origin. It does not mean that you can update the origin!
I think this is misleading and it should be reworded.

Good suggestion, @keymon. Tagging sap-dojo as well. @tack-sap

can you please rebase your contribution, then we can accept it - thanks

This was done 3 years ago, I do not even work with this tech anymore. I will rebase this, but not test it whatsover

I rebased. I am missing some authorization or something :shrug:


Only await on Future

Did not run any tests but it should works.
Abstract
In #32, I suggested to use FutureOr for better compatibility. Recently I made an experiment about it and found that current implements may impact performance here. That's the reason of this PR.
Benchmark
Environment
screenfetch -n
 OS: 64bit Mac OS X 12.6.2 21G320
 Kernel: x86_64 Darwin 21.6.0
 CPU: Intel Core i5-5250U @ 1.60GHz
 RAM: 3327MiB / 8192MiB

Dart SDK version: 2.19.3 (stable) (Tue Feb 28 15:52:19 2023 +0000) on "macos_x64"
Chrome version: 111.0.5563.110 (x86_64)
Code
import 'dart:async';

import 'package:benchmarking/benchmarking.dart';

Future<void> main() async {
  const testTime = 10000;

  (await asyncBenchmark('Await conditional on Future', () async {
    var count = 0;
    while (count++ != testTime) {
      await awaitConditional(foo);
    }
  }))
      .report();
  (await asyncBenchmark('Await conditional on int', () async {
    var count = 0;
    while (count++ != testTime) {
      await awaitConditional(bar);
    }
  }))
      .report();

  (await asyncBenchmark('Await anyway on Future', () async {
    var count = 0;
    while (count++ != testTime) {
      await awaitAnyway(foo);
    }
  }))
      .report();
  (await asyncBenchmark('Await anyway on int', () async {
    var count = 0;
    while (count++ != testTime) {
      await awaitAnyway(bar);
    }
  }))
      .report();
}

Future<int> foo() async {
  return 1;
}

int bar() {
  return 1;
}

int? x;

Future<int> awaitAnyway(FutureOr<int> Function() func) async {
  x = await func();
  return x!;
}

Future<int> awaitConditional(FutureOr<int> Function() func) async {
  if (func is Future Function()) {
    x = await func();
  } else {
    x = func() as int;
  }
  return x!;
}

Result
Native
Compile: dart compile exe test.dart && ./test.exe
Result:

JS
Compile: dart compile js -O4 test.dart
Source:
<head>
    <script src="out.js"></script>
</head>

Result:

Conclude & Analyze
Await conditionally is faster than directly await on FutureOr. It's faster when the return type of func is Future and much more faster when the return type of func is non-Future.
I suspect that:

await on FutureOr lead to some unnecessary runtime type check, which makes the code slower than await conditionally.
Beyond that, await on non-Future expression will be transform into await Future.value(expression) at compile time. And you may find some clue in -O1 compiled js. That could explain why it has a much more slower execution time.

Close due to found some mistakes in experiment, will reopen after fixing those.


My web service fails with error "Failed to start monitoring changes to App_Offline.htm"

I tried to change the user account of the application pool, I tried giving Full Access to Everyone in the containing folder, but nothing, I get always the same error.
This happens only on the 1709 version, in the 1603 version it works.

This issue was moved to Microsoft/aspnet-docker#115


make_hull can create up-side-down faces

    with BuildSketch() as base_plan:
        c_8_degrees = Circle(55 / 2)
        with Locations((0, 125)):
            Circle(30 / 2)
        base_hull = make_hull(mode=Mode.PRIVATE)

This can result in confusion if the hulled Face is directly extruded as the Face normal determines the direction of the extrusion.
If make_hull is not in PRIVATE mode the Face is correctly inverted.

Fixed:


Poor results on new unseen test data using UMAP

I got a timeseries multiclass classification problem with 12 classes (balanced classed). I have been trying to use UMAP lower space embedding as input to my model and got fairly good results at validation set. But, the model can't generalize well to new unseen data (test set).
My model is overffiting and i am using earlystop to prevent that.
Here are some curves of accuracy and loss during training (in green)  and validation (in red):

You can see that my model almost achieves 0,9 accuracy before overfitting and it is saved at that point to be used later for predictions. The thing is, if I use the test set, i only get 0,67 accuracy, far lower than what i was expecting.
This is the code i am using, consider my dataframe df with shape (41364, 53):
# Import libraries

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
from keras.callbacks import ModelCheckpoint, EarlyStopping
from keras.layers import Concatenate
from keras.layers import Dense
from keras.layers import Input
from keras.layers import LSTM
from keras.models import Model

# Load data and split inputs from outputs

df = pd.read_csv('file.csv')
x = df.iloc[:, :-1].values
y = df['FLAG'].values

# Train/test split

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)

# Split LSTM and MLP inputs

x_train_lstm = x_train[:, 0:48]
x_train_static = x_train[:, 48:]
x_test_lstm = x_test[:, 0:48]
x_test_static = x_test[:, 48:]

# UMAP

from umap import UMAP
umap_emb = UMAP(n_neighbors=15, n_components=8, random_state=42)
x_train_umap = umap_emb.fit_transform(x_train_lstm, y_train)
from joblib import dump
dump(umap_emb, 'UMAP_emb.sav')

# Reshape inputs to be used in Keras Model

x_train_lstm = x_train_lstm.reshape(x_train_lstm.shape[0], x_train_lstm.shape[1], 1)
x_train_static = np.concatenate((x_train_static, x_train_umap), axis=1)

# Keras Model

lstm_input = Input(shape=(x_train_lstm.shape[1], 1), name='LSTM_Input_Layer')
static_input = Input(shape=(x_train_static.shape[1], ), name='Static_Input_Layer')
lstm_layer_1 = LSTM(units=128, activation='tanh', return_sequences=False, name='1_LSTM_Layer')(lstm_input)
static_layer_1 = Dense(units=64, activation='relu', name='1_Static_Layer')(static_input)
static_layer_2 = Dense(units=128, activation='relu', name='2_Static_Layer')(static_layer_1)
concatenar = Concatenate(axis=1, name='Concatenate')([lstm_layer_1, static_layer_2])
dense_1 = Dense(units=4*len(np.unique(y_train)), activation='relu', name='1_Dense_Layer')(concatenar)
dense_2 = Dense(units=2*len(np.unique(y_train)), activation='relu', name='2_Dense_Layer')(dense_1)
saida = Dense(units=len(np.unique(y_train)), activation='softmax', name='Output_Layer')(dense_2)
model = Model(inputs=[lstm_input, static_input], outputs=[saida])
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.summary()

# Checkpoint and Earlystop

cp = ModelCheckpoint(
    filepath='model.hdf5',
    monitor='val_loss',
    verbose=1,
    save_best_only=True,
    mode='min')
earlystop = EarlyStopping(monitor='val_loss',
                          min_delta=1e-4,
                          patience=50,
                          verbose=1,
                          mode='min',
                          restore_best_weights=True)

# Fit on train data

val_size = 0.2
history = model.fit([x_train_lstm, x_train_static],
                                y_train,
                                batch_size=512,
                                epochs=300,
                                callbacks=[cp, earlystop],
                                validation_split=val_size)

# Test set (poor results!!)

x_test_umap = umap_emb.transform(x_test_lstm)
x_test_lstm = x_test_lstm.reshape(x_test_lstm.shape[0], x_test_lstm.shape[1], 1)
x_test_static = np.concatenate((x_test_static, x_test_umap), axis=1)
y_pred = model.predict([x_test_lstm, x_test_static])
print(classification_report(y_test, np.argmax(y_pred, axis=1)))

Here is the classification report on test set:
              precision    recall  f1-score   support

           0       0.23      0.23      0.23       724
           1       0.35      0.32      0.34       716
           2       0.98      0.90      0.94       692
           3       0.60      0.54      0.57       665
           4       0.33      0.32      0.33       682
           5       0.86      0.97      0.91       695
           6       0.53      0.80      0.64       703
           7       0.98      0.98      0.98       696
           8       0.75      0.84      0.79       659
           9       0.97      1.00      0.98       674
          10       0.88      0.64      0.74       686
          11       0.72      0.56      0.63       681

    accuracy                           0.67      8273
   macro avg       0.68      0.68      0.67      8273
weighted avg       0.68      0.67      0.67      8273

Is this the correct procedure to apply UMAP to new unseen data? Or am I doing something wrong? Why my validation score is much higher than the test one? Any ideas what should I be looking for to correct that?
One last thing to note, if I don't use UMAP embedding as part of the the x_train_static, the results from validation and test set are the same (lower, but the same, as i would expect in "normal" conditions"), like this:

And here the classification report on test set without UMAP embedding as part of my inputs:
              precision    recall  f1-score   support

           0       0.45      0.49      0.47       724
           1       0.57      0.50      0.53       716
           2       0.99      0.99      0.99       692
           3       0.70      0.85      0.76       665
           4       0.57      0.47      0.51       682
           5       0.94      0.97      0.95       695
           6       0.89      0.85      0.87       703
           7       0.97      0.99      0.98       696
           8       0.89      0.87      0.88       659
           9       1.00      1.00      1.00       674
          10       0.88      0.86      0.87       686
          11       0.79      0.81      0.80       681

    accuracy                           0.80      8273
   macro avg       0.80      0.80      0.80      8273
weighted avg       0.80      0.80      0.80      8273

Both sets got around 0,8 accuracy.

This makes sense, you want to use parametric UMAP see https://umap-learn.readthedocs.io/en/latest/transform_landmarked_pumap.html


Add knowlats.dev

Added the webring link to https://knowlats.dev/
The webring logo is on the top navigation of my website.

@icegotcha Thanks, and welcome to the webring!

@icegotcha Thanks, and welcome to the webring!


chore: follow indirect repository URLs

This PR allows the Repo Finder to return GitHub, etc. URLs that are initially presented as a redirect URL. URLs that can be considered valid redirects are included within a list in the defaults configuration file. URLs found from redirects are validated as per any other URL. A flag is used to prevent infinite redirect loop shenanigans.
Closes #626

I'm unsure if redirection should be handled in the parse_remote_url function in the git_url module.
It seems like this redirection handling should only happen once at the beginning of the analysis of a target. It may be during/right after repo finding instead (which I guess may be part of your intention, confirmed by the fact that you added some redirection setting fields into the Repo Finder section in the .ini config).
Otherwise, I don't see why we should modify the parse_remote_url function. As you have mentioned previously, this function is used in different places to split a URL into different parts. Its name does not suggest that it should also handle redirection, and if that is the case then this function is doing too many things at once.

@benmss I think this PR can be considered as a new feature.


Component: EnumSelect

Make a reusable component to get the Enum from a specific gql query and return them.  This will be useful for Roles sepcifically and also anything like state or other choice lists that don't need tables.

Introspection works locally but not once pushed.  I'm going to close.


How to handle Done button tap or close authenticator tap in Xamarin.Forms ?

It looks like a duplicate of #495, closing


Azurite is a lot slower than AWS Emulator MinIO

I am using C++ API of Azurite to test performance and notice that loading a database table or reading a table from Azurite is 4 to 5 times slower than AWS S3 emulator MinIO.
I tried upload_block and upload_text for uploading data and download_to_stream for downloading.
I wonder if Azurite is overall slower than real Azure or am I missing some configuration that can improve performance?
Azurite version - 3.8.0

Hi @aksingh004, thanks for the feedback. Can you tell us more about your user scenarios and why need, this helps us better understand customer needs.
By default, Azurite targets to simulate Azure Storage features instead of performance targed. One of the bottleneck of Azurite is from Node.js which by default is a single process and all Azurite Node.js logic are within one main thread. You can see the CPU usage of Azurite is almost limited to one CPU core.
For performace, Azurite introduce external SQL metadata storage support. In this mode, we can leverage Node.js cluster frameworks like pm2 to start cluster of Azurite instances. Requests will be distributed to different instance with load balancer. I can see more than 10Gbps ingress depending on the hardware.

Hi @aksingh004, thanks for the feedback. Can you tell us more about your user scenarios and why need, this helps us better understand customer needs.
By default, Azurite targets to simulate Azure Storage features instead of performance targed. One of the bottleneck of Azurite is from Node.js which by default is a single process and all Azurite Node.js logic are within one main thread. You can see the CPU usage of Azurite is almost limited to one CPU core.
For performace, Azurite introduce external SQL metadata storage support. In this mode, we can leverage Node.js cluster frameworks like pm2 to start cluster of Azurite instances. Requests will be distributed to different instance with load balancer. It can fully use all CPU resources on the machine. I can see more than 10Gbps spped depending on the hardware.

Thank you for your response.
This is a good information and as you said that azurite is mainly for functionality testing, that answers the slow performance. There are some tests that we run against aws S3 (MinIO) and Azure (Azurite), they fail with timeout in case of azurite.
I am trying to implement your suggestion of running it with pm2 but I see problem in starting it in cluster mode, I read about it and found that only nodejs app can run in cluster mode. And if I provide a binary file to pm2 (pm2 start azurite -i 15), it starts in fork mode and only 1 instance gets started successfully and remaining fail with error that port is already in use.
Please suggest if I am missing something in starting multiple instance of Azurite.

pm2 requires "cluster" mode instead of "fork" mode. Check https://stackoverflow.com/questions/49691848/express-server-port-configuration-issue-with-pm2-cluster-mode.
Azurite also requires an additional metadata store in order to share cross different instances. Set AZURITE_DB environment variable. See https://github.com/Azure/Azurite#customized-metadata-storage-by-external-database-preview It's still under preview, any feedback is welcome!

I am now able to start Azurite in cluster mode with SQL metadata support using mysql database. However, it appears to be running into race condition? I see that in my test, if any blob is to be deleted, it runs into error with message "Internal Server Error" on Azurite but there is no such error if I run Azurite without sql metadata and cluster mode support.
Here is the nodejs script I created, posting it here so that other users can also make use of it.

azurite.js
var port = process.argv.slice(2);
const execFile = require('child_process').execFile;
const child = execFile('./azurite', ["--location", "./azurite_data", "--blobHost", "<IP_ADDRESS>", "--blobPort", port, "-d", "./azurite_data/debug.log"], (err, stdout, stderr) => {
if (err) {
throw err;
}

console.log(stdout);
});
<<<<
And ,
pm2 start azurite.js -i 10 --   // this spawns 10 instances of Azurite in cluster mode
To add SQL metadata support, I set below variable and pass connection string to mysql database server.
export AZURITE_DB=mysql://root:@<IP_ADDRESS>:3306/azurite_blob

I looked further and found that azurite had not started in true cluster mode, even though "pm2 list" says online for all instances, but it is basically wrapper nodejs script (I pasted in my previous comment) which is running in cluster. This nodejs script calls a child process to start azurite and only one instance gets succeded in starting and other fails with port in use error as following
Error: Command failed: ./azurite --location ./azurite_data --blobHost <IP_ADDRESS> --blobPort 4523 -d ./azurite_data/debug.log
Exit due to unhandled error: listen EADDRINUSE: address already in use <IP_ADDRESS>:4523
Could you please provide any sample script that starts azurite in cluster mode, that would be very helpful.
$ ./azurite --version
3.8.0


feat(v2): pluralize posts on tag's page

Motivation
Adding basic feature to form plural word forms. This is of course a very simple util function, and when localization functionality appears, it needs to be improved, but at the moment it is doing its job perfectly
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan

Before
After

Hmm, yes, apparently I was mistaken with this decision, fixed :heavy_check_mark:

Fixed, it seems to me time to rest :face_with_head_bandage:


Kanban Board Setup

https://github.com/users/abiodunraheem/projects/1/views/1
NOTE: The team is made up of 2 members

Hi, @abiodunraheem & @GOlivierNation👋,

Highlights💡

Good PR Summary.✔
The link to the project's kanban board is provided.✔
The team number is provided.✔
Good headings and descriptions.✔
The cards are assigned fairly.✔

Good job so far coming so far with the progress you've made! 💪💪
However, there are some issues that you still need to work on to go to the next project but you are almost there!

Required Changes ♻

Kindly open the cards, they are currently closed. A card should only be closed when it has passed through all columns, is approved, and is in the Done column.
Check the comments under the review.

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Please, remember to tag me in your question so I can receive the notification.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me @brytebee in your question so I can receive the notification.
Use @brytebee on slack for faster responses.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Thanks for review @brytebee

Hi @TEAM,
Great work on making the changes 👏
You've done well implementing some of the requested changes, but there are still some which aren't addressed yet.

Suggested changes

[ ] [REQUIRED] Please implement my suggestion! Has the number of points in the [Xpt] prefix. That number should indicate the number of points that show how complex the task is. 1 point = 1 hour of estimated work. You shouldn't change the points after dividing up cards, even if the actual work takes longer.

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Hi @team,
Great work on making the changes requested by a previous reviewer 👏
You've done well implementing some of the requested changes, but there are still some which aren't addressed yet.

To Highlight 🎉

No linter errors. ✔
GitHub flow is followed. ✔
Professional README file. ✔
PR has a good title and summary. ✔

Required Changes ♻

[ ] As requested by the previous reviewer please set number of point [xpt] for each cards

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Hi Team,
Highlights!

Good feature branch name ✔
No linter errors ✔
Descriptive pull request ✔
Descriptive commit messages ✔
Good code organization and working app ✔
Descriptive README ✔

Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Status: Approved ✔
Cheers and Happy coding!👏👏👏
Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


NixOS module: Optionally make systemd group for multiple config services

I wanted to switch off the service for my bluetooth keyboard when it's disconnected, but when the services are grouped they all shut down.
This change optionally stops the service group being created, allowing them to be started/stopped individually.

Looks reasonable to me; thanks!