Limit request

Type of change

Enhancement / new feature

Description
Part of #325 this PR allows users to set in the Kafka cluster CM the resource limits for Kafka and Zookeeper containers, and in the Connect CM the resource limits for the connect container.
I've not yet added any kind of ST, but I have verified manually that setting the config in the Kafka CM results in containers with the limits.
I think it makes sense to wait for setting the defaults (at least for Kafka) until we've also got some configuration over heap usage. That's because, assuming all these settings are optional, people might specify some settings and not others, so the defaults will probably need to be parameterised by the values they have set.
Checklist

[ ] Write tests
[x] Make sure all tests pass
[x] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[x] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging

@tombentley Some general points for discussion:

I think I raised it already in #326 ... how do we expect the applications to utilize the limits? Can Java apps really utilize the limits when you cap the JVM memory based on the request? Can't we simply ignore the limit ans set only request?
Do we want these fields to be _high-level_keys in the config map with different name for KAfka and Zookeeper? Wouldn't it be easier to have something like

"kafka-resources": {"cpuRequest": "500m", "cpuRequest": "1Gi"}
"zookeeper-resources": {"cpuRequest": "500m", "cpuRequest": "1Gi"}

(a completely general point ... we should probably decide on the long term layout for the config map / CRD before it becomes a complete mess)

I don't think I understand enough how the limits and requests really work to be able to comment at the moment.

Well, the request is something what is guaranteed. If you request 1CPU and 1G of memory you are guaranteed to have 1CPU and 1G. If they are not available, the pod will not be scheduled. The limit is something what you might get if the resources are available but if they are not, you don't get it.
With CPU this is quite easy and almost everyone can work with this. With memory its more complicated. If you configure -Xmx (or some other memory option) based on the limit, you can easily get OOM because the limit will not be available. So normally you should configure it based on the request. But then when you set the -Xmx based on the request, Java will not go over it. So if the limit is available Java will normally not utilize it.
AFAIK the disk cache utilized by the disk IO is not assignable to a particular process. That has some good and some bad news:

If there is memory available, OS will use it for the disk cache regardless of the memory limits
If the Kafka pod requested lot of memory, nobody guarantees that this memory will be used for the Kafka disk cache and not for some other pod disk cache

But ultimately we should at least request the memory for the cache, otherwise Kubernetes will schedule another pods into it. So we end up by saying we request 64Gi of memory for the pod but use only 4Gi for JVM ... the rest of the reserved memory should stay unused and the OS should use it for the disk cache.

At this point the longer we leave it the more painful a later transition will become.

So, I'm afraid that we will not get rid of the config maps. What we can IMHO do is create the structure how should the CRD look. Add the CRD support and afterwards model the ConfigMap after the CRD. So you pretty much with something like JSON or YAML sub-segments stored within the config map fields. It is IMHO not feasible to have one structure for CM and one for CRD. I thought I somewhere had an example how the CRD might look, but I cannot find it now :-(.
It is of course a question whether we need to follow the ideal CRD structure now or move ot it only once we support CRDs.

PS: If you think we need #328 first, feel free to take it.

So, I'm afraid that we will not get rid of the config maps.

Why not?

Updated:

configure the resources using JSON string rather than separate CM keys, moving in the direction discussed in #392. It's worth pointing out that the JavaBeans™ in this PR should be reusable in that PR.
support for configuring jvm options for Kafka, Zookeeper, Kafka Connect (not not TC) (i.e. fixes #328).

To Do:

[ ] Think about the other JVM options we might want to set/make configurable.
[ ] Intelligent defaults for jvm options according to memory request.
[ ] Manual testing to verify the JVM options stuff.
[ ] ST.

@scholzj @ppatierno please could you review. This PR now fixes #325, #327 and #328. I've updated the description accordingly.

MErgin this and the configuration will be tough :-(

I'm happy to merge after you.

@tombentley I'm still not convinced about setting the -Xmx based on the limit (especially when at the same time you set -Xms to the same value). This basically defeats the purpose of the request and limit idea and how burstable memory should work, doesn't it?  Anyway, I'm not overly concerned by this because I guess the user can set the limit=request and that solves the problem. So I can live with it.
As for the other point, I prefer the possibility to directly configure the options instead of configuring the algorithm. IMHO it is more transparent to the user.

This basically defeats the purpose of the request and limit idea and how burstable memory should work, doesn't it?

Kafka was designed for an environment where you knew how much memory you had, you configured the JVM to use some of it and left the OS to use the rest for page cache. It was all static and predicatable. It is difficult to know how it will behave in an environment where those assumptions don't hold.
As I understand it, setting -Xms=-Xmx is a way to guard against latency spikes during execution and ensures the JVM actually gets its hands all that memory, rather than risking having to grow the heap during execution and the OS not being able to satisfy the underlying malloc.
Likewise setting limit=request seems like a perfectly rational way of trying to get some stability and therefore being able to reason about page cache. The only thing we can't do is ensure the OS will actually use the memory we're notionally assigning to "page cache" for caching pages from the Kafka logs.
This all seems fine to me, at least for Kafka brokers, and maybe to a lesser extend for Zookeeper.
It's much more debatable for Kafka Connect.

I don't know either. There's a lot I don't really know about linux vm usage (despite years of reading lwn.net). It might depend on the configured allocator.
Overall, my feeling is that this is unlikely to be the last we hear of this. We'll be better able to tweak the model used for the defaults in the future based on experience of using this on different clouds, workloads etc.

I only know you can get it through Downward API as environment variable.

Of course!  That means we could parameterize the in-container defaults by request as well as limit.
I suspect we're likely to end up with a different "memory default model" for the different components. What is optimal for Kafka isn't going to suit Connect. For that's a problem for tomorrow. If we're feeling super ambitious we have the CC observe the pod events and adjust it's settings adaptively ;-)

Well ... the question is in what units will you get it. Converting it in shell might be annoying. Also, as I said before ... I think the limit anyway doesn't help with anything for Kafka, so you can also easily set limit=request in the config map.
I you want to keep it as it is I'm fine with it.

Converting it in shell might be annoying.

I'm using gawk for that already, it would be trivial to do. That said I'm not keen to change anything at this point.


08 user persona 2

Added second user persona.

Nice user persona and details. I think I might also have to add a name for my user to make it more personal


Allow to disable auto-instrumentation for specified methods

Closes #344
Add new configuration property, trace.methods.exclude, which marks methods which should be excluded from instrumentation. This does not affect any arbitrary auto-instrumentation. Only auto-instrumentation guided by supported annotations (see trace.annotations config option and its default value in TraceAnnotationsInstrumentation#DEFAULT_ANNOTATIONS) and by trace.methods configuration property can be disabled using this new configuration.

@trask  can you merge this PR, please?


Support simple TLS termination

Description:
Add support for HTTPS/TLS termination
Examples shown here https://gateway-api.sigs.k8s.io/v1alpha2/guides/tls/#examples
Looks like most of the work is already done in gateway-api translator https://github.com/envoyproxy/gateway/blob/8e1e9815a880236d49df1d21735f1a41fbb9b3d6/internal/gatewayapi/translator.go#L52 and the provider simply needs to reconcile secrets and pass it over.

Oof you're right, I was thinking that this was already working end-to-end but yeah the provider is not passing secrets.

this would have been an easy win for 0.2.0 . This can be considered a bug and added to the 0.2.0 milestone cc @danehans

the TLS termination conformance tests should be incorporated once they are added upstream which is being tracked with https://github.com/kubernetes-sigs/gateway-api/issues/1104


Hardware Manual

Hello,
I've just ordered one of these boards.
I found the schematic in this repo, but it took me a while to find a Simcom hardware datasheet that matches up with it.
(The A7670 Series_Hardware Design_V1.03.pdf has a different number of pins!)
I've attached one that I think is correct, you may wish to add it to this repo.
A7672X_A7670X_Series_Hardware_Design_V1.03.pdf

Can you please send it again? the link is expired


Windows rename error

Hi, I am getting the following error on windows 8.1. The target platform is obviously win32.
EXDEV, rename 'C:\Users\Justin\AppData\Local\Temp\electron-tmp-download\electron
-v0.25.3-win32-ia32.zip'

@jrudio i'm not a windows expert, but a quick google suggests it might be because you are trying to write to a different device than your C:\ drive (http://stackoverflow.com/questions/21071303/node-js-exdev-rename-error), is that possible?
Otherwise maybe @jden has some ideas

Hi, thanks for this, @jrudio ! Can you provide more information?
which version of electron-packager are you using?
what cli arguments are you passing?
Is there a stack trace in the error message you're seeing?
@maxogden indeed, that's my suspicion - which is what mv is supposed to be helping with

@jrudio I just published a new version of electron-download (a dependency of electron-packager) that uses the mv module that @jden mentioned. Can you give that version a try? Just delete your electron-packager installation and re-install it from npm and you should get<EMAIL_ADDRESS>

Yeah, I was trying to package up an app that was on my second hdd. I just tried it on my primary hdd and it's working fine. Although, I tried this after I had re-downloaded the electron-packager so I wasn't able to test it on the other version.

@jrudio cool I think thats enough info to know we fixed it. thanks for testing

No problem, and thanks for the quick answers! Even though I should have just googled it, lol.


WIP: migrate to k8s

This addresses #6

You can use the words listed here to link this PR with the issue

Yeah, I avoided using these words because I thought the issue entails also moving to GKE, but I realize I misread.


[FLINK-36571][web] Fix issue to allow Busy and Backpressure numbers o…

…n Flink dashboard
What is the purpose of the change
Fix bug so that non-zero numbers of Busy / Backpressure can be shown on Flink dashboard
Brief change log

Add check for !!value to convert value to boolean
Add check before setting dataSkewPercentage

Verifying this change

This change is a trivial rework / code cleanup without any test coverage.
Manually checked on a job running locally, that non-zero Busy % can be seen.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving):no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature?  no
If yes, how is the feature documented? not applicable

@flinkbot run azure

Thanks for fixing it! I was wondering what has broken that.
@xintongsong @Laffery , can one of you take a look at this? It was caused by a change that you committed a while back and I don't know enough about JS/TS to do a proper review :(
@hlteoh37 if this won't get reviewed soon, please remind me I will merge it as is trusting your manual tests.

@flinkbot run azure

CI seems to be failing because of editing a wiki -.- 99.9% sure it's not related to this change!

@flinkbot run azure

CI seems to be failing because of editing a wiki -.- 99.9% sure it's not related to this change!

That has been fixed on master, so rebasing would have fixed it. But anyway, I'm merging it as it is :) Thanks for the fix and thanks @Laffery for the review!


Is it possible to get all stakers?

Is it possible to get all stakers?

It looks like you can get it by using the farmAcc object - at least that shows the farmerCount and stakedFarmerCount.  But the trick is - where can we go to see each individual farmer.  In addition, I'm looking at the Identity - I can see that when I look at mine, but I really don't see anyone else's farmer identity.
This is critical to be able to provide airdrops for our folks without having them unstake.
@ilmoi  - do you already have a function built in that lets us retrieve the list of farmers and their associated gems?
Thanks.

  Thank you @h0llyp0lly !!!  I'll give it a shot.

Heyo @h0llyp0lly could you provide the code? I am new with PDAs and don't know how to do it. I want it to know the current real holders.

I ended up with this:
const { Connection, PublicKey } = require("@solana/web3.js");
import { initGemBank } from "../gem-farm/common/gem-bank";
import { GemFarm, initGemFarm } from "../gem-farm/common/gem-farm";

export async function getGemWorksAccountsByWallets(wallets: string[]) {
    let token_accounts: [] = [];

    return token_accounts;
}

export async function getGemWorksHolders(farmId: string, solana_endpoint: string = "https://api.devnet.solana.com") {
    const connection = new Connection(solana_endpoint, "confirmed");
    const farmClient = await initGemFarm(connection);
    const bankClient = await initGemBank(connection);

    const allFarmers = await farmClient.fetchAllFarmerPDAs(
      new PublicKey(farmId!)
    );

    let holders: { [key: string]: any[] } = {};

    for (var i = 0; i < allFarmers.length; i++) {
      let cfarmer = allFarmers[i];
      let cfarmerPDA = cfarmer.publicKey.toBase58();
      let cfarmerAcc = cfarmer.account;
      let cfarmerWallet = cfarmerAcc.identity.toBase58();

      const foundGDRs = await bankClient.fetchAllGdrPDAs(cfarmerAcc.vault);

      const mints = foundGDRs.map((gdr: any) => {
        return gdr.account.gemMint.toBase58();
      });

      holders[cfarmerWallet] = mints;
    }

    return holders;
}

Nice work!  Looks good, and I'll have a look in my farm to see if that makes sense.  On its' face, it does!

hey guys, im also trying to pull all current holders. I have tried your method and cant seem to get it working


should impliment both update and insert for gas and non-gas file

gas_new for insert, by default(without gas_new) it is update


add auto publish workflow on new tag, release

currently It is not clear which npm token to use.
This PR should be merged after setting token name in github secrets.

The changelog seems to have an 80 character auto-newline. Was there any discussion about changing the format?

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


How to Download?

Hi, just discovered this application, it seems like it does a very good job. I'm wondering if the download could be improved. Right now, it seems like the way to download is to right-click on the audio playback area. Is that correct?
Did you choose to not use a Streamlit download button because clicking on the button would reload the page? For some reason, when I download via right click, it's a really slow download, even though the files are only 8mb. I'm wondering if a Streamlit download button would do better, e.g. downloading a zip file with all the stems.
The download button refreshing the page is going to be disable-able soon, so maybe there is hope? https://github.com/streamlit/streamlit/issues/4382

Hi @kevinlinxc, a download button could be a future improvement. I will add it in a future release, thanks for the feedback.

waiting sir>>:D

Hi ...After runing the script Is bringing an error that app.service is not dund

Hello @fabiogra is this feature implemented ?


How to exclude/include some columns for query?

How to exclude/include some columns for query?
For example, I have table with column FULL_TEXT that can contains a heavy value with detail text.
But in RecyclerView I use SHORT_TEXT value (less than 100 symbols)
How I can exclude FULL_TEXT column value from query using Orma relation builder?

Currently, there's no convenience method for it. You must call a low-level Selector#executeWithColumns(): Cursor.
However, your idea seems reasonable and I'll add a convenience way to do so.

Considering for a while, I have concluded that it is difficult in type-safe way.
I think using Cursor is the best way to select specific columns.

Yes, best way in current version of Orma is use Selector#executeWithColumns().
My solution is based on your answer:
Cursor cursor = getUserFolders()
                .isInTrashEq(false)
                .parentIdEq(parentId)
                .orderBy(sortType)
                .selector()
                .executeWithColumns(
                        FolderObj_Schema.INSTANCE.globalId.name,
                        FolderObj_Schema.INSTANCE.parentId.name,
                        FolderObj_Schema.INSTANCE.title.name,
                        FolderObj_Schema.INSTANCE.dateAdded.name);

        List<FolderObj> childFolders = getFolderObjListFromCursor(cursor); //manual get values by cursor index in loop

Thanks! Issue resolved

👍


Feature/http port

The default server port is 3000 but when developing sometimes changing the port in the config is not an available option. Defining the environment variable HTTP_PORT is another option.

Needed this and a bit more for my own needs, opened #21.


[text analytics] add support for optional string-index-type query param

support will be added for this on TA v3.0 API

@iscai-msft mind that give an example of it?

it's the encoding parameter that they're deploying (going to be retroactively applied to v3.1-preview.1, rolling it out with v3.1-preview.2). Here is the swagger spec for it


Test aggregation engine on mysql, postgresql

Test aggregation engine on mysql, postgresql

Fixed in PR #151


Add POST_EXECUTION_CALL node for library modeling.

A POST_EXECUTION_CALL node indicates the existence of a call executed
on a return value or out parameter of a method after this method has
been executed. This is used to model framework code calling functors
returned from user code. The outgoing REF edge indicates on which
returned entitity the call will happen.

Is this really necessary? Can't we use ImplicitCall nodes for that?
ImplicitCall is not a "real" node anyway, and looked up in SemanticsDatabase. We could simply augment SemanticsDatabase to handle this (just a preCall | postCall boolean flag). Or we could add a boolean flag to the node itself.
The reason I'm aksing is that everything that goes into the graph becomes slow, almost impossible to deprecate, and inflexible.
Furthermore it adds a lot of mental overhead: Ideally everyone working with CPG should be able to hold the entirety of the spec + meaning  in their mind at all times -- including all the invariants that cannot be expressed as a graph spec. That is obviously not the case, but the extra complexity appears unneeded here.

I am merging this now despite being red in order to break cyclic dependency with fuzzyc2cpg.


When reading host input using $Host.UI.ReadLine(), pressing Ctrl-C does not stop the execution of follow-up .NET method calls

Steps to reproduce

Run the following code snippet:$out = $Host.UI.ReadLine()
$Host.UI.WriteLine('Input done: ' + $out)

While the .ReadLine() call is waiting for input, press Ctrl-C.
Observe that the second line was also executed.

Context
As noted in #12101, .NET methods are not interrupted when Ctrl-C is pressed. For example, run [System.Threading.Thread]::Sleep(5000) and try pressing Ctrl-C. Additionally, a block of .NET methods is executed together, and Ctrl-C only interrupts the command after the whole block finishes. For example, try running [System.Threading.Thread]::Sleep(2000); $Host.UI.WriteLine("print") and pressing Ctrl-C during the sleep. The second line is still executed.
However, for PowerShell cmdlets, Ctrl-C is registered immediately. If you replace the .WriteLine call in the previous example with Write-Host, it's not executed.
The issue is that $Host.UI.ReadLine() internally checks for Ctrl-C and returns with null when it's pressed. This results in the PowerShell runtime executing more code after the .ReadLine() call, as long as the follow-up statements are also .NET method calls. See the following examples:
Both prints are executed when Ctrl-C is pressed while waiting for input:
$out = $Host.UI.ReadLine()
$Host.UI.WriteLine('Input done: ' + $out)
$Host.UI.WriteLine('Input done: ' + $out)

Nothing is executed after Ctrl-C, as the PowerShell runtime has control in the Read-Host cmdlet:
$out = Read-Host
$Host.UI.WriteLine('Input done: ' + $out)
$Host.UI.WriteLine('Input done: ' + $out)

Nothing is executed after Ctrl-C, as the PowerShell runtime receives control in the Write-Host cmdlet and stops:
$out = $Host.UI.ReadLine()
Write-Host ('Input done: ' + $out)
$Host.UI.WriteLine('Input done: ' + $out)

Nothing is executed, as the for loop gives control back to the PowerShell runtime:
$out = $Host.UI.ReadLine()
for ($i = 0; $i -lt 10; $i++) {
	$Host.UI.WriteLine('Input done: ' + $out)
}

Proposed solution
I assume that checking if Ctrl-C was pressed between .NET method calls might be too expensive in terms of performance. However, it might be feasible to stop execution inside the .ReadLine() call when Ctrl-C is detected. Alternatively, just documenting this behavior (and the interaction of Ctrl-C with .NET calls in general) might be enough.
Environment data
Name                           Value
----                           -----
PSVersion                      7.4.0-preview.1
PSEdition                      Core
GitCommitId                    7.4.0-preview.1
OS                             Microsoft Windows 10.0.19045
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

The interactive WG discussed this and we agree that the inconsistency in checking for interrupts is not ideal, but we feel that adding additional checks would not have the impact needed to balance out the risk involved.

Some additional notes from me: there are two different aspects here.

Additionally, a block of .NET methods is executed together, and Ctrl-C only interrupts the command after the whole block finishes

And also (and the main thing behind #17633) we don't really have a way to cancel an input request. See #19664 for a description of all the issues I've had attempting to do it in PSES over the years

As a workaround, if you want to inject a check for stops with the least amount of extra code gen possible, add this where you'd like:
do {} until ($false)

When not debugging it's roughly two extra field accesses and branch instructions.


Yarn not found, but I downloaded it and its up!

It only doesn't work in the run.bat. And Install.bat just freezes.

Run.bat and Install.bat are no longer used. If you downloaded the bot as a ZIP file, then you installed it wrong. Delete the SharpBot folder and ZIP file and follow the instructions in the installation section.
You are clearly on Windows since you're trying to run the Run.bat and Install.bat files, so you are most likely suffering from a common Windows issue; Yarn is often not recognized until after a reboot. This is a common problem, and the cause has yet to be determined. It is not an issue with SharpBot or any of my software, but rather with either Windows or Yarn.

Please reboot, delete the SharpBot folder and ZIP file, and then reinstall properly.

Thanks!

Assuming you have resolved everything, I am going to close this issue now.


[HOLD for payment 2024-02-07] Bank account - Wrong account number error is still shown after restarting the add BA process

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.31-2
Reproducible in staging?: Y
Reproducible in production?: no, unable to check prod
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4234233
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Pre-requisite: user must be logged in and have created a Workspace

Go to Settings > Workspaces > Select Workspace > Bank account
Try to add BA with Plaid, selecting Chase bank and the account ending in "1111"
When entering the account number, enter "1111222233334444", an error should appear when trying to submit the form
Restart the process selecting the same bank and the account ending in "1111"

Expected Result:
No error should appear as the process was restarted
Actual Result:
Wrong account number error is shown after the process is restarted
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/2779182a-a6a1-42f8-8612-d8e79475ac9d
View all open jobs on GitHub

Hmm, yeah we should probably be clearing the errors once you press Connect online with Plaid
Side note also that the styling for the dropdown for the accounts is super wonky

dropdown looks fine on dev MacOS-Chrome though, probably a platform-specific thing.

I'm able to reproduce the issue on dev, looking into a fix now.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Wrong account number error is still shown after restarting the add BA process
What is the root cause of that problem?
Reimbursement account error data is not getting reset when clicking on the back button to exit the bank account plaid step form.
What changes do you think we should make in order to solve the problem?
Reset reimbursement account error onyx data for manual step in back button press handler here;
import * as ReimbursementAccountErrors from '@libs/actions/ReimbursementAccount/errors';

...

    const goBack = () => {
    ...
            case CONST.BANK_ACCOUNT.STEP.BANK_ACCOUNT:
                if (hasInProgressVBBA()) {
                    setShouldShowContinueSetupButton(true);
                }
                if (subStep) {
                    BankAccounts.setBankAccountSubStep(null);
                    BankAccounts.setPlaidEvent(null);
+                    ReimbursementAccountErrors.resetReimbursementAccount();
                } else {
                    Navigation.goBack(backTo);
                }
                break;

What alternative solutions did you explore? (Optional)
N/A

@thienlnam since you're App deployer this week, if the above PR isn't merged / CP'd by tomorrow I wouldn't hold the deploy on this since the behavior is pretty niche and it's not a significant error or breaking anything really.

Sounds good, thanks!

@rushatgabhane do we owe you payment for reviewing https://github.com/Expensify/App/pull/35117?

Seems we are all set here, closing!

Hi @NikkiWines, i missed this because i wasn't assigned.
Anyway, could you please attach payment summary for review of

https://github.com/Expensify/App/pull/35117

@twisterdotcom can we issue payment to @rushatgabhane for reviewing https://github.com/Expensify/App/pull/35117 please 🙇

@rushatgabhane is paid via newDot: https://github.com/Expensify/Web-Expensify/blob/058e9134d8e6b038b9a31364f496406e2b2415a7/_devportal/lib/KernelScheduling/Data.php#L261C10-L261C23

Payment Summary:

@rushatgabhane paid $500 via NewDot Requests (C+)

$500 approved for @rushatgabhane based on summary above.


Instance initializer

This is throwing a deprecation warning in Ember 1.12 because of calling lookup on the container.

@ebryn for your consideration.

I don't belive this is backwards compatible. Can you selective use it if it exists?

it's not backwards compatible. what's the strategy for ember-model? there are other deprecations for things like the new writable computed get/set syntax that would be... unpleasant to make backwards compatible.

You can make it backwards compatible by simply doing:
(Application.instanceInitializer || Application.initializer)({..})

https://www.npmjs.com/ember-computed-polyfill backports the new computed syntax

@ebryn would you want to take a dependency on ember-computed-polyfill?

let's discuss that in another specific issue, can you please revise this PR?

sure. doing it NAO

@ebryn i think this is right now. Turns out calling an instance initializer is harder than just switching the function you're calling if it's available. This isn't ideal and a bit copy pasta but it works in both 1.11 and 1.12. Does this look ok to you?

@ebryn thoughts on this? i'll take a look at the computed properties next. Also any advice on testing with multiple versions of ember similar to ember-try?

@ebryn this isn't right still I don't think... i have a feeling that for ember 2.0 this will need to be two initializers, as instance initializers and regular initializers serve very different roles.

@jonnii what makes you think this isn't right?

It's not needed now anyway. You can close this or I will once I'm home.
—
Sent from Mailbox
On Sun, Jun 14, 2015 at 4:43 PM, Erik Bryn<EMAIL_ADDRESS>wrote:

@jonnii what makes you think this isn't right?
Reply to this email directly or view it on GitHub:
https://github.com/ebryn/ember-model/pull/425#issuecomment-111875002

what do you mean it's not needed?

The PR you just merged contains a similar (better) fix for this deprecation.
—
Sent from Mailbox
On Sun, Jun 14, 2015 at 4:44 PM, Erik Bryn<EMAIL_ADDRESS>wrote:

what do you mean it's not needed?
Reply to this email directly or view it on GitHub:
https://github.com/ebryn/ember-model/pull/425#issuecomment-111875084

Ah, yes, it does...


Add setting to extend dotnet-publish arguments in ApplicationDeployer

Required to port MusicStore to vs2017.

:shipit:


Fix typographical error(s)

@caelum, I've corrected a typographical error in the documentation of the tubaina project. Specifically, I've changed beggining to beginning. You should be able to merge this pull request automatically. However, if this was intentional or if you enjoy living in linguistic squalor, please let me know and create an issue on my home repository.

LOL no, we don't support begging for new beginnings. I've been away from this project for a long time, but I'm paying the attention it deserves now.


Recognizing shapes

Hello
In the swift 3 update, you have commented out the template part and gesture recognizer delegate method are not implemented. Can you please share the code for gesture recognizing and overriding the recognized path drawing. I saw the youtube video where you showed that output.

Let me look into this tomorrow.

In swift 3 with the template part commented back in the compiler goes into an endless build.
To fix it:
let points : Array = // ... the template array
newRectTemplate.points = points

Sorry I haven't had time to look into this. Do you mind raising a PR?


Motionsplit

It takes 6 parameters on the stack. too much, easier for readability to do a map.
where default value for split could be 'split' string, where proximity parameters could be -1 for people who did not want to use this.
The timeThreshold is functionnaly already present in TIMESPLIT. Why is it here (without minimum points notion) ?
More than a MOTIONSPLIT function with 6 inputs, why not having a SPLIT framework, taking a map of parameters as input. In the map, we could do TIMESPLIT and/or distanceTheshold split and/or proximityZone detection, and maybe more in the future (split by elevation, by heading change, a MACROSPLIT that may be less powerfull than a multi gts output macromapper, but simpler to implement).

PTAL

PT(yet)AL

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

@pi-r-p feel free to contribute your suggested changes to the parameter passing


Grant-CsTeamsInteropPolicy no longer exists

Has this cmdlet been deprecated?  It's not recognized, and the Grant-CsTeamsUpdatePolicy seems to be all you need now.

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

ID: 25f11980-56c3-6000-7f9e-620f9e04a754
Version Independent ID: 9603c9fa-7963-2bdf-3f96-2d095f84b860
Content: Basic Upgrade PowerShell
Content Source: Teams/upgrade-basic-powershell.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@chrisbardon  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@tonysmit hey I need your assistance with it. As far as I know, TeamsUpgradePolicy replaced TeamsInteropPolicy. During the transition, customers should set both InteropPolicy and UpgradePolicy. Does it mean that this article should be updated just by removing all TeamsInteropPolicy calls?

@chrisbardon, @dplotnikov  as long as I know. I think that this cmdlet is obsolete after Microsoft has migrated already most tenants into "teams only" and after that, it can't be changed it, so it gets grayed out on the portal.

@j0rt3g4 so what's your suggestion here then?

@dplotnikov  wait for the author
I already asked @scanum  to contact him and see what he has to add or what to proceed with this article.

it works just run the following:
#Connect using a Skype for Business Online administrator account with multifactor authentication
Import-Module SkypeOnlineConnector
$sfbSession = New-CsOnlineSession
Import-PSSession $sfbSession
$Users = Import-Csv -Path c:\temp\TeamsOnlyMode.csv
foreach($User in $Users)
{
Grant-CsTeamsUpgradePolicy -Identity $User.UserPrincipalName -PolicyName UpgradeToTeams
}
Anyone know how to add "Notify the Skype for Business user"?

@LanaChin Hi Lana, could you please assist us on this issue? Thanks!

@scanum - We received confirmation from the PM that that the three Grant-CsTeamsInteropPolicy command lines in the doc should be removed.  Thank you.

@LanaChin feel free to merge the change and close this issue

Done!  Thanks.


Plan Routes

This feature may be quite difficult to add. Allow the user to enter a starting point and an ending point (via auto-complete). The map should display a route, from the starting point to the ending point, as well as table locations that are near the route.

We would want it to be like this


Bug/key vault vnet

Fix Key Vault open from all networks when using VNET. #227

Thanks @felipmiguel for your contribution here !


Option to disable implicitly adding using statements

If I type the name of an item from a namespace that is not imported, it automatically -- silently -- adds a using statement to the top of the file. Is it possible to turn this off? I don't want to get rid of the IntelliSense listing types from other namespaces, that's useful, but I personally would prefer selecting a non-imported type to simply generate a compile-time error. Many, many times now, I've found bizarre using statements at the top of files because at some point, I fat-fingered a type name. I backspaced it and corrected it, but the unnecessary using statement, added out of view, remains.

/needsMoreInfo
What language is it for?
Looks like one which requires an extension, so check extension's settings first and request feature in extension's repo if it's not available.

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

@IllusionMH The language is C# -- so that'd be dotnet/vscode-csharp ?

It looks like this is caused by the C# extension. Please file the issue to the C# extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


add note on source of ais.gpkg

I'm curious where https://github.com/anitagraser/movingpandas-examples/blob/main/data/ais.gpkg comes from and how it was generated. It would be great to have more detail in https://github.com/anitagraser/movingpandas-examples/blob/main/2-analysis-examples/ship-data.ipynb

The datasets are now described in https://github.com/movingpandas/movingpandas-examples/blob/main/data/README.md


大佬，第一步启动就出问题Creating cli                              ... error

区块链 ： 启动
Creating network "deploy_default" with the default driver
Creating orderer.blockchainrealestate.com ...
Creating cli                              ... error
ERROR: for cli  Cannot create container for service cli: Conflict. The container name "/cli" is already in use by container "f1b5833e0765d5666d08d25756d4a82cd05da90edef0cd6c2dfa3aec1cc5e8b4". You have to remove (or rename) that
Creating orderer.blockchainrealestate.com ... error

执行一下stop.sh 或者 手动删除 f1b5833e0765d5666d08d25756d4a82cd05da90edef0cd6c2dfa3aec1cc5e8b4 这个容器试试

您好删除镜像确实可以了，但是也出现了一点小问题，您能再看一下嘛
Error: could not assemble transaction, err proposal response was not successful, error code 500, msg failed to execute transaction e72bd93ee484982938ac44ba0ca8f90a5832110cfb484642ff38a83c550065bd: error sending: timeout expired while executing transaction
正在等待链码实例化完成，等待5秒
八、验证查询账户信息
2021-05-21 08:45:36.441 UTC [main] InitCmd -> WARN 001 CORE_LOGGING_LEVEL is no longer supported, please use the FABRIC_LOGGING_SPEC environment variable
2021-05-21 08:45:36.445 UTC [main] SetOrdererEnv -> WARN 002 CORE_LOGGING_LEVEL is no longer supported, please use the FABRIC_LOGGING_SPEC environment variable
2021-05-21 08:45:36.452 UTC [chaincodeCmd] InitCmdFactory -> INFO 003 Retrieved channel (assetschannel) orderer endpoint: orderer.blockchainrealestate.com:7050
Error: endorsement failure during invoke. response: status:500 message:"make sure the chaincode blockchain-real-estate has been successfully instantiated and try again: chaincode blockchain-real-estate not found"

把 docker 镜像的fabric-ccenv rmi 删掉，重新试试，注意看start脚本，哪步骤遇错，就去看一下对应步骤


CI: Mac

Travis allows to run on their os x infrastructure as well. See https://docs.travis-ci.com/user/workers/os-x-infrastructure/

I'll reopen this: see https://travis-ci.org/snowleopard/shaking-up-ghc/jobs/100553205. It seems that we don't have clang on travis:
Error when running Shake build system:
* inplace/bin/hp2ps
* utils/hp2ps/stage0/build/Utilities.o
* OracleQ (DependenciesKey ("utils/hp2ps/stage0/build/.dependencies","utils/hp2ps/stage0/build/Utilities.o"))
* utils/hp2ps/stage0/build/.dependencies
* utils/hp2ps/stage0/build/Utilities.c.deps
* clang
Error, file does not exist and no rule available:
  clang

It seems that we don't have clang on travis:

They do. I'll check when I'm back home.

Ah, I think I know the reason. We are missing ./configure --with-gcc=$(which clang).

Ah, I think I know the reason. We are missing ./configure --with-gcc=$(which clang).

You are right. That could be the reason. On second consideration, I might have an idea how to fix that clang issue :-)

After these two fixes we have a working Mac CI: 03b3379, b67f727.
The latter one reduces the build time beyond 50 min (hard limit for OS X) by requiring base library as the main target.


Hint to the compiler to inline the fill_window function

Inspired by @nmoinvaz suggestion in issue #18,  I went through the functions that currently aren't inlined and tried adding a compiler hint to inline them. Some didn't help or even caused regressions when inlined, but this one seems to improve performance at compression level 1:
  measurement          mean ± σ            min … max           outliers         delta
  wall_time          73.6ms ± 3.79ms    71.6ms …  101ms          4 ( 6%)        0%
  peak_rss           26.7MB ± 76.8KB    26.5MB … 26.7MB          0 ( 0%)        0%
  cpu_cycles          281M  ± 14.9M      278M  …  402M           2 ( 3%)        0%
  instructions        568M  ±  265       568M  …  568M           0 ( 0%)        0%
  cache_references    265K  ± 2.95K      263K  …  285K           6 ( 9%)        0%
  cache_misses        232K  ± 9.17K      201K  …  245K          14 (21%)        0%
  branch_misses      2.94M  ± 6.20K     2.90M  … 2.95M           5 ( 7%)        0%
Benchmark 2 (70 runs): ./target/release/examples/blogpost-compress 1 rs silesia-small.tar
  measurement          mean ± σ            min … max           outliers         delta
  wall_time          71.5ms ±  710us    70.5ms … 74.1ms          2 ( 3%)        ⚡-  2.8% ±  1.2%
  peak_rss           26.7MB ± 80.1KB    26.5MB … 26.7MB          0 ( 0%)          -  0.1% ±  0.1%
  cpu_cycles          274M  ±  500K      273M  …  275M           0 ( 0%)        ⚡-  2.6% ±  1.2%
  instructions        565M  ±  277       565M  …  565M           1 ( 1%)          -  0.6% ±  0.0%
  cache_references    266K  ± 4.67K      263K  …  300K           2 ( 3%)          +  0.5% ±  0.5%
  cache_misses        231K  ± 9.01K      203K  …  245K          12 (17%)          -  0.0% ±  1.3%
  branch_misses      3.03M  ± 8.03K     3.01M  … 3.05M           0 ( 0%)        💩+  3.1% ±  0.1%

while not hurting performance at higher compression levels:
Benchmark 1 (12 runs): ./blogpost-compress-baseline 9 rs silesia-small.tar
  measurement          mean ± σ            min … max           outliers         delta
  wall_time           447ms ± 1.47ms     446ms …  451ms          1 ( 8%)        0%
  peak_rss           24.5MB ± 64.5KB    24.4MB … 24.5MB          0 ( 0%)        0%
  cpu_cycles         1.88G  ± 2.25M     1.88G  … 1.88G           5 (42%)        0%
  instructions       3.18G  ±  238      3.18G  … 3.18G           0 ( 0%)        0%
  cache_references    274K  ± 4.73K      269K  …  283K           0 ( 0%)        0%
  cache_misses        240K  ± 3.72K      229K  …  244K           2 (17%)        0%
  branch_misses      19.4M  ± 73.3K     19.3M  … 19.5M           0 ( 0%)        0%
Benchmark 2 (12 runs): ./target/release/examples/blogpost-compress 9 rs silesia-small.tar
  measurement          mean ± σ            min … max           outliers         delta
  wall_time           447ms ±  672us     445ms …  448ms          1 ( 8%)          -  0.0% ±  0.2%
  peak_rss           24.4MB ± 68.5KB    24.4MB … 24.5MB          0 ( 0%)          -  0.1% ±  0.2%
  cpu_cycles         1.88G  ± 1.63M     1.88G  … 1.88G           0 ( 0%)          +  0.1% ±  0.1%
  instructions       3.19G  ±  358      3.19G  … 3.19G           0 ( 0%)          +  0.2% ±  0.0%
  cache_references    274K  ± 4.74K      269K  …  285K           0 ( 0%)          +  0.1% ±  1.5%
  cache_misses        240K  ± 3.28K      231K  …  244K           1 ( 8%)          +  0.2% ±  1.2%
  branch_misses      19.3M  ± 37.7K     19.3M  … 19.4M           0 ( 0%)          -  0.4% ±  0.3%

compare256 functions are not inlined to longest_match?

compare256 functions are not inlined to longest_match?

They are in zlib-rs, although in zlib-ng they seem to be called through a function pointer (I guess to allow run-time selection of different SSE/AVX implementations from a single x86 build)

zlib-rs also selects the AVX2 version of compare256 at runtime, using a conditional branch. It looks like that ends up being faster than the function-pointer approach because it enables the compiler to inline the hardware-specific implementation.

What happens exactly depends on the target features that are enabled at compile time: on most x86_64 CPUs-Ctarget-cpu=native will enable avx2 and will statically pick the right implementation. My reading of the zlib-ng code and output assembly is that it does the same thing. When the feature is not enabled statically, then we check for it at runtime. This check is cached in an atomic, so usually has low cost, although in isolated tests it can be beaten by using a function pointer approach. In our measurements the difference was so small though that it did not matter for real-world input.
Combined with that, by default the avx2 intrinsics are not inlined, unless the surrounding function is marked as having    #[target_feature(enable = "avx2")], I believe we've made sure that that is the case, but of course we may have missed a spot (a clippy lint for verifying this automatically is under review).

@brian-pane I'm seeing an improvement for level 1, but a regression for compression level 2
Benchmark 1 (40 runs): target/release/examples/compress-baseline 2 rs silesia-small.tar
  measurement          mean ± σ            min … max           outliers         delta
  wall_time           127ms ±  962us     125ms …  129ms          0 ( 0%)        0%
  peak_rss           25.0MB ± 66.3KB    24.9MB … 25.0MB          0 ( 0%)        0%
  cpu_cycles          518M  ± 3.89M      510M  …  528M           0 ( 0%)        0%
  instructions       1.09G  ±  285      1.09G  … 1.09G           1 ( 3%)        0%
  cache_references   34.2M  ±  370K     33.6M  … 35.5M           3 ( 8%)        0%
  cache_misses       1.01M  ±  212K      735K  … 1.69M           2 ( 5%)        0%
  branch_misses      6.94M  ± 3.69K     6.93M  … 6.95M           3 ( 8%)        0%
Benchmark 2 (39 runs): target/release/examples/blogpost-compress 2 rs silesia-small.tar
  measurement          mean ± σ            min … max           outliers         delta
  wall_time           130ms ± 1.06ms     127ms …  133ms          1 ( 3%)        💩+  2.1% ±  0.4%
  peak_rss           25.0MB ± 63.7KB    24.9MB … 25.0MB          0 ( 0%)          +  0.1% ±  0.1%
  cpu_cycles          529M  ± 4.49M      519M  …  541M           4 (10%)        💩+  2.1% ±  0.4%
  instructions       1.09G  ±  327      1.09G  … 1.09G           1 ( 3%)          +  0.0% ±  0.0%
  cache_references   34.4M  ±  359K     34.0M  … 35.4M           2 ( 5%)          +  0.6% ±  0.5%
  cache_misses       1.16M  ±  231K      885K  … 1.88M           4 (10%)        💩+ 14.3% ±  9.8%
  branch_misses      6.93M  ± 3.13K     6.93M  … 6.94M           1 ( 3%)          -  0.1% ±  0.0%

Level 3 and onward appear fine. So this might need some further tweaking (maybe moving some cold code out of the function you now inline?)

I moved what I could out of the inlined part in bb2c510. It might not be enough, though.

Zlib-ng inlines compare256 by having associated versions of longest_match, then longest_match which is called more infrequently is called by a function pointer. Only direct function pointer to compare256 is called in deflate_quick.

I've been playing around with this, and there is definitely something here, but I believe that the only case where this matters for quick at least is when we run on a cpu with avx2, but compile for a generic x86_64 target. E.g. for aarch64, neon is already enabled by default (so there is no runtime branch), and for simd128 on wasm, the flag must be enabled at compile time, runtime detection is not available on that platform. Furthermore compare256 does not benefit from avx512, so that is not relevant either.
I've done some experiments with adding #[target_feature(enable = "avx2")] to some functions, and it helps a lot. With -target-cpu=native we do now roughly match the performance of zlib-ng, so we lose the performance in the dispatching and just worse codegen in certain functions when avx2 is not statically enabled.
But, there is not a very ergonomic way to specialize for a range of target features now (though there is a proposed project goal that hopefully brings a solution closer). I did experiment with using a function pointer dispatch method, and that does help a bit https://github.com/trifectatechfoundation/zlib-rs/pull/273, but as mentioned using avx2 in more places is advantageous. We'll need to carefully weigh performance and maintainability here.


Platform Channels Docs Switcharoo

On
https://flutter.io/platform-channels/?
under "Architectural overview: platform channels" the diagram looks to be flipped

@mit-mit @mravn-google

Thanks @marklester for spotting this!


Fixed Typo inside of Flow Validation Error Message

@frankfiorante Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@frankfiorante Thank you for signing the Contributor License Agreement!

Thank you for the fix!
Only the problem that this project is out of support and unlikely is going to be released again.
Everybody is advised to move to Spring Integration 5.x generation where this project is as a part of core functionality: https://docs.spring.io/spring-integration/docs/5.2.0.BUILD-SNAPSHOT/reference/html/dsl.html#java-dsl
Please, consider to fix the same typo there as well: https://github.com/spring-projects/spring-integration/blob/master/spring-integration-core/src/main/java/org/springframework/integration/dsl/IntegrationFlowDefinition.java#L3146
Merging this one meanwhile...


nixosTests.pt2-clone and others hang

Describe the bug
pt2-clone.tests/nixosTests.pt2-clone, nixosTests.ft2-clone, nixosTests.shattered-pixel-dungeon, nixosTests.xterm (and probably others) hangs:
[...]
machine # [   25.071572] systemd[952]: Reached target Current graphical user session.
(27.39 seconds)
machine # [   26.830709] systemd-udevd[687]: controlC0: Process '/nix/store/i1jkln6xh32aw11xmjk4p8f14cpzszjz-alsa-utils-<IP_ADDRESS>/sbin/alsactl restore 0' failed with exit code 99.
machine # [   26.889435] systemd[1]: Reached target Sound Card.
machine # [   26.918075] systemd[952]: Reached target Sound Card.
^Cerror: interrupted by the user

Full log: pt2-clone.tests.txt
Steps To Reproduce
nix-build -A pt2-clone.tests
Expected behavior
[...]
machine: must succeed: xwininfo -root -tree | sed 's/.*0x[0-9a-f]* \"\([^\"]*\)\".*/\1/; t; d'
(0.08 seconds)
(3.31 seconds)
machine: must succeed: sleep 5
(5.10 seconds)
machine: sending monitor command: screendump /build/tmp2_cesjz4/ppm
machine: making screenshot /nix/store/yscyb0ymgmn8nshkb260gmqca05krsg0-vm-test-run-pt2-clone/screen.png
machine: sending monitor command: screendump /nix/store/yscyb0ymgmn8nshkb260gmqca05krsg0-vm-test-run-pt2-clone/screen.png.ppm
(0.15 seconds)
(62.30 seconds)
test script finished in 62.45s
cleanup
kill machine (pid 8)
machine # qemu-system-x86_64: terminating on signal 15 from pid 6 (/nix/store/8dxxjbiyxwkvh53q5kh6nydla2anacgi-python3-3.9.6/bin/python3)
(0.09 seconds)
/nix/store/yscyb0ymgmn8nshkb260gmqca05krsg0-vm-test-run-pt2-clone

Additional context
I ran a bisect and it looks like 1640359f333d8af40bf1f3e7961943ea04c6d1a1 (PR #142747) is the cause
1640359f333d8af40bf1f3e7961943ea04c6d1a1 is the first bad commit
commit 1640359f333d8af40bf1f3e7961943ea04c6d1a1
Author: Janne Heß<EMAIL_ADDRESS>Date:   Sun Oct 24 15:46:45 2021 +0200

    nixos/test-runner: Fix execute() flakiness

    Instead of using the magic string, we now just base64-encode everything
    and check for a newline.

 .../development/writing-nixos-tests.section.md     |  5 +++
 .../development/writing-nixos-tests.section.xml    |  8 ++++-
 nixos/lib/test-driver/test-driver.py               | 40 +++++++++++++++-------
 nixos/tests/hibernate.nix                          |  4 +--
 nixos/tests/kexec.nix                              |  2 +-
 5 files changed, 43 insertions(+), 16 deletions(-)

Notify maintainers
Author of the above commit: @dasJ
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.48, NixOS, 21.05.1412.cf59fbd5396 (Okapi)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.4pre20210601_5985b8b`
 - channels(root): `"nixos-21.05.1412.cf59fbd5396"`
 - channels(fgaz): `"nixpkgs-21.11pre326821.509d236edf0, stable-20.09.4407.1c1f5649bb9"`
 - nixpkgs: `/home/fgaz/.nix-defexpr/channels/nixpkgs`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
- nixosTests.pt2-clone
- nixosTests.ft2-clone
- nixosTests.shattered-pixel-dungeon
- nixosTests.xterm
# a list of nixos modules affected by the problem
module:

This fails because the command never exits and so base64 never exit which causes the loop to hang forever. Any ideas @tfc @roberth? If not we can just revert my PR

I've skipped a few steps here. The reason to do so is we can force the shutdown in-band, without risking the loss of buffered data.
Perhaps a hackier way to achieve this is to have a process that behaves like cat until it sees a specific string in its input, and then exits before writing that input to its output. Iirc linux man 2 write is atomic up to 4kb, so interleaving (invaliding the special string) shouldn't be an issue.
Or we could just use this of course https://docs.microsoft.com/en-us/windows/win32/api/namedpipeapi/nf-namedpipeapi-disconnectnamedpipe :trollface:

We surely don't want to shut down the pipe since it's a socket that connects us to the backdoor service or am I misunderstanding your point here?

Turns out tests still hang sometimes so my fix didn't really fix the root issue. We can probably just revert it and live with the pain of hanging tests

We surely don't want to shut down the pipe since it's a socket that connects us to the backdoor service or am I misunderstanding your point here?

Yeah we only want to terminate the command. I wasn't clear about which pipe.
# conceptually
($cmd | base64) | testScript
      ^
    this pipe
    is the pipe we want to close, so that
    base64 can terminate and testScript
    can continue

That's not something we can do with a normal unix fifo, as far as I'm aware.
A socket connection can be closed but that will require a lot of custom stuff.
So what we want is something like this:
($cmd; while ! [[ -f pid ]]; sleep 0.1; done; kill $(<pid) ) | (cat & echo $!>pid) | base64

except this can throw away unbuffered data when cat didn't have enough time to forward stuff to base64.
That's where the socket connection comes in. At this point, bash is not of much use anymore.
with-terminating-pipe $cmd | base64

Excuse my pseudocode.
with-terminating-pipe:
# first perform some rituals to get a pair of socket _connections_
socketPath <- mkTemp
socket <- createUnixDomainSocket(socketPath)
listen(socket)
cmdSide <- openAndBind(socketPath)
wrapperSide <- accept(socket)
close(socketPath)
rm(socketPath)

# we now have cmdSide and wrapperSide file descriptors,
# connected to each other. Capable of bidirectional communication
# as well, but we'll treat them as fifo fds. Should be fine.
# point is, we now can use `man 2 shutdown` on them.
# We can also shut down the direction we don't need, but that's not important.

shovelThread <- detachThread {
  while (data <- read(wrapperSide)) {
    write(stdout, data)
  }
}
# now run $cmd with its output going into our socket pair
cmdExitStatus <- forkAndWaitForExit {
  stdin <- /dev/null
  stdout <- cmdSide
  stderr <- /dev/console # or maybe it already is, idk
  return system($cmd)
}
# $cmd has exited, so it has put all its data in the buffer.
# now we can close it without losing data
shutdown(cmdSide)

# now we wait for sholveThread to encounter the closure and finish
wait(shovelThread)

# output is safely on its way to base64.
# we're almost done, just need to propagate the exit code.
exit(cmdExitStatus)

I think we should just wait for stdout. It's a sensible thing to do. See #144679

Sensible but not great. See #144875


npm run build doesn't work

Fixed and updated template to webpack 5.

Realise link
Current branch

Fixed and updated template to webpack 5.

Realise link
Current branch


Only paginate collection results if paginator is specified

JSONAPI::Resources by default configures the default paginator to :none, but config.top_level_links_include_pagination = true.
Doesn't seem to make sense to me to try and paginate based on whether someone wants top level links to include pagination, but rather based on whether there's any paginator configured.
Thanks! 😄

Hey there! Thanks for your concern, but this is already implemented. Check that if no @paginator is set it won't build the pagination Hash.

I was rethinking that point here and what you proposed is actually a good way to avoid processing JSONAPI::Utils#pagination_params. Going to merge :-)

:+1: thanks @tiagopog!


Run tests on PHP 8.3, fix dynamic property for PHP 8.2 and update test suite

Builds on top of #32, #37 and #39.
References: https://github.com/reactphp/socket/pull/300, https://github.com/clue/reactphp-zenity/pull/63, https://github.com/clue/reactphp-csv/pull/33 and others.
The tests were failing in PHP 5.3 because of an unknown React\Promise\Timer\sleep() function. In order to avoid this I updated this to use the React\Async\delay() function instead.
Additionally I saw the dynamic properties were deprecated since PHP 8.2, see https://www.php.net/releases/8.2/en.php#deprecate_dynamic_properties, so I had to add a new class variable in the CompositeConnection.php file to avoid that the test for PHP 8.2 and PHP 8.3 run infinitely.

As today is my last day working with you @clue, we agreed closing this pull request and revisit this later on.
If anyone is needing these changes earlier than expected, please consider sponsoring @clue via https://github.com/sponsors/clue. ❤


⚠ Shadow Does Streams has degraded performance

In 7bd3bbb, Shadow Does Streams (https://stream.everythingbagel.me) experienced degraded performance:

HTTP code: 200
Response time: 4214 ms

Resolved: Shadow Does Streams performance has improved in cd14374 after 5 minutes.


Add support for Django 3.2,  Django 4.0 and Python 3.10

Description: Add support for Django 3.2,  Django 4.0 and Python 3.10
Dependencies: None
Merge deadline: None
Installation instructions: None
Testing instructions: None
Reviewers:

[ ] @hugobessa

Merge checklist:

[ ] All reviewers approved
[ ] CI build is green
[ ] Version bumped
[ ] Changelog record added
[ ] Documentation updated (not only docstrings)
[ ] Commits are squashed
[ ] PR author is listed in AUTHORS

Post merge:

[ ] Create a tag
[ ] Check new version is pushed to PyPi after tag-triggered build is
finished.
[ ] Delete working branch (if not needed anymore)

Author concerns: None

@hugobessa What's missing to publish a new version on PyPI?


Updates for Mojo 24.1

Change let to var to remove compiler warnings, and fix DynamicVector creation to use keyword only capacity

What a nice PR, thanks @jackos for taking care of llama2.🔥 !


Add new skippable attribute for outcome sets

The change in impactasaurus/server#30 added the skippable attribute in the backend. Before we are able to add functionality to skip questions in #105 , we need to first add this option, probably in the form of a check-box, at outcome set creation time and outcome set editing time.

Decided to not implement this for the time being


Add python-concurrent.futures as dep of Salt on Debian and Ubuntu

Need to add python-concurrent.futures as a dependency of salt-common for Debian 7 & 8, Ubuntu 12, 14 & 16 since python-tornado requires it but doesn't list it as a dependency.
2015.8.11
[ ] Debian 8
[ ] Debian 7
[ ] Ubuntu 16.04
[ ] Ubuntu 14.04
[ ] Ubuntu 12.04
2016.3.1
[ ] Debian 8
[ ] Debian 7
[ ] Ubuntu 16.04
[ ] Ubuntu 14.04
[ ] Ubuntu 12.04

This indirectly breaks salt-cloud by breaking salt-bootstrap. @dmurphy18 please oh please oh please!

@ahammond Thanks for the heads up. I shall reevaluate and probably adjust python-tornado to include the dependency issue.

@dmurphy18 that'd work. Until then script_args: -p python-futures stable latest might unblock me.

@ahammond on repo.saltstack.com the package you need is named python-concurrent.futures

@ahammond will be a dependency on python-tornado in the next point release

I just added python-futures and apt correctly picked
python-concurrent.futures.
On Jun 10, 2016 2:57 PM, "David Murphy"<EMAIL_ADDRESS>wrote:

@ahammond https://github.com/ahammond will be a dependency on
python-tornado in the next point release
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/saltstack/salt-pack/issues/96#issuecomment-225305882,
or mute the thread
https://github.com/notifications/unsubscribe/AAbNRIdzrf4jv3QGOvqL8lAY7O5h3Moyks5qKd28gaJpZM4IvWfG
.

Closing this since resolved with recent release of 2016.3.1 with dependency on python-tornado.
If it still has issues, please open another issue since this was to add the dependency.


add support for net_cls and net_prio

net_cls is used to set the priority of network traffic,
corresponding ClassID. net_prio is used to tag network
packets with a class identifier, corresponding Priorities.
Signed-off-by: Fengtu Wang<EMAIL_ADDRESS>

changelist:
In struct Resources, add prefix to Priorities and ClassID.
Priorities --> IfPriorities   ClassID --> NetClassID

Thanks for this PR.
We have moved the code from this repo back into the main docker/docker repository; if you still wish to make this change you will need to reopen this PR on the main repo.
You can find the code for the client and types here:
https://github.com/docker/docker/tree/master/api/types
https://github.com/docker/docker/tree/master/client
Sorry for the inconvenience but making this change helps people better contribute and not have the vendor mess going forward when changing the types or client for Docker.
Sorry about that and feel free to ask if you have any questions.


Remove lib/SlpLib (code moved to ManageIQ/slp repo)

@Fryguy @roliveri Please review

:+1:

:scissors: :scissors: :scissors: :scissors:


Clipboard text autotype Function - aka autotype-clipboard

Description of the new feature / enhancement
The abovementioned function would work in this way:
I copy line or block of text to the clipboard, and when I'm working on Windows Remote Desktop (where clipboard is disabled) I can paste copied text utilizing proposed autotype-clapboard function, thru dedicated keyboard shortcut for paste (autotype) clipboard content to the remote server.
Autotype function is a function know from keepass/xc, it's a sequence of keypresses which would be performed by MPT autotype-clipboard module.
Scenario when this would be used?
I'm working on remote networks with sometimes even 6-7-level congested Windows Remote Desktops (multiple jumphosts), where clipboard function is disabled for security reason, and I need to transfer text data to that last, distant remote desktop. Sometimes these are complex random passwords that you need to type there, sometimes these are blocks of scripts ect. This function would be a time (and live;) saving feature
Supporting information
No response

I would love to see this as a feature of PowerToys; I've been using various third-party products that include this (password manager) and a Windows store app that offers this in a basic way

/dup #18115


subscription feature fixes

Date: 22 oct, 2024
Developer Name: @tejaskh3

Issue Ticket Number:-

link

Description:

this PR I have made changes asked by @ankushdharkar

First is the remove subscription link from the navbar.
Make the input box text black(different from placeholder)
match phone number regex from the backend.

Is Under Feature Flag

[x] Yes
[ ] No

Database changes

[x] Yes
[] No

Breaking changes (If your feature is breaking/missing something please mention pending tickets)

[ ] Yes
[x] No

Is Development Tested?

[x] Yes
[ ] No

Tested in staging?

[x] Yes
[ ] No

Add relevant Screenshot below ( e.g test coverage etc. )

https://github.com/user-attachments/assets/00fbcb99-2836-4924-a2db-d0b104205f77

NOTE for approver: Please make sure the ticket for tests is added to the PR description before merging.

NOTE for approver: Please make sure the ticket for tests is added to the PR description before merging.

This is the stacked PR for test cases: https://github.com/Real-Dev-Squad/website-www/pull/945, we can merge stacked PR after this one.

Still, I didn't see any error when the user provide wrong information

Still, I didn't see any error when the user provide wrong information

I added that message in the placeholder, but I got your point just like tiny site the input box should become red

Still, I didn't see any error when the user provide wrong information

I added that message in the placeholder, but I got your point just like tiny site the text should become red


Enable users to process their own data as FASTA (?)

This was a requested feature a while back.  Also, now that we have switched to processing the feed from GISAID, that means that other users won't be able to run the backend unless we do something like this.

In progress on dev branch.  Complicated by recent updates to Pangolin - we will have to require users to install and run that program separately to generate lineage classifications.

In progress on dev branch.  Complicated by recent updates to Pangolin - we will have to require users to install and run that program separately to generate lineage classifications.

art@Wernstrom covizu % python3 local.py -h working/gisaid_canada_2021_01_05.fasta working/gisaid_canada_2021_01_05.pangolin.csv
Traceback (most recent call last):
  File "local.py", line 142, in <module>
    args = parse_args()
  File "local.py", line 96, in parse_args
    return parser.parse_args()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/argparse.py", line 1768, in parse_args
...
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/argparse.py", line 621, in _expand_help
    return self._get_help_string(action) % params
TypeError: %c requires int or char

Problem caused by % character in help text within argparse.add_argument().  Solution was to use double percent sign %%.

art@Wernstrom covizu % python3 local.py -h working/gisaid_canada_2021_01_05.fasta working/gisaid_canada_2021_01_05.pangolin.csv
Traceback (most recent call last):
  File "local.py", line 142, in <module>
    args = parse_args()
  File "local.py", line 96, in parse_args
    return parser.parse_args()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/argparse.py", line 1768, in parse_args
...
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/argparse.py", line 621, in _expand_help
    return self._get_help_string(action) % params
TypeError: %c requires int or char

Problem caused by % character in help text within argparse.add_argument().  Solution was to use double percent sign %%.

Traceback (most recent call last):
  File "local.py", line 152, in <module>
    by_lineage = process_local(args, cb.callback)
  File "local.py", line 138, in process_local
    return gisaid_utils.sort_by_lineage(filtered, callback=callback)
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 198, in sort_by_lineage
    for i, record in enumerate(records):
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 149, in filter_problematic
    mask = load_vcf(vcf_file)
  File "/Users/art/git/covizu/covizu/utils/seq_utils.py", line 218, in load_vcf
    _, pos, _, ref, alt, _, filt, info = line.strip().split()
ValueError: too many values to unpack (expected 8)

Space occurred in VCF file (e.g., South Africa).  Solution was to split explicitly on \t.

Traceback (most recent call last):
  File "local.py", line 152, in <module>
    by_lineage = process_local(args, cb.callback)
  File "local.py", line 138, in process_local
    return gisaid_utils.sort_by_lineage(filtered, callback=callback)
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 198, in sort_by_lineage
    for i, record in enumerate(records):
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 149, in filter_problematic
    mask = load_vcf(vcf_file)
  File "/Users/art/git/covizu/covizu/utils/seq_utils.py", line 218, in load_vcf
    _, pos, _, ref, alt, _, filt, info = line.strip().split()
ValueError: too many values to unpack (expected 8)

Space occurred in VCF file (e.g., South Africa).  Solution was to split explicitly on \t.

art@Wernstrom covizu % python3 local.py -mmt 1  working/gisaid_canada_2021_01_05.fasta working/gisaid_canada_2021_01_05.pangolin.csv
🏄 [0:00:02.920540] aligned 0 records
🏄 [0:00:08.376791] aligned 1000 records
Traceback (most recent call last):
  File "local.py", line 163, in <module>
    by_lineage = process_local(args, cb.callback)
  File "local.py", line 149, in process_local
    return gisaid_utils.sort_by_lineage(filtered, callback=callback)
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 198, in sort_by_lineage
    for i, record in enumerate(records):
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 155, in filter_problematic
    for record in records:
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 117, in extract_features
    for fasta, batch in batcher:
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 90, in batch_fasta
    for i, record in enumerate(gen):
  File "local.py", line 121, in stream_local
    prefix, country, qname, year = label.split('/')
ValueError: too many values to unpack (expected 4)

art@Wernstrom covizu % python3 local.py -mmt 1  working/gisaid_canada_2021_01_05.fasta working/gisaid_canada_2021_01_05.pangolin.csv
🏄 [0:00:02.920540] aligned 0 records
🏄 [0:00:08.376791] aligned 1000 records
Traceback (most recent call last):
  File "local.py", line 163, in <module>
    by_lineage = process_local(args, cb.callback)
  File "local.py", line 149, in process_local
    return gisaid_utils.sort_by_lineage(filtered, callback=callback)
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 198, in sort_by_lineage
    for i, record in enumerate(records):
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 155, in filter_problematic
    for record in records:
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 117, in extract_features
    for fasta, batch in batcher:
  File "/Users/art/git/covizu/covizu/utils/gisaid_utils.py", line 90, in batch_fasta
    for i, record in enumerate(gen):
  File "local.py", line 121, in stream_local
    prefix, country, qname, year = label.split('/')
ValueError: too many values to unpack (expected 4)

Almost there:
Traceback (most recent call last):
  File "local.py", line 184, in <module>
    result = make_beadplots(by_lineage, args, cb.callback, t0=cb.t0.timestamp())
  File "/home/art/git/covizu/batch.py", line 198, in make_beadplots
    beaddict = beadplot_serial(lineage, features, args)
  File "/home/art/git/covizu/batch.py", line 130, in beadplot_serial
    trees, labels = clustering.build_trees(features, args, callback=callback)
  File "/home/art/git/covizu/covizu/clustering.py", line 211, in build_trees
    union, labels, indexed = recode_features(records, callback=callback)
  File "/home/art/git/covizu/covizu/clustering.py", line 31, in recode_features
    label = '|'.join([record['covv_virus_name'], record['covv_accession_id'],
KeyError: 'covv_accession_id'

Almost there:
Traceback (most recent call last):
  File "local.py", line 184, in <module>
    result = make_beadplots(by_lineage, args, cb.callback, t0=cb.t0.timestamp())
  File "/home/art/git/covizu/batch.py", line 198, in make_beadplots
    beaddict = beadplot_serial(lineage, features, args)
  File "/home/art/git/covizu/batch.py", line 130, in beadplot_serial
    trees, labels = clustering.build_trees(features, args, callback=callback)
  File "/home/art/git/covizu/covizu/clustering.py", line 211, in build_trees
    union, labels, indexed = recode_features(records, callback=callback)
  File "/home/art/git/covizu/covizu/clustering.py", line 31, in recode_features
    label = '|'.join([record['covv_virus_name'], record['covv_accession_id'],
KeyError: 'covv_accession_id'


Retrain with parquet files

Extracts the corrected entities from the parquet file and store as json
Populates the data_path folder (passed as an arg) with the JSON files
Can process a combination of txt and json files during training (simultaneously).

See PR #86 for these changes cherry picked into the organized structured


libvirt vm state corner case

If after a crc start one runs virsh -c qemu:///system undefine crc, then the VM will still be running, but crc delete won't want to destroy it, but it can't be recreated either, so crc will be quite confused.
Not sure we should put much effort into fixing this, just adding an issue for now.

if libvirtd gets restarted, the host, or the vm stopped, we are good to go... which means that crc should stop the VM first when doing a start to be safe, or on the delete

@cfergeau doesnt' now crc cleanup should handle this kind of state? Should we close this one?

crc cleanup probably handles this (did not test). However, why is crc cleanup better than crc delete at removing the VM? Imo both should be using the same code.


fixed state delete job error

Cool thanks for the change @changjunhao
Don't worry about the travis fail, I haven't set that up properly yet 👍


[Resource API] whenPivotLoaded in conjunction with whenLoaded does not work as expected

Hello,
i'm using the resource API to return json information, i have two resources and one collection in the middle (mainResource -> subCollection -> subResource) , and i want to use whenPivotLoaded and whenLoaded functions.
I have a collection of objects and i want to return pivot additionnal values when it exist, i also want to return default value when it does not exist.
My problem is that i cant use whenPivotLoaded because if the pivot is not loaded, then the resource is not called (from collection perspective) so i can't set a default value. So i do not understand how this function should be used, and if there is something that i am missing ?
in mainResource :
'main_relation'   => SubResourceCollection::make($this->whenLoaded('mainRelation')),

in subCollection :
return parent::toArray($request);

in subResource :
return $this->whenPivotLoaded('pivot', function ()
            {
                return [$this->resource->attribute => $this->resource->pivot->pivot_attribute];
            }, 'default_value')

do i need to do a merge with an array of default values in subCollection ?
like:
       $default = array_fill_keys(SubModel::pluck('attribute')->all(), null);

        return array_merge($default, Arr::collapse(parent::toArray($request)));

thanks

This repository is for issues and bugs in the Laravel framework. Close this issue and ask on our forums or on Slack.

Yes, i know.
I don't see the point of asking on slack or forums, i don't need a technical solution to a problem because there is no problem at all, i just handle things manually, but i was especting a different behaviour from the framework, perhaps i misunderstood the functionnality.
I have posted here because i wanted to know if it's something that can be implemented, i have a use case that don't seems to be handled by the framework, and wanted to know if others faces this problem too or if i'm alone.
For me it's a little awkward to do an array merge in my collection to handle defaut values, because whenLoaded and whenPivotLoaded won't work in this case, but perhaps it's the only way.


Get rid of Linq in [Produces]

ProducesAttribute is on the hot path for techempower and other high throughput API scenarios. There's no need for Linq here.
Perfview data here from techempower JSON:

The highlighted line is at least 2% of CPU time spent inside of Kestrel

I assume that this work item includes profiling it afterward to confirm that removing Linq has fixed it.

You assume correctly. Track me down if you need help


examples demo show sql

Why you need it?
Is your feature request related to a problem? Please describe in details
Not related to functionality, but it allows developers to better observe data changes
How it could be?
A clear and concise description of what you want to happen. You can explain more about input of the feature, and output of it.
Can the sample print the statement in the console before executing sql? I think that printing the sql in the console will better observe the data changes and operations.
ShowSql might be better when debugging to execute the demo to observe the data.
Other related information
Add any other context or screenshots about the feature request here.

Thanks for your contribution.
I will close the issue, if you have other questions, please reopen it or create a new one


TEMP_CELSIUS was used from thermiq_mqtt

after Update to Home Assistant Core 2024.1.0 i get this Warning
TEMP_CELSIUS was used from thermiq_mqtt, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.CELSIUS instead, please create a bug report at

Will be solved in next release


⚠ Bofrost.es has degraded performance

In 105cbbf, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 2013 ms

Resolved: Bofrost.es performance has improved in 5157604 after 6 minutes.


BitField's set/get_range methods are now set/get_bits

Thanks for the great blog series! It's been very interesting and helpful as I rebuild my toy OS kernel from x86 and C++ to x86_64  and Rust.
I was working my way through http://os.phil-opp.com/catching-exceptions.html, and noticed that the set_range and get_range methods on the bit_field::BitField trait are gone. It looks like they recently got renamed to set_bits and get_bits in a pull request merged in https://github.com/phil-opp/rust-bit-field/commit/027be1c67a2e5ab1e55a5f88b3ab93362075e7f8.

Thanks for reporting!


npm start fail on creat-react-app

$ cd /c/Users/Engr_Sodiq/first-app
Engr_Sodiq@Harmatan MINGW64 ~/first-app (master)
$ npm start

<EMAIL_ADDRESS>start C:\Users\Engr_Sodiq\first-app
react-scripts start

Starting the development server...
events.js:287
throw er; // Unhandled 'error' event
^
Error: spawn cmd ENOENT
←[90m    at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)←[39m
←[90m    at onErrorNT (internal/child_process.js:469:16)←[39m
←[90m    at processTicksAndRejections (internal/process/task_queues.js:84:21)←[39m
Emitted 'error' event on ChildProcess instance at:
←[90m    at Process.ChildProcess._handle.onexit (internal/child_process.js:273:12)←[39m
←[90m    at onErrorNT (internal/child_process.js:469:16)←[39m
←[90m    at processTicksAndRejections (internal/process/task_queues.js:84:21)←[39m {
errno: ←[32m'ENOENT'←[39m,
code: ←[32m'ENOENT'←[39m,
syscall: ←[32m'spawn cmd'←[39m,
path: ←[32m'cmd'←[39m,
spawnargs: [ ←[32m'/s'←[39m, ←[32m'/c'←[39m, ←[32m'start'←[39m, ←[32m'""'←[39m, ←[32m'/b'←[39m, ←[32m'"http://localhost:3000"'←[39m ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: react-scripts start
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\Engr_Sodiq\AppData\Roaming\npm-cache_logs\2020-04-26T16_14_32_307Z-debug.log

Try running it in regular cmd.exe or PowerShell instead of MinGW

I have done so and I am still receiving same error log.

 If it's your own one, you may need to upgrade all the packages to the latest version. If that doesn't work, some package might still be pulling in an older version of is-promise... You could try deleting the package-lock.json and/or yarn.lock files then re-running yarn install or npm install so it resolves all the package versions again.

I used npx create-react-app first-app //success
cd first-app //success
npm start //failed
I have removed node_module and reinstall it and I am still getting same error log.
I have deleted package-lock.json and run npm install after that but I am still getting same log error.
It over three days I have been trying to resolve this issue.

hey i have los the ssame error what to do

Reinstall your node version and go to appData/roaming file inside your root and delete the npm and cache, after that perform these actions.
Install node.
On the terminal: do these
npm uninstall -g create-react-app
npx create-react-app my-app
cd my-app
npm start.

I used npx create-react-app first-app //success
cd first-app //success
npm start //failed
I have removed node_module and reinstall it and I am still getting same error log.
I have deleted package-lock.json and run npm install after that but I am still getting same log error.
It over three days I have been trying to resolve this issue.

Just do create-react-app first-app don't type npx or npm

Simply deleting the cache and running app again worked for me.

i have tried the above approaches too but still i get the same error as you mentioned above .This is literally my 10th try to install react and I am a novice developer :)

thanks in advance !

You could downgrade with help of this scrip and writing that on your terminal then everything should be work:
create-react-app my-app
cd my-app
npm install<EMAIL_ADDRESS>npm start

You could downgrade with help of this scrip and writing that on your terminal then everything should be work:
create-react-app my-app
cd my-app
npm install<EMAIL_ADDRESS>npm start

Thanks ))

Thank you for helping me out@Mahmoudhadidi and @Afshar1 .
This is really exhausting having this error. I was trying to resolve this past 4days.
Again Thank You


Navbar UI Link Color and Functionality Updates

Closes #5177
What's Changed

Added Navbar dropdown arrow rotation on open/close.
Removed unneeded tooltip of dropdown title.
Navbar dropdown links turn orange on hover and when active/clicked; state is saved.
Removed navbar dropdown links underlining.
Changed navbar state save to use session storage.
Added reset navbar state when home link is clicked.

Screenshots

Before:

After:

TODO

[x] Explanation of Change(s)
[x] Added change log fragment(s) (for more information see the documentation)
[x] Attached Screenshots, Payload Example

Re: https://github.com/nautobot/nautobot/pull/5146/files/adfe3db6b0e99b3e230ff6b87e600bf13cf39398#r1464770401,
@bradh11 - take a look at this PR and see if you think it would improve your saved navbar state feature from #5146
This uses sessionStorage instead of localStorage which will clear if the tab closes (e.g. a user closes the tab, opens their Nautobot home bookmark later in the day -> the navbar will be reset instead of restoring the state from the previous session).
I also added a reset navbar function that clears the storage when someone goes back to the home page, restoring the navbar back to the original state.

I like the updates on the dropdown arrow and likewise to the reset on clicking home.  That was something I had thought about after #5146 merged. Nice to see you put that in here!
On the topic of session storage vs local storage for state mgmt -> I had considered that implementation but was thinking the likelihood of closing the page and coming back and expecting the dropdowns and scroll position to be exactly where you left off would be pretty low. I don't think it would be negative for that behavior to occur, but I also don't think it would be expected by the user.
That being stated - I believe more permanent storage for state might really shine with regards to the home page panels.  @matt852 and I were discussing this just yesterday. I think a case could be made to even have a db table tracking that.

Also, keep an eye on https://github.com/nautobot/nautobot/pull/5172 as it is introducing collapse capable sidebar.  There may be some potential merge conflicts so we should coordinate updates accordingly.

@DistantVoyager , what do you think about having the menu dropdown caret arrrows point left by default and down when expanded?   It might “feel” more natural in that it will give the appearance of “unfurling” the menu.

...
On the topic of session storage vs local storage for state mgmt -> I had considered that implementation but was thinking the likelihood of closing the page and coming back and expecting the dropdowns and scroll position to be exactly where you left off would be pretty low. I don't think it would be negative for that behavior to occur, but I also don't think it would be expected by the user.
...

@bradh11 With localStorage as it's implemented currently, that behavior is what's happening. Currently, if a user closes the tab or window and then comes back later, the navbar state is restored (which I agree is not ideal).
Example with localStorage:

User closes the Nautobot tab or window. User then goes to Nautobot at some later point, but the navbar state is unexpectedly restored/kept from prior visit:

The change from localStorage to sessionStorage in this PR will fix that. localStorage persists across browser sessions and is not cleared unless the user explicitly clears browser data or the code removes it. But sessionStorage is specific only to the current session and gets cleared when the user closes the browser or the tab. Thus when they return, the navbar is back to normal.
Example with sessionStorage:

User closes the Nautobot tab or window. User then goes to Nautobot at some later point, and the navbar state is normal, as expected:

Let me know if that makes sense!

...
On the topic of session storage vs local storage for state mgmt -> I had considered that implementation but was thinking the likelihood of closing the page and coming back and expecting the dropdowns and scroll position to be exactly where you left off would be pretty low. I don't think it would be negative for that behavior to occur, but I also don't think it would be expected by the user.
...

@bradh11 With localStorage as it's implemented currently, that behavior is what's happening. Currently, if a user closes the tab or window and then comes back later, the navbar state is restored (which I agree is not ideal).
Example with localStorage:

User closes the Nautobot tab or window. User then goes to Nautobot at some later point, but the navbar state is unexpectedly restored/kept from prior visit:

The change from localStorage to sessionStorage in this PR will fix that. localStorage persists across browser sessions and is not cleared unless the user explicitly clears browser data or the code removes it. But sessionStorage is specific only to the current session and gets cleared when the user closes the browser or the tab. Thus when they return, the navbar is back to normal.
Example with sessionStorage:

User closes the Nautobot tab or window. User then goes to Nautobot at some later point, and the navbar state is normal, as expected:

Let me know if that makes sense!

Yes.  Makes much more sense now.  Fully support this approach and change.  I thought it was the opposite scenario - thanks for taking the time to explain.

@DistantVoyager , what do you think about having the menu dropdown caret arrrows point left by default and down when expanded? It might “feel” more natural in that it will give the appearance of “unfurling” the menu.

@bradh11 - how about this?
Before:

After:

I don't really have a preference one way or the other. I've seen both caret types for dropdown elements.
Not sure I'd have them point left, as I feel it looks a bit odd:

I like the point right for collapsed, point down for expanded options.  This is looking really nice btw!

I like the point right for collapsed, point down for expanded options. This is looking really nice btw!

This is my preference as well after seeing screenshots.  Looking good. 👍

Got some feedback from @lampwins on this today.

Can you try to make the arrows on the top level menu items look more like cloud?

Hover them all to the right so they're vertically aligned
Closed is an up pointing arrow and open is a down pointing arrow. You may be able to use a caret icon for this.

Cloud menu open:

Cloud menu closed:

Can you change the sub menu items back to the previous behavior from demo.nautobot.com? We want to tweak that to make it work better with the buttons and make it look more like cloud but that can be done as a separate item

.navbar-fixed-left .navbar-nav > .dropdown > .nav-dropdown-menu > li > a:hover {
    transition: background-color 200ms ease;
    background-color: #cdf3ff1a
}

Got some feedback from @lampwins on this today.

Can you try to make the arrows on the top level menu items look more like cloud?

Hover them all to the right so they're vertically aligned
Closed is an up pointing arrow and open is a down pointing arrow. You may be able to use a caret icon for this.

Cloud menu open:

Cloud menu closed:

Can you change the sub menu items back to the previous behavior from demo.nautobot.com? We want to tweak that to make it work better with the buttons and make it look more like cloud but that can be done as a separate item

.navbar-fixed-left .navbar-nav > .dropdown > .nav-dropdown-menu > li > a:hover {
    transition: background-color 200ms ease;
    background-color: #cdf3ff1a
}

Updated - I changed the dropdown icon and the link style on hover and click to match that of Nautobot Cloud.

This looks awesome! Thanks @DistantVoyager


Better error messages

I've been having some fun playing with cooltt. An annoyance I had is the opaque error message on parse error. So I added the next token to the LexingUtil. Because the span is used in the Grammar I needed to change the call to pp_span to take in a product type.
More controversially, if the output of cooltt is going to be used by another program, the INFO line numbers are a bit of a problem so I suppressed them in pp_message.
My OCaml is meh so happy to adjust this pull request to however you'd prefer it.

More controversially, if the output of cooltt is going to be used by another program, the INFO line numbers are a bit of a problem so I suppressed them in pp_message.

I want to learn more about the use cases. It is indeed in the plan to have (separate) scriptable interactive interfaces. Could you elaborate the usage in your mind? Thanks! (And thanks for your contribution.)

More controversially, if the output of cooltt is going to be used by another program, the INFO line numbers are a bit of a problem so I suppressed them in pp_message.

I want to learn more about the use cases. It is in the plan to have (separate) scriptable interactive interfaces. Could you elaborate the usage in your mind? Thanks! (And thanks for your contribution.)

Eventually, if this gets beyond the airy lands of research, someone will want to take values it outputs and use them in the real world. It kind of reminds me of the early days of Haskell before Monads where all you could do is output a string to do IO. =)
Another way of doing this that doesn't alter your current toolset is to provide a command line argument that changes how the pretty printer works if you want "cpu consumable output".

Eventually, if this gets beyond the airy lands of research, someone will want to take values it outputs and use them in the real world. It kind of reminds me of the early days of Haskell before Monads where all you could do is output a string to do IO. =)
Another way of doing this that doesn't alter your current toolset is to provide a command line argument that changes how the pretty printer works if you want "cpu consumable output".

Yes, this is exactly what I had in my mind. I haven't thought through it very carefully, though. Apparently, we need to write some code to un-elaborate core terms back to surface syntax. Assuming there's no problem there, I wonder if you have a design you like in your mind? (e.g., a tool that outputs exactly what you want.) I believe it's not difficult to add a new output mode.

I will re-review this hopefully today, thank you again for your contribution! We are very excited to see some outside interest, and would be happy to discuss ways to further involve you in the project if you have interest.

Give me a second. I better understand the difference between load_file and the REPL now and I'll have a patch shortly that makes this better.

I like this better as it starts to abstract the difference between the an error and output. However don't review just yet as I found an edge case...

I like this better as it starts the process of abstracting Error Messaging from Eval messaging. The test suite runs and my testing of various errors works.
The errors currently look like...
my-test/errortest.cooltt:37.4-37.5 [Error]:
  [Error near normalize] Parse error

@favonia I haven't thought super deeply about it either. But my intuition says that if we provide a system for taking in strings and outputting strings made for machine use, we'll get the benefits of Unix style integrations out of the gate and that could lead to some surprising things.
For me, I just want a language where a + b can be known to equal b + a but in a "turtles all the way down" way. I see the same world where someone comes up with a cool proof of some property of a structure that my program is using, I add it and my program is "magically" more expressive as you all see so I'm happy to chip in some to push that along. =)

Agree with your comments... this latest is further along the way by maintaining one DriverMessage class, splitting the load errors from runtime errors, and taking Driver Messaging in pp_message out of the Driver file and putting it into the DriverMessaging module.
There is always more to do but this seems a lot further towards "better". Happy for feedback!

So, this is looking a lot better! There are still some aspects that I am finding confusing at the moment; the part I'm still getting stuck on is there is a type called error that contains non-error things (by virtue of containing DriverMessage.message), and consequently, the function pp_error_message is therefore also seeming to be printing non-error things. Maybe the right question for me to ask is: perhaps the errors (like ParseError etc.) should not be part of DriverMessage.message and some types should be peeled apart?
I am also finding the distribution of the spans and the last-tokens to be a little confusing; there is some semi-subtle layering going on in the architecture and I could use a high-level gloss of the motivations.
Thanks again!

I definitely see where you are going with your comment and I agree. I'll move around some things and try to get closer to cleanly separating messaging from error reporting.
I've taken a look at how Haskell does it and instead of having a LexingUtil class, they have an Outputable class that is used by an Error and the main GHC class. That is obviously better but I won't get to that level of sophistication in this PR. Let me propose something incrementally better as I walk towards that goal.


dep spec

BUG: Improve Python itk dependency
ENH: Bump Python package version to 0.5.0

@SimonRit please take a look

Thanks for the patch. Looks good to me. My understanding is that you expect patch releases of ITK Python packages to be backward compatible, I don't know if this is the case but I'll assume the same thing until proven otherwise.


Memory leak in loop with higher.innerloop_ctx!

I saw this problem was solved however, I still have it:
I am using the last version of higher 0.1.5, however still have a problem with memory leak:
with higher.innerloop_ctx(model, inner_opt, copy_initial_weights=False) as (fast_model, diffopt):
          for step, batch in enumerate(epoch_iterator):
                    report_memory()
                    print("-------------")
                    fast_model.train()
                    outputs = fast_model(batch)
                    loss = outputs[0]
                    diffopt.step(loss)

memory (MB) | allocated:<PHONE_NUMBER>3125 | max allocated:<PHONE_NUMBER>3125 | cached: 734.0 | max cached: 734.0
memory (MB) | allocated: 1357.4619140625 | max allocated: 2036.19287109375 | cached: 2158.0 | max cached: 2158.0
memory (MB) | allocated: 12340.314453125 | max allocated: 13059.771484375 | cached: 13208.0 | max cached: 13208.0
memory (MB) | allocated: 23322.634765625 | max allocated: 24041.8564453125 | cached: 24190.0 | max cached: 24190.0

Evidently it is not fixed or I have reintroduced a reference cycle. I will look into it over the next week or so. In the meantime, I recommend running the inner loop on CPU (use the device keyword) to mitigate the problem.

how do we install a version of higher without this issue?

There is no any version that mitigate this issue as I understood. It is on progress to solve !

@nooralahzadeh This is normal behaviour. While you are in the context (or generally speaking, using the patched model), the history of activations and parameters of fast_model is preserved in memory. This is, in fact, exactly what the higher library is designed to do, as preserving these in memory with an implicit backwards graph allows you to backpropagate through the unrolled optimization loop.
I am closing this issue, but you are welcome to re-open and comment if this explanation does not answer your question, or this behaviour is not what you were expecting for some reason (please explain) or you were trying to do something different and need assistance.

@egrefen I'm facing this issue with the higher library when I am using the higher.path.make_functional function to make a forward pass through an LSTM model.
How should I explicitly delete the backwards graph when I'm done with the inner and outer loop steps? As of now, the GPU consumption keeps increasing as more batches are processed.


PR adding spirv-lint breaks my build

Reports that file pch_source_lint.cpp is missing.

@dong-ja

@greg-lunarg Can you check if the linked PR fixes the issue?

Yes. Thanks!